故事
让我从我们如何相遇以及我们共同经历的一些重要人生事件开始讲述。
相遇之前 (2011年) 2011年,年仅16岁的哈德良将一个Arduino连接到一堆电子元件上,创造了一台“电池分拣机”。将电池放入顶部隔间,机器便会测试每节电池,并将已使用的电池与充满电的电池分开。
这绝对看起来像一个爆炸性引擎。截图来自(幽默的)演示视频(仅限法语版)。
他甚至赢得了一个相当知名的法国比赛,奖励18岁以下的发明者(《Science et Vie Junior》杂志的“Innovez”比赛)。
最初几年 (2012-2013年) 我是在我们开始在瑞士洛桑联邦理工学院学习时第一次见到哈德良的。我当时只有17岁,刚刚搬离父母家,对我来说,这是一个新的国家和新的生活。哈德良就坐在我后面,一次随意的谈话最终发展成了一段罕见而持久的友谊。
经过一个学期紧张的考试后,我们组队参加了Facebook在EPFL组织的黑客马拉松。Facebook当时对我们来说是热门科技公司,所以尽管我当时编程水平不高,但我们很有动力做出一些引人注目的东西,以获得在那里的实习机会。
我们最终构建了一个交互式网络应用程序,用于在派对上流媒体播放音乐,与会者可以通过手机为他们最想听的歌曲投票。
- 18岁的哈德良(右)和我(左)在白板前构思
- 在最终演示前修复最后的漏洞
- “SquareTunes”的主页
- 任何人都可以推荐歌曲;与会者投票,得票最高的歌曲接下来播放
令我们非常惊讶的是,我们最终获得了第一名,并赢得了……一次由Facebook全额赞助的伦敦之行,前往Facebook总部参加黑客马拉松!我们虽然没有赢得那次比赛,但我们带着第二名的成绩非常开心地离开了伦敦。
- 哈德良、我和团队其他成员一起在“Deskamp”(一个类似Miro的交互式白板)上“黑客”自己
- 哈德良在Facebook伦敦办公室推介Deskamp
CourseAdvisor (2014年) 2014年底,我们必须从一份长长的列表中选择大学课程。我们对学生缺乏可用信息感到不满,于是我们一起构建了“CourseAdvisor”。它本质上会抓取学校的课程大纲,并为所有学生提供一个平台,让他们可以评论课程并发表意见。在这个过程中,哈德良帮助我学习了Laravel PHP框架和健康的测试实践。
在高峰期,CourseAdvisor拥有700多名注册学生和800多条课程评论。不幸的是,在2016年,学校对此并不满意,要求我们撤下网站,并威胁要请律师介入。(Daniel C.,如果你看到这些话——6年过去了,我仍然对你利用职位威胁两名只是想为所有人改善学习体验的学生感到愤怒。)虽然回想起来我们绝对不应该妥协,但当时我们有其他更重要的事情要做。
计算机图形学学士项目 当我们坐在“计算机图形学导论”课堂上时,我有点目瞪口呆地看着哈德良用Open GL、光线追踪器、程序化建模以及其他至今仍让我害怕的术语做出令人惊叹的事情。
最终,哈德良完成了最终课程项目的大部分工作,老师认为这个项目太棒了,以至于他现在每年都在课程开始时展示它。请看下面的视频——这是一个随机生成的世界,每次运行都是独一无二的。它可以无限渲染。有湖泊、雪山、陆地、岩石、水反射,甚至还有云。
现代时期 在完成硕士学位后,哈德良在AppDynamics(现属思科)和Datadog担任软件工程师。在这块留言板上,许多与他共事过的人都留下了信息、故事或照片——我觉得这些都非常感人。
业余项目
哈德良是一位才华横溢的工程师,充满热情且有空闲时间。他提出了一系列令人印象深刻的业余项目并不足为奇,我在下面重点介绍其中一些。
“喂鱼器”是一个可以远程控制来喂养哈德良的鱼Gaston的设备。它通过身份验证后暴露在互联网上。有一段时间,他甚至考虑举办每日拍卖,出价最高者将获得按下这个珍贵按钮的特权。
- 喂鱼器的主页。
“Whistle Invaders”是《太空侵略者》的一个改编版本,你通过……吹口哨来控制玩家!吹更高音调的口哨,你的玩家向上移动。降低音调,它则向下移动。
“Clapruptor”是哈德良从头到尾制作的一个小玩意。把它插在电源插座上,它会根据你拍手的声音来开关电源。他甚至为这个项目制作了一个高质量的视频讲解(提供英文字幕)。
- “Clapruptor 1.0”
“Turing Wars”是一个游戏,每个玩家编写一个小型汇编程序,然后这些程序在一个实际上是一个虚拟机的竞技场中相互竞争!
- “Turing Wars”,一个令人惊讶的复杂游戏,你的程序可以在竞技场中竞争!
“Cagificator”是一个基于网络的工具,可以输入任何人的照片,并将他们的脸替换成尼古拉斯·凯奇的脸。正如你在技术文章中看到的,这涉及相当多的计算机视觉工作。
- “Leonardo Di Caggio”,来自“Cagificator”的输出
“Fun With Types”可能是我见过的最有趣的演讲之一。在JS Romandie上,哈德良花了30分钟证明Typescript的类型检查系统是图灵完备的,同时还展示了各种Typescript魔法。
说实话,除非你有计算机科学博士学位,否则你可能会讨厌这个演讲。如果你知道“停机问题”是什么,请尽管去看看。
安全先锋
哈德良并非专攻安全领域,但他在这方面非常出色。
-
在我们大学的一个网络应用程序中,在“我的个人资料”功能中发现一个XSS漏洞后,他创建了一个XSS蠕虫。该载荷会通过受害者的浏览器自动自我传播,用“恶意”载荷更新他们自己的个人资料。这只是为了好玩,除了传播之外,载荷不会做任何事情。
-
他逆向工程了一款Android游戏“Fun Run”,并设法绕过了反作弊系统,重新打包了带有作弊功能的版本。博客文章
-
他完全从头开始编写了一个自托管的密码管理器,具有客户端加密功能。Vaultage
-
他比我更早地在一个CTF中利用了一个缓冲区溢出漏洞。他合著的技术文章实际上让我对二进制漏洞利用感到兴奋,并帮助我在这方面变得更好。
-
他在现实中利用了一个XSS和CSRF漏洞,然后给我发了一个恶意链接,将我的个人资料图片替换成了尼古拉斯·凯奇的照片。
-
一个外部网站上的XSS漏洞,用于触发CSRF漏洞,导致我的个人资料图片被替换为尼古拉斯·凯奇。
结论
下面的照片是我和哈德良的最后一张合影;在2022年4月30日星期六,庆祝我们的生日,就在我女儿Juliette出生两天后。哈德良将在三天后去世。
我没有任何遗憾。我们一起度过了无数高质量的时光。当我第一次遇见我现在的妻子时,他就在那里;我们一起旅行了多个国家;一起参加了我们的第一个行业会议;一起在乐队演奏;一起毕业;一起跑步;一起滑雪无数次。
然而,我们还有那么多计划。有那么多问题我从未有机会问他,那么多深夜谈话我们永远无法进行。我感激近十年来有哈德良作为我的亲密朋友。然而,我也感到非常愤怒。哈德良在这些年里无疑塑造了我,让我成为现在的我。哈德良,你将永远在我心中!