实验室

因为想让它们存在,所以把它们做了出来。大多数项目,都源于我自己生活里的一个问题。

手动挡驾驶模拟器

一个能告诉你为什么熄火的驾驶模拟器。

驾驶游戏会让你熄火,却从不告诉你原因。这个模拟器是一个「透明盒子」:离合打滑、扭矩传递、涡轮迟滞,全部可见,还能回放。它以我自己的 2019 款高尔夫为原型,用我手头现有的方向盘和踏板来操控。熄火和抖动来自物理模型本身,而不是写死的规则;真车的表现,就是它的测试标准。完整的开发故事另有专页。

  • C# / .NET 10
  • 每秒 1000 步物理计算
  • raylib
  • SDL3 力反馈

阅读开发故事

Slip:私密聊天

浏览器之间端到端加密的聊天、通话和屏幕共享。

我想要一个把隐私做进架构、而不是藏在设置里的沟通工具。Slip 不需要注册账号,也不存储任何内容。你通过二维码、链接或一段文字分享一个连接码,双方一起大声核对八组安全码,确认中间没有人,然后两个浏览器直接通信,全程端到端加密。关掉页面,一切就消失了。

在这条连接上,它支持文字、通话、屏幕共享和视频留言,还有阅后即焚、通行密钥锁定的已存聊天,以及在网络阻断直连时可选的中继服务器。它只用 HTML、CSS 和 JavaScript 构建,可以添加到手机主屏幕,离线也能打开。在线体验

  • WebRTC
  • 端到端加密
  • 原生 JS
  • Azure

一套游戏化编程课程

一套游戏化、配有 AI 辅导的编程课程。

现有平台很难按我的需要定制,于是我自己做了一套:游戏化的课程、随时答疑的 AI 辅导,最后以一个 Roblox 项目收尾。课程已经全部完成。学员没能学完,这反而比学完更让我受益。现在我正以学员的身份自己走一遍,找出哪里让人卡住、哪里需要打磨。

  • Web
  • LLM 辅导
  • 游戏化学习
  • Roblox

本地 AI 实验室

一块桌面显卡上,开源模型到底能做到什么。

家里一块 RTX 3090,是我每天的试验台。我用本地模型去做真实的任务:检索自己的文档、写代码、写代码文档,以及把模型接入我自己的开发工具。有的想法效果出色,有的失败得很有启发,这正是意义所在。

  • Ollama
  • Qwen3
  • RAGFlow
  • MCP
  • RTX 3090

Restart-24

一套 24 小时重启法,让大脑每天收到一次真实的胜利信号。

它基于一个来自行为科学的简单观点:人停滞不前,往往不是因为不够努力,而是因为缺少看得见的胜利。Restart-24 把这个观点变成每天的循环。前一晚,写下明天第一个可交付的成果,并为第二天扫清障碍。早上,只专注一件最重要的事,用短时专注轮次推进,每轮开始前写下交付承诺。卡住时,它建议把同一件事降低难度,而不是换一件事做。晚上,用五个问题复盘,保留有效的,删掉无效的。

致谢: 这套方法并非我原创。它来自一个广为流传的「24 小时重启」分享,而那个分享本身又借鉴了关于习惯与动机的研究。Restart-24 是我把它做成工具的一次尝试。

  • 行为设计
  • 效率

垃圾监测器

一台摄像头加一个语言模型,识别被乱丢的垃圾。

一台树莓派摄像头对着一个总有人乱丢垃圾的地方,由视觉模型判断看到了什么,再通过 Telegram 提醒我。作为概念验证它是成功的,但从未正式上线:把摄像头对准公共区域,会带来一个周末项目不该独自回答的隐私问题。这才是它教给我最重要的一课。

  • 树莓派
  • 视觉 LLM
  • Telegram
  • 隐私

Dvorak 中文键盘

一款为 Dvorak 用户打造的 iOS 中文输入法。

我用 Dvorak 键盘布局打字,而 iOS 上没有一款中文输入法支持它。于是我给自己做了一个。

  • iOS
  • 输入法
  • 拼音

↑ ↓ 选择 · Enter 打开 · Esc 关闭 · J / K:下一节 / 上一节