Mis tunne on kuulata koodi kiirusega 1000 sõna minutis

Väga hea abivajava arendaja väikese tragöödia ja suurte võitude lugu

Mis tunne on kuulata koodi kiirusega 1000 sõna minutis

Kaug-Ida föderaalülikoolis on projektitegevuse keskus - seal leiavad magistrid ja bakalaureused inseneriprojekte, millel on juba kliente, raha ja väljavaateid. Seal peetakse ka loenguid ja intensiivkursusi. Kogenud spetsialistid räägivad kaasaegsetest ja rakenduslikest asjadest.

Üks intensiivkursustest oli pühendatud Dockeri konteinersüsteemi kasutamisele hajutatud andmetöötluseks ja orkestreerimiseks. Sellel osalesid rakendusmatemaatika, inseneriteaduse, tarkvara ettevalmistamise ja muude tehniliste valdkondade magistrid ja magistrandid.

Õpetaja oli tumedate prillidega, moeka soenguga, salliga tüüp, seltskondlik ja liiga enesekindel - eriti 21-aastasele teise kursuse tudengile. Tema nimi on Jevgeni Nekrasov, ta astus FEFUsse vaid kaks aastat tagasi.

Wunderkind

"Jah, nad olid vanemad ja neil oli rohkem staatust, kuid ma ei saa öelda, et nad olid kogenumad. Lisaks pidasin vahel meie õpetaja jaoks loenguid ka klassikaaslastele. Mingil hetkel mõistsime, et ta ei saa mulle objektorienteeritud programmeerimise kohta midagi enamat anda, nii et aeg-ajalt pidasin talle loenguid OOP-ist, kaasaegsest arendusest, GitHubist ja versioonikontrollisüsteemide kasutamisest.

Mis tunne on kuulata koodi kiirusega 1000 sõna minutis

Evgeniy oskab kirjutada Scala, Clojure, Java, JavaScripti, Python, Haskelli, TypeScripti, PHP, Rusti, C++, C ja Assembleri keeles. "Ma tean JavaScripti paremini, ülejäänud on tase või kaks madalamal. Aga samas saan tunniga programmeerida kontrolleri Rust või C++ keeles. Ma ei õppinud neid keeli meelega. Uurisin neid mulle määratud ülesannete jaoks. Dokumentatsiooni ja käsiraamatuid uurides saan liituda mis tahes projektiga. Ma tean keelte süntaksit ja millist neist kasutada, pole tegelikult vahet. Sama kehtib raamistike ja teekide kohta – lugege lihtsalt dokumentatsiooni ja ma saan aru, kuidas see töötab. Kõik määrab ainevaldkond ja ülesanne.»

Evgeniy on programmeerimist intensiivselt õppinud alates 2013. aastast. Keskkooli informaatikaõpetaja, kes oli täiesti pime, tekitas temas huvi arvutiteaduse vastu. Tee algas veebist – HTML, JavaScript, PHP.

"Ma olen lihtsalt uudishimulik. Ma magan vähe – olen pidevalt millegagi hõivatud, loen midagi, õpin midagi.

2015. aastal kandideeris Jevgeni üle kaheksateistkümneaastaste noorte teadlaste tehniliste projektide toetamiseks konkursil “Umnik”. Kuid ta ei olnud kaheksateist, nii et tal ei õnnestunud konkurssi võita – kuid Jevgeniy märkas kohalik arendajakogukond. Ta kohtus Sergei Milekhiniga, kes sel hetkel korraldas Vladivostokis Google Developer Festi raames konverentse. «Ta kutsus mind sinna, ma tulin, kuulasin, mulle meeldis. Järgmisel aastal tulin uuesti, õppisin inimesi üha rohkem tundma, suhtlesin.»

Andrey Sitnik VLDC kogukonnast hakkas Jevgeniyt tema veebiprojektides aitama. "Mul oli vaja luua mitme keermega veebipesarakendus. Mõtlesin väga kaua, kuidas seda PHP-s teha, ja pöördusin Andrei poole. Ta ütles mulle: "Võtke node.js, npm paketid, mis on Internetis, ja ärge murdke oma pead. Ja üldiselt on avatud lähtekoodiga liikumine lahe. Seega parandasin oma inglise keelt, hakkasin lugema dokumentatsiooni ja postitama GitHubi projekte.

2018. aastal esines Evgeniy juba ettekannetega Google Dev Festil, rääkides arengutest ligipääsetavate liideste, ülajäsemete proteeside, närviliideste ja kontaktivaba juurdepääsukontrolli süsteemide arendamisel. Nüüd õpib Evgeniy teist aastat tarkvaratehnika bakalaureuseõppes, kuid ta on selle juba edukalt lõpetanud ja lõpetamas oma lõputööd.

"Mulle kästi rakendada andmestruktuur räsitabelis. See on standardne asi, mida ülikoolis kõigile antakse. Mul oli lõpuks 12 tuhat koodirida ja hunnik karkusid,“ ütleb Jevgeniy naerdes, „Ma koostasin JavaScriptis räsitabeli ja selle muudetud struktuuri, et andmeid kiiremini lugeda. Ja õpetaja ütleb: "Ma tahan, et sa kirjutaksid, mis on minu jaoks lihtsam, et saaksin seda hinnata." See oli väga tüütu."

Jevgeni isiklikud projektid tunduvad palju huvitavamad. Esimene neist on veebistandardite väljatöötamine liikumispuudega inimestele. Ta soovib luua ressursi, mis pakub abitehnoloogiat juba valmis, et nägemispuudega inimesed saaksid seda hõlpsalt kasutada, ilma et peaks kartma, et mõni teave jääb ilma. Jevgeni tunneb seda probleemi hästi, sest ta ise kaotas nägemise.

Vigastus

«Olin varem tavaline teismeline, kõik jäsemed paigas. 2012. aastal lasin end õhku. Läksin sõbraga välja jalutama, võtsin tänavalt silindri ja see plahvatas mu käes. Mu parem käsi oli rebenenud, vasak käsi oli vigastatud, nägemine kahjustatud ja kuulmine halvenenud. Kuus kuud lamasin lihtsalt operatsioonilaudadel.

Vasak käsi pandi osade kaupa kokku, paigaldati taldrikud ja kudumisvardad. Viie kuu pärast sain tema heaks töötada.

Pärast vigastust ei näinud ma üldse midagi. Kuid arstidel õnnestus valgustaju taastada. Minu silmast ei jäänud midagi peale kesta. Kõik sees vahetati – klaaskehad, läätsed. Kõik võimalik."

2013. aastal läks Ženja õppima nägemispuudega laste paranduskooli. See arvutiteaduse õpetaja, kes oli täiesti pime, õpetas talle uuesti arvutit kasutama. Sel eesmärgil kasutatakse spetsiaalseid programme - ekraanilugejaid. Nad pääsevad juurde operatsioonisüsteemi API-dele, et pääseda ligi liidesele ja muuta veidi nende juhtimist.

Zhenya nimetab end innukaks Linuxi kasutajaks; ta kasutab Debianit. Klaviatuuri abil navigeerib ta liidese elementide vahel ja kõnesüntesaator annab toimuvast teada.

"Nüüd kuulete lihtsalt tühikut," ütleb ta mulle enne programmi sisselülitamist.

See kõlab nagu kood või tulnukate jutuvadin, kuid tegelikult on see tavaline vene või inglise keel, lihtsalt süntesaator räägib harjumatu kõrva jaoks uskumatu kiirusega.

"Seda ei olnud raske õppida. Alguses töötasin Windowsiga ja kasutasin ekraanilugejat Jaws. Kasutasin seda ja mõtlesin: "Issand, kuidas sa saad nii aeglase kiirusega töötada." Suumisin lähemale ja sain aru, et kõrvad olid toruks keerdunud. Ma tagastasin selle tagasi ja hakkasin seda järk-järgult iga nädal 5-10 protsenti suurendama. Kiirendasin süntesaatorit saja sõna peale, siis veel rohkem ja ikka ja jälle. Nüüd räägib ta tuhat sõna minutis.

Ženja kirjutab tavalises tekstiredaktoris – Gedit või Nano. Kopeerib Githubi allikad, käivitab ekraanilugeja ja kuulab koodi. Tagamaks, et teised arendajad saaksid seda hõlpsasti lugeda ja mõista, kasutab see kogu ulatuses lintereid ja konfiguratsioone. Kuid Zhenya ei saa kasutada arenduskeskkondi, kuna need on nende rakendamise tõttu pimedatele kättesaamatud.

“Need on tehtud nii, et nende aken on süsteemi poolt määratud ja kõike, mis aknas sees on, ekraanilugeja ei näe, kuna ei pääse sellele ligi. Olen nüüd JetBrainsiga otse ühendust võtnud, et proovida teha nende keskkondadesse plaastreid. Nad saatsid mulle PyCharmi allikad. IDE on rakendatud Intellij Ideas, nii et kõiki muudatusi saab rakendada nii seal kui ka seal.

Teine takistus on tavapäraste veebistandardite mittejärgimine. Näiteks näeme lehel suurt pealkirja. Paljud arendajad rakendavad seda span-märgendi abil, et pingutada font soovitud suuruseni, ja see näeb hea välja. Kuid kuna tekst ei ole süsteemi pealkiri, ei tunne ekraanilugeja seda menüüelemendina ega võimalda suhtlemist.

Ženja kasutab hõlpsalt VKontakte mobiiliversiooni, kuid väldib Facebooki: “VK on minu jaoks mugav, kuna sellel on eraldi navigeerimismenüüde loend. Sellel on elemendid ja pealkirjad, mis on minu jaoks lehe semantiline jaotus. Näiteks esimese taseme pealkiri, kus on märgitud minu hüüdnimi – ma tean, et see on lehe pealkiri. Tean, et päis "sõnumid" jagab lehe pooleks ja allpool on dialoogide loend.

Facebook propageerib ligipääsetavust, aga tegelikkuses on kõik nii kehvasti, et millestki pole võimalik aru saada. Avan selle - ja programm hakkab külmuma, leht on kohutavalt aeglane, kõik hüppab minu jaoks. Kõik nupud on kõikjal ja ma mõtlen: "Kuidas ma sellega töötan?!" Kasutan seda ainult siis, kui lõpetan oma kliendi või ühendan kolmanda osapoole.

Teadusuuringud

Zhenya elab Vladivostokis tavalises ülikooli ühiselamus. Toas on vannituba, kaks riidekappi, kaks voodit, kaks lauda, ​​kaks riiulit, külmkapp. Spetsiaalseid vidinaid pole, aga tema sõnul pole neid vaja. "Nägemispuue ei tähenda, et ma ei saaks kõndida või ei leia teed. Aga ma saaksin ja varustaksin end hea meelega targa koduga, kui mul oleks kulumaterjale. Mul lihtsalt pole raha komponentide ostmiseks. Kui tudeng kulutab viis tuhat tasudele ainult selleks, et teda ringi torkida, on väga kahjum.

Ženja elab koos tüdrukuga, ta aitab majas mitmel viisil: “määrib võileibu, vala teed, peseb pesu. Seetõttu oli mul rohkem aega lõõgastuda ja teha asju, mida armastan.

Näiteks on Zhenjal rühmitus, kus ta mängib elektrikitarri. Ta õppis ka pärast vigastust. 2016. aastal veetis ta kolm kuud taastusravikeskuses, kus palus õpetajal end kitarriga aidata. Algul mängisin pahupidi keeratud särgi õmblusega. Siis ehitasin vahendaja.

«Võtsin käe tugevdamiseks sideme, mida kasutavad näiteks karatekad, lõikasin selle sõrmede eraldatud kohtadest lahti ja tõmbasin küünarvarrele. Seal on vahtpolster, mis kaitseb pintslit vigastuste eest - sellele õmblesin kirka, mille vend mulle plastiklabidast välja lõikas. Sellest sai nii pikk plastkeel, millega mängin keelpillidel – kitkudes ja põnn.”

Plahvatus puhus tema kuulmekile välja, mistõttu Zhenya ei kuule madalaid sagedusi. Tema kitarril puudub kuues (kõige madalam) keel ja viies on teisiti häälestatud. Ta mängib peamiselt sooloosi.

Kuid põhitegevuseks jäävad arendus ja teadus.

Käsivarre protees

Mis tunne on kuulata koodi kiirusega 1000 sõna minutis

Üheks projektiks on nutika juhtimissüsteemiga ülajäseme proteesi väljatöötamine. 2016. aastal tuli Ženja proteesi välja töötava inimese juurde ja hakkas teda testimisel aitama. 2017. aastal osalesid nad Neurostart häkatonil. Kolmeliikmelises meeskonnas programmeeris Zhenya madala taseme kontrollerid. Veel kaks kujundasid ise mudeleid ja õpetasid juhtimissüsteemi jaoks närvivõrke.

Nüüd on Zhenya üle võtnud kogu projekti tarkvara osa. See kasutab Myo Armbandi lihaste potentsiaalide lugemiseks, loob nende põhjal maske ja rakendab žestide tuvastamiseks peal närvivõrgu mudeleid – sellele on juhtimissüsteem üles ehitatud.

«Käevõrul on kaheksa andurit. Nad edastavad potentsiaalsed muutused mis tahes sisendseadmesse. Rookisin nende SDK oma kätega välja, dekompileerisin kõik vajaliku ja kirjutasin Pythonis enda lib-i andmete lugemiseks. Loomulikult pole piisavalt andmeid. Isegi kui ma panen oma nahale miljard andurit, ei piisa sellest ikkagi. Nahk liigub üle lihaste ja andmed lähevad segamini.

Edaspidi plaanib Ženja naha ja lihaste alla paigaldada mitu andurit. Ta prooviks seda praegu – aga Venemaal on sellised operatsioonid keelatud. Kui kirurg implanteerib inimesele naha alla sertifitseerimata aparatuuri, jääb ta diplomist ilma. Ženja aga õmbles talle pihku ühe anduri - RFID-sildi, nagu elektroonilistes võtmetes, et avada sisetelefon või mis tahes lukk, millega võti seotakse.

Kunstlik silm

Ženja töötab koos biokeemiku ja biofüüsiku Bogdan Shchegloviga tehissilma prototüübi kallal. Bogdan tegeleb silmamuna 3D-modelleerimisega ja kõigi mikroskeemide ühendamisega kolmemõõtmelises mudelis nägemisnärviga, Ženja ehitab matemaatilist mudelit.

„Uurisime hulga kirjandust olemasolevate analoogide, turul olnud ja praegu olevate tehnoloogiate kohta ning saime aru, et pildituvastus pole asjakohane. Kuid saime teada, et footonite ja nende energia salvestamiseks oli varem loodud maatriks. Otsustasime välja töötada sarnase vähendatud suurusega maatriksi, mis oleks võimeline registreerima vähemalt minimaalse footonite komplekti ja looma nende põhjal elektriimpulsi. Nii saame lahti selge pildi vahekihist ja selle äratundmisest – töötame lihtsalt otse.”

Tulemuseks on nägemus, mis ei ole päris klassikalises mõttes. Kuid nagu Zhenya ütleb, peab ülejäänud nägemisnärv tajuma elektriliste impulsside tarnimist samamoodi nagu pärissilmast. 2018. aastal arutasid nad projekti Meretehnikaülikooli rektori Gleb Turishchini ja Skolkovo mentori Olga Velichkoga. Nad kinnitasid, et seda probleemi saab lahendada maailmas juba olemasolevate tehnoloogiate abil.

"Kuid see ülesanne on veelgi keerulisem kui proteesimise väljatöötamine. Me ei saa isegi konnadega katsetada, et kontrollida, kui hästi võrkkesta impulsse genereerib, kuidas need sõltuvad erinevast valgusest, milline piirkond tekitab rohkem, milline vähem. Vajame rahastust, mis võimaldaks meil rentida laborit ja palgata inimesi ülesannete lagundamiseks ja tähtaegade lühendamiseks. Lisaks kõigi vajalike materjalide maksumus. Reeglina taandub kõik rahale.»

Bürokraatia

Bogdan ja Ženja esitasid Skolkovole rahastamistaotluse, kuid neile keelduti - sinna lähevad ainult kaubandusliku potentsiaaliga valmistooted, mitte areneva etapi uurimisprojektid.

Hoolimata kogu Ženja loo originaalsusest, vaatamata tema võimetele ja inspireerivatele õnnestumistele üllatab kummaline bürokraatlik ebaõnn. Eriti tüütu on sellest uudiste taustal kuulda. Siin on veel üks "toode, mida inimesed vajavad" (fotorakendus, reklaamide optimeerimine või uut tüüpi vestlused), mis teenib miljoneid dollareid tulu ja investeeringuid. Tundmatu entusiast aga ei tea, mida oma ideedega peale hakata.

Tänavu võitis Ženja ülikoolide partnerlusprogrammi raames tasuta kuuekuulise õppe Austrias, kuid ta ei saa sinna minna. Viisa kinnitamiseks on vaja tagatisi, et tal on raha elamiseks ja eluks Salzburgis.

"Fondidele apelleerimine ei andnud tulemusi, sest rahastatakse ainult täielikke diplomiprogramme," ütleb Ženja, "Ka Salzburgi ülikooli enda poole pöördumine ei andnud tulemust - ülikoolil pole oma ühiselamuid ja ta ei saa meid majutusega aidata.

Kirjutasin kümnele fondile ja ainult kolm-neli vastas mulle. Veelgi enam, nad vastasid, et minu teaduskraad neile ei sobi - nad vajasid magistreid ja kõrgemaid. Minu teadussaavutusi bakalaureuseõppes nad ei väärtusta. Kui õpid kohalikus ülikoolis, sul on bakalaureusekraad ja tegeled tehnilise uurimistööga, siis saad kandideerida ülikoolisiseselt. Kuid välismaalasel seda kahjuks pole.

Võtsin ühendust umbes sama arvu Venemaa fondidega. Skolkovos öeldi mulle: vabandust, aga me töötame ainult meistritega. Teised sihtasutused ütlesid mulle, et neil pole kuus kuud rahastust või nad töötavad ainult diplomiprogrammidega või ei rahasta eraisikuid. Ja Prokhorovi ja Potanini fondid ei vastanud mulle isegi.

Sain Yandexilt kirja, et nad tegelevad suure heategevusega ja ettevõttel hetkel rahastust pole, kuid nad soovivad mulle kõike head.

Nõustusin isegi lepingupõhise sihtfinantseerimisega, mis võimaldaks minna õppima ning selle tulemusena toon ettevõttele midagi kaasa. Kuid kõik peatub suhtlemise madalal tasemel. Ma saan aru, millest jutt. Inimesed, kes töötavad telefonikõnede ja posti teel, töötavad lihtsalt dokumentide järgi. Nad näevad, et rakendus on saabunud, see võib isegi lahe olla. Aga nad kirjutavad: vabandust, ei, sest kas kandideerimisaeg on möödas või sa ei kvalifitseeru oma staatuse järgi. Aga mul pole võimalust jõuda kuhugi kõrgemale kui fondi omanikel, mul lihtsalt pole selliseid kontakte.

Kuid postitused Zhenya probleemi kohta hakkasid kiiresti levima sotsiaalvõrgustikes. Esimeste päevadega kogusime umbes 50 000 rubla – vajalikust 12 000 eurost. Valmistumiseks pole palju aega, kuid paljud inimesed kirjutavad juba Zhenjale toetuse kohta. Ehk saab kõik korda.

Mul oleks hea meel lõpetada see pikk tekst kangelase naasmisest Austriast uue ja võimsa kogemusega. Või saades ühe projekti jaoks stipendiumi ja foto uuest laborist. Aga tekst peatus ühiselamutoas, kus on kaks kappi, kaks voodit, kaks lauda, ​​kaks riiulit, külmkapp.

Mulle tundub, et üksteise abistamiseks on vaja suuri erialaseid kogukondi. Nekrasovi naine vajab raha, kasulikke kontakte, ideid, nõuandeid ja kõike muud. Tõstkem oma karmat.

Zhenya kontaktid ja muud olulised tegelasede-post: [meiliga kaitstud]
Телефон: +7-914-968-93-21
Telegram ja WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Raha ülekandmise üksikasjad:
Kaardi number: 4276 5000 3572 4382 või telefoninumber +7-914-968-93-21
Yandexi rahakott telefoninumbril +7-914-968-93-21

Adressaat: Nekrasov Evgeniy

Allikas: www.habr.com

Lisa kommentaar