新系列开坑,嗨!如果你还记得我以前写的 Linux Journeys 文章——各种折腾美化 (ricing)、开机动画 (bootsplashes) 和平铺式窗口管理器那一套——那这次也是同一股劲头,只不过对准了一件我真的、非常尴尬地一窍不通的事:硬件。
而且不是那种谦虚装逼式的“不行”,我是说真的不行——比如我字面意义上让元器件冒了青烟(magic smoke),比如我曾经花了四十分钟调试一个电路,最后发现压根没插电,就是那种程度的不行。我特意决定公开做这件事,因为另一种选择就是私下搞,然后事后假装自己打一开始就知道上拉电阻是干嘛用的。
那么,为什么是硬件?为什么是现在?说实话,因为软件开始让人觉得有点太……安逸了,而且有点太拥挤了。现在到处都是套壳 AI 的套壳 AI,而我整天本来就已经泡在那个世界里了(智能体记忆、整个 Engrammic 的那一套,这些在别处再聊),所以我想找一个非黑即白的角落:要么跑得通,要么跑不通,光靠凭感觉瞎折腾(vibing)根本蒙混不过去。硬件恰恰就是这么个角落——因为物理学可不吃 try/except 这一套,没有哪个 console.log 能从接地不良中拯救你,你也没法靠 npm install 来掩盖自己根本没搞懂电流是什么的事实。宇宙只会默默地拒绝配合,甚至连个原因都不给你。而我觉得这有一种奇妙的真诚,这是自我不再是个自以为能选大三课程的大一新生以来,遇到过的最有耐心也最不留情面的老师(我当年真这么干过,结果正如你所料)。
到目前为止,有一整串让我碰一鼻子灰的事情,对任何有 EE 背景的人来说都显而易见:比如电压和电流不是一回事,把它们混为一谈会让你赔上元器件和尊严;比如“这应该能行”是硬件根本不吃的一套说辞,因为行就行,不行就不行,它压根不在乎你的心智模型;比如数据手册(datasheet)上从始至终都写着答案,因为数据手册永远都有答案,所以去读那该死的数据手册吧;或者一根松动的导线看起来完全像是什么深奥的概念性错误,直到你晃了它一下,所有东西瞬间起死回生。这些事对任何按规矩学过硬件的人来说都是常识,而把它们写下来也正是意义所在——因为某个跟我从同一起点出发的人,在得知一个以构建 AI 系统为生的人也花了一整晚被一块面包板彻底打败时,或许会觉得没那么孤单。
那么这一切会走向何方?我已经有了方向,其中一部分我会大张旗鼓地聊,因为我非常在乎隐私和反监控,而我一直围绕着硬件形态的这种诉求在琢磨。如果你在我的网站上见过 ØCLOAK,那就是属于这一类的东西——做点小玩意儿,把一点控制权重新交还给真正的人,而不是监视他们的人。另外还有一个项目,正好处于硬件与我整天琢磨的类脑结构(brain-shaped stuff)的交叉点上,我暂时还不想聊它。这不是为了装神秘去搞某种逼格(好吧,可能也有那么一点点),纯粹是因为它还太早期、太不成熟,比起描述一个可能可行的东西,我更想展示一个已经能跑通的成果。所以等它准备好了你自然会知道,到时候会很明显。
总之,这个系列是一份日志,而不是教程。因为我绝对没资格教你硬件,我只够格以一种兼具娱乐性且歪打正着有教育意义的方式踩坑失败,并把它全部记录下来。所以做好心理准备看我走弯路吧,也做好准备看我在某篇文章里言之凿凿、然后在三篇之后悄悄更正——因为游戏规则就是这样,而且说实话这正是意义所在。所以如果你也在某件令人发怵的事情上从零起步,那就来跟我一起笨拙地折腾吧,毕竟同病相怜者最爱面包板。
未完待续,大概会在我换掉被我搞报废的元器件之后更新。
~ A.