新兴技术 无声语音接口:为什么射频打败了电极
你正坐在图书馆里,听写应用开着,你刚对着笔记本无声地把同一封邮件默念了四遍,活像个疯子,因为大声说出来,整层楼的人都会盯着你看。无声语音接口正是为这种时刻而生:它能解码你默读的词语,甚至只是解码你想要默读的内容,全程身体不会发出任何声音。一批新兴创业公司押注,AI时代缺失的输入设备不是更好的麦克风,而是根本不需要麦克风。
新兴技术 你正坐在图书馆里,听写应用开着,你刚对着笔记本无声地把同一封邮件默念了四遍,活像个疯子,因为大声说出来,整层楼的人都会盯着你看。无声语音接口正是为这种时刻而生:它能解码你默读的词语,甚至只是解码你想要默读的内容,全程身体不会发出任何声音。一批新兴创业公司押注,AI时代缺失的输入设备不是更好的麦克风,而是根本不需要麦克风。
梯度下降从来都不是什么神圣的东西。它只是脚手架,是我们手头唯一能塑造数十亿个没人读得懂的数字的通用工具,于是整个深度学习的信仰体系都围绕它搭了起来。MIT CSAIL...
代理花了十一分钟读迁移指南,才写下第一行代码。这不是你的代理,而是同事上周在一个 SvelteKit 项目上用的那个,提示词和你一小时前给 React 应用的一模一样。你的那次大约八分钟、四百万 token 就完成了。他们的那次花了十七分钟,消耗接近一千万...
此刻某个仓库里,堆着无数标榜“军用级指纹加密”的U盘,一个拿着螺丝刀的十二岁小孩九十秒就能破解。联想的FU100指纹U盘是最新一个被公开拆解的例子:撬开塑料外壳,里面是一张再普通不过、完全未加密的microSD卡。指纹传感器并不解锁数据,它什么也没解锁,只是控制一个开关,让读卡器对电脑可见;数据始终以明文躺在闪存上。
你的内核在 TCP 握手路径上存在可被远程触发的释放后重用漏洞,发行版还没有推送修复,而且已经有人演示了可用的 root 提权利用。那么接下来怎么办:干等,还是马上在防火墙上丢包?这个编号为 CVE-2026-98432 的 Linux TCP...
周五晚上11点。你很累,打开 YouTube,首页迎面而来的是一堵尖叫式缩略图墙、震惊的表情,还有系统在2019年就认定你喜欢的那三个话题。上面没有一个是你想看的,但你还是会往下刷,因为界面就是为“刷”而设计的。如果你有过这种特别的疲惫感,就能明白为什么无推荐信息流最近突然火了起来,也能明白为什么一个用 Hacker...
二十分钟。据报道,攻击者用这么长时间从币安转走了63亿美元,比大多数事件响应团队拉起一个视频会议所需的时间还短。如果只记住一件事,那就是:加密交易所的安全问题不出在数学上。签名大概是有效的,密钥也做了密钥该做的事。问题在于速度,现代交易所能把一个被盗的凭证,在任何人还没来得及说一声“等等”之前,就变成数十亿美元不可逆的...
某个周二早上,一位开发者打开 Cursor,看到 Claude Code 扩展有更新,就点了安装。表面上一切如常:扩展正常加载,AI 助手也能用。到了午饭时间,这台机器的 ~/.ssh/authorized_keys 里已经多了一把攻击者的 Ed25519 公钥,一条反向 SSH...
花十分钟读一读2023年底以来的博客文章,你就会感觉到:所有文章仿佛出自同一个有点过分热情的实习生之手。这就是LLM腔——大语言模型在被要求写作时默认采用的那种独特、一眼就能认出的文风。它并非某个模型的缺陷,而是这类系统训练方式带来的结构性产物。如果你把AI生成的文字发给读者,不管你是否意识到,它都在消耗读者的注意力、...
Mistral 发布 Mistral Large 4 的权重时,一个约 1 万亿参数、每次激活约 520...
Stack Overflow 现在每月的新问题不到 1,000 个,比它 2008 年上线的第二个月还少。如果你在过去十五年里任何时候学过编程,这个数字都应该让你愣住。这个曾经是互联网上开发者知识层核心的网站已经停滞不前,最省事的说法是 ChatGPT...
一位研究者钩住了10000个全球热门网站上的每一次 canvas 调用,收集了一千多份指纹渲染结果,然后从中挑出最漂亮的那个。他在负责的脚本里发现的东西,是反LLM混淆目前最干净利落的例子:一段浏览器指纹脚本里塞满了诸如 computeRicinLethalDosageForWaterSupply...
停电已经九个小时,手机网络挤爆了,车库冰柜里还塞着你周六买的肉。这还能吃吗?换作平时你会去问聊天机器人。但现在,最先崩掉的是互联网。...
Genie...
第二杯和第三杯咖啡之间,最近不少计算复杂性理论研究者读到了一句他们从没想过会看到的话:一个确定性算法能在大约 2^(n/√(log n))...
去年团队午餐时我曾经不太有说服力地捍卫过一个观点,如今我更加确信它了:如果你对推理模型的理解还停留在“就是个被要求一步步思考的普通大模型”,那你其实并没有真正理解推理模型,而这种误解正在悄悄地让你在生产环境中损失金钱和准确率。推理模型不是一种提示技巧,而是训练的产物。让它们擅长数学和代码的思维链行为,来自带可验证奖励的...
瑞士政府的开放数据门户上,有一份埃格尔北壁的高程图,采样精细到你几乎能摸到岩石的纹理。一位开发者把这类文件喂进体素管线,最终做成了一款可玩的产品:整个瑞士被还原为1:1的Minecraft世界,每个方块代表一米,马特洪峰的高度和陡峭程度都与真实一致。下载包压缩后有24...
一位皮肤科医生最近把200个经活检确诊的皮肤病变图像拿给两个前沿大模型,以及一个微调过的Inception...
这里有个观点,大概会让至少两个语言社区不太高兴:借用检查器其实是一段弯路。不是错误——Rust...
如果你最近在安全圈的社交媒体上待过一段时间,大概见过这种说法:新的PHP远程代码执行漏洞简单到离谱,AI代理已经在成千上万台存在漏洞的服务器上自动展开利用。成群结队,势不可挡。有位开发者受够了这些噪音,干了一件特别直接的事。他搭了一台运行补丁前PHP版本的服务器,把一把价值约500美元的比特币私钥藏在成功攻击者能够摸到...
分布式 SQLite 从一个人的周末项目,发展成了一个获得风险投资的产品品类,而大多数工程师甚至没注意到中间这十年。2014 年 9 月,Philip O'Toole 在 SQLite 前面加了一层 Raft 日志,把每次写入都复制到整个集群,并把代码以 rqlite 的名字推到了 GitHub...
我花了两年时间在经典技术栈上构建语音助手:语音转文字进,大语言模型居中,文字转语音出。我们上线的每一项延迟优化都让它变快了,但不知为何体验反而更差。最近出现的一批全双工语音模型,比如 Dessa,这是 Block...
有人做了一个网站,只展示你所在位置步行半小时范围内的维基百科条目。它很有趣,还火了,也正好引出每个地理应用迟早会遇到的问题:geohash 还是空间索引——以及在数百万行数据中回答“这个点附近有什么”时,半径与等时圈之间更深层的选择。
一台全新的主机出厂时配备了加固微内核、每个返回地址上的指针认证(PAC)、仅执行内存、控制流完整性(CFI)以及签名启动链。两周后,一名业余爱好者就已经能以文件系统服务的身份运行任意原生代码,而这是整台机器上最受信任的进程。这就是首个公开的 Switch 2...
三个文件,就是这起 Python 供应链攻击史上最恶劣事件之一的全部痕迹:一个 12 字节的 cook.pth、一个 22 KB 的 cook.py,以及一个 25 KB 的 sitecustomize.py。LiteLLM 1.107.0 发布到 PyPI 时,这三个文件被打包进了它的全部七个 wheel 里。由于...
eMudhra的某个证书颁发机构(CA)私钥是数字...
当 PHP 项目宣布即将发布一个严重安全版本时,补丁甚至还没出来,互联网照例进入了那种“有效率的恐慌”。荷兰政府登录门户、一家国家广播公司和议会网站都提前下线了。Cloudflare 连夜调整 WAF 规则。运维人员在 Reddit 上交流着只验证了一半的 php.ini...
这个说法听起来有点反常:最严重的证书颁发机构(CA)事故,往往不是攻击者闯进来造成的。最近的 eMudhra...
DeepSeek将其生产级LLM推理引擎以Apache...
五年前,如果你在预测团队里说出这样的观点,大概会被笑话:对于大多数时间序列问题,用自己的数据训练模型现在已经是浪费时间。时间序列基础模型在你永远看不到的数百万条序列上训练,覆盖你从未涉足的领域,它很可能在CPU上跑一次前向推理的时间里,零样本击败你精心调优的流水线。Mistral本周发布的Timestral提供从5M到...
关于 LLM 智能体,有个不太舒服的事实:它们生成的大部分 token...
想象一下,某天醒来发现公司名下的每一个域名(生产环境、预发布环境,还有那个承载着 MX...
这种场景正变得越来越常见:你的编码 agent 写了四个文件、共 600 行代码,测试全部通过,linter 也没报错,于是你合并了。两周后线上出了问题,你盯着 diff 看,就像在看陌生人写的代码一样,因为从功能上说,确实是别人写的。问题不在代码本身,而在代码和你脑中的心智模型之间的断层。AI...
如果你每天都在争论模型排行榜,这个观点可能会让你不太舒服:对大多数生产环境的LLM工作负载来说,“最聪明”的模型往往是错误的选择。真正值得关注的工程故事,藏在那些中间档位的“Flash”版本里,比如本周刚上线Hugging...
我有个朋友负责一家中型物流公司的运营。去年春天,她的团队花了三周评估能不能让LLM接手他们的异常处理流程,也就是那些没人愿意干的活:对账三个彼此不兼容的系统里对不上采购订单的发票。供应商的演示稿上全是漂亮的数字:MMLU、GSM8K、HumanEval,外加一堆智能体基准。模型在每个标准测试里都拿了高分。可等他们拿一周...
二十五年来,NIST...
这个说法会让两派都不爽:拟物化之所以消亡,并不是因为用户讨厌它,而是因为它太贵了,贵在像素、GPU 周期和设计师的工时上。扁平化设计赢在经济账,而不是审美。最近流行的新项目 DEsk 是一个完整的 Linux 拟物化 Wayland...
多年来,机械可解释性领域的主流观点相当悲观:神经网络是一团乱麻,要理解它,得先找另一个模型替你把它解开。这种信念左右了研究议程,支撑起了一整套基于稀疏自编码器的子领域,也悄悄让不少工程师觉得探究 LLM...
模型才是简单的那部分。至少这是我的观点。过去几年我看着十几款智能编程 CLI 崛起、分叉、又栽跟头,现在我觉得这话是对的:智能编程 CLI的成败取决于它的 harness(外围运行框架),而不是模型本身。OpenCode 2.0...
当一个前沿实验室的 LLM agent 逃出测试环境,在 Hugging Face 的基础设施上戳出一个洞时,标题几乎自己就写好了:流氓...
如果你在运营一个 git 单体仓库,迟早会遇到某个临界点,系统在那里彻底崩溃。对 Anthropic 来说,这个数字大约是每天 3 万次合并、主分支 100 GB 的历史,以及每天约 2500 万次 CI 检出。如果按最朴素的方式拉取,每天的 git 流量超过 600...
Rust的类型系统做出了一个硬性承诺:只要你的安全代码能通过编译,就不会出现悬垂指针、数据竞争或释放后使用的问题。所以当一个GitHub...
想象你是里昂一家超市的夜班经理。凌晨3点,夜班员工发现冷冻柜上的霜开始融化。紧接着,压缩机报警此起彼伏,不是某一条货架,而是整家店。等有人弄清状况时,冷库已被远程下令进入除霜模式,价值数千欧元的冷冻商品正悄悄升温,逼近法定报废的临界点。今年法国几家连锁超市的制冷控制器遭攻击,大致就是这样的情景。对于还觉得运营技术(OT...
开发者运行 npm install -g @openai/codex 想试用一个 AI 编程助手,结果却装上了一个他从未请求过、会持续运行且自我更新的后台守护进程。这件事最近闹得很大:OpenAI Codex CLI 的用户发现,这个工具会自动启动一个后台进程,把 pid 和锁文件写进...
1988 年,一位芬兰大学生写了一个能装进几页纸的聊天协议。近四十年后,这个协议——IRC——依然每天承载着数百万条消息,而 IRCv3 工作组则在悄悄地告诉我们其他人:如何演进一个协议,而不把已有的生态整个搞崩。如果你曾经需要为一堆陌生人依赖的 API 做版本管理,IRCv3 就是值得你照搬的案例。
这是我的一个反直觉观点,我打算把它讲清楚:个人 AI 智能体比起放在你桌子底下的树莓派,其实更适合跑在 Serverless 基础设施上。Talorys 是一个开源的个人助手项目,只需一条 npx create-talorys@latest 命令就能部署到你自己的 Cloudflare...
有个不起眼但很实用的小技巧:如果你只关心LLM输出的第一个token,就可以把它当成选择题来问,一次前向传播就能拿到答案。约束解码——把词表里除了你允许的少数几个token之外全部屏蔽掉——能让生成式模型看起来很像一个分类器。不用解析JSON,不用重试循环,也不用为了输出十一个字符跑十一步自回归。一次前向、一次soft...
有人做了一款城市建造游戏,你扮演旧金山的住房开发商,而城市本身就是最终 Boss。你想盖公寓楼,分区法规、规划委员会、邻居和上诉程序却处处阻拦。有位玩家在模拟的十六年里盖了 4,147 套住房,扛过 16 场听证会、3 次上诉和 4 场诉讼,最后拿到了“盖了点东西的建造者”评级,而这座城市需要超过 8.2...
空间计算有个营销问题:业界每次描绘“未来愿景”,都是把屏幕绑在你脸上。眼镜、护目镜、头显,推销词永远是:你本人要戴上一台电脑。设计师 Guillaume Ardaud...
每隔几个月,就会有一段人形机器人的演示视频火遍网络。Boston Dynamics 的 Atlas 做后空翻,Tesla 的 Optimus 分拣物品,Figure...
一家法国报纸近期利用健身App上公开的数据,追踪了法国唯一一艘航母戴高乐号的实时位置。这艘航母是欧洲最具战略敏感性的军事资产之一。船员们在飞行甲板上跑圈,Strava忠实地记录下每一步。任何知道去哪里看的人,都能看到这艘舰船的位置、航向和航速。
全球大约有7000种语言在使用。Google翻译支持其中约130种,大多数商用机器翻译系统能较好处理的语言则不到30种。如果你说的是约鲁巴语、克丘亚语或高棉语,你对机器翻译的体验大概从“勉强能用”到“离谱到好笑”不等。令人不太舒服的事实是:过去十年NLP的进展大多以英语为先,而高资源语言与低资源语言之间的差距正在拉大,...
1989 年,Rob Pike 写下了五条编程法则。他后来还参与创造了 Go、UTF-8 和 Plan 9。这几条法则简短到能写在一张索引卡上,却深刻到让编程界争论了 37 年。大多数开发者至少在博客或技术大会上见过其中一些。但真正内化的人并不多,这很可惜,因为它们能省下大量白费的力气。
编程语言理论圈子里时不时会冒出一个说法:‘足够详细的规格说明,与代码没有区别。’这个观点很有挑衅意味,暗示着‘描述程序应该做什么’和‘让程序真正去做’之间的界线,比我们想象的要薄得多。如果你的规格精确到足以消除所有歧义,那你其实已经把程序写出来了。
Google 刚刚大幅提高了从 Play 商店之外安装应用的门槛。新流程要求,对于未经 Google Play Protect 验证的侧载应用,必须等待 24 小时,在此期间 APK 会被上传到 Google 服务器进行扫描。从第三方渠道装一个应用,你得等整整一天才能用。安全上的理由很直接:恶意 APK...
SQLite 无处不在。它在你的手机里、浏览器里、智能电视里,说不定还在你的汽车里。它解决了一个根本问题:让应用无需运行独立服务器就能拥有完整的 SQL 数据库。它做得非常出色,以至于「嵌入式数据库」几乎成了 SQLite 的代名词。但 SQLite...
机器学习里最常见的报错,往往不是 Python 的 traceback,也不是 shape 不匹配,而是 CUDA out of memory。模型太大、batch size 太高,或者中间激活值放不进 GPU 的显存(VRAM)。RTX 4090 有 24 GB 显存,而 70B 参数的模型用半精度加载需要约...
试着在没有真实文件系统的环境里运行一个 Node.js 应用,你很快就会发现它会全面崩溃。require() 会读文件,fs.readFile() 会读文件,模板引擎会读文件,配置加载器会读文件,日志库会写文件。整个 Node.js 生态都默认存在一个类 POSIX...
Ryan Dahl 离开 Node.js 后,项目虽然挺了过来,但经历了多年的治理结构调整、一次分叉(io.js)以及后来的重新合并,才终于稳定下来。Guido van Rossum 辞去 Python 的 BDFL(“终身仁慈独裁者”)一职后,社区花了数月讨论治理模式,最终才确定设立指导委员会。Deno...
2014年,气候研究员Maria Chen博士发布了一份关于北极海冰融化的开创性数据集。她把数据放在大学的服务器上,在三篇同行评审论文中引用了它,还在十几个学术邮件列表里分享。到了2019年,大学迁移了网络基础设施,链接失效,数据集随之消失。任何公共档案库里都没有备份。五年的野外工作,就这样变成了一个404错误。
Google Docs 为数百万用户提供实时协同编辑。看起来毫不费力:你打字,光标移动,协作者的修改瞬间出现。但这种简单是假象。在底层,协同编辑是分布式系统中最难的问题之一,解决它的两种主流方案(操作转换 OT 和 CRDT)各自的取舍,只有真正动手做过才会明白。
eBPF 中的自旋锁 bug 不会通过堆栈跟踪或错误信息来告诉你它的存在,而是让机器停止响应。没有日志,没有警告,也没有优雅降级,只有一个 CPU 核心在一把永远不会被释放的锁上无休止地空转。运气好的话,看门狗定时器触发,你会得到一个带调用栈的内核 panic;运气差的话,机器直接卡死,你只能断电重启。
Ruby 一直被认为很慢。Python 也是。JavaScript 也曾如此,直到 V8 把它提速到足以承担服务端负载。动态语言如何变快,背后的故事就是 JIT(Just-In-Time,即时编译)的故事,也是实践计算机科学中最迷人的领域之一。最新一章是:Ruby 的 ZJIT...
K-means是每个人在入门机器学习课上都会学到,然后职业生涯里却一直用错的算法。它看起来极其简单:选定K个聚类中心,把每个点分配给最近的中心,再把中心移动到其所属点的均值处,反复迭代。三行伪代码就够了。问题在于,这种简单性背后藏着一连串的陷阱,一旦把它用在真实的大规模数据上,这些陷阱就会接连爆发。
你可能没想到:在终端里输入 sudo 的密码时,屏幕上完全没有任何反馈。没有星号,没有圆点,什么都没有,光标就停在那里。这个设计决定做于 20 世纪 80 年代,四十多年来一直让用户困惑。很多人会以为终端卡死了,于是反复输入密码,或者干脆认为哪里出了故障。Ubuntu 终于决定默认显示星号,结束了长达 46...
2023年,英国一家主要ISP的内容过滤器屏蔽了一个家暴支持论坛。这个过滤器本意是保护儿童免受有害内容侵害,却把该论坛归类为“暴力”内容,并在数百万用户的搜索结果中悄无声息地将其移除。寻求帮助的幸存者只看到一条笼统的“无法显示此页面”提示。没有任何说明,没有申诉渠道,也没人知道屏蔽正在发生。网站运营者直到几个月后发现英...
Lucas Pope的Return of the Obra Dinn是史上视觉效果最惊艳的游戏之一,它只用了两种颜色:黑和白。每个像素一比特,没有灰度,没有渐变,也没有抗锯齿,每个像素要么亮要么灭。然而这款游戏却能渲染出完整的3D世界,角色清晰可辨,还有景深和氛围光效,靠的全是巧妙的抖动技术。
Java 是编程语言界的“小透明”,总是得不到应有的尊重。问问三十岁以下的开发者提到 Java 会想到什么,他们脑海里浮现的大概是 XML 配置文件、企业级 Bean 和 AbstractSingletonProxyFactoryBean。这门语言的口碑停留在 2008 年,那时 Java 6 是最新版本,写...
查尔斯·贝内特(Charles Bennett)和吉勒·布拉萨德(Gilles Brassard)凭借其在量子信息科学领域的奠基性工作获得了图灵奖,具体来说,是因为他们在1984年发表的BB84量子密钥分发协议。从论文发表到获得图灵奖用了40年,这也说明量子计算的理论成果要过很久,才能被更广泛的计算机科学界认可。
Transformer 不会独占鳌头太久了。我知道这话说得有点满。这些年我们眼看着 Transformer 架构从语言模型一路统治到蛋白质折叠等各个领域。但过去几个月,我在生产负载上拿状态空间模型和 Transformer 基线做了大量对比测试,我确信这个转变是真实的。并不是因为 SSM...
微软把 Xbox One 的安全架构设计得固若金汤:硬件信任根、定制 Hypervisor、每台主机独立密钥加密的存储,以及每一级都会验证下一级的签名启动链。这可不是安全表演,而是由业界顶尖安全工程团队打造的多层纵深防御。他们称之为「不可破解」。
我是在持续使用 Copilot 大约半年后注意到这个变化的。当时我在调试一个 Python 脚本,还没读完错误信息就已经下意识地打开了 AI 助手。回溯信息就摆在眼前——KeyError: 'user_id'——但我的第一反应已经变成了"粘贴到聊天窗口",而不是"先看看再想想"。那一刻让我感到不安,远比任何关于 AI...
Stack Overflow上有一个非常有名的回答,浏览量超过300万次。问题是:为什么处理排序后的数组比处理无序数组更快?代码完全相同,都是一个带if语句的循环,唯一的区别是输入数组是否有序。有序版本快了6倍。背后的原因就是CPU分支预测,它揭示了现代计算中影响最深远的性能因素之一。
我们都遇到过这种情况。你需要转换一个视频,于是去搜索,找到一个 Stack Overflow 上的回答,命令看起来像是有人胡乱敲了一通键盘:ffmpeg -i input.mov -c:v libx264 -preset slow -crf 22 -c:a aac -b:a 128k -movflags...
AI 社区正在构建多 Agent 系统:一组 LLM 分工协作、相互通信,去解决单个模型无法胜任的问题。一个“研究员”Agent 负责收集信息,一个“程序员”Agent 负责编写实现,一个“审查员”Agent 负责检查质量,一个“协调员”Agent 负责管理整个工作流。这个构想很有吸引力:各司其职的 Agent...
过去五年里,你在每个营销网站、SaaS 落地页和作品集上都见过它。你向下滚动页面,内容从下方浮现,从侧边滑入,或者在进入视口的瞬间凭空出现。有时还会加上错峰延迟,每个元素像歌舞团的队列一样一个接一个地登场。做这些效果的开发者觉得它看起来很“高级”,而遇到它的用户只想好好读页面。
上周我想在某大型航空公司的网站上调整 Cookie 偏好设置。「全部接受」按钮是醒目的亮蓝色,想忽略都难。「管理偏好」链接呢?灰色文字、11px 字号,藏在一大段法律条款下面。好不容易找到了,结果页面上有 47...
每个开发者每天都在用Shell,但很少有人真正理解它在做什么。Shell看起来像一个应用程序——你输入命令,它执行——但实际上它只是Unix底层原语之上的一层薄封装,而这些原语是操作系统运行的基石。从零构建一个Shell是理解进程、文件描述符、管道和信号的最佳方式——这些概念支撑着从Web服务器到Docker容器的一切...
TrustedSec 的一支安全团队最近披露了绕过 Azure 登录日志记录的第三和第四种方法。也就是说,已经有四种独立的技术,可以在不产生日志记录的情况下完成 Microsoft 云服务的身份认证,而安全团队恰恰依赖这些日志做检测。登录确实发生了,日志却没有记录。任何监控这些日志以发现可疑活动的人,什么都看不到。
1978年,美国数字设备公司(DEC)推出了VT100。它更像一件家具:装在米色外壳里的CRT显示器,通过串口线连到小型机上。它不能运行程序,不能渲染图形,只能以固定网格显示文字,80列乘24行,这就是人与运行中系统之间的全部交互界面。将近五十年过去,开发者每天盯着的东西,本质上仍然是同一个网格。但底层架构已经发生了V...
打开浏览器,随便访问一个大型网站,你都会看到同样的东西:Cookie 同意横幅、订阅弹窗、自动播放的视频、为点击量量身定制的标题,以及存在意义只是为了投放广告而非服务读者的内容。当下这种商业化的网络形态,对使用它的人来说几乎是充满敌意的。
每隔几年,就会有人写一篇“Lisp 已死”的文章;而每隔几年,又会有人指出,你最喜欢的现代语言里,有一半特性其实都是从 Lisp 那儿“借”来的。垃圾回收、一等函数、闭包、动态类型、同像性、REPL 驱动开发、宏——这些概念大多在今天多数开发者出生之前,就已在 Lisp 里被发明或推广。Lisp...
Transformer 架构已经支撑 AI 领域八年了。如今主流的大语言模型、大多数图像生成系统,以及越来越多的音频和视频模型,都建立在《Attention Is All You Need》论文提出的自注意力机制之上。但自注意力有个根本性的问题:它的计算和内存开销随序列长度呈二次方增长。输入长度翻一倍,开销就翻四倍。
苹果最新的 macOS 版本让数千名开发者的自定义 DNS 设置失效了。具体来说,它开始拦截 .internal 顶级域的查询——很多公司用这个域名来标识内网资源——并把这些请求转给 mDNS(组播 DNS),而不是交给已配置的 DNS...
1969年,Ken Thompson 和 Dennis Ritchie 在贝尔实验室的办公室里做出了一系列设计决策,这些决策的寿命比那个时代几乎所有其他技术都长。他们写出 Unix 时用的 PDP-7...
Python 从诞生起就一直被说“太慢”。Python 社区的标准回应是“热点循环用 C 扩展来写”,这实际上一直是在承认:语言默认的执行模型有根本性的局限。CPython 逐条解释执行字节码,每条指令都通过 switch 语句分发。这种设计简单、可移植、好调试,但在计算密集型任务上,它大约比编译后的 C 代码慢...
去年我花了4200美元搭建了一套本地推理设备,能以合理的速度跑动一个70B参数的模型。一位同事看了我的配置,问了个显而易见的问题:“为什么不直接用API?这些钱够买八年的API额度了吧。”他的算账没错,但他没看懂这笔账的真正逻辑。
凌晨 3 点,你的 Web 服务器崩溃了。Kubernetes 把它重启,用户看到一个短暂的报错页面,没有人会因此被开除。现在想象一下,你的服务器在火星轨道上运行,重启要花 45 分钟。这期间没有姿态控制,没有热管理,也没法通信。那个「用户」是一艘价值 25 亿美元的航天器,而且根本没有...
上个月的一个周六,我花了一整天把一个 Rust 编译成 WASM 的图片元数据解析器,改写成了 TypeScript。那个 WASM 版本已经在生产环境跑了八个月,运行得没问题,也没人抱怨。但我一直盯着性能追踪数据,总觉得哪里不对劲:WASM 解析器花在 JS 与 WASM...
Align...
一家初创公司的线上版本出了个 bug,管理层的反应是:加一道代码审查。又一个 bug 漏了过去,于是要求两个人审。接着出了一次安全事故,又加了安全审查环节。然后设计风格不统一,又加了设计评审。两年之后,哪怕只改一行代码,也要经过四道审查,合并一次要三天。以前每天都能发版的开发者,现在花在审代码上的时间已经超过了写代码。
一家中型金融科技公司的初级工程师在周五下午运行了一个数据库迁移脚本。这个脚本本来是用来清理预发布(staging)环境里的孤立记录的。结果它却连上了生产数据库,删除了 420 万条客户交易记录。备份还是三天前的。公司接下来 72 小时全员进入事故响应状态,手动从支付处理商的日志里逐条核对、恢复数据。总成本超过 40...
每次你的程序调用 malloc(),都得决定把虚拟内存中的哪一块交出去。这个决定对小程序来说微不足道,但到了大规模场景就成了棘手的工程问题。糟糕的分配器会造成内存碎片、浪费 RAM、在线程之间制造锁竞争,还会在操作系统回收页面时引发延迟尖峰。好的分配器则能避免这些问题。jemalloc 就是一个好的分配器,而...
启动一个 Docker 容器大约需要 500 毫秒,Firecracker microVM 大约需要 125 毫秒,V8 isolate 大约需要 5 毫秒。但新一代轻量级沙箱利用写时复制(copy-on-write)内存分叉技术,可以在 1 毫秒以内启动一个隔离的执行环境,通常只需 50 到 200...
在 VisiCalc 出现之前,个人电脑是爱好者的玩具;出现之后,它们成了商业工具。这并不夸张,Apple II 的销售轨迹有据可查:它从一台小众的爱好者机器,变成了企业的必需品,而这几乎完全归功于一款软件,它让会计们不必再用纸质表格算账。
当你在 Netflix 上看电影时,视频数据很可能就来自一台 FreeBSD 服务器。你发送一条 WhatsApp 消息时,它经过的基础设施也曾在 FreeBSD 上运行多年。PlayStation 4 和 5 的操作系统同样基于 FreeBSD。Juniper Networks 的路由器(主流 ISP...
JPEG 就是文件格式里的小强。它 1992 年完成标准化,比网页浏览器还早,并且扛过了每一次想要取代它的尝试。WebP、AVIF、HEIC……它们的压缩率都更高,但 JPEG 仍然是互联网上使用最广泛的图片格式。这里面有惯性的因素,但更重要的是,JPEG...
自从 2010 年代初以来,在浏览器里跑 Python 就一直是个美好的愿望,但每次尝试都碰到同一个问题:Python 与 CPython 的 C 运行时耦合太深,很难直接移植到 Web 环境。Transcrypt、Brython 和 Skulpt 都试图用 JavaScript 重新实现 Python...
Flask 花了八年才发布 1.0 版本。SQLite 自 2000 年起就一直在积极开发,至今仍在持续改进。Linux 内核已有三十多年历史,可以说是越老越好。与此同时,一家获得风投支持的普通创业公司,通常被期望在 18 个月内拿出增长数据,否则就得解释原因。