这是一个关于一位非常优秀的开发人员的故事,他需要帮助,故事中充满了小小的悲剧和巨大的胜利。

远东联邦大学设有一个项目型中心,硕士和本科生可以在这里找到已有客户、资金和发展潜力的工程项目。该中心还举办讲座和强化课程,经验丰富的专家会在此探讨现代应用技术。
其中一门强化课程重点讲解了如何使用 Docker 容器化系统进行分布式计算和编排。应用数学、工程、软件开发及其他技术领域的硕士和博士研究生参加了这门课程。
这位教授戴着墨镜,留着时髦的发型,围着围巾。他性格外向,自信过头——尤其对于一个21岁的大二学生来说。他名叫叶夫根尼·涅克拉索夫,两年前才入学远东联邦大学。
少年得志
“是的,他们年纪更大,名气也更大,但我不会说他们经验更丰富。除此之外,我有时还会替教授给同学们上课。后来,我们意识到教授已经教不了我更多面向对象编程的知识了,所以我定期给他讲授面向对象编程、现代开发、GitHub 以及版本控制系统的使用。”

叶夫根尼精通Scala、Clojure、Java、JavaScript、Python、Haskell、TypeScript、PHP、Rust、C++、C和汇编语言。“我对JavaScript比较熟悉,其他语言的水平稍逊一筹。但我可以在一小时内用Rust或C++编写一个控制器。我并非刻意学习这些语言,而是为了完成任务而学习的。通过阅读文档和手册,我可以快速融入任何项目。我了解这些语言的语法,所以具体用哪种语言并不重要。框架和库也是如此——只要阅读文档,我就能理解它们的工作原理。领域和任务决定一切。”
自 2013 年以来,叶夫根尼一直在潜心学习编程。他的学校计算机科学老师是一位完全失明的盲人,正是这位老师激发了他对计算机科学的兴趣。他的编程之路始于网页开发——HTML、JavaScript 和 PHP。
“我只是好奇。我睡眠很少——我总是忙着做这做那,读书、学习。”
2015年,叶夫根尼报名参加了“Umnik”(聪明人)竞赛,该竞赛旨在支持18岁及以上青年科学家的技术项目。由于他当时未满18岁,所以未能赢得比赛。然而,当地的开发者社区注意到了他。他结识了谢尔盖·米列欣,后者当时正在符拉迪沃斯托克组织谷歌开发者节的相关会议。“他邀请我参加,我去了,听了演讲,很喜欢。第二年,我又来了,认识了越来越多的人,并与他们进行了交流。”
来自 VLDC 社区的 Andrey Sitnik 开始帮助 Evgeny 开发他的 Web 项目。“我需要构建一个用于 WebSocket 处理的多线程应用程序。我花了很长时间思考如何用 PHP 实现,然后我向 Andrey 寻求帮助。他告诉我:‘使用 Node.js 和网上可用的 npm 包,别担心。而且,推广开源软件本身就是一件很棒的事情。’于是我开始复习英语,阅读文档,并将项目上传到 GitHub。”
2018年,Evgeny在谷歌开发者大会上发表了演讲,探讨了无障碍界面、上肢假肢、神经接口和非接触式门禁系统等领域的最新进展。Evgeny目前是软件工程专业的大二学生,已顺利完成本科学习,正在撰写毕业论文。
“他们让我用哈希表实现一个数据结构。这是大学里人人都要学的标准内容。结果我写出了12行代码,还夹杂着一堆临时拼凑的方案,”叶夫根尼笑着说。“我用JavaScript写了一个哈希表和一个修改后的数据结构,以便更快地读取数据。结果教授说,‘我需要你用一种我更容易理解的方式写出来,这样我才能评估它。’真是太让人沮丧了。”
叶夫根尼的个人项目更有意思。第一个项目是为残障人士开发网络标准。他希望创建一个配备开箱即用辅助技术的资源平台,让视障人士能够轻松使用,避免错过信息。叶夫根尼本人就失去了视力,因此他对这个问题感同身受。
受伤
“我曾经是一个四肢健全的普通青少年。2012年,我把自己炸伤了。当时我和朋友一起散步,在街上捡到一个罐子,它就在我手里爆炸了。爆炸炸掉了我的右手,左手也残废了,视力受损,听力也受到了影响。我在手术台上躺了六个月。”
我的左手被一块一块地重新接上,并安装了钢板和钢钉。五个月后,我又能使用它了。
受伤后,我什么都看不见了。但医生们设法恢复了我的光感。我的眼睛只剩下眼球外壳。他们更换了里面的所有东西——玻璃体、晶状体,所有能更换的都换了。
2013年,珍亚进入了一所视障儿童特殊学校。他的计算机老师是一位完全失明的老师,他教会了珍亚重新使用电脑。这需要借助一种叫做屏幕阅读器的特殊程序。这些程序通过访问操作系统接口(API)来操作界面,并对控制方式进行一些细微的调整。
Zhenya自称是Linux的忠实用户,他使用 Debian他使用键盘在界面元素间进行导航,语音合成器会播报正在发生的事情。
“接下来你将听到一些非常震撼人心的声音,”他打开节目前对我说。
听起来像是代码或外星人的对话,但实际上却是普通的俄语或英语,合成器只是以一种未经训练的人难以想象的速度说话。
“学习并不难。起初,我从事…… Windows “我用的是屏幕阅读器程序 Jaws。用的时候我一直在想,‘天哪,这么慢的语速我怎么能工作?’我把语速调高,结果发现耳朵都快竖起来了。于是我又调低了语速,然后每周逐渐提高 5% 到 10%。我先把合成器的语速调到每分钟 100 个单词,然后更高,再更高。现在它每分钟能读 1000 个单词了。”
Zhenya 使用普通的文本编辑器(例如 Gedit 或 Nano)编写代码。他从 GitHub 复制源代码,启动屏幕阅读器,然后聆听代码。为了确保其他开发者能够轻松阅读和理解代码,他使用了代码检查工具和各种配置。然而,由于开发环境的实现方式,Zhenya 无法使用它们,因为这些环境对盲人来说不方便。
“它们的设计方式使得系统能够检测到它们的窗口,但屏幕阅读器却无法访问窗口内的任何内容。我已经直接联系了 JetBrains,尝试修复他们的环境。他们发给了我 PyCharm 的源代码。这个 IDE 是基于 IntelliJ IDEA 构建的,所以所有的修改都将适用于两者。”
另一个障碍是缺乏对通用网页标准的遵循。例如,假设我们在页面上看到一个大标题。许多开发者使用 span 标签来调整字体大小,效果看起来不错。但由于系统并未将该文本识别为标题,屏幕阅读器无法将其识别为菜单项,从而阻止了交互。
Zhenya 可以轻松使用 VKontakte 的移动版,但她却避免使用 Facebook:“VK 对我来说很方便,因为它有独立的导航菜单列表。它的元素和标题对我来说就像是页面上的语义划分。例如,显示我昵称的一级标题,我知道那就是页面标题。我知道‘消息’标题划分了页面,而‘消息’标题下面是对话列表。”
Facebook 声称其无障碍功能很强,但实际上却糟糕透顶,根本无法使用。我打开它,程序就卡住,页面加载极其缓慢,所有东西都卡顿。到处都是按钮,我简直要崩溃了:“这玩意儿我该怎么用?!” 我只有在完成客户项目的后期制作或者集成第三方插件的时候才会用它。
研究
珍尼亚住在符拉迪沃斯托克一间典型的大学宿舍里。他有一间浴室、两个衣柜、两张床、两张桌子、两个书架和一个冰箱。他没有任何特殊的智能设备,但他表示自己也不需要。“我的视力障碍并不意味着我不能走路或辨别方向。但如果我有材料的话,我或许会很乐意安装一套智能家居系统。但我实在没钱买这些组件。对一个学生来说,花五千块钱买一块电路板只是为了摆弄一下,实在太不划算了。”
珍尼亚和他的女朋友住在一起,女朋友帮他做了很多家务:“做三明治、倒茶、洗衣服。这样我就有更多的时间放松,做我喜欢的事情。”
例如,Zhenya 有一个乐队,他在乐队里弹电吉他。他也是在受伤后才开始学习吉他的。2016 年,他在康复中心待了三个月,期间他请一位老师指导他弹吉他。起初,他用衬衫的缝线翻过来当拨片弹。后来,他自己做了一个拨片。
“我拿了一个护腕,就是空手道选手用的那种,在指关节处撕开,然后套在我的前臂上。它里面有一块泡沫垫可以保护手腕免受损伤——我把哥哥用塑料锅铲剪下来的拨片粘在上面。这样就形成了一个长长的塑料舌状物,我用它来弹琴——拨弦和扫弦。”
爆炸震破了他的耳膜,所以珍尼亚听不到低频声音。他的吉他少了第六根(最低音)弦,第五根弦的调音也和普通吉他不一样。他主要弹独奏。
但主要活动仍然是研发。
假手
其中一个项目是开发一款带有智能控制系统的上肢假肢。2016年,Zhenya联系了假肢的开发者,并开始协助进行测试。2017年,他们参加了Neurostart黑客马拉松。在三人小组中,Zhenya负责编写底层控制器的程序。另外两位成员则负责构建模型并训练控制系统的神经网络。Zhenya 现在负责该项目的全部软件部分。他使用 Myo 臂带读取肌肉电位,根据这些电位创建掩码,然后应用神经网络模型来识别手势——这就是控制系统的动力来源。
“这款手环有八个传感器,它们可以将电压变化传输到任何输入设备。我亲自拆解了他们的SDK,反编译了所有需要的代码,并编写了自己的Python库来读取数据。当然,数据量还不够。即使我在皮肤上贴上十亿个传感器,也仍然不够。皮肤会随着肌肉移动,导致数据混杂。”
未来,Zhenya计划在皮下和肌肉中植入多个传感器。他现在就想尝试,但这类手术在俄罗斯是被禁止的。如果外科医生在病人皮下植入未经认证的设备,就会被吊销执照。尽管如此,Zhenya还是在手臂上植入了一个传感器——一个RFID标签,类似于电子钥匙上的那种,可以用来打开对讲机或任何与钥匙绑定的锁。
人工眼
珍妮娅正与生物化学家兼生物物理学家博格丹·谢格洛夫合作研发人工眼原型。博格丹负责构建眼球的三维模型,并将三维模型中的所有微电路连接到视神经,而珍妮娅则负责构建数学模型。
“我们研究了大量关于现有类似技术(包括过去和现在市面上的技术)的文献,发现图像识别并不适用。然而,我们了解到之前已经有人开发出一种用于记录光子及其能量的矩阵。我们决定开发一种尺寸更小的类似矩阵,使其能够记录至少最少数量的光子并从中产生电脉冲。这样就省去了清晰图像及其识别的中间步骤——我们可以直接进行操作。”
最终的成果将并非传统意义上的视觉。但正如Zhenya解释的那样,残存的视神经应该能够像正常眼睛一样感知电脉冲。2018年,他们与海洋技术大学校长Gleb Turishchin和斯科尔科沃创新中心导师Olga Velichko讨论了该项目。他们确认,利用全球现有的技术可以解决这个问题。
“但这项任务比研发假肢还要复杂。我们甚至无法在青蛙身上进行实验,来测试视网膜神经冲动产生的质量、它们对不同类型光线的依赖性,以及哪些区域产生的神经冲动更多、哪些区域产生的更少。我们需要资金来租用实验室,并聘请人员来分解任务、缩短时间。此外,还需要所有必要材料的费用。总而言之,一切都取决于资金。”
官僚
博格丹和热尼亚向斯科尔科沃申请资助,但遭到拒绝——该机构只接受具有商业潜力的成品,不接受处于萌芽阶段的研究项目。
尽管Zhenya的经历非凡,才华横溢,成就斐然,但他遭遇的官僚主义困境却令人匪夷所思。尤其是在新闻报道的背景下,听到这样的消息更让人感到沮丧。其他“人们需要的产品”(例如照片应用、广告优化或新型聊天工具)都已赚得盆满钵满,获得数百万美元的收入和投资。与此同时,一位默默无闻的爱好者却不知如何将自己的想法付诸实践。
今年,Zhenya通过一项大学合作项目获得了为期六个月的奥地利免费奖学金,但他却无法成行。为了确认他的签证,他需要提供足够的资金证明,以支付在萨尔茨堡的住房和生活费用。
“向基金会求助没有结果,因为基金会只资助全日制文凭课程,”Zhenya说。“向萨尔茨堡大学本身求助也没有成功——大学没有自己的宿舍,无法帮助我们解决住宿问题。”
我给十家基金会写了信,只有三四家回复了。他们说我的学位不符合要求——他们需要硕士或以上学位。我的本科研究也被认为与申请无关。如果你在本地大学就读,拥有学士学位,并且从事技术研究,那么你可以在校内申请。可惜的是,他们不为来自国外的申请人提供这种途径。
我联系了差不多数量的俄罗斯基金会。斯科尔科沃基金会告诉我:“抱歉,我们只资助硕士研究生。”其他基金会则告诉我,他们要么六个月内没有资金,要么只资助专科文凭项目,要么不资助个人。而普罗霍罗夫基金会和波塔宁基金会甚至连回复都没有。
我收到Yandex的一封信,信中说他们参与了很多慈善工作,公司目前没有资金,但他们祝我一切顺利。
我甚至同意了以合同为基础的资助方案,这样我就可以完成学业,毕业后还能为公司做些贡献。但一切都停滞在了沟通不畅的问题上。我理解其中的原因。那些依赖电话和邮件的人只是在纸面上做事。他们看到申请已经收到,即使申请本身可能很优秀,但最终还是会回复:“抱歉,不行,要么申请截止日期已过,要么您不符合要求。”而我根本联系不上基金的高层负责人;我根本没有这些人脉。
但关于珍妮娅困境的帖子很快在社交媒体上传播开来。短短几天内,他们就筹集到了约5万卢布——距离所需的12万欧元还差一些。时间紧迫,但珍妮娅已经收到了许多支持的信息。或许一切都会好起来的。
我本想让这篇长文以主人公从奥地利凯旋归来,带着一段意义非凡的新体验作为结尾。或者以他获得某个项目资助,以及一张新实验室的照片作为结尾。但文章却戛然而止于宿舍房间,那里有两个衣柜、两张床、两张桌子、两个架子和一个冰箱。
我认为我们需要大型的专业社群来互相帮助。Zhenya Nekrasov 需要资金、有用的人脉、想法、建议,任何东西都行。让我们一起积攒人气吧!
Zhenya的联系方式和其他重要号码电子邮箱:evgeniy@nekrasov.pw
Телефон: +7-914-968-93-21
Telegram 和 WhatsApp:+7-999-057-85-48
github:
vk.com:vk.com/ravino_doul
转账详情:
卡号:4276 5000 3572 4382 或电话号码 +7-914-968-93-21
Yandex钱包可通过电话号码+7-914-968-93-21使用
收件人:涅克拉索夫·叶夫根尼
来源: habr.com

