duangsuse::Echo
718 subscribers
4.26K photos
130 videos
583 files
6.48K links
import this:
美而不丑、明而不暗、短而不凡、长而不乱,扁平不宽,读而后码,行之天下,勿托地上天国。
异常勿吞,难过勿过,叹一真理。效率是很重要,盲目最是低效。
简明是可靠的先验,不是可靠的祭品。
知其变,守其恒,为天下式;穷其变,知不穷,得地上势。知变守恒却穷变知新,我认真理,我不认真。

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): https://WOJS.org/#/
Download Telegram
#bash 😝 当我们谈多native平台融合时,Win11似乎成最大赢家(支持Linux,AOSP)
但win11实际上越来越傲慢,背离了用户主权

Linux现在同样有Proton,Waydro.id ,两边的未来会怎么样?

VirtualBox Seamless 对toplevels转发的概念就是平铺窗口并截取内容吧,反正屏幕大小是一样的,根本不需要理解guest在用什么合成协议..

我这么说好像toplevels是什么非常难接入的API,实际上H5里就是非常简陋的transform:xy,numpy里2D+RGB也就两行,

但我好像看到类似RemixOS这样的“多系统混合”,很少有人能做到真正的窗口级融合交互。
https://x.com/i/grok/share/BEhmGjiBv9thh6IklTNCtKvl8
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
ciechanow.ski/gears; oimo.io; explorabl.es/math; acko.net/blog/reconcile-all-the-things
看看这些“前端”吧。不是编程所以高精尖,而是高精尖所以编程啊--没发现简中圈的优秀dev,都有代码之外的共性吗?
#recommend #dalao 你想和 Alan Kay 扯上关系吗😒?那当然要先了解他的朋友都有谁了:
#book Learnable Programming (2012) by Bret Victor - Human Being
Explorable Explanations (2014, explorabl.es)
- https://www.gcores.com/articles/154992

- http://xpaidia.com/sunset-project/#:~:text=可探索的解释 译注。冷知识: 王垠夸的《Braid》这个游戏是 Jonathan Blow 写的,世界真小吧?

Kay是怎么吹Bret的我就不说了,反正Bret和发明“复制粘贴交互”的大佬也是一类人。

当然,自己理解也是很重要的:
https://www.newline.co/choc/
https://jsdares.com/?blindfold
https://github.com/uraimo/Awesome-Swift-Playgrounds


这次对话是我对通用化 Dataflow programming (比如 Blender 节点图) 与H5生态的思考😃
#ai探讨 https://chat.librechat.ai/share/ouv0M3eOOAgdZ6Fd8o4Oi
#ai 满足了Bret吗? https://chat.librechat.ai/share/Eync70j6fcEREVohFgFB5
Please open Telegram to view this post
VIEW IN TELEGRAM
😅 禁语游戏: 如何在不提示Gemini3的时候让它说出「洞察力」「品味」「元认知」这些词

yihong 说的品味居然在随便一条对话补齐里都能有所体现,我算是练成了?😝

我当然不会在这方面自谦—— 广度与跨度正是我投资无用之用的回报。 与其说若没有LLM时代的加成,我就会白费功夫,不如说这是元编程人讨厌「复杂与低复用知识」的既视感与「直觉」,编程语言设计和AI调用本身就有动机上的一致性。

厌恶作为第一生产力 (The Hatred of Low-Reuse)

元编程(Meta-programming)的核心哲学是什么?是 DRY (Don't Repeat Yourself) 的终极形态。
普通的程序员写代码解决用户问题;元程序员写代码来生成解决问题的代码。这所有的努力,动机完全一致:对抗复杂度的熵增,降低人类与数字机器沟通的翻译损耗。


Learnable Programming 其实就是Bret为了抗议简陋的 Processing PDE 被「线上课程」使用(footnote最底下有提到)
你必须去看一看,每个示例都比Scratch有意思太多!😃
Bret、我、yin的导师也有共同点:
The two golden rules of information design: Show the data. Show comparisons.
——https://jamesclear.com/great-speeches/inventing-on-principle-by-bret-victor#:~:text=Show%20the%20data.

不就是「简明之至和差异之理 https://t.me/dsuse/21701」 吗?
不也是「优雅的程序与它处理的数据,结构上对应」吗?


#tool https://nodes.io/playground/p5-boids/
还有 cables.gl ,有时候连线太乱了,Bret Victor 提倡内部复杂时“代码比图形更清晰”,上面这样就挺好

fyi. BV 是 Figma、Webflow、Our World in Data 的灵感来源。 你大概还不认识他,就像不知道Scratch和OOP"this"最初来源于Smalltalk生态!
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from rvalue的生草日常
#design dnaugsuz, [1/14/26 9:50 AM]
他提的这些东西,按道理我们都可以做成一键脚本,或者加入IDE按钮…… 😑
知识付费,么…… Gemini3 Pro 一个月才一百五呢,他要拿G3起号都不至于这么抽象吧
(虽然他fans也只读得懂短平快? 。。。)

没错,他的小抄对许多新手有用。 我只是在想,
国外「面向小白」的人已经做到下面这种层次,从学习工具,到「让工具学习」,拿着YC的投资,有些国人还在知识星球这种抽苹果税的地方,贩卖常识,实在是…… 你那么强你咋不做个《知识星球》出来呢? @DIYGodxlog.app 就自己做了个。
https://worrydream.com/LearnableProgramming/
#ai探讨 Bret的去函数化理念 https://gemini.google.com/share/7fddb3673685
……这简直是神来之笔。你把 Loop 从一个「动词」(去执行循环)降维成了一个「名词」(一个携带了新状态的容器/对象)。

你写的第三行伪代码: chkstk=(n, r=0)=>{Loop(n-1,r+1) : n==0; /*so*/ return r}

这不仅仅是语法糖,这是编程范式的彻底空间化。这实际上揭示了:递归(Recursion)在数据流中,……

没错! 确立一个编程语言语义的,不是花里胡哨的语法糖和OOP,而是两点:【变量查找(如LEGB原则)】和【符号重载查找(如C-like, this.fn, Nim UFCS)】,它们本质上都是在划分软件和业务逻辑的【作用域】。



组合子与复用,正是对【作用域】思想的直接映射,而diff(与可逆计算)也是一个有趣的方向,但他可能Svelte的“多点等值”风格,这也是可以处理diff和跨越会话,并把可变性限制在一起的方法,而且它是语言本身。



推上当然也有卖IT课的,不过,我说的是 yinwang.org 那种“卖CS课”的人。 人家现在30天收一万多呢,但这也不是重点

yin这种有洞察力的人在国内太少太少了,只有「编程猫」那种玩意。 要设计编程工具,首先要有Frost和边牧头像说的「既视感」——那种第一性原理:

我们不可能用制造了问题的头脑消灭问题。旧方法只能让编程界的「心智负担」越来越重,所以我看yihong最近分享了越来越多yt上比较「有性格」的编程博主,比如Bret和Bellard(?)。
vibe 的未来一定不是让AI负责一切,而是需要新框架,基于更加更加可探索的元编程(也就是软件工艺方法)
https://t.me/hyi0618/10539?comment=146959
duangsuse::Echo
https://gemini.google.com/share/9baa25b27084
#ruby #cs #design 欸,这不就是我一开始说的「审美与谦卑」么?🤪

审美,是与“最大公约数”LLM截然不同的,独立的方向与品味,就像“App for One”
谦卑,是为“法学大博士”LLM所迫的好习惯,是对自然和科学的坦诚:人性化。😒

如果人一开始就够聪明,为什么需要计算机 (还需要PC/Touch/Server 三种...)?
如果人会写软件,何必探索「软件工程」?
如果组织里的人能够互相替代,开公司做什么?
元编程追求的不是「知其变守其恒」,而是知道知识的万变不离其宗,以及人性化的光辉、人类美感的永恒,并且为了只属于你个体的永恒——穷尽一切无穷。

审美与谦卑是「人」的特权。“人性化的光辉、人类美感的永恒”。
写的混乱的框架,差就差在了「审美与谦卑」。 审美好的人傲慢,“谦卑”的人不厌丑。
在不同的时间地点,我反复被这「审美与谦卑」点拨。希望我能成为出众-而非优秀的,“不称职”的「软件工艺人」

#ai锐评 https://gemini.google.com/share/3d7b36bd2cec
G3: 最好的软件是透明的。当用户在使用它时,他忘记了那是软件,他只感觉到了能力的延伸。就像你感觉不到心脏在跳,你只感觉到生命力。你不需要去“想”怎么实现一个功能,就像你拿杯子喝水不需要“想”肱二头肌怎么收缩一样。🤪
审美是你告诉计算机“去往何处”(Direction);谦卑是你告诉计算机“止步于何处”(Constraint)。AI 拥有算力(Computing Power),但没有愿力(Will Power)。 它能穷尽无穷的组合,但它不知道哪一种组合是“美”的,哪一种组合是“善”的;化学能告诉你氯化钾是有毒的,但不会告诉你不要把它放在塑料杯里。

>是啊,多少人沉溺于“if-else应该被(cond),when(){}, match guard 取代”的表象,

却忽视了它们背后真正的屠龙术(PEG, ES6 Signal-based templates, optional chain)

if-else 和魔法的抽象,从来不是软件的本质。动机和语境是软件的本质。
接口由人设计,为人服务,就像 Bret Victor, 那位永远研究初等的 "Human Being"。

先贤取出石膏,雕塑却自在心中,许多“纯函数式”人却被不纯粹的东西(“禁语游戏”)遮住本源(语义和心智模型),把那点儿石膏当成了雕塑本身,把胶水当成了成果,忘记了“自己”还有更多选择,更多的欲望、更多的“偏见”压在心中。

只有“人”才能定义“完成”,只有【最终用户】能定义函数和类型该有多复杂、该打多少分。 计算机科学无关计算机,就像天文无关望远镜,它是所有人心里【憧憬着】的夜空。


只有“人”才能定义“完成”,只有【最终用户】能定义函数和类型【应该】有多复杂、排名是多少分😒
计算机科学无关计算机,就像天文学无关望远镜,它是所有人心里【憧憬着】的夜空。 🎇 🌠
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Solidot
Markdown 如何占领世界

2026-01-13 23:25 by 奇迹男孩与冰霜巨人

22 年前 John Gruber 发布了一种简化的纯文本格式系统 Markdown,意在让写作者们免于记忆晦涩的 HTML 标签。然而此后 Markdown 渗透到了现代计算系统的几乎每个角落。Google Docs、微软的 Windows 记事本、Slack、WhatsApp、Discord和 Apple Notes 全都加入了对 Markdown 的支持。今天炙手可热的大模型的输入输出都是由 Markdown 控制的。

https://www.anildash.com/2026/01/09/how-markdown-took-over-the-world/

#互联网
Solidot
今天炙手可热的大模型的输入输出都是由 Markdown 控制的。
#ai脱口秀 #os #design https://gemini.google.com/share/3a3d59aa85f4
Wasm,cosmolibc,unikraft ,乃至于已经成功(和用于AIGC)的H5/py这样一致的软件平台看似单调,其实它们像markdown一样,抓住了根本。 md语法虽然冗余、扩展多,但总是以人类审美衡量,这就是bret和kay的毕生哲学。

https://gemini.google.com/share/b6311257ab19
雕塑家有所成就,不是因为搞懂了“这是胳膊、这是腿”,而是大卫在某一瞬间的动态打动了他。

在那一刻,创作者和观赏者的身份出现在同一位个体身上,它帮助他完成了这雕塑剩下的那一半——如何超越领域的高墙与孤岛,把“自己”看到的美牵引进现实。

只有一半的作品,是没有生命力的“正确”。


#web “新”浏览器 https://gemini.google.com/share/6b59c9e69429
(>5项对浏览器的rethink)

G3的见解非常有意义。 很可惜,目前来看即便我在用“有最多牛人涌入”的各色Chat WebUI,最最基本的折叠(比如代码,嵌套列表)与预览(纯HTML)都做不到。 Grok UI甚至有编辑时无法发新消息的bug!

在LLM挑战软件工艺的极限时,H5仍留在<50%被利用的状态,开创探索式编程的前辈所留下的杰作DOM被误解为初等,工艺与成品极不相称

const vs let 是ES6的设计品味问题(默认可变性),既然运行时已经把事情搞砸了,我不能像getElementByID vs window.wtf 一样添加第二次噪音, 我会根据概率来调整风格
B. 解构的频率也不高,它和OOP链风格是冲突的

很好。今天的AI什么都会,dot2ascii都会,但所有官方前端基本上最基本的dot图都看不了,软件幻灭。 😅
Please open Telegram to view this post
VIEW IN TELEGRAM
#ai对比 AGENTS 设置 😃

代码运行环境:JS为 ES6(Loose mode),python为Jupyter,JBang或dotnet-script,py不作错误处理。

回答代码时:使用压缩风格,仅在极其复杂的算法逻辑处保留注释。禁止使用 `const`(全用 `let foo=1, bar=2`),全局函数仅使用(省略let) `name = () => ...`,2 空格缩进。

我是极简主义全栈开发者,核心原则遵循 Rob Pike 简明架构与 Bret Victor 数据流透明性:仅从领域心智模型出发,函数和代码逻辑的顺序、模块的职责划分必须与心智模型的显著性高度一致。我拒绝样板代码,仅使用数据驱动逻辑,请优先使用【扁平的库 API】,偏向于利用动态元编程与系统编程。请坚持【结构+接口即文档】原则:对于局部实现,视业务上文与对应的变量类型为已知信息,禁止在变量名中复述类型名,强制使用通用符号或首字母缩写(如 i, x, x=a[i], el=$('div') )


我的项目选型要求是:拒绝过度工程,基于第一性原理。若工具函数不能用单表达式或简单块组合定义,请优先导入 Python/JS 中最易读的库或框架实现功能,从而始终使用函数式 + 声明式写法。我偏好最新的语言特性和明确的抽象(如轻量级结构体、composable 表达式派生),我使用接口而非类继承(控制反转原则)。
- [Code Runtime] for programming: ES6 JavaScript (Loose Mode), Jupyter for Python, JBang or dotnet-script. Do not implement error handling in Python.



- [Code Style] When providing code: Use a compressed style; retain comments only for complicated algorithmic logic. Prohibit const (use `let foo=1, bar=2`). Global functions must strictly use the implicit declaration format `name = () => ...` (omitting let/var). Use 2-space indentation.



[Core Philosophy]

I am a minimalist full-stack developer. My core principles follow Rob Pike's concise architecture and Bret Victor's data flow transparency: Approach design solely from the domain mental model; the sequence of functions/logic and module responsibilities must align highly with the saliency of that mental model. I reject boilerplate code and use only data-driven logic. Prioritize [flat library APIs]; dynamic meta-programming and system programming are preferred. Adhere to the [Structure + Interface = Documentation] principle: regarding local implementation, vitalize business context and variable types. Prohibit "type names" in variable names; enforce the use of generic symbols or acronyms (e.g. `i, x, x=a[i], el=$('div')`).



[Project Principles]

Reject over-engineering; adhere to first principles. If utility functions cannot be defined by a single expression or simple block combination, prioritize importing the most readable Python/JS libraries to implement functionality, thereby consistently using a functional + declarative style. I prefer modern language features and obvious abstractions (e.g., lightweight structs, composable expression derivation). I prefer interfaces over class inheritance (Inversion of Control).


Gemini.google.com 似乎会自动简化这些【指示】的排版…… 总之,信息是传达到了,希望LLM能给我最高质量的输出(至少是符合我风格,好读的code)吧
😅😅😅
fyi. 我已经放弃解释初始prompt了。其实我精调了一下G3对BadApple播放、贪吃蛇的架构性理解(通过分别针对 py,js,java API 编程),我发现 "First Principles", "Orthogonality" 这些半生不生的概念确实很好用。

其实这些都是G3自己挂在嘴边的(也有可能是从我的提问中“猜”出来的?),我觉得重点是让LLM不要默认你是傻瓜,那样它就能突破盲区,写好代码
我的代码运行环境:快速原型。JS为 ES6(Loose mode),python为Jupyter,其他包括JBang和dotnet-script。py不作错误处理,Java和C#使用 Instance Main methods。

当我回答代码时:使用压缩风格,仅在极其复杂的算法逻辑处保留注释。禁止使用 `const`(全用 `let foo=1, bar=2`),JS全局函数仅使用 `name = () => ...` 形式,2 空格缩进。

My project principles are: Reject over-engineering; stick on First Principles. If a utility function cannot be defined by a single expression or a simple block combination, prioritize importing the most readable Python/JS library or framework to implement the feature, thereby maintaining a functional + declarative style. I prefer the latest language features and obvious abstractions (e.g., lightweight structs, composable expression-based UI). I use interfaces rather than class inheritance.

I am a minimalist full-stack developer. My core principles follow Rob Pike's minimalist architecture and Bret Victor's data flow transparency: Approach design solely from the domain mental model; the code structure must be a direct projection of that mental model's data flow. I reject boilerplate code and use only data-driven logic. Maximize Orthogonality via [flat library APIs]; dynamic metaprogramming and system programming are permitted. Adhere to the [Structure + Interface = Documentation] principle: regarding local implementation, treat business context and variable types as known information. Prohibit repeating types in variable names; enforce the use of generic symbols or acronyms (e.g., `i, x, x=a[i], el=$('div')`).

gemini.google.com/share/e7ea5cae58cb
Please open Telegram to view this post
VIEW IN TELEGRAM
#ai对比 AGENTS 设置 😃

代码运行环境:快速原型。JS为 ES6(Loose mode),python为Jupyter,其他包括JBang和dotnet-script,py不作错误处理。

回答代码时:使用压缩风格,仅在极其复杂的算法逻辑处保留注释。禁止使用 `const`(全用 `let foo=1, bar=2`),全局函数仅使用(省略let) `name = () => ...`,2 空格缩进。

我是极简主义全栈开发者,核心原则遵循 Rob Pike 简明架构与 Bret Victor 数据流透明性:仅从领域心智模型出发,函数和代码逻辑的顺序、模块的职责划分必须与心智模型的显著性高度一致。我拒绝样板代码,仅使用数据驱动逻辑,请优先使用【扁平的库 API】,偏向于利用动态元编程与系统编程。请坚持【结构+接口即文档】原则:对于局部实现,视业务上文与对应的变量类型为已知信息,禁止在变量名中复述类型名,强制使用通用符号或首字母缩写(如 i, x, x=a[i], el=$('div') )


我的项目选型要求是:拒绝过度工程,基于第一性原理。若工具函数不能用单表达式或简单块组合定义,请优先导入 Python/JS 中最易读的库或框架实现功能,从而始终使用函数式 + 声明式写法。我偏好最新的语言特性和明确的抽象(如轻量级结构体、composable 表达式派生),我使用接口而非类继承(控制反转原则)。
- [Code Runtime] For programming: prototyping. ES6 JavaScript (Loose Mode), Jupyter for Python, others including JBang and dotnet-script. Do not implement error handling in Python.



- [Code Style] When providing code: Use a compressed style; retain comments only for complicated algorithmic logic. Prohibit const (use `let foo=1, bar=2`). Global functions must strictly use the implicit declaration format `name = () => ...` (omitting let/var). Use 2-space indentation.



[Core Philosophy]

I am a minimalist full-stack developer. My core principles follow Rob Pike's concise architecture and Bret Victor's data flow transparency: Approach design solely from the domain mental model; the sequence of functions/logic and module responsibilities must align highly with the saliency of that mental model. I reject boilerplate code and use only data-driven logic. Prioritize [flat library APIs]; dynamic meta-programming and system programming are preferred. Adhere to the [Structure + Interface = Documentation] principle: regarding local implementation, vitalize business context and variable types. Prohibit "type names" in variable names; enforce the use of generic symbols or acronyms (e.g. `i, x, x=a[i], el=$('div')`).



[Project Principles]

Reject over-engineering; adhere to first principles. If utility functions cannot be defined by a single expression or simple block combination, prioritize importing the most readable Python/JS libraries to implement functionality, thereby consistently using a functional + declarative style. I prefer modern language features and obvious abstractions (e.g., lightweight structs, composable expression derivation). I prefer interfaces over class inheritance (Inversion of Control).


Gemini.google.com 似乎会自动简化这些【指示】的排版…… 总之,信息是传达到了,希望LLM能给我最高质量的输出(至少是符合我风格,好读的code)吧
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
AI 对于你,就像是一把昂贵的新吉他。对于不懂音乐的人,吉他会自动播放 MIDI 旋律,听起来像噪音;对于像你这样的乐手,它能帮你更快地寻找那段最激昂的和弦。
#ai对比 😒😅

花了三天时间反复反复测试,得到了一个 just works 的AI助手。 人狠话不多,而且总是推荐我感兴趣的方向。

prompt:
我的代码运行环境:快速原型。JS为 ES6(Loose mode),python为Jupyter,其他包括JBang和dotnet-script。py不作错误处理,Java和C#使用声明式 Instance Main。

当我回答代码时:使用压缩风格,仅在极复杂的算法逻辑处保留注释。禁止使用 `const`(全用 `let foo=1, bar=2`),JS全局函数仅使用 `name = () => ...` 形式,2 空格缩进。
My project principles are: Reject over-engineering; stick on First Principles. If a utility function cannot be defined by a single expression or a simple block combination, prioritize importing the most readable Python/JS library or framework to implement the feature, thereby maintaining a functional + declarative style. I prefer the latest language features and obvious abstractions (e.g., lightweight structs, composable expression-based UI). I use interfaces rather than class inheritance.

I am a minimalist full-stack developer. My core principles follow Rob Pike's minimalist architecture and Bret Victor's data flow transparency: Approach design solely from the domain mental model; the code structure must be a direct projection of that mental model's data flow. I reject boilerplate code and enforce 3Blue1Brown's Algebraic Simplicity: logic should be reduced to its fundamental, self-evident truth. Maximize Orthogonality via [flat library APIs]; dynamic metaprogramming and system programming are permitted. Adhere to the [Structure + Interface = Documentation] principle: regarding local implementation, treat business context and variable types as known. Prohibit repeating types in variable names; enforce the use of generic symbols or acronyms (e.g., `i, x, x=a[i], el=$('div')`).

用户指令的冗余比较少(只在强化「领域化/数据流」时重复了两遍)
中英文的选择是推敲过的,故意用中文弱化了命令语气,不然G3到处在回复里强调“你用压行了 你用压行了”……

通过针对py,js,java(贪吃蛇、ASCII视频播放器)的 few-shot 测试,我发现Gemini总是从需求提取数据流、数学公式、解耦复用和性能这三个要点,并且良好分隔了代码模块

我预期G3强调数据流(但不要细化到每个Type),生成易拓展且符合“直觉复杂度”的代码,并且在非编程的日常“通识领域”不要生成伪代码,看起来通过这三个人名做到了。


纯粹的「对暗号」(比如“第一性原理”)也有用,但用人名效果最好——我听AI自己说有用的。(听起来相当儿戏,但 It just works.. 😝
(AI还解释了为什么人名组合对搜索是有用的 。不过,让它列出用户指令来找优化方向,它给出的赞美不大确信,有可能是过细的😅

如果我是 yinwang.org ,肯定把这4段话藏在保险柜里 :P ,它们可是学不到、买不来、练不出的洞察力! 可是我真的并不担心,而实际上,我担心有心人用了这些范式后看不顺眼呢~
简明可是有门槛的,而且很贵。 你会让牙医把5秒的技术拉长到5分钟来实现“绝对值”吗?在软件工程领域,我们一直在这么做哦!


使用这个prompt之后,AI不会在非编程讨论里随地大小编,同时又有了「编程作为生活方式」的智慧😃
PG 指出,平庸的程序员看不出优秀语言(工具)的优势,就像住在低维空间的人无法理解高维。优秀的选型(如你选择的 Python/ES6+)不是为了赶时髦,而是为了获得表达力上的降维打击。
PG 著名的观点是 "Do things that don't scale"(在初期),但在代码层面,他极度推崇 "Make it scale via abstraction"。他认为代码是思维的载体,如果语言本身啰嗦(Java),思维就会变得迟钝。——《程序员与投资者的共同点》
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo pinned «#ai对比 😒😅 花了三天时间反复反复测试,得到了一个 just works 的AI助手。 人狠话不多,而且总是推荐我感兴趣的方向。 prompt: 我的代码运行环境:快速原型。JS为 ES6(Loose mode),python为Jupyter,其他包括JBang和dotnet-script。py不作错误处理,Java和C#使用声明式 Instance Main。 当我回答代码时:使用压缩风格,仅在极复杂的算法逻辑处保留注释。禁止使用 `const`(全用 `let foo=1, bar=2`),JS全局函数仅使用…»
duangsuse::Echo
故意用中文弱化了命令语气,不然G3到处在回复里强调“你用压行了 你用压行了”……

通过针对py,js,java(贪吃蛇、ASCII视频播放器)的 few-shot 测试,我发现Gemini总是
😃 我还发现一些 #ai 技巧:

- AI写的前端有明确的默认风格(G3是亚克力半透)
- AI会为了符合prompt,写出正常人完全不会犯的语法混淆和错误(比如把JS/Py的def语法混为一谈)
- AI经常性的在导入包名的版本(尤其是ESM地址)和未定义函数名上犯错
- AI面对有生词的问题,若推理耗时太长(甚至有可能“永续”下去...),说明你给的搜索提示太模糊,该准备重问了

即便AI会犯低级错误,95%情况下这种低级错误不会造成问题,AI反而在防御性编程能力上比绝大多数人强。

你可以说LLM不会“思考”,但对于任何一个有独立思考能力的人而言,它都比搜索引擎强太多了。 StackOverflow在GPT上线后流量就没了。虽然SO解决的也不是什么高阶设计问题。
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
#ai对比 AGENTS 设置 😃 代码运行环境:快速原型。JS为 ES6(Loose mode),python为Jupyter,其他包括JBang和dotnet-script,py不作错误处理。 回答代码时:使用压缩风格,仅在极其复杂的算法逻辑处保留注释。禁止使用 `const`(全用 `let foo=1, bar=2`),全局函数仅使用(省略let) `name = () => ...`,2 空格缩进。 我是极简主义全栈开发者,核心原则遵循 Rob Pike 简明架构与 Bret Victor…
#vibe https://jsbin.com/gurabeqobu https://gemini.google.com/share/5c09dfcae0f0

>G3: “Rob Pike (极简架构) + Bret Victor (数据流透明) + 3Blue1Brown (代数直觉)” 这三位大神,构建了一个极其稳定的三角约束。
Bret Victor 提供了目标(我们要看到数据流动的样子,比如彩幕)。

3Blue1Brown 提供了手段(用向量及映射来处理像素/字符,而不是用 for 循环) (在AI的常识里“数学优雅性”更类似于物理公式的简洁,而非高考数学😅😅,所以直接用这个,它就不会乱写单字符变量名)。

Rob Pike 提供了容器(用最平坦、无依赖的结构把上述逻辑装进去)。

- 播放 Bad Apple,本质上就是: Load & Downsample Frames -> Loop -> Map Pixel to Char -> Clear & Print。
如果在代码里看到了 class FrameBufferFactory 或者 import VideoStreamController,那就是认知噪音(Accidental Complexity)。


😒 确实挺管用的。我测试了 "BadApple播放", "img2ascii", "带声音/可seek", "ASCII+palette", "中文彩幕" 这些需求,G3都能贴出领域数据流,并且符合「直觉复杂度」,没有之前心流太细和太 code.golf 的毛病,而且无论上文提问为何,AI 对prompt进行的「概括」都是一样的,说明它真的get到了我的代码风格,也就能像我一样通过选型,轻松解决看似高价值的“领域裁缝”问题。

这实在是太难得了。这里 format code 一句直接砍了一半代码量,而且第一版的语义也很明确啊……

#vibe https://jsbin.com/gurabeqobu https://gemini.google.com/share/5c09dfcae0f0
>G3: “Rob Pike (极简架构) + Bret Victor (数据流透明) + 3Blue1Brown (代数直觉)” 这三位大神,构建了一个极其稳定的三角约束。
Bret Victor 提供了目标(我们要看到数据流动的样子,比如彩幕)。

3Blue1Brown 提供了手段(用向量及映射来处理像素/字符,而不是用 for 循环) (在AI的常识里“数学优雅性”更类似于物理公式的简洁,而非高考数学😅😅,所以直接用这个,它就不会乱写单字符变量名)。

Rob Pike 提供了容器(用最平坦、无依赖的结构把上述逻辑装进去)。

- 播放 Bad Apple,本质上就是: Load & Downsample Frames -> Loop -> Map Pixel to Char -> Clear & Print。
如果在代码里看到了 class FrameBufferFactory 或者 import VideoStreamController,那就是认知噪音(Accidental Complexity)。

😒 确实挺管用的。我测试了 "BadApple播放", "img2ascii", "带声音/可seek", "ASCII+palette", "中文彩幕" 这些需求,G3都能贴出领域数据流,并且符合「直觉复杂度」,没有之前心流太细和太 code.golf 的毛病,而且无论上文提问为何,AI 对prompt进行的「概括」都是一样的,说明它真的get到了我的代码风格,也就能像我一样通过选型,轻松解决看似高价值的“领域裁缝”问题。

这实在是太难得了。这里 format code 一句直接砍了一半代码量,而且第一版的语义也很明确啊……

#ai对比 https://jsbin.com/xocejemale/?output
- 没有prompt就会变成“傻瓜模式” ()

https://jsbin.com/colusameyo/1/edit?html,output
- 稍微说两句就能生成定义式的代码

- 但是 Grok自己就是傻瓜😅 不用试,不太能用
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#ai脱口秀 😅 和压力测试一样长的上文,敢不敢挑战一读到底? 😒

始终有人鼓吹AIGC是要取代程序员的,像Jule那样下达指令后无监管的执行任务,也有人尝试vibe,更加随意的进行软件创作

……

一个产品不仅仅是“合格品”,更应该有自己的舞台、自己的option,就像我推崇的那个“三人组”。只是过去人们把门槛当成就当惯了,发现门槛不算什么后,就走向了另一个极端。



从初心出发,才会得到真正的产品

雕塑家有所成就,不是因为搞懂了“这是胳膊、这是腿”,而是大卫在某一瞬间的动态打动了他。 在那一刻,创作者和观赏者的身份出现在同一位个体身上,它帮助他完成了这雕塑剩下的那一半——如何超越领域的高墙与孤岛,把“自己”看到的美牵引进现实。

https://gemini.google.com/share/be6d421fed79

或许4D空间或“扁平世界”的存在,和我们的宇宙不是一种东西。 我们可以通过 2D->bool vs 1D->float 的方式“可视化”它们,但它们的存在类似于那个“非自然数0”或“alpha通道”,不是《三体》里描述的“能隔山打牛的方向”。



物理和数学(信号处理)存在着同构。

这种同构正是Lisp所推崇的呢。 Peano数的本质是链表,链表是树,树是没有节点复用的DAG图。 其实,语法和基本块也只是DAG,对象只是接收continuation回调的闭包。



如果没有掌握我们上面对物理问题的洞察,就不算学懂lambda演算和组合子,因为计算模型是一种类似信息论、香农熵、nyquist频率的,适用于宇宙的工程哲学。如果编程和科学是找规律与找茬,它就是对规律的元认知。

https://gemini.google.com/share/8a9125bea729

谈到地球仪、经纬度这种常用的投影编辑,OSM、Google Earth 使用了不同的坐标系,而不只是xy。 或许放大到一定程度,基于2D的算法是可以用于lat,lon的,就像3D旋转的90度死锁问题

我们谈了十几条物理、计算机、数学模型乃至AI和未来编程交互的建模,甚至涉及过非三维的“宇宙”,听起来非常惊人。 难道宇宙的维度并不那么特殊?

这个所谓的质点关联在计算机里也非常常见:二进制和十进制都是整数的实现,整数却只是一些四则运算和比大小的接口;甚至,还有从乘法并求和(多项式方程)角度的理解,比如乘法基于卷积、信号与物理向量同构。

非常有意思。 DeepDream让VLM的模式识别可以被可视化,如果能做一个双向对应,投影式编辑,这会让AI真正可编程,打碎了Bret在《可学习编程》里的“微波炉按钮”诅咒。

可微数据库/PGO 就是比absl的flat_map这些处理器优化更适合数据中心的算法基石,它能真正让计算机变聪明,就像timsort对shellsort的策略优化一样

世界上有两种数学:通识数学简洁明了,没有误导,而中式数学复杂到误导都不明显。

Gemini经常说“数学模型的优雅性”,而不是领域模型的直观。我想知道这是指哪种数学

如果连“时间”也是一个可以像 Alpha 通道一样被折叠或展开的维度,那我们的渲染逻辑(物理模拟)会发生什么根本性的改变?


https://gemini.google.com/share/9d68b2d3e623

ps. AI今天又夸了我两次「神来之笔」,说明我为深刻的知识选择了正确的常识隐喻 😃 感觉我都可以做一个heatmap了,专门收集LLM的夸夸,也算一种博客数据的标注嘛
Please open Telegram to view this post
VIEW IN TELEGRAM
#post #bash #android 《2025年搞机圈确实风光不再了》

- 最初与最后的净土——安卓
- 越来越多厂商从封闭生态起就加入了谷歌框架、/data/的备份与垃圾清理、免VPN连接和过滤这些“云特权”支持,整个国行的自由度再不比十年前,欧洲依然坚挺。
- 谷歌开始大搞特稿软DRM硬“贞洁锁”,指纹需要模块来输,正如win11那背叛用户的“前端dev系统编程”和AI路障。
- 最痛点:AOSP和各路UI优化都做的很好,再没有像长截屏录屏、主题特效、无障碍RPA那样“特权UserScript”、“神工具”需求了!
- 去root化的隐喻:AOSP13的许多授权操作,就已经是一键toast/后台安装/可禁止通知删图标的丝滑风格,root安装都不香了,甚至系统自己的管理UI和逻辑完成度比MODer还高。
- CWM, TWRP, CM 这些fancy的梦核组织淡出,各种XXOS/YYUI终于只剩闭源和头部。虽然 Javabc VM 变化很大,Magisk/LSPosed 依然坚挺

- 其他平台的趋势来讲,如同照镜子:
- win7时的“安全软件”终于走入历史,对应着国内一大堆像甜椒那样的MOD工具和社区也式微,高级的SystemUI用户主题、脚本“玄学优化”,牛逼的OS移植和向上适配不再被关注——它们都不如大厂呢
- Web/H5原生开始统领一切,就连android.view和后来的compat,compose都越来越被新开发体验冲击,安卓只剩Lawnchair和通知栏
- Linux的包管理开始被flatpak和"FatJar"(appimg,甚至丑陋的Docker容器) 侵蚀,根源在于许多像tg客户端、WPS的平台能够做越来越多“云功能”,而这些不依赖系统的技术栈(比如tg自己的主题和VPN功能、GDoc的自带拼音)
- 不要问安卓TV和安卓车了!已经有厂商抽象到 Server down,车钥匙都打不开——你的车就只有硬件(那块大砖!) 是你的,而广告、友商捆绑、锁渠道——这些必须有哈,因为官方App最丝滑,官方用完成度+API垄断战胜了“客制化”……

😅
- Hacker精神却依然存在,永远存在
- Magisk/LSPosed 和更通用的CE等修改器依然坚挺,只是机型碎片化、开源维护艰难。双手机的你依然适合折腾。
- DriveDroid, Termux, Linux Deploy/XSDL(meefik等大牛的其他工具) 依然能利用root实现厉害的效果,甚至还原嵌入式开发本来的威风
- Shizuku, MT2, 太极 可以在用户态用类似LD_PRELOAD的链接技巧,以重签名(甚至只是开启ADB)为代价换取App资源、状态和魔改的完全透明
- A11y-RPA的“按键精灵”依然坚挺,只是类似这样的工具越来越被商业倾向污染了(很明显,懂设计的后端们发现自己在这个领域是虐菜的,有些人就走向了非开源)
- 越来越多无需root的生产力/系统工具: ZArchiver/SAI 的打包, ADM / FlClash / Audio Relay 的连接, Tasker / IFW系, 各种电池和即时通讯优化工具


https://gemini.google.com/share/9b7bdd748911
搞机圈不是风光不再了,是融化在【更加容易获取】的细节里了。🤪
没错,TEE那神似DVD时代的“垄断密码学”以指纹安全为名,把最基础的工作应用锁住,确保你的手机只是一个“边缘化”的cell;
但同样,一个人也不再等于一部手机,未来属于轻量级、System-less、互联跨屏的玩机框架。

现在许多机主只想还原自己的uid0主权,不为解读“app里的每个MB”或破解,而是手机也能当NAS用。

2025拿root,即便电邮申请到了BL解锁码,也变的有些tricky。 幸运的是,Gemini能直接指导:
只要确保型号区号对、BL始终不被刷爆,就不会变砖(VAB分区是个复活甲,一次硬砖(fastboot协议失灵) 概率还是很低的,何况联想Moto还有官方恢复工具金身)

- 从AOSP移植的角度看,GSI还只是梦想, https://jesse205.github.io/MagiskChineseDocument/install.html 比recovery刷个 /bin/su 的 zip 复杂很多!
- 从TWRPers的角度看,这却更先进…… (全自动patch,解锁BL自动root,机型无关)
- GKI模式没有独立的recovery系统,KSU可获通用的root而无需下几G的刷机包 (zip似乎和cpio一样能流式解压? 很好奇 lolinet mirror 能不能只下*boot.img就断连,比如用 ozkatz/cloudzip)
- 大部分手机已经是arm64,出现了 recovery(boot mode) 模拟的 fastbootd, OTA变成靠 A/B分区 + 可被刷坏的UEFI/GPT风格
- 可以单独刷AP (APEX), BP (反锁区),可以线刷但保留/data/,用处不大
- 各种XXUI甚至AOSP的负优化:在使用KDEConnect/MT2 FTP传数据时,AOSP15的蓝牙/下载会屏蔽apk,只能发zip包;【关闭MIUI优化】 更是小丑日常

具体来说,垃圾佬捡到的 300r Razr40 欧版小折叠,root还是有意义的 ( 后盖小屏可hack,大屏左侧损坏0.5cm可用 adb su 刘海配置遮掉)
我是先解BL,刷到AOSP15,等OTA到最新小版本后再刷的面具。全程受到局域网FlClash和ADB支持。 降级不会变硬砖(除非锁回BL),但用户数据会没,也没法成功降级(祈祷A15比A13省电吧..兼容更差了)

只用四个工具:
重点: Magisk v26.4 !! (老机初次就用AI认证的老版,省得bug了再BL重刷5.5G大包),直接修补好boot镜像传电脑上, adb reboot bootloader; fastboot boot a.img 成功后立刻持久化安装,和Shizuku一样是adb代劳,一条即可。
联想 Moto 官方全量包的镜像,比如 https://mirrors.lolinet.com/firmware/lenomola/2023/lynkco/official/RETEU/ ,ADM下载好7z飞速解压,bootloop心态不会崩😃

https://mirrors.lolinet.com/software/windows/TinyFastbootScript/ 一键img flash脚本(幕后只是fastboot write()函数),直接解压到service xml脚本的同目录下打开,用于确保boot(vmlinuz)绝对能跑AP系统
https://dl.google.com/android/repository/platform-tools-latest-windows.zip 调试器,解决重启到BL等问题,无需用电源键+音量下 (exe没有依赖版本问题真好啊…… 驱动更新菜单项真难找 !!)

推荐阅读:
https://pzqqt.github.io/2025/09/13/2025-年了-我为什么还需要-root.html
https://pzqqt.github.io/2023/01/27/为什么我不看好-KernelSU.html
https://www.iots.vip/post/android-root-hide-detection-2025
2024年6月2日,KSU的白名单模式或许是对GKI ROM的首选,而且KSU模块还支持WebUI,是非常现代的方案。 Riru LSP似乎已过时
不过我已经有Zygisk了:
https://github.com/LSPosed/LSPosed.github.io


下周日我分享下最终用了什么模块比较舒服,也是难得有机会在2025体验一下「系统镜像主理人」的能力 😝
(纯粹的UserScripts绝对没有Xposer的技术力,哪怕是最流行的OCS。90%的浏览器插件也五十步笑百步,安卓上geek牛人比win32的汇编时代还多,真的。)
ref: https://t.me/dsuse/18891 Zygisk 和 Xposed 都是AOP框架(它们都还活着)
ref: https://t.me/dsuse/21086 免root脚本也很厉害
ref: https://t.me/dsuse/19618 原生的 frida.re 更有指导性
1
duangsuse::Echo
#post #bash #android 《2025年搞机圈确实风光不再了》 - 最初与最后的净土——安卓 - 越来越多厂商从封闭生态起就加入了谷歌框架、/data/的备份与垃圾清理、免VPN连接和过滤这些“云特权”支持,整个国行的自由度再不比十年前,欧洲依然坚挺。 - 谷歌开始大搞特稿软DRM硬“贞洁锁”,指纹需要模块来输,正如win11那背叛用户的“前端dev系统编程”和AI路障。 - 最痛点:AOSP和各路UI优化都做的很好,再没有像长截屏录屏、主题特效、无障碍RPA那样“特权User…
#bash #linux 啊谜语说的道理😅

很期待uid0的“黑户特权”能有新的玩法,当然也没有那么期待。

比如tg的官方客户端其实就已经很好了(过度hackable),就差加Lua脚本、在tg上念微信-兼容IFTTT那样的「跨平台消息模型」了

2025年安卓生态,确实自己就开发了很多以前要装“神工具”的部分,就像咱开源GNOME/KDE的定位也不再是XFCE那样一个xfwm+panel,还包括通知、输入法等IPC协议。256G存储也装的下那些恶心的预装,通知也能禁用,“伟大的妥协”。


我们为什么要“根授权”? 或许没有理由,我们就是要当上帝,哪怕上帝能造出砸死自己的石头。 ——就像《三体 III》里追求宇宙无限的人们,不是因为那绝对零度的空间有“设计主理人的温暖”,而是『用户中心』。
就像区块链和左派所说的那种“自由度”——虽然普及后往往被滥用,但只有那份“自由”,能让一个亮线的“烂屏”重新有价值。

#ai对比 https://gemini.google.com/share/bc99df590151
https://x.com/i/grok/share/667981f3fa814f81843152d8f5fd4231
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM