Kā ir klausīties kodu ar ātrumu 1000 vārdu minūtē

Stāsts par mazu traģēdiju un ļoti laba izstrādātāja lielām uzvarām, kurai nepiecieÅ”ama palÄ«dzÄ«ba

Kā ir klausīties kodu ar ātrumu 1000 vārdu minūtē

Tālo Austrumu federālajā universitātē ir projektu aktivitāŔu centrs - tur maÄ£istri un bakalauri atrod inženierprojektus, kuriem jau ir klienti, nauda un perspektÄ«vas. Tur notiek arÄ« lekcijas un intensÄ«vie kursi. PieredzējuÅ”i speciālisti stāsta par modernām un lietiŔķām lietām.

Viens no intensÄ«vajiem kursiem bija veltÄ«ts Docker konteinerizācijas sistēmas izmantoÅ”anai sadalÄ«tai skaitļoÅ”anai un orÄ·estrÄ“Å”anai. Tajā piedalÄ«jās lietiŔķās matemātikas, inženierzinātņu, programmatÅ«ras sagatavoÅ”anas un citu tehnisko jomu maÄ£istri un maÄ£istranti.

Skolotājs bija puisis ar tumŔām brillēm, modernu matu griezumu, Å”alli, sabiedrisks un pārāk paÅ”pārliecināts - Ä«paÅ”i 21 gadu vecam otrā kursa studentam. Viņa vārds ir Jevgeņijs Ņekrasovs, viņŔ iestājās FEFU tikai pirms diviem gadiem.

Wunderkind

"Jā, viņi bija vecāki un viņiem bija lielāks statuss, bet es nevaru teikt, ka viņi bija pieredzējuŔāki. Turklāt es dažreiz lasÄ«ju lekcijas saviem kursabiedriem mÅ«su skolotājam. Kādā brÄ«dÄ« mēs sapratām, ka viņŔ man neko vairāk nevar sniegt par objektorientēto programmÄ“Å”anu, tāpēc es ik pa laikam lasÄ«ju viņam lekcijas par OOP, mÅ«sdienu attÄ«stÄ«bu, GitHub un versiju kontroles sistēmu izmantoÅ”anu.

Kā ir klausīties kodu ar ātrumu 1000 vārdu minūtē

Jevgeņijs var rakstÄ«t programmās Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C un Assembler. ā€œEs zinu JavaScript labāk, pārējie ir par lÄ«meni vai diviem zemāki. Bet tajā paŔā laikā es varu ieprogrammēt kontrolieri Rust vai C++ valodā stundas laikā. Es Ŕīs valodas nemācÄ«jos speciāli. Es tos pētÄ«ju man uzticētajiem uzdevumiem. Es varu pievienoties jebkuram projektam, izpētot dokumentāciju un rokasgrāmatas. Es zinu valodu sintaksi, un nav nozÄ«mes, kuru no tām izmantot. Tas pats attiecas uz ietvariem un bibliotēkām ā€” vienkārÅ”i izlasiet dokumentāciju, un es saprotu, kā tas darbojas. Visu nosaka mācÄ«bu joma un uzdevums.ā€

Jevgeņijs intensÄ«vi mācās programmÄ“Å”anu kopÅ” 2013. gada. Vidusskolas informātikas skolotājs, kurÅ” bija pilnÄ«gi akls, izraisÄ«ja viņu interesi par datorzinātnēm. CeļŔ sākās ar tÄ«mekli ā€“ HTML, JavaScript, PHP.

"Es esmu ziņkārīgs. Es neguļu daudz - esmu pastāvīgi ar kaut ko aizņemts, kaut ko lasu, kaut ko mācos.

2015. gadā Jevgeņijs pieteicās konkursam ā€œUmnikā€, lai atbalstÄ«tu jauno zinātnieku, kas vecāki par astoņpadsmit gadiem, tehniskos projektus. Bet viņam nebija astoņpadsmit, tāpēc viņam neizdevās uzvarēt konkursā, taču Jevgeņiju pamanÄ«ja vietējā izstrādātāju kopiena. ViņŔ tikās ar Sergeju Milehinu, kurÅ” tajā brÄ«dÄ« organizēja konferences Vladivostokā Google Developer Fest ietvaros. ā€œViņŔ mani tur uzaicināja, es atnācu, klausÄ«jos, man patika. Nākamajā gadā atbraucu atkal, arvien vairāk iepazinu cilvēkus, komunicēju.

Andrejs Sitniks no VLDC kopienas sāka palÄ«dzēt Jevgeņijam viņa tÄ«mekļa projektos. ā€œMan vajadzēja izveidot daudzpavedienu tÄ«mekļa ligzdas lietojumprogrammu. Es ļoti ilgi domāju, kā to izdarÄ«t PHP, un vērsos pie Andreja. ViņŔ man teica: "Ņemiet node.js, npm paketes, kas atrodas internetā, un nelauziet galvu. Un kopumā atvērtā koda pārvietoÅ”ana ir forÅ”a. Tāpēc es uzlaboju angļu valodas zināŔanas, sāku lasÄ«t dokumentāciju un publicēt projektus GitHub.

2018. gadā Jevgeņijs jau uzstājās ar prezentācijām Google Dev Fest, stāstot par attÄ«stÄ«bu pieejamo saskarņu, augŔējo ekstremitāŔu protēžu, neironu saskarņu un bezkontakta piekļuves kontroles sistēmu jomā. Tagad Jevgeņijs apgÅ«st otro gadu programmatÅ«ras inženierijas bakalaura programmā, taču viņŔ to jau ir sekmÄ«gi pabeidzis un beidz savu pēdējo darbu.

ā€œMan lika ieviest datu struktÅ«ru hash tabulā. Tā ir standarta lieta, kas tiek dota ikvienam universitātē. Es beidzu ar 12 tÅ«kstoÅ”iem koda rindiņu un daudz kruÄ·u,ā€ smejoties stāsta Jevgeņijs, ā€œEs izveidoju jaucējtabulu un tās modificēto struktÅ«ru JavaScript, lai ātrāk nolasÄ«tu datus. Un skolotājs saka: "Man vajag, lai tu uzraksti to, kas man ir vieglāk, lai es to varētu novērtēt." Tas bija ļoti kaitinoÅ”i."

Jevgeņija personÄ«gie projekti izskatās daudz interesantāk. Pirmais no tiem ir tÄ«mekļa standartu izstrāde cilvēkiem ar fiziskiem traucējumiem. ViņŔ vēlas izveidot resursu, kas nodroÅ”ina palÄ«gtehnoloÄ£iju jau no kastes, lai cilvēki ar redzes traucējumiem varētu to viegli izmantot, neuztraucoties par kādas informācijas izlaiÅ”anu. Jevgeņijs labi pārzina Å”o problēmu, jo viņŔ pats zaudēja redzi.

Traumas

ā€œAgrāk es biju parasts pusaudzis ar visām manām ekstremitātēm. 2012. gadā es uzspridzinājos. Izgāju pastaigāties ar draugu, paņēmu uz ielas cilindru, un tas man rokās uzsprāga. Mana labā roka tika norauta, kreisā roka bija kropļota, mana redze bija bojāta un dzirde. SeÅ”us mēneÅ”us es vienkārÅ”i gulēju uz operāciju galdiem.

Kreisā roka tika salikta pa daļām, tika uzstādÄ«ti Ŕķīvji un adāmadatas. Pēc pieciem mēneÅ”iem es varēju strādāt pie viņas.

Pēc traumas es vispār neko nevarēju redzēt. Bet ārstiem izdevās atjaunot gaismas uztveri. No manas acs nekas nepalika, izņemot čaulu. Viss iekŔā tika nomainÄ«ts ā€“ stiklveida Ä·ermeņi, lēcas. Viss iespējamais."

2013. gadā Žeņa devās mācÄ«ties uz korekcijas skolu bērniem ar redzes traucējumiem. Tas datorzinātņu skolotājs, kurÅ” bija pilnÄ«gi akls, atkal iemācÄ«ja viņam lietot datoru. Å im nolÅ«kam tiek izmantotas Ä«paÅ”as programmas - ekrāna lasÄ«tāji. Viņi piekļūst operētājsistēmu API, lai piekļūtu saskarnei un nedaudz mainÄ«tu veidu, kā tās tiek kontrolētas.

Žeņa sevi dēvē par dedzÄ«gu Linux lietotāju; viņŔ izmanto Debian. Izmantojot tastatÅ«ru, viņŔ pārvietojas pa interfeisa elementiem, un runas sintezators norāda, kas notiek.

"Tagad jÅ«s dzirdēsit tikai kosmosu," viņŔ man saka pirms programmas ieslēgÅ”anas.

Tas izklausās pēc koda vai citplanētieÅ”u pļāpāŔanas, bet patiesÄ«bā tā ir parasta krievu vai angļu valoda, vienkārÅ”i sintezators runā neticamā ātrumā neapmācÄ«tai ausij.

ā€œTo iemācÄ«ties nebija grÅ«ti. Sākumā strādāju operētājsistēmā Windows un izmantoju ekrāna lasÄ«tāju Jaws. Es to izmantoju un domāju: "Kungs, kā jÅ«s varat strādāt tik lēni." Pietuvinājos un sapratu, ka ausis ir saritinājuŔās caurulÄ«tē. Es to atgriezu atpakaļ un pakāpeniski sāku to palielināt par 5-10 procentiem katru nedēļu. Paātrināju sintezatoru lÄ«dz simts vārdiem, tad vēl vairāk, un vēl un vēl. Tagad viņŔ runā tÅ«kstoÅ” vārdu minÅ«tē.

Zhenya raksta parastā teksta redaktorā - Gedit vai Nano. Kopē avotus no Github, palaiž ekrāna lasÄ«tāju un klausās kodu. Lai nodroÅ”inātu, ka citi izstrādātāji to var viegli lasÄ«t un saprast, tas izmanto lÄ«kumus un konfigurācijas. Bet Zhenya nevar izmantot izstrādes vides, jo tās ir nepieejamas neredzÄ«gajiem to ievieÅ”anas dēļ.

ā€œTie ir izgatavoti tā, ka to logu nosaka sistēma, un visu, kas atrodas logā, ekrāna lasÄ«tājs neredz, jo tas nevar tam piekļūt. Tagad esmu tieÅ”i sazinājies ar JetBrains, lai mēģinātu izveidot dažus ielāpus viņu videi. Viņi man atsÅ«tÄ«ja PyCharm avotus. IDE ir ieviesta Intellij Idea, tāpēc visas izmaiņas var piemērot gan tur, gan tur.

Vēl viens Ŕķērslis ir kopējo tÄ«mekļa standartu neievēroÅ”ana. Piemēram, lapā redzam lielu virsrakstu. Daudzi izstrādātāji to ievieÅ”, izmantojot span tagu, lai pievilktu fontu lÄ«dz vajadzÄ«gajam izmēram, un tas izskatās labi. Bet, tā kā teksts nav sistēmas nosaukums, ekrāna lasÄ«tājs to neatpazÄ«st kā izvēlnes elementu un neļauj mijiedarboties.

Žeņa viegli izmanto VKontakte mobilo versiju, bet izvairās no Facebook: ā€œVK man ir ērts, jo tam ir atseviŔķs navigācijas izvēlņu saraksts. Tajā ir elementi un virsraksti, kas man ir lapas semantiskais iedalÄ«jums. Piemēram, pirmā lÄ«meņa virsraksts, kur ir norādÄ«ts mans segvārds - es zinu, ka tas ir lapas nosaukums. Es zinu, ka galvene ā€œZiņojumiā€ sadala lapu, un zemāk ir dialogu saraksts.

Facebook veicina pieejamÄ«bu, bet patiesÄ«bā viss ir tik slikti, ka neko nevar saprast. Atveru - un programma sāk sastingt, lapa ir Å”ausmÄ«gi lēna, man viss lēkā. Visur ir visas pogas, un es domāju: "Kā es varu ar to strādāt?!" Es to izmantoÅ”u tikai tad, ja pabeigÅ”u savu klientu vai savienoÅ”u treÅ”o pusi.

Pētniecība

Zhenya dzÄ«vo Vladivostokā parastā universitātes kopmÄ«tnē. Istabā ir vannas istaba, divi skapji, divas gultas, divi galdi, divi plaukti, ledusskapis. Nekādu speciālu gadžetu, bet tie, pēc viņa teiktā, nav vajadzÄ«gi. ā€œRedzes traucējumi nenozÄ«mē, ka es nevarÄ“Å”u staigāt vai neatradÄ«Å”u ceļu. Bet es varētu un labprāt aprÄ«kotu sevi ar gudru māju, ja man bÅ«tu palÄ«gmateriāli. Man vienkārÅ”i nav naudas, lai iegādātos komponentus. Studentam tērēt piecus tÅ«kstoÅ”us honorāriem tikai tāpēc, lai viņu pabāztu, ir ļoti neizdevÄ«gi.

Žeņa dzÄ«vo kopā ar meiteni, viņa daudzējādā ziņā palÄ«dz pa māju: ā€œsmērē sviestmaizes, ielej tēju, izmazgā veļu. Tāpēc man bija vairāk laika atpÅ«sties un darÄ«t to, kas man patÄ«k.

Piemēram, Žeņam ir muzikāla grupa, kurā viņŔ spēlē elektrisko Ä£itāru. ViņŔ arÄ« mācÄ«jās pēc traumas. 2016. gadā viņŔ trÄ«s mēneÅ”us pavadÄ«ja rehabilitācijas centrā, kur lÅ«dza skolotāju palÄ«dzēt ar Ä£itāru. Sākumā spēlējos ar krekla Å”uvi, kas bija apgriezta uz āru. Tad es izveidoju starpnieku.

ā€œPaņēmu pārsēju plaukstas stiprināŔanai, ko izmanto, piemēram, karatisti, pirkstu atdalÄ«Å”anas vietās pārgriezu vaļā un uzvilku uz apakÅ”delma. Tur ir putu spilventiņŔ, kas pasargā otu no bojājumiem - tam pieÅ”uvu cērtÄ«ti, ko brālis man izgrieza no plastmasas lāpstiņas. IzrādÄ«jās tik gara plastmasas mēle, ar kuru spēlēju uz stÄ«gām ā€“ plÅ«kÅ”u un stÄ«nēju.ā€

Sprādziens viņam izpÅ«ta bungādiņas, tāpēc Žeņa nedzird zemās frekvences. Viņa Ä£itārai nav sestās (zemākās) stÄ«gas, un piektā ir noregulēta citādi. ViņŔ spēlē galvenokārt solo partijas.

Taču galvenās darbības paliek attīstība un pētniecība.

Rokas protēze

Kā ir klausīties kodu ar ātrumu 1000 vārdu minūtē

Viens no projektiem ir augŔējo ekstremitāŔu protēžu izstrāde ar viedo vadÄ«bas sistēmu. 2016. gadā Žeņa ieradās pie cilvēka, kurÅ” izstrādāja protēzi, un sāka viņam palÄ«dzēt testÄ“Å”anā. 2017. gadā viņi piedalÄ«jās Neurostart hakatonā. TrÄ«s cilvēku komandā Žeņa ieprogrammēja zema lÄ«meņa kontrolierus. Vēl divi paÅ”i konstruēja modeļus un mācÄ«ja neironu tÄ«klus vadÄ«bas sistēmai.

Tagad Žeņa ir pārņēmusi visu projekta programmatÅ«ras daļu. Tas izmanto Myo Armband, lai nolasÄ«tu muskuļu potenciālu, izveidotu maskas, pamatojoties uz tiem, un augÅ”pusē izmanto neironu tÄ«klu modeļus, lai atpazÄ«tu žestus ā€” uz to balstās vadÄ«bas sistēma.

ā€œAprocei ir astoņi sensori. Tie pārraida iespējamās izmaiņas uz jebkuru ievades ierÄ«ci. Es ar savām rokām izÄ·idāju viņu SDK, dekompilēju visu nepiecieÅ”amo un uzrakstÄ«ju savu lib programmā Python, lai nolasÄ«tu datus. Protams, nav pietiekami daudz datu. Pat ja es uzlikÅ”u uz savas ādas miljardu sensoru, ar to tik un tā nepietiks. Āda pārvietojas pār muskuļiem, un dati tiek sajaukti.

Nākotnē Zhenya plāno uzstādÄ«t vairākus sensorus zem ādas un muskuļiem. ViņŔ to mēģinātu tagad, taču Krievijā Ŕādas operācijas ir aizliegtas. Ja Ä·irurgs cilvēkam zem ādas implantē nesertificētu aprÄ«kojumu, viņŔ zaudēs diplomu. Taču Žeņa rokā ieÅ”uva vienu sensoru - RFID tagu, kā jau elektroniskajās atslēgās, lai atvērtu domofonu vai jebkuru slēdzeni, pie kura tiks piesaistÄ«ta atslēga.

Mākslīgā acs

Kopā ar Bogdanu Ščeglovu, bioÄ·Ä«miÄ·i un biofiziÄ·i, Žeņa strādā pie mākslÄ«gās acs prototipa. Bogdans nodarbojas ar acs ābola 3D modelÄ“Å”anu un visu mikroshēmu savienoÅ”anu trÄ«sdimensiju modelÄ« ar redzes nervu, Ženja veido matemātisko modeli.

ā€œMēs pētÄ«jām daudz literatÅ«ras par esoÅ”ajiem analogiem, tehnoloÄ£ijām, kas bija tirgÅ« un tagad, un sapratām, ka attēla atpazÄ«Å”ana nav svarÄ«ga. Bet mēs uzzinājām, ka iepriekÅ” tika izveidota matrica fotonu un to enerÄ£ijas ierakstÄ«Å”anai. Mēs nolēmām izstrādāt lÄ«dzÄ«gu matricu samazinātā izmērā, kas spētu reÄ£istrēt vismaz minimālo fotonu kopu un uz to pamata izveidot elektrisko impulsu. Tādā veidā mēs atbrÄ«vojamies no skaidra attēla starpslāņa un tā atpazÄ«Å”anas - mēs vienkārÅ”i strādājam tieÅ”i.

Rezultāts bÅ«s redze, kas nav gluži klasiskā izpratnē. Bet, kā saka Žeņa, pārējam redzes nervam ir jāuztver elektrisko impulsu padeve tāpat kā no Ä«stas acs. 2018. gadā viņi apsprieda projektu ar JÅ«ras tehniskās universitātes rektoru Gļebu TuriŔčinu un Skolkovas mentori Olgu Veļičko. Viņi apliecināja, ka Å”o problēmu var atrisināt, izmantojot pasaulē jau esoŔās tehnoloÄ£ijas.

"Bet Å”is uzdevums ir vēl grÅ«tāks nekā protezÄ“Å”anas izstrāde. Mēs pat nevaram veikt eksperimentu ar vardēm, lai pārbaudÄ«tu, cik labi tÄ«klene rada impulsus, kā tie ir atkarÄ«gi no dažādas gaismas, kurÅ” apgabals rada vairāk, kurÅ” mazāk. Mums ir nepiecieÅ”ams finansējums, kas ļaus mums Ä«rēt laboratoriju un nolÄ«gt cilvēkus, lai sadalÄ«tu uzdevumus un samazinātu termiņus. Plus visu nepiecieÅ”amo materiālu izmaksas. Kā likums, tas viss ir atkarÄ«gs no naudas.

Birokrātija

Bogdans un Ženja iesniedza Skolkovo pieteikumu finansējuma saņemÅ”anai, taču viņiem tika atteikts - tur nonāk tikai gatavie produkti ar komerciālu potenciālu, nevis topoÅ”ie pētniecÄ«bas projekti.

Neskatoties uz visu Žeņa stāsta oriÄ£inalitāti, par spÄ«ti viņa spējām un iedvesmojoÅ”ajiem panākumiem, pārsteidz dÄ«vainā birokrātiskā nelaime. ÄŖpaÅ”i kaitinoÅ”i par to dzirdēt uz ziņu fona. Å eit ir vēl viens ā€œcilvēkiem vajadzÄ«gs produktsā€ (foto lietojumprogramma, reklāmas optimizācija vai jauni tērzÄ“Å”anas veidi), kas saņem miljoniem dolāru ieņēmumus un ieguldÄ«jumus. Bet nezināms entuziasts nezina, ko darÄ«t ar savām idejām.

Å ogad Žeņa ieguva bezmaksas seÅ”u mēneÅ”u studijas Austrijā universitāŔu partnerÄ«bas programmas ietvaros, taču viņŔ tur nevar doties. Lai apstiprinātu vÄ«zu, ir vajadzÄ«gas garantijas, ka viņam ir nauda mājoklim un dzÄ«vei Zalcburgā.

ā€œApelācija pie fondiem nedeva rezultātus, jo finansējums tiek pieŔķirts tikai pilnām diplomu programmām,ā€ stāsta Ženja, ā€œaicinājums paÅ”ai Zalcburgas universitātei arÄ« nedeva ā€“ universitātei nav savu kopmÄ«tņu un tā nevar palÄ«dzēt ar izmitināŔanu.

Es rakstīju desmit fondiem, un tikai trīs vai četri man atbildēja. Turklāt viņi atbildēja, ka mans zinātniskais grāds viņiem neatbilst - viņiem vajadzēja maģistrus un augstākus. Manus zinātniskos sasniegumus pamatstudijās viņi nenovērtē. Ja studējat vietējā universitātē, jums ir bakalaura grāds un jūs nodarbojaties ar tehnisko izpēti, tad varat pieteikties augstskolas ietvaros. Bet cilvēkam no ārzemēm, diemžēl, viņiem tas nav.

Es sazinājos ar aptuveni tikpat daudz Krievijas fondu. Skolkovā man teica: piedod, bet mēs strādājam tikai ar meistariem. Citi fondi man teica, ka viņiem nav finansējuma uz seÅ”iem mēneÅ”iem vai viņi strādā tikai ar diplomu programmām, vai arÄ« viņi nefinansē personas. Un Prohorova un Potaņina fondi man pat neatbildēja.

Es saņēmu vēstuli no Yandex, ka viņi nodarbojas ar lielu labdarÄ«bu un uzņēmumam Å”obrÄ«d nav finansējuma, bet viņi man novēl visu to labāko.

Es pat piekritu lÄ«guma mērÄ·finansējumam, kas ļautu man iet mācÄ«ties, un rezultātā es kaut ko atnestu uzņēmumam. Bet viss apstājas zemā komunikācijas lÄ«menÄ«. Es saprotu, par ko ir runa. Cilvēki, kas strādā ar telefona zvaniem un pastu, vienkārÅ”i strādā saskaņā ar dokumentiem. Viņi redz, ka ir atnākusi aplikācija, tas varētu bÅ«t pat forÅ”i. Bet viņi rakstÄ«s: atvainojiet, nē, jo vai nu ir beidzies pieteikÅ”anās termiņŔ, vai jÅ«s nekvalificējat pēc sava statusa. Bet man nav iespēju sasniegt kaut kur augstāk par fonda Ä«paÅ”niekiem, man vienkārÅ”i nav tādu kontaktu.

Taču ziņas par Ženjas problēmu sāka ātri izplatÄ«ties sociālajos tÄ«klos. Pirmajās dienās savācām aptuveni 50 000 rubļu ā€“ no nepiecieÅ”amajiem 12 000 eiro. Nav daudz laika, lai sagatavotos, bet daudzi cilvēki jau raksta Ženijai par atbalstu. VarbÅ«t viss izdosies.

PriecāŔos pabeigt Å”o garo tekstu par varoņa atgrieÅ”anos no Austrijas ar jaunu un spēcÄ«gu pieredzi. Vai arÄ« saņemot grantu kādam no projektiem, un foto no jaunās laboratorijas. Bet teksts apstājās kopmÄ«tnes istabā, kur ir divi skapji, divas gultas, divi galdi, divi plaukti, ledusskapis.

Man Ŕķiet, ka ir vajadzÄ«gas lielas profesionālas kopienas, lai palÄ«dzētu viena otrai. Nekrasova sievai ir vajadzÄ«ga nauda, ā€‹ā€‹noderÄ«gi kontakti, idejas, padomi, jebkas. Paaugstināsim savu karmu.

Ženjas kontakti un citas svarīgas personase-pasts: [e-pasts aizsargāts]
Š¢ŠµŠ»ŠµŃ„Š¾Š½: +7-914-968-93-21
Telegram un WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Sīkāka informācija par līdzekļu pārskaitīŔanu:
Kartes numurs: 4276 5000 3572 4382 vai tālruņa numurs +7-914-968-93-21
Yandex maku pa tālruņa numuru +7-914-968-93-21

Adresāts: Ņekrasovs Jevgeņijs

Avots: www.habr.com

Pievieno komentāru