转自:公众号码农翻身
一个超级程序员,不仅仅在技术的深度上超越大众,更是在广度上傲视群雄。
美国程序媛Justine Tunney就是如此,她的主页上列了一堆“吓人”的项目,一般人拥有其中任意一个,都足以吹嘘半辈子。
我们来看看Justine Tunney都做了哪些工作吧!
1. Web服务器RedBean
一个Web服务器没啥稀奇的,但是让人震撼的是
同一份二进制代码,竟然可以在6种操作系统上运行!
大家可以在不同的平台下载试试:https://redbean.dev/
这个Web服务器使用C语言写的,根本没有用虚拟机,字节码,Justine Tunney是如何做到无视平台差异的?
Justine Tunney的核心思想很简单:
无论任何编程语言,都会编译成x86-64 机器代码,如果我们的程序不调用任何外部代码,那么原则上Windows和Linux二进制文件的唯一区别就是包含二进制的文件格式。
因此,如果能够解决这个问题,程序将能够在任何操作系统上运行。
所以,Justine Tunney施展魔法,创造了一个叫做
APE
(Acctually Portable Executbale)的文件格式,这是一个
真正可以移植的文件格式,单个 APE 文件可以在任何 x86-64 操作系统上正确执行
。
2. cosmopolitan libc
有了APE,“编写一次,到处运行”对于一个C语言程序就很容易了。
可是一个稍微有用的程序必须要调用某个库,最基本的是
C标准库
。
libc不但要实现输入/输出处理、字符串操作、内存管理、数学计算等基本操作,还得实现文件操作、网络通信、进程和线程管理。
如果没有广泛的编程知识、对C语言标准的深入理解,以及对目标操作系统的系统调用和内核行为有透彻的了解,这件事想都不要想。
为了实现真正的可移植性,Justine Tunney自己动手写了一个libc:cosmopolitan libc
考虑到需要兼容各个平台(甚至在裸机上运行),这个工作量实在是太吓人了。
而Redbean Web服务器,则是APE格式和cosmopolitan libc的集大成之作。
3. sectorLisp
迄今为止最小的Lisp实现,仅有512个字节
,可以通过PC的BIOS引导启动。
充分展示了Justine Tunney 在底层硬件方面的编程功力和创造力。
4. Blinkenlights
它本来的目的是命令行调试器,专注于可视化软件如何改变内存。
实际上,它还是一个x86的模拟器,代码简短而清晰。
5. RoseHub项目
2016 年,Justine Tunney在使用Apache Commons类库(用Java编写)时,发现了一个反序列化的漏洞。
由于 Apache Commons 非常流行,被很多项目使用,Justine Tunney发起了RoseHub的项目来解决这个问题。
她招募了 50 名 Google 员工来提供协助,最终修复了2600个GitHub项目,为开源软件的安全性做出了重大贡献。
6. llamafile
这是Justine Tunney和Mozilla合作的项目,借助 Justine 非凡的工程才华,
llamafile可以将复杂的大模型(LLM)打包成一个独立的可执行文件, 用户只需下载并执行该文件
,无需安装运行环境或依赖库就可以使用大模型,这大大提高了使用大型语言模型的便捷性。
当然,借助
cosmopolitan libc
,这个可执行文件可以在六种操作系统上运行。
7.在控制台输出视频
Unix/Linux终端都是黑乎乎的,最多有些彩色字符,但是你能想象到在终端输出视频吗?
Justine做到了:
通过
解码MPEG视频流,把其转换成的终端可以显示的字符以及对应的颜色,从而来模拟视频的播放
。
正是由于这么多项目,网上有人说:“
每次看到她写的代码,我都感到自己无比平庸
”,并且把她的成就和
Fabrice Bellard
并列。
(参见《
比Linus更厉害的程序员,这家伙一定是穿越回来的!
》)
Justine Tunney出生于1984年,年少成名。