_Kerman
180 posts

_Kerman
@KermanX_
Open Source Dev | Undergrad | @ustclug | @slidevjs Team Creator of JsShaker - state-of-the-art JS bundle optimizer
Katılım Mart 2024
202 Takip Edilen460 Takipçiler
_Kerman retweetledi

一个原生运行在浏览器中的类 Linux 操作系统。不是虚拟机,不是模拟器——而是对 Unix 的重新构想:浏览器运行时即内核,浏览器 API 即系统调用。
Lifo 这个项目挺有意思的——它在浏览器里跑了一个类 POSIX 环境。虚拟文件系统、Shell、六十多条 Unix 命令,甚至还有 Node.js兼容层。全都在浏览器沙箱里跑。
你可以把它理解成一个概念验证:Web Assembly 已经证明了浏览器能跑 C 和 Rust,Lifo 想进一步证明的是,浏览器本身就能当操作系统用。
github.com/lifo-sh/lifo

中文

想象一个场景,比如你是一个购物网站或者订票网站,你支持了 MCP,Agent 操作起来效率很高,你的竞争对手不支持,很快 Agent 用你的产品会更多,你的竞争对手就会被迫跟进。
未来 Agent 就是这些网站、Apps 的最重要用户,也是增长来源。
赖叔 | LaiShu.ai@hiheimu
@dotey 有点没想出来哪些站点愿意用这个 mcp 等于将自己暴露给 agent 来操作? 既然反抗不了,干脆闭眼享受? 有佬开开智?
中文

@_hyf0_cn @hylarucoder @MiniMax_AI npx skills add slidevjs/slidev 应该是可以的
#installation" target="_blank" rel="nofollow noopener">sli.dev/guide/work-wit…
中文

@hylarucoder @MiniMax_AI > 从 slidev 项目里面把 skill 拷贝到 .opencode/skills/ 下面
这个听着太麻烦了,直接 npx skills add 好一点。或者 bun create slidev 应该自带 skills 安装🧐
中文

推荐个好用的 skill - Antfu 佬的 slidev skill
1. 执行 bun create slidev 创建项目 我这里叫 ts-demo
2. 从 slidev 项目里面把 skill 拷贝到 .opencode/skills/ 下面.
3. 进入项目, 打开 opencode , 切换你熟悉的模型, 这里我使用的是 @MiniMax_AI 的 M2.1, 输入 「用 Slidev skills 做一个 TypeScript 泛型的 PPT,里面要带上代码例子」, 回车
紧接着,一份排版精美且兼具代码表现力的技术类 PPT 就出来了.
中文
_Kerman retweetledi

@voidzerodev @rolldown_rs Speaking of less code, JsShaker builds on oxc by @voidzerodev to achieve up to 25% size reduction on real-world apps.
Give it a try with our Vite plugin! github.com/kermanx/jsshak…
English

Who doesn't like less code in the final bundle? @rolldown_rs can remove a lot of different globals when they are side-effect free (and unused).
More than any other bundler right now, including Rollup!
And that's not the end, more tree-shaking improvements are on the way.

English

桌面端最新进展,又裁了 70M ,现在已经比 Linear 和 Figma 都小了🤯

空谷 Arvin Xu@arvin17x
LobeHub 新版桌面端 350M ,在 Electron 届应该已经是还可以的程度了🤗(对比参考:Linear 300M , Cursor 400M ,Claude 500M)
中文

@davidgu Finally JS also has some Undefined Behavior previously accessible exclusively to C++ devs!
English

Why this actually happens, from reading Chromium's source code:
1. The implementation of setTimeout creates a DOMTimer
2. The DOMTimer accepts interval as an integer, which underflows
3. The std::max(1ms, interval) returns 1ms because interval is underflowed negative

David Gu@davidgu
peak javascript moment: if you call setInterval with a timeout greater than INT_MAX, instead of throwing an error (the sane thing to do), setInterval will silently execute your callback **every millisecond**
English

@davidgu In fact, the standard explicitly states that intervals should be cast to int32 type: #windoworworkerglobalscope-mixin:dom-setinterval" target="_blank" rel="nofollow noopener">html.spec.whatwg.org/multipage/weba…
English












