Kako je poslušati kodo s 1000 besedami na minuto

Zgodba o majhni tragediji in velikih zmagah zelo dobrega razvijalca, ki potrebuje pomoč

Kako je poslušati kodo s 1000 besedami na minuto

Na Daljni vzhodni zvezni univerzi je center za projektne dejavnosti - tam magistri in diplomanti najdejo inženirske projekte, ki že imajo stranke, denar in možnosti. Tam potekajo tudi predavanja in intenzivni tečaji. Izkušeni strokovnjaki govorijo o sodobnih in uporabnih stvareh.

Eden od intenzivnih tečajev je bil posvečen uporabi kontejnerskega sistema Docker za porazdeljeno računalništvo in orkestracijo. Udeležili so se ga magistri in podiplomski študenti uporabne matematike, tehnike, priprave programske opreme in drugih tehničnih smeri.

Učitelj je bil tip s temnimi očali, modno frizuro, ruto, družaben in preveč samozavesten – sploh za 21-letnega dijaka drugega letnika. Ime mu je Evgeny Nekrasov, pred komaj dvema letoma je vstopil na FEFU.

Wunderkind

»Da, bili so starejši in so imeli večji status, ne morem pa reči, da so bili bolj izkušeni. Poleg tega sem včasih predaval sošolcem za našega učitelja. Na neki točki sva ugotovila, da mi o objektno usmerjenem programiranju ne more dati ničesar več, zato sem mu občasno predaval o OOP, sodobnem razvoju, GitHubu in uporabi sistemov za nadzor različic.«

Kako je poslušati kodo s 1000 besedami na minuto

Evgeniy zna pisati v Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C in Assembler. »Jaz JavaScript poznam bolje, ostali so stopnjo ali dve nižje. Toda hkrati lahko v eni uri programiram krmilnik v Rustu ali C++. Teh jezikov se nisem učil namerno. Študiral sem jih za naloge, ki so mi bile dodeljene. Lahko se vključim v kateri koli projekt s preučevanjem dokumentacije in priročnikov. Poznam sintakso jezikov in katero naj uporabim, pravzaprav ni pomembno. Enako je z ogrodji in knjižnicami - samo preberite dokumentacijo in razumem, kako deluje. Vse je odvisno od predmetnega področja in naloge.”

Evgeniy se od leta 2013 intenzivno ukvarja s programiranjem. Za računalništvo ga je navdušil srednješolski profesor računalništva, ki je bil popolnoma slep. Pot se je začela s spletom – HTML, JavaScript, PHP.

"Samo radoveden sem. Ne spim veliko - nenehno sem z nečim zaposlen, nekaj berem, nekaj študiram.

Leta 2015 se je Evgeniy prijavil na natečaj "Umnik" za podporo tehničnih projektov mladih znanstvenikov, starejših od osemnajst let. Toda ni bil star osemnajst let, zato mu ni uspelo zmagati na tekmovanju - toda Evgeniya je opazila lokalna skupnost razvijalcev. Spoznal je Sergeja Milekhina, ki je v tistem trenutku organiziral konference v Vladivostoku v okviru Google Developer Festa. »Povabil me je tja, prišel sem, poslušal, bilo mi je všeč. Naslednje leto sem spet prišel, vse bolj spoznaval ljudi, komuniciral.”

Andrey Sitnik iz skupnosti VLDC je Evgeniyu začel pomagati pri njegovih spletnih projektih. »Moral sem zgraditi večnitno aplikacijo za spletno vtičnico. Zelo dolgo sem razmišljal, kako to narediti v PHP, in se obrnil na Andreja. Rekel mi je, »vzemi pakete node.js, npm, ki so na internetu, in si ne razbijaj glave. In na splošno je premikanje odprte kode kul.« Tako sem izboljšal svojo angleščino, začel brati dokumentacijo in objavljati projekte na GitHub.”

Leta 2018 je Evgeniy že imel predstavitve na Google Dev Festu, kjer je govoril o razvoju na področju dostopnih vmesnikov, protezah zgornjih udov, razvoju nevronskih vmesnikov in brezkontaktnih sistemih za nadzor dostopa. Zdaj je Evgeniy v drugem letniku dodiplomskega študija programskega inženiringa, vendar ga je že uspešno zaključil in končuje svoje zaključno delo.

»Rekli so mi, naj strukturo podatkov implementiram v zgoščevalno tabelo. To je standardna stvar, ki jo imajo vsi na univerzi. Na koncu sem imel 12 tisoč vrstic kode in kup bergel,« v smehu pove Evgeniy, »zgradil sem zgoščevalno tabelo in njeno spremenjeno strukturo v JavaScriptu za hitrejše branje podatkov. In učitelj reče: "Napišite, kaj je zame lažje, da lahko ocenim." Bilo je zelo nadležno."

Evgenijevi osebni projekti so videti veliko bolj zanimivi. Prvi med njimi je razvoj spletnih standardov za gibalno ovirane osebe. Želi ustvariti vir, ki nudi podporno tehnologijo takoj po namestitvi, tako da jo lahko ljudje z okvaro vida preprosto uporabljajo brez skrbi, da bi zamudili nekaj informacij. Evgeniy dobro pozna ta problem, saj je sam izgubil vid.

Poškodbe

»Včasih sem bil navaden najstnik z vsemi udi na mestu. Leta 2012 sem se razstrelil. Šla sem s prijateljem na sprehod, na ulici pobrala jeklenko, ki mi je raznesla v rokah. Desno roko sem imel odtrgano, levo roko sem imel pohabljeno, slaboviden in slaboten sluh. Šest mesecev sem samo ležal na operacijskih mizah.

Leva roka je bila sestavljena po delih, nameščene so bile plošče in pletilne igle. Po petih mesecih sem lahko delal zanjo.

Po poškodbi sploh nisem videl ničesar. Vendar je zdravnikom uspelo obnoviti zaznavanje svetlobe. Od mojega očesa ni ostalo nič razen lupine. Vse notri je bilo zamenjano - steklasta telesa, leče. Vse mogoče."

Leta 2013 je Zhenya odšla študirati v popravno šolo za otroke z motnjami vida. Tisti učitelj računalništva, ki je bil popolnoma slep, ga je spet naučil uporabljati računalnik. V ta namen se uporabljajo posebni programi - bralniki zaslona. Dostopajo do API-jev operacijskega sistema, da pridobijo dostop do vmesnika in nekoliko spremenijo način njihovega nadzora.

Zhenya zase pravi, da je navdušen uporabnik Linuxa; uporablja Debian. S tipkovnico se pomika po elementih vmesnika, sintetizator govora pa glasno izraža dogajanje.

»Zdaj boš slišal samo prostor,« mi reče, preden prižge program.

Sliši se kot šifra ali nezemljansko klepetanje, v resnici pa je navadna ruščina ali angleščina, samo sintetizator govori z neverjetno hitrostjo za neizkušeno uho.

»Tega se ni bilo težko naučiti. Sprva sem delal v sistemu Windows in uporabljal bralnik zaslona Jaws. Uporabil sem ga in pomislil: "Gospod, kako lahko delaš tako počasi." Povečal sem in ugotovil, da so ušesa zvita v cev. Vrnil sem ga nazaj in ga postopoma začel povečevati za 5-10 odstotkov vsak teden. Sintetizator sem pospešil na sto besed, nato še več in znova in znova. Zdaj govori tisoč besed na minuto.”

Zhenya piše v običajnem urejevalniku besedil - Gedit ali Nano. Kopira vire iz Githuba, zažene bralnik zaslona in posluša kodo. Za zagotovitev, da ga drugi razvijalci zlahka berejo in razumejo, povsod uporablja linterje in konfiguracije. Toda Zhenya ne more uporabljati razvojnih okolij, ker so zaradi implementacije nedostopna slepim.

»Narejeni so tako, da njihovo okno določi sistem, vsega, kar je v oknu, pa bralnik zaslona ne vidi, ker do njega ne more dostopati. Zdaj sem kontaktiral JetBrains neposredno, da poskusim narediti nekaj popravkov za njihova okolja. Poslali so mi vire PyCharm. IDE je implementiran na Intellij Idea, tako da je vse spremembe mogoče uporabiti tam in tam.”

Druga ovira je nespoštovanje skupnih spletnih standardov. Na strani vidimo na primer velik naslov. Številni razvijalci to izvajajo z uporabo oznake span, da zaostrijo pisavo na želeno velikost, in na koncu je videti v redu. A ker besedilo ni naslov za sistem, ga bralnik zaslona ne prepozna kot element menija in ne dovoljuje interakcije.

Zhenya zlahka uporablja mobilno različico VKontakte, vendar se izogiba Facebooku: »VK mi je priročen, ker ima ločen seznam navigacijskih menijev. Ima elemente in naslove, ki zame pomenijo pomensko razdelitev strani. Na primer naslov prve stopnje, kjer je naveden moj vzdevek - vem, da je to naslov strani. Vem, da glava »sporočila« razdeli stran, spodaj pa je seznam dialogov.

Facebook promovira dostopnost, v resnici pa je vse tako slabo, da je nemogoče karkoli razumeti. Odprem - in program začne zmrzovati, stran je strašno počasna, vse mi skače. Povsod so vsi gumbi in pomislim, "kako naj sploh delam s tem?!" Uporabil ga bom samo, če dokončam svojo stranko ali povežem tretjo osebo.«

Raziskave

Zhenya živi v Vladivostoku v običajnem univerzitetnem domu. V sobi je kopalnica, dve garderobni omari, dve postelji, dve mizi, dve polici, hladilnik. Brez posebnih pripomočkov, a po njegovih besedah ​​niso potrebni. »Okvara vida ne pomeni, da ne bom mogel hoditi ali da ne bom našel poti. Lahko pa bi se z veseljem opremil s pametnim domom, če bi imel potrošni material. Preprosto nimam denarja za nakup komponent. Da bi študent porabil pet tisočakov za šolnino samo zato, da bi jo zbadal, je zelo nedonosno.«

Zhenya živi z dekletom, pomaga na različne načine po hiši: »nanaša sendviče, naliva čaj, pere perilo. Zato sem imel več časa za sprostitev in počel stvari, ki jih imam rad.”

Na primer, Zhenya ima glasbeno skupino, kjer igra električno kitaro. Po poškodbi se je tudi naučil. Leta 2016 je tri mesece preživel v rehabilitacijskem centru, kjer je prosil učitelja, naj mu pomaga pri kitari. Sprva sem se igral s šivom majice, obrnjenim navzven. Nato sem zgradil mediatorja.

»Vzel sem povoj za krepitev roke, ki ga uporabljajo na primer karateisti, ga razrezal na mestih, kjer so prsti ločeni, in ga potegnil na podlaket. Tam je penasta blazinica, ki ščiti čopič pred poškodbami - nanjo sem prišila trzalico, ki mi jo je brat izrezal iz plastične lopatke. Izkazalo se je tako dolg plastičen jezik, s katerim igram na strune – ubiranje in brenkanje.”

Eksplozija mu je raznesla bobniče, zato Zhenya ne sliši nizkih frekvenc. Njegova kitara nima šeste (najnižje) strune, peta pa je drugače uglašena. Igra večinoma solistične vloge.

A glavni dejavnosti ostajata razvoj in raziskave.

Protetična roka

Kako je poslušati kodo s 1000 besedami na minuto

Eden od projektov je razvoj proteze zgornjega uda s pametnim nadzornim sistemom. Leta 2016 je Zhenya prišel do osebe, ki je razvijala protezo, in mu začel pomagati pri testiranju. V letu 2017 so se udeležili hekatona Neurostart. Zhenya je v skupini treh ljudi programiral krmilnike nizkega nivoja. Še dva sta sama konstruirala modele in učila nevronske mreže za nadzorni sistem.

Zdaj je Zhenya prevzela celoten programski del projekta. Uporablja Myo Armband za branje mišičnih potencialov, na njihovi podlagi gradi maske in na vrhu uporablja modele nevronske mreže za prepoznavanje kretenj – na tem je zgrajen nadzorni sistem.

»Zapestnica ima osem senzorjev. Posredujejo morebitne spremembe v katero koli vhodno napravo. Z lastnimi rokami sem iztrebil njihov SDK, dekompiliral vse, kar je bilo potrebno, in napisal svojo lastno lib v Pythonu za branje podatkov. Podatkov je seveda premalo. Tudi če si na kožo namestim milijardo senzorjev, še vedno ne bo dovolj. Koža se premika čez mišice in podatki se pomešajo.”

V prihodnosti namerava Zhenya namestiti več senzorjev pod kožo in mišice. Zdaj bi poskusil - a takšne operacije so v Rusiji prepovedane. Če kirurg človeku pod kožo vsadi necertificirano opremo, bo izgubil diplomo. Vendar mu je Zhenya v roko prišil en senzor - oznako RFID, kot v elektronskih ključih, za odpiranje domofona ali katere koli ključavnice, na katero bo ključ povezan.

Umetno oko

Zhenya skupaj z Bogdanom Ščeglovom, biokemikom in biofizikom, dela na prototipu umetnega očesa. Bogdan se ukvarja s 3D modeliranjem zrkla in povezuje vsa mikrovezja v tridimenzionalni model z optičnim živcem, Zhenya gradi matematični model.

»Preštudirali smo ogromno literature o obstoječih analogih, tehnologijah, ki so bile in so na trgu, in ugotovili, da prepoznavanje slik ni relevantno. Izvedeli pa smo, da je bila prej ustvarjena matrika za snemanje fotonov in njihove energije. Odločili smo se razviti podobno matrico v pomanjšani velikosti, ki bi bila sposobna registrirati vsaj minimalen nabor fotonov in na njihovi osnovi zgraditi električni impulz. Tako se znebimo vmesnega sloja jasne slike in njenega prepoznavanja – delamo le neposredno.”

Rezultat bo vid, ki ni čisto v klasičnem smislu. Toda kot pravi Zhenya, mora preostanek vidnega živca zaznavati dovod električnih impulzov na enak način kot iz pravega očesa. Leta 2018 so se o projektu pogovarjali z rektorjem Pomorske tehnične univerze Glebom Turishchinom in mentorico Skolkova Olgo Velichko. Potrdili so, da je to težavo mogoče rešiti s tehnologijami, ki že obstajajo v svetu.

»Toda ta naloga je še težja od razvoja protetike. Na žabah ne moremo narediti niti poskusa, da bi preverili, kako dobro mrežnica generira impulze, kako so odvisni od različne svetlobe, kateri predel generira več, kateri manj. Potrebujemo sredstva, ki nam bodo omogočila najem laboratorija in zaposlitev ljudi za razgradnjo nalog in skrajševanje rokov. Plus stroški vseh potrebnih materialov. Praviloma je vse odvisno od denarja.”

Birokracija

Bogdan in Zhenya sta zaprosila za financiranje Skolkovo, a sta bila zavrnjena - tja gredo le končni izdelki s komercialnim potencialom, ne pa raziskovalni projekti v nastajajoči fazi.

Kljub vsej izvirnosti Ženjine zgodbe, kljub njegovim sposobnostim in navdihujočim uspehom, človeka preseneti nenavadna birokratska smola. Še posebej nadležno je slišati o tem v ozadju novic. Tukaj je še en »izdelek, ki ga ljudje potrebujejo« (aplikacija za fotografije, optimizacija oglaševanja ali nove vrste klepetov), ​​ki prejema milijone dolarjev prihodkov in naložb. Toda neznani entuziast ne ve, kaj bi s svojimi idejami.

Zhenya je letos osvojil brezplačen šestmesečni študij v Avstriji v okviru partnerskega programa med univerzami – a tja ne more. Za potrditev vizuma so potrebna zagotovila, da ima denar za stanovanje in življenje v Salzburgu.

»Pritožba na sredstva ni prinesla rezultatov, saj je financiranje zagotovljeno samo za celotne diplomske programe,« pravi Zhenya, »Tudi pritožba na Univerzo v Salzburgu ni prinesla rezultatov - univerza nima lastnih študentskih domov in nam ne more pomagati pri nastanitvi.

Pisal sem desetim skladom, odgovorili so mi le trije ali štirje. Poleg tega so odgovorili, da jim moja znanstvena diploma ne ustreza - potrebovali so magistre in višje. Mojih znanstvenih dosežkov na dodiplomskem študiju pri njih ne cenijo. Če študirate na lokalni univerzi, imate diplomo in se ukvarjate s tehničnimi raziskavami, potem se lahko prijavite znotraj univerze. Za osebo iz tujine pa tega žal nimajo.

Obrnil sem se na približno enako število ruskih skladov. V Skolkovu so mi rekli: oprostite, ampak delamo samo z mojstri. Druge fundacije so mi povedale, da nimajo sredstev za šest mesecev ali pa delajo samo z diplomskimi programi ali pa ne financirajo posameznikov. In fundacije Prohorov in Potanin mi sploh niso odgovorile.

Prejel sem pismo od Yandexa, da se ukvarjajo z veliko dobrodelnostjo in podjetje trenutno nima sredstev, vendar mi želijo vse najboljše.

Pristal sem celo na pogodbeno ciljno financiranje, ki bi mi omogočilo, da bi šel študirat, posledično pa bi nekaj prinesel podjetju. A vse se ustavi na nizki ravni komunikacije. Razumem, za kaj gre. Ljudje, ki se ukvarjajo s telefoniranjem in pošto, preprosto delajo po dokumentih. Vidijo, da je prispela prijava, mogoče je celo kul. Bodo pa napisali: oprostite, ne, ker ali je rok za prijavo potekel ali pa po statusu ne izpolnjujete pogojev. Nimam pa možnosti seči kam višje od lastnikov sklada, preprosto nimam takšnih stikov.«

Toda objave o Ženjinem problemu so se začele hitro širiti po družbenih omrežjih. V prvih dneh smo zbrali približno 50 rubljev - od zahtevanih 000 evrov. Ni veliko časa za pripravo, a že veliko ljudi Ženji piše o podpori. Morda se bo vse izšlo.

To dolgo besedilo o vrnitvi junaka iz Avstrije bi z veseljem zaključil z novo in močno izkušnjo. Ali pa pridobitev nepovratnih sredstev za enega od projektov in fotografijo iz novega laboratorija. Besedilo pa se je ustavilo v študentski sobi, kjer sta dve omari, dve postelji, dve mizi, dve polici, hladilnik.

Zdi se mi, da so potrebne velike strokovne skupnosti, ki si med seboj pomagajo. Nekrasova žena potrebuje denar, koristne stike, ideje, nasvete, karkoli. Dvignimo svojo karmo.

Zhenyini stiki in druge pomembne osebee-mail: [e-pošta zaščitena]
Телефон: +7-914-968-93-21
Telegram in WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Podrobnosti za prenos sredstev:
Številka kartice: 4276 5000 3572 4382 ali telefonska številka +7-914-968-93-21
Denarnica Yandex po telefonski številki +7-914-968-93-21

Naslovnik: Nekrasov Evgenij

Vir: www.habr.com

Dodaj komentar