ShortNews.dev 2025-12-13
给软件开发者准备的优质简报,每日阅读 10分钟。
Hacker News
Rats Play DOOM
🔼 381 | 💬 142
让老鼠玩《毁灭战士》的VR系统
- 项目团队构建了一套完整的开源VR系统,包含动作追踪跑球、全景头显、输入触发器及奖励回路,所有硬件设计与控制软件均公开可获取
- 初始版本v1在纽约开发,训练老鼠在简化装置中穿越《毁灭战士》走廊;升级版v2采用模块化设计,配备180°折叠AMOLED屏与高精度传感器
- 系统通过旋转球体捕捉运动,电机辅助训练;定制扳机杠杆支持编码器检测与电机演示;奖励系统可精准分发10μL糖水强化行为
- 软件采用Python模块化控制,集成运动捕捉、奖励发放与《毁灭战士》游戏交互,通过树莓派与PC协同实现实时闭环操作
- 实验显示老鼠能适应虚拟环境并操作扳机,但因个体衰老未完成全面行为验证,系统仍需针对不同体型与习性校准优化
SQLite JSON at full index speed using generated columns
🔼 355 | 💬 106
SQLite JSON 的强大特性:虚拟列与索引优化
- SQLite 允许直接存储原始 JSON 文档,无需预先定义表结构或执行复杂的数据迁移
- 使用
json_extract创建虚拟生成列,这些列在查询时动态计算,不占用实际存储空间 - 可以为虚拟生成列添加索引,使基于 JSON 字段的查询达到与传统关系型列相同的 B 树索引性能
- 若后续需要基于新的 JSON 字段进行查询,只需新增虚拟列并添加索引,无需修改表结构或执行 ETL 操作
- 这一方法结合了无模式数据的灵活性和关系型数据库的高性能与操作便利性,避免过早锁定数据结构
Ask HN: How can I get better at using AI for programming?
🔼 80 | 💬 96
提升AI编程效率与质量的实用技巧
- 使用CLAUDE.md文件记录Claude常犯错误或重复性问题,Claude会自动读取此文件以避免重复提示,建议文件大小保持在1000个token以内
- 开启Plan模式(按两次Shift+Tab)与AI反复讨论计划后再执行,可将复杂任务的效果提升2-3倍
- 为AI提供验证工作的方法,例如使用Puppeteer MCP服务器让Claude在浏览器中检查Svelte代码的正确性
- 优先选择Opus 4.5模型,虽然价格较高但代码质量显著优于Sonnet 4.5及更早版本
- 采用语音转录表达需求,即使表述不够连贯,AI也能较好理解意图,可配合Whisper等工具实现快速输入
I tried Gleam for Advent of Code
🔼 152 | 💬 79
使用Gleam语言完成2025年Advent of Code的体验与洞见
- 作者连续七年完成Advent of Code全部挑战,今年首次选用Gleam语言,认为其语法简洁、编译器错误信息清晰,函数式编程风格特别适合处理文本解析和转换类谜题
- Gleam的管道操作符和
echo调试功能极大提升了开发效率,但缺少字符串插值功能在生成文本时导致代码冗长 - 语言内置的Option类型和
dict.get方法天然避免了网格类谜题中的越界错误,list.transpose、list.combination_pairs和fold_until等函数直接解决了多日谜题的核心需求 - 文件IO和正则表达式功能未包含在标准库中,列表模式匹配不支持中间匹配(如
[first, ..middle, last]),比较操作需要显式处理order类型而非布尔值 - 最满意的解决方案是第10天使用位运算和异或操作优雅解决灯光谜题,最不满意的方案是通过生成LP文件调用外部求解器
glpsol处理线性方程组 - 作者整体对Gleam体验积极,认为其管道操作、安全类型系统和丰富列表函数优势明显,计划在真实项目中继续使用
Useful patterns for building HTML tools
🔼 163 | 💬 53
构建HTML工具的有用模式
- 作者在过去两年中利用大语言模型(LLM)构建了超过150个HTML工具,这些工具将HTML、JavaScript和CSS集成在单一文件中,实现实用功能
- 建议采用单一文件结构,避免使用React等需要构建步骤的框架,并通过CDN加载依赖,以确保工具易于复制、粘贴和托管
- 推荐使用ChatGPT、Claude或Gemini的Canvas或Artifacts功能进行原型设计,并明确提示“不使用React”以避免复杂化
- 工具可以利用URL存储状态、localStorage保存敏感数据或较大状态,并充分利用CORS-enabled API和文件操作功能
- 作者强调记录并分享与LLM交互的完整对话记录,以帮助提升使用技能,并鼓励读者利用GitHub Pages自行托管和扩展工具集合
Java FFM zero-copy transport using io_uring
🔼 85 | 💬 37
MVP.Express:基于 FFM API 的高性能 Java 基础架构
- 完全基于 Java FFM API 构建,摒弃 Unsafe 和 JNI,实现原生速度、内存安全和零垃圾回收
- 采用 io_uring 网络技术和注册缓冲区,实现零拷贝架构,网络性能比 Netty 快 39%
- 提供垂直集成的全栈方案,包含 RPC 框架、序列化、内存池和分布式缓存,各组件可独立使用
- 在热点路径上实现零内存分配,GC 压力为零,P50 延迟低至 27 微秒,解码性能比 SBE 快 23%
- 支持 YAML 模式驱动代码生成,具备模式演进锁定机制,确保编译时安全和运行时高性能
- 适用于高频交易、实时广告竞价、游戏服务器和物联网等高吞吐量、低延迟场景
Go Proposal: Secret Mode
🔼 103 | 💬 31
Go 提案:Secret 模式——运行时自动擦除敏感内存
- 新增
runtime/secret包,提供Do函数,在函数执行后自动擦除(清零)其使用的寄存器、栈内存,并在垃圾回收时擦除堆内存,防止敏感数据(如会话密钥)残留 - 专为加密库开发者设计,支持实现前向保密,确保即使长期密钥泄露,过往会话仍无法被解密
- 当前仅支持 linux/amd64 和 linux/arm64 平台,存在多项限制:不保护全局变量、禁止内部启动 goroutine、若发生 panic 则内存擦除可能延迟
- 堆内存擦除需满足程序释放引用且垃圾回收器检测到不可达,时机依赖运行时行为,且需避免将机密信息存入指针(可能被 GC 缓冲区泄露)
- 作为实验性功能,需通过
GOEXPERIMENT=runtimesecret启用,不建议应用开发者直接使用,而应依赖已集成该机制的高层加密库 - 即使函数发生 panic 或调用
runtime.Goexit,仍会确保内存擦除,但堆分配的内存需在不再可达时才会被清除
Researchers seeking better measures of cognitive fatigue
🔼 76 | 💬 21
大脑为何会疲劳?科学家探索精神疲劳的根源
- 俄罗斯国际象棋大师加里·卡斯帕罗夫1996年与IBM深蓝计算机对弈时抱怨大脑疲劳,而机器不会,这激发了研究人员对认知疲劳的系统研究
- 认知疲劳会削弱动力、钝化专注力、侵蚀判断力,增加失误风险,与睡眠不足或昼夜节律紊乱结合时可能导致致命的医疗错误和交通事故
- 当前理论认为,维持“认知控制”(需要努力引导和调节思维的过程)对大脑消耗巨大,导致疲劳感产生,这是一种保护性警告机制,表明大脑接近生理极限
- 研究发现认知疲劳与多种分子变化相关,包括葡萄糖、乳酸、谷氨酸、腺苷等代谢物水平变化,以及脑源性神经营养因子和与阿尔茨海默病相关的β-淀粉样蛋白的作用
- 长期新冠(long COVID)引起的广泛关注和资金投入大大推动了疲劳研究,疲劳是长期新冠、慢性疲劳综合征、多发性硬化症、抑郁症和帕金森病等多种疾病的主要症状
- 研究人员正在开发更客观的疲劳测量方法,传统依赖自我报告和任务表现测试的方法存在主观性、不可靠性,且易受动机、无聊和挫折等因素干扰
Id Software devs form "wall-to-wall" union
🔼 315 | 💬 341
Id Software 员工成立全面工会,165名员工投票支持
- 游戏工作室 id Software 的 165 名员工投票决定成立“全面工会”(wall-to-wall union),涵盖开发、美术、编程等多个岗位
- 此次工会组建基于微软与通信工人协会(CWA)在 2022 年达成的劳动中立协议,微软已承认该工会的合法性
- 工会组织委员会成员、id Software 制作人 Andrew Willis 表示,组建工会是为了应对行业高管单方面推行的工作场所变更
- 程序员 Chris Hays 强调远程工作不是福利,而是员工健康、家庭和可及性需求的必要保障,反对不考虑可及性的返岗政策
- 工会化背景包括大规模行业裁员、突发加班期及不公平薪酬等问题,微软旗下工会成员总数已近 4000 人
OpenAI are quietly adopting skills, now available in ChatGPT and Codex CLI
🔼 524 | 💬 303
OpenAI悄然引入Skills功能,现已在ChatGPT和Codex CLI中可用
- OpenAI在ChatGPT和Codex CLI中低调推出Skills功能,灵感源自Anthropic的类似设计,每个技能仅需一个包含Markdown文件和可选资源的文件夹
- ChatGPT用户可通过提示访问
/home/oai/skills获取预置技能,目前涵盖电子表格、docx和PDF处理,其中PDF通过转换为PNG图像并由视觉模型分析以保留版式信息 - Codex CLI支持用户将技能文件夹放入
~/.codex/skills目录,需使用--enable skills参数启用,并通过list skills命令查看可用技能 - 实际测试中,ChatGPT严格遵循技能规范(如检查字体对macrons的支持),耗时11分钟生成专业PDF;Codex CLI成功应用技能编写了Datasette插件
- 作者认为Skills基于极简规范(近乎无正式标准),建议由新兴的Agentic AI基金会推动标准化,并强调该功能对提升AI工具有重大意义
macOS 26.2 enables fast AI clusters with RDMA over Thunderbolt
🔼 510 | 💬 264
macOS Tahoe 26.2 主要更新与修复
- 修复了 AirDrop 在 Beta 1 设置为“所有人”的设备无法被 Beta 2 设备发现的问题(编号:163636875)
- 解决了 Instruments 中 Allocations 工具对原生 Swift 类型的引用计数操作有时无法报告的问题(编号:163080666)
- 新增 Thunderbolt 5 主机间的 RDMA 低延迟通信支持,特别适用于基于 MLX 的分布式 AI 推理(编号:164123391)
- StoreKit 引入
AppStore.ageRatingCodeAPI,用于获取当前应用年龄分级并检测分级变化(编号:160960740) - 修复了虚拟化框架中虚拟机序列号为 0 导致 iCloud 及相关应用无法正常运行的问题(编号:163055944)
The Tor Project is switching to Rust
🔼 342 | 💬 254
Tor项目正式转向Rust语言以提升安全性与性能
- Tor项目正在用Rust语言重写核心组件(新项目名为Arti),以彻底解决C语言代码库中存在的内存安全问题,包括缓冲区溢出、释放后使用和内存损坏等漏洞
- Arti 1.8.0版本重构了电路超时机制,采用基于使用情况的随机超时替代原有的固定间隔超时,有效降低通过超时行为进行指纹识别的风险
- 新增实验性命令
arti hsc ctor-migrate,支持洋葱服务运营商将受限发现密钥从C语言版本无缝迁移至Arti的密钥库,无需手动操作 - 本次发布还包含对路由架构、协议实现、目录缓存支持及OR端口监听配置的多项优化改进
GitHub Trending
CopilotKit / CopilotKit
⭐ 26049 | 🔀 3429 | TypeScript 86.3%, Python 8.7%, CSS 2.1%, Shell 2.0%
CopilotKit v1.50:构建深度集成AI助手的开源框架
- 推出全新
useAgentv2 Hook,作为useCoAgent的超集,提供更强大的代理连接控制能力 - 支持React、Next.js、AGUI等多种框架,通过CLI命令(
npx copilotkit@latest create)快速集成 - 提供生产级UI组件,支持无头API自定义或预构建组件深度定制,包含完整流式响应支持
- 内置提示注入防护等安全机制,确保开源透明与社区驱动发展
- 通过AG-UI协议实现与LangGraph、CrewAI等智能体工作流的深度连接和原生集成
shadcn-ui / ui
⭐ 101931 | 🔀 7417 | TypeScript 89.6%, MDX 7.5%, CSS 2.8%
shadcn/ui 开源组件库介绍
- 提供一组设计精美的组件,支持自定义、扩展和二次开发
- 采用开源模式,代码完全开放,可用于构建个人组件库
- 官方文档地址:http://ui.shadcn.com/docs
- 项目采用 MIT 许可证开放使用
- 欢迎通过贡献指南参与项目协作
karpathy / nanoGPT
⭐ 50995 | 🔀 8544 | Python 100.0%
nanoGPT:高效简洁的中等规模GPT训练框架
- 项目已停止维护,作者推荐使用新框架nanochat,但保留nanoGPT作为历史参考
- 核心代码极其简洁:训练循环(train.py)和模型定义(model.py)各约300行,支持加载OpenAI官方GPT-2权重
- 完整复现GPT-2(124M参数):在8×A100节点训练4天可达损失值2.85,支持多节点分布式训练
- 提供多层级训练方案:从莎士比亚字符级训练(GPU仅需3分钟)到OpenWebText的BPE分词训练
- 包含完整工具链:数据预处理、训练、采样和基准评估,支持CPU/GPU/MPS多种硬件环境
ChromeDevTools / chrome-devtools-mcp
⭐ 16568 | 🔀 1026 | TypeScript 96.2%, JavaScript 3.8%
Chrome DevTools MCP 工具核心功能与配置指南
- 作为 MCP 服务器,使 AI 编程助手(如 Gemini、Claude、Cursor 或 Copilot)能够控制和检查实时 Chrome 浏览器,实现自动化操作、深度调试和性能分析
- 提供性能分析(记录跟踪并提取可操作洞察)、高级浏览器调试(分析网络请求、截图和检查控制台)以及可靠自动化(使用 Puppeteer 自动化操作并等待结果)三大核心功能
- 需要 Node.js v20.19+、最新稳定版 Chrome 和 npm 环境,支持通过标准 JSON 配置快速集成到各种 MCP 客户端(包括 VS Code、Cursor、Copilot 等)
- 包含 26 个分类工具,涵盖输入自动化、导航控制、性能分析、网络监控和调试功能,支持通过命令行参数灵活配置浏览器连接方式和功能选项
- 存在安全风险:会向 MCP 客户端暴露浏览器实例内容,建议避免共享敏感信息;在沙盒环境中可能无法启动 Chrome,需通过 –browser-url 手动连接外部实例
simstudioai / sim
⭐ 19434 | 🔀 2584 | TypeScript 68.1%, MDX 31.4%
Sim:快速构建和部署AI智能体工作流
- 提供可视化画布界面,通过拖拽连接智能体、工具和模块,实现即时运行的工作流设计
- 集成Copilot辅助功能,支持通过自然语言生成节点、修复错误并优化流程
- 支持向量数据库整合,可上传文档构建知识库,使智能体能够基于特定内容进行问答
- 提供多种部署方式:云端托管(sim.ai)、NPM包、Docker Compose及手动配置开发环境
- 支持本地模型运行(Ollama/vLLM),无需外部API,要求PostgreSQL数据库配备pgvector扩展以支持AI嵌入功能
- 包含完整的自托管配置指南,涵盖环境变量设置、数据库迁移及故障排除方案
spipm / Depixelization_poc
⭐ 3598 | 🔀 272 | Python 100.0%
Depix:像素化截图文本还原工具的技术解析
- Depix 是一种概念验证工具,专门用于从使用线性盒式滤波器生成的像素化截图中恢复原始文本内容。
- 该工具基于 De Bruijn 序列生成的搜索图像,通过几何匹配算法逐步识别并还原单匹配和多匹配像素块中的文本。
- 实际使用需严格匹配原图的字体、字号、颜色及屏幕设置,且仅适用于未经过压缩处理的图像,否则色块信息会被破坏。
- 项目曾因媒体关注获得超过 2.6 万 GitHub 星标,但作者强调其仅为早期为特定需求开发的快速原型,并非成熟产品。
- 已知存在其他实现如 DepixHMM 和 UnRedacter,后者成功破解了基于 Depix 的像素化还原挑战。
Indie Hacker
From single experiment to portfolio of templates bringing in $9k/mo IH+ Subscribers Only Kazi Mohammed Erfan saw a gap in Webflow template design and filled it. Then he did it again and again. Now, he...
从单次实验到月入9000美元的模板组合
- Kazi Mohammed Erfan 最初发现 Framer 和 Webflow 的设计模板缺乏实际可用性,于是自学平台并提交了第一个模板
- 目前 Pentaclay 已拥有超过45个模板,每月带来9000美元收入,加上设计服务总月收入达15000美元
- 采用数据驱动方法优化设计,通过热图分析发现用户实际高度关注FAQ板块,显著提升了转化率
- 每月在Webflow提交6个模板、Framer提交7-8个模板,通过持续迭代和市场测试保持高速增长
- 通过设计社区互动、社交媒体分享和创作者合作实现战略增长,单篇内容最高获得3万次浏览
From ten years of failed products to $10k/mo and five acquisitions IH+ Subscribers Only Joshua Tiernan built many businesses and sold five. Those five successes were all no code. Here's how he did it.
从十年产品失败到月入1万美元并完成五次收购
- 经历十年在线零收入后,通过无代码平台Bubble开发的远程工作板首次成功,并在数月后被We Work Remotely收购
- 核心商业模式为构建并出售微型企业,已售出包括No Code Founders和Tiny Empires在内的六个无代码业务,后者被收购前月收入达1万美元
- 从2019年免费Slack群组起步,通过每周精选讨论内容形成新闻稿,吸引无代码工具赞助,逐步发展为付费会员制社区
- 增长依靠创始人访谈内容营销、用户自生成内容及SEO优化,使谷歌搜索成为主要注册来源,现积累3.4万名成员
- 关键建议包括:严肃对待创业最佳实践、边读创业书籍边实践、采用成熟商业模式、专注企业客户及提高定价信心
Don't miss what's next. Subscribe to shortnews.dev: