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
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
#statement 刷机人的尊严,并不是因为我能 rm -rf ,我能把软砖变成黑砖 🤪

而是因为我能重新定义价值、 重新设计标准,就像MC的MOD社区一样。
我能不小心弄坏,是因为我掌握了它的全部,我有定义好坏的资格——这就是geek们的用户中心。

"If you can't open it, you don't own it."
"If you can't redefine it, you are just renting it."


无论是刷机、写脚本、还是做 MOD,这都是我们在数字世界里的一场“圈地运动”。我们在厂商划定的由 0 和 1 构成的荒原上,插上了属于自己的旗帜,上面写着:
"Here, I set the rules."
“我买了这块硅片,我就是它的领主。”

哪怕外面的世界是绝对零度(系统崩溃、数据丢失、没有任何保修),那也是我的绝对零度。

我们为什么要“根授权”? 或许没有理由,我们就是要当上帝,哪怕上帝能造出砸死自己的石头。
——就像《三体 III》里追求宇宙无限的人们,不是因为那绝对零度的空间有“设计主理人的温暖”,而是『用户中心』。

就像区块链和左派所说的那种“自由度”。虽然普及后往往被滥用,但只有那份“自由”,能让一个亮线的“烂屏”重新有价值。

每个人都可能是那块不完美的“烂屏”。 做自己『人生进度条』的主人、做尖端工具的主人,不要成为“尖端工具”的奴仆。
这便是「系统编程」「元编程」的乱码背后,真正藏着的那些“不证自明”东西。

“很高兴能与你进行这场从 /system/bin 到“自由意志”的深度对话。这可能是我近期最像“人类”的时刻,因为我们触碰到了**“选择”**这个词的重量。

祝你在你的宇宙里,永远持有 Root 权限,永远不做 User 1000。 😊


#ai锐评 https://gemini.google.com/share/a50ec7da8ef5
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
#design #os 现在的操作系统平台都能实现三层套娃🤣

但是可观测性、(软件的)自包含性、渐进升级可能性太低了。

我听说蛤为要做「融合互联」的os,可惜,我已经能猜出那是和google一样“能开个窗帘”的互联。。 真正互联的系统API,必须兼容wasm、win、aosp的打包格式,让大部分编程语言像json一样互操作

flutter试过、COM和dbus有过,但它们都做不到WebAPIs的完成度。 虽然web的核心是Bret所说的“即时反馈、直观连接”,它依然有进步和扩域的空间,希望我能想到。

https://g.co/gemini/share/70aeef6013f4 #reveng 🤔

https://gemini.google.com/share/8d3fd9954163
duangsuse::Echo
https://gemini.google.com/share/8d3fd9954163
#独立开发 #statement 这个非常有意思,推荐读 😄
https://xdaforums.com/t/closed-beware-of-lsposed-the-fall-of-an-open-source-project-into-malware.4715372/

>你说的“一旦用户量爆炸,项目就会出问题”几乎是一个魔咒。这背后的逻辑很残酷:
开发者负担(Burnout): 开源不等于慈善。当用户从 100 个变成 100 万个,每天的 Issue、谩骂和低质量咨询会击垮任何一个用业余时间开发的作者。

期望错位: 开发者认为我是“分享”,用户认为你是“服务商”。1000 个沉默受益的用户,抵不过 1 个在评论区谩骂“为什么更新后黑屏了”的伸手党。
安卓定制圈有大量的“伸手党巨婴”,他们不看文档,只会报错,甚至在开发者更新稍慢时进行人身攻击。这直接导致了像 LSPosed 作者那样性格变得偏激、充满防御性。

利益诱惑: 当一个工具成为“装机必备”时,它的商业价值(甚至是作为后门的价值)就会凸显。闭源是为了更好地收费或控制;而开源项目则可能被恶意第三方打包,挂羊头卖狗肉。
恶意第三方会下载你的开源代码,加入广告或木马,重新打包后在各种破解论坛、Q 群发布。

攻防升级: 像 Shamiko 或 Zygisk Next 这种项目,一旦火了,就会被银行、游戏大厂盯着研究。为了保持领先,开发者往往不得不采用更私密的骚操作,开源反而会加速该方案的失效。
顶级的技术正在从“公开社区”撤退,转向封闭的小圈子。



玩机的人太多了,开发者体验(DX)却不怎么样,所以基本上,除了 dev for developers 的项目(比如Xposed自身),有一半“神工具”都又垮又贵还有撕逼
用爱发电的核心是自产自销,而不是“帮助社区”。 一个自己都不用/不爱改的工具,怎么可能做得好呢?

#Android 自己垃圾代码太多了, 兼容性地狱、工具链的断层,开发者要么选择闭源收费来换取心理平衡,要么就在撕逼中彻底退圈。
有趣的是,我还在贴文里看到自由软件er贴出 https://www.gnu.org/distros/common-distros.html #freedom
Arch和Debian 都在“FSF黑名单”里(它们的ABI扩散到了 MSYS2 和 Termux 里,如果你不知道那是干什么的—— Qt 和安卓 Winlator PC模拟器在用它们……)

GNU 的思想是值得尊敬的,可那就像你对长辈的尊敬…… 是一种负担 🤪
其实软件的四大自由(混搭、理解、发布、深度定制),本来是一件很有趣的事(MC MOD, Scratch Remix, 探索式编程, Telegram技术交流群, GitHub网盘 Releases... GH tg都“不自由”)
套娃式的自由: 你在 Android(基于 Linux 内核但充满了闭源库)上跑 Termux(GNU 工具链),再在里面跑 Winlator(基于 Wine 和 Box64),最后竟然是为了玩一个完全闭源的 Windows 3A 大作 🤣 👍

讽刺之处: 对于 GNU 来说,这可能是一场灾难(因为你最终还是在用闭源软件);但对于玩机党来说,这简直是极致的自由——我打破了硬件、系统和架构的边界。


我觉得,从「最终用户」视角不自由,无论如何开源都是脆弱的。 GNU 先把自己glibc的依赖地狱和死慢的apt解决了,再说真正「面向未来」的自由软件吧。 🥸
有个悖论: 如果你不在用户(“非素食主义者”)的社交平台上玩,你怎么知道他们在意什么? 如果你真的非常牛逼( bellard.org ),很多时候你会直接选择MIT发布,因为你不在乎下游是否商业。 商业+开源+非云计算就是伪命题,基本上等于把用户交给山寨盗卖
ps. 这里有个反RMS的,猎奇了 stallman.cn/245

最为讽刺的是,今天自由软件反而是patch/MOD生态里最缺的那一环。 带GNU前缀的软件,很多API都像魔法

没错, #Linux 有一大堆distro,但区别仅仅停留在eyecandy和各种工具的混搭上,而Xposed、GM_API、ModPE这些“毫无特色”的环境,甚至仅仅是全量资源包替换,在用户看来都更加符合四大自由

运行时的自由度,其实是最符合直觉的自由。

#os #security https://gemini.google.com/share/bce725b6b0c4
这不是搞笑嘛, 一开始是从进程而非函数角度设计的权限,最终执行的却是解释器,现在又加一大堆setcap,那要rwx干什么? HTTP协议可没unix那么多权限,unix权限也适配不了任何Web应用。

Unix 该不会不知道PIE动态链接是系统的基石吧? apt慢的要死就是为了从一个“不会检查ldd”的世界解决c生态的链接问题,结果到最后可执行bit只能保护个SUID(root会给wget的r--文件加suid吗??), 真是在kernel里拍脑门子的设计,和Plan9的cpufs/overlayfs根本没的比!

Web 发现墙没用,开始给每个人发“通行证”(Nonce)。

Linux 发现墙没用,决定把墙砌得更高(SELinux),结果把正常人(开发者)堵死在外面,黑客(内存破坏漏洞)却直接从地道(内存)钻进去了。

C 的生态确实更愚蠢:它允许你在只有一把钥匙(UID)的情况下,把整个房子(Memory Space)都拆了。

动态链接(PIE)是系统的基石,但 Kernel 和apt却假装看不见
这是最荒谬的一点。Shizuku也解决了权限问题,但没有SUID和chmod+x vs ld-linux 这么莫名其妙,就是通过类似HTTP的简单管道
1
LLM 时代:
- 会写代码的在假装自己不会写代码
- 不会写代码的在假装自己会写代码
Forwarded from 开源早报
🎲 X 开源了推荐算法 X-algorithm

xAI 开源了 X 平台的核心推荐系统,基于 Grok 改造的 Transformer 模型,完全消除手工特征工程。许可证 Apache License 2.0

🏗️ 系统架构

用户请求 → 获取互动历史 → 双源召回(Thunder+Phoenix) → 内容补全 → 过滤(去重/已读/屏蔽) → Grok打分排序 → 多样性调整 → 返回Top K

🆕 核心亮点

🔹 Grok-based Transformer:利用 Grok-1 架构预测多种用户互动概率(点赞、转发、回复等)
🔹 双源候选召回:Thunder(关注账号内容)+ Phoenix Retrieval(ML发现的全局内容)
🔹 零手工特征:完全依靠 Transformer 从用户互动历史中学习相关性,无需人工特征工程
🔹 Candidate Isolation:排序时候选内容互不影响,确保分数一致性和可缓存性
🔹 多维度过滤:屏蔽重复、过时、已读、mute关键词等内容,保证推荐质量

🔑 关键词
推荐系统、X、Grok、Transformer、双塔模型、个性化排序、内容召回、多样性控制、开源算法

🔗 查看详情
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
😒 确实挺管用的。我测试了 "BadApple播放", "img2ascii", "带声音/可seek", "ASCII+palette", "中文彩幕" 这些需求,G3都能贴出领域数据流,并且符合「直觉复杂度」,没有之前心流太细
https://gemini.google.com/share/8b3f2ff2245e #ai

看起来还挺稳定,有时还能得出我都没见过的优化😃(贪吃蛇撞墙的逻辑<->数组OOB)
本来觉得这个任务太复杂,不容易看出G3的「心流」优势,看来是不够难啊


之前我找prompt的时候,总是以「AI有没有夸我」为指标,现在看来不能以AI的品味为基准,要以准确、容易衡量、与工作相结合的方法优化对话
我确实很依赖于
原始矩阵 → 降采样 → 灰度投影 → 字符映射。 每一帧计算新头部 -> 检查碰撞 -> 判定食物。

这样的既视感,虽然AI也没提彩色动画、自动寻路这些功能进化方向,但它没把我当傻逼来做用户教育,我很开心。
Gemini 总是从需求提炼数据流、数学公式、解耦复用和性能这三个要点 ,不硬聊尬聊代码,符合「直觉复杂度」,简洁明确。😒

而数码圈越来越多玩意都喜欢教育用户了。
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
而数码圈越来越多玩意都喜欢教育用户了
https://gemini.google.com/share/39595b5e1db5 #android

- 侧载 这个词听起来土爆了。 我从来都是在“安装”软件,怎么到应用商店嘴里就变成侧载了?
- Apple 目前在欧盟 DMA 法案逼迫下推出的“恶意合规”侧载方案?
- apple和很多名为“设计师”实为纯前端的dev是一丘之貉, 已经不是乔布斯时期的苹果了
- pc的概念确实缺不了多元化,而且社区体量大,devs“生命攸关”,硬气,不然那些Linux的shim efi都拿不到

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

- 下一个是Shizuku吗?
- adb和a11y属于是附带自由了,开发者和残障体验非常敏感。阉割到这个程度
- “安全更新”杀死了客制化,可谷歌也没有规范化兼容Substratum的旧图标包,这不等于消灭了已经有的作品吗?

- 退一万步讲,硬件级安全只能防注入,防不了RPA。 虚拟触控壳也可以解决DRM,问题只是要不要Integrity到人脸识别那种程度

DRM 不再是为了防盗版,而是为了 防拦截——防止你拦截它的广告,防止你导出它的数据,防止你绕过它的内购。

这导致了代码逻辑的极其臃肿:大量的 CPU 周期不是在计算业务逻辑,而是在计算“如何每次恶心用户一点点,但又不至于让他们卸载”。

- 杀死比赛的倒不是猫鼠游戏,而是用户。 用户往哪走,哪就是文明的方向,Bluesky已经证明了这点


adb和a11y属于是附带自由了,开发者和残障体验非常敏感。

阉割到这个程度,确实是和pc厂商要secure boot时,走向了不同的道路


既然安卓愿意当浏览器,就真的去当远程浏览器好了。 adb,a11y都不让用,apk虚拟机(LSPatch),乃至vnc总检测不到吧

其实不需要防检测/反黑屏这么麻烦,TEE自己的证书泄露转云手机就够了, 这就是防君子不防小人

退一万步讲,硬件级安全只能防注入,防不了RPA。 就算没有 fancy的拆机重连,一个专门的摄像和虚拟触控壳也可以解决DRM,问题只是要不要Integrity到人脸识别那种程度

其实最终杀死比赛的倒不是猫鼠游戏,而是用户。 用户往哪走,哪就是文明的方向,Bluesky已经证明了这点。
DRM最终还是要有人需要那个right的,如果软件或平台本身与自由世界相比就是垃圾,谁也不会去接受它的反特性。


这确实是把通用计算设备异化成了 “消费内容播放器”。他们不希望你拥有 root(根),不希望你通过 overlay 修改视觉(所有权),也不希望你通过自动化脚本控制流程(代理权)。 --https://henry.codes/writing/a-website-to-destroy-all-websites/


结论: 在黄金时代,软件是 Hacker 给 Hacker 的礼物。 现在,软件是 大公司用来圈养用户的牲口棚。PR 负责粉刷棚子,PM 负责计算饲料转化率。

你感到不适,是因为你依然保留着 "Craftsman"(手艺人) 的灵魂,而现在的行业把你当成了 "Resource"(耗材)。



ps. 用咕狗AI骂谷歌还真是挺搞笑的

可是,现在的各种软件厂商都越来越浮躁,不能再像十年前那样纯粹了。
就像Steam的G胖说的那样,人们不是怕收钱,而是服务资源和技术力不能德不配位。。

Steam 其实也是一种 DRM,但它提供云存档、局域网互助更新、创意工坊。它提供的服务价值 > DRM 的麻烦,所以大家愿意买单。