即刻App年轻人的同好社区
下载
App内打开
alswl
86关注144被关注1夸夸
Code Monkey // Senior YAML Editor // 擅长江浙菜 // 公众号 窥豹
置顶
alswl
3年前
今天做了一个架构设计实践分享,总结了 20 个字:
架构看问题,
需求看⽤例,
设计看模型,
细节看时序。

观点扩展成了这篇文章:
blog.alswl.com
414
alswl
8天前
推荐一个老牌小工具:asciinema 🎬

它专门录终端操作,但不是录成视频,而是保存成很轻的文本记录。播放的时候像视频,实际内容还能复制、暂停、快进,放 README、文档、演示材料里都很舒服。

我最近做汇报演示,现场跑命令最怕两件事:网络抽风、手抖打错。后来干脆提前用 asciinema 录好一遍,汇报时直接播放,既像 live demo,又不会翻车。领导看的是效果,我保住的是血压。

这个项目也挺有意思,早期 CLI Python 写的,3.0 直接用 Rust 重写,还加了 terminal live streaming。老工具继续长新牙。

适合这些场景:

CLI demo / README 示例 / 做排障复现 / 给新人留操作说明 / 汇报时假装自己很稳 😄

终端世界里的“行车记录仪”,建议常备。
00
alswl
18天前
置身钉内我读了三遍,在这个时代 AI 写的 3000 字我都不愿意多读,而这篇 7w 多字文章我逐字看。

作者确实才女,阅读量很大,讲故事论道理,旁征博引,有料有据,图文并茂,草蛇灰线,包袱遍地。即便我看了这么多离职奇帖,这篇也是排到最前列。视角、内容、文笔均在最前。我要是文中人,也得暗暗称一下奇文。

作者确实做到茨威格上身,汉娜·阿伦特也有点这个意思。文化人真是骂人不带脏字,多处戳肺管子却还没法强势回应。
00
alswl
20天前
你知道 Linux 内核有一个 1997 年就引入的特性,让 Apple Silicon Mac 能高效运行 x86 容器吗?

它叫 binfmt_misc,Linux 2.1.43 引入,距今快 30 年了。

原理极其简单: Linux 内核在执行一个二进制文件时,会先读取文件头的 magic number。如果你提前在 /proc/sys/fs/binfmt_misc/ 注册了一条规则 —— "遇到这种 magic 的文件,交给某个解释器处理" ——
内核就会自动把执行权转交给那个解释器。和 #!/bin/bash shebang 机制本质一样,只是匹配的是二进制文件头。

最早它是用来让 Linux 直接 "运行" Java class 文件和 Windows PE 可执行文件的。后来 QEMU 利用这个机制实现了用户态跨架构模拟 —— ARM Linux 上直接执行 x86 ELF,内核自动调用 qemu-x86_64
翻译。

然后 Apple 来了。在 Apple Silicon Mac 上用 Colima / Lima 启动一个 Linux VM(使用 macOS Virtualization.framework),打开 rosetta: true 后,会发生这些事:

1. macOS 通过 virtio-fs Rosetta 翻译器二进制挂载进 Linux VM /mnt/lima-rosetta/rosetta
2. VM 内部用标准的 binfmt_misc 注册一条规则:遇到 x86_64 ELF magic (7f454c46...02003e00),交给 /mnt/lima-rosetta/rosetta 处理
3. 从此,VM 里任何 x86_64 二进制的执行都会被内核自动转交给 Rosetta 翻译

对容器来说完全透明 —— docker run --platform linux/amd64 nginx,Docker 拉下来的是 x86 镜像,容器里的进程是 x86 ELF,Linux 内核通过 binfmt_misc 自动调用 Rosetta
翻译执行。容器自己完全不知道发生了什么。

性能对比:
- Rosetta 方案:接近原生 70-90% 的性能(JIT 翻译,指令级优化)
- QEMU 全虚拟化方案:仅约 10-30%(完整模拟 x86 CPU)

一个 1997 年为了跑 Java class 文件设计的内核特性,在 2024 年成了 Apple Silicon x86 容器的关键基础设施。有时候最持久的架构决策,就是那些足够简单、足够通用的抽象。

$ colima ssh
$ cat /proc/sys/fs/binfmt_misc/rosetta
enabled
interpreter /mnt/lima-rosetta/rosetta
flags: OCF
magic 7f454c4602010100000000000000000002003e00
00
alswl
21天前
最近用 Firecrawl 挺多 🔥

它做的事很简单:把网页抓下来,清洗干净,转成 Markdown / 结构化数据。

这一步其实挺省事。很多网页直接丢给模型,里面一堆导航、广告、页脚、相关推荐,token 花了,重点没剩多少。

Firecrawl 处理完之后,可读性高很多,也更适合拿去做资料整理、知识库、agent workflow。

免费版 1000 credits,大概可以理解成:普通网页约 1000 页;如果开 JSON extraction / 增强模式,会少一些,大概几百页。

我还写了一个非官方 CLI,方便在终端里直接用:

github.com

小工具,但很实用 🧰
00
alswl
1月前
亲戚聚会有个万能公式,叫「感介祝」:
感谢 XX,介绍自己,祝福大家。

工作里其实也有一个类似公式,叫「难努险」:
遇到了什么困难,做了什么努力,还有什么风险。

很多人做周报、汇报、同步进展,只写“我做了什么”,听起来就很平。

换成「难努险」会立刻不一样:
难:这件事为什么这么难
努:我具体做了什么努力和推进
险:接下来有什么风险,可能卡在哪里

这套东西的价值在于,它把“干活”翻译成“可被理解的工作量”。
价值 5000 的职场培训小技巧,今天免费送了。
313
alswl
1月前
今天被 golangci-lint 的版本问题卡了一下,顺手看了一圈通用版本管理工具 🧰。中间甚至冒出过一个念头:这东西是不是可以让 AI 直接写一个?看完一圈还是算了,asdf 已经够用了。

它的逻辑很简单:命令先经过 ~/.asdf/shims/*,运行时再读当前目录的 .tool-versions,然后决定该用哪个版本。

所以真正容易踩的坑就一个:⚠️ ~/.asdf/shims 没进 PATH,一切都白搭。

日常记三件事就够了: 项目版本写在 .tool-versions;📦 第一次进项目跑 asdf install;🔍 which golangci-lint 要看到 ~/.asdf/shims/...。
工具不大,效率大提升。

github.com
00
alswl
1月前
最近在读《人人都是产品经理 2.0》。

核心就是一条流程:产品定义 需求 设计 执行 迭代 运营。
流程是否顺畅,直接影响结果。

AI 把“做出 70 分作品”的成本压低了,结果是到处都是看起来还不错的产品、内容和工具。

差距不在产出,而在结果:
是不是真实需求,有没有人持续用,能不能在真实环境里跑起来。 产品有没有持续运营

#Product #AI
00
alswl
1月前
三体这本书我陆陆续续看了差不多三四遍,经常回味里面有趣的情节,那些有张力精巧浩荡的故事。每次阅读也都有新发现,毕竟第一次全文阅读时候太急于求成了。

这本书是非常有意思的工具书,我对计算机工程、心理学、历史、科普都比较感兴趣,好多华点都精准踩中我。

不可多得的课后辅导书,我都有种看课外辅导书开小灶的快乐。
00
alswl
2月前
人在哪些方面 AI 无法替代。

AKA 如何避免和 AI 同赛道赛跑。
00
alswl
4月前
已经有各种神仙幻想 AI 在商业组织内部落地美好画面和各种神奇路径了。

我想了一下发展到极致,就是 7^5 规模 Agent 下面,CEO 一句 Prompt:

要好要快要便宜,大吉。
00