Historien om en lille tragedie og store sejre for en meget dygtig udvikler, der har brug for hjælp

Ved Det Føderale Universitet i Fjernøst findes der et center for projektaktiviteter — her finder kandidater og bachelorer ingeniørprojekter, der allerede har kunder, penge og perspektiver. Der afholdes også forelæsninger og intensive forløb. Erfarne specialister fortæller om moderne og anvendte emner.
En af intensiverne handlede om brugen af containeriseringssystemet Docker til distribuerede beregninger og orkestrering. Deltagerne var kandidater og ph.d.-studerende inden for anvendt matematik, ingeniørvidenskab, softwareudvikling og andre tekniske områder.
Underviseren var en fyr med mørke briller, trendy frisure, i halsklæde, snakkesaglig og alt for selvsikker — især for en 21-årig andenårs studerende. Han hedder Evgeny Nekrasov, og han startede på DVFU for blot to år siden.
Underbarn
«Ja, de var ældre og mere statusprægede, men jeg kan ikke sige, at de var mere erfarne. Derudover gav jeg nogle gange forelæsninger for mine klassekammerater i stedet for vores underviser. På et tidspunkt indså vi, at han ikke kunne give mig mere inden for Objektorienteret Programmering, så jeg læste lejlighedsvis forelæsninger om OOP, moderne udvikling, GitHub og anvendelse af versionskontrolsystemer for ham.»

Evgeny kan programmere i Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C og Assembler. «JavaScript kender jeg bedst, de andre — et til to niveauer lavere. Men jeg kan programmere en controller i Rust eller C++ på en time. Jeg har ikke lært disse sprog målrettet. Jeg har studeret dem til de opgaver, jeg har fået. Jeg kan tilpasse mig ethvert projekt ved at studere dokumentationen og manualerne. Jeg kender syntaksen for programmeringssprog, og hvilken jeg bruger, betyder ikke så meget. Det samme gælder for rammer og biblioteker — det er nok at læse dokumentationen, så forstår jeg, hvordan det fungerer. Alt afhænger af emnet og opgaven.»
Evgeny har intensiveret sit programmeringsstudium siden 2013. En informatiklærer, som var helt blind, vækkede hans interesse for datalogi. Vejen begyndte med web — HTML, JavaScript, PHP.
«Jeg er bare interesseret. Jeg sover lidt — er hele tiden optaget af noget, læser eller studerer noget».
I 2015 ansøgte Evgeny om konkurrencen "Umnik" for støtte af tekniske projekter for unge forskere over 18 år. Men han var ikke 18, så han kunne ikke vinde konkurrencen — til gengæld blev Evgeny bemærket af det lokale udviklingssamfund. Han mødte Sergey Milekhin, som på det tidspunkt organiserede konferencer i Vladivostok som en del af Google Developer Fest. "Han inviterede mig, jeg kom, lyttede, og jeg kunne lide det. Næste år kom jeg igen, og jeg mødte flere og flere mennesker og talte med dem."
Andrei Sitnik fra VLDC-samfundet begyndte at hjælpe Evgeny med hans webprojekter. "Jeg havde brug for at bygge en multitrådet applikation til behandling af websockets. Jeg tænkte meget længe over, hvordan jeg kunne gøre det i PHP, og jeg henvendte mig til Andrei. Han sagde til mig, 'tag node.js, npm-pakkerne, der findes på internettet, og bekymr dig ikke. Og generelt, at bidrage til open source er fantastisk.' Derfor forbedrede jeg mit engelsk, begyndte at læse dokumentation og uploade projekter til GitHub."
I 2018 talte Evgeny allerede på Google Dev Fest med sine præsentationer, hvor han talte om fremskridt inden for tilgængelige grænseflader, proteser til de øvre lemmer, udvikling af neurogrænseflader og systemer til kontaktløs adgang. Nu går Evgeny på anden år af sin bachelor i 'Software Engineering', men han har allerede afsluttet den med succes og skriver sin afsluttende opgave.
"Jeg blev bedt om at implementere en datastruktur i en hash-tabel. Det er en standardopgave, man får i universitetet. Jeg endte med 12.000 linjer kode og en masse workaround-løsninger," siger Evgeny med et grin, "jeg byggede en hash-tabel og dens modificerede struktur i JavaScript for hurtigere datalæsning. Og læreren sagde: 'jeg har brug for, at du skriver det, så det er nemmere for mig — så jeg kan vurdere det.' Det var meget frustrerende."
Meget mere interessante er Evgenys personlige projekter. Den første er udviklingen af webstandarder for personer med fysiske begrænsninger. Han ønsker at skabe en ressource, der indeholder assistiv teknologi fra starten, så personer med synshandicap nemt kan bruge det og ikke frygte, at oplysninger vil være utilgængelige for dem. Evgeny kender dette problem godt, fordi han selv har mistet synet.
Skade
Tidligere var jeg en almindelig teenager med alle lemmer intakte. I 2012 sprang jeg i luften. Jeg gik en tur med en ven, samlede en flaske op fra gaden, og den eksploderede i mine hænder. Jeg mistede min højre håndled, skadede den venstre, og mit syn blev påvirket, mens min hørelse blev nedsat. I et halvt år lå jeg bare på operationsbordene.
Den venstre hånd blev samlet i stykker, der blev sat plader og stifter i. Efter fem måneder kunne jeg begynde at bruge den.
Efter ulykken kunne jeg overhovedet ikke se noget. Men lægerne lykkedes med at genoprette mit lysfølelse. Fra mit øje var der ikke noget tilbage, kun skallen. Indeni blev alt udskiftet — glaslegemet, linserne. Alt, hvad der kunne.
I 2013 begyndte Zhenya at gå i en specialskole for børn med synshandicap. Den lærer i informatik, der var helt blind, lærte ham at bruge computeren igen. Dette gøres ved hjælp af specielle programmer — skærmlæsere. De interagerer med API'erne i operativsystemerne for at få adgang til grænsefladen og ændre måden at styre det på lidt.
Zhenya kalder sig selv en inkarneret Linux-bruger; han bruger Debian. Med hjælp fra tastaturet navigerer han rundt i grænsefladen, mens en talende synth fortæller, hvad der sker.
«Du vil høre ren magi nu,» siger han til mig, før han tænder for programmet.
Det lyder som en kode eller fremmed snak, men i virkeligheden er det blot almindeligt russisk eller engelsk, bare med en talesynth, der taler i en hastighed, som er utrolig for et uuddannet øre.
«Det var ikke svært at lære dette. I starten arbejdede jeg i Windows og brugte skærmlæserprogrammet Jaws. Jeg brugte det og tænkte, 'for guds skyld, hvordan kan man arbejde med sådan hastighed?’ Jeg forøgede det og indså, at mine ører blev til tromler. Jeg satte det tilbage og begyndte gradvist at øge hastigheden med 5–10 procent hver uge. Jeg fik syntesen op på hundrede ord, derefter endnu mere, og endnu mere. Nu taler den tusind ord i minuttet.’
Zhenya skriver i almindelige tekstredaktører — Gedit eller Nano. Han kopierer kildetekster fra GitHub, starter skærmlæseren og lytter til koden. For at andre udviklere nemt kan læse og forstå det, bruger han bredt linters og konfigurationer. Men Zhenya kan ikke bruge udviklingsmiljøer, fordi de ikke er tilgængelige for blinde på grund af deres implementering.
"De er lavet på en måde, så deres vindue bestemmes af systemet, og alt indeni vinduet — skærmlæseren kan ikke se, fordi den ikke kan få adgang. Jeg har kontaktet JetBrains direkte for at forsøge at lave nogle patches til deres miljøer. De sendte mig kildekoden til PyCharm. IDE'en er bygget på IntelliJ IDEA, så alle ændringer kan anvendes begge steder."
En anden hindring er manglende overholdelse af generelle standarder på nettet. For eksempel ser vi en stor overskrift på siden. Mange udviklere implementerer den ved hjælp af span-tagget for at trække skrifttypen op til den ønskede størrelse, og resultatet ser ok ud. Men da teksten ikke er en overskrift for systemet, genkender skærmlæseren den ikke som et menupunkt og giver ikke mulighed for interaktion.
Zhenya bruger nemt mobilversionen af "VKontakte", men holder sig væk fra Facebook: "VK er praktisk for mig, fordi der er en separat navigationsmenu. I den findes der elementer og overskrifter, der for mig er en semantisk opdeling af siden. For eksempel ved jeg, at overskriften på første niveau, hvor mit kaldenavn står — det er sidens titel. Jeg ved, at overskriften "beskeder" opdeler siden, og derunder følger listen over samtaler."
Facebook promoverer tilgængelighed, men i virkeligheden er det så dårligt, at det er umuligt at forstå noget. Jeg åbner det — og programmet begynder at fryse, siden hænger forfærdeligt, alt hopper. Overalt er der knapper, og jeg tænker: "Hvordan skal jeg overhovedet arbejde med det?!" Jeg vil kun bruge det, hvis jeg opgraderer min klient eller tilknytter noget tredjepart."
Forskning
Zhenya bor i Vladivostok i et almindeligt universitetskollegium. Badeværelset er i værelset, der er to skabe, to senge, to borde, to hylder, og et køleskab. Ingen specielle gadgets, men ifølge ham er de heller ikke nødvendige. "Synsnedsættelse betyder ikke, at jeg ikke kan gå eller finde min vej. Men jeg ville måske med glæde have indrettet et smart hjem, hvis jeg havde ressourcerne. Jeg har simpelthen ikke penge til at købe komponenter. For en studerende er det ikke økonomisk at bruge fem tusinde på et bundkort bare for at pille ved det."
Zhenya bor med sin kæreste, hun hjælper meget i husstanden: "smøre sandwiches, hælde te, vaske tøj. Derfor har jeg fået mere tid til at slappe af og lave mine yndlingsaktiviteter."
For eksempel har Zhenya et band, hvor han spiller elektrisk guitar. Han lærte det også efter en skade. I 2016 tilbragte han tre måneder i et rehabiliteringscenter, hvor han bad om hjælp fra en lærer med guitaren. I starten spillede han med en skjorte, der var vendt på vrangen. Derefter lavede han en mediator.
„Jeg tog et bandage til at styrke håndleddet, som man bruger, for eksempel kampsportudøvere, og klippede det op ved fingerens adskillelser og trak det over underarmen. Der er en skumgummipude, der beskytter håndleddet mod skader – til den fastgjorde jeg mediator, som min bror skar ud af en plastspatel. Det blev til et langt plastisk 'sprog', som jeg spiller på strengene – både ved at plukke og spille akkompagnement.”
Eksplosionen ødelagde trommehinderne, så Zhenya kan ikke høre basfrekvenser. Han har ikke den sjette (laveste) streng på sin guitar, og den femte er stemt anderledes. Han spiller hovedsageligt solo-partier.
Men de vigtigste aktiviteter forbliver udvikling og forskning.
Protesen til armen
Et af projekterne er udvikling af en protese til de øverste ekstremiteter med et intelligent styringssystem. I 2016 henvendte Zhenya sig til en person, der arbejdede med at udvikle proteser og begyndte at hjælpe ham med testningen. I 2017 deltog de i hackathonen „Neurostart”. I et team på tre personer programmerede Zhenya lavniveaus controllere. De to andre konstruerede modellerne og uddannede neurale netværk til styresystemet.Nu har Zhenya påtaget sig hele softwaredelen af projektet. Han bruger Myo Armband-bracelet til at registrere muskelpotentialer, bygger masker baseret på dem og anvender neurale netværksmodeller til gestusgenkendelse – dette danner grundlaget for styringssystemet.
„Bracelet har otte sensorer. De sender ændringer i potentialer til enhver inputenhed. Jeg har personligt udskilt deres SDK, dekompileret alt, hvad der var nødvendigt, og skrevet mit eget bibliotek i Python til dataindsamling. Der er selvfølgelig ikke nok data. Selv hvis jeg hænger en milliard sensorer på huden, vil det stadig ikke være nok. Huden bevæger sig over musklerne, og dataene blandes.”
I fremtiden planlægger Zhenya at installere flere sensorer under huden og i musklerne. Han ville gerne have prøvet det allerede nu – men i Rusland er sådanne operationer forbudte. Hvis en kirurg implanterer ikke-certificeret udstyr under huden på en person, vil han miste sin autorisation. Ikke desto mindre har Zhenya syet en sensor ind i sin hånd – en RFID-chip, ligesom dem i elektroniske nøgler, så han kan åbne dørtelefoner eller enhver lås, som nøglen er knyttet til.
Kunstigt øje
Sammen med Bogdan Shcheglov, biokemiker og biofysiker, arbejder Zhenya på en prototype af et kunstigt øje. Bogdan arbejder med 3D-modellering af øjeæblet og sammenkobling af alle kredsløb i den tredimensionale model med synsnerven, mens Zhenya bygger den matematiske model.
"Vi har studeret en masse litteratur om eksisterende analoger, teknologier, der var på markedet, og som stadig findes, og indså, at billedgenkendelse ikke er relevant. Til gengæld fandt vi ud af, at der tidligere var skabt en matrix til registrering af fotoner og deres energi. Vi besluttede at udvikle en lignende matrix i en reduceret størrelse, der ville være i stand til at registrere i det mindste et minimum af fotoner og på deres basis generere elektriske impulser. På den måde slipper vi for det mellemliggende lag af klart billede og genkendelse – vi arbejder bare direkte."
Resultatet bliver en form for syn, ikke helt i klassisk forstand. Men som Zhenya siger, skal den resterende synsnerve opfatte strømmen af elektriske impulser på samme måde som fra et rigtigt øje. I 2018 diskuterede de projektet med rektor for det Maritimtekniske Universitet, Gleb Turishchev, og mentoren fra Skolkovo, Olga Velichko. De bekræftede, at denne opgave kan løses med de teknologier, der allerede findes i verden.
"Men denne opgave er endnu sværere end udviklingen af proteser. Vi kan ikke engang udføre eksperimenter på frøer for at teste, hvor godt retina genererer impulser, hvordan de afhænger af forskellige lys, hvilket område der genererer mest, og hvilket der genererer mindst. Vi har brug for finansiering, der vil gøre det muligt for os at leje et laboratorium og ansætte folk til at nedbryde opgaverne og forkorte tidsrammen. Plus omkostningerne til alle nødvendige materialer. Som regel handler det hele om penge."
Bureaukrati
Bogdan og Zhenya henvendte sig til Skolkovo for finansiering, men fik afslag — kun færdige produkter med kommercielt potentiale får adgang, ikke forskningsprojekter i opstartsfase.
På trods af den usædvanlige historie om Zhenya, hans evner og inspirerende succeser, er det mærkeligt at se det bureaukratiske uheld. Det er særligt frustrerende at høre, når man ser nyhederne. Her er endnu et "produkt, der er nødvendigt for folk" (en fotoapp, reklameoptimering eller nye former for chat-applikationer) der får millioner af dollars i indtægter og investeringer. Men en ukendt entusiast ved ikke, hvad han skal gøre med sine idéer.
I år vandt Zhenya et gratis seks måneders kursus i Østrig gennem et partnerskabsprogram mellem universiteter — men han kan ikke rejse dertil. For at få visum skal der være garantier for, at han har penge til bolig og liv i Salzburg.
"Henvendelse til fondene har ikke givet resultater, fordi finansieringen kun gives til fulde diplomprogrammer," siger Zhenya, "Henvendelsen til universitetet i Salzburg gav også ingen resultater — universitetet har ikke sine egne kollegier og kan ikke hjælpe os med bolig.
Jeg skrev til ti fonde, og af dem svarede kun tre eller fire. Og de svarede, at min akademiske grad ikke passer til dem — de har brug for kandidater og derover. Mine forskningsresultater fra bacheloruddannelsen bliver ikke anerkendt af dem. Hvis du studerer på et lokalt universitet, er du bachelor og laver teknisk forskning, kan du ansøge gennem universitetet. Men for en person fra udlandet er det desværre ikke muligt.
Jeg kontaktede omtrent samme antal russiske fonde. I Skolkovo sagde de til mig: undskyld, men vi arbejder kun med kandidater. I andre fonde fortalte de mig, at de ikke har finansiering til seks måneder, eller at de også kun arbejder med diplomprogrammer, eller at de ikke finansierer private personer. Og fra Prokhorov- og Potanin-fondene fik jeg slet ikke svar.
Fra Yandex modtog jeg et brev, der sagde, at de driver stor velgørenhed, og at virksomheden i øjeblikket ikke har finansiering, men de ønsker mig alt det bedste.
Jeg var endda indforstået med kontraktbaseret finansiering, som ville give mig mulighed for at tage af sted for at studere, og som resultat ville jeg bringe noget til virksomheden. Men alt stopper ved det lave kommunikationsniveau. Jeg forstår, hvad det skyldes. De mennesker, der arbejder med telefonopkald og e-mails, arbejder bare ud fra dokumenter. De ser, at der er kommet en ansøgning, den kunne endda være fremragende. Men de skriver: Beklager, nej, fordi enten er ansøgningsfristen udløbet, eller du passer ikke til status. Og jeg har ikke mulighed for at komme i kontakt med fondens ejere, der har jeg bare ikke de kontakter.
Men indlæg om Genes problem begyndte hurtigt at sprede sig på sociale medier. I de første par dage indsamlede vi omkring 50.000 rubler – af de nødvendige 12.000 euro. Der er ikke meget tid til at samle det, men mange skriver allerede til Gene om støtte. Måske kan det lykkes.
Jeg ville være glad for at afslutte denne lange tekst med helten, der kommer tilbage fra Østrig med en ny, kraftfuld erfaring. Eller med at modtage et tilskud til et af projekterne og et billede fra det nye laboratorium. Men teksten stoppede i værelserne i kollegiet, hvor der er to skabe, to senge, to borde, to hylder og et køleskab.
Jeg mener, store professionelle fællesskaber er nødvendige for at hjælpe hinanden. Gene Nekrasov har brug for penge, nyttige kontakter, idéer, råd, alt, hvad muligt. Lad os forbedre vores karma.
Genes kontakter og andre vigtige numree-mail: evgeniy@nekrasov.pw
Telefon: +7-914-968-93-21
Telegram og WhatsApp: +7-999-057-85-48
github:
vk.com: vk.com/ravino_doul
Oplysninger til overførsel af midler:
Kortnummer: 4276 5000 3572 4382 eller via telefonnummer +7-914-968-93-21
Yandex pengepung på telefonnummer +7-914-968-93-21
Modtager: Nekrasov Evgeny
Kilde: habr.com

