Miltä tuntuu kuunnella koodia 1000 sanaa minuutissa

Tarina pienestä tragediasta ja suurista voitoista erittäin hyvälle kehittäjälle, joka tarvitsee apua

Miltä tuntuu kuunnella koodia 1000 sanaa minuutissa

Kaukoidän liittovaltion yliopistossa on projektitoiminnan keskus - siellä maisterit ja kandidaatit löytävät suunnitteluprojekteja, joilla on jo asiakkaita, rahaa ja tulevaisuudennäkymiä. Siellä pidetään myös luentoja ja intensiivikursseja. Kokeneet asiantuntijat puhuvat moderneista ja sovelletuista asioista.

Yksi intensiivikursseista oli omistettu Docker-konttijärjestelmän käyttöön hajautetussa laskennassa ja orkestroinnissa. Siihen osallistui soveltavan matematiikan, tekniikan, ohjelmistovalmistuksen ja muiden teknisten alojen maisterit ja jatko-opiskelijat.

Opettaja oli kaveri, jolla oli tummat silmälasit, muodikas hiustyyli, huivi, seurallinen ja liian itsevarma - varsinkin 21-vuotiaalle toisen vuoden opiskelijalle. Hänen nimensä on Evgeny Nekrasov, hän tuli FEFU:hun vain kaksi vuotta sitten.

Wunderkind

"Kyllä, he olivat vanhempia ja heillä oli enemmän asemaa, mutta en voi sanoa, että he olivat kokeneempia. Lisäksi pidin joskus luentoja luokkatovereilleni opettajallemme. Jossain vaiheessa ymmärsimme, että hän ei voinut antaa minulle mitään muuta olio-ohjelmointiin liittyen, joten luennoin hänelle silloin tällöin OOP:sta, modernista kehityksestä, GitHubista ja versionhallintajärjestelmien käytöstä.

Miltä tuntuu kuunnella koodia 1000 sanaa minuutissa

Evgeniy osaa kirjoittaa Scalassa, Clojuressa, Javassa, JavaScriptissä, Pythonissa, Haskellissa, TypeScriptissä, PHP:ssä, Rustissa, C++:ssa, C:ssä ja Assemblerissä. "Tunnen JavaScriptin paremmin, loput ovat tasoa tai kaksi alempana. Mutta samalla voin ohjelmoida ohjaimen Rust- tai C++-kielellä tunnissa. En ole opiskellut näitä kieliä tarkoituksella. Opiskelin niitä minulle annettuja tehtäviä varten. Voin liittyä mihin tahansa projektiin tutkimalla dokumentaatiota ja käsikirjoja. Tiedän kielten syntaksit, ja kumpaa käytän, ei ole väliä. Sama koskee kehyksiä ja kirjastoja - lue dokumentaatio ja ymmärrän, miten se toimii. Kaikki määräytyy aihealueen ja tehtävän mukaan.”

Evgeniy on opiskellut intensiivisesti ohjelmointia vuodesta 2013 lähtien. Lukion tietojenkäsittelytieteen opettaja, joka oli täysin sokea, sai hänet kiinnostumaan tietojenkäsittelytieteestä. Polku alkoi verkosta - HTML, JavaScript, PHP.

"Olen vain utelias. En nuku paljoa - olen jatkuvasti kiireinen jonkin kanssa, luen jotain, opiskelen jotain."

Vuonna 2015 Evgeniy haki "Umnik"-kilpailuun tukemaan yli XNUMX-vuotiaiden nuorten tutkijoiden teknisiä hankkeita. Mutta hän ei ollut kahdeksantoista, joten hän ei voittanut kilpailua - mutta paikallinen kehittäjäyhteisö huomasi Evgeniyn. Hän tapasi Sergei Milekhinin, joka tuolloin järjesti konferensseja Vladivostokissa osana Google Developer Festiä. ”Hän kutsui minut sinne, tulin, kuuntelin, pidin siitä. Seuraavana vuonna tulin uudestaan, tutustuin ihmisiin yhä enemmän, kommunikoin.”

Andrey Sitnik VLDC-yhteisöstä alkoi auttaa Evgeniya hänen verkkoprojekteissaan. ”Minun täytyi rakentaa monisäikeinen web socket -sovellus. Mietin hyvin pitkään, kuinka tämä tehdään PHP:llä, ja käännyin Andreyn puoleen. Hän sanoi minulle: "Ota node.js, npm-paketit, jotka ovat Internetissä, äläkä riko päätäsi. Ja yleisesti ottaen avoimen lähdekoodin siirtäminen on siistiä." Joten paransin englantiani, aloin lukea dokumentaatiota ja julkaista projekteja GitHubissa."

Vuonna 2018 Evgeniy piti jo esitelmiä Google Dev Fest -tapahtumassa, jossa hän puhui saavutettavien rajapintojen, yläraajaproteesien, hermoliitäntöjen ja kontaktittomien kulunvalvontajärjestelmien kehityksestä. Nyt Jevgeniy suorittaa toista vuottaan ohjelmistotekniikan kandidaatin tutkintoa, mutta hän on jo suorittanut sen menestyksekkäästi ja viimeistelee viimeistä työtään.

”Minua käskettiin toteuttamaan tietorakenne hash-taulukossa. Tämä on vakio asia, joka annetaan kaikille yliopistossa. Päädyin 12 XNUMX koodiriviin ja nippu kainalosauvoja”, Evgeniy sanoo nauraen. ”Rakenin hash-taulukon ja sen muokatun rakenteen JavaScriptiin lukeakseni dataa nopeammin. Ja opettaja sanoo: "Tarvitsen sinun kirjoittavan sen, mikä on minulle helpompaa, jotta voin arvioida sitä." Se oli erittäin ärsyttävää."

Evgeniyn henkilökohtaiset projektit näyttävät paljon mielenkiintoisemmilta. Ensimmäinen niistä on verkkostandardien kehittäminen fyysisesti vammaisille. Hän haluaa luoda resurssin, joka tarjoaa aputeknologiaa heti käyttövalmiiksi, jotta näkövammaiset voivat käyttää sitä helposti ilman huolta siitä, että he menettävät joitakin tietoja. Evgeniy tietää tämän ongelman hyvin, koska hän itse menetti näkönsä.

vahinko

”Olin ennen tavallinen teini, kaikki jäsenet paikoillani. Vuonna 2012 räjähdin itseni. Menin ulos kävelylle ystäväni kanssa, otin sylinterin kadulta ja se räjähti käsissäni. Oikea käteni repeytyi, vasen käteni oli rampautunut, näköni vaurioitui ja kuuloni heikkeni. Kuusi kuukautta makasin vain leikkauspöydillä.

Vasen käsi koottiin osiin, lautaset ja neulepuikot asennettiin. Viiden kuukauden jälkeen pystyin työskentelemään hänelle.

Loukkaantumisen jälkeen en nähnyt yhtään mitään. Mutta lääkärit onnistuivat palauttamaan valon havaitsemisen. Silmistäni ei jäänyt muuta kuin kuori. Kaikki sisällä vaihdettiin - lasiaiset, linssit. Kaikkea mahdollista."

Vuonna 2013 Zhenya meni opiskelemaan näkövammaisten lasten rangaistuskouluun. Tuo tietojenkäsittelytieteen opettaja, joka oli täysin sokea, opetti hänelle uudelleen tietokoneen käytön. Tätä tarkoitusta varten käytetään erityisiä ohjelmia - näytönlukuohjelmia. He käyttävät käyttöjärjestelmän sovellusliittymiä päästäkseen käyttöliittymään ja muuttaakseen hieman hallintatapaansa.

Zhenya kutsuu itseään innokkaaksi Linux-käyttäjäksi, hän käyttää Debiania. Näppäimistöä käyttäen hän navigoi käyttöliittymäelementtien läpi, ja puhesyntetisaattori kertoo, mitä tapahtuu.

"Nyt kuulet vain välilyönnin", hän sanoo ennen ohjelman käynnistämistä.

Se kuulostaa koodilta tai alien-chatterilta, mutta todellisuudessa se on tavallista venäjää tai englantia, vain syntetisaattori puhuu uskomattomalla nopeudella kouluttamattomalle korvalle.

"Tämän oppiminen ei ollut vaikeaa. Aluksi työskentelin Windowsilla ja käytin näytönlukuohjelmaa Jaws. Käytin sitä ja ajattelin: "Herra, kuinka voit työskennellä niin hitaalla nopeudella." Lähensin ja huomasin, että korvat olivat käpristyneet putkeen. Palautin sen takaisin ja aloin vähitellen nostaa sitä 5-10 prosenttia joka viikko. Kiihdytin syntetisaattorin sataan sanaan, sitten vielä enemmän ja uudestaan ​​ja uudestaan. Nyt hän puhuu tuhat sanaa minuutissa."

Zhenya kirjoittaa tavallisessa tekstieditorissa - Gedit tai Nano. Kopioi lähteet Githubista, käynnistää näytönlukuohjelman ja kuuntelee koodia. Varmistaakseen, että muut kehittäjät voivat lukea ja ymmärtää sen helposti, se käyttää linterejä ja kokoonpanoja kaikkialla. Mutta Zhenya ei voi käyttää kehitysympäristöjä, koska ne ovat sokeiden ulottumattomissa niiden toteutuksen vuoksi.

”Ne on tehty niin, että järjestelmä määrittää niiden ikkunan, eikä näytönlukuohjelma näe kaikkea ikkunan sisällä, koska se ei pääse siihen käsiksi. Olen nyt ottanut suoraan yhteyttä JetBrainsiin yrittääkseni tehdä joitain korjauksia heidän ympäristöönsä. He lähettivät minulle PyCharm-lähteet. IDE on toteutettu Intellij Ideassa, joten kaikki muutokset voidaan ottaa käyttöön sekä siellä että siellä.

Toinen este on yhteisten verkkostandardien noudattamisen puute. Näemme esimerkiksi sivulla suuren otsikon. Monet kehittäjät ottavat tämän käyttöön käyttämällä span tagia kiristääkseen fontin haluttuun kokoon, ja se näyttää hyvältä. Mutta koska teksti ei ole järjestelmän otsikko, näytönlukuohjelma ei tunnista sitä valikkoelementiksi eikä salli vuorovaikutusta.

Zhenya käyttää helposti VKontakten mobiiliversiota, mutta välttää Facebookia: "VK on minulle kätevä, koska siinä on erillinen luettelo navigointivalikoista. Siinä on elementtejä ja otsikoita, jotka ovat minulle sivun semanttinen jako. Esimerkiksi ensimmäisen tason otsikko, jossa lempinimeni on ilmoitettu - Tiedän, että tämä on sivun otsikko. Tiedän, että "viestit"-otsikko jakaa sivun, ja alla on luettelo dialogeista.

Facebook edistää saavutettavuutta, mutta todellisuudessa kaikki on niin huonosti, ettei mitään voi ymmärtää. Avaan sen - ja ohjelma alkaa jäätyä, sivu on hirveän hidas, kaikki hyppää ympäriinsä. Kaikki painikkeet ovat kaikkialla, ja minä olen kuin "miten voin edes työskennellä tämän kanssa?!" Käytän sitä vain, jos saan asiakkaani valmiiksi tai yhdistän kolmannen osapuolen."

tutkimus

Zhenya asuu Vladivostokissa tavallisessa yliopiston asuntolassa. Huoneessa on kylpyhuone, kaksi vaatekaappia, kaksi sänkyä, kaksi pöytää, kaksi hyllyä, jääkaappi. Ei erityisiä vempaimia, mutta hänen mukaansa niitä ei tarvita. "Näkövamma ei tarkoita sitä, ettenkö pysty kävelemään tai en löydä tietä. Mutta voisin ja mielelläni varustaisin itselleni älykkään kodin, jos minulla olisi tarvikkeita. Minulla ei yksinkertaisesti ole rahaa ostaa komponentteja. On erittäin kannattamatonta, että opiskelija kuluttaa viisituhatta maksuihin vain piinatakseen häntä."

Zhenya asuu tytön kanssa, hän auttaa monin tavoin ympäri taloa: "levittele voileipiä, kaada teetä, pese pyykkiä. Siksi minulla oli enemmän aikaa rentoutua ja tehdä asioita, joita rakastan.

Esimerkiksi Zhenyalla on musiikkiryhmä, jossa hän soittaa sähkökitaraa. Hän oppi myös loukkaantumisen jälkeen. Vuonna 2016 hän vietti kolme kuukautta kuntoutuskeskuksessa, jossa hän pyysi opettajaa auttamaan häntä kitaran kanssa. Aluksi leikittelin paidan saumalla nurinpäin. Sitten rakensin välittäjän.

”Otin käteen vahvistavan siteen, jota esimerkiksi karatekat käyttävät, leikkasin sen auki kohdista, joissa sormet ovat erossa, ja vedin sen kyynärvarteen. Siellä on vaahtomuovityyny, joka suojaa sivellintä vaurioilta - siihen ompelin veljeni leikkaus muovilastalla minulle. Se osoittautui niin pitkäksi muovikieleksi, jolla soitan kieleillä - nyppien ja näppäilen."

Räjähdys räjäytti hänen tärykalvonsa, joten Zhenya ei kuule matalia taajuuksia. Hänen kitarassaan ei ole kuudetta (matalin) kieleä, ja viides on viritetty eri tavalla. Hän soittaa enimmäkseen sooloosia.

Mutta päätoimialat ovat edelleen kehitys ja tutkimus.

Käsiproteesi

Miltä tuntuu kuunnella koodia 1000 sanaa minuutissa

Yksi hankkeista on yläraajaproteesin kehittäminen älykkäällä ohjausjärjestelmällä. Vuonna 2016 Zhenya tuli proteesia kehittävän henkilön luo ja alkoi auttaa häntä testaamisessa. Vuonna 2017 he osallistuivat Neurostart-hackathoniin. Kolmen hengen ryhmässä Zhenya ohjelmoi matalan tason ohjaimia. Kaksi muuta rakensi mallit itse ja opetti hermoverkkoja ohjausjärjestelmää varten.

Nyt Zhenya on ottanut haltuunsa projektin koko ohjelmistoosan. Se käyttää Myo Armbandia lihaspotentiaalien lukemiseen, rakentaa niiden perusteella maskeja ja käyttää hermoverkkomalleja päälle tunnistaakseen eleitä – tähän ohjausjärjestelmä on rakennettu.

”Rannekorussa on kahdeksan anturia. Ne välittävät mahdolliset muutokset mihin tahansa syöttölaitteeseen. Purin heidän SDK:n omin käsin, purin kaiken tarvittavan ja kirjoitin oman lib-ohjelman Pythonissa tietojen lukemista varten. Tietoa ei tietenkään ole tarpeeksi. Vaikka laittaisin miljardi anturia iholleni, se ei silti riitä. Iho liikkuu lihasten päällä ja tiedot sekoittuvat."

Jatkossa Zhenya aikoo asentaa useita antureita ihon ja lihasten alle. Hän yrittäisi nyt - mutta tällaiset toiminnot ovat kiellettyjä Venäjällä. Jos kirurgi istuttaa sertifioimattomia laitteita henkilön ihon alle, hän menettää tutkintotodistuksensa. Zhenya kuitenkin ompeli käteensä yhden anturin - RFID-tunnisteen, kuten elektronisissa avaimissa, avaamaan sisäpuhelimen tai minkä tahansa lukon, johon avain liitetään.

Keinotekoinen silmä

Yhdessä biokemisti ja biofyysikon Bogdan Shcheglovin kanssa Zhenya työskentelee tekosilmän prototyypin parissa. Bogdan harjoittaa silmämunan 3D-mallinnusta ja yhdistää kaikki mikropiirit kolmiulotteisessa mallissa näköhermoon, Zhenya rakentaa matemaattista mallia.

"Tutkimme paljon kirjallisuutta olemassa olevista analogeista, markkinoilla olevista ja nyt tulevista teknologioista ja ymmärsimme, että kuvantunnistuksella ei ole merkitystä. Mutta opimme, että matriisi oli aiemmin luotu fotonien ja niiden energian tallentamiseksi. Päätimme kehittää vastaavan matriisin pienennetyssä koossa, joka pystyisi rekisteröimään vähintään vähimmäisjoukon fotoneja ja rakentamaan niiden perusteella sähköpulssin. Näin pääsemme eroon selkeän kuvan välikerroksesta ja sen tunnistamisesta – työskentelemme vain suoraan.”

Tuloksena on visio, joka ei ole aivan klassisessa mielessä. Mutta kuten Zhenya sanoo, näköhermon muun osan on havaittava sähköisten impulssien syöttö samalla tavalla kuin oikeasta silmästä. Vuonna 2018 he keskustelivat projektista Meritekniikan yliopiston rehtori Gleb Turishchinin ja Skolkovon mentorin Olga Velichkon kanssa. He vahvistivat, että tämä ongelma voidaan ratkaista käyttämällä maailmassa jo olemassa olevia teknologioita.

"Mutta tämä tehtävä on vielä vaikeampi kuin proteesin kehittäminen. Emme voi edes suorittaa sammakoiden koetta tarkistaaksemme, kuinka hyvin verkkokalvo tuottaa impulsseja, kuinka ne riippuvat erilaisesta valosta, mikä alue tuottaa enemmän ja mikä vähemmän. Tarvitsemme rahoitusta, jonka avulla voimme vuokrata laboratorion ja palkata ihmisiä hajottamaan tehtäviä ja lyhentämään määräaikoja. Plus kaikkien tarvittavien materiaalien kustannukset. Yleensä kaikki riippuu rahasta."

byrokratia

Bogdan ja Zhenya hakivat Skolkovolta rahoitusta, mutta ne hylättiin - sinne menevät vain valmiit tuotteet, joilla on kaupallista potentiaalia, eivätkä syntyvaiheessa olevat tutkimushankkeet.

Huolimatta kaikesta Zhenyan tarinan omaperäisyydestä, hänen kyvyistään ja inspiroivista onnistumisistaan ​​​​huolimatta omituinen byrokraattinen huono onni yllättyy. On erityisen ärsyttävää kuulla tästä uutisten taustalla. Tässä on toinen "tuote, jota ihmiset tarvitsevat" (valokuvasovellus, mainosten optimointi tai uudentyyppiset keskustelut), joka saa miljoonia dollareita tuloja ja investointeja. Mutta tuntematon harrastaja ei tiedä mitä tehdä ideoillaan.

Tänä vuonna Zhenya voitti ilmaisen kuuden kuukauden opiskelun Itävallassa yliopistojen välisen kumppanuusohjelman puitteissa - mutta hän ei voi mennä sinne. Viisumin vahvistamiseksi tarvitaan takeita siitä, että hänellä on rahaa asumiseen ja elämään Salzburgissa.

"Rahastoon vetoaminen ei tuottanut tulosta, koska rahoitusta myönnetään vain täysille tutkinto-ohjelmille", Zhenya sanoo, "ei myöskään Salzburgin yliopistoon vetoaminen itsessään - yliopistolla ei ole omia asuntoloita eikä se voi auttaa meitä majoituksessa.

Kirjoitin kymmeneen rahastoon, ja vain kolme tai neljä vastasi minulle. Lisäksi he vastasivat, että tieteellinen tutkintoni ei sopinut heille - he tarvitsivat maisterit ja korkeammat. He eivät arvosta tieteellisiä saavutuksiani perustutkinto-opinnoissani. Jos opiskelet paikallisessa yliopistossa, sinulla on kandidaatin tutkinto ja harjoitat teknistä tutkimusta, voit hakea yliopiston sisällä. Mutta ulkomailta tulleella henkilöllä tätä ei valitettavasti ole.

Otin yhteyttä suunnilleen samaan määrään venäläisiä rahastoja. Skolkovossa minulle sanottiin: anteeksi, mutta työskentelemme vain mestareiden kanssa. Muut säätiöt kertoivat minulle, että heillä ei ole kuuden kuukauden rahoitusta tai he työskentelevät vain tutkinto-ohjelmien parissa tai he eivät rahoita henkilöitä. Ja Prokhorov- ja Potanin-säätiöt eivät edes vastanneet minulle.

Sain Yandexiltä kirjeen, että he harjoittavat suurta hyväntekeväisyyttä ja yrityksellä ei tällä hetkellä ole rahoitusta, mutta he toivottavat minulle kaikkea hyvää.

Suostuin jopa sopimuskohdennettuun rahoitukseen, jonka avulla voisin mennä opiskelemaan ja sen seurauksena tuoda jotain yritykselle. Mutta kaikki pysähtyy alhaiseen viestintätasoon. Ymmärrän mistä tässä on kyse. Puheluiden ja postin parissa työskentelevät ihmiset työskentelevät yksinkertaisesti asiakirjojen mukaan. He näkevät, että hakemus on saapunut, se voi jopa olla siistiä. Mutta he kirjoittavat: anteeksi, ei, koska joko hakuaika on umpeutunut tai et täytä statustasi. Mutta minulla ei ole mahdollisuutta tavoittaa rahaston omistajia korkeammalle tasolle, minulla ei yksinkertaisesti ole sellaisia ​​kontakteja."

Mutta Zhenyan ongelmaa koskevat viestit alkoivat nopeasti levitä sosiaalisiin verkostoihin. Keräsimme ensimmäisten päivien aikana noin 50 000 ruplaa - tarvittavasta 12 000 eurosta. Aikaa valmistautumiseen ei ole paljon, mutta monet ihmiset kirjoittavat jo Zhenjalle tuesta. Ehkä kaikki järjestyy.

Lopettaisin mielelläni tämän pitkän tekstin sankarin paluusta Itävallasta uudella ja voimakkaalla kokemuksella. Tai saada apuraha johonkin hankkeista ja valokuva uudesta laboratoriosta. Mutta teksti pysähtyi asuntolaan, jossa on kaksi vaatekaappia, kaksi sänkyä, kaksi pöytää, kaksi hyllyä, jääkaappi.

Minusta tuntuu, että tarvitaan suuria ammatillisia yhteisöjä auttamaan toisiaan. Nekrasovin vaimo tarvitsee rahaa, hyödyllisiä kontakteja, ideoita, neuvoja, mitä tahansa. Nostetaan karmaamme.

Zhenyan yhteystiedot ja muut tärkeät henkilöte-mail: [sähköposti suojattu]
Телефон: +7-914-968-93-21
Telegram ja WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Varojen siirron tiedot:
Kortin numero: 4276 5000 3572 4382 tai puhelinnumero +7-914-968-93-21
Yandex-lompakko puhelinnumerolla +7-914-968-93-21

Osoite: Nekrasov Evgeniy

Lähde: will.com

Lisää kommentti