Milyen 1000 szó/perc sebességgel kódot hallgatni

Egy kis tragédia és egy nagyon jó fejlesztő nagy győzelmeinek története, akinek segítségre van szüksége

Milyen 1000 szó/perc sebességgel kódot hallgatni

A Távol-keleti Szövetségi Egyetemen van egy projekttevékenység-központ - ott a mesterek és a bachelorok olyan mérnöki projekteket találnak, amelyeknek már van ügyfeleik, pénzük és kilátásaik. Előadásokat és intenzív tanfolyamokat is tartanak ott. Tapasztalt szakemberek beszélnek modern és alkalmazott dolgokról.

Az egyik intenzív kurzus a Docker konténerrendszer elosztott számítási és hangszerelési használatának volt szentelve. Az alkalmazott matematika, mérnöki, szoftverkészítő és egyéb műszaki területek mester- és végzős hallgatói vettek részt rajta.

A tanár egy sötét szemüveges, divatos frizurájú, sálas srác volt, társaságkedvelő és túl magabiztos – főleg egy 21 éves másodéves diáknak. Jevgenyij Nekrasovnak hívják, alig két éve lépett be a FEFU-ba.

Wunderkind

„Igen, idősebbek voltak és nagyobb státuszúak voltak, de nem mondhatom, hogy tapasztaltabbak. Emellett időnként osztálytársaimnak is tartottam előadásokat tanárunknak. Egy ponton rájöttünk, hogy nem tud többet adni az objektum-orientált programozásról, ezért időnként előadásokat tartottam neki az OOP-ról, a modern fejlesztésről, a GitHubról és a verzióvezérlő rendszerek használatáról.”

Milyen 1000 szó/perc sebességgel kódot hallgatni

Evgeniy tud írni Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C és Assembler nyelven. „A JavaScriptet jobban ismerem, a többi egy-két szinttel lejjebb van. De ugyanakkor egy óra alatt be tudok programozni egy kontrollert Rust vagy C++ nyelven. Nem szándékosan tanultam ezeket a nyelveket. Tanulmányoztam őket a rám bízott feladatokhoz. Bármilyen projekthez csatlakozhatok a dokumentáció és a kézikönyvek tanulmányozásával. Ismerem a nyelvek szintaxisát, és nem igazán számít, hogy melyiket használjam. Ugyanez a helyzet a keretrendszerekkel és a könyvtárakkal – csak olvassa el a dokumentációt, és megértem, hogyan működik. Mindent a tárgykör és a feladat határoz meg.”

Evgeniy 2013 óta tanul intenzíven programozást. Egy középiskolai informatika tanár, aki teljesen vak volt, felkeltette az érdeklődését az informatika iránt. Az út a weben kezdődött – HTML, JavaScript, PHP.

"Csak kíváncsi vagyok. Keveset alszom – állandóan el vagyok foglalva valamivel, olvasok valamit, tanulok valamit.”

2015-ben Jevgenyij jelentkezett az „Umnik” versenyre tizennyolc évnél idősebb fiatal tudósok műszaki projektjei támogatására. De nem volt tizennyolc éves, így nem sikerült megnyernie a versenyt – de Jevgenyijt a helyi fejlesztői közösség felfigyelte. Találkozott Szergej Milekhinnel, aki abban a pillanatban konferenciákat szervezett Vlagyivosztokban a Google Developer Fest részeként. „Odahívott, eljöttem, hallgattam, tetszett. A következő évben újra eljöttem, egyre jobban megismertem az embereket, kommunikáltam.”

Andrey Sitnik, a VLDC közösség tagja segíteni kezdett Evgeniynek webes projektjeiben. „Egy többszálas web socket alkalmazást kellett készítenem. Nagyon sokáig gondolkodtam, hogyan csináljam ezt PHP-ben, és Andreyhez fordultam. Azt mondta nekem: „Vegyél az interneten található node.js, npm csomagokat, és ne törd a fejed. És általában véve a nyílt forráskód mozgatása klassz dolog.” Így továbbfejlesztettem az angol tudásomat, elkezdtem dokumentációt olvasni és projekteket közzétenni a GitHubon.”

2018-ban Evgeniy már előadásokat tartott a Google Dev Fest-en, ahol az akadálymentes interfészek, a felső végtagi protézisek, a neurális interfészek és az érintés nélküli beléptető rendszerek fejlesztéséről beszélt. Jevgenyij most második évét tölti a szoftvermérnöki alapképzésben, de már sikeresen elvégezte, és befejezi utolsó munkáját.

„Azt mondták nekem, hogy az adatstruktúrát hash-táblázatban valósítsam meg. Ez egy standard dolog, ami mindenkinek adott az egyetemen. 12 ezer sornyi kóddal és egy csomó mankóval végeztem” – mondja nevetve Jevgenyij – „Egy hash táblát és annak módosított szerkezetét JavaScriptben építettem fel, hogy gyorsabban olvassam az adatokat. A tanár pedig azt mondja: „Azt kell írnod, ami nekem könnyebb, hogy értékelhessem.” Nagyon bosszantó volt."

Evgeniy személyes projektjei sokkal érdekesebbnek tűnnek. Ezek közül az első a testi fogyatékkal élők webes szabványainak kidolgozása. Olyan erőforrást szeretne létrehozni, amely már a dobozból is kisegítő technológiát biztosít, hogy a látássérültek könnyen használhassák azt anélkül, hogy félnének attól, hogy kihagynak bizonyos információkat. Jevgenyij jól ismeri ezt a problémát, mert ő maga is elvesztette a látását.

kár

„Régen közönséges tinédzser voltam, minden végtagom a helyén volt. 2012-ben felrobbantottam magam. Kimentem sétálni egy barátommal, felkaptam egy hengert az utcán, és felrobbant a kezemben. A jobb kezem leszakadt, a bal kezem megrokkant, a látásom megsérült, a hallásom is megromlott. Hat hónapig csak feküdtem a műtőasztalokon.

A bal kezet részenként szerelték össze, tányérokat és kötőtűket szereltek fel. Öt hónap után dolgozhattam neki.

A sérülés után nem láttam semmit. De az orvosoknak sikerült helyreállítaniuk a fényérzékelést. A kagylón kívül semmi nem maradt a szememből. Bent mindent kicseréltek – az üvegtesteket, a lencséket. Minden lehetséges."

2013-ban Zhenya egy látássérült gyermekek javítóintézetébe ment tanulni. Az a számítástechnika tanár, aki teljesen vak volt, újra megtanította a számítógép használatára. Erre a célra speciális programokat használnak - képernyőolvasókat. Hozzáférnek az operációs rendszer API-khoz, hogy hozzáférjenek az interfészhez, és némileg módosítsák a vezérlésük módját.

Zsenya lelkes Linux-felhasználónak nevezi magát; Debiant használ. A billentyűzet segítségével navigál az interfész elemei között, és egy beszédszintetizátor hangoztatja, hogy mi történik.

„Most csak szóközt fog hallani” – mondja, mielőtt bekapcsolja a programot.

Úgy hangzik, mint egy kód vagy idegen csevegés, de a valóságban közönséges orosz vagy angol, csak arról van szó, hogy a szintetizátor hihetetlen sebességgel beszél a képzetlen fül számára.

„Nem volt nehéz ezt megtanulni. Eleinte Windowson dolgoztam, és a Jaws képernyőolvasót használtam. Használtam, és arra gondoltam: "Uram, hogy tudsz ilyen lassú sebességgel dolgozni." Kinagyítottam, és rájöttem, hogy a fülek egy csőbe görbültek. Visszavittem, és fokozatosan elkezdtem hetente 5-10 százalékkal növelni. Felgyorsítottam a szintetizátort száz szóra, aztán még többre, és újra és újra. Most percenként ezer szót beszél."

Zsenya normál szövegszerkesztőben ír - Gedit vagy Nano. Másolja a forrásokat a Githubról, elindítja a képernyőolvasót, és meghallgatja a kódot. Annak biztosítása érdekében, hogy más fejlesztők könnyen elolvashassák és megértsék, az egészben lintereket és konfigurációkat használ. De Zhenya nem használhat fejlesztői környezeteket, mert azok megvalósításuk miatt a vakok számára elérhetetlenek.

„Úgy készültek, hogy az ablakukat a rendszer határozza meg, és az ablakon belül mindent nem lát a képernyőolvasó, mert nem tud hozzáférni. Most közvetlenül felvettem a kapcsolatot a JetBrains-szel, hogy megpróbáljak néhány javítást készíteni a környezetükön. Elküldték nekem a PyCharm forrásokat. Az IDE az Intellij Idea-n valósul meg, így minden változtatás ott és ott is alkalmazható.”

Egy másik akadály a közös webes szabványok betartásának hiánya. Például egy nagy címsort látunk egy oldalon. Sok fejlesztő ezt egy span címkével valósítja meg, hogy a betűtípust a kívánt méretre szorítsa, és végül jól néz ki. De mivel a szöveg nem cím a rendszer számára, a képernyőolvasó nem ismeri fel menüelemként, és nem teszi lehetővé az interakciót.

Zhenya könnyedén használja a VKontakte mobil verzióját, de elkerüli a Facebookot: „A VK kényelmes számomra, mert külön listája van a navigációs menüknek. Vannak benne olyan elemek és címsorok, amelyek számomra az oldal szemantikai felosztását jelentik. Például az első szintű címsor, ahol a becenevem szerepel – tudom, hogy ez az oldal címe. Tudom, hogy az „üzenetek” fejléc osztja ketté az oldalt, és alatta a párbeszédek listája található.

A Facebook az akadálymentesítést hirdeti, de a valóságban minden olyan rossz, hogy semmit sem lehet érteni. Megnyitom - és kezd lefagyni a program, rettenetesen lassú az oldal, nekem minden ugrik. Mindenhol minden gomb van, és azt gondolom, hogy "hogyan is dolgozom ezzel?!" Csak akkor használom, ha befejezem az ügyfelemet, vagy harmadik felet csatlakoztatok."

kutatás

Zsenya Vlagyivosztokban él egy közönséges egyetemi kollégiumban. Van a szobában fürdőszoba, két gardrób, két ágy, két asztal, két polc, hűtőszekrény. Külön kütyü nincs, de szerinte nincs is rájuk szükség. „A látássérülés nem azt jelenti, hogy nem fogok tudni járni, vagy nem találok rá módot. De boldogan felszerelhetném magam egy okosotthonnal, ha meglenne a fogyóeszköz. Egyszerűen nincs pénzem alkatrészeket vásárolni. Nagyon veszteséges, ha egy diák ötezret költ tandíjra, csak azért, hogy kibökje.

Zsenya egy lánnyal él, sokféleképpen segít a ház körül: „kenni szendvicseket, önteni teát, mosni. Ezért több időm volt pihenni, és azt csinálni, amit szeretek.”

Például Zhenyának van egy zenei csoportja, ahol elektromos gitáron játszik. A sérülés után tanult is. 2016-ban három hónapot töltött egy rehabilitációs központban, ahol felkért egy tanárt, hogy segítsen neki gitározni. Eleinte egy kifordított ing varrásával játszottam. Aztán felépítettem egy közvetítőt.

„Vettem egy kötést a kéz erősítésére, amit például a karatékák használnak, az ujjak szétválási helyein felvágtam és az alkarra húztam. Van ott egy habpárna, ami megvédi az ecsetet a sérülésektől - erre varrtam egy csákányt, amit a bátyám vágott ki nekem egy műanyag spatulából. Kiderült, hogy egy olyan hosszú műanyag nyelv, amivel a húrokon játszom – pengetem és pengetem.”

A robbanás kifújta a dobhártyáját, így Zsenya nem hallja az alacsony frekvenciákat. Gitárján nincs a hatodik (a legalacsonyabb) húr, az ötödik pedig másképp van hangolva. Főleg szóló részeket játszik.

A fő tevékenységek azonban továbbra is a fejlesztés és a kutatás marad.

Protetikus kéz

Milyen 1000 szó/perc sebességgel kódot hallgatni

Az egyik projekt egy felső végtag protézis fejlesztése intelligens vezérlőrendszerrel. 2016-ban Zsenya odament a protézist fejlesztő személyhez, és elkezdett segíteni neki a tesztelésben. 2017-ben részt vettek a Neurostart hackathonon. Egy háromfős csapatban Zsenya alacsony szintű vezérlőket programozott. Még ketten maguk alkották meg a modelleket, és neurális hálózatokat tanítottak meg a vezérlőrendszer számára.

Most Zsenya átvette a projekt teljes szoftver részét. A Myo Armband segítségével olvassa le az izompotenciálokat, ezek alapján maszkokat épít fel, és felül neurális hálózati modelleket alkalmaz a gesztusok felismerésére – erre épül a vezérlőrendszer.

„A karkötőnek nyolc érzékelője van. A potenciális változásokat bármely beviteli eszközre továbbítják. Saját kezemmel zsigereltem ki az SDK-jukat, dekompiláltam mindent, ami kellett, és megírtam a saját lib-emet Pythonban az adatok olvasásához. Természetesen nincs elég adat. Még ha egymilliárd szenzort is teszek a bőrömre, akkor sem lesz elég. A bőr az izmok felett mozog, és az adatok összekeverednek."

A jövőben Zhenya azt tervezi, hogy több érzékelőt telepít a bőr és az izmok alá. Most is megpróbálná – de Oroszországban tilos az ilyen műveletek végrehajtása. Ha egy sebész igazolatlan felszerelést ültet be az ember bőre alá, elveszíti a diplomáját. Zsenya azonban egy érzékelőt varrt a kezébe - egy RFID-címkét, mint az elektronikus kulcsoknál, hogy kinyithasson egy kaputelefont vagy bármilyen zárat, amelyhez a kulcs kapcsolódik.

Mesterséges szem

Bogdan Shcheglov biokémikussal és biofizikussal együtt Zhenya egy mesterséges szem prototípusán dolgozik. Bogdan a szemgolyó 3D-s modellezésével foglalkozik, és az összes mikroáramkört háromdimenziós modellben összekapcsolja a látóideggel, Zhenya pedig matematikai modellt épít.

„Rengeteg irodalmat tanulmányoztunk a létező analógokról, a piacon lévő és jelenleg is megjelent technológiákról, és rájöttünk, hogy a képfelismerés nem releváns. De megtudtuk, hogy korábban létrehoztak egy mátrixot a fotonok és azok energiájának rögzítésére. Elhatároztuk, hogy egy hasonló, csökkentett méretű mátrixot fejlesztünk, amely legalább minimális fotonhalmazt képes regisztrálni, és ezek alapján elektromos impulzust építeni. Így megszabadulunk a tiszta kép köztes rétegétől és annak felismerésétől – csak közvetlenül dolgozunk.”

Az eredmény olyan látás lesz, amely nem egészen a klasszikus értelemben. De ahogy Zhenya mondja, a látóideg többi részének ugyanúgy kell érzékelnie az elektromos impulzusok ellátását, mint a valódi szemből. 2018-ban a Tengerészeti Műszaki Egyetem rektorával, Gleb Turishchinnel és a Skolkovo mentorával, Olga Velichkoval tárgyaltak a projektről. Megerősítették, hogy ez a probléma megoldható olyan technológiákkal, amelyek már léteznek a világon.

„De ez a feladat még nehezebb, mint a protézisek fejlesztése. Békán még kísérletet sem végezhetünk annak ellenőrzésére, hogy a retina mennyire generál impulzusokat, hogyan függenek a különböző fényektől, melyik terület generál többet és melyik kevesebbet. Olyan finanszírozásra van szükségünk, amely lehetővé teszi számunkra, hogy béreljünk egy laboratóriumot, és alkalmazzunk embereket a feladatok lebontására és a határidők csökkentésére. Plusz az összes szükséges anyag költsége. Általában minden a pénzen múlik.”

Bürokrácia

Bogdan és Zsenya finanszírozásért folyamodott Szkolkovóhoz, de elutasították őket – csak kereskedelmi potenciállal rendelkező késztermékek kerülnek oda, és nem a születőben lévő kutatási projektek.

Zsenya történetének minden eredetisége, képességei és lelkesítő sikerei ellenére az embert meglep a furcsa bürokratikus balszerencse. Különösen bosszantó erről hallani a hírek hátterében. Itt van egy másik „termék, amelyre az embereknek szüksége van” (egy fotóalkalmazás, hirdetésoptimalizálás vagy új típusú chat), amely több millió dolláros bevételt és befektetést kap. De egy ismeretlen rajongó nem tud mit kezdeni az ötleteivel.

Idén Zsenya egyetemek közötti partnerségi program keretében nyert egy hat hónapos ingyenes Ausztriában végzett tanulmányokat – de nem mehet oda. A vízum megerősítéséhez garanciákra van szükség, hogy van pénze lakhatásra és salzburgi életre.

„Az alapokhoz való fellebbezés nem járt eredménnyel, mert a finanszírozást csak a teljes diplomaprogramokhoz biztosítják” – mondja Zsenya. „Maga a Salzburgi Egyetemhez való fellebbezés sem hozott eredményt - az egyetemnek nincs saját kollégiuma, és nem tud nekünk segíteni a szállásban.

Tíz alapnak írtam, és csak hárman-négyen válaszoltak nekem. Sőt, azt válaszolták, hogy a tudományos fokozatom nem felel meg nekik - mesterekre és magasabbra van szükségük. Az alapképzésben elért tudományos eredményeimet nem értékelik. Ha egy helyi egyetemen tanulsz, alapképzéssel rendelkezik és műszaki kutatással foglalkozik, akkor az egyetemen belül jelentkezhet. De egy külföldi embernek ez sajnos nincs meg.

Körülbelül ugyanannyi orosz alappal vettem fel a kapcsolatot. Skolkovóban azt mondták: bocs, de csak mesterekkel dolgozunk. Más alapítványok azt mondták, hogy hat hónapig nincs támogatásuk, vagy csak diplomaprogramokkal dolgoznak, vagy nem finanszíroznak magánszemélyeket. És a Prohorov és Potanin alapítványok nem is válaszoltak nekem.

Levelet kaptam a Yandextől, hogy nagy jótékonysági tevékenységet folytatnak, és a cégnek jelenleg nincs finanszírozása, de minden jót kívánnak.

Még a szerződéses célú finanszírozásba is beleegyeztem, ami lehetővé teszi, hogy el tudjak menni tanulni, és ennek eredményeként hozok valamit a cégnek. De minden megáll a kommunikáció alacsony szintjén. értem miről van szó. Azok, akik telefonálnak és leveleznek, egyszerűen a dokumentumok szerint dolgoznak. Látják, hogy érkezett egy alkalmazás, akár menő is lehet. De kiírják: bocs, nem, mert vagy lejárt a jelentkezési idő, vagy nem a státuszod szerint minősülsz. De nincs lehetőségem magasabb helyre eljutni, mint az alap tulajdonosai, egyszerűen nincsenek ilyen kapcsolataim.”

De a Zhenya problémájáról szóló bejegyzések gyorsan elterjedtek a közösségi hálózatokon. Az első napokban körülbelül 50 000 rubelt gyűjtöttünk össze - a szükséges 12 000 euróból. Nincs sok idő a készülődésre, de már sokan írnak Zsenyának a támogatásról. Talán minden sikerülni fog.

Örömmel fejezném be ezt a hosszú szöveget a hős visszatéréséről Ausztriából egy új és erőteljes élménnyel. Vagy támogatást kap az egyik projekthez, és egy fotót az új laboratóriumból. De a szöveg megállt egy kollégiumi szobában, ahol van két szekrény, két ágy, két asztal, két polc, egy hűtőszekrény.

Számomra úgy tűnik, nagy szakmai közösségekre van szükség, hogy segítsék egymást. Nekrasov feleségének szüksége van pénzre, hasznos kapcsolatokra, ötletekre, tanácsokra, bármire. Emeljük a karmánkat.

Zsenya kapcsolatai és más fontos alakokemail: [e-mail védett]
Телефон: +7-914-968-93-21
Telegram és WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Az átutalás részletei:
Kártyaszám: 4276 5000 3572 4382 vagy telefonszám +7-914-968-93-21
Yandex pénztárca a +7-914-968-93-21 ​​telefonszámon

Címzett: Nyekrasov Jevgenyij

Forrás: will.com

Hozzászólás