给软件开发者准备的优质简报,每日阅读 10分钟。
Oat – Ultra-lightweight, semantic, zero-dependency HTML UI component library
🔼 369 | 💬 103
超轻量级、语义化、零依赖HTML UI组件库
- 极简轻量,压缩后仅约8KB(6KB CSS + 2.2KB JS),无需任何框架或构建流程,直接引入CSS和JS文件即可使用
- 完全零依赖,不依赖任何JavaScript或CSS框架或库,告别Node.js生态的依赖膨胀和复杂性
- 采用语义化HTML设计,原生元素如
<button>、<input>、<dialog>直接样式化,无需编写class类名,强制最佳实践 - 完整无障碍支持,使用语义化HTML和ARIA角色,所有组件均具备完善的键盘导航功能
- 易于定制,通过覆盖少量CSS变量即可自定义主题,支持
data-theme="dark"属性自动启用深色模式;设计风格受shadcn美学影响
LT6502: A 6502-based homebrew laptop
🔼 161 | 💬 42
LT6502:基于6502处理器的笔记本电脑开源项目
- 基于65C02处理器,运行频率8MHz,搭配46KB RAM和存储在ROM中的EhBASIC解释器
- 配备4.3英寸800×480 RA8875显示屏(内置字体和简单图形功能)、内置键盘、CompactFlash存储和10000mAh电池
- 采用USBC接口供电和充电,提供串行控制台接口,配备1个内部扩展插槽及65C22 VIA芯片
- 外壳采用3D打印设计,已于2026年2月14日完成组装,文件系统支持SAVE/LOAD/DIR操作
- 已在BASIC中扩展BEEP、CIRCLE、LINE、PLOT、SQUARE等多种图形绘制命令及OUTK键盘显示屏输出
- 项目采用MIT许可证,代码仓库包含184次提交和58个star,主要使用汇编语言(49.1%)和HTML(43.5%)开发
Reversed engineered game Starflight (1986)
🔼 81 | 💬 40
Starflight游戏反向工程项目
- 1986年经典太空探索游戏Starflight的反向工程,该游戏由Binary Systems发行,玩家扮演星舰舰长探索银河系,可自由切换采矿、舰船战斗和外星外交玩法
- 游戏剧情宏大:玩家逐渐发现一个远古种族正在引发恒星爆发,企图毁灭所有生命,被认为是早期沙盒游戏的典范,对后世游戏设计影响深远
- 游戏采用Forth编程语言开发,这是一种极致精简语法的堆栈机器语言,使用逆波兰表示法,代码结构完整保留原始源代码形态,几乎无编译器优化
- 代码结构独特:可执行文件中x86汇编代码不足5%,超过90%为16位指针,约6000个词名中有2000个以加密形式保存作为调试符号,Forth解释器仍包含在可执行文件中
- 项目使用间接线程化技术,已识别6256个词条并将FORTH代码反编译为C风格代码,用户将原版游戏文件放入指定输入文件夹并运行make即可生成反编译输出
- 项目在GitHub上获得187个Star、13个Fork,代码99.9%为C语言,共有400次提交记录
Gwtar: A static efficient single-file HTML format
🔼 103 | 💬 26
Gwtar:一种静态高效的单文件HTML归档格式
- Gwtar是一种新型多语HTML归档格式(polyglot),通过将HTML+JavaScript头部与tarball串联,实现同时满足静态(自包含、无需外部依赖)、单文件(存储时为单一文件)、高效(按需懒加载资源)三个特性,解决了传统HTML归档的”三难困境”
- 核心技术是利用JavaScript的
window.stop()阻止浏览器自动下载完整文件,再通过HTTP Range请求按需获取tarball中的资源,使包含数百MB嵌入媒体的大型归档仅在实际需要时才下载相应部分 - 格式无需服务器端特殊支持,浏览器通过内容嗅探识别HTML标签并自动渲染,服务器仅需正常提供单文件即可;为解决Cloudflare代理会剥离Range请求头的问题,采用非标准MIME类型
x-gwtar - 支持附加PAR2前向纠错码实现数据完整性保护与损坏恢复,亦可附加GPG签名进行加密验证;不支持内置压缩,但可利用去重文件系统透明消除冗余
- 存在两大局限:本地查看时因浏览器安全策略(CORS/同源策略)阻止本地文件自引用而可能失效;依赖服务器支持HTTP Range请求;提供
<noscript>提示及无JS/不支持Range时的完整降级方案
uBlock filter list to hide all YouTube Shorts
🔼 1080 | 💬 322
uBlock Origin 过滤规则:隐藏 YouTube Shorts 短视频
- 一个由 i5heu 维护的 uBlock Origin 过滤规则列表,用于隐藏 YouTube Shorts 短视频的所有痕迹
- 项目 Fork 自 gijsdev,原作者已失联约半年,现由 i5heu 继续维护,拥有 570 个 Star、135 个 Fork、78 次提交
- 使用方法:在 uBlock Origin 仪表板 Filter lists 中导入
https://raw.githubusercontent.com/i5heu/ublock-hide-yt-shorts/master/list.txt - 附加功能:还提供隐藏 YouTube 评论的过滤规则(comments.txt)
- 采用 MIT 开源许可证,是独立开源项目,与 Alphabet、Google、YouTube 无任何关联
Breaking the spell of vibe coding
🔼 387 | 💬 319
打破”氛围编程”的魔咒
- “氛围编程”指生成大量复杂AI生成代码,通常不打算让人阅读,这种做法已对科技行业形成广泛影响,催生对AI替代人类工作的焦虑
- 作者引入”黑暗心流”和”垃圾心流”概念,将氛围编程与赌博成瘾类比——两者都利用虚假的成就感诱人深入,违背了真正心流中技能与挑战相匹配的核心原则
- 多线老虎机通过”伪装成胜利的失败”机制迷惑赌徒——5美分损失呈现为15美分”奖励”并触发多巴胺反应;氛围编程同样产生虚假的生产力感受,开发者数小时甚至数月后才察觉代码问题
- METR研究发现:开发者使用AI工具后自认为速度快了20%,实际却慢了19%,感知与实际生产力相差近40%,这与赌博成瘾者的心理机制高度相似
- 科技公司高管的AI预测常过度乐观——如Hinton预测AI将取代放射科医生、Pichai预测2023年数据科学家普遍使用神经架构搜索、Amodei预测2025年AI编写90%代码,这些预测缺乏现实基础
- AI虽能生成语法正确的代码和文本,但无法替代人类核心能力:创建有意义的抽象层、模块化设计、精确表达思想,以及真正的软件工程思维,将思考外包给AI将导致技能退化
I Fixed Windows Native Development
🔼 511 | 💬 259
我修复了Windows原生开发
- 问题根源:在Windows上要求安装Visual Studio意味着成为微软复杂GUI安装器的免费技术支持,需在数十个工作负载和单个组件中正确勾选特定版本,否则数小时后因MSB8101等神秘错误失败,作者曾因此多次重装系统
- 解决方案msvcup:作者开发了一个开源CLI工具,能在良好网络和硬件条件下在几分钟内安装MSVC工具链和Windows SDK(包括所有交叉编译工具),每个版本独立存放在隔离目录中
- 工作原理:该工具解析微软官方发布的JSON清单(与官方安装器所用相同),直接下载仅需的编译组件(编译器、链接器、头文件和库),绕过完整的50GB Visual Studio安装
- 核心优势:版本化目录支持并行安装和轻松卸载;锁文件机制确保构建可重现;安装和autoenv命令幂等且毫秒级完成;通过autoenv创建的包装器可自动设置环境变量,无需手动调用vcvarsall.bat
- 实际应用:作者在Tuple公司将其集成到构建系统和CI中,成功移除了预装Visual Studio的要求,支持x86_64和ARM架构的数百个C/C++项目(包括WebRTC)构建
- 使用示例:提供约20行build.bat脚本,可在任何Windows 10系统上直接编译C程序或raylib等真实项目,无需Visual Studio安装