<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>观海听涛</title>
		<link>https://bitsflow.org/feed.xml</link>
		<description>Recent content on 观海听涛</description>
		<generator>Hugo</generator>
		<language>zh-CN</language>
		
		
		
			<copyright>bitsflow.org</copyright>
		
		
			<lastBuildDate>Fri, 07 Aug 2026 17:25:23 +0800</lastBuildDate>
		
			<atom:link href="https://bitsflow.org/feed.xml" rel="self" type="application/rss+xml" />
			<item>
				<title>个人开发者的软件革命</title>
				<link>https://bitsflow.org/engineering/software-revolution-for-personal-developer/</link>
				<pubDate>Fri, 07 Aug 2026 17:25:23 +0800</pubDate>
				<guid>https://bitsflow.org/engineering/software-revolution-for-personal-developer/</guid>
				<description>&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;类别&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;原来&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;更先进&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;容器（macOS）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Docker Desktop&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/orbstack/orbstack&#34;&gt;OrbStack&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;容器（Linux）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;docker.io&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/podman-container-tools/podman&#34;&gt;Podman&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;终端&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;iTerm2&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/ghostty-org/ghostty&#34;&gt;Ghostty&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;图形协议&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;OpenGL&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/gpuweb/gpuweb&#34;&gt;WebGPU&lt;/a&gt;: &lt;a href=&#34;https://github.com/gfx-rs/wgpu&#34;&gt;wgpu&lt;/a&gt;(Rust), &lt;a href=&#34;https://github.com/google/dawn&#34;&gt;Dawn&lt;/a&gt;(C++)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;终端编辑器&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;neovim&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/helix-editor/helix&#34;&gt;Helix&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;图形编辑器&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;VSCode&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/zed-industries/zed&#34;&gt;Zed&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;TUI 库&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;ncurses&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/ratatui/ratatui&#34;&gt;ratatui&lt;/a&gt;(Rust)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Shell&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Bash, Zsh&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/fish-shell/fish-shell&#34;&gt;Fish&lt;/a&gt;、&lt;a href=&#34;https://github.com/nushell/nushell&#34;&gt;Nushell&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;命令&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;grep, ls, cat&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/BurntSushi/ripgrep&#34;&gt;rg(ripgrep)&lt;/a&gt;, &lt;a href=&#34;https://github.com/eza-community/eza&#34;&gt;eza&lt;/a&gt;, &lt;a href=&#34;https://github.com/sharkdp/bat&#34;&gt;bat&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Python 包管理器&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;pip, conda&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/astral-sh/uv&#34;&gt;uv&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Node.js 包管理器&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;npm, yarn&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;a href=&#34;https://github.com/pnpm/pnpm&#34;&gt;pnpm&lt;/a&gt;, &lt;a href=&#34;https://github.com/oven-sh/bun&#34;&gt;bun&lt;/a&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;</description>
			</item>
			<item>
				<title>「什麼」为什么会变成「什幺」</title>
				<link>https://bitsflow.org/engineering/opencc-chrome-extension-parse-bug/</link>
				<pubDate>Tue, 04 Aug 2026 19:54:20 +0800</pubDate>
				<guid>https://bitsflow.org/engineering/opencc-chrome-extension-parse-bug/</guid>
				<description>&lt;p&gt;给自 FORK 的 &lt;a href=&#34;https://github.com/weaming/opencc-extension&#34;&gt;简繁转换浏览器扩展 opencc-extension&lt;/a&gt; 升级 &lt;a href=&#34;https://github.com/nk2028/opencc-js&#34;&gt;opencc-js&lt;/a&gt; 之后，我发现繁体页面自动转换后出现了「什幺」这种字。我第一反应是不信——「什麼」转简体怎么会变成「什幺」？「幺」和「么」明明是两个字。&lt;/p&gt;&#xA;&lt;h2 id=&#34;复现&#34;&gt;复现&lt;/h2&gt;&#xA;&lt;p&gt;直接调转换函数，单次转换是对的：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;「什麼」→ tw2cn →「什么」  ✓&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;但再转一次就坏了：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;「什么」→ tw2cn →「什幺」  ✗&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;也就是说转换不幂等。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;为什么会有第二次转换？&lt;/strong&gt; 扩展的 &lt;code&gt;auto&lt;/code&gt; 模式实现很简单：监听 &lt;code&gt;DOM&lt;/code&gt; 变化，一有动静就把整页所有文本节点重新转一遍。现代网页几乎必然有动态内容（懒加载、广告、交互渲染），所以第二次转换几乎必然发生——第一次把页面变成简体，第二次又把简体文本喂进同一条链，「什么」就变成了「什幺」。浏览器里看着就像页面被转坏了。&lt;/p&gt;&#xA;&lt;p&gt;不过这里得说清楚，&lt;strong&gt;这不完全是重复转换的问题&lt;/strong&gt;。就算只转一次，「什么」也会变成「什幺」——在 &lt;code&gt;popup&lt;/code&gt; 的文本框里输入简体选 &lt;code&gt;tw2cn&lt;/code&gt;，或者打开一个简体页面（&lt;code&gt;lang=zh-CN&lt;/code&gt;）第一次转换，都是一次就坏。重复转换只是把「偶尔错」放大成「必然错」，根子还是转换链对简体输入不设防。&lt;/p&gt;&#xA;&lt;h2 id=&#34;定位&#34;&gt;定位&lt;/h2&gt;&#xA;&lt;p&gt;opencc-js 的 &lt;code&gt;tw2cn&lt;/code&gt; 走的是官方 &lt;code&gt;tw2s&lt;/code&gt; 配置：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;TWVariantsRevPhrases → TWVariantsRev → TSPhrases → TSCharacters&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;分阶段跑一遍，破坏发生在第二步 &lt;code&gt;TWVariantsRev&lt;/code&gt;。这个词典只有 42 条，作用是把台湾标准字形归一到 OpenCC 标准字形，里面赫然躺着一条：&lt;/p&gt;&#xA;&lt;pre tabindex=&#34;0&#34;&gt;&lt;code&gt;么  幺&#xA;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;简体的「么」恰好命中了这条台湾字形归一规则。更麻烦的是它不可逆：后续的 &lt;code&gt;TS&lt;/code&gt; 阶段里「幺」没有反向条目（「幺」在繁简里字形相同），所以「什幺」一旦产生就回不去。对比一下其他条目，「才→纔」转错之后 &lt;code&gt;TS&lt;/code&gt; 阶段有「纔→才」能纠正回来，唯独「么」这条没有后路。&lt;/p&gt;&#xA;&lt;h2 id=&#34;再挖一层&#34;&gt;再挖一层&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;TWVariantsRev.txt&lt;/code&gt; 文件头写着一行注释：&lt;code&gt;Generated from TWVariants.txt&lt;/code&gt;。也就是说这个反向词典是构建脚本从正向词典自动反转出来的，&lt;code&gt;TWVariants.txt&lt;/code&gt; 里对应的是「幺→么」。&lt;/p&gt;&#xA;&lt;p&gt;这条目本身有没有道理？「幺」和「么」在古籍和现代规范中存在复杂的正异体关系，台湾实际用字也会用「么」表示 &lt;code&gt;yāo&lt;/code&gt;。因此「幺→么」作为台湾区域转换有其依据；问题在于它反转成「么→幺」之后，被用在了 &lt;code&gt;tw2s&lt;/code&gt; 这条链上，而链上的词典对输入形态完全不设防。具体的读音、地区和字形关系见文末表格。&lt;/p&gt;&#xA;&lt;p&gt;顺带发现：&lt;code&gt;TWVariantsRevPhrases&lt;/code&gt; 里其实已经有大量自映射保护条目，比如「人才 人才」「顯著 顯著」，就是为了防止字符级词典误转高频词。但「什么」「怎么」「这么」「那么」「多么」这些最高频的简体词全都不在保护名单里。&lt;/p&gt;&#xA;&lt;h2 id=&#34;词典是怎么组织的&#34;&gt;词典是怎么组织的&lt;/h2&gt;&#xA;&lt;p&gt;查到这里，我把 opencc 的词典体系整个捋了一遍，后面修复的时候这些关系都用得上。&lt;/p&gt;&#xA;&lt;h3 id=&#34;命名规则&#34;&gt;命名规则&lt;/h3&gt;&#xA;&lt;p&gt;&lt;code&gt;opencc-data&lt;/code&gt; 的 &lt;code&gt;data/&lt;/code&gt; 目录下有一堆 txt，按两个维度切分，命名很直白：&lt;/p&gt;</description>
			</item>
			<item>
				<title>白噪音视频压缩：保留片头字幕，静态背景降帧</title>
				<link>https://bitsflow.org/engineering/soundscape-video-compression/</link>
				<pubDate>Tue, 04 Aug 2026 00:00:00 +0800</pubDate>
				<guid>https://bitsflow.org/engineering/soundscape-video-compression/</guid>
				<description>&lt;p&gt;我有一段四十二分钟的&lt;a href=&#34;https://www.bilibili.com/video/BV1gi7e6tE16/&#34;&gt;白噪音视频&lt;/a&gt;。声音是下雨的现场录音，画面是一张静态背景图；只有片头十几秒的字幕会动，后面基本就是同一张图。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;目标很简单：片头字幕要保留，后面的背景没必要每秒存 16 张；音频也不能为了省空间转成低码率 AAC。&lt;/strong&gt; 于是做了一个小工具，用来找出字幕在哪一段，再分别处理字幕和背景。&lt;/p&gt;&#xA;&lt;h2 id=&#34;先看原文件&#34;&gt;先看原文件&lt;/h2&gt;&#xA;&lt;p&gt;动手前先确认原视频到底有多大、帧率和音频是什么。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;$ soundscape-video-compressor analysis ~/录音/2026-05-21雨声/公园雨夜.mov&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;0.000s ~ 2509.562s: 16.000 FPS, 14.983 Mbps&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;TOTAL: &lt;span class=&#34;m&#34;&gt;40153&lt;/span&gt; frames, 16.000 FPS, 14.983 Mbps&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;AUDIO: pcm_s24le/s32, &lt;span class=&#34;m&#34;&gt;48000&lt;/span&gt; Hz, stereo, 24-bit, 2.304 Mbps, 722.754 MB, 13.321% of file&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;画面全程 16 FPS，使用 HEVC（H.265）视频编码，平均码率接近 &lt;code&gt;15 Mbps&lt;/code&gt;，一共有 &lt;code&gt;40,153&lt;/code&gt; 帧。音频是 48kHz、双声道、24-bit PCM，也就是没有压缩过的采样数据，单独就有 &lt;code&gt;722.754 MB&lt;/code&gt;；只是原视频更大，所以它在文件里只占 13%。&lt;/p&gt;&#xA;&lt;p&gt;这也说明不能只把 HEVC 的质量参数调低。那样编码器还是会反复编码同一张背景图，音频的体积也完全没动。&lt;/p&gt;&#xA;&lt;h2 id=&#34;只找片头字幕&#34;&gt;只找片头字幕&lt;/h2&gt;&#xA;&lt;p&gt;&lt;strong&gt;我并不需要识别“这是不是雨”或“这是不是字幕”。&lt;/strong&gt; 这张背景图不动，只要找出哪些帧明显不同于背景噪点，就能大致框出字幕出现和消失的时间。&lt;/p&gt;&#xA;&lt;p&gt;检测时，视频先缩到默认宽度 &lt;code&gt;320&lt;/code&gt;，转成灰度，再以默认 &lt;code&gt;4 FPS&lt;/code&gt; 读取。相邻两帧逐像素比较：亮度差超过 &lt;code&gt;3&lt;/code&gt; 的像素算作变化；用平均亮度差和变化像素比例计算一个分数。&lt;/p&gt;&#xA;&lt;p&gt;阈值是动态的，先取所有分数的中位数，再计算 MAD（中位数绝对偏差，可以理解成背景噪点通常有多大），最后用下面的值判断是否发生变化：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;中位数 + sensitivity × max(MAD, 0.02)&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;默认 &lt;code&gt;sensitivity&lt;/code&gt; 为 6。这样背景里的压缩噪点不容易被误当成字幕。检测出的短片段会跳过，相隔很近的片段会合并，也可以在边界前后补一点时间。&lt;/p&gt;</description>
			</item>
			<item>
				<title>Iosevka 字体定制全流程</title>
				<link>https://bitsflow.org/engineering/iosevka-custom-font/</link>
				<pubDate>Sun, 02 Aug 2026 21:30:00 +0800</pubDate>
				<guid>https://bitsflow.org/engineering/iosevka-custom-font/</guid>
				<description>&lt;h2 id=&#34;缘起typeofnet-的三篇数学文章&#34;&gt;缘起：typeof.net 的三篇数学文章&lt;/h2&gt;&#xA;&lt;p&gt;一切始于 &lt;a href=&#34;https://typeof.net/&#34;&gt;typeof.net&lt;/a&gt;，Iosevka 作者李仁智（be5invis）的个人博客。三篇文章满屏公式，足以劝退点进来的普通读者，但拆开看，它们其实都在讲同一件事：&lt;strong&gt;可变字体（Variable Fonts，OpenType Font Variations）&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;传统字体&lt;/strong&gt;：细体、常规体、粗体要画三套完全不同的字形文件（ttf/otf）；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;可变字体&lt;/strong&gt;：只画一套基础字形，再指定几个&amp;quot;轴&amp;quot;（字重轴、字宽轴、倾斜轴），拖动滑块字体就像橡皮泥一样平滑变形。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;官方标准（微软、Adobe 等）用的是&lt;strong&gt;线性插值&lt;/strong&gt;——字体的变化&amp;quot;直来直去&amp;quot;，中间状态会扭曲难看。作者用三篇文章一步步挑战这个现状：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://typeof.net/2019/analyzing-variation-model/&#34;&gt;Analyzing Variation Models&lt;/a&gt;&lt;/strong&gt;（2019）：先把问题说清楚——把官方线性模型的局限用代数公式精确建模。好比让一个圆变成方，官方做法是直接把边缘直线拉伸，中间状态必然歪七扭八。作者把这种&amp;quot;不自然&amp;quot;写成公式，为后面的改进铺路；&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://typeof.net/2021/on-hoi-and-nli/&#34;&gt;On High-order Interpolation and Non-linear Interpolation&lt;/a&gt;&lt;/strong&gt;（2021）：看清问题后开始动手改造：官方标准只允许乘法运算（轴与轴的乘积）、不允许平方，作者就&amp;quot;骗&amp;quot;一下电脑——建立两个数值同步的轴（v₀ = v₁ = t），v₀ × v₁ 在数学上悄悄实现了 t²。不用改任何渲染引擎，字体就能沿着二次曲线平滑过渡，从&amp;quot;直来直去&amp;quot;升级成&amp;quot;会拐弯&amp;quot;；&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&#xA;&lt;p&gt;&lt;strong&gt;&lt;a href=&#34;https://typeof.net/2022/integrations-of-variable-values/&#34;&gt;Integrals of variable values&lt;/a&gt;&lt;/strong&gt;（2022）：字体终于能&amp;quot;拐弯&amp;quot;之后，作者继续追问：任意瞬间它的面积（&amp;ldquo;墨水消耗量&amp;rdquo;）和边界怎么算？这直接决定了字体变粗变细时视觉重量是否均匀，也让文字沿曲线排版的动画严丝合缝。&lt;/p&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这些研究最终落到了 Iosevka 身上：&lt;strong&gt;它的字形是从代码生成的&lt;/strong&gt;——&lt;a href=&#34;https://github.com/be5invis/Iosevka&#34;&gt;GitHub 主页&lt;/a&gt; 那句 &lt;em&gt;&amp;ldquo;Versatile typeface for code, from code.&amp;rdquo;&lt;/em&gt; 说的就是这个意思。&lt;/p&gt;&#xA;&lt;h2 id=&#34;iosevka-是什么&#34;&gt;Iosevka 是什么&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;极致的瘦&lt;/strong&gt;：等宽家族默认字符宽度只有 &lt;strong&gt;1/2 em&lt;/strong&gt;，同屏能塞下比其他编程字体多约 20% 的代码列数；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;消灭混淆&lt;/strong&gt;：&lt;code&gt;1&lt;/code&gt;、&lt;code&gt;I&lt;/code&gt;、&lt;code&gt;l&lt;/code&gt;、&lt;code&gt;0&lt;/code&gt;、&lt;code&gt;O&lt;/code&gt; 等盲区字符全部通过字形变体拉开差距（名字首字母是 I 不是 l，本身就是个活招牌）；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;任意定制&lt;/strong&gt;：144 个可配置字符 × 19 种样式集（Stylistic Sets，可一键&amp;quot;高仿&amp;quot; Consolas / Menlo / Source Code Pro / JetBrains Mono 等）。不想手写 TOML 的话，官网有 &lt;a href=&#34;https://typeof.net/Iosevka/customizer&#34;&gt;网页定制器&lt;/a&gt;，挑选字形变体后生成对应的 &lt;code&gt;private-build-plans.toml&lt;/code&gt; 配置；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;活跃维护&lt;/strong&gt;：2026 年 8 月已发布到 &lt;strong&gt;v34.8.0&lt;/strong&gt;，累计 425 次 Releases，GitHub 22.6k+ stars；&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;衍生生态&lt;/strong&gt;：与思源黑体融合出 &lt;strong&gt;更纱黑体（Sarasa Gothic）&lt;/strong&gt; 解决中英文混排对齐；Nerd Fonts 官方仓库长期维护打好图标补丁的版本。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;家族有 6 个等宽子系列 + 2 个比例系列：默认版、&lt;code&gt;Term&lt;/code&gt;（终端）、&lt;code&gt;Fixed&lt;/code&gt;（无连字）各带一个粗衬线的 &lt;code&gt;Slab&lt;/code&gt; 版（如 &lt;code&gt;Iosevka Slab&lt;/code&gt;），外加 &lt;code&gt;Iosevka Aile / Etoile&lt;/code&gt; 两个网页正文用的准比例字体。顺带一提，Iosevka 这个名字取自《血源诅咒》的 NPC 约瑟夫卡（Iosefka）——斯拉夫语里给&amp;quot;约瑟夫&amp;quot;加上昵称后缀 -ka，作者起名时显然没走严肃路线。&lt;/p&gt;</description>
			</item>
			<item>
				<title>魔法、高山与电场控场：一文读懂半导体核心元件的“改命”史</title>
				<link>https://bitsflow.org/ai/pn-junction-bjt-mosfet/</link>
				<pubDate>Sun, 02 Aug 2026 16:48:43 +0800</pubDate>
				<guid>https://bitsflow.org/ai/pn-junction-bjt-mosfet/</guid>
				<description>&lt;p&gt;如果把现代科技比作一座摩天大楼，那“半导体”就是砌成这座大楼的每一块砖。&lt;/p&gt;&#xA;&lt;p&gt;你手里的手机、电脑，甚至路边的充电桩，之所以能进行复杂的计算、发出无线信号，本质上都依赖于三种微观的“控电魔法”：PN 结、晶体管（BJT）和场效应管（MOSFET）。&lt;/p&gt;&#xA;&lt;p&gt;今天，我们脱离晦涩的课本公式，用最直观、最硬核的微观视角，一口气看懂这三代核心元件是如何一步步颠覆世界的。&lt;/p&gt;&#xA;&lt;h2 id=&#34;-预备课五个关键词把看不懂拦在门外&#34;&gt;🔑 预备课：五个关键词，把&amp;quot;看不懂&amp;quot;拦在门外&lt;/h2&gt;&#xA;&lt;h3 id=&#34;1-价电子决定元素导电性的角色&#34;&gt;1. 价电子——决定元素导电性的角色&lt;/h3&gt;&#xA;&lt;p&gt;原子由原子核与绕核的电子构成，其中&lt;strong&gt;最外层、参与原子间结合的电子称为价电子&lt;/strong&gt;，元素的化学与导电特性主要由它决定。&lt;/p&gt;&#xA;&lt;p&gt;硅是元素周期表第 &lt;strong&gt;14 号&lt;/strong&gt;元素，有 &lt;strong&gt;4 个价电子&lt;/strong&gt;。纯硅晶格中，每个硅原子与周围 4 个硅原子各共享 1 个价电子，形成稳定的&lt;strong&gt;共价键&lt;/strong&gt;。每个价电子都被共价键&amp;quot;锁定&amp;quot;，几乎没有可以自由移动的载流子，所以纯净的硅导电性很差——这正是&amp;quot;半导体&amp;quot;名称的由来。&lt;/p&gt;&#xA;&lt;h3 id=&#34;2-掺杂往晶格里掺入多一个或少一个电子&#34;&gt;2. 掺杂——往晶格里掺入&amp;quot;多一个&amp;quot;或&amp;quot;少一个&amp;quot;电子&lt;/h3&gt;&#xA;&lt;p&gt;为了改变硅的导电性，工业上会人为掺入少量特定杂质原子，这个过程叫&lt;strong&gt;掺杂&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;掺&lt;strong&gt;磷&lt;/strong&gt;（第 &lt;strong&gt;15&lt;/strong&gt; 号元素，5 个价电子）：磷原子顶替硅原子的位置，4 个价电子参与共价键，&lt;strong&gt;多出的 1 个电子&lt;/strong&gt;没有键可成，成为自由移动的载流子 → 电子富余的 &lt;strong&gt;N 型&lt;/strong&gt;半导体&lt;/li&gt;&#xA;&lt;li&gt;掺&lt;strong&gt;硼&lt;/strong&gt;（第 &lt;strong&gt;5&lt;/strong&gt; 号元素，3 个价电子）：共价键&lt;strong&gt;缺 1 个电子&lt;/strong&gt;，留下一个空位 → 空穴富余的 &lt;strong&gt;P 型&lt;/strong&gt;半导体&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;后文的所有元件，都是在 N 型、P 型这两种&amp;quot;改性&amp;quot;硅的基础上做文章。&lt;/p&gt;&#xA;&lt;h3 id=&#34;3-空穴共价键上的空位等效的正电荷载流子&#34;&gt;3. 空穴——共价键上的空位，等效的正电荷载流子&lt;/h3&gt;&#xA;&lt;p&gt;电子离开价键后留下的空位称为&lt;strong&gt;空穴&lt;/strong&gt;。相邻键上的电子跃迁过来补位，空位便随之&amp;quot;移动&amp;quot;——宏观上，空穴可以当作一个带正电的载流子（物理上称准粒子）。P 型半导体的导电，就是空穴在晶格中接力迁移的结果。需要注意的是，空穴的迁移率低于电子，因此依赖电子导电的 N 型器件通常比 P 型更快。&lt;/p&gt;&#xA;&lt;h3 id=&#34;4-电压与电场载流子的驱动力&#34;&gt;4. 电压与电场——载流子的驱动力&lt;/h3&gt;&#xA;&lt;p&gt;&lt;strong&gt;电压&lt;/strong&gt;是两点间的电势差，是电荷运动的驱动力。&lt;strong&gt;电场&lt;/strong&gt;是电势在空间中的梯度，对电荷施力：正电荷沿电场方向受力，电子（负电荷）受力方向与之相反。掌握这一条，后文&amp;quot;内建电场从 N 区指向 P 区&amp;quot;这类表述就有了统一的解读工具。&lt;/p&gt;&#xA;&lt;h3 id=&#34;5-电流载流子的定向输运&#34;&gt;5. 电流——载流子的定向输运&lt;/h3&gt;&#xA;&lt;p&gt;载流子（电子或空穴）的定向移动即电流。约定俗成上，电流方向与电子移动方向相反（与空穴移动方向一致），但这不影响理解——只需记住：&lt;strong&gt;有电流，就有载流子在流动&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;-序章两层物质的世纪握手--pn结&#34;&gt;🚀 序章：两层物质的世纪握手 —— PN结&lt;/h2&gt;&#xA;&lt;p&gt;一切故事的起点，源于两种被“动了手脚”的纯净硅晶体：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;P 型半导体：掺了杂质，里面空位极多，这些空位叫空穴（带正电倾向）。&lt;/li&gt;&#xA;&lt;li&gt;N 型半导体：掺了杂质，里面自由飞翔的电子极多（带负电倾向）。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;当这两种半导体紧紧粘在一起的瞬间，微观世界的奇迹发生了：&lt;/p&gt;</description>
			</item>
			<item>
				<title>哥德尔编码与自指：从数学的不可证明到 Python 的死循环</title>
				<link>https://bitsflow.org/think/godel-numbering/</link>
				<pubDate>Sun, 02 Aug 2026 03:30:59 +0800</pubDate>
				<guid>https://bitsflow.org/think/godel-numbering/</guid>
				<description>&lt;p&gt;在数学与逻辑学界，曾有过一次毁灭性的灾难：希尔伯特想用纯粹的机械算术统治宇宙，而哥德尔与图灵用一个“发身份证号”与“纯函数取反”的魔术，彻底炸毁了完美数学大厦的梦想。&lt;/p&gt;&#xA;&lt;p&gt;今天，我们不用枯燥的经院哲学，直接用现代程序员最熟悉的“代码即数据”视角，将这场科技史上最惊艳的逻辑大解密层层拆解。&lt;/p&gt;&#xA;&lt;h2 id=&#34;一-降维打击给公式发身份证号&#34;&gt;一、 降维打击：给公式发身份证号&lt;/h2&gt;&#xA;&lt;p&gt;在现代计算机里，视频、文本、代码，在底层都是一串 0 和 1 的数字。这种“万物皆数字”的极客思想，其实是 1931 年数学家哥德尔玩剩下的。&#xA;当时的数学系统非常单纯，只懂加减乘除，根本不懂什么是“逻辑”，什么是“对错”。为了让数学系统能够“评论自己”，哥德尔发明了哥德尔编码（Gödel numbering）。&#xA;这就像是给数学公式发“身份证号”：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;符号变数字：规定 0 对应 1，S 对应 2，= 对应 3……&lt;/li&gt;&#xA;&lt;li&gt;公式变序列：任何复杂的公式，都变成了一串数字序列。&lt;/li&gt;&#xA;&lt;li&gt;质数大融合：利用“算术基本定理”，用质数（2, 3, 5, 7&amp;hellip;）做底数，公式序列做指数，全部乘起来。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;$$\text{G}(\text{“0=0”}) = 2^1 \times 3^3 \times 5^1 = 270$$&lt;/p&gt;&#xA;&lt;p&gt;核心唯一性：因为质因数分解的唯一性，这个身份证号绝对不会撞号，而且完美可逆。拿着这个唯一的数字，你就能毫无差错地还原出原本的公式文本。&lt;/p&gt;&#xA;&lt;h2 id=&#34;二-核心矛盾循环代入的体积爆炸&#34;&gt;二、 核心矛盾：循环代入的“体积爆炸”&lt;/h2&gt;&#xA;&lt;p&gt;有了身份证号，数学系统就可以通过谈论“数字”，来间接谈论“公式”了。&#xA;如果我们想在系统里构造一个自指悖论（说谎者悖论）——“我这个公式，是无法被证明的。”&#xA;你可能会想，我们先写一个带自变量 $x$ 的定理图纸 $P(x)$，它的意思是：“编号为 $x$ 的公式无法被证明”。&#xA;然后我们把这张图纸送去编码，得到它的身份证号，假设是 $d = \text{G}(P(x))$。&#xA;接着，如果我们试图把这个号填回它自己里面，去计算 $\text{G}(P(d))$……&#xA;危机发生了：这个 $P(d)$ 因为在文本里包含了一个巨大的数字 $d$，导致它本身的哥德尔编码变成了另一个大得多的数字 $n_1$。如果你试图把 $n_1$ 再带入，文本会变成 $P(n_1)$，编码会变成更大的 $n_2$……&#xA;这是一个永远在膨胀的递归深渊：&lt;/p&gt;&#xA;&lt;p&gt;$$d \rightarrow P(d) \rightarrow n_1 \rightarrow P(n_1) \rightarrow n_2 \rightarrow \dots$$&lt;/p&gt;</description>
			</item>
			<item>
				<title>扒了 590 个模型的公开数据，挑出真正值得用的几个</title>
				<link>https://bitsflow.org/ai/pick-llm-by-value/</link>
				<pubDate>Sat, 01 Aug 2026 22:40:00 +0800</pubDate>
				<guid>https://bitsflow.org/ai/pick-llm-by-value/</guid>
				<description>&lt;p&gt;想找个便宜又能打的模型跑日常脚本，发现各家定价和 benchmark 散在十几个页面，没法横向比。Artificial Analysis 有免费 API，注册拿 key 就能整包拉数据。我拉了 590 条，写脚本按需求重排了一遍。&lt;/p&gt;&#xA;&lt;h2 id=&#34;一句话结论&#34;&gt;一句话结论&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;全能性价比之王：&lt;code&gt;DeepSeek V4 Flash 0731&lt;/code&gt;。编程 69.1、智能 49.9、自动化 82.0，价格 &lt;code&gt;$0.17/M&lt;/code&gt;。日常高频任务直接用它。&lt;/li&gt;&#xA;&lt;li&gt;顶级编程力、不想花旗舰的钱：&lt;code&gt;GPT-5.6 Terra (max)&lt;/code&gt;，编程 76.7，&lt;code&gt;$4.5/M&lt;/code&gt;，旗舰的一半。&lt;/li&gt;&#xA;&lt;li&gt;便宜的大批量编码：&lt;code&gt;GPT-5.6 Luna (max)&lt;/code&gt;，编程 71.4，&lt;code&gt;$0.45/M&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;关键 agent 任务：&lt;code&gt;GLM-5.2 (max)&lt;/code&gt;，自动化 84.6，&lt;code&gt;$2.15/M&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;数据口径&#34;&gt;数据口径&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;接口：&lt;code&gt;GET https://artificialanalysis.ai/api/v2/data/llms/models&lt;/code&gt;，请求头带 &lt;code&gt;x-api-key&lt;/code&gt;，免费额度每天 1000 次。&lt;/li&gt;&#xA;&lt;li&gt;590 条记录里同一底模有多个配置。我按「模型名 + 厂商」去重，每组只留智能指数最高的一条。&lt;/li&gt;&#xA;&lt;li&gt;同时有智能、编程、价格的有 160 条，去重后 123 个。下面的榜基于这 123 个。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;三点口径，先说清楚：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;价格是&lt;strong&gt;混合价&lt;/strong&gt;（&lt;code&gt;$/M token&lt;/code&gt;，3:1 输入输出折算），不是真实账单。真实账单还看缓存、batch 折扣、代理商。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;intelligence_index&lt;/code&gt;、&lt;code&gt;coding_index&lt;/code&gt; 是 Artificial Analysis 的自研综合分。比趋势可以，&lt;strong&gt;别把 1~2 分当严格胜负&lt;/strong&gt;。&lt;/li&gt;&#xA;&lt;li&gt;自动化分是我自己拼的，见下文。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;编程&#34;&gt;编程&lt;/h2&gt;&#xA;&lt;p&gt;纯编程力榜（&lt;code&gt;coding_index&lt;/code&gt;）：&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;模型&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;厂商&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;智能&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;编程&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;价$/M&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;输出tps&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Claude Opus 5 (Adaptive, Max)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Anthropic&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;60.7&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;78.0&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;10&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;57&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;GPT-5.6 Sol (max)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;OpenAI&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;58.9&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;77.4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;11.25&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;68&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;GPT-5.6 Terra (max)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;OpenAI&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;55.0&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;76.7&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;4.50&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;132&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Claude Fable 5 (Adaptive, Max)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Anthropic&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;59.9&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;76.5&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;20&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;63&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Kimi K3 (max)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Kimi&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;57.1&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;76.2&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;6&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;34&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Grok 4.5 (high)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;SpaceXAI&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;53.8&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;72.4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;3&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;54&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;GPT-5.6 Luna (max)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;OpenAI&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;51.2&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;71.4&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0.45&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;172&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Gemini 3.5 Flash (high)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Google&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;50.2&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;70.1&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;3.38&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;220&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;DeepSeek V4 Flash 0731 (Reasoning, Max)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;DeepSeek&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;49.9&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;69.1&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0.17&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;-&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;编程力和价格基本正交。前两名的 &lt;code&gt;Claude Opus 5&lt;/code&gt;、&lt;code&gt;GPT-5.6 Sol&lt;/code&gt; 强，但 &lt;code&gt;$10~11/M&lt;/code&gt;。难的重构、架构、跨仓库调试，这钱该花。&lt;/p&gt;</description>
			</item>
			<item>
				<title>摩托车事故归因分析报告</title>
				<link>https://bitsflow.org/think/motor-accident-analysis/</link>
				<pubDate>Mon, 20 Jul 2026 12:32:45 +0800</pubDate>
				<guid>https://bitsflow.org/think/motor-accident-analysis/</guid>
				<description>&lt;p&gt;本报告基于孟加拉摩托车事故严重程度数据（15,102 条）、孟加拉多源交通事故数据（47,681 条，2007–2021）和美国 FARS 致命事故数据（45,286 条），从骑手特征、行为模式、道路环境、时间趋势、碰撞类型等维度分析摩托车事故的关键归因因素。&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;⚠️ &lt;strong&gt;方法说明&lt;/strong&gt;：本文核心严重程度数据来自孟加拉警方警务记录，这意味着数据集存在选择性偏差——未造成人员受伤或财产损失的轻微擦碰通常私了解决，不会进入官方记录。因此，数据集的&amp;quot;未受伤&amp;quot;组本质上是&amp;quot;达到报案门槛但人未受伤&amp;quot;的子集，而非全部未受伤事故。模型预测的严重程度适用于&amp;quot;已报警事故&amp;quot;，在泛化到所有事故时需注意此边界。&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;h2 id=&#34;一数据源介绍&#34;&gt;一、数据源介绍&lt;/h2&gt;&#xA;&lt;h3 id=&#34;11-孟加拉摩托车事故严重程度数据集核心数据&#34;&gt;1.1 孟加拉摩托车事故严重程度数据集（核心数据）&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;记录数&lt;/strong&gt;：15,102 条，21 个字段&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;年份范围&lt;/strong&gt;：数据集中无年份字段，无法确定具体时间范围&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;事故严重程度分布&lt;/strong&gt;：严重 4650 例（30.8%）、中度 5350 例（35.4%）、未受伤 5100 例（33.8%）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;数值字段概览&lt;/strong&gt;：&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;字段&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;含义&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;范围（均值）&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;骑手年龄&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;年龄（岁）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;15–70（36）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;驾驶经验&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;骑行年数&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0–30（7）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;日均里程&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;每日骑行距离（km）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;0–150（41）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;骑行速度&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;事故时速度（km/h）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;20–120（83）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;限速&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;道路限速（km/h）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;40–80（67）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;交通密度&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1（稀疏）–8（拥堵）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1–8（4）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;涉事车辆数&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;事故中车辆数量&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1–8（3）&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;饮酒比例&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;是否饮酒&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;17% 饮酒&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;12-fars-美国致命事故系统&#34;&gt;1.2 FARS 美国致命事故系统&lt;/h3&gt;&#xA;&lt;p&gt;美国国家公路交通安全管理局（NHTSA）的致命事故报告系统（Fatality Analysis Reporting System，FARS），收录全美所有涉及人员死亡的交通事故记录。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;记录数&lt;/strong&gt;：45,286 条，39 个字段&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;年份范围&lt;/strong&gt;：数据集中无事故发生年份字段，无法确定具体时间范围&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;摩托车相关&lt;/strong&gt;：4865 条（10.7%）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;驾驶员因素&lt;/strong&gt;：超速 1198 例、酒驾 1748 例、其他 1919 例&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;13-孟加拉多源交通事故集时间趋势--碰撞类型&#34;&gt;1.3 孟加拉多源交通事故集（时间趋势 + 碰撞类型）&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;记录数&lt;/strong&gt;：47,681 条，其中摩托车相关 46031 条（96.5%）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;时间跨度&lt;/strong&gt;：2007–2021 年（15 年连续数据）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;碰撞类型&lt;/strong&gt;：含涉事车辆信息（卡车-摩托车碰撞占 99%）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;事故严重度&lt;/strong&gt;：死亡 / 重伤 / 轻伤 / 财产损失 四级&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;&lt;strong&gt;说明&lt;/strong&gt;：所有数据集均不包含摩托车排量（cc）和车型分类（仿赛/街车/ADV）字段，分析中以速度、车辆状况等字段间接推断。&lt;/p&gt;</description>
			</item>
			<item>
				<title>清泉古寺和包禾塘彩色屋</title>
				<link>https://bitsflow.org/gallery/2026-07-09/</link>
				<pubDate>Thu, 09 Jul 2026 18:54:38 +0800</pubDate>
				<guid>https://bitsflow.org/gallery/2026-07-09/</guid>
				<description>&lt;h2 id=&#34;清泉古寺&#34;&gt;清泉古寺&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/001.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/002.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/003.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/004.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/005.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/006.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/007.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/008.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/009.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/0010.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;包禾塘&#34;&gt;包禾塘&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/0011.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/0012.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/0013.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/0014.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/0015.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260709/0016.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;</description>
			</item>
			<item>
				<title>用例子告诉你为什么要拥抱 HDR 照片</title>
				<link>https://bitsflow.org/gallery/why-hdr/</link>
				<pubDate>Fri, 12 Jun 2026 00:44:44 +0800</pubDate>
				<guid>https://bitsflow.org/gallery/why-hdr/</guid>
				<description>&lt;p&gt;&lt;strong&gt;以下照片均使用我开发的 &lt;a href=&#34;https://github.com/weaming/raw-kit&#34;&gt;RawKit.app&lt;/a&gt; 处理后导出，格式是 AVIF。&lt;/strong&gt; 导出质量选择 70% 绰绰有余。&lt;/p&gt;&#xA;&lt;p&gt;AVIF（AV1 Image File Format）是一种由开放媒体联盟（AOM）开发的开源新一代图像格式。它基于先进的 AV1 视频编码技术，凭借超高压缩率、卓越的画质细节、广泛的特性支持，正逐渐成为替代 JPEG、PNG 甚至 GIF 的理想选择。&lt;/p&gt;&#xA;&lt;p&gt;劣势是在苹果相册解析有点延迟，不如 HEIC；优点是用作网络分发比较适合。&lt;strong&gt;RawKit 支持这两种格式，和其他更多格式。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;avif-核心优势&#34;&gt;AVIF 核心优势&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;体积更小：在同等画质下，文件体积比 JPEG 小 50% 左右，比 WebP 也更轻量。&lt;/li&gt;&#xA;&lt;li&gt;画质更优：高压缩比下画面细节保留更完整，噪点和压缩痕迹更少。&lt;/li&gt;&#xA;&lt;li&gt;全功能支持&#xA;&lt;ul&gt;&#xA;&lt;li&gt;支持透明度通道（替代 PNG）&lt;/li&gt;&#xA;&lt;li&gt;支持动画（替代 GIF / WebP 动图）&lt;/li&gt;&#xA;&lt;li&gt;支持 HDR（高动态范围） 与 10/12 位色彩&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;完全免费：开源免版税，无专利授权费用。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;提醒-&#34;&gt;提醒 ⚠️&lt;/h2&gt;&#xA;&lt;p&gt;要查看 HDR 照片达到最好的效果，请把设备亮度拉高或拉到最亮，同时关闭护眼模式（iPhone上是「夜览」）。对于 iPhone，还要关闭“降低白点值”开关。&lt;/p&gt;&#xA;&lt;h2 id=&#34;电脑cg&#34;&gt;电脑CG&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/cg-1.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/cg-2.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;晴天&#34;&gt;晴天&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/sunny-1.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/sunny-2.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/sunny-3.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/sunny-4.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/sunny-5.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/sunny-6.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/sunny-7.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/sunny-8.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/sunny-9.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;阴天&#34;&gt;阴天&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/cloudy-1.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/cloudy-2.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/cloudy-3.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/cloudy-4.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;夜晚&#34;&gt;夜晚&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/night-1.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/hdr-samples/night-2.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;</description>
			</item>
			<item>
				<title>AI裁员潮背后的问题</title>
				<link>https://bitsflow.org/ai/humans-and-ai-at-work/</link>
				<pubDate>Wed, 10 Jun 2026 02:40:20 +0800</pubDate>
				<guid>https://bitsflow.org/ai/humans-and-ai-at-work/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;./images/ai-at-work/1.avif&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;问题所在&#34;&gt;问题所在&lt;/h2&gt;&#xA;&lt;p&gt;2026 年的 AI 裁员潮，真正值得注意的不是“AI 会不会替代人”这个老问题，而是越来越多企业一边利润很好，一边裁人；一边说 AI 会提高效率，一边把省下来的工资预算投向 GPU、数据中心和模型系统。&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;这件事不能简单理解成“AI 已经把人替代完了”。&lt;/strong&gt; 更准确的说法是：真实替代、资本市场叙事、普通成本削减，这三件事拧在了一起。AI 确实吃掉了一部分初级和重复性工作；但也有不少公司只是把本来就想做的裁员，包装成“AI 转型”。&lt;/p&gt;&#xA;&lt;p&gt;最麻烦的是，企业需要员工拥抱 AI，员工却越来越觉得自己在训练取代自己的人。 &lt;strong&gt;这个信任裂缝，可能比模型能力本身更影响 AI 在公司里的落地。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;这轮裁员为什么不一样&#34;&gt;这轮裁员为什么不一样&lt;/h2&gt;&#xA;&lt;p&gt;先看几组数据。单个数字可能说明不了太多，但放在一起看，会发现这轮裁员不是普通的周期性收缩，而是企业在重新分配“人”和“算力”的预算。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;时间&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;指标&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;数据&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;来源&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026年3月&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Meta 单次裁员&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;约 8000 人，占员工总数 10%，并关闭约 6000 个空缺岗位&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Reuters / Forbes&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026年3月&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;主要科技公司 AI 资本开支&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026 年约 7000 亿美元，同比接近翻倍&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;一季度财报披露&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026年3月&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Meta AI 基建预算与人力薪酬对比&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;约为人力薪酬成本的 4 到 5 倍&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Meta 一季度财报&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026年5月&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026 年前 5 个月科技行业裁员&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;超过 14.2 万人，同比增加约 33%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;TrueUp / Challenger&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026年6月&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026 年全年科技裁员预测&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;可能接近 37 万人&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;TechTimes&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026年6月&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;被归因到 AI 的裁员占比&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;约 17% 到 25%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Challenger / CFO Dive&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026年6月&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Intuit 裁员&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;约 3000 人，占员工总数 17%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;CBS News&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026年6月&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Block / Square 裁员&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;约 40%，约 4000 人，转向 AI 相关投入&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;CIO&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026年6月&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Oracle 裁员&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;约 3 万人&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;TechTimes&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026年6月&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;22 到 25 岁开发者就业变化&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;自 2024 年以来下降约 20%&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Stanford HAI 2026&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;数字本身已经很大，但更重要的是背景变了。过去裁员常见于收入下滑、融资困难、利润承压。现在很多公司不是活不下去，而是在赚钱的时候裁人。&lt;/p&gt;</description>
			</item>
			<item>
				<title>我的代码项目汇总</title>
				<link>https://bitsflow.org/engineering/my-projects/</link>
				<pubDate>Tue, 09 Jun 2026 17:05:45 +0800</pubDate>
				<guid>https://bitsflow.org/engineering/my-projects/</guid>
				<description>&lt;p&gt;这里简洁列出我在 GitHub 上托管的开源和闭源项目。全部使用 AI 编写。采用语言为 Go、Python、Typescript、Swift、OCaml。&lt;/p&gt;&#xA;&lt;h2 id=&#34;ai-相关&#34;&gt;AI 相关&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/ai-box&#34;&gt;AI Box&lt;/a&gt;：私人 AI 助手，通过 Telegram Bot 交互，支持 MCP 协议扩展工具集。可用于私人助理、投资资讯或建议。&#xA;&lt;ul&gt;&#xA;&lt;li&gt;目前接入了高德地图、12306车票查询、长桥证券新闻、长桥官方MCP、金十数据快讯、苹果日历、苹果笔记、CDP工具、AKShare 数据。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/ai-chats-manager&#34;&gt;AI Chats Manager&lt;/a&gt;：本地 AI 对话管理工具，用于管理、查看、编辑和分享对话记录，数据完全本地私有，一键导入 Gemini 对话内容。打开 &lt;a href=&#34;https://chats.bitsflow.org/&#34;&gt;AI Chats&lt;/a&gt; 即可使用。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/claude-plugins-unofficial&#34;&gt;Claude Plugins Unofficial&lt;/a&gt;：Claude Code 非官方插件市场，用于在 Telegram 上管理多个 Claude 会话，可以切换会话并对话。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/markdir&#34;&gt;markdir&lt;/a&gt;：Markdown 目录服务器，浏览文件目录时自动将 Markdown 文件渲染为 HTML。支持 &lt;a href=&#34;https://llmstxt.org/&#34;&gt;llms.txt&lt;/a&gt; 协议，对 AI 更友好。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;新闻来源&#34;&gt;新闻来源&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/google-news&#34;&gt;google-news&lt;/a&gt;：Google 新闻搜索 API 服务，支持关键词、语言、地区、数量、时间范围、HTML 和 Markdown 内容参数。付费服务，可免费试用 -&amp;gt; &lt;a href=&#34;https://news.bitsflow.org&#34;&gt;news.bitsflow.org&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/tg-reader&#34;&gt;tg-reader&lt;/a&gt;：Telegram 频道读取工具，支持历史消息分页拉取、实时监听和 JSONL 结构化输出。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;运维和消息处理&#34;&gt;运维和消息处理&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/tmux-tasks&#34;&gt;tmux-tasks&lt;/a&gt;：tmux 后台任务管理 CLI，&lt;strong&gt;支持本地或远程机器&lt;/strong&gt;，用配置文件管理长期运行任务。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/webhook&#34;&gt;webhook&lt;/a&gt;：配置驱动的消息转发网络，可生成、查看和运行多端点路由。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/tg-bot-cli&#34;&gt;tg-bot-cli&lt;/a&gt;：Telegram Bot API 命令行工具，支持发送、编辑、删除、转发、复制、置顶消息和 Markdown 转 Telegram HTML。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;投资量化相关&#34;&gt;投资量化相关&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/miaomiaotech/pinescript-v6-vscode-extension&#34;&gt;Pine Script v6 VS Code Extension&lt;/a&gt;：Pine Script v6 的 VS Code 语言扩展，支持语法高亮、智能补全、函数签名、悬停文档、转到定义、查找引用、重命名、嵌入提示、颜色预览和实时校验。&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/miaomiaotech/trading/tree/main/sand&#34;&gt;Dashboard&lt;/a&gt;：投资仓位监控工具，支持盈亏分析（累计/今日/平仓/日均盈亏（率））、历史订单分析，数据实时刷新。OCaml 语言开发，这是一次新语言的尝试。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;图像处理&#34;&gt;图像处理&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/raw-kit&#34;&gt;RawKit&lt;/a&gt;：Swift / SwiftUI 本地图像处理工具。现在已经是我处理图片的主要工具了。&#xA;&lt;ul&gt;&#xA;&lt;li&gt;支持导入主流相机 RAW、Sigma X3F、JPG、HEIF、DNG 等&lt;/li&gt;&#xA;&lt;li&gt;支持导出 HEIF/AVIF/Ultra HDR JPEG x sRGB/P3/Rec.2020 x SDR/HDR(HLG/PQ)&lt;/li&gt;&#xA;&lt;li&gt;支持套用各种输入输出色域和曲线的 LUT（一般用作视频领域），比如&lt;a href=&#34;https://www.fujifilm-x.com/zh-cn/support/download/lut/&#34;&gt;富士官方的LUT&lt;/a&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/x3f-go&#34;&gt;x3f-go&lt;/a&gt;：用 Go 重写 C 语言版本的适马 X3 传感器的 RAW 文件(.X3F格式)解析程序。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;游戏&#34;&gt;游戏&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;a href=&#34;https://github.com/weaming/gt7-go&#34;&gt;GT7 Go&lt;/a&gt;：PS5 &lt;a href=&#34;https://www.playstation.com/en-hk/games/gran-turismo-7/&#34;&gt;GT7赛车模拟游戏&lt;/a&gt; 实时遥测看板，支持圈速分析、回放录制、赛车线可视化、轮胎滑移、燃油策略和弯道分析。&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
			<item>
				<title>财富、婚姻与生娃：利用“非对称风险”思维，避开人生的翻车点</title>
				<link>https://bitsflow.org/think/asymmetric-risk/</link>
				<pubDate>Sun, 07 Jun 2026 17:36:52 +0800</pubDate>
				<guid>https://bitsflow.org/think/asymmetric-risk/</guid>
				<description>&lt;p&gt;&lt;img src=&#34;./images/book/asymmetric-risk.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;买理财时听销售讲预期收益，投资时看大V喊单，到了结婚生娃，又有人把人生关系算成一张 ROI 表。问题不一定是这些建议全错，而是它们常常漏掉了最关键的一句：坏结果由谁承担？&lt;/p&gt;&#xA;&lt;p&gt;塔勒布在《非对称风险》里反复讲的就是这个问题：不要只看收益，也要看风险怎么分配；不要只听观点，也要看说话的人是否和结果绑定。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;什么是-skin-in-the-game&#34;&gt;什么是 Skin in the Game？&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;Skin in the Game&lt;/code&gt; 常译作“风险共担”或“切身利益”。它问的不是一个人态度是否真诚，而是他会不会被结果影响。&lt;/p&gt;&#xA;&lt;p&gt;做对了有好处，做错了也承担损失，这叫有 Skin in the Game。说错、判错、建议错，代价都由别人承担，就没有。&lt;/p&gt;&#xA;&lt;p&gt;所以听任何建议前，先问两句：成功了谁获益？失败了谁买单？如果不是同一批人，就要小心。&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;先分清几种非对称&#34;&gt;先分清几种非对称&lt;/h2&gt;&#xA;&lt;p&gt;非对称风险不是“风险很大”的同义词。它看的是收益、损失、概率和责任是否错配。&lt;/p&gt;&#xA;&lt;h3 id=&#34;负向非对称收益有限损失巨大&#34;&gt;负向非对称：收益有限，损失巨大&lt;/h3&gt;&#xA;&lt;p&gt;高息理财最好的结果只是多赚几个点，最坏的结果是本金拿不回来。高杠杆交易也是这样：连续做对很多次，不如一次爆仓来得彻底。&lt;/p&gt;&#xA;&lt;p&gt;上行有限、下行能让你出局，就是负向非对称。&lt;/p&gt;&#xA;&lt;h3 id=&#34;正向非对称损失有限上行很大&#34;&gt;正向非对称：损失有限，上行很大&lt;/h3&gt;&#xA;&lt;p&gt;用少量闲钱试一个副业，学一项可迁移技能，投一个能承受归零的小项目。失败了损失有限，成功后可能打开新的收入或职业空间。&lt;/p&gt;&#xA;&lt;p&gt;能提前锁定最大损失，同时保留较大上行，才算正向非对称。&lt;/p&gt;&#xA;&lt;h3 id=&#34;代理人非对称决策者获益承受者买单&#34;&gt;代理人非对称：决策者获益，承受者买单&lt;/h3&gt;&#xA;&lt;p&gt;基金经理按规模收管理费，自媒体带单赚流量和返佣，咨询顾问按项目收费。结果好坏主要由客户承担，但代理人的收入先被锁定。&lt;/p&gt;&#xA;&lt;p&gt;建议者、操盘者、收费者和最终损失承担者不是同一批人，就要提高警惕。&lt;/p&gt;&#xA;&lt;h3 id=&#34;遍历性非对称平均收益好看但个人会先出局&#34;&gt;遍历性非对称：平均收益好看，但个人会先出局&lt;/h3&gt;&#xA;&lt;p&gt;一个策略 99 次小赚，1 次亏光。从样本平均看可能不错，但对个人来说，只要碰上那 1 次，就没有下一轮了。&lt;/p&gt;&#xA;&lt;p&gt;平均值不会替你活下去。只要某个风险会让你失去继续参与的资格，就不能只看胜率。&lt;/p&gt;&#xA;&lt;h4 id=&#34;什么是遍历性&#34;&gt;什么是遍历性？&lt;/h4&gt;&#xA;&lt;p&gt;教科书里，遍历性大致说的是“时间平均”和“空间平均”是否一致。听起来抽象，换成塔勒布喜欢的俄罗斯轮盘就很直观。&lt;/p&gt;&#xA;&lt;p&gt;更准确地说，遍历性不是要求“空间”和“时间”分别成立，而是要求两种观察方式得到的结果能对得上：看很多人同时经历一次，和看一个人连续经历很多次，长期结果应该接近。如果两者差很远，这个系统就缺乏遍历性。&lt;/p&gt;&#xA;&lt;p&gt;一把左轮手枪有 6 个弹巢，只放 1 颗子弹。扣动扳机，没死就拿 1 个亿。&lt;/p&gt;&#xA;&lt;p&gt;如果 100 个人各玩一次，这是空间平均。大约 83 个人活下来，17 个人死亡。站在统计表上看，活下来的概率是 83.3%，回报也很诱人。&lt;/p&gt;&#xA;&lt;p&gt;但如果是你一个人连续玩 100 次，这是时间平均。每一次看起来都有 83.3% 的生还率，可只要某一次中弹，你就彻底出局。连续 100 次都活下来的概率只有 \((5/6)^{100}\)，已经接近于 0。前面赚到的钱，后面可能出现的好运，都和你无关了。&lt;/p&gt;&#xA;&lt;p&gt;所以这个例子里，空间平均和时间平均明显对不上：空间平均看起来是“多数人发财，少数人死亡”；时间平均对单个玩家来说，则是“玩得越久，越接近出局”。它就是一个典型的非遍历系统。&lt;/p&gt;&#xA;&lt;p&gt;这就是缺乏遍历性的世界：群体平均看起来不错，不代表个人沿着时间活下去也不错。现实里很多事都如此。高杠杆投资、长期违法套利、高频高危行为，单次看翻车概率不高；只要重复得够久，归零事件就会变成迟早的问题。&lt;/p&gt;&#xA;&lt;p&gt;所以塔勒布式的问题不是“胜率有多高”，而是：&lt;strong&gt;如果那个低概率坏结果发生，我会不会被清出牌桌？&lt;/strong&gt; 如果答案是会，就不能全仓押注。&lt;/p&gt;</description>
			</item>
			<item>
				<title>清迈旅行后记</title>
				<link>https://bitsflow.org/weekly/travel-in-chiang-mai/</link>
				<pubDate>Tue, 19 May 2026 17:24:37 +0800</pubDate>
				<guid>https://bitsflow.org/weekly/travel-in-chiang-mai/</guid>
				<description>&lt;h2 id=&#34;整体感受&#34;&gt;整体感受&lt;/h2&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;清迈面积不大，机场就在城市旁边，周围被山包围，知名的有素贴山、因他暖山&lt;/li&gt;&#xA;&lt;li&gt;咖啡店、马杀鸡随处可见&#xA;&lt;ol&gt;&#xA;&lt;li&gt;饭虽然便宜，但没有中国的那么多分量，只够吃个8分饱。可能因为天气炎热，不过8分饱也更健康。&lt;/li&gt;&#xA;&lt;li&gt;一小片区域可能有很多家咖啡店。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;中国人很多，毕竟免签，门槛低。其次是欧美人、印度人。&lt;/li&gt;&#xA;&lt;li&gt;清迈生活节奏很慢，我碰到的普通商家、咖啡店、酒店都是起得晚、下班早。我起早了想去喝咖啡还得等。&lt;/li&gt;&#xA;&lt;li&gt;交通比较文明&#xA;&lt;ol&gt;&#xA;&lt;li&gt;十字路口会等待让行主干道车辆直到有足够的空间，刚到时在我看来都替他们着急；不会像我们一样冲过去或者慢慢挪过去，逼主干道的踩刹车&lt;/li&gt;&#xA;&lt;li&gt;但是感觉行人没什么优先级，没红绿灯的路口我都是等没车了才敢走，他们不会说看到有行人就停车礼让的&lt;/li&gt;&#xA;&lt;li&gt;摩托车也比较快，必须要达到和四轮车接近的速度才可能不影响四轮；但因为清迈路况路窄、行人多，整体车速都比较慢，只有在去因他暖山的郊区大直道上，司机才会在80限速开100速度&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;清迈之小&#34;&gt;清迈之小&lt;/h2&gt;&#xA;&lt;p&gt;对来旅游或旅居的人来说，大家口中的清迈，其实指的是核心的&lt;strong&gt;城市核心区（古城 + 宁曼路 + 屏河两岸）&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;古城（Old City）：&lt;/strong&gt; 是一个标准的正方形，面积只有 1.5 x 1.5 = 2.25 平方公里。用双脚步行，半小时就能从东边的塔佩门走到西边的帕辛寺。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;核心核心市区：&lt;/strong&gt; 狭义的清迈市政管辖区只有 &lt;strong&gt;40 平方公里&lt;/strong&gt; 左右（仅相当于北京朝阳区的十分之一，或上海静安区的不到三分之二）。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;在这里生活，核心活动半径基本在 &lt;strong&gt;5 公里&lt;/strong&gt; 以内。骑摩托车，从最西边的素贴山脚下，穿过宁曼路和古城，一路开到最东边的中央商场（Central Festival），在不堵车的情况下&lt;strong&gt;只需要 15 到 20 分钟&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;h3 id=&#34;城市扩张的清迈&#34;&gt;城市扩张的清迈&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;一个由三条环路构成的“洋葱圈”&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;如果加上近些年外延发展的城市圈（Urban Area），清迈的面积大约在 &lt;strong&gt;405 平方公里&lt;/strong&gt;，大约和&lt;strong&gt;厦门岛&lt;/strong&gt;（约 158 平方公里）加上周边的集美海沧核心区差不多，或者相当于半个香港土地面积。它的骨架非常清晰，就像一个切开的洋葱，由&lt;strong&gt;古城护城河&lt;/strong&gt;以及外围的三条环路（内环、中环、外环）层层包裹。&lt;/p&gt;&#xA;&lt;h3 id=&#34;地图上的清迈府&#34;&gt;地图上的“清迈府”&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;一个比海南岛还要大的山林巨无霸&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;在官方资料或地理层面上看，清迈叫做“清迈府”（Chiang Mai Province），面积高达 &lt;strong&gt;20,107 平方公里&lt;/strong&gt;。它是泰国北部政治经济中心，也是泰国面积第二大的省级行政区。&lt;/p&gt;&#xA;&lt;p&gt;这个数字，比半个台湾岛还要大，相当于 &lt;strong&gt;3 个上海&lt;/strong&gt;、或者 &lt;strong&gt;12 个深圳&lt;/strong&gt; 那么大。&lt;/p&gt;&#xA;&lt;p&gt;清迈府 &lt;strong&gt;70% 以上的面积都是连绵的山脉和原始森林&lt;/strong&gt;（包括泰国最高峰因他暖山），除了中部滨河流域的一块狭长平原住人，其余广袤的面积全是不住人的国家公园和山区。&lt;/p&gt;&#xA;&lt;h2 id=&#34;吃在清迈&#34;&gt;吃在清迈&lt;/h2&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai-review/eat-2.jpeg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;上次来泰国，在曼谷尝到这个饮料，感觉很好喝，哈密瓜的香甜！这次再尝，不知道为什么感觉没有那么好喝。国内有长得像的，但不是一个牌子，也不是一个味道。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai-review/ristr8to.jpeg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;起床后来杯咖啡&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai-review/eat-1.jpeg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;</description>
			</item>
			<item>
				<title>在清迈大晴天出门拍摄，发现A7R4直出的照片竟然有了德味</title>
				<link>https://bitsflow.org/gallery/2026-05-17/</link>
				<pubDate>Sun, 17 May 2026 22:57:26 +0800</pubDate>
				<guid>https://bitsflow.org/gallery/2026-05-17/</guid>
				<description>&lt;p&gt;明天就要从清迈经香港回到惠州，今天最后一天，大晴天，中午在住处避暑，等到五点左右，就出门拍点氛围感的照片，日后也好勾起这种炎热的感觉。&lt;/p&gt;&#xA;&lt;p&gt;目的地是古城内，因为之前搜到有周日古城内有集市，走过去顺便吃个「凤飞飞猪脚饭」。有点远，2.8公里，快3公里。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai/260517-1.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai/260517-2.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai/260517-3.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;我使用 Sony A7R4A + Sony 40mm 固定镜头拍摄的 RAW+JPG 格式。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai/260517-4.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai/260517-5.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;取景器里还挺有味道的，暗部或天空是类似德味或者 gr3 的那种蓝色。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai/260517-6.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;回来后用我用 AI 开发的 &lt;a href=&#34;https://github.com/weaming/raw-kit&#34;&gt;RAW Kit.app&lt;/a&gt; 来处理照片，发现使用 RAW 转化后的效果竟然失去了这种有味道的蓝色，色温也不对，比 JPG 偏黄很多，调白平衡也调不回 JPG 的那种感觉。&lt;/p&gt;&#xA;&lt;p&gt;放弃挣扎，直接用 JPG 加上 HDR 效果后导出。使用支持 HDR 的手机或电脑应该能看到很真实的临场感，配合这种青蓝调很有感觉。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai/260517-7.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;拍摄时候，我就在默默感叹，还是得太阳斜射时分的光线能让照片更上一层楼！天空有明暗渐变，同时也带来了色彩渐变，由深蓝到浅青色。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai/260517-8.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;⬆️ 老甲克虫油润的漆面和金属质感。另外黑白车牌就是比较百搭，国内蓝色绿色都太突兀。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/chiangmai/260517-9.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;</description>
			</item>
			<item>
				<title>景观时代的价值变现与抵抗：顺势获客，逆势交付</title>
				<link>https://bitsflow.org/think/spectacle-era-value-realization-and-resistance/</link>
				<pubDate>Fri, 15 May 2026 13:24:16 +0800</pubDate>
				<guid>https://bitsflow.org/think/spectacle-era-value-realization-and-resistance/</guid>
				<description>&lt;p&gt;如果把景观与算法当作不可逆的时代背景，个体策略不该是“要不要参与”，而是“以什么位置参与”。&lt;/p&gt;&#xA;&lt;p&gt;更现实的答案通常不是二选一，而是双轨运行：&lt;strong&gt;利用裹挟获客，用自由变现&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;p&gt;上一篇背景文：&lt;a href=&#34;./think/society-of-spectacle/&#34;&gt;从景观社会到算法统治：一场关于「显现」的异化之旅&lt;/a&gt;&lt;/p&gt;&#xA;&lt;p&gt;这篇文章尝试回答四个问题：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;为什么只选“利用”或只选“抵抗”都不够。&lt;/li&gt;&#xA;&lt;li&gt;如何把“价值变现”和“主体性”做成同一个系统。&lt;/li&gt;&#xA;&lt;li&gt;有哪些值得读的作者和书，能把这套判断拉得更深。&lt;/li&gt;&#xA;&lt;li&gt;在 AI 时代，个体和小团队应如何建立可执行的应对策略。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;先回答核心问题利用裹挟还是做平衡&#34;&gt;先回答核心问题：利用裹挟，还是做平衡&lt;/h2&gt;&#xA;&lt;p&gt;答案是：&lt;strong&gt;先利用，再平衡，最终重构&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;先利用&lt;/strong&gt;：流量入口在平台侧，必须借势。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;做平衡&lt;/strong&gt;：不能把全部价值定义权交给平台。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;再重构&lt;/strong&gt;：把真正的收入与关系迁移到你可控的结构里。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;只利用裹挟，短期增长快，但长期问题明显：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;护城河弱，容易陷入同质化和价格战。&lt;/li&gt;&#xA;&lt;li&gt;过度依赖平台分发，规则变化会直接打断收入。&lt;/li&gt;&#xA;&lt;li&gt;持续迎合注意力机制，最终连自己的判断也被反向塑形。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;只谈抵抗，价值很高，但也有现实约束：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;冷启动慢，缺乏流量入口。&lt;/li&gt;&#xA;&lt;li&gt;传播效率低，难以形成稳定现金流。&lt;/li&gt;&#xA;&lt;li&gt;很容易把“姿态”误当成“产品”。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;所以更有效的路径不是道德站位，而是系统设计。&lt;/p&gt;&#xA;&lt;h2 id=&#34;价值变现与抵抗可以共存的经济逻辑&#34;&gt;价值变现与抵抗可以共存的经济逻辑&lt;/h2&gt;&#xA;&lt;p&gt;这个模型能成立，不靠情怀，靠的是交易结构：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;注意力是低成本流量&lt;/strong&gt;：平台帮你完成第一层触达。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;信任是稀缺资产&lt;/strong&gt;：可复访、可深聊、可共同完成任务的关系更稀缺。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;改变是高溢价交付&lt;/strong&gt;：真正能卖出高价的不是信息，而是结果。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;把这三件事串起来，才会形成可持续收入：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;低成本触达 -&amp;gt; 高质量关系 -&amp;gt; 高单价结果&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;可执行的双轨模型&#34;&gt;可执行的双轨模型&lt;/h2&gt;&#xA;&lt;p&gt;把业务拆成三个层次：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;入口层（顺势）&lt;/strong&gt;：在平台发布短内容，获取注意力。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;关系层（去平台）&lt;/strong&gt;：把流量导向邮件列表、博客、社群，沉淀长期关系。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;变现层（逆势）&lt;/strong&gt;：交付无法被短视频替代的深度价值。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;对应公式：&lt;/p&gt;&#xA;&lt;p&gt;&lt;code&gt;景观流量 -&amp;gt; 私域信任 -&amp;gt; 自由溢价&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;入口层怎么做才不会被平台吞掉&#34;&gt;入口层怎么做，才不会被平台吞掉&lt;/h3&gt;&#xA;&lt;p&gt;入口内容可以“平台化”，但主题必须“方法论化”。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;每条短内容只解决一个高频痛点。&lt;/li&gt;&#xA;&lt;li&gt;所有内容最终指向同一套核心框架。&lt;/li&gt;&#xA;&lt;li&gt;不追所有热点，只追与你产品有关的热点。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;判断入口内容是否健康，有三个简单标准：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;看完后，用户知道你解决什么问题。&lt;/li&gt;&#xA;&lt;li&gt;用户愿意留下可重复触达的联系方式。&lt;/li&gt;&#xA;&lt;li&gt;内容可复用，不是一次性情绪消耗。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;关系层怎么做才有沉淀&#34;&gt;关系层怎么做，才有沉淀&lt;/h3&gt;&#xA;&lt;p&gt;关系层的本质是“从围观到协作”。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;用周更长文建立稳定预期。&lt;/li&gt;&#xA;&lt;li&gt;用固定栏目建立认知锚点。&lt;/li&gt;&#xA;&lt;li&gt;用结构化互动筛选真正的目标用户。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;你要避免“社群热闹，业务空心”。关系层只做三种互动：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;问题收集：发现真实需求。&lt;/li&gt;&#xA;&lt;li&gt;小任务共创：验证方法有效性。&lt;/li&gt;&#xA;&lt;li&gt;小样本复盘：生成下一轮内容与产品素材。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h3 id=&#34;变现层怎么做才有自由溢价&#34;&gt;变现层怎么做，才有“自由溢价”&lt;/h3&gt;&#xA;&lt;p&gt;真正能对冲裹挟的产品，通常满足三个条件：高参与、高延迟回报、难复制。&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;一对一咨询：决策、职业、创作系统。&lt;/li&gt;&#xA;&lt;li&gt;小班工作坊：专注力、写作力、方法论训练。&lt;/li&gt;&#xA;&lt;li&gt;长周期会员：读书会、共学、项目陪跑。&lt;/li&gt;&#xA;&lt;li&gt;离线体验：无设备干扰的深度讨论和实践。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;这类产品的核心不是“信息量”，而是“结构化陪伴”和“行为改变”。&lt;/p&gt;</description>
			</item>
			<item>
				<title>从景观社会到算法统治：一场关于「显现」的异化之旅</title>
				<link>https://bitsflow.org/think/society-of-spectacle/</link>
				<pubDate>Fri, 15 May 2026 12:52:59 +0800</pubDate>
				<guid>https://bitsflow.org/think/society-of-spectacle/</guid>
				<description>&lt;p&gt;居伊·德波（Guy Debord）在 1967 年出版的《景观社会》是一本常读常新的批判之作。它的文风晦涩，充满了黑格尔和马克思式的辩证法，但核心逻辑可以用一个词概括：&lt;strong&gt;媒介化的异化&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;从生存到占有再到显现&#34;&gt;从「生存」到「占有」再到「显现」&lt;/h2&gt;&#xA;&lt;p&gt;德波认为，人类社会的发展经历了三个阶段：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;生存&lt;/strong&gt;：人类关注的是吃饱穿暖。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;占有&lt;/strong&gt;：随着资本主义发展，关注点转向了我有多少钱、多少房。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;显现（景观社会）&lt;/strong&gt;：现在的关注点变成了看起来像什么。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;真实的活生生的生活，被「图像」和「表象」所取代。你不再是为了生活而生活，而是为了「展示生活」而生活。&lt;/p&gt;&#xA;&lt;h2 id=&#34;为什么会演变成景观社会&#34;&gt;为什么会演变成景观社会&lt;/h2&gt;&#xA;&lt;p&gt;景观社会不是某个阴谋瞬间造成的，而是经济、技术、社会结构和心理机制叠加后的结果：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;生产过剩与消费强制&lt;/strong&gt;：当基本需求被满足，资本需要持续扩张，就必须把更多「并非必需」的东西包装成「必须拥有」。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;技术中介替代直接经验&lt;/strong&gt;：从电视到智能手机，我们越来越依赖屏幕理解世界，亲身经验被影像经验替代。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;社会关系原子化&lt;/strong&gt;：传统共同体关系减弱后，个体更孤立，更容易用可传播的符号来寻求身份确认。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;主体性退化&lt;/strong&gt;：长期处在被动观看与即时反馈中，人会逐步把判断权外包给流行叙事和平台指标。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;最终形成一个闭环：资本制造符号，技术放大符号，孤立个体消费符号，再反过来强化资本与技术的统治。&lt;/p&gt;&#xA;&lt;h2 id=&#34;什么是景观&#34;&gt;什么是「景观」？&lt;/h2&gt;&#xA;&lt;p&gt;德波给出的定义至今仍具穿透力：&lt;/p&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;「景观不是图像的堆积，而是以图像为中介的人与人之间的社会关系。」&lt;/p&gt;&#xA;&lt;/blockquote&gt;&#xA;&lt;p&gt;简单来说，当人与人之间的交流必须通过某种「滤镜」或「中介」（比如朋友圈的点赞、网红打卡、消费符号）来实现时，景观就形成了。它像一层透明的薄膜，隔绝了人与世界的直接体验。&lt;/p&gt;&#xA;&lt;h3 id=&#34;两种景观形式&#34;&gt;两种景观形式&lt;/h3&gt;&#xA;&lt;p&gt;德波区分了两种景观：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;集中的景观&lt;/strong&gt;：极权体制下，通过暴力和崇拜强迫人们接受的单一形象。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;弥散的景观&lt;/strong&gt;：西方消费社会，通过琳琅满目的商品和娱乐选择，让人在「自由选择」的假象中陷入被动。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;后来德波又补充了第三种：「综合的景观」——两者的融合。&lt;/p&gt;&#xA;&lt;h2 id=&#34;景观的封闭逻辑&#34;&gt;景观的封闭逻辑&lt;/h2&gt;&#xA;&lt;p&gt;德波最精彩的推理是景观的&lt;strong&gt;自我循环证明&lt;/strong&gt;：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;景观控制了所有的表达渠道。&lt;/li&gt;&#xA;&lt;li&gt;任何想要反对景观的行为，如果想获得影响力，就必须进入景观（拍成电影、做短视频）。&lt;/li&gt;&#xA;&lt;li&gt;一旦进入景观，这种反对行为本身就变成了「可供消费的影像」，被景观吸收和瓦解。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;景观社会是一个&lt;strong&gt;自我修复、自我证明&lt;/strong&gt;的闭环。它不是外部的谎言，而是一种让真相变得无效的社会环境。&lt;/p&gt;&#xA;&lt;h2 id=&#34;德波如何论述与推理&#34;&gt;德波如何论述与推理&lt;/h2&gt;&#xA;&lt;p&gt;《景观社会》并不是经验研究报告，而是一套批判理论写作。德波采用了 221 条断章式文本，通过辩证法推进论证。&lt;/p&gt;&#xA;&lt;p&gt;可以把他的推理概括为四步：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;观察现象&lt;/strong&gt;：生活越来越被影像组织，经验被表象替换。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;追溯根源&lt;/strong&gt;：从马克思异化理论出发，指出商品逻辑从占有扩展到了显现。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;分析机制&lt;/strong&gt;：景观以单向传播制造「虚假统一」，掩盖真实的分离和冲突。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;推到后果&lt;/strong&gt;：反对景观必须借助景观传播，结果被再次景观化和消解。&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;他还大量使用「挪用/改写」（détournement）策略，把经典理论语言转接到影像社会，强调旧批判工具必须升级。&lt;/p&gt;&#xA;&lt;h2 id=&#34;演进从景观到拟像&#34;&gt;演进：从景观到拟像&lt;/h2&gt;&#xA;&lt;p&gt;如果德波认为景观是「对现实的扭曲」，那么波德里亚（Jean Baudrillard）在 1980 年代提出的「拟像」(Simulacra) 理论则更进一步：&lt;strong&gt;现实已经消失了。&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;在拟像阶段，图像已经比现实更真实，即「超现实」(Hyperreality)。迪士尼乐园就是典型——它不是为了模仿现实，它本身就是一个被创造出来的、比现实更完美的现实。当下的网红景点，其存在的唯一意义就是为了那张照片（拟像）。如果没有滤镜和构图，那个地方本身可能毫无意义。&lt;/p&gt;&#xA;&lt;h2 id=&#34;演进功绩社会与透明社会&#34;&gt;演进：功绩社会与透明社会&lt;/h2&gt;&#xA;&lt;p&gt;韩炳哲（Byung-Chul Han）在《精神政治学》和《倦怠社会》中描述了景观在数字时代的变体：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;从「他者剥削」到「自我剥削」&lt;/strong&gt;：德波时代的景观由外在力量强加给你；而现在人通过社交媒体主动展示自己、包装自己。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;透明社会&lt;/strong&gt;：德波的景观是让人「看」，而现在的社会是让人「裸露」——我们主动交出隐私、数据和情绪。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;数字全景监狱&lt;/strong&gt;：我们不再是被迫观看，而是数字景观的志愿者。点赞、收藏、转发，不仅是消费，更是景观的生产过程。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;演进算法社会&#34;&gt;演进：算法社会&lt;/h2&gt;&#xA;&lt;p&gt;这是当下最显著的特征。景观不再仅仅是「图像的中介」，而是「数据的中介」：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;颗粒化&lt;/strong&gt;：德波时代的景观是宏大的、大众传播的（大家看同一个新闻）；现在的景观是千人千面的（算法推荐）。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;反馈回路&lt;/strong&gt;：算法不仅在观察你，还在预测并塑造你。景观不再是挂在墙上的画，而是根据你的每一次心跳、每一次滑动而实时生成的动态环境。&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;结论&lt;/strong&gt;：景观从「视觉统治」变成了「预测统治」。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;阶段&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;核心逻辑&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;人的角色&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th style=&#34;text-align: left&#34;&gt;权力媒介&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;景观社会&lt;/strong&gt; (1960s)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;图像中介社会关系&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;观众&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;电视、广告、大众媒体&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;拟像社会&lt;/strong&gt; (1980s)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;超现实取代现实&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;符号的消费者&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;品牌、主题公园、电子媒介&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;功绩/透明社会&lt;/strong&gt; (2010s)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;主动展示与自我剥削&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;自我经营者&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;社交媒体、智能手机&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;&lt;strong&gt;算法社会&lt;/strong&gt; (现在)&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;数据驱动的预测与控制&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;数据库的养分&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td style=&#34;text-align: left&#34;&gt;算法、AI、大数据&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;被裹挟的自由&#34;&gt;被裹挟的自由&lt;/h2&gt;&#xA;&lt;p&gt;最让人不安的不是景观的存在，而是失去的那种「被裹挟的自由」——表现为三个层次的侵蚀：&lt;/p&gt;</description>
			</item>
			<item>
				<title>分享几张照片</title>
				<link>https://bitsflow.org/gallery/2026-04-26/</link>
				<pubDate>Sun, 26 Apr 2026 19:53:22 +0800</pubDate>
				<guid>https://bitsflow.org/gallery/2026-04-26/</guid>
				<description>&lt;p&gt;作为博客分享照片的一次尝试，分享几张照片。照片也不全是今天拍的。&lt;/p&gt;&#xA;&lt;h2 id=&#34;闲逛&#34;&gt;闲逛&lt;/h2&gt;&#xA;&lt;p&gt;又去了这里，满京华艺象国际艺术区。&lt;/p&gt;&#xA;&lt;p&gt;为什么说是又去，因为几年前去过。&lt;/p&gt;&#xA;&lt;p&gt;闲来无事想出门逛逛，又不想跑太绕，刷地图刷到这里，就去了。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260426/01.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260426/02.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260426/03.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;对镜自拍一张。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260426/04.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260426/05.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260426/06.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;美食&#34;&gt;美食&lt;/h2&gt;&#xA;&lt;p&gt;闲来无事想出门找找美食，是真饿了，才点这么多……&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260426/07.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;熬夜之后，还有精力就趁上班高峰前出门吃个早餐。为什么熬夜，想睡实在睡不着。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260426/08.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;&#xA;&lt;h2 id=&#34;泉州&#34;&gt;泉州&lt;/h2&gt;&#xA;&lt;p&gt;之前3月份从上海回广东，路过泉州拍的。Sigma DP3Q 拍的2张拼接，再用 Raw Kit 导出 HDR。&lt;/p&gt;&#xA;&lt;p&gt;&lt;img src=&#34;./images/260426/09.jpg&#34; alt=&#34;&#34; loading=&#34;lazy&#34; decoding=&#34;async&#34;&gt;&#xA;&lt;/p&gt;</description>
			</item>
			<item>
				<title>周记 总结26年至今的成果</title>
				<link>https://bitsflow.org/weekly/2026-04-25/</link>
				<pubDate>Sat, 25 Apr 2026 11:43:46 +0800</pubDate>
				<guid>https://bitsflow.org/weekly/2026-04-25/</guid>
				<description>&lt;h2 id=&#34;raw-kit&#34;&gt;Raw Kit&lt;/h2&gt;&#xA;&lt;p&gt;用 GPT-5.4 把之前 claude 挖的坑填了，是一个图像处理的 macOS 应用。&lt;a href=&#34;https://github.com/weaming/raw-kit/releases/tag/release-2.1&#34;&gt;最新版 2.1&lt;/a&gt; 支持各种输入/输出的 gamut &amp;amp; gamma，以及 HDR 格式导出。&lt;/p&gt;&#xA;&lt;h2 id=&#34;其他&#34;&gt;其他&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 更好的代理协议：更流畅稳定&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; wireproxy：Cloudflare IP，claude 可用日本 IP&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 重新注册 claude：新 gmail、新的美区苹果 id，订阅成功&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; tmux多机器任务管理：很方便&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 谷歌新闻 api：稳定使用，已发布服务&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; &lt;del&gt;openclaw流畅运行&lt;/del&gt;：但是定时任务不稳定，不再使用，改成维护自己的 AI BOX&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 容器部署，配置路径自定义&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; agent2agent&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 远程桌面 rustdesk&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 程序化读取 tg 第三方公共频道消息&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 写技能&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; url2md&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; clawhub：从腾讯接口搜索，从官方下载&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 替代 docker：苹果 orb，服务器 podman&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; CDP 控制浏览器&lt;/li&gt;&#xA;&lt;li&gt;&lt;input checked=&#34;&#34; disabled=&#34;&#34; type=&#34;checkbox&#34;&gt; 重新启用&lt;a href=&#34;https://bitsflow.org&#34;&gt;本博客&lt;/a&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;cdp&#34;&gt;CDP&lt;/h3&gt;&#xA;&lt;p&gt;其中 CDP 使用了与标准端口(9222)不一样的 9223 端口，需要修改 chrome 配置。&lt;/p&gt;</description>
			</item>
			<item>
				<title>金斯瑞 (1548.HK) DNA存储合作深度研究</title>
				<link>https://bitsflow.org/stock/jsr-dna-storage/</link>
				<pubDate>Tue, 21 Apr 2026 23:46:32 +0800</pubDate>
				<guid>https://bitsflow.org/stock/jsr-dna-storage/</guid>
				<description>&lt;p&gt;&lt;strong&gt;研究日期&lt;/strong&gt;: 2026-04-10&#xA;&lt;strong&gt;股票代码&lt;/strong&gt;: 1548.HK&#xA;&lt;strong&gt;当前股价&lt;/strong&gt;: HKD 12.84&lt;/p&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;一核心事件与mimulus达成dna数据存储战略合作&#34;&gt;一、核心事件：与Mimulus达成DNA数据存储战略合作&lt;/h2&gt;&#xA;&lt;h3 id=&#34;合作概况&#34;&gt;合作概况&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;公布时间&lt;/strong&gt;: 2026年4月9日&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;合作方&lt;/strong&gt;: Mimulus（分子档案技术先驱）&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;合作性质&lt;/strong&gt;: 多年、里程碑式战略合作&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;目标&lt;/strong&gt;: 实现DNA数据存储工业化，目标2030年末实现完全超大规模生产&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;双方角色&#34;&gt;双方角色&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;角色&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Mimulus&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;GenScript (金斯瑞)&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;定位&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;分子档案技术先驱&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;全球领先CMOS DNA合成技术提供商&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;提供&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Glacier数据存储卡™及架构&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;大规模高吞吐量DNA合成能力&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;职责&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;技术授权 + 架构设计&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;批量生产 + 制造工艺开发&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;核心技术glacier数据存储卡&#34;&gt;核心技术：Glacier数据存储卡™&lt;/h3&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;形态&lt;/strong&gt;: 信用卡大小设备&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;能耗&lt;/strong&gt;: 零瓦特 — 无需电力&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;冷却&lt;/strong&gt;: 无需冷却系统&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;维护&lt;/strong&gt;: 免维护&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;数据保存&lt;/strong&gt;: 永不降解，号称&amp;quot;永久档案&amp;quot;&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;接口&lt;/strong&gt;: 兼容S3 API&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h3 id=&#34;商业逻辑&#34;&gt;商业逻辑&lt;/h3&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;&lt;strong&gt;电力瓶颈&lt;/strong&gt;: AI扩张导致数据中心电力需求激增，传统存储面临能耗瓶颈&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;冷存储释放&lt;/strong&gt;: DNA存储可释放被传统冷存储占用的电网电力&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;密度优势&lt;/strong&gt;: 1克DNA可存储215PB数据（是硬盘的100万倍，2025年白皮书数据）&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;hr&gt;&#xA;&lt;h2 id=&#34;二股价技术面分析&#34;&gt;二、股价技术面分析&lt;/h2&gt;&#xA;&lt;h3 id=&#34;近期走势&#34;&gt;近期走势&lt;/h3&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;日期&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;收盘价&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;成交量&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;备注&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026-03-22&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;10.60&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;12.4M&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;近期低点&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026-03-31&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;11.85&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;17.6M&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;突破前&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026-04-01&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;12.36&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;14.0M&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;放量大涨&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026-04-07&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;12.88&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;21.3M&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;合作公布前&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;2026-04-09&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;12.84&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;3.4M&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;合作公布日&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h3 id=&#34;均线状态参考topics记录&#34;&gt;均线状态（参考TOPICS记录）&lt;/h3&gt;&#xA;&lt;blockquote&gt;&#xA;&lt;p&gt;金斯瑞+3.1%（均线多头排列）&lt;/p&gt;</description>
			</item>
			<item>
				<title>GPT-5.4 xhigh、Qwen3.6-Plus、Claude Opus 4.6、Claude Opus 4.7 对比</title>
				<link>https://bitsflow.org/ai/llms-compare/</link>
				<pubDate>Tue, 21 Apr 2026 23:28:06 +0800</pubDate>
				<guid>https://bitsflow.org/ai/llms-compare/</guid>
				<description>&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;GPT-5.4 xhigh&lt;/code&gt; 指的是：&lt;code&gt;GPT-5.4&lt;/code&gt; + &lt;code&gt;reasoning.effort=xhigh&lt;/code&gt;。&lt;code&gt;xhigh&lt;/code&gt; 是推理档位，不是单独的底模。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Claude Opus 4.6&lt;/code&gt; 截至 2026-04-20 已不是最新 Opus。Anthropic 已在 2026-04-16 发布 &lt;code&gt;Claude Opus 4.7&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;一句话结论&#34;&gt;一句话结论&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;要终端式 coding、复杂多步执行、跨工具稳定性：优先看 &lt;code&gt;GPT-5.4 xhigh&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;要 GitHub issue 修复、仓库级 bugfix、Claude 生态里的最新主力模型：优先看 &lt;code&gt;Claude Opus 4.7&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;要性价比、1M 长上下文、阿里云接入、中文开发环境：优先看 &lt;code&gt;Qwen3.6-Plus&lt;/code&gt;。&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;Claude Opus 4.6&lt;/code&gt; 仍然强，尤其在长上下文一致性上有代表性成绩，但从官方定位到最新公开 benchmark，&lt;code&gt;Opus 4.7&lt;/code&gt; 已经是 &lt;code&gt;4.6&lt;/code&gt; 的直接升级版。&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;核心规格&#34;&gt;核心规格&lt;/h2&gt;&#xA;&lt;table&gt;&#xA;&#x9;&lt;thead&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;维度&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;GPT-5.4 xhigh&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Qwen3.6-Plus&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Claude Opus 4.6&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;th&gt;Claude Opus 4.7&lt;/th&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/thead&gt;&#xA;&#x9;&lt;tbody&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;官方定位&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;复杂专业工作、agent、coding&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;通用推理 + agent + 多模态&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;复杂 agent、coding、长周期任务&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;Claude 当前最强通用可用模型，主打复杂推理与 agentic coding&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;推理模式&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;none/low/medium/high/xhigh&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;默认开启思考模式&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;adaptive thinking&lt;/code&gt; / extended thinking&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;&lt;code&gt;adaptive thinking&lt;/code&gt; + &lt;code&gt;effort&lt;/code&gt;，新增 &lt;code&gt;xhigh&lt;/code&gt;&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;上下文窗口&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1,050,000&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1,000,000&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1M&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1M&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;最大输出&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;128,000&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;65,536&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;128k&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;128k&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;公开价格&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;$2.50 输入 / $15 输出&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;阿里云国际区：0-256K 为 3.7471 元输入 / 22.4826 元输出；256K-1M 为 14.9884 元输入 / 44.965 元输出&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;$5 输入 / $25 输出&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;$5 输入 / $25 输出&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;长上下文定价备注&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;超过标准 272K 窗口后，按更高倍率计费&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;256K 以上进入更高阶梯&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1M 窗口按标准价&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;1M 窗口按标准价&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&#x9;&#x9;&lt;tr&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;额外特点&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;OpenAI 终端 agent 指标强&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;国内接入和性价比优势明显&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;长上下文一致性强，4.7 的直接前代&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&#x9;&#x9;&lt;td&gt;更高分辨率视觉、更长任务预算、直接升级 4.6&lt;/td&gt;&#xA;&#x9;&#x9;&#x9;&lt;/tr&gt;&#xA;&#x9;&lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;h2 id=&#34;benchmark-速览&#34;&gt;Benchmark 速览&lt;/h2&gt;&#xA;&lt;p&gt;注意：下面分数都来自厂商官方，但不完全是同一套 harness、同一套 prompt、同一套推理预算，适合看趋势，不适合把 1 到 2 分的差距当成严格胜负。为便于横向比较，下面统一写成纯数字；若无额外说明，可按百分比口径理解。&lt;/p&gt;</description>
			</item>
			<item>
				<title>JavaScript 模块系统</title>
				<link>https://bitsflow.org/engineering/module-systems-in-js/</link>
				<pubDate>Tue, 21 Apr 2026 10:00:00 +0800</pubDate>
				<guid>https://bitsflow.org/engineering/module-systems-in-js/</guid>
				<description>&lt;p&gt;JavaScript 现在并不缺模块系统，真正的问题是你同时会遇到三层东西：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;语言标准里的 &lt;strong&gt;ESM&lt;/strong&gt;: &lt;code&gt;import&lt;/code&gt; / &lt;code&gt;export&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;Node.js 历史遗留的 &lt;strong&gt;CommonJS&lt;/strong&gt;: &lt;code&gt;require&lt;/code&gt; / &lt;code&gt;module.exports&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;浏览器和包管理层的解析规则: &lt;code&gt;type=&amp;quot;module&amp;quot;&lt;/code&gt;、import map、&lt;code&gt;package.json&lt;/code&gt; 的 &lt;code&gt;&amp;quot;exports&amp;quot;&lt;/code&gt; / &lt;code&gt;&amp;quot;imports&amp;quot;&lt;/code&gt;&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;如果只记一个结论：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;新项目默认优先写 &lt;strong&gt;ESM&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;遇到旧 Node.js 工程、老工具链、历史包袱时才继续用 &lt;strong&gt;CommonJS&lt;/strong&gt;&lt;/li&gt;&#xA;&lt;li&gt;给 npm 包设计入口时，优先把公开接口写清楚，不要再依赖“随便从包内部路径 import”&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;1-先把几个名词分清&#34;&gt;1. 先把几个名词分清&lt;/h2&gt;&#xA;&lt;h3 id=&#34;commonjs&#34;&gt;CommonJS&lt;/h3&gt;&#xA;&lt;p&gt;Node.js 最早用的是 CommonJS。典型写法如下：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;const&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;fs&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;require&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;s1&#34;&gt;&amp;#39;node:fs&amp;#39;&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;module&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;exports&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;=&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;它的特点是：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;运行时加载&lt;/li&gt;&#xA;&lt;li&gt;入口 API 是 &lt;code&gt;require&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;导出核心是 &lt;code&gt;module.exports&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;对旧 Node.js 生态兼容最好&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;如果你是这种写法，不要写 &lt;code&gt;exports = xxx&lt;/code&gt;，那只是改了局部变量绑定，真正导出的仍然是 &lt;code&gt;module.exports&lt;/code&gt;。&lt;/p&gt;&#xA;&lt;h3 id=&#34;esm&#34;&gt;ESM&lt;/h3&gt;&#xA;&lt;p&gt;ESM 是 ECMAScript 标准模块格式，现在已经是浏览器和 Node.js 的共同主线：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;export&lt;/span&gt; &lt;span class=&#34;kd&#34;&gt;function&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;)&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;k&#34;&gt;return&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;a&lt;/span&gt; &lt;span class=&#34;o&#34;&gt;+&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;b&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-js&#34; data-lang=&#34;js&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;kr&#34;&gt;import&lt;/span&gt; &lt;span class=&#34;p&#34;&gt;{&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;}&lt;/span&gt; &lt;span class=&#34;nx&#34;&gt;from&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;./add.js&amp;#39;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nx&#34;&gt;console&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;.&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;log&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;nx&#34;&gt;add&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;(&lt;/span&gt;&lt;span class=&#34;mi&#34;&gt;1&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;,&lt;/span&gt; &lt;span class=&#34;mi&#34;&gt;2&lt;/span&gt;&lt;span class=&#34;p&#34;&gt;))&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;它的特点是：&lt;/p&gt;</description>
			</item>
			<item>
				<title>Linux TCP 服务端调优</title>
				<link>https://bitsflow.org/engineering/tcp-performance/</link>
				<pubDate>Thu, 12 Mar 2020 15:56:28 +0800</pubDate>
				<guid>https://bitsflow.org/engineering/tcp-performance/</guid>
				<description>&lt;p&gt;很多旧的 TCP 调优文章都带着明显的时代痕迹：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;把代理场景、路由转发场景、普通服务端场景混在一起&lt;/li&gt;&#xA;&lt;li&gt;往 &lt;code&gt;/etc/sysctl.conf&lt;/code&gt; 里塞一大堆已经废弃、默认已经合理、或者根本不该全局修改的参数&lt;/li&gt;&#xA;&lt;li&gt;只给“魔改参数”，不给验证方法&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;Linux 5.x / 6.x 下，更靠谱的思路是：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;先确认瓶颈是在应用、内核、NIC，还是链路本身&lt;/li&gt;&#xA;&lt;li&gt;只改少量确实相关的参数&lt;/li&gt;&#xA;&lt;li&gt;每次改动都能用指标或压测结果验证&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;h2 id=&#34;先看什么&#34;&gt;先看什么&lt;/h2&gt;&#xA;&lt;p&gt;先别急着改 sysctl，先看这些：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 当前拥塞控制算法和可选项&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sysctl net.ipv4.tcp_congestion_control&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sysctl net.ipv4.tcp_available_congestion_control&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 当前 qdisc&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sysctl net.core.default_qdisc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;tc qdisc show dev eth0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# TCP 概览&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ss -s&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ss -lnt&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 协议计数器&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nstat -az&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 网卡统计&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;ethtool -S eth0&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;如果问题其实是：&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;进程 &lt;code&gt;ulimit -n&lt;/code&gt; 太小&lt;/li&gt;&#xA;&lt;li&gt;应用监听 backlog 太小&lt;/li&gt;&#xA;&lt;li&gt;单进程 accept 太慢&lt;/li&gt;&#xA;&lt;li&gt;用户态线程池、数据库连接池、磁盘 IO 才是瓶颈&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;那改 TCP 参数通常不会有本质帮助。&lt;/p&gt;</description>
			</item>
			<item>
				<title>关于我</title>
				<link>https://bitsflow.org/about/</link>
				<pubDate>Mon, 29 Feb 2016 16:26:30 +0800</pubDate>
				<guid>https://bitsflow.org/about/</guid>
				<description>&lt;p&gt;程序员，摄影师，现场录音爱好者。&lt;/p&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;Email: &lt;code&gt;garden.yuen # gmail.com&lt;/code&gt;&lt;/li&gt;&#xA;&lt;li&gt;GitHub: &lt;a href=&#34;https://github.com/weaming&#34;&gt;@weaming&lt;/a&gt;，详见&lt;a href=&#34;./engineering/my-projects/&#34;&gt;我的代码项目汇总&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;RSS: &lt;a href=&#34;./feed.xml&#34;&gt;feed.xml&lt;/a&gt;&lt;/li&gt;&#xA;&lt;li&gt;EarthWaves 地球波动: &lt;a href=&#34;https://earthwaves.bitsflow.org/&#34;&gt;earthwaves.bitsflow.org&lt;/a&gt; 录音展示和分享。&lt;/li&gt;&#xA;&lt;/ul&gt;</description>
			</item>
	</channel>
</rss>
