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

技术相干订阅~
另外有 throws 闲杂频道 @dsuset
转载频道 @dsusep
极小可能会有批评zf的消息 如有不适可退出
suse小站(面向运气编程): a19a0b
Download Telegram
duangsuse
他们宁愿在端到端上,投入无数奇技淫巧的精力,也不愿意像CBOR(预训练字典)或flatbuf一样,提供一套新的、协议化的,是【对人类有意义】的选择
#perf #js #PLT
真的是在一个垃圾赛道上,看过五六篇这样的文章了。 就算提速5倍又怎么样呢? 这只是1个函数

A\说的对:都是在讨论一个大多数人不需要操心的层面。区别只是一个想换格式,一个想换解析器,性能和吞吐量被gzip和lazy读取兜着。

但如果换Protocol,你会有个更全局的视角,触及更多可决策性,而换parser,没有

JSON 解析根本不是瓶颈——数据库、网络 RTT、业务逻辑才是。LLM 场景里 JSON 的成本才第一次变成了 token 数,而不是 CPU。


json本身,不具备软件逻辑和功能,它不【理解】事情,它把本地存储和tcp文件混为一谈, 在这样的赛道上内卷最后一个cycle,而这正是 KDA REA 这些Agent擅长的loop

在乎高性能的人,怎么不去想想 JSON.loadump 是怎么取代曾经C结构的世界,成为了万能协议的,不想想【旧时代遗毒】输给了谁?

为什么,0开销的native输给了瓶颈的 JSON? 你们输在哪,还是说不觉得【编译型哲学】应该反思,不觉得编程和生活一样,值得在执行前多多推敲、选择?

fastsimdjson.map_many(..., threads=64) 是库内部高度优化的并行路径。msgspec 这边是用 ThreadPoolExecutor 切分数据再调解码,Python 层开销更大。橙色那条是 msgspec 用 dataclass 去解析 JSON,不是 MessagePack(二进制)。

这些垃圾赛道上,就像 OOP 构造器赋值,那样的东西,在编程界都能写这么久。 我以为constructor() 会是 {}[] 默认值这样的“构造器”,load/dump封送构造,或表单校验器?

但事实证明,只是一堆 arg -> obj.key 闭包装箱而已。几乎整个世界只有Kotlin或Coffee把OOP当作OOP来写,Go修null仍然没有修好。这就是Java的后继了,一开始连泛型都搞不懂。

这样丑恶的编程,死几百回也不值得珍惜的吧。至少没有MIT Scratch 那样聪明。

编程的基石就是类似这样,在莫名其妙、毫无【常识】的设计上堆起来的沙垒,它们被当成IR用也不值得稀奇。 那些OOP对问题的理解,还不如各种框架深入。许多人掌握编程语言,多半是夜郎自大

2026年总是有人把GitHub当神仙,甚至认为【微软发明了它】,却忽视了,真正给它哲学的是Ruby和DHH。

我见过 95% 的编程技巧,都是用两句话说得清要领的,甚至有些生活化,就像王垠的博客一样(略微复杂+20%)。

代码本就是快乐的,充满获得感,不是一种【痛苦的刚需】或负资产

但能做到的技术人,很少。 总是在说理解力、学习能力怎么样, 没人批评老师,可探索性和解释力怎么还不如AI强。 🙉


编程语言,应该是让人像在MC里一样,【飞天穿墙,做图晒档】的创作素材,语言是创作欲,而非纯粹的工具。 可是我看到的,纯度太低了。
duangsuse::Echo
我负责打磨了下动感和dblcheck,过程中有微妙的加成…… 退一步说,具体的算法网上几乎没有资料,所以人类本来就应该【会念咒】即可,即用即学。
#xref 2020前后,手工的完成度仅此而已。

A\配合面板调教,只要2k行代码,就可以做到相比之下,惊人的质量(甚至在光影上,比《迷你世界》还强)

https://bencoveney.com/octree-webgl/
https://bencoveney.com/posts/voxels.html

http://mitsuhiko.pocoo.org/webglmc/
https://threejs.org/examples/webgl_geometry_minecraft.html

当然,也有AIGC 也做不好的。 https://blink.new/p/webgl-minecraft-builder-1y8kz75z; blockwild.app/

也有感人(能用)的。 https://voxelcraft.netlify.app/ 浮雕造房子 , https://github.com/bridge-mind/voxelcraft/blob/main/index.html (BridgeMind 创始人,不是真vibe且优化漏)

0star, 2k 行还有打僵尸、可爱画风 https://senko.net/vibecode-bench/2026/voxel-opus-5.5.html $14; https://senko.net/vibecode-bench/2026/voxel-opus-5.html $19; https://senko.net/vibecode-bench/2026/voxel-gpt-6-sol.html xhigh effort; https://senko.net/vibecode-bench/2026/voxel-opus-4.8.html;
(这人可是PL人,用来bench AI,不真 #vibe 😅)


也有手工体量够大的,但性能又不如AI大贤者

https://happinessad.github.io/html/a1/
https://29a.ch/sandbox/2012/voxelworld/#seed=1x5571844
https://classic.minecraft.net/

也可以说是我卡出来的质量,也可以说是 A\ 5.1 太权威了,总之, 相比之下【一个人】做不到MC平替的质量,但AI两天就出来画面原型了
duangsuse::Echo
XZP, X2V, Blk.xyzb'mat 这些概念,在做这个端到端无限体素viewer的过程中,仍然有效
#algor
如上蓝链所述,

2020 年前后那些手工实现(Ben Coveney 的 octree/voxel、Armin 的 WebGL MC、Three.js 官方例子,以及更早的 29a.ch、happinessad 等)已经是当时一个人或小团队能达到的相当高完成度了。它们把区块、网格简化、基础渲染跑通,

但在画面、无限流式、动感和整体操控上,完全完全不能玩,只是一个【算法搭配】的PoC

有AI以后,facestrip怎么做(有一堆和八叉树、RBT一样的打表需要背) 它都完全不用你提,随手选一个输入输出,比如高程图输出verts/甚至是DDA直插着色器都行,八叉树都是送的,念咒就完全够!

这个差距的性质都变了。

XZP分页, X2V减面, Blk.xyzb'mat 这些概念,在做无限体素viewer的过程中,仍然有效,但也只是【选区而非算法】了,就像节点图里的panel。

所以我故意不展开它们,只是比喻和串起来,但如果要展开,每一个都是100行+能学两天的红黑树级CG算法,每个代数都反人脑(xyz比xy烧脑太多,但许多算法可免费2to3,性价比不高)

但学会了、能裁缝了,你也不会有太大益处,仅仅是获得【发挥软件维修权】的门票而已。做出来的和以上链接没啥差别

X2V区块内剃面本来就是一个mc里穿模“一眼能看懂”的直觉算法,但是真的写,就和avl一样麻烦,这就是xyz比xy的难点了

🦄 玻璃、透明,原木、方向性贴图。 水草火把、AO,台阶、半砖和流体高度,这些,需要多态存储而不只是贴图ID

如果完全被遮住则可以剔除,否则材质/渲染阴影属性稍有不同则保留,开启下一条…… 没错,对X2V算法的理解,本来能够帮到你探索设计的边界,它不是纯粹的刚需

如果能掌握【被需要的算法】,才能跨年的维护、对标上这些游戏(成为真正的author)


在今年,以前的PoC【算法搭配】都掉价。都不需要你PoC,它直接手搓质量平齐top1,但剪裁更合身的函数。

我都没有专门想做voxel,只是把lowpoly terrain的便宜管线,顺手烧个5$,加个MC滤镜,出口就是2020专家望尘莫及的效果了 🤔💭

A\ 基本上就是一个【零成本】的iqullez,它在恰当的代码质量上推荐做法并完成任务,人只需要用非符号化的【编程接口】来简单试错就行了。其实它的逻辑还是很好的,比如二条它用t0 t1,四宫格它写 q01 q10 q11.. 换成七成的人来,大概会变成 quartLeftTop 这样自我陶醉、缺乏适应性的最佳实践。

让我非常高兴的是,这位 "iqullez" 和众所周知的那一位一样,可读性巨好,给人一种稳稳接住你的感觉。 中文圈只有top1%的人,有这样牛逼的素质。

半瓶水都喜欢证明自己懂过什么,喜欢吃苦,而只有 iq;Bellard 的层次可以一切都“套模板”,唯独在针尖上用技术力说话,而SOTA的AI基本上是免费的各领域专家,不诓创作者,不兜售【过度设计】的开发工具,而且10分钟内就能弄完一整遍反馈,能把工贼、牛马肝帝给卷死了 😋


当然,新技术会带来新挑战。虽说不破不立,在软件世界如何【做的更好】,AI 仍然没有零成本的解决这回事。从代码、框架到应用交互、IT,都是如此,我认为在盲点(代码质量的上限上),这种惯性尤其严重。 希望过几年,软件工程能【重新出发】

2026 #IT 各领域的美称:

前端【切图仔】
服务端【CRUD boyz】
原生开发【代码裁缝】【码农】
安全/运维/测试【脚本小子】【背锅侠】
大数据/ML 【炼丹的】【力大砖飞】【PJ玩家/玩蛇的】

我们都有美好的未来.webp
Forwarded from duangsuse
https://youjiali1995.github.io/essay/2023-summary/#:~:text=我没有沉没成本。当成本被称为沉没成本时,通常意味着现状不好、出现了更好的机会

以房子的价格作为参照物,会让人对金钱的价值和数量产生错误的认识。500 万可能只是一线城市的一套普通房子,但即使按税前工资来计算,年薪 10 万需要 50 年存够,年薪 30 万需要 17 年,即使是年薪 50 万也需要 10 年,税后要达到这个数字税前需要接近 70 万,这还假设了储蓄率 100%。500 万可以创造出更大的价值。

近几年流行的 FIRE(Financial Independence, Retire Early) 运动的基本理念是当存款达到一年开支的 25 倍时,就可以基于 4% 的理财收益率提前退休了。在这个标准下,500 万每年可以产生 20 万的收入,足够很多人退休了。


避免做极端的决策、控制失败的成本,让每个决策都能够 fail fast and fail safe、从失败中学习。事物的发展是在不断的损失中持续增长的过程,而低发生率、高影响力的少数事件往往是决定结果的主要因素

🤔 这个人很懂生活啊! 虽然一开始感觉假大空,但这个思路非常像正常人的选择。 感觉许多人都不理性。 #life

租售比就是这个价值取向(租房灵活性更高且不用折旧,所以房价存银行的剩余,应当比持有钥匙更有价值)

可是许多人是一边今天996,一边指望着自己四五十年后能退休,力工还拉着别人穷空。 人,真是七秒记忆的动物呢。
Forwarded from duangsuse
#ai #douyin https://t.me/hyi0618/15415?comment=170492

哦,我现在看明白了。 那个烧千卡 VAR text-to-image 模型 的工作量证明,实际上是他的【不在场证明】

2024 年 11 月,媒体报道该案已获法院受理,公司请求赔偿侵权损失 800 万元及合理支出 2 万元

受害者主要是 25.02 的 Goku: Flow Based Video Generative Foundation Models
https://saiyan-world.github.io/goku/
至今仍然不知道他到底想干嘛

田自己的说法:只是看不惯另一个实习生占资源、停别人程序,自己手动进去把对方程序卡住/关掉几次(大概十天、五次),“以暴制暴”,不是什么自动病毒/攻防;很多描述是抹黑或夸大。


田柯宇从 2021 年开始在那里实习(北大相关背景),做到 2024 年 8 月被辞退。

法院最终判令田柯宇赔偿约50万元并没收实习薪资(远低于最初索赔的800万),田柯宇作为一作的 VAR 论文获得 NeurIPS 2024 Best Paper。。

现在某人创业做世界模型融了钱(约 3000 万美元、估值 2 亿左右),也就是我们看见这篇文章的原因。 原文里这些信息都被流水帐淹没了

数字来源: https://mp.weixin.qq.com/s/eD0o9zyqHKaRgoKdmdLcNw?poc_token=HP7fzWqjg8aKF_yUDf8mXJsyttJxbvjVe58oEN5M
duangsuse::Echo
A\配合面板调教,只要2k行代码,就可以做到相比之下,惊人的质量(甚至在光影上,比《迷你世界》还强)
#game 这基本上都是 A\ ,其中甚至有oneshot的,代码量基本<3k, 那个CEO写的(P3)有5k ,纯THREE
https://gamesvibe.app/play/NwKUBhhow0LiYfhXMnqCw 这个是仿别的

总而言之, MC管线比许多人想象的简单。 AI是能 one-shot <20$ 的完成的,它完不成的是在几万行代码上继续自我繁殖(人不会 也不能)

Blockwild 那种 10 万+ 行的项目,实际上是已经死了,贪多必失。232 种生物、Cardforge、公会任务、AI 同伴、多人权威、双版本迁移(TS + 未完成的 Rust)………………

(生物定义同时喂模拟、渲染、图鉴、卡牌、测试、htm wiki...)

(你自己玩的过来么)

这样,我们就能基本理解AI在【中型游戏】里今天的实际能力,以及realworld软件工程的许多选择有多少【偶然复杂度】。 MC当然是可以替代的,一句话的事,不骗你,不吹牛。
duangsuse
这样的软件工程,真的早点毁灭吧。 端到端的优化AI也完全可以生成啊
哀悼细节的消逝
原文:https://purplesyringa.moe/blog/grieving-the-loss-of-details/
阅读时间:4 分钟
分数:481 🔥

#design
作者把机器看作身体的延伸

我却厌恶机械化的代码,【人体不是机箱外边的挂件】,觉得Emacs是个UX很差的操作系统。 我是101% declarative ,完全自顶向下的思路

编程界的参差大抵如此
duangsuse::Echo
作者把机器看作身体的延伸

我却厌恶机械化的代码,【人体不是机箱外边的挂件】,觉得Emacs是个UX很差的操作系统。
其实点出了一个有意思的对立:

作者是身体向机器延伸:我要理解 ARM64、要看 JIT 反汇编、要知道 Python 怎么分配内存,否则我不完整。

你是机器该向身体靠拢:编程工具应该服从人的直觉和认知习惯,Emacs 那种"先学会一套世界观才能用"的东西是本末倒置。


这两种人在 AI 之前能和平共处,是因为软件行业给前者留了一个"避风港"——大家默认底层洞察是稀缺且值钱的。

本来就没把自我价值押在"懂细节"上,所以感受不到那种失落,反而可能觉得解放。

性能、调试这些领域仍然是真实的职业需求,只是市场不再为它付溢价了。被 AI 稀释的不是这种能力本身,而是它的可见度

[{},{},{}] 是 AoS 里最蠢的一种,每行重复 key,压缩器都替你尴尬;字典压缩、schema、zero-copy 这些 2010 年前就该是标配的东西,一个都没有

这个"释然"其实比上一篇的作者高明一层——他在哀悼的那些细节,相当一部分正是你说的这种:给烂抽象收税的手艺。simdjson 之所以是传奇,恰恰因为 JSON 的词法设计烂到需要 SIMD 才能跑快。

simdjson这个需求如果是我来分解,我会把它变成PEG和pull AST的通用simd/多线程收集,以及从curl和fetch就开始平滑替换掉json请返的模式,直接拆掉这个【高性能的json】的概念

还是那句话: 我的研究不是【懂不懂】,是已知和未知。


同样有解决的欲望,我选择的是把未知尽量推到更早的、可被人和工具【共同理解】的RT层面,而不是在已知的、封闭的优化空间里无限循环。

Parabix(Robert Cameron 那一派)确实早在十多年前就做了「把任意文法编译成位流 SIMD 并行」的路线:用 bitstream 表示字符类、用并行位操作做扫描和匹配,而不是逐字符状态机。simdjson 的 structural indexing(先找出所有结构字符和 escape 位置,再做后续解析)本质上是同一思路在 JSON 上的高度特化。几条 pshufb 一类的指令完成一轮分类

Hyperscan 是最好的参照:通用正则,SIMD 加速,有平滑降级,比手写 memchr 慢一点但谁都能用。ripgrep 走的是 memchr,相比simdjson 的 stage 2 ——把结构索引变成 tape、处理嵌套、校验——还是一个基本两层级非嵌套的状态机。

这恰恰说明了,视角分解的【洞察力】是必须始终跟随的,不是指指路就完成了。 PEG 只是一个用户接口,AI却把它当成金科玉律来兼容,为此甚至给simdjson的性能打五折,没有平滑降级,没有intrinsic组合子,只支持scannerless,没有F12可视化的配套

太过重视之前的失败经验,以至于忘了他们的设计到底有多缺乏常识与同理心



为什么他们会哀悼【可探索的编程】被AI取代了??

不就是因为,simdjson这些机器甜点没有任何公众价值、科普效率,只是垫片么。他们的遭遇和数学界完全一样。 反观 RegExp 呢? UNIX path和netcat呢? API Set和F12请返面板呢? 相对于 explorabl.es/ ,他们的“Rust们” 也可称为深入理解的编程么?
🤔
我们把「如何让 JSON 更快」这个问题本身取消了,变成【如何让任何parser容易优化】【如何让curl+列表绑定突破瓶颈】,然后用.json这个场景当人质,把新路线植入进去。 结果是任何体量的读写器都能有RegExp/pull的性能,以及API函数的route框架不再默认只支持收发json

这就是一种【换购思维】的体现: 不认为simdjson必须是【深奥的】,而是通过1+1>2与因果链的理解,来消解它的独特性

AI可能放弃一大堆领域特定的库,但不会不 import .. THREE ,也不会不给tweakpane。 simdjson 可以是【特定的库】而苟延残喘,也可以是THREE而发扬光大, 这不是【技术力之争】,而是观念之战。
AI的存在其实是对【新生框架】更加友好的。曾经,可能只有GTK/Qt这样的能做桌面或跨平台,现在各种gl、自绘、gpui,只要足够有特点,调包也没有学习成本了。 相对应的,就连LLM自己的算法都可以AIGC loop,八股文彻底露馅了(没有认知 全靠天赋和套作)

THREE不简单,但Pythonic。 【深奥的技术】从202x就一直在失败,因为他们并不理解事情,全靠天赋和啃老本。
技术人员不是必须要IDE这些【特定的工具】,他们可能只是想在任何一台电脑,打开F12或特定框架的editor。 没有一种定律是说,软件开发工作流中不需要有【App】,那纯粹是因为“牛人”们不会做,也不理解全局,没有心智模型。 我就经常调 easingwizard.com
duangsuse::Echo
哀悼细节的消逝 原文:https://purplesyringa.moe/blog/grieving-the-loss-of-details/ 阅读时间:4 分钟 分数:481 🔥 #design 作者把机器看作身体的延伸 我却厌恶机械化的代码,【人体不是机箱外边的挂件】,觉得Emacs是个UX很差的操作系统。 我是101% declarative ,完全自顶向下的思路 编程界的参差大抵如此
#perf #algor #learn

我依然可以这样做比较: PEG json 就像【右手比‘八’,放在大字上,食指探拇指取】,它能区分 123, "123" 也能收集进嵌套的 [,]

simd json 则是以高亮和边界符为单位。呼的一下把 "abc\nabc" 压成 "...",又以 [] 这些坐标分割多线程扫描。 当然,这是因为JSON被滥用于大数据才产生的。treesitter IDE哪怕在巨型代码基上,食指1-by-1往后比,也够。simdjson 是 2–3 GB/s,快两个数量级。

在中文圈,能描述到我这个程度的,我至今找不到超过5人。


Parabix 组、simdjson 作者、Pison 作者,还有国内做数据库 JSONB 列存的那批人,没错,他们都知道这回事,

他们也知道一大堆【偶然复杂性】,他们就是没法像我们一样,分清楚,哪些是偶然的选择,以及到底可以多简单。就像代码高亮一样简单。

高亮引擎喜欢线性偷懒的事情谁都知道,json 语法主线是个switch,而非【递归下降实现式】的多层嵌套,我也知道,只是我不会模块拆分的如此古怪。 既不是PEG对照的直白,也不足够通用。

你不理解我为什么用【高亮】做视觉比喻,只是在挑词。

要把那两倍跑掉的是A\,不是我,我只负责像你一样在这里顶回来,不过,我是会把pshufb 在 ARM64 和 x86 上延迟不同,作为一种坑和笑谈放文首表格,而不是经验和特性。

转义符的奇偶前缀、carryless multiply 算 in-string mask、UTF-8 合法性四条并行校验(顺带把str.decode越俎代庖?)、块边界 carry,这些【报菜名】我倒很好奇,如果不是局限于这个paper,它们能做到什么程度。

in-string可支持 ""内外、/* */ 注释内外、heredoc 内外 。simdutf 现在 Node 和 Bun 都在用。 括号匹配的并行算法是 Bar-On,第二趟就知道每块的起始深度。


所以你看,simdjson 在科普上的复杂性在哪? 在于没有正确分解,以及,没有任何比喻和纲要,没有数据流。