Kiel estas aŭskulti kodon je 1000 vortoj je minuto

La historio de malgranda tragedio kaj grandaj venkoj de tre bona programisto, kiu bezonas helpon

Kiel estas aŭskulti kodon je 1000 vortoj je minuto

En la Ekstrema Orienta Federacia Universitato estas centro por projekt-agadoj - tie majstroj kaj bakalaŭroj trovas inĝenierajn projektojn, kiuj jam havas klientojn, monon kaj perspektivojn. Tie okazas ankaŭ prelegoj kaj intensaj kursoj. Spertaj specialistoj parolas pri modernaj kaj aplikataj aferoj.

Unu el la intensaj kursoj estis dediĉita al la uzo de la Docker kontenerigsistemo por distribuita komputado kaj instrumentado. Ĝin partoprenis magistroj kaj diplomiĝaj studentoj de aplika matematiko, inĝenierado, programaro-preparado kaj aliaj teknikaj fakoj.

La instruisto estis ulo kun malhelaj okulvitroj, laŭmoda hartondado, koltuko, societema kaj tro memfida – precipe por 21-jara dua-jara studento. Lia nomo estas Evgeny Nekrasov, li eniris FEFU antaŭ nur du jaroj.

Wunderkind

“Jes, ili estis pli maljunaj kaj havis pli da statuso, sed mi ne povas diri, ke ili estis pli spertaj. Krome mi kelkfoje prelegis al miaj samklasanoj por nia instruisto. Iam ni rimarkis, ke li ne povus doni al mi ion pli pri Objekt-Orientita Programado, do de tempo al tempo mi prelegis por li pri OOP, moderna evoluo, GitHub kaj la uzo de versio-kontrolsistemoj."

Kiel estas aŭskulti kodon je 1000 vortoj je minuto

Evgeniy povas skribi en Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C kaj Assembler. “Mi pli bone konas JavaScript, la ceteraj estas nivelo aŭ du pli malaltaj. Sed samtempe mi povas programi regilon en Rust aŭ C++ en unu horo. Mi ne intence studis ĉi tiujn lingvojn. Mi studis ilin por la taskoj, kiuj estis asignitaj al mi. Mi povas aliĝi al ajna projekto studante la dokumentadon kaj manlibrojn. Mi konas la sintaksojn de la lingvoj, kaj kiun uzi ne vere gravas. Estas same kun kadroj kaj bibliotekoj - nur legu la dokumentaron kaj mi komprenas kiel ĝi funkcias. Ĉio estas determinita de la temo kaj la tasko."

Evgeniy intense studas programadon ekde 2013. Instruisto pri komputiko de mezlerneja, kiu estis tute blinda, interesigis lin pri komputiko. La vojo komenciĝis per la reto - HTML, JavaScript, PHP.

"Mi estas nur scivolema. Mi ne dormas multe - mi konstante okupiĝas pri io, legas ion, studas ion."

En 2015, Evgeniy petis la konkurson "Umnik" por subteni teknikajn projektojn de junaj sciencistoj pli ol dek ok jarojn aĝaj. Sed li ne havis dek ok jarojn, do li ne sukcesis gajni la konkurson - sed Evgenij estis rimarkita de la loka programista komunumo. Li renkontis Sergej Milekhin, kiu en tiu momento organizis konferencojn en Vladivostok kadre de la Google Developer Fest. “Li invitis min tien, mi venis, aŭskultis, mi ŝatis. La sekvan jaron mi venis denove, konatiĝis pli kaj pli kun homoj, komunikis.”

Andrey Sitnik de la VLDC-komunumo komencis helpi Evgeniy kun siaj retprojektoj. “Mi bezonis konstrui plurfadenan retan ingan-aplikaĵon. Mi tre longe pensis pri kiel fari tion en PHP, kaj turnis min al Andrey. Li diris al mi, "prenu node.js, npm-pakaĵojn kiuj estas en la Interreto, kaj ne rompu vian kapon. Kaj ĝenerale, movi malferman fonton estas bonega." Do mi plibonigis mian anglan, komencis legi dokumentadon kaj afiŝi projektojn sur GitHub."

En 2018, Evgeniy jam faris prezentojn ĉe Google Dev Fest, parolante pri evoluoj en la kampo de alireblaj interfacoj, supraj membroj-protezoj, la evoluo de neŭralaj interfacoj kaj senkontaktaj alirkontrolaj sistemoj. Nun Evgeniy estas en sia dua jaro de bakalaŭro pri Programaro-Inĝenierado, sed li jam sukcese kompletigis ĝin kaj finas sian finan laboron.

"Mi estis ordonita efektivigi la datumstrukturon en hashtabelo. Ĉi tio estas norma afero, kiu estas donita al ĉiuj en la universitato. Mi finis kun 12 mil linioj da kodo kaj amaso da lambastonoj,” diras Evgeniy ridante, “mi konstruis hashtabelon kaj ĝian modifitan strukturon en JavaScript por legi datumojn pli rapide. Kaj la instruisto diras: "Mi bezonas, ke vi skribu tion, kio estas pli facila por mi, por ke mi povu taksi ĝin." Ĝi estis tre ĝena."

La personaj projektoj de Evgeniy aspektas multe pli interesaj. La unua el ili estas la evoluo de retaj normoj por homoj kun fizikaj handikapoj. Li volas krei rimedon, kiu provizas helpan teknologion el la skatolo, por ke homoj kun viddifektoj povu facile uzi ĝin sen la zorgo perdi iujn informojn. Evgenij bone konas ĉi tiun problemon, ĉar li mem perdis la vidon.

Vundo

“Mi antaŭe estis ordinara adoleskanto, kun ĉiuj miaj membroj en loko. En 2012, mi eksplodigis min. Mi eliris promeni kun amiko, prenis cilindron sur la strato, kaj ĝi eksplodis en miaj manoj. Mia dekstra mano estis deŝirita, mia maldekstra mano estis kripla, mia vidado estis difektita, kaj mia aŭdo estis difektita. Dum ses monatoj mi nur kuŝis sur operaciaj tabloj.

La maldekstra mano estis kunvenita en partoj, teleroj kaj trikiloj estis instalitaj. Post kvin monatoj mi povis labori por ŝi.

Post la vundo, mi tute ne povis vidi ion. Sed kuracistoj sukcesis restarigi malpezan percepton. Restis nenio de mia okulo krom la ŝelo. Ĉio ene estis anstataŭigita - la vitraj korpoj, la lensoj. Ĉio ebla."

En 2013, Zhenya iris por studi en prizonlernejo por infanoj kun vidhandikapitoj. Tiu komputika instruisto, kiu estis tute blinda, instruis al li kiel uzi komputilon denove. Por tiu celo estas uzataj specialaj programoj - ekranlegiloj. Ili aliras operaciumajn APIojn por akiri aliron al la interfaco kaj iomete ŝanĝi la manieron kiel ili estas kontrolitaj.

Zhenya nomas sin fervora Linukso-uzanto; li uzas Debianon. Uzante la klavaron, li navigas tra la interfacelementoj, kaj parolsintezilo voĉigas kio okazas.

"Nun vi aŭdos nur spacon," li diras al mi antaŭ ol ŝalti la programon.

Ĝi sonas kiel kodo aŭ fremda babilado, sed fakte ĝi estas ordinara rusa aŭ angla, estas nur ke la sintezilo parolas kun nekredebla rapideco por la neklera orelo.

"Ne estis malfacile lerni ĉi tion. Komence mi laboris en Vindozo kaj uzis la ekranlegilon Jaws. Mi uzis ĝin kaj pensis: "Sinjoro, kiel vi povas labori tiel malrapide." Mi zomis kaj rimarkis, ke la oreloj estas krispigitaj en tubon. Mi redonis ĝin kaj iom post iom komencis pliigi ĝin je 5-10 procentoj ĉiusemajne. Mi akcelis la sintezilon al cent vortoj, poste eĉ pli, kaj denove kaj denove. Nun li parolas mil vortojn por minuto.”

Zhenya skribas en regula tekstredaktilo - Gedit aŭ Nano. Kopias fontojn de Github, lanĉas la ekranlegilon kaj aŭskultas la kodon. Por certigi, ke ĝi povas esti facile legita kaj komprenebla de aliaj programistoj, ĝi uzas linters kaj agordojn ĉie. Sed Zhenya ne povas uzi evoluajn mediojn ĉar ili estas nealireblaj por blinduloj pro sia efektivigo.

"Ili estas faritaj tiel, ke ilia fenestro estas determinita de la sistemo, kaj ĉio ene de la fenestro ne estas vidata de la ekranlegilo ĉar ĝi ne povas aliri ĝin. Mi nun kontaktis JetBrains rekte por provi fari kelkajn flikojn al iliaj medioj. Ili sendis al mi la fontojn de PyCharm. La IDE estas efektivigita sur Intellij Idea, do ĉiuj ŝanĝoj povas esti aplikataj kaj tie kaj tie."

Alia baro estas malsukceso aliĝi al komunaj retaj normoj. Ekzemple, ni vidas grandan titolon sur paĝo. Multaj programistoj efektivigas ĉi tion uzante span-etikedon por streĉi la tiparon al la dezirata grandeco, kaj ĝi finas aspekti bone. Sed ĉar la teksto ne estas titolo por la sistemo, la ekranlegilo ne rekonas ĝin kiel menuelementon kaj ne permesas interagadon.

Zhenya facile uzas la moveblan version de VKontakte, sed evitas Fejsbukon: "VK estas oportuna por mi ĉar ĝi havas apartan liston de navigaj menuoj. Ĝi havas elementojn kaj titolojn, kiuj por mi estas la semantika divido de la paĝo. Ekzemple, la unua nivela titolo kie mia kromnomo estas indikita - mi scias, ke tio estas la titolo de la paĝo. Mi scias, ke la kaplinio "mesaĝoj" dividas la paĝon, kaj sube estas listo de dialogoj.

Fejsbuko antaŭenigas alireblecon, sed fakte ĉio estas tiel malbona, ke estas neeble kompreni ion ajn. Mi malfermas ĝin - kaj la programo ekfrostiĝas, la paĝo estas terure malrapida, ĉio saltas por mi. Estas ĉiuj butonoj ĉie, kaj mi estas kiel, "kiel mi eĉ laboras kun ĉi tio?!" Mi uzos ĝin nur se mi finos mian klienton aŭ ligos trian partion."

Esploro

Zhenja loĝas en Vladivostok en ordinara universitata dormejo. Estas banĉambro en la ĉambro, du vestoŝrankoj, du litoj, du tabloj, du bretoj, fridujo. Neniuj specialaj aparatoj, sed laŭ li, ili ne bezonas. “Vida kripliĝo ne signifas, ke mi ne povos marŝi aŭ ne trovos vojon. Sed mi povus kaj volonte ekipus min per inteligenta hejmo, se mi havus la konsumaĵojn. Mi simple ne havas la monon por aĉeti komponantojn. Por studento elspezi kvin mil por kotizoj nur por piki ŝin estas tre neprofita.”

Zhenya loĝas kun knabino, ŝi helpas multmaniere ĉirkaŭ la domo: "disvastigu sandviĉojn, verŝu teon, lavadu. Tial mi havis pli da tempo por malstreĉiĝi kaj fari la aferojn, kiujn mi amas."

Ekzemple, Zhenya havas muzikan grupon kie li ludas la elektran gitaron. Li ankaŭ lernis post la vundo. En 2016, li pasigis tri monatojn en rehabilitadcentro, kie li petis instruiston helpi lin kun sia gitaro. Komence mi ludis kun la kudro de ĉemizo renversita. Tiam mi konstruis mediaciiston.

“Mi prenis bandaĝon por plifortigi la manon, kiun uzas ekzemple karatekoj, tranĉis ĝin en la lokoj kie la fingroj estas apartigitaj kaj tiris ĝin sur la antaŭbrakon. Tie estas ŝaŭma kuseneto, kiu protektas la penikon kontraŭ difekto – al ĝi mi kudris pikilon, kiun mia frato eltranĉis por mi el plasta spatulo. Ĝi montriĝis tiel longa plasta lango, kiun mi uzas por ludi sur la kordoj – plukante kaj gratadon.”

La eksplodo elblovis liajn timpanojn, do Zhenya ne povas aŭdi malaltfrekvencojn. Lia gitaro ne havas la sesan (plej malsupran) kordon, kaj la kvina estas agordita alimaniere. Li ludas plejparte solludajn partojn.

Sed la ĉefaj agadoj restas evoluo kaj esplorado.

Protetika brako

Kiel estas aŭskulti kodon je 1000 vortoj je minuto

Unu el la projektoj estas la evoluo de supra membroprotezo kun inteligenta kontrolsistemo. En 2016, Zhenya venis al la persono, kiu disvolvis la protezon kaj komencis helpi lin kun testado. En 2017, ili partoprenis la Neurostart-hakatonon. En teamo de tri homoj, Zhenya programis malaltnivelajn regilojn. Du pli dizajnis la modelojn mem kaj instruis neŭralajn retojn por la kontrolsistemo.

Nun Zhenya transprenis la tutan programaran parton de la projekto. Ĝi uzas la Myo Brakbendon por legi muskolajn potencialojn, konstruas maskojn bazitajn sur ili, kaj aplikas modelojn de neŭralaj retoj supre por rekoni gestojn - jen sur kio la kontrolsistemo estas konstruita.

“La braceleto havas ok sensilojn. Ili transdonas eblajn ŝanĝojn al iu ajn eniga aparato. Mi senigis ilian SDK per miaj propraj manoj, malkompilis ĉion, kio estis bezonata, kaj skribis mian propran lib en Python por legi datumojn. Kompreneble, ne estas sufiĉe da datumoj. Eĉ se mi metus miliardon da sensiloj sur mian haŭton, ĝi ankoraŭ ne sufiĉos. La haŭto moviĝas super la muskoloj kaj la datumoj miksiĝas."

En la estonteco, Zhenya planas instali plurajn sensilojn sub la haŭto kaj muskoloj. Li provus ĝin nun – sed tiaj operacioj estas malpermesitaj en Rusio. Se kirurgo enplantas neatestitan ekipaĵon sub la haŭto de homo, li perdos sian diplomon. Tamen, Zhenya kudris unu sensilon en lian manon - RFID-etikedo, kiel en elektronikaj ŝlosiloj, por malfermi pordotelefonon aŭ ajnan seruron al kiu la ŝlosilo estos ligita.

Artefarita okulo

Kune kun Bogdan Shcheglov, biokemiisto kaj biofizikisto, Zhenya laboras pri prototipo de artefarita okulo. Bogdan okupiĝas pri 3D-modelado de la okulglobo kaj konektanta ĉiujn mikrocirkvitojn en tridimensia modelo kun la optika nervo, Zhenya konstruas matematikan modelon.

"Ni studis multon da literaturo pri ekzistantaj analogoj, teknologioj kiuj estis sur la merkato kaj nun estas, kaj rimarkis, ke bildrekono ne gravas. Sed ni eksciis, ke antaŭe estis kreita matrico por registri fotonojn kaj ilian energion. Ni decidis evoluigi similan matricon en reduktita grandeco, kiu kapablus registri almenaŭ minimuman aron da fotonoj kaj konstrui elektran pulson sur ilia bazo. Tiel ni forigas la mezan tavolon de klara bildo kaj ĝian rekonon - ni nur laboras rekte."

La rezulto estos vizio kiu ne estas tute en la klasika signifo. Sed kiel Zhenya diras, la resto de la optika nervo devas percepti la provizon de elektraj impulsoj same kiel de reala okulo. En 2018, ili diskutis la projekton kun la rektoro de la Mara Teknika Universitato, Gleb Turishchin, kaj Skolkovo-mentoro Olga Velichko. Ili konfirmis, ke ĉi tiu problemo povas esti solvita per teknologioj kiuj jam ekzistas en la mondo.

“Sed ĉi tiu tasko estas eĉ pli malfacila ol disvolvi protezaĵojn. Ni eĉ ne povas fari eksperimenton pri ranoj por kontroli kiom bone la retino generas impulsojn, kiel ili dependas de malsama lumo, kiu areo generas pli, kiu malpli. Ni bezonas financadon, kiu permesos al ni lui laboratorion kaj dungi homojn por malkomponi taskojn kaj redukti limdatojn. Plie la kosto de ĉiuj necesaj materialoj. Ĝenerale, ĉio estas mono."

Burokratio

Bogdan kaj Zhenya petis al Skolkovo financadon sed estis rifuzitaj - nur pretaj produktoj kun komerca potencialo iras tien, kaj ne esplorprojektoj en la naskiĝanta stadio.

Malgraŭ la tuta originaleco en la rakonto de Zhenya, malgraŭ liaj kapabloj kaj inspiraj sukcesoj, oni estas surprizita de la stranga burokratia malbonŝanco. Estas precipe ĝene aŭdi pri ĉi tio kontraŭ la fono de la novaĵoj. Jen alia "produkto, kiun homoj bezonas" (fotapliko, reklam-optimumigo aŭ novaj specoj de babilejoj) ricevanta siajn milionojn da dolaroj en enspezo kaj investo. Sed nekonata entuziasmulo ne scias kion fari kun siaj ideoj.

Ĉi-jare Zhenya gajnis senpagan sesmonatan studon en Aŭstrio laŭ partnera programo inter universitatoj - sed li ne povas iri tien. Por konfirmi vizon necesas garantioj, ke li havas monon por loĝado kaj vivo en Salzburg.

"Alvoko al monrimedoj ne donis rezultojn, ĉar financado estas provizita nur por plenaj diplomprogramoj," diras Zhenya, "Alvoko al la Universitato de Salzburg mem ankaŭ ne faris - la universitato ne havas siajn proprajn dormejojn kaj ne povas helpi nin pri loĝado.

Mi skribis al dek fondusoj, kaj nur tri aŭ kvar respondis al mi. Krome, ili respondis, ke mia scienca diplomo ne konvenas al ili - ili bezonis majstrojn kaj pli altajn. Miaj sciencaj atingoj en bakalaŭraj studoj ne estas taksataj de ili. Se vi studas en loka universitato, vi havas bakalaŭron kaj okupiĝas pri teknika esplorado, tiam vi povas kandidatiĝi ene de la universitato. Sed por homo el eksterlando, bedaŭrinde, ili ne havas ĉi tion.

Mi kontaktis proksimume la saman nombron da rusaj monrimedoj. En Skolkovo oni diris al mi: pardonu, sed ni laboras nur kun majstroj. Aliaj fondaĵoj diris al mi, ke ili ne havas financadon dum ses monatoj, aŭ ili nur laboras kun diplomprogramoj, aŭ ili ne financas individuojn. Kaj la fondaĵoj Proĥorov kaj Potanin eĉ ne respondis al mi.

Mi ricevis leteron de Yandex, ke ili okupiĝas pri granda bonfarado kaj la kompanio nuntempe ne havas financadon, sed ili deziras al mi ĉion bonan.

Mi eĉ konsentis kontrakte celita financado, kiu permesus al mi iri kaj studi, kaj kiel rezulto mi alportus ion por la firmao. Sed ĉio ĉesas ĉe malalta nivelo de komunikado. Mi komprenas pri kio temas. Homoj, kiuj laboras pri telefonvokoj kaj poŝto, simple laboras laŭ dokumentoj. Ili vidas, ke aplikaĵo alvenis, ĝi eĉ povus esti mojosa. Sed ili skribos: pardonu, ne, ĉar aŭ la aligperiodo eksvalidiĝis aŭ vi ne kvalifikiĝas laŭ via stato. Sed mi ne havas la ŝancon atingi ie pli alte ol la posedantoj de la fonduso, mi simple ne havas tiajn kontaktojn.”

Sed afiŝoj pri la problemo de Zhenya komencis rapide disvastiĝi tra sociaj retoj. En la unuaj tagoj ni kolektis ĉirkaŭ 50 000 rublojn - el la bezonataj 12 000 eŭroj. Ne estas multe da tempo por prepariĝi, sed multaj homoj jam skribas al Zhenya pri subteno. Eble ĉio funkcios.

Mi ĝojus fini ĉi tiun longan tekston je la reveno de la heroo el Aŭstrio per nova kaj potenca sperto. Aŭ ricevante subvencion por unu el la projektoj, kaj foton de la nova laboratorio. Sed la teksto haltis en dormĉambro, kie estas du ŝrankoj, du litoj, du tabloj, du bretoj, fridujo.

Ŝajnas al mi, ke necesas grandaj profesiaj komunumoj por helpi unu la alian. La edzino de Nekrasov bezonas monon, utilajn kontaktojn, ideojn, konsilojn, ion ajn. Ni altigu nian karmon.

La kontaktoj de Zhenya kaj aliaj gravaj figurojretpoŝto: [retpoŝte protektita]
Телефон: +7-914-968-93-21
Telegramo kaj WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Detaloj pri translokigo de financoj:
Kartnumero: 4276 5000 3572 4382 aŭ telefonnumero +7-914-968-93-21
Yandex-monujo per telefonnumero +7-914-968-93-21

Destinato: Nekrasov Evgeniy

fonto: www.habr.com

Aldoni komenton