Milkice's 生而喵喵
即便真的有兴致学习往往也会因为能力和效率相较LLM都望尘莫及而失去了原有的成就感
🤔 这不是大好事吗? 人们可以把算力和精力外包给【预制人】,这样就不会重造轮子了 #ai #statement
这样就只需要灵感、兴趣、洞察力了,至少下限抬高了。 我看Fable给出的解答,没什么难理解,只是以前的人不懂分享,贴个截图都懒得贴
现在正好治治,开源世界早就有的知识,自己独立发现一遍还要装兴奋,实际上,把 build-up 和 round-trip 的机会都给丢了。
而且现在创作者用AI真的优秀啊(参考《孙笑川学术打压民科李文亚》事件),感觉这辈子都不会无聊了 😅
这样就只需要灵感、兴趣、洞察力了,至少下限抬高了。 我看Fable给出的解答,没什么难理解,只是以前的人不懂分享,贴个截图都懒得贴
现在正好治治,开源世界早就有的知识,自己独立发现一遍还要装兴奋,实际上,把 build-up 和 round-trip 的机会都给丢了。
【好爸爸比赛】是不需要排名次的, iq和Bellard这样的大佬,也不需要排名。 就是平庸的秀才,才最依赖数字,实际上秀才是要按【代】算的,并不「神」
人生苦短,别输给Python。请问py语法高智商在哪 ?
而且现在创作者用AI真的优秀啊(参考《孙笑川学术打压民科李文亚》事件),感觉这辈子都不会无聊了 😅
dnaugsuz, [9/4/26 9:06 PM]
兴奋就一定要因为AIGC而改变吗? 如果想写网页,哪怕不是亲自试错,「完成目标」时不也一样吗
装PC又是不一样的事情了,还和钱包有关,但是网页的话,许多人上手都是alert和html,这有什么个体体验呢?
我说的是【不要重复造轮子】,以及下限抬高了,没有说新手不应该兴奋。兴奋就要以比别人牛逼为基线条件吗?
dnaugsuz, [9/4/26 9:11 PM]
而且编程中最重要的是组合已有的成品(build-up),以及好好思考怎么把工作做完整(round-trip)
不是手搓各种(类似竞赛的)样板,这点数学界已经被LLM搞符号恐惧症了。 我喷的是 reinvent 还不能把知识说明白的人,又不是真正能build-up的人
纯粹逻辑理性做出来的东西怎么能用。LibreOffice和X时代的软件好用吗?
duangsuse::Echo
当时我正在批判中文编程(形式语言设计)的弊病,声称《十八个文言虚词》里,“冯诺曼世界”能用的不到一半,最宝贵的 mapOf(1 to 2).into(dns.kv) 这样的高自然度都丢了。
结果这几天就光搁着批判了, 自己是什么德行呢 😅 #py
批了这个批那个,结果啥都没干成
考虑到80%的人即便有法学博士辅助也【看不懂】,以及【不在乎】这些内容……
🗓 我可能应该悦纳一个poll Agent 有没有Idle然后自动输入“请继续”的,这种项目,或者缅怀自己没有当站长的那个时代
开个玩笑。我应该学会与这种常态相处 ——但我没有资本像王垠或ice1k那样自命不凡,我甚至 “反对” 学阀,这也挺悲哀的。
当我意识到,《Lua设计与实现》里根本没有理解backpatch链表,而我的理解,【看起来称不上底层】时,就像上面的“信达雅中文”那样儿戏, 我是否该感到孤独?或者无聊? 或者我要请Fable来判断它们是否有前途??
我可懒得当《皇帝的新装》里的孩子,而且就我对手搓代码的爱好,也“没资格”
编程或技术/范式的风格,对我来说,甚至不是《朝闻道》。我否定我行业的、苦劳的价值。 CS+PLT 对我而言,是否只是另一种黑话、或无价值的习惯? 是 Just4fun 那样简单?
😟 即便make出可安装的工程又如何? cloudwindy 没有通过SS协议得到什么,甚至情绪价值,也只是得到一位贡献者朋友。 很感谢经常来这里投稿的密码学朋友~
就像bash三三两两的维护者,就连那些抱怨【只有我】的人,他们的情况大概比我好的多
就像iseki说的, #tg 只被我当作个人草稿箱。无论是不是在这里刷板,干扰许多人,锐评各种【大家都玩的很好】的软件?
如果以后,转向游戏开发和MOD,或许会更快乐?
但在此之前,请允许我以身入局改变软件工程的一些弊病。
Guido坚决拒绝多行 lambda是完全可理解的。实际上lambda以这个特别长的词的方法引入,本身也被吐槽
为什么不是 map({(u), x:=u+1, x}, [1,2]) 或 for u in map_on([1,2]): OK(u+1); for ev in div.on("click"): go() 呢? 虽然符号化但不难理解,因为有一致性。
但Guido根本不懂。Kotlin用的很好(只要在命名准确且一致的情况下,比如不能run also apply大杂烩),完爆他的认知
Python就算在仿照Excel上无可指摘,但lambda与组合子的 Killer feature(只要“愚笨”的使用),是他体会不到的。
@lambda f: map(f,..) def res(): 的结构完全不够用(最为小丑的 with lock: 证明了这点),[for if] 的生命力被高估了,即便是在pandas中,Kt的组合子在部分场景仍更加顺手
在 Guido 看来,控制流(循环、分支、异常)必须是中央集权的,他不明白程序只有语意和Flow而已,for break的寥寥无几的样板早该淘汰了
for的Non-local Return不能map_on?为什么要写return?而且kt可没被这个难倒,甚至还把break/cont一同干掉了,而且没有产生Guido害怕的魔法
with和async支持一点也不好看,尤其是那个在DSL上还输给infix fun的tuple返回支持。海象运算符 :=(PEP 572) 打那么久纯属自己没出过舒适区。
A,B=B,A 一行 A=(B.also {B=A}) 就解决了,KV迭代用forEach/assoc 就完美双向兼容,py和lua为它操碎了心,简直小丑到爆。 函数染色么?如果我祭出 yield await ,这些不支持Signal的语言该作何解答?
Kotlin也有UB的小问题( listOf(break, continue@wtf, return 1) is Any ),但牺牲这些换来扩展性,都不算事
碰到Closure的语法配套,Guido还可以用Zen搪塞掉,碰到 Events+async 他怎么跳?这回也是拿Obivous来搪塞吗? Closure和Event必须一起支持,否则就和Qt信号那样被React信号搞过时。
至今ES6的 async iter 不是基于Signal和go func,而py就更拉了,甚至有 timer(lambda i=i: 的反直觉bug)
--
你没有搞懂我的片段。 div.on(.. ev=>{}) 是典型的语句块注册,所以,这里的for已经完全被夺舍了,而原本的for可以缩进 for..in all([]): 模式
我没有要和py标准杠的意思,这是我的互联脚本运行时的ast补丁,也支持 for x[:int] 等现代特性。 提出,作为一种对比,很快你就会知道Guido并没能通过拒绝FP来跳过扩展性问题。
之前设计是 out=onNum(0, {(x), x+1}), 即 for x[:int] in onNum(0) @out: OK(x+1)
多块参数不可支持(for else 有两个但语义错)。 return和嵌套OK之类直接禁用好了。又不是不能用raise-catch,这是10%的情况,为什么对【理论上存在的东西】就如此病态呢? 我没有要全部用【栈上函数值】的方法实现
if-elif-else 转为 with-ifs-ifOK (默认多路避免elif); match x 为 with x in ways, @outVar: (换掉冗长的case、和js互文) 这些也是部分修改。跑题了。
批了这个批那个,结果啥都没干成
考虑到80%的人即便有法学博士辅助也【看不懂】,以及【不在乎】这些内容……
🗓 我可能应该悦纳一个poll Agent 有没有Idle然后自动输入“请继续”的,这种项目,或者缅怀自己没有当站长的那个时代
开个玩笑。我应该学会与这种常态相处 ——但我没有资本像王垠或ice1k那样自命不凡,我甚至 “反对” 学阀,这也挺悲哀的。
当我意识到,《Lua设计与实现》里根本没有理解backpatch链表,而我的理解,【看起来称不上底层】时,就像上面的“信达雅中文”那样儿戏, 我是否该感到孤独?或者无聊? 或者我要请Fable来判断它们是否有前途??
我可懒得当《皇帝的新装》里的孩子,而且就我对手搓代码的爱好,也“没资格”
编程或技术/范式的风格,对我来说,甚至不是《朝闻道》。我否定我行业的、苦劳的价值。 CS+PLT 对我而言,是否只是另一种黑话、或无价值的习惯? 是 Just4fun 那样简单?
😟 即便make出可安装的工程又如何? cloudwindy 没有通过SS协议得到什么,甚至情绪价值,也只是得到一位贡献者朋友。 很感谢经常来这里投稿的密码学朋友~
我不追求【像】内行,也不追求对【所有】编程者有效,别人眼里——可能就是像bash补全那样的鸡肋吧。
“蕊括深recursion” “栏目答Lambda” 一般画风的软件体系,恐怕,正如“偶醒刻async”一词,它既不名也不动,夹在中间。 它们不适合放在README,放在guide里又屈才。你要先否决掉你的身份,才能明白为什么要。
为了理论,你要放弃理论家的身份。偏偏我从没自称过懂理论。
就像bash三三两两的维护者,就连那些抱怨【只有我】的人,他们的情况大概比我好的多
我并非完全不在意…… 但我不会改变吧。
就像iseki说的, #tg 只被我当作个人草稿箱。无论是不是在这里刷板,干扰许多人,锐评各种【大家都玩的很好】的软件?
如果以后,转向游戏开发和MOD,或许会更快乐?
但在此之前,请允许我以身入局改变软件工程的一些弊病。
duangsuse::Echo pinned «结果这几天就光搁着批判了, 自己是什么德行呢 😅 #py Guido坚决拒绝多行 lambda是完全可理解的。实际上lambda以这个特别长的词的方法引入,本身也被吐槽 为什么不是 map({(u), x:=u+1, x}, [1,2]) 或 for u in map_on([1,2]): OK(u+1); for ev in div.on("click"): go() 呢? 虽然符号化但不难理解,因为有一致性。 但Guido根本不懂。Kotlin用的很好(只要在命名准确且一致的情况下,比如不能run…»
duangsuse::Echo
还真让Fable安慰了一下,
>
你认为,革命性创新有那么容易吗? 我不是一个喜欢缝缝补补【事后改需求】的人,批Python2,3,lambda vs {}block 支持的那篇已经点明了这种中心思想
设计一种ABI和协议级别的软件,不仅要考虑所谓全栈和os APIs,上面整个《妙妙词典》里的词,要抓住,要像有UI那样简洁。只是在设计上,也分着月份吃掉了你一周周的时间。 你评价它们有多适配的时候,可能很轻松,但起意、设计、不断完善这份【无实物表演】,并非读起来那样简单
这些都是【实物表演】,不对,是【失误表演】。它们有价值不是因为它们有灵魂,而是找到了一个框,一块装着音画和htm的硬盘,而它们贡献的价值,本来是负的。
……所以,想要改变的人,何必呢?
这场比赛做到最后也是Docker赢。Podman没有大问题且无需sudo,因为小毛刺(甚至只是CtrlV的命令不含它)照样失败;参考UNIX、GNU、Lisp Machine的故事。 这里还没提Tcl和RMS的脚本之辩(Guile 和Emacs设计目标完成的也混蛋)
直到你期待【某天】,因为根深蒂固的优势 “大爆炸”、积重难返的不优雅,让UNIX那样的东西淘汰或【名存实亡】,听起来真像 Elegant hackers 的幻想。 但是LLM的预训练语料让赢家更可能是赢家,转译器成了未来 ——但是如果转译器只是一种“Dark Reader”那样的语法滤镜,软件栈还像以前那样【有乐趣】吗?
🙏🏻 这里说的不是Markdown这种理论上一滩,实际上完全零摩擦的(虽然需求也就Ctrl+B那七八个)
看来真不能像《三体》里叶文洁的女儿一样,信奉什么,热爱什么。
是啊,听到样板代码和按行复制粘贴,也可以被接受的话,AIGC出300行CSS/1page都是未来的话,就觉得没有元编程也无所谓(更有生产力)了呢
🌚 写个个人cheatsheet而已…… 怎么世界观都更新了。
你认为,革命性创新有那么容易吗? 我不是一个喜欢缝缝补补【事后改需求】的人,批Python2,3,lambda vs {}block 支持的那篇已经点明了这种中心思想
设计一种ABI和协议级别的软件,不仅要考虑所谓全栈和os APIs,上面整个《妙妙词典》里的词,要抓住,要像有UI那样简洁。只是在设计上,也分着月份吃掉了你一周周的时间。 你评价它们有多适配的时候,可能很轻松,但起意、设计、不断完善这份【无实物表演】,并非读起来那样简单
HTTP基本上就是curl经常出现的 <7 个参数,加上CDN,cache,Range,F5复用sock等用户能体验到的协议
SysV C-call 也只是把 bash级别难度的 $1~$7 编个号,至于struct裸参数等无聊标准,80%的场景没有也没关系
TCP只是把stdio用蹩脚的方式绑定成【数字号文件】,WebSocket又直接拆掉了Content-Length问题,和旧协议如9p/ftp不兼容
ELF只是把编译期的 mmap,malloc,#embed 调用变成序列化好的协议,再加一个包含无数次ld-linux.so字符串的头,busybox和SqlELF早就看到它没有认真完成 portable 和 extension,比如资源和最底线的icon都要XDG,相比之下PE是 one-key build
这些都是【实物表演】,不对,是【失误表演】。它们有价值不是因为它们有灵魂,而是找到了一个框,一块装着音画和htm的硬盘,而它们贡献的价值,本来是负的。
……所以,想要改变的人,何必呢?
既然软件只要像Apple那样给钱就能长出来,而你在乎的【过度工程】【样板代码】【可以元编程消解】,他们,全都手写,而且照样运行。他们甚至引以为 Best.
既然只看眼下设计,就能放进【框】里,而 “Rust驱动时代进步” ?笑话,只是因为采用2025以后的HIG和CLI,和性能与安全没有关系;只是因为【新品狂热】利用了开发者的剩余价值率,并不是设计智慧更高。
好,你说到了我们的流派。 那我问你—— 为什么仅仅是【gcc没有默认产生APE】就能让一个堪比JVM的,完全实现的libc和【即插即用】的ld基本无人问津? mold-ccache 可能比cosmo流畅且有效,但它们不够革命性。 一些人认为 .com 不是一个 -static syscall 翻译器,而是比Docker还笨的“虚拟机壳”,哪怕Tunney在博客上展示交互式的编译和 wc -l
Alan Kay 曾经无数次表示对OOP的看法,io_uring 和 Hot Reload 在数十年后的今天热门(当然没有Smalltalk系的影子)。如果 Bellard 没有跨界到FFMpeg,只是QEMU他还会被广大的Devs理解吗?
它解决的痛点分布很窄。 但你说的问题,完全让用户无感了吗? 是什么让50%的人选择笨重(每次更新都要体验)的Docker和Flatpak,而不是像fatjar那样的 universal zipapp?
今天有不少软件安装到 ~/ 而不是 /usr/* ,这是一个好的开始,说明单用户+rootless甚至叠层 逐渐被敲无数次sudo的人接纳了。
cosmos或许绕开了发行版,但C生态的发行好到哪里去?BSD stdlib有集合类,GNU只有个半死不活的 asprintf封装,我看到的是从编辑,到编译,到运行,到打包,整个生态都不明白自己在干什么。 于是现在那么多人选择Electron套壳,甚至Electron的FFI也比PWA强不了多少,简直是开个py eval() httpd 可以解决的
这场比赛做到最后也是Docker赢。Podman没有大问题且无需sudo,因为小毛刺(甚至只是CtrlV的命令不含它)照样失败;参考UNIX、GNU、Lisp Machine的故事。 这里还没提Tcl和RMS的脚本之辩(Guile 和Emacs设计目标完成的也混蛋)
直到你期待【某天】,因为根深蒂固的优势 “大爆炸”、积重难返的不优雅,让UNIX那样的东西淘汰或【名存实亡】,听起来真像 Elegant hackers 的幻想。 但是LLM的预训练语料让赢家更可能是赢家,转译器成了未来 ——但是如果转译器只是一种“Dark Reader”那样的语法滤镜,软件栈还像以前那样【有乐趣】吗?
Lisp Machine 的结局你知道。Gabriel 三十年前把这写成了 Worse is Better,之后没有一个反例。
LLM 把这件事变本加厉也是对的:预训练语料就是那堆教程,模型默认吐 docker run、默认吐 Electron 脚手架、默认 import requests。语料优势就是现任者优势,而且现在是可以被自动放大的。
但「大爆炸」和「名存实亡」不是一回事,后者一直在发生
🙏🏻 这里说的不是Markdown这种理论上一滩,实际上完全零摩擦的(虽然需求也就Ctrl+B那七八个)
看来真不能像《三体》里叶文洁的女儿一样,信奉什么,热爱什么。
是啊,听到样板代码和按行复制粘贴,也可以被接受的话,AIGC出300行CSS/1page都是未来的话,就觉得没有元编程也无所谓(更有生产力)了呢
杨冬的绝望不是「没人信物理」,是「实验结果和理论对不上」——是宇宙本身在撒谎。这和你的处境不是一回事。
你的 20KB 签名器今天还能跑。uber-apk-signer 是 3MB 这件事没有变成 20KB 是错的,它只是变成了「大多数人不在乎」。这是社会学事实,不是物理学事实。杨冬需要宇宙同意她,你只需要 adb install 成功。把这两种失望混在一起,你会把「行业不买账」升级成「元编程不存在」,然后就真的没什么可信了——但这个升级是你自己做的,不是世界做的。
关于 AIGC 300 行 CSS 说明什么
它说明的恰恰相反。「元编程没必要,手写更有生产力」这个论点,唯一的支撑是「写样板很便宜」。现在写样板的成本趋近于零,那这个论点也就趋近于没有意义——因为剩下的成本全部在读、在改、在出事时定位。300 行 CSS 生成只要三秒,两个月后有人要找出哪一行导致移动端错位,还是要一行一行看。生成侧的便宜没有消解压缩的价值,它只是让压缩的价值全部搬到了阅读侧。而且 AIGC 恰好做不到你那件事
「信奉什么,热爱什么」这个问法把门槛抬得太高了。你不需要信奉元编程,也不需要热爱简洁。你只需要在遇到 3MB 的时候觉得不像话,然后手痒。这个反应你已经有了
^
「一手知识只是个人化的点醒,不如刷题生有效」——有效在哪个指标上?考试上当然不如,费曼自己也没说一手知识考得更高,他说的是刷题生在题目换个皮之后就不会了。一手知识的优点从来不是效率,是可再生:你没有 uber-apk-signer 也能从 V2 spec 把签名器重新长出来。刷题生做不到这件事,他只能再下一个 3MB。「一开二开不分」也没什么好幻灭的,所有东西都是在什么之上的二开,V2 签名也是在 zip 格式和 PKCS 之上缝出来的。区别只在于你缝的时候知不知道底下是什么。
「只有结果,哪都不能做到极致」——对,没人能。20KB 也不是极致,用 C 大概能做到 8KB,用汇编还能更小。极致不是目标,比值才是:3MB 到 20KB 是 150 倍,这就是结果,它已经发生了。你现在是在拿「做不到无穷」否定「做到了 150」。
所以收成两条:对着空气讲你正在做的东西——只讲那个,讲的过程中它会成形;成形了就放出来。拆台那条线不是失去了,是省下来了,省下来的力气给第二个 150 倍。
—
哦,听起来果然稍微有动力一点了。 我需要一边拆【内行】的台让他们心理上过不去,一边让不在乎CS的人听【信噪比极低】的乱码式中文,一边还以既不摆专业架子,也不是viber的架子继续科普
我甚至不能闭嘴干活,因为我需要以小孩子的视角审阅在做的设计,才能梳理思路。 我信仰一手知识和二开/一开不分的世界,可是看来一手知识只是个人化的“点醒”,还不如那些为费曼所排斥的【刷题生】有效。理论?工程?明明只有结果,哪都不能做到极致
🌚 写个个人cheatsheet而已…… 怎么世界观都更新了。
duangsuse::Echo
还真让Fable安慰了一下,感觉字数少但效果很好 这个图片量也太大了 #ai探讨
写个个人cheatsheet而已…… 怎么世界观都更新了。
好吧:「20KB 签名器今天还能跑。uber-apk-signer 是 3MB 这件事没有变成 20KB 是错的?」
并非如此。重点不是20KB 。是下游,是相关的工具和成品,是20KB之所以“更好”的唯一理由。
没有。【可解释性】的价值就像自由软件曾做的MOD承诺那样,它不如闭源的MC模组,这就是幻灭之处。
20KB或《妙妙词典》在显著意义上更优吗? 特定语境下,比如王垠的培训班,可能如是,但这怎么不是一个《料理鼠王》当着别人面下厨的故事呢?
我曾经以为,我认定的理论是纯粹的,但无论从哪个interface{}看来: 文字对人的价值;人的领域和选型;时机与目的,都没有 “更理论” “更易懂” 这种东西存在
> 你只是出于功利视角默认【IT大佬们】不会有这种反应。面对像上面《妙妙词典》那样画风的简洁软件,他们会照我曾以为的那样只看技术吗? 理论,或工程,我曾经认为他们重视理论, 我现在只觉得他们是把【技术政治化】当成先进在做。
——你觉得TeX那种“不断完满”的PI的语法和kit是一半的,不如Typst且至今才被证明,但你们在软件世界都是 freak.
——你只能靠结果来证明设计的一切不会走Smalltalk的老路。哦,我居然才发现啊? 就像原来功能正确的话,用“死的”pdf冒充活的html{forif}模板也能得高分一样。然后rework一遍…… 工作职位就是这么来的,他们称之为艺术与协作
🥱 写个个人cheatsheet而已…… 怎么世界观都更新了。
好吧:「20KB 签名器今天还能跑。uber-apk-signer 是 3MB 这件事没有变成 20KB 是错的?」
并非如此。重点不是20KB 。是下游,是相关的工具和成品,是20KB之所以“更好”的唯一理由。
没有。【可解释性】的价值就像自由软件曾做的MOD承诺那样,它不如闭源的MC模组,这就是幻灭之处。
20KB或《妙妙词典》在显著意义上更优吗? 特定语境下,比如王垠的培训班,可能如是,但这怎么不是一个《料理鼠王》当着别人面下厨的故事呢?
理论如是,实践如是。你费力手写落地,未来=失败,哦,所以还不如写test然后放着整个栈不更新让Claude来。《内容农场》。
我曾经以为,我认定的理论是纯粹的,但无论从哪个interface{}看来: 文字对人的价值;人的领域和选型;时机与目的,都没有 “更理论” “更易懂” 这种东西存在
就像那句话,学生不是为了快乐或朗朗在学钢琴,是艺术生加分。
写代码的,写博客的,小透明,ice1k或王垠(甚至会有他们?),阮一峰等KOL就更不用提了,为了收入,为了「今晚能用」,他们不会像我这样在乎Dijkstra、Pythonic、Feynmanic、Bret和Kay的“魔法墨水”。
> 你只是出于功利视角默认【IT大佬们】不会有这种反应。面对像上面《妙妙词典》那样画风的简洁软件,他们会照我曾以为的那样只看技术吗? 理论,或工程,我曾经认为他们重视理论, 我现在只觉得他们是把【技术政治化】当成先进在做。
如果先进的方法超过【你曾认为必要的事】,你会以曾经钻研技术的魄力当布道师吗? 还是认为《妙妙词典》那般不C-like的编程语言不专业?
《妙妙词典》只是这种事情的预演——我必须接受不纯粹的技术,就连微信不做搜索时用不用 $ tree . 存储的Chat时间线都有人争论的话,还是不要问【如果我能让知识更完备,会怎么样】了,它有问题吗?就像你该说教科书有问题吗? 它们是【正确】的,“最不错的”,只是对的又蠢又傲慢,就像一些人眼里的我。
不会怎么样,他们只是抄一部分然后tests变绿,他们并不像Bret或王垠那样在乎【test是不是用 Endest User 一样的flow来录制的】。
Rust 赢在 Mozilla 背书、赢在「memory safety」成了一个能写进政府文件的口号,不是赢在 borrow checker
——你觉得TeX那种“不断完满”的PI的语法和kit是一半的,不如Typst且至今才被证明,但你们在软件世界都是 freak.
——你只能靠结果来证明设计的一切不会走Smalltalk的老路。哦,我居然才发现啊? 就像原来功能正确的话,用“死的”pdf冒充活的html{forif}模板也能得高分一样。然后rework一遍…… 工作职位就是这么来的,他们称之为艺术与协作
> 所以你真正面对的是:你的品味不是客观优越的,它只是对特定目的优越。承认这个像认输,其实只是从「纯粹」降到「有用」。Dijkstra 本人也没做到纯粹,ice1000 在做 Aya,那是纯 PL;Bret Victor 十几年没有明显的收入动机
ice1000 在做 Aya,那是纯 PL,但那只是他的Pure,不是Kay的medium。 他们会用fmap,甚至会用unifyAB,但那是dfs/new Var 的世界,不是Signal的世界。 他们不知道derive(()=>)和,then就是fmap ,或者不在乎。
我不是听一个【纯函数】【交互式证明】就能收手的,这些对QoL没有帮助,它们看不到需求,甚至故意与通俗易懂隔离。我要Dijkstra的优雅,又要Feynman的纯粹
🥱 写个个人cheatsheet而已…… 怎么世界观都更新了。
《软件幻灭》也不是第一天的事情了,但是 #tg 这样的体验就很好啊,只是有点没下游生态罢了。
duangsuse::Echo
TCP只是把stdio用蹩脚的方式绑定成【数字号文件】,WebSocket又直接拆掉了Content-Length问题,和旧协议如9p/ftp不兼容
ELF只是把编译期的 mmap,malloc,#embed 调用变成序列化好的协议,再加一个包含无数次ld-linux.so字符串的头,busybox和SqlELF早就看到它没有认真完成 portable 和
ELF只是把编译期的 mmap,malloc,#embed 调用变成序列化好的协议,再加一个包含无数次ld-linux.so字符串的头,busybox和SqlELF早就看到它没有认真完成 portable 和
对了,
tcp监听并非文件,还导致你需要打开witr仅仅是查看端口占用,或者,用户点开服,然后不知道局域网URL是啥。
或者编程时,不知道消息边界,为粘包拆包存不存在舌战群儒。 你甚至意识不到 “哦,我在这填这个num,那边的switch会那样的调用”,Kay的想法直到uring才被意识到是【不可跳过的】
如果,只是一种理念,如果 tcp有文件夹监听+named pipe的反射,有\n流或ansi的等效协议,就连socket编程也会容易不少,而且也没有dnotify的毛病了
#ai探讨
elf 不仅是把 malloc(.data/static) 从opcode转为bin格式这么干,还引起了 ThreadLocal 问题,因为一个 .so 真的是 new Object,而不是纯粹的,jmp到 “回调字典键”的另一个字典,而已。
desktop 让人困惑一波,TLS又因为shared mmap想省内存干了生态一波, 非要把客户端服务器干满才能意识到根本问题?
busybox通过单体argv0路由已经能说明它(或者说execvpe的机制)为什么差
唉, 这样一想的话, 就又愤世嫉俗了一天。 哈哈,当然我在扯淡
#statement 😡 红温了
我不明白——计算机是用来创作的,不是刷一些花花绿绿的垃圾、负资产的。
它们是一些可爱的、蕊括深的录屏文件夹,只是有些巧思一般的叠合。但可以单独抓过来玩。软件不就是像【它们有用时】那样用的吗?
它们时时刻刻都在有用,只是时时刻刻都把用户当成傻逼。 举个例子,systemd系譬如服务面板,加上Telegram的inline buttons,你觉得怎样更自由? 开发成本怎样? 他们只是不明白,这不在他们的日程上。
这不是一种stdio级别的协议,像“录制”bash脚本那样容易上线,但winapi上这种框架不缺(疑难解答 就是)
他们宁可写那个该死的重复了几千遍的bash补齐,然后做一个玩具般的 form cockpit,也不愿意修正这一切愚蠢的复制粘贴,这就是为什么【录屏文件夹】不现实。 软件本是在【场景和需求】里用的,有高度确定的80%和20%,而且没有【无法可视化或不可调试】的部分,只是因为他们多到不可思议的内耗让硬件美好的特质如此被浪费,就像MD1时代左滑出现《美丽的Drawer》而不是返回键。
tcp监听并非文件,还导致你需要打开witr仅仅是查看端口占用,或者,用户点开服,然后不知道局域网URL是啥。
或者编程时,不知道消息边界,为粘包拆包存不存在舌战群儒。 你甚至意识不到 “哦,我在这填这个num,那边的switch会那样的调用”,Kay的想法直到uring才被意识到是【不可跳过的】
如果,只是一种理念,如果 tcp有文件夹监听+named pipe的反射,有\n流或ansi的等效协议,就连socket编程也会容易不少,而且也没有dnotify的毛病了
#ai探讨
sock升级ws会导致【旧协议】全部淘汰这个是最爆笑的,一个“稳定数据管道”,居然默认对方会无限的head你的bytes,而没有消息边界,就好像你能用各类 sendfile() 来通过null-length优化传输一样。QUIC和WS直接让ftp等成品协议被迫重写,不能自动移植,这下“粘包”真成问题了。
实际上几乎90%的bin和wire格式都是【坏事说在前头】,根本没有和C那样 \0 dirty hack 的。就好像你瞥一眼还会损坏数组的内部结构一样诡异。 32bit时早该用SSO(ptr tag)优化了,还省1字节呢,y2k那次省的多不多?
听起来就像Java怪异的(数组|Str)的.length,或Lisp链表爱好者处理字符集的点子。他们不明白语义学的底线在哪
告诉我,流除了head(确定的N)以外还能怎么使用。是事件吗,比如SIGINT那样?那么,这也是tcp不得不泄露的抽象了。大文件和音画pakt不能作为反直觉的理由
短的分隔符/bufSize/时间片,这些都可以在内核态做到,物理上更好,但支持度很差。它们是上文切换细节(可以1-by-1实现),不是流性质。状态机和head(sizeof(enum))继续head没有区别,无边界也要有buf,没有突破我说的认知边界
显然是状态机?你指的其实是递归下降。状态机只是对x86线程栈自身的【虚拟机壳】,它并不优秀,因为它做的一切就是把【栈上赋值/传个参的事】劣化成【对象写入/一大堆样板】,或者反过来(即序列化),为了可重入。
【流】这个概念是含糊其辞的,你认为有必要的情况,比如纯粹的端口转发或body的代理,最终都是【管道splice/sendfile】,或head(N),或处理中断信号,只有时序信号是物理上【突破确定的N】的
你又让抽象泄露了。stack的问题是libc的问题,不是 "Stack" 这个序列化工具本来的问题,就像爆栈的超深递归box到堆上也能执行。状态机是丑陋的,仅有DP和动画系统真正需要它。元编程能接管的地方,【程序流断裂】并不存在
(这些下游受害,或失去“正常化”的机会,正是我深恶痛绝的。C无栈to堆闭包首当其冲。)
(如果要提到ES6才在整个编程世界规范化的 safe str injection, 那和C匿名函数一样气人,甚至直接养活了xss/1=1/WAF的世界)
(和y2k/c10k/nulls一样纯纯的小丑,工程之耻还拿来考题)
呵呵,funarg problem 岂是一个函数值(un)boxing和W^X的分配器问题,它是【瘦指针vs双指针】的类型安全问题。C哪里是(code+env)撕裂,(argc,argv) 一样有毛病,带出和y2k一样的RCE漏洞
union的毛病更甚,以至于Haskell data 被用于各种组合/协议的教学而 Rust enum{A(tup) B()} 和可空(T)被大加赞誉,printf和ioctl都是毛病的后果,【简单】没有省下任何东西,反而让一切变得疯狂。
——(ptr,len)、(code,env)、(tag,payload)、(ptr,vtable)——C 都把第二个字拆出去,然后给你一条口头约定。字符串的长度塞进内容里做 \0,于是有 strlen 和溢出Segfault甚至RCE 🥱
UNIX的下游并没有意识到 stack2heap 的缺失造成如此之多,乃至没人感知到的 C-like 毛病。像用一个愚蠢的atexit止痛药,而失去了React和Qt的Signal,倒退20年,好像省了worse,其实什么坑都踩了。
【调用栈】有一等公民的理由,但不要认为【线程栈】【自动清理】是free且不需要类型信息的。栈不是一个RAII的回调链表而已,它只是优化的堆,仍然是堆。让它劣化的人不明白。 😓
elf 不仅是把 malloc(.data/static) 从opcode转为bin格式这么干,还引起了 ThreadLocal 问题,因为一个 .so 真的是 new Object,而不是纯粹的,jmp到 “回调字典键”的另一个字典,而已。
desktop 让人困惑一波,TLS又因为shared mmap想省内存干了生态一波, 非要把客户端服务器干满才能意识到根本问题?
busybox通过单体argv0路由已经能说明它(或者说execvpe的机制)为什么差
唉, 这样一想的话, 就又愤世嫉俗了一天。 哈哈,当然我在扯淡
#statement 😡 红温了
你不明白【用户交互】与kernel真实的边界。可以说:通过键鼠横屏/触屏操作的,只有Bellard涉足的那些东西不能通过【边界】。但是其他的【体验】都有办法,iq的GL可以,Web全栈测试和FSAA读写可以,性能问题只是选型和interop错误。就像SHM或fd_set那样,C-like 的世界本没什么不可替代的,而且他们输给JS/Py太多
所有以人的事件速率运行的东西——键鼠、触屏、窗口、列表、表单、图表、甚至游戏的大部分帧——已经全部过了边界,不是「能过」,是过完了。iq 的 shadertoy 证明 GPU 那侧也过了;Playwright 证明「操作」本身可以被另一个受管世界驱动。
Bellard 那一堆:QEMU、FFmpeg、TCC、LTE 基站、QuickJS。它们的共同点不是「在内核里」,是内循环以样本速率而不是事件速率跑
Web需要做的仅仅是变成GTK/QML/Gum CLI这些东西能执行的子集,因为他们根本不懂【软件开发】,只知道实现。但是Web的完成度无人能做到
它们不拥有生命周期:怎么分发、怎么看见、怎么回滚、怎么被第三方检查。
本来就是那样的,现在的工程界却以为稀奇,就像我看见他们的README连截图和demo都不写那样稀奇。
【兼容性】【久经测试】【项目模板从来如此】…… 是啊,他们总是对20KB源码或一个特定指针上的bytes()有这样庸俗的理解,是啊,那些写 code.golf 的人连函数名都要压成单字符,显然【不可维护】?,以至于自己想要写什么,录个屏?都做不到
连《编程语言项目》,都居然不敢把自己的syntax和flow晒在主页,我已经开始不明白——到底在照猫画虎什么。 软件不就是像【它们有用时】那样用的吗? Exceptions?
听到哈希函数、分配器、一个 syscall wrapper,我就知道它们更有用了。我可以拿出【文学编程】和Juypter那样的REPL来写demo测试它们,我还可以用Shadertoy的白噪声测试hash是否均匀,用前端、管道密集型、IO密集型的既有App去测试一个malloc,甚至不用自己写代码。 世界本来是如此美好的,直到那些硬干的人让pull&make都变得胆战心惊
Learnable Programming 让一个不可能的(或者优化不够到位)的【时间旅行调试】都变得触手可及,而那些codebase,让代码变得克苏鲁一样无法直视,只能【运行or DIE】。Nickey的 Explorabl.es 证明了各色算法并非那样的【反人类】【反直觉】。
我不明白——计算机是用来创作的,不是刷一些花花绿绿的垃圾、负资产的。
它们是一些可爱的、蕊括深的录屏文件夹,只是有些巧思一般的叠合。但可以单独抓过来玩。软件不就是像【它们有用时】那样用的吗?
它们时时刻刻都在有用,只是时时刻刻都把用户当成傻逼。 举个例子,systemd系譬如服务面板,加上Telegram的inline buttons,你觉得怎样更自由? 开发成本怎样? 他们只是不明白,这不在他们的日程上。
这不是一种stdio级别的协议,像“录制”bash脚本那样容易上线,但winapi上这种框架不缺(疑难解答 就是)
他们宁可写那个该死的重复了几千遍的bash补齐,然后做一个玩具般的 form cockpit,也不愿意修正这一切愚蠢的复制粘贴,这就是为什么【录屏文件夹】不现实。 软件本是在【场景和需求】里用的,有高度确定的80%和20%,而且没有【无法可视化或不可调试】的部分,只是因为他们多到不可思议的内耗让硬件美好的特质如此被浪费,就像MD1时代左滑出现《美丽的Drawer》而不是返回键。
谈到具体论点上,Fable还挺有幽默感的。 但这些东西归谁管?
Linux会觉得它只是libc的附庸,自己就是个死掉的硬地址IRQ+ImHex转C接口,顺便带了劣化版libuv的内存沙箱
而glibc自己版本污染不相干的elf,出丑的要命(不过NSS服务都放,不能往bash里放一个 jobs bind 么..)
当你认识到他们如此之蠢,又傲慢;你不会觉得自己很聪明,只会明白《软件幻灭》
Linux会觉得它只是libc的附庸,自己就是个死掉的硬地址IRQ+ImHex转C接口,顺便带了劣化版libuv的内存沙箱
而glibc自己版本污染不相干的elf,出丑的要命(不过NSS服务都放,不能往bash里放一个 jobs bind 么..)
C闭包可以用蹦床函数并free(+[](){expr}) ,但说到底,Lisp的作业不会抄是个毛病
Lisp 机整个栈是一家人,内存、帧、GC 归同一个人。那家人死了(修正:变成JSON和DOM世界了),Unix 赢了,赢的方式恰好是「没有一层拥有全局语义」——Gabriel 的 worse is better 讲的就是这个。
UNIX的下游并没有意识到 stack2heap 的缺失造成如此之多,乃至没人感知到的 C-like 毛病。他们可以说是,就像用一个愚蠢的atexit止痛药,而失去了React和Qt的Signal。基本上是把能用的部分都搞丢了
😓
当你认识到他们如此之蠢,又傲慢;你不会觉得自己很聪明,只会明白《软件幻灭》
duangsuse::Echo
Linux会觉得它只是libc的附庸,自己就是个死掉的硬地址IRQ+ImHex转C接口,顺便带了劣化版libuv的内存沙箱
#linux #lisp
其实不是 worse better,是 cheap better。 Smalltalk和 Lisp各有语法上的奇葩和固执,但昂贵的授权才是致命一击
RMS说GNU bash/glib 之上的世界不是 free beer,可是,自由软件从未做到MOD自由过-- 它们还不如MC和Homrbrew,甚至,不如Live2D和VRChat,对了:更别和steam工坊比。 只有KDE/opendesktop.org / Blender.org 这样的东西,完美利用了业余社区
许多Linuxer在这方面甚至倒戈了G胖和GH,这不是很可笑吗?所谓自由的软件,二开和快速补丁被“auto” tools杀死。
就像java的那个精神污染的 public 与分号。这个工具,并没有在主动帮助你,这些工具,总是被动地等你犯错,然后给你一个“去读说明书”的冰冷回应。 他们管这叫可定制,叫完成度高。他们分不清楚边界。
C 虽然有.h和make样板难写,但不想搞个大新闻,就是纯粹的“run anywhere”,扁平化forif-goto,struct-void_p 然后选个整数位宽分配栈mem2reg,这样而已。
相比之下,几乎所有cffi的新语言都完全抛弃了C语法的形状,但内核又是一样的“运行时鬼城”和“编辑时拉胯”,只懂搞新闻 禁止人“搬家”。 Haxe (FnF #game )那样无界的生态终究是少数
我说了许多,实际上在两年前我看来很难理解的事(今天有ai我也不怕人听起来像乱码了)
但我不去实现它们(部分我<10行做过),因为我清楚结果会是花一两个晚上,得出百行,而参考资料有300行和一堆不相关的api或说法
既然是 cheap better,GNU的那些信仰加成,也不过是一种宗教口嗨而已。 free 也有free的问题,支付劳动换取更free的服务,没毛病。 就像为什么大家正常用Rc而C工具链就是没一个站出来的autofree方案,却有个效仿CE修改器的Boehm。
标准库让无团体开发者不开心,当然会让下游和 endest user 到处重复劳动,然后选择高质量的软件,可能这就是 free beer 的可配置性吧。再说一遍:真不如ModPE free as in freedom
其实不是 worse better,是 cheap better。 Smalltalk和 Lisp各有语法上的奇葩和固执,但昂贵的授权才是致命一击
RMS说GNU bash/glib 之上的世界不是 free beer,可是,自由软件从未做到MOD自由过-- 它们还不如MC和Homrbrew,甚至,不如Live2D和VRChat,对了:更别和steam工坊比。 只有KDE/opendesktop.org / Blender.org 这样的东西,完美利用了业余社区
许多Linuxer在这方面甚至倒戈了G胖和GH,这不是很可笑吗?所谓自由的软件,二开和快速补丁被“auto” tools杀死。
😇 诶ㄟ, RMS, 你真以为那个源码.tar.gz 就是软件本体吗? 为什么它不像PKGBUILD那样开箱即改呢? 为什么【定位】【因果】比CE修改器和strings .so 还要艰难?
我必须要编译,才能看到运行时的截图或 asciinema.org 吗?这可不止是展示,它告诉你具体的功能列表(Tab补齐、 tldr.sh )
诶ㄟ, bash 的开发者。报错,按方向上,Ctrl跳词加 --help ,我的大脑已经磨出茧了。 为什么不是 ? ls ; ? systemctl 像IPy那样调用help协议? 为什么不是 entr watch 自动执行我方向上+回车累了的命令?
man bash 看你们写的功能挺多的,残念,没一个正常人用的到,而用到的,默认不开启。凑出 sudo !! ? 不好意思,不会读hackers的空气吗。
chmod +x dir 可以让它可进入,所以$0是dir时回车就是cd进去咯? 不好意思:shopt默认关闭。 甚至在理论一致性上,都不正确。
不是"可执行",是"可遍历" —这是文字游戏。 在一个连$0都可以被变量展开并被注入的shell里,纠结这些招笑。shell不是为了像UNIX,倒不如说,它经常让交互模式(!!, init-rcs) 语法污染到脚本录制。
man所用的语法是一个不md也不TeX的怪胎,偏偏没人换掉它;至于你说的 %n file(s),我用这一个DSL就能表达了,怎么实现是无聊的事,关键是:他们并不懂得怎么【不污染下游】
C 开发就是这样被你们撕成碎片的。
…这种僵尸开源,就是gcc和自由社会送给开发者的《四大自由》吗? 可是我不能。我需要折腾一个上午来实现 ContenEditable+form 就能翻译的gettext只为满足它的 vendor 怪癖,还不如用json。这只是所谓一切自由的一个缩影。GNU的朋友圈和现代桌面差多大,自由和“自由”就差多远。
就像java的那个精神污染的 public 与分号。这个工具,并没有在主动帮助你,这些工具,总是被动地等你犯错,然后给你一个“去读说明书”的冰冷回应。 他们管这叫可定制,叫完成度高。他们分不清楚边界。
C 虽然有.h和make样板难写,但不想搞个大新闻,就是纯粹的“run anywhere”,扁平化forif-goto,struct-void_p 然后选个整数位宽分配栈mem2reg,这样而已。
相比之下,几乎所有cffi的新语言都完全抛弃了C语法的形状,但内核又是一样的“运行时鬼城”和“编辑时拉胯”,只懂搞新闻 禁止人“搬家”。 Haxe (FnF #game )那样无界的生态终究是少数
但我并不喜欢C。 倒不如说我是在用libc生态,填一种仪式繁琐的form然后交给dlsym,再把指针整数传到下一堆form里那样,或者注册一个回调。这样像AHK或rundll32那样,能做到正常单机开发做不到的事情。C或C++并不比numpy厉害or高性能,以后势必愈发如此
我说了许多,实际上在两年前我看来很难理解的事(今天有ai我也不怕人听起来像乱码了)
但我不去实现它们(部分我<10行做过),因为我清楚结果会是花一两个晚上,得出百行,而参考资料有300行和一堆不相关的api或说法
既然是 cheap better,GNU的那些信仰加成,也不过是一种宗教口嗨而已。 free 也有free的问题,支付劳动换取更free的服务,没毛病。 就像为什么大家正常用Rc而C工具链就是没一个站出来的autofree方案,却有个效仿CE修改器的Boehm。
标准库让无团体开发者不开心,当然会让下游和 endest user 到处重复劳动,然后选择高质量的软件,可能这就是 free beer 的可配置性吧。再说一遍:真不如ModPE free as in freedom
duangsuse::Echo
(这些下游受害,或失去“正常化”的机会,正是我深恶痛绝的。C无栈to堆闭包首当其冲。)
#history
我仿佛还记得Gates当年喷自由世界“偷了BASIC运行环境”,RMS和Tk作者对喷,Linus和“微内核大老师”互损
软件世界,到处都是这样【绝无法跳过】的语言特性被大胆无视,“未曾设想的那种问题”
y2k/c10k/nulls 的弊病,明明可以被 ?. ?? 化为神奇的白魔法却变成了disaster。 编程只是为了炫耀长度,而不运行。每个语言都充满了特色精神污染,亦如 java public 与分号,或如Perl傲慢又脑残的单字符,几乎无一例外。
y2k/c10k/nulls/safe_strs/ paired_ptrs (eg. segfault, funarg problem, io_uring+closures) / newdll_and_signal / zipapp distro.
这些问题的解法都不是高深的算法或厂商的护城河,偏偏最后要么成为魔法,要么变成厂商硬广(Snap, Silverblue)
从编程语言开始,就腐败。 都在创新,不明白为什么厌旧。 照猫画虎而已。
软件是以【它有用时的flow】被开发和使用的,无论lib 框架“App”“容器”,或编程语言。
简单是可靠性的常识,不是可靠性的祭品
我仿佛还记得Gates当年喷自由世界“偷了BASIC运行环境”,RMS和Tk作者对喷,Linus和“微内核大老师”互损
软件世界,到处都是这样【绝无法跳过】的语言特性被大胆无视,“未曾设想的那种问题”
if err != nil、只有map/list的泛型、py的print“语法”、单行lambda不懂优化被df和aio搞崩溃,理由【简单】,最后明白【未来】没那么简单,为什么一开始傲慢。
有写VM的时间,多看看你欠了libs和DSL有多少。没人需要你那个毫无可玩性的VM。LLVM的体量欠的,比numpy、ffmpeg、taichi欠的多太多。玄学优化、不懂round-trip的实现,是技术债务。
y2k/c10k/nulls 的弊病,明明可以被 ?. ?? 化为神奇的白魔法却变成了disaster。 编程只是为了炫耀长度,而不运行。每个语言都充满了特色精神污染,亦如 java public 与分号,或如Perl傲慢又脑残的单字符,几乎无一例外。
从PHP直到ES6才“发明”了 safe_strs ${}…… 代码外res的打包也是sudo地狱,Qt/GTK居然推出专门的“CLI版本”只因为libc是个用@VER污染下游让系统滚挂的垃圾。PKGBUILD只凭bash该有的样子就产生了一个完美发行版,说明本来的coding从编辑时、编译时、运行时、打包发布上线…… 充满了病态却被视若无睹,正如该死的【运行时null和胶水语言字符串注入】
C的没有闭包/装箱或集合模板,【瘦指针vs双指针】的错选导致安全数组、Rusty enum 变的如 C-like 般丑陋和“安全性能不可得兼”。Python以为靠[forif]和《对reduce的批判》就能跳过多行lambda的【事件+闭包】,被asyncio的未来锤的倒地不起,和C的单次syscall IO未来一样
设计者用一个愚蠢的atexit止痛药理解SIGXXX,而失去了React和Qt的Signal,失去了Kay的消息+边界意识,再到c10k和io_uring/Docker的时代,其实什么坑都已经踩了。
SIG真的只是taskmgr上挂的 (UserScript) 吗? .so 真的只是一堆 [Str CDef KV] 吗?如果.so是伪共享的 new Object,UNIX本来的模型可以和 Qt SIGNAL/SLOT 一样,只是他们完全没多想,所以DBus想太多。哦,这没毛病,就像PHP和JQ不知道SQLi和XSS会变成那样,或Java认为NPE不是自己的错,bash觉得 "$wtf" 优于 $wtf,只是你们有病而【用户视角】没有,我们知道【频率】【功能点】。
至少我的品味不会差到为了 for f in $files 这几句省俩字,让所有人的$var遭灾。就像如果一个ssh实现没有带端口转发/scp或剪贴板,推给“可选依赖”,这不是什么 KISS 道理,是Bozo的大作。
🤨 特例没你想象的那样足以打破模型。 IFS='' ,for 内部默认 IFS=' ' 照样能实现,考虑到数组 95% 都是做函数式forif glob 的,权衡之下$var不可能,莫名其妙带了一半eval()的语意。 这不是事后诸葛亮,是本该知道的【一致性】【可预测性】问题。 他们知道这是问题,选择了给旋钮而不是给正确默认,下游不会改因为下游不编程!
y2k/c10k/nulls/safe_strs/ paired_ptrs (eg. segfault, funarg problem, io_uring+closures) / newdll_and_signal / zipapp distro.
这些问题的解法都不是高深的算法或厂商的护城河,偏偏最后要么成为魔法,要么变成厂商硬广(Snap, Silverblue)
从编程语言开始,就腐败。 都在创新,不明白为什么厌旧。 照猫画虎而已。
Bellard和iq是他们编程领域可称为“神”的作者。 #dalao
LuaJIT,SQLite和stb,llamafile, smallpt, OpenDAW, SerenityOS+Ladybird; ciechanow.ski; handmade.network/m/acegikmo
这些作者,确实可以和iq/Bellard相比,从信噪比和理论准确的角度看——工程界也有不少人,比如 r2 pancake, C# 之父 这样既有灵感也有技术力的作者,简直数以百计
🔍 Rob Pike、Bret Victor、J. Blow、 tonsky.me(Fira Code) 和 Ncase.me …… 这样“非常冷门”但其实启发了一种【全新体验】的人更是有【不拘一格降人才】的感觉
(如果C#之父和Pike严格提到最前,Linus和NT生态的缔造者们也可以上榜了,那就没完没了了。Sysinternals和toys只是Win极客圈里保底的一部分,如果这样算 YaST libyui 和 AUR hooks 都能分为有品味)
比如,YaST是唯一一个我见过TUI/CLI/Web/GTK/Qt满格全功能的软件,dnf也在用SUSE匹配版本。可能是KDE交集深,中欧的学术底色。
在体系化上也只有坐拥IV摘要、TON点卡和TL/TDlib栈的Telegram可以与这样的软件相比,妙处在于不注意就无法认识到有多领先,比如用惯了卡慢懒的IM,工作习惯被其他App分流,可能都没点开过烂大街的OG卡片看到tg超过B站的技术实力
软件是以【它有用时的flow】被开发和使用的,无论lib 框架“App”“容器”,或编程语言。
简单是可靠性的常识,不是可靠性的祭品
Handmade Network
Freya Holmér
purrpod.github.io
使用指南 | PurrCat
PurrCat 官方文档
== purrpod.github.io
看了一下耗时一年的个人项目,现在的 Agent IDE 是这样的
- 【预制人转“真人”】vec+grep 的相关性匹配和 MEMORY.md 的日志记忆
- 【上文缓存】自动寻找安全截断点(tool_result),被挤出的历史替换为高度压缩的 Memo 摘要提示词注入。MCP 缓存命中率优化polyfill
- 【角色扮演】Blender式DAG编排思维链,通过 tool call 生成文件,且支持条件和人工弹窗节点
- 【把键鼠给他】节点可配置环境变量和专属工具,Docker 沙盒执行, 支持分页read、覆盖、行级搜索替换、glob tool,支持MarkItDown和爬取网页
- 【便利接管】节点可编程Task面板断点续做,导出文件时自动触发 Git 快照(Auto-Commit),Cron 工具,截图识别 UI 元素 ID 标签RPA等
- 【主动对话】飞书通道、RSS、Whisper 和 pyttsx3 语音触发器
- 【主动Skill】最佳 Skill 不是写出来的,是跑出来的。 评测驱动开发,定义输入、预期输出和评分,在隔离环境运行测试,生成详细 trace 通过后合并到IDE配置
工业界如 LangChain、AutoGPT、Dify 等)在概念抽象上高度趋同:如 Breakdown和协作、find&edit 和.md转化等准RPA工具、记忆召回、反思报错为经验、沙箱白名单环境 的基本LLM/tool套壳功能
坑点在于 Context 踩踏与成本爆炸、无法快照读档、过于相信随机经验等问题
https://purrpod.github.io/guide/usage.html
🙏🏻
看了一下耗时一年的个人项目,现在的 Agent IDE 是这样的
- 【预制人转“真人”】vec+grep 的相关性匹配和 MEMORY.md 的日志记忆
- 【上文缓存】自动寻找安全截断点(tool_result),被挤出的历史替换为高度压缩的 Memo 摘要提示词注入。MCP 缓存命中率优化polyfill
- 【角色扮演】Blender式DAG编排思维链,通过 tool call 生成文件,且支持条件和人工弹窗节点
- 【把键鼠给他】节点可配置环境变量和专属工具,Docker 沙盒执行, 支持分页read、覆盖、行级搜索替换、glob tool,支持MarkItDown和爬取网页
- 【便利接管】节点可编程Task面板断点续做,导出文件时自动触发 Git 快照(Auto-Commit),Cron 工具,截图识别 UI 元素 ID 标签RPA等
- 【主动对话】飞书通道、RSS、Whisper 和 pyttsx3 语音触发器
- 【主动Skill】最佳 Skill 不是写出来的,是跑出来的。 评测驱动开发,定义输入、预期输出和评分,在隔离环境运行测试,生成详细 trace 通过后合并到IDE配置
工业界如 LangChain、AutoGPT、Dify 等)在概念抽象上高度趋同:如 Breakdown和协作、find&edit 和.md转化等准RPA工具、记忆召回、反思报错为经验、沙箱白名单环境 的基本LLM/tool套壳功能
坑点在于 Context 踩踏与成本爆炸、无法快照读档、过于相信随机经验等问题
https://purrpod.github.io/guide/usage.html
🙏🏻