会写TypeScript就能理解日语语法——Typed Japanese项目能做到(吗?)

4 月 16 日
阅读 6 分钟
193
近日,Yifeng Wang 和 Satoshi Terasaki 发布了名为 Typed Japanese 的开源项目。该项目旨在借助 TypeScript 的类型系统帮助程序员学习日语。会写 TypeScript 就能理解日语语法——自然语言的语法规则完全可以映射到 TypeScript 的类型系统之中。
封面图

AI画疯了,扛着AI反AI的也来了!开发Chrome插件专门屏蔽吉卜力风格的图片

4 月 9 日
阅读 3 分钟
374
近日,ChatGPT 解锁了全新的 AI 图片生成功能,现在只需一句话,就能把照片变成“吉卜力风格”。没过几个小时,网络就已经被各种吉卜力风格的图片和梗图攻占。

PHP又出Bug了?md5('240610708')竟然等于 md5('QNKCDZO')!

3 月 30 日
阅读 2 分钟
450
如下图所示,'240610708' 和 'QNKCDZO' 是两个完全不同的字符串,它们的 MD5 哈希值自然也不相同。可为什么明明不同,PHP 还会认为这两个哈希值相等呢?更离谱的是,从 2004 年底的 PHP 4.3.10 版本开始,这个“问题”至今一直存在,所有后续版本都会认为它们是相等的!

氛围编程Vibe Coding的梗图

3 月 27 日
阅读 2 分钟
369
今年 2 月初,OpenAI 联合创始人、前特斯拉 AI 负责人 Andrej Karpathy 于社交平台上提出了氛围编程 Vibe Coding 这一概念。仅仅过了一个多月,这一术语就迅速席卷了开发者社区。

难以想象!cURL的前身竟是如此粗糙的300多行代码?

3 月 20 日
阅读 4 分钟
381
今天,cURL 无疑是全球最受欢迎的网络工具之一,下载量突破百亿次,几乎每个开发者的工具箱里都少不了它。无论是大型项目,还是写着玩的小脚本,往往都要依赖 cURL 来进行数据传输。据说 NASA 使用了 cURL 进行火星探测器数据传输!这让 cURL 成为第一个在地球外运行的开源软件。

Python 3.14版本的彩蛋

3 月 17 日
阅读 2 分钟
370
使用 3.14 版本的 Python 创建一个虚拟环境,会看到在虚拟环境的 bin 目录中,不仅有 python3、python3.14 等常规文件,竟然还存在一个特殊的文件 𝜋thon。

用汇编语言编写计算两整数之和的程序(下)

3 月 4 日
阅读 3 分钟
339
本文节选自《计算机是怎样跑起来的(第2版)》第 3 章“体验汇编语言”的草稿。在翻译本章时,我们发现原书所使用的软件仅提供日文界面,并且介绍的是主要用于日本计算机相关考试的 CASLⅡ 汇编语言,其通用性相对较低。为了让内容更广泛适用,并便于读者实践操作,与作者及编辑老师商议后,决定采用更为通用的 NASM 汇编语...

用汇编语言编写计算两整数之和的程序(中)

3 月 3 日
阅读 4 分钟
490
本文节选自《计算机是怎样跑起来的(第2版)》第 3 章“体验汇编语言”的草稿。在翻译本章时,我们发现原书所使用的软件仅提供日文界面,并且介绍的是主要用于日本计算机相关考试的 CASLⅡ 汇编语言,其通用性相对较低。为了让内容更广泛适用,并便于读者实践操作,与作者及编辑老师商议后,决定采用更为通用的NASM 汇编语...

用汇编语言编写计算两整数之和的程序(上)

3 月 3 日
阅读 4 分钟
455
本文节选自《计算机是怎样跑起来的(第2版)》第 3 章“体验汇编语言”的草稿。在翻译本章时,我们发现原书所使用的软件仅提供日文界面,并且介绍的是主要用于日本计算机相关考试的 CASLⅡ 汇编语言,其通用性相对较低。为了让内容更广泛适用,并便于读者实践操作,与作者及编辑老师商议后,决定采用更为通用的 NASM 汇编语...

还记得十几年前PHP那个0x00+2=4的Bug吗

2 月 28 日
阅读 4 分钟
440
十几年前,在还能因“PHP 是最好的语言”而争论起来、还能在上海举办 PHPCon 的那个时代,记得看到过 0x00+2=4 这么一个有关十六进制加法的 Bug([链接])。

也许错过了这期杂志就没有今天的微软公司了

2 月 24 日
阅读 2 分钟
471
1974 年 12 月,冒着剑桥市清晨刺骨的寒风,保罗·艾伦兴奋地捧着一本《Popular Electronics》(大众电子)杂志,像跑步冠军一样飞奔到哈佛大学去找好友比尔·盖茨。谁能想到,这本 1975 年 1 月刊的杂志,竟然促成了微软公司的诞生。

在2000年前后,硬盘分区把26个字母都用完会怎样?——c(24)来自DOS v4.0源代码的答案

2 月 20 日
阅读 3 分钟
395
2000 年前后,主流的 Windows 95/98 并未提供图形化的硬盘分区工具,人们不得不先使用一个叫作fdisk的命令来创建分区,再格式化 C 盘,然后才能开始安装 Windows。

Rust中non_exhaustive的enum

2023-11-01
阅读 3 分钟
728
Rust中non_exhaustive的enum所谓non_exhaustive的enum就是定义中带有#[non_exhaustive]的enum,如 {代码...} 在定义了这个enum的crate中,non_exhaustive没有任何效果。 {代码...} 但若引用的crate中存在non_exhaustive的enum,会发生什么呢?以libpnet这个crate为例,在[链接]这个页面给出的示例代码中,可以看到这么一...
封面图

用Rust实现UDP Echo服务器和客户端

2023-10-27
阅读 9 分钟
1k
相较于TCP Echo服务器(参考用Rust实现TCP Echo服务器),UDP Echo服务器要简单不少,不但没有listen()和accept()之类的系统调用,也不需要为每个客户端都创建一个新线程。数据通过所有客户端共享的?(待确认)套接字server_socket到达UDP Echo服务器后,服务器就将数据再通过这个套接字原样返回,仅此而已。
封面图