Ano ang pakiramdam ng makinig sa code sa 1000 salita kada minuto

Ang kwento ng isang maliit na trahedya at malalaking tagumpay ng isang napakahusay na developer na nangangailangan ng tulong

Ano ang pakiramdam ng makinig sa code sa 1000 salita kada minuto

Sa Far Eastern Federal University mayroong isang sentro para sa mga aktibidad ng proyekto - doon ang mga master at bachelor ay nakakahanap ng mga proyekto sa engineering na mayroon nang mga customer, pera at mga prospect. Doon din ginaganap ang mga lektura at masinsinang kurso. Ang mga nakaranasang espesyalista ay nagsasalita tungkol sa mga moderno at inilapat na bagay.

Isa sa mga masinsinang kurso ay nakatuon sa paggamit ng sistema ng containerization ng Docker para sa distributed computing at orkestrasyon. Ito ay dinaluhan ng mga masters at nagtapos na mga mag-aaral ng inilapat na matematika, engineering, paghahanda ng software at iba pang teknikal na larangan.

Ang guro ay isang lalaki na may maitim na salamin, isang naka-istilong gupit, isang scarf, palakaibigan at masyadong kumpiyansa - lalo na para sa isang 21-taong-gulang na mag-aaral sa ikalawang taon. Ang kanyang pangalan ay Evgeny Nekrasov, pumasok siya sa FEFU dalawang taon na ang nakalilipas.

Wunderkind

“Oo, mas matanda sila at mas may status, pero hindi ko masasabing mas experience sila. Bilang karagdagan, kung minsan ay nagbibigay ako ng mga lektura sa aking mga kaklase para sa aming guro. Sa isang punto, napagtanto namin na wala na siyang maibibigay sa akin sa Object Oriented Programming, kaya paminsan-minsan ay nag-lecture ako para sa kanya tungkol sa OOP, modernong pag-unlad, GitHub, at ang paggamit ng mga version control system."

Ano ang pakiramdam ng makinig sa code sa 1000 salita kada minuto

Maaaring sumulat si Evgeniy sa Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C at Assembler. "Mas alam ko ang JavaScript, ang natitira ay isang antas o dalawang mas mababa. Ngunit sa parehong oras, maaari akong mag-program ng isang controller sa Rust o C++ sa isang oras. Hindi ko sinasadyang pinag-aralan ang mga wikang ito. Pinag-aralan ko sila para sa mga gawaing itinalaga sa akin. Maaari akong sumali sa anumang proyekto sa pamamagitan ng pag-aaral ng dokumentasyon at mga manwal. Alam ko ang mga syntax ng mga wika, at kung alin ang gagamitin ay hindi mahalaga. Pareho ito sa mga framework at library - basahin lang ang dokumentasyon at naiintindihan ko kung paano ito gumagana. Ang lahat ay tinutukoy ng lugar ng paksa at ang gawain."

Si Evgeniy ay masinsinang nag-aaral ng programming mula noong 2013. Isang guro sa computer science sa high school na ganap na bulag ang naging interesado sa computer science. Nagsimula ang landas sa web - HTML, JavaScript, PHP.

"Curious lang ako. Hindi ako masyadong natutulog - palagi akong abala sa isang bagay, pagbabasa ng isang bagay, pag-aaral ng isang bagay.

Noong 2015, nag-aplay si Evgeniy para sa kumpetisyon ng "Umnik" upang suportahan ang mga teknikal na proyekto ng mga batang siyentipiko na higit sa labing walong taong gulang. Ngunit hindi siya labing-walo, kaya nabigo siyang manalo sa kumpetisyon - ngunit si Evgeniy ay napansin ng lokal na komunidad ng developer. Nakilala niya si Sergei Milekhin, na sa sandaling iyon ay nag-aayos ng mga kumperensya sa Vladivostok bilang bahagi ng Google Developer Fest. “Inimbitahan niya ako doon, pumunta ako, nakinig, nagustuhan ko. Sa susunod na taon ay bumalik ako, mas nakilala ang mga tao, nakipag-ugnayan."

Si Andrey Sitnik mula sa komunidad ng VLDC ay nagsimulang tumulong kay Evgeniy sa kanyang mga proyekto sa web. "Kailangan kong bumuo ng isang multi-threaded web socket application. Matagal kong pinag-isipan kung paano ito gagawin sa PHP, at bumaling kay Andrey. Sinabi niya sa akin, "kumuha ng node.js, npm packages na nasa Internet, at huwag sirain ang iyong ulo. At sa pangkalahatan, ang paglipat ng open source ay cool. Kaya pinagbuti ko ang aking Ingles, nagsimulang magbasa ng dokumentasyon at mag-post ng mga proyekto sa GitHub.

Noong 2018, nagbigay na si Evgeniy ng mga presentasyon sa Google Dev Fest, na pinag-uusapan ang tungkol sa mga pag-unlad sa larangan ng mga naa-access na interface, upper limb prostheses, pagbuo ng mga neural interface at contactless access control system. Ngayon si Evgeniy ay nasa kanyang ikalawang taon ng bachelor's degree sa Software Engineering, ngunit matagumpay na niya itong natapos at tinatapos ang kanyang huling gawain.

"Sinabi sa akin na ipatupad ang istraktura ng data sa isang hash table. Ito ay isang karaniwang bagay na ibinibigay sa lahat sa unibersidad. Nagtapos ako ng 12 libong linya ng code at isang bungkos ng saklay," sabi ni Evgeniy na natatawa, "Bumuo ako ng hash table at ang binagong istraktura nito sa JavaScript upang magbasa ng data nang mas mabilis. At sinabi ng guro: "Kailangan kong isulat mo kung ano ang mas madali para sa akin upang masuri ko ito." Sobrang nakakainis."

Ang mga personal na proyekto ni Evgeniy ay mukhang mas kawili-wili. Ang una sa mga ito ay ang pagbuo ng mga pamantayan sa web para sa mga taong may pisikal na kapansanan. Nais niyang lumikha ng isang mapagkukunan na nagbibigay ng pantulong na teknolohiya sa labas ng kahon upang ang mga taong may kapansanan sa paningin ay madaling magamit ito nang walang pag-aalala na mawalan ng ilang impormasyon. Alam na alam ni Evgeniy ang problemang ito, dahil siya mismo ay nawalan ng paningin.

Trauma

“Ordinaryong teenager ako dati, nakalagay lahat ng limbs ko. Noong 2012, pinasabog ko ang aking sarili. Lumabas ako para maglakad kasama ang isang kaibigan, kinuha ang isang silindro sa kalye, at ito ay sumabog sa aking mga kamay. Naputol ang kanang kamay ko, baldado ang kaliwang kamay ko, nasira ang paningin ko, at may kapansanan ang pandinig ko. Sa loob ng anim na buwan nakahiga lang ako sa mga operating table.

Ang kaliwang kamay ay binuo sa mga bahagi, ang mga plato at mga karayom ​​sa pagniniting ay na-install. After five months nakapagtrabaho na ako sa kanya.

Pagkatapos ng pinsala, wala na akong makita. Ngunit pinamamahalaang ng mga doktor na ibalik ang liwanag na pang-unawa. Walang natira sa mata ko maliban sa shell. Ang lahat ng nasa loob ay pinalitan - ang mga vitreous na katawan, ang mga lente. Lahat posible."

Noong 2013, nag-aral si Zhenya sa isang correctional school para sa mga batang may kapansanan sa paningin. Ang guro ng computer science na iyon, na ganap na bulag, ay nagturo sa kanya kung paano gumamit muli ng computer. Para sa layuning ito, ginagamit ang mga espesyal na programa - mga screen reader. Ina-access nila ang mga operating system API upang makakuha ng access sa interface at bahagyang baguhin ang paraan ng pagkontrol sa mga ito.

Tinatawag ni Zhenya ang kanyang sarili na isang masugid na gumagamit ng Linux; ginagamit niya ang Debian. Gamit ang keyboard, nagna-navigate siya sa mga elemento ng interface, at binibigyang boses ng speech synthesizer kung ano ang nangyayari.

"Ngayon ay maririnig mo lamang ang espasyo," sabi niya sa akin bago i-on ang programa.

Ito ay parang code o alien chatter, ngunit sa totoo lang, ito ay ordinaryong Russian o English, ang synthesizer ay nagsasalita sa isang hindi kapani-paniwalang bilis para sa hindi sanay na tainga.

"Hindi mahirap matutunan ito. Sa una ay nagtrabaho ako sa Windows at ginamit ang screen reader na Jaws. Ginamit ko ito at naisip ko, "Panginoon, paano ka makakagawa sa napakabagal na bilis." Nag-zoom in ako at napagtanto ko na ang mga tainga ay nabaluktot sa isang tubo. Ibinalik ko ito at unti-unting nagsimulang tumaas ito ng 5-10 porsiyento bawat linggo. Pinabilis ko ang synthesizer sa isang daang salita, pagkatapos ay higit pa, at muli at muli. Ngayon ay nagsasalita siya ng isang libong salita bawat minuto.

Nagsusulat si Zhenya sa isang regular na text editor - Gedit o Nano. Kinokopya ang mga source mula sa Github, inilulunsad ang screen reader at nakikinig sa code. Para matiyak na madali itong mabasa at mauunawaan ng ibang mga developer, gumagamit ito ng mga linter at configuration sa kabuuan. Ngunit hindi maaaring gamitin ng Zhenya ang mga kapaligiran sa pag-unlad dahil hindi ito naa-access ng mga bulag dahil sa kanilang pagpapatupad.

"Ginawa sila sa paraang ang kanilang window ay tinutukoy ng system, at lahat ng nasa loob ng window ay hindi nakikita ng screen reader dahil hindi nito ma-access ito. Nakipag-ugnayan na ako ngayon sa JetBrains nang direkta upang subukan at gumawa ng ilang mga patch sa kanilang mga kapaligiran. Ipinadala nila sa akin ang mga mapagkukunan ng PyCharm. Ang IDE ay ipinatupad sa Intellij Idea, kaya lahat ng mga pagbabago ay maaaring ilapat doon at doon.

Ang isa pang hadlang ay ang kakulangan ng pagsunod sa mga karaniwang pamantayan sa web. Halimbawa, nakikita namin ang isang malaking heading sa isang pahina. Maraming mga developer ang nagpapatupad nito gamit ang isang span tag upang higpitan ang font sa nais na laki, at ito ay magiging maayos. Ngunit dahil ang teksto ay hindi isang pamagat para sa system, hindi ito kinikilala ng screen reader bilang isang elemento ng menu at hindi pinapayagan ang pakikipag-ugnayan.

Madaling ginagamit ni Zhenya ang mobile na bersyon ng VKontakte, ngunit iniiwasan ang Facebook: "Ang VK ay maginhawa para sa akin dahil mayroon itong hiwalay na listahan ng mga menu ng nabigasyon. Mayroon itong mga elemento at heading na para sa akin ay ang semantic division ng page. Halimbawa, ang unang antas ng heading kung saan nakasaad ang aking palayaw - Alam kong ito ang pamagat ng pahina. Alam kong hinahati ng header ng "mga mensahe" ang pahina, at sa ibaba ay mayroong listahan ng mga diyalogo.

Ang Facebook ay nagtataguyod ng pagiging naa-access, ngunit sa katotohanan ang lahat ay napakasama na imposibleng maunawaan ang anuman. Binuksan ko ito - at ang programa ay nagsimulang mag-freeze, ang pahina ay napakabagal, ang lahat ay tumalon para sa akin. Mayroong lahat ng mga pindutan sa lahat ng dako, at ako ay tulad ng, "paano ko ito gagawin?!" Gagamitin ko lang ito kung tapusin ko ang aking kliyente o kumonekta sa isang third party."

Pananaliksik

Nakatira si Zhenya sa Vladivostok sa isang ordinaryong dorm ng unibersidad. May banyo sa kwarto, dalawang wardrobe, dalawang kama, dalawang lamesa, dalawang istante, isang refrigerator. Walang mga espesyal na gadget, ngunit ayon sa kanya, hindi ito kailangan. "Ang kapansanan sa paningin ay hindi nangangahulugan na hindi ako makakalakad o hindi makakahanap ng paraan. Ngunit kaya ko at masayang bibigyan ko ang aking sarili ng isang matalinong tahanan kung mayroon akong mga consumable. Wala lang akong pera para bumili ng mga sangkap. Para sa isang mag-aaral na gumastos ng limang libo sa mga bayad para lamang sundutin siya sa paligid ay napaka hindi kumikita.

Nakatira si Zhenya kasama ang isang batang babae, tumutulong siya sa maraming paraan sa paligid ng bahay: "magpakalat ng mga sandwich, magbuhos ng tsaa, maglaba. Kaya naman, nagkaroon ako ng mas maraming oras para magpahinga at gawin ang mga bagay na gusto ko.”

Halimbawa, may musical group si Zhenya kung saan tumutugtog siya ng electric guitar. Natutunan din niya pagkatapos ng pinsala. Noong 2016, gumugol siya ng tatlong buwan sa isang rehabilitation center, kung saan hiniling niya sa isang guro na tulungan siya sa kanyang gitara. Noong una ay nilalaro ko ang tahi ng sando na nakabukas sa labas. Pagkatapos ay nagtayo ako ng isang tagapamagitan.

"Kumuha ako ng bendahe upang palakasin ang kamay, na ginagamit, halimbawa, ng mga karateka, pinutol ito sa mga lugar kung saan pinaghihiwalay ang mga daliri at hinila ito sa bisig. Mayroong foam pad doon na nagpoprotekta sa brush mula sa pinsala - dito ay tinahi ko ang isang pick na pinutol ng aking kapatid mula sa isang plastic spatula para sa akin. Ito pala ay napakahabang plastik na dila, na ginagamit ko sa paglalaro ng mga kuwerdas - pagpupulot at pag-strum."

Napabuga ng pagsabog ang kanyang eardrums, kaya hindi marinig ni Zhenya ang mababang frequency. Ang kanyang gitara ay walang pang-anim (pinakamababang) string, at ang ikalima ay nakatutok sa ibang paraan. Siya ay gumaganap ng karamihan sa mga solong bahagi.

Ngunit ang mga pangunahing aktibidad ay nananatiling pag-unlad at pananaliksik.

Prosthetic na braso

Ano ang pakiramdam ng makinig sa code sa 1000 salita kada minuto

Ang isa sa mga proyekto ay ang pagbuo ng isang upper limb prosthesis na may matalinong sistema ng kontrol. Noong 2016, lumapit si Zhenya sa taong gumagawa ng prosthesis at nagsimulang tulungan siya sa pagsubok. Noong 2017, nakibahagi sila sa Neurostart hackathon. Sa isang pangkat ng tatlong tao, nag-program si Zhenya ng mga mababang antas ng controller. Dalawa pa ang nagdisenyo ng mga modelo mismo at nagturo ng mga neural network para sa control system.

Ngayon ay kinuha na ni Zhenya ang buong bahagi ng software ng proyekto. Ginagamit nito ang Myo Armband para magbasa ng mga potensyal ng kalamnan, bumuo ng mga maskara batay sa mga ito, at maglapat ng mga modelo ng neural network sa itaas upang makilala ang mga kilos—ito ang binuo ng control system.

"Ang bracelet ay may walong sensor. Nagpapadala sila ng mga potensyal na pagbabago sa anumang input device. Inubos ko ang kanilang SDK gamit ang sarili kong mga kamay, i-decompile ang lahat ng kailangan, at isinulat ang sarili kong lib sa Python para magbasa ng data. Siyempre, walang sapat na data. Kahit na maglagay ako ng isang bilyong sensor sa aking balat, hindi pa rin ito magiging sapat. Ang balat ay gumagalaw sa ibabaw ng mga kalamnan at ang data ay nagkakahalo."

Sa hinaharap, plano ni Zhenya na mag-install ng ilang mga sensor sa ilalim ng balat at kalamnan. Susubukan niya ito ngayon - ngunit ang mga naturang operasyon ay ipinagbabawal sa Russia. Kung ang isang siruhano ay nagtatanim ng hindi sertipikadong kagamitan sa ilalim ng balat ng isang tao, mawawala ang kanyang diploma. Gayunpaman, tinahi ni Zhenya ang isang sensor sa kanyang kamay - isang RFID tag, tulad ng sa mga electronic key, upang buksan ang isang intercom o anumang lock kung saan maiugnay ang susi.

Artipisyal na mata

Kasama si Bogdan Shcheglov, isang biochemist at biophysicist, si Zhenya ay gumagawa ng isang prototype ng isang artipisyal na mata. Si Bogdan ay nakikibahagi sa 3D na pagmomodelo ng eyeball at pagkonekta sa lahat ng microcircuits sa isang three-dimensional na modelo na may optic nerve, si Zhenya ay nagtatayo ng isang mathematical model.

"Nag-aral kami ng isang toneladang literatura sa mga umiiral na analogue, mga teknolohiya na nasa merkado at ngayon, at napagtanto namin na ang pagkilala sa imahe ay hindi nauugnay. Ngunit nalaman namin na ang isang matrix ay dati nang nilikha para sa pag-record ng mga photon at ang kanilang enerhiya. Nagpasya kaming bumuo ng isang katulad na matrix sa isang pinababang laki, na may kakayahang magrehistro ng hindi bababa sa isang minimum na hanay ng mga photon at bumuo ng isang electrical pulse sa kanilang batayan. Sa ganitong paraan, inaalis namin ang intermediate layer ng isang malinaw na imahe at ang pagkilala nito - direkta kaming gumagana."

Ang magiging resulta ay pangitain na wala sa klasikal na kahulugan. Ngunit tulad ng sinabi ni Zhenya, ang natitira sa optic nerve ay dapat malasahan ang supply ng mga electrical impulses sa parehong paraan tulad ng mula sa isang tunay na mata. Noong 2018, tinalakay nila ang proyekto kasama ang rektor ng Marine Technical University, Gleb Turishchin, at Skolkovo mentor na si Olga Velichko. Kinumpirma nila na ang problemang ito ay malulutas gamit ang mga teknolohiyang umiiral na sa mundo.

"Ngunit ang gawaing ito ay mas mahirap kaysa sa pagbuo ng prosthetics. Hindi rin tayo maaaring magsagawa ng isang eksperimento sa mga palaka upang suriin kung gaano kahusay ang retina ay bumubuo ng mga impulses, kung paano sila nakadepende sa iba't ibang liwanag, kung aling lugar ang bumubuo ng higit, alin ang mas kaunti. Kailangan namin ng pondo na magpapahintulot sa amin na magrenta ng laboratoryo at kumuha ng mga tao para mabulok ang mga gawain at bawasan ang mga deadline. Dagdag pa ang halaga ng lahat ng kinakailangang materyales. Bilang isang patakaran, ang lahat ay nauuwi sa pera."

Burukrasya

Nag-aplay sina Bogdan at Zhenya sa Skolkovo para sa pagpopondo ngunit tinanggihan - ang mga natapos na produkto lamang na may potensyal na komersyal ang pumunta doon, at hindi mga proyekto sa pananaliksik sa nascent stage.

Sa kabila ng lahat ng pagka-orihinal sa kuwento ni Zhenya, sa kabila ng kanyang mga kakayahan at nakasisiglang tagumpay, ang isa ay nagulat sa kakaibang burukratikong masamang kapalaran. Nakakainis lalo na marinig ang tungkol dito laban sa backdrop ng balita. Narito ang isa pang "produktong kailangan ng mga tao" (isang application ng larawan, pag-optimize ng advertising o mga bagong uri ng mga chat) na tumatanggap ng milyun-milyong dolyar nito sa kita at pamumuhunan. Ngunit ang isang hindi kilalang mahilig ay hindi alam kung ano ang gagawin sa kanyang mga ideya.

Sa taong ito, nanalo si Zhenya ng libreng anim na buwang pag-aaral sa Austria sa ilalim ng partnership program sa pagitan ng mga unibersidad - ngunit hindi siya makakapunta doon. Upang kumpirmahin ang isang visa, kailangan ang mga garantiya na mayroon siyang pera para sa pabahay at buhay sa Salzburg.

"Ang pag-apela sa mga pondo ay hindi nagbunga ng mga resulta, dahil ang pagpopondo ay ibinibigay lamang para sa buong programa ng diploma," sabi ni Zhenya, "Ang pag-apela sa Unibersidad ng Salzburg mismo ay hindi rin - ang unibersidad ay walang sariling mga dormitoryo at hindi makakatulong sa amin sa tirahan.

Sumulat ako sa sampung pondo, at tatlo o apat lang ang tumugon sa akin. Bukod dito, sinagot nila na ang aking siyentipikong degree ay hindi nababagay sa kanila - kailangan nila ng mga masters at mas mataas. Ang aking mga nakamit na pang-agham sa undergraduate na pag-aaral ay hindi nila pinahahalagahan. Kung nag-aaral ka sa isang lokal na unibersidad, mayroon kang bachelor's degree at nakikibahagi sa teknikal na pananaliksik, pagkatapos ay maaari kang mag-aplay sa loob ng unibersidad. Ngunit para sa isang tao mula sa ibang bansa, sa kasamaang palad, wala sila nito.

Nakipag-ugnayan ako sa halos parehong bilang ng mga pondo ng Russia. Sa Skolkovo sinabi nila sa akin: paumanhin, ngunit nagtatrabaho lamang kami sa mga masters. Sinabi sa akin ng ibang mga foundation na wala silang pondo sa loob ng anim na buwan, o nagtatrabaho lamang sila sa mga programang diploma, o hindi sila nagtutustos ng mga indibidwal. At hindi man lang ako sinagot ng Prokhorov at Potanin foundations.

Nakatanggap ako ng isang liham mula sa Yandex na sila ay nakikibahagi sa mahusay na kawanggawa at ang kumpanya ay kasalukuyang walang pondo, ngunit nais nila sa akin ang lahat ng pinakamahusay.

Pumayag pa nga ako sa contract-targeted financing, na magpapahintulot sa akin na pumunta at mag-aral, at bilang resulta ay may dadalhin ako para sa kumpanya. Ngunit ang lahat ay humihinto sa mababang antas ng komunikasyon. Naiintindihan ko kung tungkol saan ito. Ang mga taong nagtatrabaho sa mga tawag sa telepono at mail ay gumagana lamang ayon sa mga dokumento. Nakita nila na may dumating na application, baka cool pa. Ngunit isusulat nila: paumanhin, hindi, dahil ang panahon ng aplikasyon ay nag-expire na o hindi ka kwalipikado ayon sa iyong katayuan. Ngunit wala akong pagkakataon na maabot ang isang lugar na mas mataas kaysa sa mga may-ari ng pondo, wala akong ganoong mga contact."

Ngunit ang mga post tungkol sa problema ni Zhenya ay nagsimulang mabilis na kumalat sa mga social network. Sa mga unang araw, nakolekta namin ang tungkol sa 50 rubles - mula sa kinakailangang 000 euro. Walang gaanong oras para maghanda, ngunit marami na ang sumusulat kay Zhenya tungkol sa suporta. Marahil ay magiging maayos ang lahat.

Natutuwa akong tapusin ang mahabang tekstong ito sa pagbabalik ng bayani mula sa Austria na may bago at makapangyarihang karanasan. O pagtanggap ng grant para sa isa sa mga proyekto, at isang larawan mula sa bagong laboratoryo. Ngunit huminto ang text sa isang dorm room, kung saan mayroong dalawang aparador, dalawang kama, dalawang lamesa, dalawang istante, isang refrigerator.

Para sa akin, kailangan ng malalaking propesyonal na komunidad para tumulong sa isa't isa. Ang asawa ni Nekrasov ay nangangailangan ng pera, kapaki-pakinabang na mga contact, mga ideya, payo, kahit ano. Taasan natin ang ating karma.

Ang mga contact ni Zhenya at iba pang mahahalagang taoe-mail: [protektado ng email]
Телефон: +7-914-968-93-21
Telegram at WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Mga detalye para sa paglilipat ng mga pondo:
Numero ng card: 4276 5000 3572 4382 o numero ng telepono +7-914-968-93-21
Yandex wallet sa pamamagitan ng numero ng telepono +7-914-968-93-21

Addressee: Nekrasov Evgeniy

Pinagmulan: www.habr.com

Magdagdag ng komento