返回

文章详情

停止制作TUI

Hacker News2026年8月21日 05:37

我们这个领域与终端和命令行界面的关系有些奇怪。是时候重新评估它了。我最近一直在鼓励我的朋友尝试构建本地用户界面。几个月前,我构建了我的第一个正式的Mac应用程序,从那时起我构建了比我整个职业生涯之前更多的本地UI应用。让我们快速浏览一下。这是MDV.app,世界上最伟大的Markdown查看器,直到其他人编写出一个严肃的Markdown查看器。我已经写了很多关于MDV的内容,不会再过多宣传它。虽然它非常优秀。对于这个UI代码,我几乎没有任何参与。为什么我要这样做呢?和大多数用户界面一样,MDV并没有开辟任何新领域。这并不是一个具有挑战性的问题。但是,要构建出良好的UI是非常困难的:这类代码是乏味、重复、要求严格的,并且受到平台概念知识的限制。这类工作需要多年的实践才能做得好。这就是我绝对不会手动编写这个程序的原因。相反,我召唤了它。接下来:我花了一年的时间学习数学学院,从基础到机器学习,可以简化为“我自学了微积分”。我非常喜欢数学学院,并且有很多话要说,但这里仅仅是另一个我意志力驱动的SwiftUI应用的搭建:这是SageMath的本地计算器风格前端,SageMath是密码学家的默认数学系统。这款应用为我做了三件大事:它自动将Sage输出渲染为LaTeX,当你深入多变量微积分时,使用起来更加方便;它点选曝光Sage方法,操作对象包括向量、矩阵和表达式(这比一遍又一遍地输入trig_simplify要好得多);它提供了一种“简易语言”,可以快速输入常见操作(比如“计算这个表达式的梯度”)。在这个系统中,[1,2;3,4]是一个矩阵;你应该已经被这个概念吸引了。我并不打算将这个应用打包。如果你想要它,只需截屏发布的这一部分,然后给Claude。他会创建出一些有用的东西。你知道我想表达什么。 (如果我清理一下所有的流派标签,会更有用,大多数标签追溯到我在1997年做的第一次MP3压缩)。这是DJ Roomba,我的Apple Music播放器。流派图是一个可疑的功能。而内嵌的LLM代理则不那么可疑,它可以调用工具来读取我的音乐库、我最近播放的曲单以及即将到来的曲目。“我去地下商店制作相框;给我一个没有跳过的播放列表来适应气氛。”结果发现气氛是“大量的Kurt Vile和Tom Petty”。没有评注。它以SQLite数据库为后端,一个合理的模式,这是一个意外有用的功能。我对这样的程序真的不知道该怎么想。这是一个AI辅助的音乐播放器,包括了Music.app的90%界面。Music.app。我那永恒的个人计算机天敌。这是个人计算机界的龙。可是我并没有编写其中的任何一行代码。我是在开发软件,还是只是在配置我的计算机?记住这个想法。这是我的LLMwiki。应该有人写篇流行且广泛分享的文章,谈谈自驱动wiki的价值,你给它提供源材料,问它问题,它会为你写wiki。这是个极其有用的想法,我很高兴我想到了它。Self Driving Wiki.app写起来很有趣。与DJ Roomba不同,这是直接嵌入Responses API客户端,而这个应用在后台驱动claude -p。因为我假设代理在有文件系统可以探索时效果更好,我召唤了一个macOS虚拟文件系统扩展,它在应用的沙箱中反映了一个只读的后端SQLite数据库的视图。这样做是否可能是多余的?是否使应用程序在安装时更麻烦,比如出于某种原因要求它必须在/Applications/下运行?是的,也确实是。可是,在LLM时代之前,这种“剃 yak”式的探险是软件开发的乐趣,我很高兴发现我仍然可以在今天体验到这些。 (以2.5的超响应性,毫无副作用,这玩意真不错)这是我不断使用的东西:一个半自动化的食物宏跟踪器。我像其他人一样在吃得很糟糕。这个应用又是一个简单的代理,接入GPT5,接受非常简短的餐饮描述,比如“手动推测吃了多少卡路里,尝了蛋糕面糊和奶油奶酪糖霜(但我没有吃蛋糕)”,并将其翻译成摄入估算。这是一个菜单栏应用,利用这些便宜的TP-Link温度传感器记录我家周围的温度,这些传感器将我的Apple TV的访问权交给了中国共产党。通常在组装这样的东西后,我能够多说些关于这些设备用来通信的协议和HTTP API,但我没有花时间去搞清楚,所以我只能告诉你,从它们的云服务获取信息有两种不同的登录路径。

赞助内容

NordVPN Next-gen Antivirus

本站免费、广告极少。如果觉得有帮助,可以请我们喝杯咖啡 —— 任何金额都对持续运营有实际帮助。

请我喝杯咖啡