duangsuse::Echo
#net #news #rust #lua 绷中绷 https://t.me/hyi0618/9888?comment=142993 https://fxtwitter.com/guanlandai/status/1996991544663171360?s=20
https://x.com/cloudwu/status/1997181816760058321 #design #ts 😅
- 这不就是没有空指针的语言都能避免的吗?用这类强类型语言,如果execute如果可能为空,那写execute.results就编译不过。
C++ 和 java 是不是strong type systems ? 这和 strong type 没关系。
- 本质是短路过后,有一部分代码没考虑到execute会出现被短路后变成nil,去访问以为正常执行的execute里面的东西。……编译器就不会允许你直接访问execute.results, 你必须处理空的情况。rust, swift,kotlin都可以
就这个问题,lua 给 result 加个元表也能避免这个。怎么就没意思了?
Please open Telegram to view this post
VIEW IN TELEGRAM
X (formerly Twitter)
云风 (@cloudwu) on X
@wy721 @withfolyd 因为这个“更健壮”的代价是增加了程序员的负担。而人都是懒惰的,如果有方法可以绕过去就无法阻止懒人绕过去;如果一味的加强绕过去的难度,就是舍本求末;牺牲一方面的性能在解决问题的同时降低复杂度往往更好。所以在我看来任何语言一旦“标榜零成本抽象”,就是邪路,不需要追究它如何“零成本”的了。
duangsuse::Echo
https://t.me/hacker_news_zh/16917 😃 这个大佬做的质量最高
https://fixvx.com/igeekbb/status/1998030699656577223 #life #ai 创意
#china
#china
睡眠的麒麟走步出现的水面特效,以及天空中两个小人挥手,明显是无人机做不到的(挥手速度太快,不可能是无人机在空中列阵)
vxTwitter / fixvx
💖 690 🔁 72
💖 690 🔁 72
iGeekbb (@igeekbb)
广州全运会无人机灯光秀 有时候已经分不清楚真假了
duangsuse::Echo
#music 胭脂 b23.tv/BV1ucGzzuEhw 蛋包饭: 初次建低多边形模、初次做动画,燃尽了 欸!我说,法定的天才假来咯? 拿走拿走,无力去说声纳尼。 大大大大声的压轴 得啦得啦没作一点用 都得了省一哟 本宝宝也不哭了 看戏这点拿手 喂,授课的人间 武器谋求口出 开口也挞罚 开口也挞罚 肖像 巴别塔? 那咋,懂了也白搭 得手 基本漏的资料 抹多 那胭脂在符号 也算创作自由。 加纳,像超人的天才? 心脏同血管 默默,今天也虹吸 够爱加班。 ……原口式日语 所谓天才!大概听课起来很有理?…
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
最开始是“RSC Payload 永远只能由可信的 React Server 产生,客户端必须 100% 信任它”
YouTube
深度解读React满分漏洞,一个前端框架怎么炸掉半个互联网【让编程再次伟大#50】
00:00 开场
00:28 React: 打造完美的漏洞
07:17 Next.js: 偷鸡不成蚀把米
08:55 Cloudflare: 还有高手
12:25 毁灭吧,累了
00:28 React: 打造完美的漏洞
07:17 Next.js: 偷鸡不成蚀把米
08:55 Cloudflare: 还有高手
12:25 毁灭吧,累了
#security CVE-2025-55182 #回顾 😒 😓 https://youtu.be/LSiYdiMGS4U
摘要:
为什么这么简单的一个JSON就能伪装成功呢?因为React从头到尾都没有验证手上的这个 AST Blob module 缓存数据是不是Parser自己生成的(而非 POJO)。理论上,你能够在请求内容里伪装任何东西,不一定通过未转义的Promise或Blob,它都会傻傻的全盘接受。这也是让这个漏洞一举拿下十分满分,成为“完美漏洞”的点金之笔。
React把「客户端发来的 AST JSON」和「服务端parser自己生成的 JS Object」混为了一谈,导致攻击者可以用一个纯JSON伪造一个「可信的恶意resolveModule代码缓存」,从而实现零交互满权限RCE。
具体来说,React Server Components 在服务器端渲染时,前端会通过POST请求把一堆「序列化后的RSC Payload」发给服务器。这个Payload本质上是一个经过特殊编码的JSON流,里面包含了很多以$开头的特殊标识符($J、$@、$A、$B……),React自己的parser会根据这些前缀,把它还原成真正的JavaScript对象(Map、Set、Promise、Blob等等)。
致命的假设是,这些特殊对象都是由React自己的parser在服务端「凭空构造」出来的,所以是安全的。
它从来没有校验过: $AT 等待的结果、直接带有恶意属性的 Blob._prefix 是不是POJO
这种跨网络的通讯就是一种Remote Procedure Call (RPC),RPC框架不是什么新鲜事物,它的安全机制也早就有了很成熟的设计准则,不管是早年的SOAP还是现在最流行的gRPC,都很遵守这些基本准则,
比如说Schema的设计、explicit的定义、防止边界混淆的措施等等。然后Vercel这些人就是没有一点点后端开发的职业操守,从整个RSC的设计来看,你甚至可以说他们是把前端圈子的“所见即所得”作风带给了后端。
ps. 我是转写的文稿,符号不准确,原作者也不是专家没get到重点😅
https://gist.github.com/maple3142/48bc9393f45e068cf8c90ab865c0f5f3
讲的很清楚了,我不再赘述。 这次bug评论让我认识到AI的幻觉与思维局限性,以及搜索与核查能力的决定性
shellcode={
"1": "$@1", // 这是一个 Promise
"2": {
"status": "resolveModule", // 直接告诉你要已经 resolved 了
"value": {
"$": "$B", // 伪装成一个 Blob
"_prefix": "x",
"_formData": {
"x": "console.log('pwned'); require('child_process').execSync('whoami > /tmp/pwned')"
}
}
}
}
摘要:
为什么这么简单的一个JSON就能伪装成功呢?因为React从头到尾都没有验证手上的这个 AST Blob module 缓存数据是不是Parser自己生成的(而非 POJO)。理论上,你能够在请求内容里伪装任何东西,不一定通过未转义的Promise或Blob,它都会傻傻的全盘接受。这也是让这个漏洞一举拿下十分满分,成为“完美漏洞”的点金之笔。
React把「客户端发来的 AST JSON」和「服务端parser自己生成的 JS Object」混为了一谈,导致攻击者可以用一个纯JSON伪造一个「可信的恶意resolveModule代码缓存」,从而实现零交互满权限RCE。
具体来说,React Server Components 在服务器端渲染时,前端会通过POST请求把一堆「序列化后的RSC Payload」发给服务器。这个Payload本质上是一个经过特殊编码的JSON流,里面包含了很多以$开头的特殊标识符($J、$@、$A、$B……),React自己的parser会根据这些前缀,把它还原成真正的JavaScript对象(Map、Set、Promise、Blob等等)。
致命的假设是,这些特殊对象都是由React自己的parser在服务端「凭空构造」出来的,所以是安全的。
它从来没有校验过: $AT 等待的结果、直接带有恶意属性的 Blob._prefix 是不是POJO
这种跨网络的通讯就是一种Remote Procedure Call (RPC),RPC框架不是什么新鲜事物,它的安全机制也早就有了很成熟的设计准则,不管是早年的SOAP还是现在最流行的gRPC,都很遵守这些基本准则,
比如说Schema的设计、explicit的定义、防止边界混淆的措施等等。然后Vercel这些人就是没有一点点后端开发的职业操守,从整个RSC的设计来看,你甚至可以说他们是把前端圈子的“所见即所得”作风带给了后端。
2025年11月29日,来自新西兰的安全专家Lagland Davidson向React团队提交了一个Bug报告。他通过在HTTP请求里构建一个精心设计的JSON,成功让使用React Server Components的服务器执行了一段代码里完全没有的命令。如果只是借用服务器的资源跑一下`console.log`,那倒也不是特别严重的事情,最多给个六分。
让这个漏洞值十分的原因是:不管你在这个Payload里写什么,只要它是正确的Node.js代码,Vercel都会执行他。比如说,你可以调用Node.js的`child_process`模块,直接在服务器上执行bash命令。如果你的后端是用root之类的高权限账号部署的,那就更刺激了,可以直接给他来一个“一键扫弹”。如果你不想搞破坏,只是想要窃取一些机密,也是很容易的事情,
比如通过`fs`模块读取任意一个系统文件,然后通过`http`模块把文件内容发送到自己的服务器。如果你懒得搭建自己的服务器,或者怕事情败露后被警察叔叔顺着网线摸过来,你也可以原地把窃取到的内容放进`Error`里抛出,这样服务器就会用500报错把`Error`送回来。
如果你想做得更隐蔽一些,免得忽然出现大量的`Error` log被人发现有异常,你可以让HTTP请求正常返回,然后把机密塞到返回的`Header`里。
这个漏洞不仅严重,而且很容易复现,所以React团队陷入了一个两难的境地:如果你偷偷地发布修复补丁,大家不知道出大事了,就很难保证补丁的安装率;如果你全世界通告漏洞的存在,那黑客肯定比谁的反应都快。所以React团队为了延缓黑客的速度,给大家脱购时间,看到新闻打好补丁,在2025年12月3日,他们仅发布了通告和补丁,没有解释任何技术细节。
他们还特意在补丁中混入了将近1000行的其他代码,就是为了让人更难找到漏洞的源头,把它隐藏起来。
但毕竟React是一个开源项目,一切都是明牌的,这种小伎俩是藏不了多久的。像我这种前端半桶水的程序员,也只是花了几个小时,把补丁改动的那几个文件和他们的上游都看一遍,基本上就能捋清整个逻辑链条了。
……这一次
简单来说,React的RSC模块在收到前端请求时会进入一个recursive parsing的逻辑,在这个过程中,Parser会生成一个类似AST的数据结构。其中有一个叫做`ParseModelStream`的函数负责识别这个数据结构,这里你能看到它就是一个巨大的switch case,根据数据的第一个和第二个字符来判断它属于哪种数据。
比如说,以`$Q`开头了就是`Map`,`$W`开头了是`Set`,`$K`开头是`FormData`。
这里有一个比较特殊的情况是`$AT`,它指的是一个Promise,也就是一个会异步执行的JavaScript命令。这种特殊数据就会被打包成一个独立的chunk,状态设置为`pending`,等待后续的数据流。数据流完整传输到位后,这个chunk的状态就会被更新为`resolveModule`,代表它可以执行。
在$AT执行之前,需要先通过`ParseModuleString`函数对chunk内容再做一次Parsing,把它从Binary转换成正确的JavaScript结构。比如说,`$A`是`ArrayBuffer`,`$S`是`Int16Array`。这里又有一个比较特殊的情况,`$B`指的是Blob,因为Blob就是Blob值,没有什么需要转换的,所以`$B`开头的数据会跳过constructor的步骤,直接执行。OK,整个逻辑链条说完了。
现在你就能看懂了:他先把这个Payload转换成String,然后再读取成Buffer,这样React的Parser就会读到一个长得跟自家的AST数据(Blob)一模一样的东西。这里有`$AT`告诉你它是一个要被执行的Promise,这里的`status`等于`resolveModule`,就让它绕开了不存在的`pending`状态直接进入执行流程。这里的`$B`告诉你它是一个Blob,请你绕过constructor步骤直接执行!
最后,通过精准地对应`$B`数据的处理代码,让Parser通过它提供的`_underscore prefix`和`_underscore form data`这两个key,乖乖地把`_underscore prefix`里的文本当作是Blob的内容直接执行,也就是这行`console.log`代码。
为什么这么简单的一个JSON就能伪装成功呢?因为React从头到尾都没有验证手上的这个 AST Blob 数据是不是Parser自己生成的。理论上,你能够在请求内容里伪装任何东西,它都会傻傻的全盘接受。这也是让这个漏洞一举拿下十分满分,成为“完美漏洞”的点金之笔。
这个事件中不存在“被坑下”,因为整个React核心开发团队和幕后黑手Vercel公司都是罪魁祸首。而是要一直在模糊React的前端和后端边界,这不是不小心的,而是故意的,因为他们需要让React的使用者——那些前端开发团队——更容易接受这种极端的SSR路线。
但本质上,这种跨网络的通讯就是一种Remote Procedure Call (RPC),RPC框架不是什么新鲜事物,它的安全机制也早就有了很成熟的设计准则,不管是早年的SOAP还是现在最流行的gRPC,都很遵守这些基本准则,
比如说Schema的设计、explicit的定义、防止边界混淆的措施等等。然后Vercel这些人就是没有一点点后端开发的职业操守,从整个RSC的设计来看,你甚至可以说他们是把前端圈子的“所见即所得”作风带给了后端。
ps. 我是转写的文稿,符号不准确,原作者也不是专家没get到重点
https://gist.github.com/maple3142/48bc9393f45e068cf8c90ab865c0f5f3
讲的很清楚了,我不再赘述。 这次bug评论让我认识到AI的幻觉与思维局限性,以及搜索与核查能力的决定性
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
比如说Schema的设计、explicit的定义、防止边界混淆的措施等等。然后Vercel这些人就是没有一点点后端开发的职业操守,从整个RSC的设计来看,你甚至可以说他们是把前端圈子的“所见即所得”作风带给了后端。
#web 脚本小子为什么是脚本小子?
为什么我同样是 #js er ,我却不可能写这种数据流和types没有把握的代码? 因为JSer和JSer是不同的,就像都用Gemini,vibe和vibe是不同的😓
我没预期的是,React 的某些“FP大佬”认为这个界有那么容易跨。 今天JS界的榜首,也有资格自称NEXT么?
悟性还没有 vanjs.org 的作者好
为什么我同样是 #js er ,我却不可能写这种数据流和types没有把握的代码? 因为JSer和JSer是不同的,就像都用Gemini,vibe和vibe是不同的
我没预期的是,React 的某些“FP大佬”认为这个界有那么容易跨。 今天JS界的榜首,也有资格自称NEXT么?
悟性还没有 vanjs.org 的作者好
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
我把 LOL 最流行的俩宣传曲(S7 S8) 中文填词了 😁, 听说《孤勇者/Enemy》《Pop/STARS》也很好 Warriors Phoenix GODS(23) 《Heavy Is The Crown》 这些也都还行 据说MV里做的都是上个season的赢家的故事 😱 冷却难为待 问这世界不解其忧 看你如何撕出你的光 冷却难为待 得寸进尺别怕遨游 爱这探索 不离着锐气所归 锐利崭露出外 他得天独厚 当哀思来叩 他按章法理 他一枝独秀 他远途奔波 烟火粉碎去 'Oh pick yourself…
3首YOASOBI两首LOL.txt
11.2 KB
#music #vibe CC-BY 😃
冷却难为待? https://chat.librechat.ai/share/LEfvmXsHDS86Nv7mbQjFz; https://chat.librechat.ai/share/UAaN7DYq4t8Pzd6U6X2h5
RISE(Gemini3误读了“卷”) https://x.com/i/grok/share/Z1qwdmjV2aeOHXzPKqFWOEUrW
群青文学 https://chat.librechat.ai/share/tTFiaFzy6nRapPSCT1vVd
改了好唱 https://chat.librechat.ai/share/JnkLynfhrwgl0u9t4lA8D
狮鹿故事 https://chat.librechat.ai/share/aqVrVRonoXOwBPTxCowOF; https://x.com/i/grok/share/qzjDOJciDMcjvuljQA4hatRwg
怪物也改 https://chat.librechat.ai/share/L9OfXZ5qV_K1vbsspYacP;
https://chat.librechat.ai/share/2UUmUfTW-q-t65onsNi0r
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo pinned «#post #加入套餐 类型(.kt,前沿,逆向)、变量与宏绑定、IO等【无返回】效应、异步多任务😒 😅 Gemini 手把手演示了内容,我看是挺不错的😅 : 栏目答演算、逻辑式编程/Hask HM类型、解释器与变量表(“多位等值”的叠合/替换)、 契约编程与停机证明、栏目答字面/闭包值的相等、宏与可计算性理论 这些思考也证实了LLM确实是可以有输出质量的, 别傲慢: meta元学习 https://chat.librechat.ai/share/kKyJYo9-GHZrCWs9fZ7kQ 用PLT思考PLT…»
duangsuse::Echo
用PLT思考PLT https://
#statement AI都比咱们懂文章😒
在计算机领域,这种现象尤为明显。懂汇编、懂Category Theory、懂内核的人,往往容易陷入一种**“高僧幻觉”**。我们手里拿着复杂的咒语(PLT),看不起那些用简单的逻辑(十目所见、直觉的、平庸的)解决问题的人。😃
我们失去了对**常识(Common Sense)**的敏锐度。Markdown 赢了,因为它符合常识;而许多完美的学术语言死了,因为它们只符合“精英真理”。🤪
我们再也不用 简单来说 不就是 就像/比如 ,而总是回答 “它就是那样的”、“当且仅当”、“这是对标准的误读”。
PLT,乃至于 「科学」不是什么:
- 架构师的补习班,人工智能、区块链、前沿数学这些鱼龙混杂之风口的敲门砖
- 需要“中译中”的,与精英的刻板印象 “有充要关系(挂钩)” 的 「软工黑魔法」
- 永不变质的“稀缺真理”、建功立业的“数学”手段、一只能把太阳叫起来的鸡
在计算机领域,这种现象尤为明显。懂汇编、懂Category Theory、懂内核的人,往往容易陷入一种**“高僧幻觉”**。我们手里拿着复杂的咒语(PLT),看不起那些用简单的逻辑(十目所见、直觉的、平庸的)解决问题的人。
我们失去了对**常识(Common Sense)**的敏锐度。Markdown 赢了,因为它符合常识;而许多完美的学术语言死了,因为它们只符合“精英真理”。
我们再也不用 简单来说 不就是 就像/比如 ,而总是回答 “它就是那样的”、“当且仅当”、“这是对标准的误读”。
PLT本身意味着一种极有洞察力的理解方法:
- var不是“放字面值的盒子”,而是两片相似事物里唯一的差异“点”,小点可组合为新点。不抓argument你就抓不住“变量”的语意
- if不一定要剪枝,它可以走两边,因此只能获得约束的并集(成员交集),因此不会死递归,因此可以在test前断言。if能够对应重载/父类
- 代码和变量名只是字面(repr),语意(value)可以多态,更可以rethink,比如赋值vs解构vs响应式、类名函数名vs箭头组合、异步染色vs syscall
- 一切依赖于调用树状图的等效形式(repr)、二进制structs的动态、x86/OS/ABI 技能的日用工具与「可能性」
- 要知道,Markdown 一个设计一致性不太高的标记语言,就托起了 Typora,Notion,Obsidian 甚至LLM这些杀手应用,而RegExp又托起了它。
PLT,乃至于 「科学」不是什么:
- 架构师的补习班,人工智能、区块链、前沿数学这些鱼龙混杂之风口的敲门砖
- 需要“中译中”的,与精英的刻板印象 “有充要关系(挂钩)” 的 「软工黑魔法」
- 永不变质的“稀缺真理”、建功立业的“数学”手段、一只能把太阳叫起来的鸡
这就是我从五六年前到现在的感知与思学。
其实并不是说总是文明掌握真理,而是当人有了“精英才有的”真理,就没有积极性去追求“十目一”的真理了。
这涉及一个个人最优和全局最优解的矛盾,显然的解法是只让擅长的人做擅长的事,并且消除他生存与尊严的需求。这才是最为聪明的系统设计,因为哪怕一个衣原体的生活都比超级计算机更复杂。
作为一个intellectual,我能拥有的仅仅是智慧。 沉浸于能力,本身就是缺乏智慧的体现。
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from 苹果测试工程师的日常 (IceCode New)
#TIL
https://fixupx.com/t3tra_x/status/1998174832480186435
很有趣的一个小项目,给自然语言写的 LSP。这个主意或许不算新鲜,但是在日语上实现这样的 LSP,感觉难度要比其他很多语言都高
https://fixupx.com/t3tra_x/status/1998174832480186435
很有趣的一个小项目,给自然语言写的 LSP。这个主意或许不算新鲜,但是在日语上实现这样的 LSP,感觉难度要比其他很多语言都高
🧵 Thread • FixupX
t3tra # type: ignore (@t3tra_x)
作ったは良いもののずっと公開を渋っていた自然言語LSPなのですが、やっと作りたかった機能とか一通り作れたので公開します...!!
基本的な文法チェックと形態素解析によるセマンティックハイライト、名詞の検索や他言語LSPとの共存が可能です〜〜
Quoting t3tra # type: ignore (@t3tra_x)
他言語の言語サーバーと共存できるようになりました<3
ありがとうtree-sitter
基本的な文法チェックと形態素解析によるセマンティックハイライト、名詞の検索や他言語LSPとの共存が可能です〜〜
Quoting t3tra # type: ignore (@t3tra_x)
他言語の言語サーバーと共存できるようになりました<3
ありがとうtree-sitter
duangsuse::Echo
#rust #performance #dalao https://curiouscoding.nl/posts/1brc/ 作者对大量 'city;0.00\n' 模式数据的minmax/avg优化perf了手动解析,依次使用 atoi、 match .\d{3} 、SIMD memchr 寻找';', 直到靠 s.get_unchecked(s.len().. *(0 if len<k else 1) 来减少jmp 实现了100x的加速 还使用了 record.min = max(-value, record.min)…
Please open Telegram to view this post
VIEW IN TELEGRAM
Blabbin’
4 billion if statements
I recently stumbled upon this screenshot while researching social media on the train. Of course, it was followed by a cascade of spiteful comments, criticizing this fresh programmer’s attempt to solve a classical problem in computer science. The modulus operation.
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
dnaugsuz in yihong0618 Chat
哎,你说的那个责任和互动问题,我真挺能理解的。不是我的bug我不会修,而要是文章出错了,找不到真人好好聊聊确实难受。
不过我觉得大家对AI内容都有点误会,老觉得一用AI就是随便敲两句就出货、粗制滥造。
其实靠谱的AI内容,背后那prompt才叫一个费劲——得反复问、层层套约束、核查事实、调逻辑,比自己从零写一篇还巧妙呢。prompt看着就几行字,但含金量高着呢。
责任这事儿,说白了跟工具没关系,跟人有关。用AI的要是认真负责的人,他会把自己探索知识体系、迭代的过程、最后校验的全吃透,出一篇东西,敢站…
不过我觉得大家对AI内容都有点误会,老觉得一用AI就是随便敲两句就出货、粗制滥造。
其实靠谱的AI内容,背后那prompt才叫一个费劲——得反复问、层层套约束、核查事实、调逻辑,比自己从零写一篇还巧妙呢。prompt看着就几行字,但含金量高着呢。
责任这事儿,说白了跟工具没关系,跟人有关。用AI的要是认真负责的人,他会把自己探索知识体系、迭代的过程、最后校验的全吃透,出一篇东西,敢站…
Please open Telegram to view this post
VIEW IN TELEGRAM
https://arborium.bearcove.eu/#query
#awesome #parser 集合,牛。 说明了 #vibe 对优秀程序员是真正的如虎添翼,而非取代。😒
formats.kaitai.io 同样强大。框架不仅仅要灵活易用的API,更要有demo来证明
真正的的牛不是自己起的绰号,而是同行都在说: https://github.com/dmendel/bindata/wiki/Alternatives
#ai锐评
https://x.com/i/grok/share/Hnqz0eaKxPju6Q3rfWItXnt9J😃
1. 统一解析 https://chat.librechat.ai/share/9I4oi0qOnDjG2IU85G_2b
2. 增量解析 https://chat.librechat.ai/share/SAs_mOf-vW60J0g2ElIpx
3. 龙书垃圾 https://chat.librechat.ai/share/PWpLgBFykGme5CvhVWV-U
#awesome #parser 集合,牛。 说明了 #vibe 对优秀程序员是真正的如虎添翼,而非取代。
formats.kaitai.io 同样强大。框架不仅仅要灵活易用的API,更要有demo来证明
真正的的牛不是自己起的绰号,而是同行都在说: https://github.com/dmendel/bindata/wiki/Alternatives
https://github.com/WerWolv/ImHex-Patterns/blob/master/patterns/java_class.hexpat
https://github.com/lark-parser/lark/blob/master/examples/json_parser.py
https://construct.readthedocs.io/en/latest/intro.html#example 较少实例,但流行
https://pest.rs/book/examples/json.html
Scapy.net 等“面向系统编程级RPC”的 #bin parser
https://github.com/secdev/scapy/blob/master/scapy/contrib/postgres.py#L234
https://gitlab.com/wireshark/wireshark/-/blob/master/epan/dissectors/packet-http2.c#L1298
https://wiki.wireshark.org/Lua/#:~:text=Wireshark%20dissectors%20are%20written%20in%20C
所以Zeek用 LLVM-JIT实现了Lua: https://github.com/zeek/spicy/blob/main/tests/spicy/doc/my_http-host-callback.cc#L66
https://docs.zeek.org/projects/spicy/en/latest/tutorial/index.html#creating-a-spicy-grammar
在kt里模拟rs-ownership https://chat.librechat.ai/share/eZLS6q4XRoNU27vYn6XBJ
AST与pySonar推理 https://x.com/i/grok/share/WD3EUIHLTmrhVkt1RNCOBLABd
#ai锐评
https://x.com/i/grok/share/Hnqz0eaKxPju6Q3rfWItXnt9J
1. 统一解析 https://chat.librechat.ai/share/9I4oi0qOnDjG2IU85G_2b
2. 增量解析 https://chat.librechat.ai/share/SAs_mOf-vW60J0g2ElIpx
3. 龙书垃圾 https://chat.librechat.ai/share/PWpLgBFykGme5CvhVWV-U
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
https://x.com/i/grok/share/vW8if393OgPDDWk5SgItJxCJC #ai锐评 把4大IO demo 成8个了,我重新理了一下: EchoArgs, Counterdown, Checklist_LiveSrch, Dirtree_MapReduce ps. #statement #plt https://www.30secondsofcode.org/js/s/math-expression-parser/ 是🤡么?我可算知道为啥写 #parser 牛逼了,这是在…
#plt 😅 这里有些非常有趣的parser问题。 面对它们,分析PEG组合子/TDOP和CFG/解析器生成器 的优劣
https://justine.lol/lex/
#ai探讨 https://chat.librechat.ai/share/EA4UzYilY9Dvfm1sA6RhW
#ai锐评 https://chat.librechat.ai/share/oig5RkBAoyUisEau7yaNF
https://justine.lol/lex/
A* B; int * n; 类型名问题(由gettok消歧义?好吧:)
val a:List<Any >= listOf(return)
"${"Guido快乐内插"}" #ANTLR分词器直接淘汰,bash <<EOF字串同理。安全注入还是我们ES6继续领先
<JSX></>和 _ptr<vec<wtf>> 到底有没有调用(>>)这些token?
op + 1 as ()->Int //类型是值? Pythonic.kt
(A,B) //=> A+B 又一个“二项运算符”?
(1?opA:opB)(); //三选一? =>($1+$2).., (A,B)(..)(), (A,B); opA()
(1+1, b) => b //这算是parser写错了?
int f //(){return 0;} 匹配(ClassDef->Var|Fun)有回退吗? C decl(void f(int(*)() f1)) 里有几层函数?
if(1) if(1.1)A; else B; //自动分号greedy匹配不对,递归上升又容易短路读成 if{if{}}else{}
expr -> expr "+" lit | lit //人类都看不懂的左递归BNF“访问链” (lit往右chain! 注意边界条件)
1.1 + 1.to_s # JS里eat到1.^ 的位置只能返回Lit(f64),除非写 1..f 即(1.).f 。Ruby有回退走不错 不会eatLit
-not a or -b.c!! and d # 随便组和中前缀优先级
text,hex,cffi,wire 解析器的SOTA是
tree-sitter/lark, Kaitai/ImHex (ohmjs,pyparsing,construct 次位)
cffi需要易调用接口(ptrify/padding), wire同理(state,ctx),还没有大一统框架?
#ai探讨 https://chat.librechat.ai/share/EA4UzYilY9Dvfm1sA6RhW
#ai锐评 https://chat.librechat.ai/share/oig5RkBAoyUisEau7yaNF
Please open Telegram to view this post
VIEW IN TELEGRAM
duangsuse::Echo
#post #ce 运行时技巧集合: 时间片 内存片 技法 全周期资源管理
tco https://t.me/dsuse/21568 Tailcall 解释器
oop 多态 [java] - [grok Tagless] [c++ 虚表]
macro https://t.me/ManjusakaH/637?comment=2981
GC https://chat.librechat.ai/share/66-e7MQQ2s7pAw0hl1TzI
Telegram
duangsuse::Echo
#ce py3.14 线性解释器(C实现)的新优化😝
- Tail Call Interpreter 是py3.14优化字节码解释器(大 switch(int) {case opcodes..} )的编译期优化,因为CPy跑def里的每条指令都有利用,PGO提速15% ,而且,perf现在能看单条opcode的开销了!
- [tailcail,兄弟调用] 就是跳转地址不在自身的 [tailrec,伪递归]。因为伪递归==改参数goto开头重来,而且,这种优化非常常见(相较于 [Computed Goto]),所以被…
- Tail Call Interpreter 是py3.14优化字节码解释器(大 switch(int) {case opcodes..} )的编译期优化,因为CPy跑def里的每条指令都有利用,PGO提速15% ,而且,perf现在能看单条opcode的开销了!
- [tailcail,兄弟调用] 就是跳转地址不在自身的 [tailrec,伪递归]。因为伪递归==改参数goto开头重来,而且,这种优化非常常见(相较于 [Computed Goto]),所以被…
Forwarded from codedump的电报频道 (老C)
#杂
我从1998年还在上高中的时候就开始学习编程,从小霸王学习机上的QBasic编程起步,大学后才开始学的C语言。前几年回老家,把我当年学编程买的教材带了回来,见附图。
在我刚开始学习编程的那个年代,只有一些简单的教材。在我那个小县城能买到编程书就更难了,我当时是去邮购的(“邮购”这个行为就有很强的年代感)。
所以在一开始,我学习编程就是“孤独”的:没有人指点、没有人能回答我的疑问。到了后来,有互联网之后,稍微好了一点:可以在网络上搜索问题,可以通过在论坛BBS之类的地方发帖提问(论坛、BBS这又是一个有年代感的事物)。
来到AI时代,现在我有不懂的直接问AI,AI对我来说既是老师、也是同学可以陪着我学习,如果当年有类似的东西应该就不会有那些“孤独感”了。有了AI,我甚至大部分时候都不会通过传统的买书的方式来学习新的编程知识了,另一个原因是出版远远赶不上现在新技术迭代的速度。
总而言之,我还是很羡慕现在学习编程的朋友的:资源足够充沛、答案也不再难获得,更看重个人的好奇心、提问题的能力。
我从1998年还在上高中的时候就开始学习编程,从小霸王学习机上的QBasic编程起步,大学后才开始学的C语言。前几年回老家,把我当年学编程买的教材带了回来,见附图。
在我刚开始学习编程的那个年代,只有一些简单的教材。在我那个小县城能买到编程书就更难了,我当时是去邮购的(“邮购”这个行为就有很强的年代感)。
所以在一开始,我学习编程就是“孤独”的:没有人指点、没有人能回答我的疑问。到了后来,有互联网之后,稍微好了一点:可以在网络上搜索问题,可以通过在论坛BBS之类的地方发帖提问(论坛、BBS这又是一个有年代感的事物)。
来到AI时代,现在我有不懂的直接问AI,AI对我来说既是老师、也是同学可以陪着我学习,如果当年有类似的东西应该就不会有那些“孤独感”了。有了AI,我甚至大部分时候都不会通过传统的买书的方式来学习新的编程知识了,另一个原因是出版远远赶不上现在新技术迭代的速度。
总而言之,我还是很羡慕现在学习编程的朋友的:资源足够充沛、答案也不再难获得,更看重个人的好奇心、提问题的能力。
❤2
https://pleasejusttryhtmx.com/ #web #js #statement #design
确实有些道理,主要是,npm 实在是太过分了。
你知道一个普通的静态站,九成node_modules「声明式框架」,一成真正独特的内容,是什么感觉吗? (幸好.md语言还是通用的)
你什么都掌握不了,框架只需要把900MB搬进来,然后自以为是的包揽了一切——把程序员当傻X😃
当 is-array 都需要被独立为一个有可能broken的“语义版本”依赖…… 我不知道这群脚本小子还能搞出什么好事来。
——他们用户量上的成功,真的让这群dev觉得自己比Blink还聪明,而且确实在干自己根本不了解的infra了!
#pingbk https://zerotrickpony.com/articles/browser-bugs/
https://www.htmhell.dev/adventcalendar/2025/27/#accordions-expanding-content-panels
确实有些道理,主要是,npm 实在是太过分了。
你知道一个普通的静态站,九成node_modules「声明式框架」,一成真正独特的内容,是什么感觉吗? (幸好.md语言还是通用的)
没错,硬盘越来越大了,网速越来越快,但编译和迁移越来越卡,编程出问题的可能性成倍成倍的放大了——RSC导致的shell注入就是血淋淋的例子。
你什么都掌握不了,框架只需要把900MB搬进来,然后自以为是的包揽了一切——把程序员当傻X
当 is-array 都需要被独立为一个有可能broken的“语义版本”依赖…… 我不知道这群脚本小子还能搞出什么好事来。
——他们用户量上的成功,真的让这群dev觉得自己比Blink还聪明,而且确实在干自己根本不了解的infra了!
#pingbk https://zerotrickpony.com/articles/browser-bugs/
https://www.htmhell.dev/adventcalendar/2025/27/#accordions-expanding-content-panels
Please open Telegram to view this post
VIEW IN TELEGRAM