Ziglings: Learn the Zig programming language by fixing tiny broken programs5 months agohttps://codeberg.org/ziglings/exercises/#ziglingsZiglings 是一系列故意存在缺陷的程序,旨在通过修复它们来教授 Zig 编程语言。该项目灵感来源于 Rustlings,适合初学者学习,但具备一些编程经验会更有帮助。安装需要 Zig 编译器的开发版本,该项目会跟踪最新的开发构建版本。练习涵盖 Zig 核心语言特性,如函数、错误处理、结构体等,并包含部分标准库内容。高级用法包括运行特定练习、跳过正确性检查以及调试功能。欢迎贡献代码来改进解释说明、练习题以及更地道的 Zig 用法示例。
Nova Programming Language5 months agohttps://nova-lang.netNova是一种轻量级语言,适用于草拟想法、文档、笔记和个人工具。它专为无需计算机的随意建模、思考与计算而设计。Nova致力于简化编程,降低复杂性并提升可及性。它兼具编程语言、笔记系统、草图工具和沟通媒介的功能。资源包含学习材料、在线集成开发环境及社区平台。
Show HN: Gemini Pro 3 Hallucinates the HN Front Page 10 Years from Today5 months agohttps://dosaygo-studio.github.io/hn-front-page-2035/newsHLS-9星舰成功从静海基地传回遥测数据。Linux 7.4内核现已100%采用Rust语言编写。一名开发者分享为何宁愿手写代码也不使用编译器提示。LLaMA-12 7B模型通过WASM在隐形眼镜上运行。AlgoDrill推出交互式训练帮你掌握LeetCode解题套路。ITER装置实现持续20分钟的净能量增益。2024款Framework笔记本电脑修复过程全回顾。谷歌宣布停止Gemini云服务运营。WebGPU 2.0实现第五维度可视化。Nia(YC W36)为自主编程智能体提供上下文理解。Debian 18「Trixie」正式版发布。关于用Zig语言重写sudo的讨论。欧盟通过《人类验证权法案》。Neuralink V4蓝牙协议被逆向工程破解。后硅时代光子电路入门指南。FDA批准非处方CRISPR疗法治疗乳糖不耐症。SQLite 4.0版本发布说明公开。探讨如何防止AR眼镜中的广告注入。Jepsen测试显示NATS 4.2存在消息丢失。在RISC-V集群上运行GTA VI的实况。函数式编程再次被鼓吹为未来趋势。微软Office 365涨价至40美元/用户/月。浏览器内成功模拟Windows 10系统。SpaceX星链终端成功运行Tailscale测试。面向老年人的深度伪造检测指南。传闻:IBM拟收购OpenAI。服务端渲染技术意外复兴。卧室法拉第笼建造教程。AI发展可能陷入停滞,人类水平遭质疑。一款完全不使用AI的文本编辑器亮相。
If You're Going to Vibe Code, Why Not Do It in C?5 months agohttps://stephenramsay.net/posts/vibe-coding.html作者表达了对'氛围编码'(vibe coding)的反感,认为这种编程方式像是作弊,剥夺了编程的乐趣。尽管个人持保留态度,作者仍承认氛围编码是有效的,能够构建出健壮复杂的系统。作者引用《计算机程序的构造与解释》强调编程语言是用于人类表达的载体,而不仅是机器执行的工具。作者质疑为什么氛围编码要使用对人类友好的语言,而非C或x86汇编这类机器优化语言。作者推测未来可能出现专为AI辅助编程设计的'氛围导向编程语言'(VOPL)。作者通过历史上对新计算范式的抵制现象,反思当前对AI参与编程的质疑态度。
What Folk Can Do5 months agohttps://folk.computer/guides/what-folk-can-doJessie Grosen使用Folk创建了一个基于SuperCollider的音频系统,通过'双手'操作音轨。Vedran Budimcic在Folk中开发了类似Scratch的编程环境,增加了多角色支持,并考虑了儿童用户的可用性改进。Vedran还将Folk与玩具火车轨道集成,利用标签根据火车位置触发音效。Rob Fielding用Folk构建了轨道模拟系统,吸引孩子边玩边学。Jacob Haip将微控制器接入Folk,实现按钮、滑块等物理交互控制数字功能。Folk能轻松编程实现标注、描边、程序间箭头指向和图形绘制等功能。Mason Jones用Folk开设线性代数教程,展示了其教育潜力。Folk程序可组合成互动手册、纸艺作品及教育工具,如折纸青蛙教程和定格动画工具。
Revisiting "Let's Build a Compiler"5 months agohttps://eli.thegreenplace.net/2025/revisiting-lets-build-a-compiler/Jack Crenshaw的《Let's Build a Compiler》系列教程(1988-1995)虽年代久远且技术过时,至今仍具影响力该教程已被翻译为Python语言并支持输出WebAssembly,显著降低了现代程序员的学习门槛教程的独特优势在于其对话式风格、递归下降解析器方法以及即时生成代码的实践导向虽然采用了语法制导翻译技术,但在类型系统和优化方面存在明显局限性本教程是编译器构建的绝佳入门材料,GitHub仓库还提供了面向当代读者的现代化实现版本
Super-Flat ASTs5 months agohttps://jhwlr.io/super-flat-ast/介绍如何优化一种简单编程语言的解析器。当前实现采用递归下降解析器生成AST,内存占用较高。基准测试主要关注吞吐量(每秒代码行数)和最大内存使用量。引入字符串驻留技术,通过重用字符串和标识符来降低内存占用。采用指针压缩和平坦化AST表示以进一步优化内存和性能。使用碰撞分配法分摊内存分配成本,提高速度并减少内存占用。提出超平坦AST表示以实现更高效率,包含详细实现方案。结果显示每个优化步骤都显著提升了速度和内存使用效率。
Factor 0.101 now available5 months agohttps://re.factorcode.org/2025/12/factor-0-101-now-available.htmlFactor 0.101版本已发布,包含来自多位贡献者的近700次提交。主要变更包括UI渲染改进、HiDPI缩放修复、Unicode 17.0.0更新及Neovim插件支持。需要注意向后兼容性问题,包括参数顺序变更和词汇表重命名。Factor被描述为一种具有高级特性和广泛库支持的串联式堆栈编程语言。新增了Base92编码、Bitcask数据库、BlueSky协议支持等库。多个现有库获得改进,包括性能提升和新增功能。虚拟机改进包括ARM64后端修复。
A "Frozen" Dictionary for Python5 months agohttps://lwn.net/SubscriberLink/1047238/25c270b077849dc0/Python的字典是可变的,这在并发代码中会带来挑战。PEP 814提议为Python添加'frozendict'类型以实现不可变字典。frozendict在设计上就是安全的,可以防止意外修改。frozendict并非dict的子类,而是继承自基础object类型。frozendict的键必须是不可变的,但值可以是可变的。frozendict支持类似字典的并集和迭代等操作。围绕PEP 814的讨论包括O(1)时间复杂度从dict到frozendict转换等优化。该提案已提交给Python指导委员会等待批准。
Craft software that makes people feel something5 months agohttps://rapha.land/craft-software-that-makes-people-feel-something/作者开发Boo代码编辑器纯粹出于个人需求,并无主流商业化意图Boo采用创新导航系统,用更高效低成本的方案取代传统LSP协议作者暂停Boo开发转向个人编程语言项目,源于学习与创造带来的纯粹快乐优秀软件应当激发灵感——重复性工作会降低打造惊艳产品的可能性作者将编程比作搭乐高——多样性和灵感才是核心要素Boo并非商业项目,无需追赶进度或迎合外部期待在兴趣项目中,作者更看重个人灵感而非传统成功指标本文正是用Boo编辑器撰写,展示了其现有功能
Rust 1.92.05 months agohttps://blog.rust-lang.org/2025/12/11/Rust-1.92.0/Rust 1.92.0 版本已发布,引入了新功能和改进项默认拒绝 never 类型的 lint 检查现已强制执行,可能导致受影响的 crate 出现编译错误`unused_must_use` lint 不再对 `Result<(), UninhabitedType>` 或 `ControlFlow<UninhabitedType, ()>` 发出警告Linux 平台使用 `-Cpanic=abort` 时现在默认生成展开表,支持获取调用栈回溯改进了 `#[macro_export]` 的验证机制,并对内置属性实施更严格的检查多项 API 已完成稳定化,包括 `NonZero<u{N}>::div_ceil` 和 `Location::file_as_c_str`Rust 社区的贡献者在此版本中发挥了重要作用
Errors and Zig5 months agohttps://notes.eatonphil.com/errors-and-zig.html作者一直致力于使用Zig脚本记录和测试TigerBeetle的客户端库。Zig语言要求显式处理内存分配失败,因此需要大量使用`try`进行错误处理。作者探索了`try`的替代方案,如`catch unreachable`,但发现存在局限性,特别是在清理操作方面。最终发现结合自定义错误枚举与`defer`/`errdefer`的Zig错误处理机制更为有效。作者在循环和条件错误处理等场景中遇到了Zig错误处理语法的挑战。基于错误处理实践经验,作者为Zig文档贡献了相关内容。
4B If Statements5 months agohttps://andreasjhkarlsson.github.io//jekyll/update/2023/12/27/4-billion-if-state...幽默探讨用40亿条if语句判断数字奇偶性的荒谬实践对非常规编程方法初遭负面评价的批判性思考用C和Python实现该方案的性能与可扩展性挑战论编译器与文件格式限制(如PE文件4GB大小限制)通过手工汇编和机器码生成突破编译器限制最终方案的性能分析:揭示海量数据处理下的意外高效修复无符号数处理缺陷后的完整解决方案
A Lisp Interpreter Implemented in Conway's Game of Life5 months agohttps://woodrush.github.io/blog/posts/2022-01-12-lisp-in-life.html《生命游戏中的Lisp》是在康威生命游戏中实现的Lisp解释器,这是首个在此环境下解释的高级编程语言。Lisp语言的设计支持灵活的编程范式,包括能实现类面向对象结构的宏系统。作为图灵完备的细胞自动机,康威生命游戏通过简单规则展现了复杂计算能力。该解释器读取生命游戏模式中ASCII编码的Lisp程序,并在RAM模块底部输出运算结果。先前项目如《寻找俄罗斯方块》和APGsembly运行的是汇编语言,而本项目的创新点在于直接解释高级语言。该项目实施多层级优化:包括C编译器增强、Lisp解释器的内存管理,以及QFTASM层的架构改进。VarLife(八状态自动机)作为生命游戏模式的中间层,使模拟速度得到显著提升。该Lisp解释器支持词法闭包和宏等特性,在内存限制下仍能实现复杂编程。VarLife模式与生命游戏模式的运行时间存在差异,前者更快但后者通过OTCA元像素能实现精确模拟。项目包含从简单阶乘计算到复杂类面向对象结构的多种Lisp程序示例。
HyperCard on the Macintosh5 months agohttps://stonetools.ghost.io/hypercard-mac/HyperCard是Macintosh上一款革命性工具,让非程序员也能创建交互式软件。它采用基于堆栈的系统,用户可通过卡片、按钮和脚本构建应用程序。HyperCard内置了类似MacPaint的全功能绘图工具,支持用户创建自定义图形。其脚本语言HyperTalk设计平易近人,语法接近自然语言。该软件深刻影响了早期网页、维基百科和互动小说等现代技术。尽管存在不支持彩色显示和基础音效工具等局限,它仍能帮助用户快速开发功能性应用。HyperCard的精神遗产延续于众多试图复现其易用性与灵活性的现代工具和平台中。
Easel Now Has Stencils5 months agohttps://easel.games/blog/2025-dec-updateStencils(模板)是Easel中的一项新功能,可通过限定相机渲染区域实现场景过渡、战争迷雾、风格化边框及搜索揭示等特效。TextSprites现支持粗体/斜体样式参数、em单位字体大小调整(fontSize)及对齐方式(align/vAlign),显著提升文本显示效果与性能。物理引擎已升级至新版Rapier,性能提升25%且空间查询自动包含新碰撞体。Easel的回滚网络代码(rollback netcode)新增专属说明页,详解其多玩家游戏实现机制,可在其他玩家收到输入前立即响应操作。
I fed 24 years of my blog posts to a Markov model5 months agohttps://susam.net/fed-24-years-of-posts-to-markov-model.html介绍一款名为Mark V. Shaney Junior的极简马尔可夫文本生成器将探索性编程作为爱好,从而创建小型实验性程序使用查尔斯·狄更斯的《圣诞颂歌》训练马尔可夫模型进行测试将24年的博客文章输入马尔可夫模型以生成无意义文本展示模型生成的文本示例,呈现其虽不连贯但有趣的输出解释模型算法,重点介绍三元组和模型阶数演示增加模型阶数如何影响生成文本的连贯性通过初始提示展示最终文本生成示例,突出模型的奇特之处
An Implementation of J5 months agohttps://www.jsoftware.com/ioj/ioj.htmJ语言是APL的一种方言,可在多种机器上免费使用。它属于'字典式APL'开发路线,使用ASCII字符集。J语言扩展了APL\360的概念(如数组、动词、副词和秩),消除了异常情况。该语言比之前的APL方言更简洁且功能更强大。文档概述了J语言的实现,包括解析、动词、副词和表示方法等内容。
Chip‐8 Technical Reference5 months agohttps://github.com/mattmikolay/chip-8/wiki/CHIP%E2%80%908-Technical-ReferenceCHIP-8是一种编程语言,其技术规范旨在兼容Joseph Weisbecker最初设计的COSMAC VIP实现。CHIP-8指令集包含35条指令,其中部分指令最初未公开文档,但因兼容程序的使用而被后续确认。CHIP-8程序从内存地址0x200开始加载,特定内存区域预留给解释器和变量使用。CHIP-8拥有16个8位通用数据寄存器(V0至VF)和1个16位地址寄存器(I)用于内存操作。该解释器支持最多12层嵌套子程序调用,并包含两个可编程定时器:延迟定时器和声音定时器。输入通过16键十六进制键盘实现,键盘布局有明确规定。图形输出为单色64x32像素,采用XOR模式绘制精灵,并对屏幕外坐标进行自动裁剪。系统预载16个十六进制数字的字体库,每个字符大小为4x5像素。文档引用了多份历史手册和文章,供进一步阅读CHIP-8编程及实现相关内容。
Advent of Swift5 months agohttps://leahneukirchen.org/blog/archive/2025/12/advent-of-swift.html在Void Linux上使用Swift 6.2,由于缺乏与Python 3.13兼容的预编译二进制文件,需要从源码开始编译。Swift工具链用户友好,提供解释器支持快速脚本开发及REPL环境,但崩溃时的堆栈回溯信息帮助有限。在Swift中使用正则表达式遇到性能问题,最初比Ruby慢100倍,优化后仍有3倍差距。Swift语法现代且受C系语言启发,具备检查异常、Optional与Result类型等特性,并提供便捷的语法糖。标准库文档完善且包含实用功能,但在处理Unicode密集型字符串操作时略显不便。类型检查错误的反馈速度较慢,但其他错误信息清晰有用。注意到缺失部分功能(如元组Hashable支持、数组/序列的模式匹配),这些是Swift可改进的方向。尽管存在不足,使用Swift进行编程仍充满乐趣且直观,不过在非MacOS系统上的库生态仍是顾虑。