专栏名称: 猿大侠
猿大侠,既然选择了,就一定成为大侠! 小程序、小游戏、Google、苹果、职场、前沿技术分享,一起成长。
目录
相关文章推荐
笛扬新闻  ·  柯桥瓜渚湖公园,第一朵郁金香开了! ·  11 小时前  
笛扬新闻  ·  柯桥瓜渚湖公园,第一朵郁金香开了! ·  11 小时前  
姑苏晚报  ·  突然宣布终止运营!很多苏州人都玩过…… ·  12 小时前  
姑苏晚报  ·  突然宣布终止运营!很多苏州人都玩过…… ·  12 小时前  
看金坛  ·  绝了!金坛这个春天最值得打卡的赏梅圣地 ·  16 小时前  
看金坛  ·  绝了!金坛这个春天最值得打卡的赏梅圣地 ·  16 小时前  
记忆承载3  ·  如何看待过年期间所谓的花式攀比? ·  昨天  
51好读  ›  专栏  ›  猿大侠

每次看到她写的代码,我都感到自己无比平庸

猿大侠  · 公众号  ·  · 2024-03-10 12:38

正文

转自:公众号码农翻身


一个超级程序员,不仅仅在技术的深度上超越大众,更是在广度上傲视群雄。


美国程序媛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年,年少成名。







请到「今天看啥」查看全文