Bagaimana rasanya mendengar kod pada 1000 perkataan seminit

Kisah tragedi kecil dan kemenangan besar pemaju yang sangat baik yang memerlukan bantuan

Bagaimana rasanya mendengar kod pada 1000 perkataan seminit

Di Universiti Persekutuan Timur Jauh terdapat pusat untuk aktiviti projek - di sana sarjana dan sarjana mencari projek kejuruteraan yang sudah mempunyai pelanggan, wang dan prospek. Kuliah dan kursus intensif juga diadakan di sana. Pakar yang berpengalaman bercakap tentang perkara moden dan gunaan.

Salah satu kursus intensif ditumpukan kepada penggunaan sistem kontena Docker untuk pengkomputeran dan orkestrasi teragih. Ia dihadiri oleh pelajar sarjana dan siswazah matematik gunaan, kejuruteraan, penyediaan perisian dan bidang teknikal lain.

Guru itu adalah seorang lelaki berkaca mata gelap, potongan rambut bergaya, selendang, mudah bergaul dan terlalu yakin - terutamanya bagi pelajar tahun dua berusia 21 tahun. Namanya Evgeny Nekrasov, dia memasuki FEFU hanya dua tahun lalu.

Wunderkind

“Ya, mereka lebih tua dan lebih berstatus, tetapi saya tidak boleh mengatakan mereka lebih berpengalaman. Di samping itu, saya kadang-kadang memberi kuliah kepada rakan sekelas saya untuk guru kami. Pada satu ketika, kami menyedari bahawa dia tidak dapat memberi saya apa-apa lagi tentang Pengaturcaraan Berorientasikan Objek, jadi dari semasa ke semasa saya memberi syarahan kepadanya tentang OOP, pembangunan moden, GitHub dan penggunaan sistem kawalan versi."

Bagaimana rasanya mendengar kod pada 1000 perkataan seminit

Evgeniy boleh menulis dalam Scala, Clojure, Java, JavaScript, Python, Haskell, TypeScript, PHP, Rust, C++, C dan Assembler. “Saya lebih tahu JavaScript, selebihnya satu atau dua lebih rendah. Tetapi pada masa yang sama, saya boleh memprogramkan pengawal dalam Rust atau C++ dalam masa sejam. Saya tidak mempelajari bahasa-bahasa ini dengan sengaja. Saya mempelajarinya untuk tugasan yang diberikan kepada saya. Saya boleh menyertai mana-mana projek dengan mengkaji dokumentasi dan manual. Saya tahu sintaks bahasa, dan yang mana satu untuk digunakan tidak begitu penting. Ia sama dengan rangka kerja dan perpustakaan - cuma baca dokumentasi dan saya faham cara ia berfungsi. Semuanya ditentukan oleh bidang subjek dan tugas."

Evgeniy telah mempelajari pengaturcaraan secara intensif sejak 2013. Seorang guru sains komputer sekolah menengah yang buta sepenuhnya menyebabkan dia berminat dalam sains komputer. Laluan bermula dengan web - HTML, JavaScript, PHP.

"Saya hanya ingin tahu. Saya tidak banyak tidur - saya sentiasa sibuk dengan sesuatu, membaca sesuatu, mengkaji sesuatu."

Pada tahun 2015, Evgeniy memohon pertandingan "Umnik" untuk menyokong projek teknikal saintis muda berusia lebih lapan belas tahun. Tetapi dia bukan lapan belas tahun, jadi dia gagal memenangi pertandingan itu - tetapi Evgeniy diperhatikan oleh komuniti pemaju tempatan. Dia bertemu dengan Sergei Milekhin, yang pada masa itu sedang menganjurkan persidangan di Vladivostok sebagai sebahagian daripada Pesta Pembangun Google. “Dia jemput saya ke sana, saya datang, dengar, saya suka. Tahun depan saya datang lagi, mengenali orang lebih dan lebih, berkomunikasi.”

Andrey Sitnik dari komuniti VLDC mula membantu Evgeniy dengan projek webnya. “Saya perlu membina aplikasi soket web berbilang benang. Saya berfikir untuk masa yang lama tentang cara melakukan ini dalam PHP, dan beralih kepada Andrey. Dia memberitahu saya, "ambil pakej node.js, npm yang ada di Internet, dan jangan pecah kepala anda. Dan secara umum, memindahkan sumber terbuka adalah bagus. Jadi saya menambah baik bahasa Inggeris saya, mula membaca dokumentasi dan menyiarkan projek di GitHub.

Pada tahun 2018, Evgeniy telah memberikan pembentangan di Google Dev Fest, bercakap tentang perkembangan dalam bidang antara muka yang boleh diakses, prostesis anggota atas, pembangunan antara muka saraf dan sistem kawalan akses tanpa sentuhan. Kini Evgeniy berada di tahun kedua ijazah sarjana muda dalam Kejuruteraan Perisian, tetapi dia telah berjaya menyelesaikannya dan sedang menyelesaikan kerja terakhirnya.

"Saya diberitahu untuk melaksanakan struktur data dalam jadual cincang. Ini adalah perkara standard yang diberikan kepada semua orang di universiti. Saya mendapat 12 ribu baris kod dan sekumpulan tongkat,” kata Evgeniy sambil ketawa, “Saya membina jadual cincang dan strukturnya yang diubah suai dalam JavaScript untuk membaca data dengan lebih pantas. Dan guru berkata: "Saya memerlukan anda menulis apa yang lebih mudah untuk saya supaya saya dapat menilainya." Ia sangat menjengkelkan."

Projek peribadi Evgeniy kelihatan lebih menarik. Yang pertama ialah pembangunan piawaian web untuk orang kurang upaya fizikal. Dia mahu mencipta sumber yang menyediakan teknologi bantuan di luar kotak supaya orang yang cacat penglihatan boleh menggunakannya dengan mudah tanpa bimbang kehilangan beberapa maklumat. Evgeniy tahu masalah ini dengan baik, kerana dia sendiri kehilangan penglihatannya.

Kecederaan

“Saya pernah menjadi remaja biasa, dengan semua anggota badan saya berada di tempat. Pada tahun 2012, saya meledakkan diri sendiri. Saya keluar berjalan-jalan dengan rakan, mengambil silinder di jalan, dan ia meletup di tangan saya. Tangan kanan saya tercabut, tangan kiri saya lumpuh, penglihatan saya rosak, dan pendengaran saya cacat. Selama enam bulan saya hanya berbaring di atas meja bedah.

Tangan kiri dipasang di bahagian, pinggan dan jarum mengait dipasang. Selepas lima bulan saya boleh bekerja untuknya.

Selepas kecederaan, saya langsung tidak nampak apa-apa. Tetapi doktor berjaya memulihkan persepsi cahaya. Tiada apa-apa yang tinggal di mata saya kecuali cangkerang. Segala-galanya di dalam telah diganti - badan vitreous, kanta. Segala-galanya mungkin."

Pada tahun 2013, Zhenya pergi belajar di sekolah pemulihan untuk kanak-kanak cacat penglihatan. Guru sains komputer itu, yang buta sepenuhnya, mengajarnya cara menggunakan komputer semula. Untuk tujuan ini, program khas digunakan - pembaca skrin. Mereka mengakses API sistem pengendalian untuk mendapatkan akses kepada antara muka dan mengubah sedikit cara ia dikawal.

Zhenya menggelar dirinya sebagai pengguna Linux yang gemar; dia menggunakan Debian. Menggunakan papan kekunci, dia menavigasi elemen antara muka dan pensintesis pertuturan menyuarakan apa yang sedang berlaku.

"Sekarang anda hanya akan mendengar ruang," katanya kepada saya sebelum menghidupkan program.

Bunyinya seperti kod atau perbualan asing, tetapi pada hakikatnya ia adalah bahasa Rusia atau Inggeris biasa, cuma synthesizer bercakap pada kelajuan yang luar biasa untuk telinga yang tidak terlatih.

"Ia tidak sukar untuk mempelajari ini. Pada mulanya saya bekerja pada Windows dan menggunakan pembaca skrin Jaws. Saya menggunakannya dan berfikir, "Tuhan, bagaimana anda boleh bekerja pada kelajuan yang begitu perlahan." Saya mengezum masuk dan menyedari bahawa telinga itu digulung menjadi tiub. Saya memulangkan semula dan secara beransur-ansur mula meningkatkannya sebanyak 5-10 peratus setiap minggu. Saya mempercepatkan synthesizer kepada seratus perkataan, kemudian lebih banyak lagi, dan lagi dan lagi. Sekarang dia bercakap seribu perkataan seminit.”

Zhenya menulis dalam editor teks biasa - Gedit atau Nano. Menyalin sumber daripada Github, melancarkan pembaca skrin dan mendengar kod. Untuk memastikan ia boleh dibaca dan difahami dengan mudah oleh pembangun lain, ia menggunakan linters dan konfigurasi di seluruh. Tetapi Zhenya tidak boleh menggunakan persekitaran pembangunan kerana ia tidak boleh diakses oleh orang buta kerana pelaksanaannya.

"Ia dibuat sedemikian rupa sehingga tetingkap mereka ditentukan oleh sistem, dan segala-galanya di dalam tetingkap tidak dilihat oleh pembaca skrin kerana ia tidak dapat mengaksesnya. Saya kini telah menghubungi JetBrains secara langsung untuk mencuba dan membuat beberapa tampalan pada persekitaran mereka. Mereka menghantar saya sumber PyCharm. IDE dilaksanakan pada Intellij Idea, jadi semua perubahan boleh digunakan di sana dan di sana."

Satu lagi halangan ialah kekurangan pematuhan kepada piawaian web biasa. Sebagai contoh, kita melihat tajuk besar pada halaman. Ramai pembangun melaksanakan ini menggunakan teg span untuk mengetatkan fon kepada saiz yang dikehendaki, dan akhirnya kelihatan baik. Tetapi oleh kerana teks itu bukan tajuk untuk sistem, pembaca skrin tidak mengenalinya sebagai elemen menu dan tidak membenarkan interaksi.

Zhenya dengan mudah menggunakan versi mudah alih VKontakte, tetapi mengelakkan Facebook: "VK adalah mudah untuk saya kerana ia mempunyai senarai menu navigasi yang berasingan. Ia mempunyai elemen dan tajuk yang bagi saya adalah pembahagian semantik halaman. Sebagai contoh, tajuk peringkat pertama di mana nama panggilan saya ditunjukkan - Saya tahu bahawa ini adalah tajuk halaman. Saya tahu bahawa pengepala "mesej" membahagikan halaman, dan di bawah terdapat senarai dialog.

Facebook menggalakkan kebolehcapaian, tetapi pada hakikatnya segala-galanya sangat buruk sehingga mustahil untuk memahami apa-apa. Saya membukanya - dan program mula membeku, halamannya sangat perlahan, semuanya melompat-lompat untuk saya. Terdapat semua butang di mana-mana, dan saya seperti, "bagaimana saya boleh bekerja dengan ini?!" Saya hanya akan menggunakannya jika saya menyelesaikan pelanggan saya atau menyambungkan pihak ketiga.”

Penyelidikan

Zhenya tinggal di Vladivostok di asrama universiti biasa. Terdapat bilik mandi di dalam bilik, dua almari pakaian, dua katil, dua meja, dua rak, peti sejuk. Tiada gajet khas, tetapi menurutnya, ia tidak diperlukan. “Cacat penglihatan tidak bermakna saya tidak akan dapat berjalan atau tidak akan menemui jalan. Tetapi saya boleh dan dengan senang hati akan melengkapkan diri saya dengan rumah pintar jika saya mempunyai bahan habis pakai. Saya tidak mempunyai wang untuk membeli komponen. Bagi seorang pelajar membelanjakan lima ribu yuran semata-mata untuk mencucuknya adalah sangat tidak menguntungkan.”

Zhenya tinggal bersama seorang gadis, dia membantu dalam banyak cara di sekitar rumah: "sebarkan sandwic, tuang teh, cuci pakaian. Oleh itu, saya mempunyai lebih banyak masa untuk berehat dan melakukan perkara yang saya suka.”

Sebagai contoh, Zhenya mempunyai kumpulan muzik di mana dia bermain gitar elektrik. Dia juga belajar selepas kecederaan. Pada 2016, dia menghabiskan tiga bulan di pusat pemulihan, di mana dia meminta seorang guru membantunya dengan gitarnya. Pada mulanya saya bermain dengan jahitan baju dipusing ke dalam. Kemudian saya membina pengantara.

“Saya mengambil pembalut untuk menguatkan tangan, yang digunakan, contohnya, oleh karateka, memotongnya di tempat di mana jari dipisahkan dan menariknya ke lengan bawah. Terdapat pad buih di sana yang melindungi berus daripada kerosakan - padanya saya menjahit pick yang abang saya potong daripada spatula plastik untuk saya. Ternyata ia adalah lidah plastik yang panjang, yang saya gunakan untuk bermain tali - mencabut dan memetik.”

Letupan itu meletupkan gegendang telinganya, jadi Zhenya tidak dapat mendengar frekuensi rendah. Gitarnya tidak mempunyai tali keenam (terendah), dan yang kelima ditala secara berbeza. Dia memainkan kebanyakan bahagian solo.

Tetapi aktiviti utama kekal pembangunan dan penyelidikan.

Tangan palsu

Bagaimana rasanya mendengar kod pada 1000 perkataan seminit

Salah satu projek ialah pembangunan prostesis anggota atas dengan sistem kawalan pintar. Pada 2016, Zhenya datang kepada orang yang sedang membangunkan prostesis dan mula membantunya dengan ujian. Pada 2017, mereka mengambil bahagian dalam hackathon Neurostart. Dalam pasukan tiga orang, Zhenya memprogramkan pengawal peringkat rendah. Dua lagi membina model itu sendiri dan mengajar rangkaian saraf untuk sistem kawalan.

Kini Zhenya telah mengambil alih keseluruhan bahagian perisian projek itu. Ia menggunakan Myo Armband untuk membaca potensi otot, membina topeng berdasarkannya dan menggunakan model rangkaian saraf di atas untuk mengecam gerak isyarat—inilah sistem kawalan dibina.

“Gelang itu mempunyai lapan sensor. Mereka menghantar perubahan yang berpotensi kepada mana-mana peranti input. Saya memusnahkan SDK mereka dengan tangan saya sendiri, menyahkompilasi semua yang diperlukan, dan menulis lib saya sendiri dalam Python untuk membaca data. Sudah tentu, data tidak mencukupi. Walaupun saya meletakkan satu bilion sensor pada kulit saya, ia masih tidak mencukupi. Kulit bergerak ke atas otot dan data bercampur-campur.”

Pada masa akan datang, Zhenya merancang untuk memasang beberapa sensor di bawah kulit dan otot. Dia akan mencubanya sekarang - tetapi operasi sedemikian dilarang di Rusia. Jika pakar bedah menanam peralatan yang tidak disahkan di bawah kulit seseorang, dia akan kehilangan diplomanya. Walau bagaimanapun, Zhenya menjahit satu sensor ke tangannya - tag RFID, seperti dalam kunci elektronik, untuk membuka interkom atau sebarang kunci yang akan dipautkan kuncinya.

mata buatan

Bersama-sama dengan Bogdan Shcheglov, ahli biokimia dan biofizik, Zhenya sedang mengusahakan prototaip mata buatan. Bogdan terlibat dalam pemodelan 3D bola mata dan menyambungkan semua litar mikro dalam model tiga dimensi dengan saraf optik, Zhenya sedang membina model matematik.

"Kami mengkaji satu tan literatur tentang analog sedia ada, teknologi yang berada di pasaran dan kini, dan menyedari bahawa pengecaman imej tidak relevan. Tetapi kami mengetahui bahawa matriks sebelum ini telah dicipta untuk merakam foton dan tenaganya. Kami memutuskan untuk membangunkan matriks yang serupa dalam saiz yang lebih kecil, yang mampu mendaftarkan sekurang-kurangnya set minimum foton dan membina nadi elektrik berdasarkannya. Dengan cara ini kami menyingkirkan lapisan perantaraan imej yang jelas dan pengecamannya - kami hanya bekerja secara langsung."

Hasilnya akan menjadi penglihatan yang tidak begitu dalam erti kata klasik. Tetapi seperti yang dikatakan Zhenya, baki saraf optik mesti melihat bekalan impuls elektrik dengan cara yang sama seperti dari mata sebenar. Pada 2018, mereka membincangkan projek itu dengan rektor Universiti Teknikal Marin, Gleb Turishchin, dan mentor Skolkovo Olga Velichko. Mereka mengesahkan bahawa masalah ini boleh diselesaikan menggunakan teknologi yang sedia ada di dunia.

“Tetapi tugas ini lebih sukar daripada membangunkan prostetik. Kita tidak boleh menjalankan eksperimen ke atas katak untuk memeriksa seberapa baik retina menghasilkan impuls, bagaimana ia bergantung kepada cahaya yang berbeza, kawasan mana yang menghasilkan lebih banyak dan yang mana kurang. Kami memerlukan pembiayaan yang membolehkan kami menyewa makmal dan mengupah orang untuk menguraikan tugas dan mengurangkan tarikh akhir. Ditambah dengan kos semua bahan yang diperlukan. Sebagai peraturan, semuanya berpunca daripada wang.”

Birokrasi

Bogdan dan Zhenya memohon kepada Skolkovo untuk mendapatkan pembiayaan tetapi ditolak - hanya produk siap yang berpotensi komersial pergi ke sana, dan bukan projek penyelidikan pada peringkat permulaan.

Walaupun semua keaslian dalam cerita Zhenya, walaupun kebolehannya dan kejayaan yang memberi inspirasi, seseorang terkejut dengan nasib buruk birokrasi yang pelik. Ia amat menjengkelkan untuk mendengar tentang perkara ini dengan latar belakang berita. Berikut ialah satu lagi "produk yang diperlukan oleh orang ramai" (aplikasi foto, pengoptimuman pengiklanan atau jenis sembang baharu) yang menerima hasil dan pelaburan berjuta-juta dolarnya. Tetapi peminat yang tidak dikenali tidak tahu apa yang perlu dilakukan dengan ideanya.

Tahun ini Zhenya memenangi pengajian percuma selama enam bulan di Austria di bawah program perkongsian antara universiti - tetapi dia tidak boleh pergi ke sana. Untuk mengesahkan visa, jaminan diperlukan bahawa dia mempunyai wang untuk perumahan dan kehidupan di Salzburg.

"Merayu untuk mendapatkan dana tidak membuahkan hasil, kerana pembiayaan hanya disediakan untuk program diploma penuh," kata Zhenya, "Merayu ke Universiti Salzburg sendiri juga tidak - universiti tidak mempunyai asrama sendiri dan tidak dapat membantu kami dengan penginapan.

Saya menulis kepada sepuluh dana, dan hanya tiga atau empat menjawab saya. Lebih-lebih lagi, mereka menjawab bahawa ijazah saintifik saya tidak sesuai dengan mereka - mereka memerlukan sarjana dan lebih tinggi. Pencapaian saintifik saya dalam pengajian sarjana muda tidak dihargai oleh mereka. Jika anda belajar di universiti tempatan, anda mempunyai ijazah sarjana muda dan terlibat dalam penyelidikan teknikal, maka anda boleh memohon dalam universiti. Tetapi bagi seseorang dari luar negara, malangnya, mereka tidak mempunyai ini.

Saya menghubungi kira-kira jumlah dana Rusia yang sama. Di Skolkovo mereka memberitahu saya: maaf, tetapi kami hanya bekerja dengan tuan. Yayasan lain memberitahu saya bahawa mereka tidak mempunyai pembiayaan selama enam bulan, atau mereka hanya bekerja dengan program diploma, atau mereka tidak membiayai individu. Dan asas Prokhorov dan Potanin tidak menjawab saya.

Saya menerima surat daripada Yandex bahawa mereka terlibat dalam badan amal yang hebat dan syarikat itu pada masa ini tidak mempunyai pembiayaan, tetapi mereka mengucapkan selamat maju jaya kepada saya.

Saya juga bersetuju dengan pembiayaan bertarget kontrak, yang akan membolehkan saya pergi dan belajar, dan hasilnya saya akan membawa sesuatu untuk syarikat. Tetapi semuanya berhenti pada tahap komunikasi yang rendah. Saya faham tentang apa ini. Orang yang bekerja pada panggilan telefon dan mel hanya bekerja mengikut dokumen. Mereka melihat bahawa permohonan telah tiba, malah mungkin menarik. Tetapi mereka akan menulis: maaf, tidak, kerana sama ada tempoh permohonan telah tamat atau anda tidak layak mengikut status anda. Tetapi saya tidak mempunyai peluang untuk mencapai tempat yang lebih tinggi daripada pemilik dana, saya tidak mempunyai kenalan seperti itu."

Tetapi siaran tentang masalah Zhenya mula tersebar dengan cepat merentasi rangkaian sosial. Dalam beberapa hari pertama, kami mengumpul kira-kira 50 rubel - daripada 000 euro yang diperlukan. Tidak banyak masa untuk bersiap, tetapi ramai orang sudah menulis surat kepada Zhenya tentang sokongan. Mungkin semuanya akan berjaya.

Saya berbesar hati untuk menamatkan teks panjang ini sekembalinya wira dari Austria dengan pengalaman baharu dan hebat. Atau menerima geran untuk salah satu projek, dan gambar dari makmal baharu. Tetapi teks itu berhenti di bilik asrama, di mana terdapat dua almari, dua katil, dua meja, dua rak, peti sejuk.

Nampaknya kepada saya komuniti profesional yang besar diperlukan untuk membantu antara satu sama lain. Isteri Nekrasov memerlukan wang, kenalan berguna, idea, nasihat, apa sahaja. Jom naikkan karma kita.

Kenalan Zhenya dan tokoh penting laine-mel: [e-mel dilindungi]
Телефон: +7-914-968-93-21
Telegram dan WhatsApp: +7-999-057-85-48
github: github.com/Ravino
vk.com: vk.com/ravino_doul

Butiran untuk memindahkan dana:
Nombor kad: 4276 5000 3572 4382 atau nombor telefon +7-914-968-93-21
Dompet Yandex melalui nombor telefon +7-914-968-93-21

Penerima: Nekrasov Evgeniy

Sumber: www.habr.com

Tambah komen