Aké to je počúvať kód rýchlosťou 1000 slov za minútu

Príbeh malej tragédie a veľkých víťazstiev veľmi dobrého vývojára, ktorý potrebuje pomoc

Aké to je počúvať kód rýchlosťou 1000 slov za minútu

Na Federálnej univerzite Ďalekého východu je centrum projektových aktivít - tam magistri a bakalári nachádzajú inžinierske projekty, ktoré už majú zákazníkov, peniaze a perspektívy. Konajú sa tu aj prednášky a intenzívne kurzy. Skúsení špecialisti hovoria o moderných a aplikovaných veciach.

Jeden z intenzívnych kurzov bol venovaný využitiu kontajnerového systému Docker pre distribuované výpočty a orchestráciu. Zúčastnili sa ho magistri a absolventi aplikovanej matematiky, inžinierstva, prípravy softvéru a iných technických oblastí.

Učiteľ bol chlapík s tmavými okuliarmi, módnym účesom, šatkou, spoločenský a príliš sebavedomý – najmä na 21-ročného študenta druhého ročníka. Volá sa Evgeny Nekrasov, do FEFU vstúpil len pred dvoma rokmi.

Wunderkind

„Áno, boli starší a mali lepšie postavenie, ale nemôžem povedať, že by boli skúsenejší. Okrem toho som občas prednášal spolužiakom pre nášho učiteľa. V určitom okamihu sme si uvedomili, že mi nemôže dať nič viac o objektovo orientovanom programovaní, a tak som mu z času na čas prednášal o OOP, modernom vývoji, GitHub a používaní systémov na správu verzií.“

Aké to je počúvať kód rýchlosťou 1000 slov za minútu

Evgeniy vie písať v Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C a Assembler. „JavaScript poznám lepšie, zvyšok je o úroveň alebo dva nižšie. Ale zároveň dokážem naprogramovať ovládač v Rust alebo C++ za hodinu. Tieto jazyky som neštudoval zámerne. Študoval som ich na úlohy, ktoré mi boli pridelené. Môžem sa zapojiť do akéhokoľvek projektu preštudovaním dokumentácie a manuálov. Poznám syntaxy jazykov a nezáleží na tom, ktorý z nich použiť. Je to rovnaké s rámcami a knižnicami – stačí si prečítať dokumentáciu a pochopím, ako to funguje. Všetko je určené oblasťou predmetu a úlohou.“

Evgeniy intenzívne študuje programovanie od roku 2013. Stredoškolský učiteľ informatiky, ktorý bol úplne slepý, ho priviedol k záujmu o informatiku. Cesta začala webom – HTML, JavaScript, PHP.

"Som len zvedavá. Veľa nespím – neustále som zaneprázdnený niečím, niečo čítam, niečo študujem.“

V roku 2015 sa Evgeniy prihlásil do súťaže „Umnik“ na podporu technických projektov mladých vedcov starších ako osemnásť rokov. Nemal však osemnásť, a tak sa mu súťaž nepodarilo vyhrať – Evgeniyho si však všimla miestna komunita vývojárov. Stretol sa so Sergejom Milechinom, ktorý v tom čase organizoval konferencie vo Vladivostoku v rámci Google Developer Fest. „Pozval ma tam, prišiel som, počúval, páčilo sa mi to. Ďalší rok som prišiel znova, spoznával ľudí viac a viac, komunikoval.“

Andrey Sitnik z komunity VLDC začal pomáhať Evgeniymu s jeho webovými projektmi. „Potreboval som vytvoriť viacvláknovú webovú soketovú aplikáciu. Veľmi dlho som premýšľal, ako to urobiť v PHP, a obrátil som sa na Andreyho. Povedal mi: „Vezmi si node.js, npm balíčky, ktoré sú na internete, a nelám si hlavu. A vo všeobecnosti je presunutie open source v pohode.“ Zlepšil som sa teda v angličtine, začal som čítať dokumentáciu a zverejňovať projekty na GitHub.“

V roku 2018 už Evgeniy vystúpil s prezentáciami na Google Dev Fest, kde hovoril o vývoji v oblasti prístupných rozhraní, protéz horných končatín, vývoji nervových rozhraní a bezkontaktných systémoch kontroly prístupu. Teraz je Evgeniy v druhom ročníku bakalárskeho štúdia v odbore softvérového inžinierstva, ale už ho úspešne dokončil a dokončuje svoju záverečnú prácu.

„Bolo mi povedané, aby som implementoval dátovú štruktúru do hašovacej tabuľky. To je štandardná vec, ktorá je na univerzite daná všetkým. Skončil som s 12 XNUMX riadkami kódu a kopou bariel,“ hovorí Evgeniy so smiechom, „Postavil som hašovaciu tabuľku a jej upravenú štruktúru v JavaScripte na rýchlejšie čítanie údajov. A učiteľ hovorí: "Potrebujem, aby ste napísali, čo je pre mňa jednoduchšie, aby som to mohol zhodnotiť." Bolo to veľmi nepríjemné."

Evgeniyove osobné projekty vyzerajú oveľa zaujímavejšie. Prvým z nich je vývoj webových štandardov pre ľudí s telesným postihnutím. Chce vytvoriť zdroj, ktorý poskytuje asistenčnú technológiu hneď po vybalení, aby ju ľudia so zrakovým postihnutím mohli ľahko používať bez obáv, že prídu o nejaké informácie. Jevgenij tento problém dobre pozná, pretože on sám prišiel o zrak.

zranenia

„Býval som obyčajný tínedžer so všetkými končatinami na svojom mieste. V roku 2012 som sa odpálil. Vyšiel som s kamarátom na prechádzku, zobral som na ulici valec a ten mi explodoval v rukách. Pravú ruku som mal odtrhnutú, ľavú ruku zmrzačenú, zrak a sluch. Šesť mesiacov som len ležal na operačných stoloch.

Ľavá ruka bola zostavená po častiach, boli nainštalované taniere a pletacie ihlice. Po piatich mesiacoch som pre ňu mohol pracovať.

Po zranení som nevidel vôbec nič. Lekárom sa však podarilo obnoviť vnímanie svetla. Z oka mi nezostalo nič okrem mušle. Všetko vo vnútri bolo vymenené – sklovec, šošovky. Všetko možné."

V roku 2013 Zhenya išla študovať do nápravnej školy pre deti so zrakovým postihnutím. Ten učiteľ informatiky, ktorý bol úplne slepý, ho naučil znova používať počítač. Na tento účel sa používajú špeciálne programy - čítačky obrazovky. Pristupujú k API operačného systému, aby získali prístup k rozhraniu a mierne zmenili spôsob ich ovládania.

Zhenya sa nazýva vášnivým používateľom Linuxu; používa Debian. Pomocou klávesnice prechádza cez prvky rozhrania a syntetizátor reči hovorí, čo sa deje.

"Teraz budete počuť len priestor," povedal mi pred zapnutím programu.

Znie to ako kód alebo mimozemské štebotanie, ale v skutočnosti je to obyčajná ruština alebo angličtina, len syntetizátor hovorí pre netrénované ucho neuveriteľnou rýchlosťou.

„Nebolo ťažké sa to naučiť. Najprv som pracoval na Windows a používal som čítačku obrazovky Jaws. Použil som to a pomyslel som si: "Pane, ako môžeš pracovať takou pomalou rýchlosťou." Priblížil som si to a uvedomil som si, že uši sú stočené do trubice. Vrátil som ho späť a postupne som ho každý týždeň začal zvyšovať o 5-10 percent. Zrýchlil som syntetizátor na sto slov, potom ešte viac a znova a znova. Teraz hovorí tisíc slov za minútu."

Zhenya píše v bežnom textovom editore - Gedit alebo Nano. Skopíruje zdroje z Github, spustí čítačku obrazovky a počúva kód. Aby sa zaistilo, že ho môžu ľahko čítať a porozumieť ostatným vývojárom, používa v celom texte linky a konfigurácie. Ale Zhenya nemôže používať vývojové prostredia, pretože sú kvôli ich implementácii neprístupné pre nevidiacich.

„Sú vyrobené tak, že ich okno určuje systém a čítačka obrazovky nevidí všetko v okne, pretože k tomu nemá prístup. Teraz som priamo kontaktoval JetBrains, aby som sa pokúsil urobiť nejaké opravy pre ich prostredia. Poslali mi zdroje PyCharm. IDE je implementované na Intellij Idea, takže všetky zmeny je možné aplikovať tam aj tam.“

Ďalšou bariérou je nedodržiavanie bežných webových štandardov. Napríklad na stránke vidíme veľký nadpis. Mnoho vývojárov to implementuje pomocou značky span na utiahnutie písma na požadovanú veľkosť a nakoniec to vyzerá dobre. Ale keďže text nie je nadpisom pre systém, čítačka obrazovky ho nerozpozná ako prvok ponuky a neumožňuje interakciu.

Zhenya ľahko používa mobilnú verziu VKontakte, ale vyhýba sa Facebooku: „VK je pre mňa pohodlný, pretože má samostatný zoznam navigačných ponúk. Má prvky a nadpisy, ktoré sú pre mňa sémantickým rozdelením stránky. Napríklad nadpis prvej úrovne, kde je uvedená moja prezývka – viem, že toto je názov stránky. Viem, že hlavička „správy“ rozdeľuje stránku a pod ňou je zoznam dialógov.

Facebook propaguje dostupnosť, no v skutočnosti je všetko také zlé, že nie je možné ničomu rozumieť. Otvorím - a program začne mrznúť, stránka je strašne pomalá, všetko mi skáče. Všade sú všetky tlačidlá a ja si hovorím: „Ako s tým môžem vôbec pracovať? Použijem ho iba vtedy, ak dokončím svojho klienta alebo pripojím tretiu stranu.“

výskum

Zhenya žije vo Vladivostoku na obyčajnom univerzitnom internáte. V izbe je kúpeľňa, dve skrine, dve postele, dva stolíky, dve police, chladnička. Žiadne špeciálne vychytávky, tie však podľa neho nie sú potrebné. „Zrakové postihnutie neznamená, že nebudem môcť chodiť alebo nenájdem cestu. Ale mohol by som a rád by som si vybavil inteligentnú domácnosť, keby som mal spotrebný materiál. Jednoducho nemám peniaze na nákup komponentov. Pre študentku minúť päťtisíc na honorár len preto, aby si do nej tykal, je veľmi nerentabilné.“

Zhenya žije s dievčaťom, pomáha v domácnosti mnohými spôsobmi: „rozložiť sendviče, naliať čaj, prať. Preto som mal viac času relaxovať a robiť veci, ktoré milujem.“

Napríklad Zhenya má hudobnú skupinu, kde hrá na elektrickú gitaru. Po zranení sa naučil aj on. V roku 2016 strávil tri mesiace v rehabilitačnom centre, kde požiadal učiteľa, aby mu pomohol s gitarou. Najprv som sa hrala so švom košele otočeným naruby. Potom som postavil sprostredkovateľa.

„Na spevnenie ruky som si vzal obväz, ktorý používajú napríklad karatisti, rozrezal som ju v miestach, kde sú prsty oddelené a natiahol na predlaktie. Je tam penová podložka, ktorá chráni štetec pred poškodením - naň som prišila krompáč, ktorý mi brat vyrezal z plastovej špachtle. Vznikol z toho taký dlhý plastový jazýček, ktorým hrám na struny – trhám a brnkam.“

Výbuch mu vyrazil ušné bubienky, takže Zhenya nepočuje nízke frekvencie. Jeho gitara nemá šiestu (najnižšiu) strunu a piata je inak naladená. Hrá prevažne sólové party.

Hlavnými aktivitami však zostávajú vývoj a výskum.

Protetická ruka

Aké to je počúvať kód rýchlosťou 1000 slov za minútu

Jedným z projektov je vývoj protézy hornej končatiny s inteligentným riadiacim systémom. V roku 2016 prišla Zhenya za osobou, ktorá vyvíjala protézu a začala mu pomáhať s testovaním. V roku 2017 sa zúčastnili hackathonu Neurostart. V tíme troch ľudí Zhenya naprogramoval nízkoúrovňové ovládače. Ďalší dvaja skonštruovali modely sami a učili neurónové siete pre riadiaci systém.

Teraz Zhenya prevzala celú softvérovú časť projektu. Používa Myo Armband na čítanie svalových potenciálov, na základe nich vytvára masky a navrch aplikuje modely neurónovej siete na rozpoznávanie gest – na tom je postavený riadiaci systém.

„Náramok má osem senzorov. Prenášajú potenciálne zmeny na akékoľvek vstupné zariadenie. Vlastnými rukami som vykuchal ich SDK, dekompiloval všetko, čo bolo potrebné, a napísal som si vlastnú knižnicu v Pythone na čítanie údajov. Samozrejme, nie je dostatok údajov. Aj keby som si dal na pleť miliardu senzorov, stále to nebude stačiť. Koža sa pohybuje po svaloch a údaje sa pomiešajú.“

V budúcnosti plánuje Zhenya nainštalovať niekoľko senzorov pod kožu a svaly. Teraz by to skúsil – ale takéto operácie sú v Rusku zakázané. Ak chirurg implantuje človeku pod kožu necertifikované zariadenie, príde o diplom. Zhenya mu však do ruky prišil jeden senzor – RFID štítok, podobne ako v elektronických kľúčoch, na otvorenie interkomu alebo akéhokoľvek zámku, ku ktorému bude kľúč pripojený.

Umelé oko

Spolu s Bogdanom Shcheglovom, biochemikom a biofyzikom, pracuje Zhenya na prototype umelého oka. Bogdan sa zaoberá 3D modelovaním očnej buľvy a spájaním všetkých mikroobvodov v trojrozmernom modeli s optickým nervom, Zhenya vytvára matematický model.

„Preštudovali sme množstvo literatúry o existujúcich analógoch, technológiách, ktoré boli na trhu a sú teraz, a uvedomili sme si, že rozpoznávanie obrazu nie je relevantné. Ale dozvedeli sme sa, že predtým bola vytvorená matrica na zaznamenávanie fotónov a ich energie. Rozhodli sme sa vyvinúť podobnú maticu v zmenšenej veľkosti, ktorá by bola schopná zaregistrovať aspoň minimálnu množinu fotónov a na ich základe vytvoriť elektrický impulz. Takto sa zbavíme medzivrstvy jasného obrazu a jeho rozpoznávania – pracujeme priamo.“

Výsledkom bude vízia, ktorá nie je celkom v klasickom zmysle. Ale ako hovorí Zhenya, zvyšok zrakového nervu musí vnímať prísun elektrických impulzov rovnakým spôsobom ako zo skutočného oka. V roku 2018 o projekte diskutovali s rektorom Námornej technickej univerzity Glebom Turishchinom a mentorkou Skolkovo Olgou Velichko. Potvrdili, že tento problém sa dá vyriešiť pomocou technológií, ktoré už vo svete existujú.

„Táto úloha je však ešte náročnejšia ako vývoj protetiky. Nemôžeme ani vykonať experiment na žabách, aby sme zistili, ako dobre sietnica generuje impulzy, ako závisia od iného svetla, ktorá oblasť generuje viac a ktorá menej. Potrebujeme financie, ktoré nám umožnia prenajať si laboratórium a najať ľudí na rozklad úloh a skrátenie termínov. Plus náklady na všetky potrebné materiály. Spravidla všetko závisí od peňazí.“

Byrokracia

Bogdan a Zhenya požiadali Skolkovo o financovanie, ale boli zamietnuté - tam idú iba hotové výrobky s komerčným potenciálom a nie výskumné projekty v štádiu zrodu.

Napriek všetkej originalite Zhenyinho príbehu, napriek jeho schopnostiam a inšpirujúcim úspechom človeka prekvapí zvláštna byrokratická smola. Je obzvlášť nepríjemné počuť o tom na pozadí správ. Tu je ďalší „produkt, ktorý ľudia potrebujú“ (aplikácia na fotografie, optimalizácia reklamy alebo nové typy chatov), ​​ktorý dostáva milióny dolárov v príjmoch a investíciách. Neznámy nadšenec však nevie, čo s jeho nápadmi.

Tento rok Zhenya vyhral bezplatné šesťmesačné štúdium v ​​Rakúsku v rámci partnerského programu medzi univerzitami – nemôže tam však ísť. Na potvrdenie víz sú potrebné záruky, že má peniaze na bývanie a život v Salzburgu.

„Odvolanie sa na fondy neprinieslo výsledky, pretože financovanie sa poskytuje len na úplné diplomové programy,“ hovorí Zhenya, „Ani odvolanie na samotnú univerzitu v Salzburgu neprinieslo – univerzita nemá vlastné internáty a nemôže nám pomôcť s ubytovaním.

Napísal som do desiatich fondov a odpovedali mi len tri alebo štyri. Navyše odpovedali, že moja vedecká hodnosť im nevyhovuje - potrebujú magistrov a vyššie. Moje vedecké úspechy v pregraduálnom štúdiu si nevážia. Ak študuješ na miestnej univerzite, máš bakalársky titul a venuješ sa technickému výskumu, môžeš sa prihlásiť v rámci univerzity. Ale pre človeka zo zahraničia to, žiaľ, nemajú.

Oslovil som približne rovnaký počet ruských fondov. V Skolkove mi povedali: prepáč, ale pracujeme len s majstrami. Iné nadácie mi povedali, že nemajú financie na šesť mesiacov, alebo pracujú len s diplomovými programami, alebo nefinancujú jednotlivcov. A nadácie Prochorov a Potanin mi ani neodpovedali.

Od Yandexu som dostal list, že sa venujú veľkej charite a spoločnosť momentálne nemá financie, ale prajú mi všetko najlepšie.

Dokonca som súhlasil so zmluvným financovaním, ktoré by mi umožnilo ísť študovať a vo výsledku by som priniesol niečo pre firmu. Všetko sa však zastaví na nízkej úrovni komunikácie. Chápem, o čo tu ide. Ľudia, ktorí pracujú na telefonátoch a mailoch, jednoducho pracujú podľa dokumentov. Vidia, že prišla aplikácia, môže to byť dokonca cool. Ale napíšu: prepáč, nie, pretože buď uplynula lehota na podávanie žiadostí, alebo nespĺňaš podmienky podľa svojho stavu. Ale nemám možnosť siahnuť niekam vyššie ako majitelia fondu, jednoducho nemám také kontakty.“

Ale príspevky o probléme Zhenya sa začali rýchlo šíriť cez sociálne siete. Za prvé dni sme vyzbierali asi 50 000 rubľov – z požadovaných 12 000 eur. Nie je veľa času na prípravu, ale veľa ľudí už píše Zhenyovi o podpore. Snáď všetko vyjde.

Rád by som zakončil tento dlhý text o návrate hrdinu z Rakúska novým a silným zážitkom. Alebo získať grant na jeden z projektov a fotku z nového laboratória. Ale text sa zastavil v internátnej izbe, kde sú dve skrine, dve postele, dva stoly, dve police, chladnička.

Zdá sa mi, že sú potrebné veľké odborné komunity, aby si navzájom pomáhali. Nekrasovova manželka potrebuje peniaze, užitočné kontakty, nápady, rady, čokoľvek. Zvýšme si karmu.

Zhenyine kontakty a ďalšie dôležité postavye-mail: [chránené e-mailom]
Телефон: +7-914-968-93-21
Telegram a WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Podrobnosti o prevode prostriedkov:
Číslo karty: 4276 5000 3572 4382 alebo telefónne číslo +7-914-968-93-21
Peňaženka Yandex na telefónnom čísle +7-914-968-93-21

Adresát: Nekrasov Evgeniy

Zdroj: hab.com

Pridať komentár