2024-03-17

30 篇热帖

1. How web bloat impacts users with slow devices (danluu.com)

本文探讨了现代网站臃肿对使用低端设备的用户造成的严重影响,指出随着CPU性能增长远慢于带宽,网页对设备能力的要求已成为比网络速度更关键的问题。

核心发现与测试: 作者在多种设备上测试了数十个网站,包括高端笔记本(M3 Max、M1 Pro)、模拟低端设备(M3设为10倍降速)以及真实低端手机(如Tecno Spark 8C、Itel P32)。测试指标包括传输大小、最大内容绘制时间(LCP*)和主线程CPU使用时间。

  • 性能差异巨大:许多现代网站(如Discourse、Medium、Reddit、Twitter、Wix)在低端设备上完全无法使用,表现为加载缓慢、滚动卡顿、点击无响应,甚至导致浏览器崩溃。例如,Discourse在Itel P32上加载失败,在Tecno Spark 8C上CPU使用时间高达26秒。
  • 老旧网站更友好:老旧或设计简单的网站(如MyBB、phpBB、旧版WordPress)在低端设备上体验良好,因为它们负载轻、交互直接。
  • CPU是关键瓶颈:网站在高端设备上表现尚可,但在低端设备上性能会呈非线性恶化。高CPU使用时间直接导致页面卡顿和无法交互。

原因分析:

  1. 开发者心态:许多开发者隐含地认为“CPU速度无限”,忽视硬件性能差异,并期望通过未来硬件提升来解决性能问题。Discourse创始人关于高通芯片性能的言论(认为其仅为苹果芯片的74-85%性能是“尴尬”)体现了这种态度,同时也流露出对非富裕用户的漠视。
  2. 优化扭曲:一些网站为追求谷歌PageSpeed Insights等指标分数而进行“优化”,例如通过显示无用的加载画面来操纵LCP指标,但并未真正提升用户体验。
  3. 技术选择:采用动态加载、无限滚动等“现代”技术的网站,往往在低端设备上表现更差,因为这些技术增加了CPU负担和交互的不可预测性。

影响与建议:

  • 用户影响:全球大量用户使用的是收入水平相当于美国新iPhone价格的低价设备。这些网站的低可访问性将这部分用户排除在外。
  • 商业价值:优化性能在A/B测试和长期用户留存方面通常能带来显著的商业回报。
  • 设计建议:对于低端设备,静态、轻量的页面体验最佳。应避免复杂的动态加载,确保交互(如滚动、点击)的可预测性和响应性。网站性能是可及性和商业成功的重要基础。
2. Hackintosh Is Almost Dead (aplus.rs)

Hackintosh(黑苹果)技术正面临严峻挑战,濒临消亡边缘。作者在2020年首次搭建并在数台设备上日常使用,认为当时时机合适,因苹果正逐步转向自研CPU/GPU,且Intel Mac仍能获得多年系统支持。

然而,macOS Sonoma的发布成为转折点。苹果移除了所有旧款博通(Broadcom)WiFi/蓝牙卡的驱动支持,这些卡曾是实现Messages、FaceTime、AirDrop等核心iServices功能的“开箱即用”关键组件。尽管社区项目(如OpenIntelWireless)努力适配Intel无线网卡,但苹果对驱动架构的彻底重构(从.kext转向.dext,采用新API)导致iServices功能严重受损,几乎无法可靠运行。

作者以自身近期搭建的Sonoma实验性设备为例,详述了诸多不稳定问题:

  • Intel I225-V以太网控制器随机导致系统崩溃。
  • Intel AX200无线网卡虽能连接WiFi和iCloud,但Messages/FaceTime无法工作。
  • 蓝牙识别异常,需切换至Windows系统才能恢复。
  • 无法从macOS 14.3.1更新至14.4。

作者认为,缺失可靠的WiFi驱动及iServices功能是Hackintosh的致命缺陷。他无法接受一台缺少完整通讯和生态功能的设备被称为“Mac”。尽管macOS Ventura仍能稳定运行,但无法升级至Sonoma意味着错过了重要功能。

最终,作者决定放弃Hackintosh,计划购买二手或全新的苹果Silicon Mac(如Mac mini或Mac Studio)。文章同时澄清,苹果此举并非有意打压Hackintosh社区,而是正常的代码库优化和旧驱动清理过程。

总结:Hackintosh的可行性因苹果移除关键无线驱动支持、系统底层架构变更及随之而来的稳定性问题而急剧下降,尤其对于依赖完整iServices功能的用户而言,该技术已近乎死亡。

5. Fifty Things you can do with a Software Defined Radio (blinry.org)

用软件定义无线电探索电磁频谱的50种方式

作者受“制作50件东西”技巧启发,用一周时间尝试通过一个便宜的软件定义无线电设备和天线套件,接收并解码电磁频谱中的50种信号。SDR是一种主要依赖计算机进行信号处理的无线电,能检测远超普通收音机的频率范围。

一、基础准备与设备

  • 硬件:使用RTL-SDR Blog V4 USB接口SDR设备、配套的偶极子天线套件和一段长导线。
  • 天线调整:根据目标频率调整天线长度(例如,每侧长度约为72/频率(MHz) 米)。
  • 核心软件:SDR++(主用,界面现代流畅)、SDRangel(支持多种解码)、以及各种专业解码软件(如rtl_433、fldigi等)。

二、接收的各类信号(部分示例)

项目覆盖了从民用广播到专业领域的广泛信号:

  1. 民用与广播

    • FM/立体声广播:接收本地电台,并通过RDS协议获取电台信息及交通路况。
    • 数字广播:接收DAB+信号,音质无噪声。
    • 天气信息:接收机场自动终端情报服务和气象传真图。
    • 短波广播:在夜间利用电离层反射,收听到远在中国等地的国际广播。
  2. 业余无线电

    • 语音通信:在2米波段(144-146 MHz)监听业余无线电爱好者的对话圈。
    • 数字模式:接收FT8等用于远距离短消息交换的数字通信。
    • 业余卫星:接收意大利“Max Valier”教育卫星发送的莫尔斯电码信号。
  3. 航空与航海

    • 飞机跟踪:通过ADS-B信号(1090 MHz)实时跟踪飞机位置。
    • 飞机通信与导航:收听机场信息广播,并接收甚高频全向信标信号用于航空导航。
    • 船舶跟踪:接收船舶自动识别系统信号,在地图上跟踪船舶位置。
  4. 卫星与气象

    • 气象卫星:成功解码NOAA气象卫星的实时云图(红外图像)。
    • 气象探空仪:接收并追踪气象气球,获取高空温湿度数据,甚至尝试现场搜寻坠落的气球。
    • 业余卫星:接收卫星莫尔斯电码信标。
  5. 物联网与感应设备

    • 传感器数据:解码附近433 MHz频段的温湿度传感器、车辆胎压监测等无线设备的信号。
    • 无线仪表:接收无线水表、燃气表等设备发送的数据。
    • LoRaWAN:捕获用于物联网的LoRaWAN通信信号。
  6. 科学与探索

    • 电离层探测:观测用于研究电离层的电离层探测仪信号。
    • 多普勒效应:通过测量卫星信号频率偏移,估算其飞行速度。
    • 神秘信号:发现并探索无法立即识别的未知信号。
    • 电磁干扰:发现笔记本电脑充电器会引入强烈的电磁噪声。

三、项目总结与思考

  • 收获:通过这个密集的一周实验,作者深入了解了无线电原理和SDR的应用潜力,见证了周围无处不在的电磁活动。
  • 挑战:部分尝试需要多次学习、调整天线或寻找合适的软件解码方法。
  • 合法性提醒:在德国,监听某些通信(如警方、出租车调度、民用波段以外的航空通信)是违法的,作者在文中明确避免并提醒读者。
  • 未来展望:作者考虑考取业余无线电执照以便进行发射实验,并推荐了学习资源。项目也激发了对更多探索(如接收国际空间站信号、探测流星)的兴趣。

整个项目证明,借助简单的硬件和开源软件,普通人也能接入一个充满信息的隐形世界,进行富有教育意义的探索。

6. Google Scholar search: "certainly, here is" -chatgpt -llm (simonwillison.net)

摘要

在2024年3月15日的一篇链接博客文章中,描述了一项通过Google Scholar搜索特定短语来检测由ChatGPT生成的学术内容的方法。
搜索方法:在Google Scholar中搜索“certainly, here is”,同时排除关键词“chatgpt”和“llm”。
主要发现:这种搜索揭示了大量学术论文中包含明显由ChatGPT编写的部分。这些部分以固定短语“Certainly, here is a concise summary of the provided sections:”开头,作为明显的标志。
意义:这表明ChatGPT可能被广泛应用于学术写作,导致论文中出现模板化的AI生成文本。
日期:文章发布于2024年3月15日下午1点43分。

7. Debloat non-rooted Android devices (github.com)

UAD:非Root安卓设备去臃肿化工具

概述

UAD 是一个用 Rust 完全重写的项目,旨在通过移除不必要的、来源不明的系统应用来提升安卓设备的隐私和电池性能,同时通过减小攻击面来增强安全性。

重要免责声明: 本软件仍处于早期开发阶段,使用风险自负。作者对设备可能出现的任何问题概不负责。最坏的情况是移除了启动所需的核心系统包导致启动循环(bootloop)。大约5次失败启动后,手机会自动进入恢复模式,此时必须执行恢复出厂设置。请务必提前备份!但需注意,此软件不会导致设备变砖。

主要功能

  • 卸载/禁用恢复/启用系统应用。
  • 支持多用户(例如工作配置文件中的应用)。
  • 可将您的选择导出/导入uad_exported_selection.txt 文件。
  • 支持多设备同时连接。
  • 所有操作均有日志记录

注意: 无Root权限下,系统应用无法被真正卸载(只能禁用)。

通用去臃肿列表

工具提供多个预先整理的应用列表,包括:

  • GFAM(Google/Facebook/Amazon/Microsoft)
  • AOSP(安卓开源项目)
  • 设备制造商 (OEM)
  • 移动运营商
  • 高通/联发科/其他

支持的设备与运营商列表

设造商 (OEM)

支持列表包括:Archos, Asus, Blackberry, Gionee, LG, Google, iQOO, Fairphone, HTC, Huawei, Motorola, Nokia, OnePlus, Oppo, Realme, Samsung, Sony, Tecno, TCL, Unihertz, Vivo/iQOO, Wiko, Xiaomi, ZTE。

移动运营商

部分支持的运营商示例:

  • 法国:Orange, SFR, Free, Bouygues
  • 美国:T-Mobile, Verizon, Sprint, AT&T
  • 德国:Telekom
  • 英国:EE

使用方法

  1. 阅读常见问题解答 (FAQ)。
  2. 备份数据
  3. 在手机上启用开发者选项并打开 USB调试
  4. 断开所有OEM账户(例如小米、华为账户),否则删除相关应用后可能导致锁屏问题。
  5. 安装 ADB
    • Linux:使用包管理器安装 android-sdk-platform-toolsandroid-tools
    • Mac OS:通过 Homebrew 安装 android-platform-tools
    • Windows:下载并解压 Android Platform Tools,可将其添加到系统 PATH 或在同目录下运行程序,并确保安装了对应的USB驱动程序。
  6. 验证ADB已识别设备:运行 adb devices
  7. 下载适用于您操作系统的 UAD GUI 最新版本。若默认版本(Vulkan后端)无法启动,请尝试OpenGL版本。

重要提示:

  • 中国手机用户(特别是小米、华为)可能需要使用AOSP列表来移除部分预装应用,因为这些厂商常将AOSP包名用于其自有闭源应用。
  • 每当OEM推送系统更新后,您需要重新运行此软件,因为某些已禁用的系统应用可能被重新安装。

参与贡献

这是一个社区项目,欢迎参与改进。

  • 特别致谢:@mawilms (其 LotRO 插件管理器 Lembas 对理解 Iced GUI 库有所帮助) 和 @casperstorm (UI/UX 灵感来源)。
10. Instinctive Sleeping and Resting Postures (www.ncbi.nlm.nih.gov)

本文基于长期野外观察和临床经验,探讨人类及灵长类动物通过本能睡眠和休息姿势维持肌肉骨骼健康的机制。作者指出,现代“文明”生活方式(如使用枕头)可能导致脊椎和关节问题,而原始部落居民和野生灵长类动物因采用特定姿势,较少出现此类问题。

核心观点:

  • 自然矫正机制:睡眠时,若胸部被地面固定,呼吸带动肋骨运动会对脊椎产生回弹作用,从而自动调整关节错位。
  • 部落与野生灵长类的观察:作者通过全球多地考察发现,部落居民和猿类常采用相似姿势,且肌肉骨骼问题较少,这主要归因于生活方式而非基因差异。

关键姿势及其作用:

  1. 侧卧无枕:肩部内收可支撑颈部;头部略低可利用重力闭合口腔并轻微牵引颈椎;呼吸时的肋骨运动有助于脊椎复位和关节润滑。
  2. 胫骨卧姿:在寒冷潮湿环境中,身体蜷缩并以胫骨贴地,可减少热量散失、防止打鼾并保护听力。
  3. 观察姿势:以手臂为枕,利用头部重量对肩、肘、腕关节产生侧向滑动,有助于恢复关节附属运动。
  4. 四足卧姿:俯卧并略微旋转身体,可借助体重和太阳辐射热拉伸全身胶原纤维、放松肌肉,并利用“自然矫正机制”温和调整脊椎病变。
  5. 休息姿势
    • 坐于足跟:有助于前足与后足对齐,可能减少膝关节骨关节炎发生。
    • 全蹲:可复位骶髂关节,并让髋、膝、踝关节达到全范围活动,有助于治疗背痛。
    • 盘腿坐:被认为可预防髋关节关节炎。

结论与呼吁: 作者认为,采用本能睡眠和休息姿势能显著减少腰痛和关节僵硬。鉴于原始社会逐渐消失、野生灵长类濒临灭绝,记录这些观察至关重要。这些方法被视为灵长类固有的预防性技术,值得进一步研究。

12. Gravitational Collapse of Spongebob (twitter.com)

在x.com平台使用过程中遇到了技术问题。错误提示表明,问题可能与用户浏览器中安装的隐私相关扩展有关,这些扩展可能会干扰网站的正常运行。建议的解决方案是暂时禁用这些隐私扩展,然后重新尝试访问或操作。整体内容简洁,旨在指导用户快速解决常见的技术故障。

13. IBM 360 in UK need a home (www.ibm360.co.uk)

IBM 360计算机在英国的保存历程总结

该系列文章记录了英国爱好者团队(Adam和Chris为主)对一台IBM 360计算机的抢救、保存及最终安置的过程。

核心事件时间线

  1. 初期抢救与运输(2019年)
    计算机最初位于德国。团队在朋友和Sunspeed运输公司的帮助下,克服困难将其运回英国Creslow,并与当地服务公司ecom达成合作。

  2. 项目进展缓慢与停滞
    团队成员因繁忙的个人与职业生活,长期无法投入时间进行修复和更新。项目在2020年后基本处于停滞状态,计算机闲置近四年。

  3. 决定转让并寻找新家(2021年)
    团队认识到无法继续维护,做出艰难决定:为计算机寻找一个能展示并可能修复它的新机构。他们收到了来自世界各地博物馆和私人收藏家的大量询问。

  4. 危机与发现

    • 屋顶漏水危机:2019年5月,德国原存储房间屋顶漏水,险些损坏设备和手册,庆幸团队已及时搬离。
    • 发现新物品:在原房间后发现了更多IBM设备和工程手册,此前未被发现。
  5. 最终安置(2021年)
    经过评估,团队认为System Source博物馆符合其保存目标,将计算机转让给了该博物馆。

关键要素

  • 首要目标:始终是计算机的保存,而非其他利益。
  • 主要挑战:团队时间精力不足、运输困难、技术资源(如扫描大型手册的A0扫描仪)有限、以及新冠疫情的影响。
  • 社区支持:获得了公众关注、媒体(如The Register)报道以及志愿者(如退休工程师Simon Van Winklen)的帮助。
  • 最终归宿:System Source博物馆,一个被认为是实现保存目标的合适机构。
15. Super Micro Computer has gone from an obscure server maker to $60B market cap (www.wsj.com)
16. Heinlein's Fan Mail Solution (kk.org)

罗伯特·海因莱因为解决著名作者处理粉丝邮件的常见问题,设计了一个书呆子式方案:在互联网时代之前,他创建了一个单页FAQ答案表,但没有列出问题。他或他的妻子吉妮会勾选相应答案后寄回。这种方法虽可能被视为不礼貌,但比被忽略更好,且能一并回答其他未询问的问题。表格读起来有趣,迫使读者重建缺失的请求。1984年后,随着家庭电脑化,他们不再使用表格信,改为用电脑撰写个人回复,速度比勾选答案更快。

17. Django REST framework 3.15.0 (www.django-rest-framework.org)

Django REST Framework 版本更新摘要

Django REST framework 遵循明确的版本号规则和弃用政策。次要版本(0.0.x) 为API兼容变更,中等版本(0.x.0) 可能包含API变更,主要版本(x.0.0) 代表重大里程碑。项目已功能完整,多数发布为次要版本。弃用政策与Django一致,功能弃用会经历警告、升级警告和移除三个阶段。

3.17.x 系列

3.17.1(2026年3月24日):修复了HTMLFormRenderer处理空日期时间值的bug。

3.17.0(2026年3月18日)

  • 重大变更:放弃Python 3.9支持,移除已弃用的coreapi支持。
  • 新功能:支持Django 6.0和Python 3.14;新增DurationField输出格式、功能视图装饰器、UniqueConstraintviolation_error_code支持等。
  • Bug修复:修复Token覆盖风险、UniqueTogetherValidator验证、序列化器字段默认值等问题。
  • 其他:迁移打包至pyproject.toml,更新多语言翻译,重构令牌生成。

3.16.x 系列

3.16.1(2025年8月6日):修复了UniqueTogetherValidatorSerializerMethodField的回归问题,清理了不支持的Python版本代码,更新了翻译。

3.16.0(2025年3月28日)

  • 新功能:支持Django 5.1、5.2a1和Python 3.13;改进了UniqueConstraint对可空字段的支持。
  • Bug修复:修复unique_together验证、AttributeError防护、模板上下文处理等。
  • 移除:放弃Python 3.8支持,移除已弃用代码。

3.15.x 系列

3.15.2(2024年6月14日):修复可浏览API中的潜在XSS漏洞,回滚CursorPagination相关变更,放弃Django < 4.2和Python < 3.8支持。

3.15.1(2024年3月22日):修复SearchFilter对引号和逗号分隔字符串的处理,回滚3.15.0中引起意外副作用的变更。

3.15.0(2024年3月15日)

  • 重要特性:支持Django 5.0和Python 3.12;将可浏览API的登出方法改为POST;新增jQuery 3.7.1支持;改进部分序列化器、搜索过滤器和分页器。
  • 其他变更:添加CoreAPI弃用警告,移除pytz依赖,重构多项功能。

早期系列摘要

  • 3.14.0:支持Django 4.1,停止支持Django 2.2。
  • 3.13.0:支持Django 4.0,为ListSerializer添加长度限制选项。
  • 3.12.0:重大更新,包括OpenAPI架构生成支持、SearchFilter增强、架构组件支持等。
  • 3.11.0:改进架构生成,支持嵌套写入。
  • 3.10.0:切换到OpenAPI架构生成,停止支持Python 2。
  • 3.9.0:引入OpenAPIRenderer,改进ViewSet操作。
  • 3.8.0:改变read_only字段与默认值的交互,重构动态路由生成。
  • 3.7.0:重大变更,如DjangoFilterBackend弃用、时区感知DateTimeField行为变更。
  • 3.6.0:功能更新。
  • 3.5.0 及更早版本:包含多项功能改进、Bug修复和兼容性更新。

升级方法

使用pip升级:pip install -U djangorestframework 查看当前版本:pip show djangorestframework

19. Ahead of IPO, Reddit blends advertising into user posts (www.theregister.com)

Reddit在IPO前推出新型广告格式 为迎接首次公开募股(IPO),Reddit宣布推出名为“free-form ads”的全新广告格式。这种广告旨在模仿用户生成的帖子样式(包含图片、视频、列表等),使其在信息流中看起来与普通内容更相似,仅标注“推广”标签。Reddit称此举旨在提高广告的点击率和用户互动(如点赞),测试显示该格式点击率比其他广告类型平均提升28%。卡夫亨氏旗下费城奶酪等品牌已试用此格式,并声称获得了较高的互动率。然而,徕卡品牌的试用效果似乎不佳,其广告帖点赞数很低。

FTC调查Reddit与谷歌的数据交易 在IPO文件修订中,Reddit披露已收到美国联邦贸易委员会(FTC)的问询信。FTC正在对其向第三方(特别是谷歌)出售、许可或分享用户生成内容以用于训练AI模型的做法进行非公开调查。此前,Reddit与谷歌达成了一项价值6000万美元的协议,允许谷歌使用其数据训练AI模型。Reddit表示对此调查不意外,并认为自身并无不当行为。

背景与挑战 Reddit在成立近20年来从未实现盈利,计划于3月21日上市。为吸引投资者,公司近期采取了多项措施,包括去年将数据API转为付费服务以防止AI模型免费抓取数据,但随后又与谷歌达成数据授权协议。这些商业化举措,尤其是将广告融入信息流的做法,已引起部分用户的不满。

20. Parsing URLs in Python (tkte.ch)

Python 中的 URL 解析

URL 解析的复杂性与标准

正确解析 URL 异常困难,因为自1994年定义以来,URL规范已发生巨大变化。WHATWG 的 URL 规范旨在标准化浏览器行为,但仍未普及,且存在模糊之处(如斜杠数量问题)。对于新项目,WHATWG 规范是最佳起点。

Python 内置模块的局限性

Python 的 urllib 模块历史悠久,但不符合任何 URL 规范(包括旧版 RFC 3986 或 WHATWG 规范)。由于长期存在和广泛依赖,其解析行为已固化,不太可能重大更改。

Ada 项目:高性能的现代解决方案

Ada(2024年发布)是一个遵循 WHATWG 规范的 URL 解析库,用 C++ 编写,性能极高(比 cURL 快 7 倍),并已成为 Node.js 18+ 的默认解析器,使 URL 解析速度提升可达 400%。它提供了多种语言绑定,包括官方的 Python 绑定 ada-python

can_ada:优化的 Python 绑定

ada-python 绑定基于 CFFI,性能受限。因此开发了 can_ada,使用 pybind11 生成编译后的扩展模块,显著提升了速度。

性能对比

基准测试显示(单位:毫秒):

  • can_ada:平均 54.37
  • ada-python:平均 107.78(比 can_ada 慢约 2 倍)
  • urllib.parse:平均 253.24(比 can_ada 慢约 4.66 倍)

代码简洁性与兼容性

can_ada 仅用约 60 行代码定义绑定,且与底层 C++ API 一一对应。支持 CPython 3.7-3.12 和 PyPy 3.7-3.9,可通过 pip 安装。

使用示例对比

# can_ada(符合 WHATWG 规范)
import can_ada
url = can_ada.parse("https://www.GOoglé.com/./path/../path2/")
print(url.hostname)  # 输出: www.xn--googl-fsa.com(规范化域名)
print(url.pathname)  # 输出: /path2/(规范化路径)

# urllib.parse(不符合 WHATWG 规范)
import urllib.parse
url = urllib.parse.urlparse("https://www.GOoglé.com/./path/../path2/")
print(url.hostname)  # 输出: www.googlé.com(未规范化)
print(url.path)      # 输出: /./path/../path2/(未规范化)
21. Mars Has Influence on Earth's Oceans and Climate, Repeating Every 2.4M Years (www.smithsonianmag.com)

最新研究发现,火星与地球的引力相互作用可能以240万年为周期影响地球气候与深海环流。该研究通过分析6500万年的深海沉积物记录,发现深海环流强度呈现240万年的周期性波动,这一周期与火星和地球轨道引力相互作用的周期吻合。

科学家分析了近300个深海钻孔岩心,通过沉积物的连续或中断状况来判断环流强度。研究认为,当两颗行星轨道接近时,引力共振会改变地球轨道的椭圆度,影响地球接收的太阳辐射量,从而引发气候变暖和深海环流增强。

研究人员指出,这种深海涡流(称为“巨大漩涡”)可增强海洋混合,在温暖气候下有助于维持海洋通风。尽管该周期与人类活动导致的快速全球变暖无关,但研究长期气候循环有助于理解海洋在变暖环境下的运作方式。

目前科学界对此发现存在不同观点。部分学者质疑火星引力过于微弱(仅为太阳引力的百万分之一),难以产生如此显著影响。另有学者认为深海涡流与全球环流的关联尚属推测,卫星观测显示涡流未必总能到达海底以实现有效通风。

研究团队仍认为,这种自然周期可能在未来全球变暖背景下为海洋系统提供一种潜在支撑机制,特别是在大西洋经向翻转环流(AMOC)可能减弱或停滞的情况下。

23. How a Solar Revolution in Farming Is Depleting Groundwater (e360.yale.edu)

文章摘要:太阳能农业革命如何导致地下水枯竭

太阳能水泵在干旱地区迅速普及,帮助农民摆脱昂贵化石燃料依赖,提高农业产量。然而,这种全天候免费抽水技术正导致全球含水层加速枯竭,引发水资源危机。

1. 太阳能水泵的普及与优势

  • 太阳能水泵在印度、非洲等缺水地区广泛应用,农民通过政府补贴获得低成本设备。
  • 该技术提供免费灌溉,替代柴油或电网泵,延长耕作时间,增加作物产量,并提升食品安全。
  • 发展机构推广太阳能泵以减少贫困、降低碳排放,并缓解电网压力。

2. 对地下水的负面影响

  • 全天候免费抽水导致地下水过度开采,许多含水层以“快速且加速”的速率下降。
  • 印度拉贾斯坦邦等地水位持续下降,部分地区地下水已降至400英尺以下,部分水泵因无水可抽而废弃。
  • 富裕农民购买更强大水泵,加剧资源不平等;贫苦农民可能被迫购水或失去生计。

3. 全球案例与数据

  • 印度:全球最大地下水消费国,政府计划到2026年将太阳能泵数量增至350万,可能加剧超采。
  • 也门:太阳能泵用于灌溉卡特草,尽管降雨量高于平均,但2018年以来地下水显著下降,部分区域需深挖至1300英尺以上。
  • 阿富汗:赫尔曼德省罂粟农民转向太阳能泵,水位每年下降约10英尺,水资源濒临枯竭。
  • 撒哈拉以南非洲:已有50万太阳能泵,未来可能新增1100万台,威胁浅层含水层及依赖它的生态系统。

4. 全球地下水危机背景

  • 全球43%的灌溉用水来自地下水,年抽水量超过补给量近70立方英里。
  • 40国1700个含水层的监测显示,水位下降普遍存在,多国水位年降幅达3英尺以上。

5. 政策与技术挑战

  • 补贴旨在促进农业发展,但忽视了对水资源的长期管理。
  • 印度古吉拉特邦试点项目尝试鼓励农民将太阳能发电并网而非抽水,但效果有限。
  • 太阳能泵常与柴油泵并存,实际可能增加碳排放(因更密集农业活动)。
  • 世界银行专家指出,根本问题在于抽水成本为零,若无限制,过度开采不可避免。

6. 未来方向

  • 技术监管:建议太阳能泵配备传感器监控抽水量,以便政府限制使用。
  • 但政策执行面临矛盾:短期食品生产与长期水资源管理之间的权衡。
  • 非洲等无电网地区难以通过电力调控控制抽水。

结论

太阳能水泵作为绿色技术,短期内提升了农业生产力,但已演变为“环境定时炸弹”。其普及加速全球地下水枯竭,威胁食品安全、生态系统及贫困群体生存。解决方案需结合技术创新与政策限制,但核心挑战在于平衡资源利用与可持续发展。

24. How to mess with your roommate (2018) (bernsteinbear.com)

摘要

文章讲述了作者在2018年恶作剧室友Logan的故事,涉及公寓媒体服务器设置、技术实现和后续反转。

背景设置

  • 公寓使用一台运行Ubuntu桌面的电脑连接4K电视作为媒体服务器,同时提供网页、SSH等服务。
  • Logan购买了一张旧NVIDIA显卡以解决图形问题,但安装后出现驱动故障。

恶作剧构想与实现

  • 作者发现可通过SSH远程在电视上显示错误消息,例如使用命令DISPLAY=:0 zenity --warning --text 'Display is running in low-graphics mode.'
  • 为免手动操作,作者创建了一个公开网页,包含按钮“Fuck with Logan”。技术栈包括NGINX、PHP和FPM。
  • 网页由两部分组成:logan.html提供按钮界面,zenity.php执行操作。PHP脚本随机选择错误消息(如“Display driver stopped responding”)和状态(错误或警告),然后通过exec调用zenity命令在电视上弹出窗口。
  • 通过限制sudoers文件,允许web用户www-datathedisplayuser身份执行zenity,确保安全。

恶作剧效果

  • Logan对频繁弹出的错误消息反应强烈,多次重启和重装驱动,但不知恶作剧来源。
  • 作者将URL分享给知情朋友,增强了恶作剧效果。

反恶作剧与反转

  • 另一室友Chris介入进行反恶作剧:
    • 先是在zenity.php中添加消息“Max is behind all this”,作者删除后,Chris修改了zenity脚本和二进制文件,以随机显示该消息。
    • Chris甚至替换/usr/bin/zenity为自定义脚本,概率性显示针对作者的消息。
  • 作者反击:
    • 修改Chris的脚本,试图无效化其消息。
    • 更彻底地通过编译zenity源代码并添加补丁,使zenity忽略包含“Max”或“max”的消息,然后静默替换二进制文件。

结局

  • 恶作剧持续至毕业,作者在文章发布时Chris未察觉修改,Logan也未再看到相关消息。
  • 毕业后室友分开,恶作剧自然结束。作者决定记录整个故事。

整个恶作剧展示了技术知识在生活中的有趣应用,并演变为一场技术对抗游戏。

25. Low-tech Magazine underscores the potential of past technologies (solar.lowtechmagazine.com)

文章摘要

本文介绍了Low-tech Magazine推出的一款手推车。该手推车驾驶体验良好,旨在展示慢速、人力驱动交通方式的优势。文章发布于2026年4月22日。

26. Ask HN: If you've used GPT-4-Turbo and Claude Opus, which do you prefer?

这篇Hacker News讨论帖汇总了用户对GPT-4-Turbo和Claude Opus两款AI模型的使用体验与偏好。以下是主要观点的总结:

主要偏好:Claude Opus

绝大多数回复者表示更倾向于Claude Opus,尤其是在编程和工程任务中。他们认为:

  • 编程与工作流:Claude Opus能更好地理解项目上下文,通常只需2-3次调整即可生成可工作的代码或解决方案,非常适合融入工程流程。相比之下,GPT-4 Turbo有时会给出无关或不够精确的解决方案。
  • 输出质量与风格:Claude的回复通常更简洁、切题,减少了“企业套话”的感觉,语言更自然,不易被识别为AI生成。在写作(如邮件、文章)和总结任务中,其输出被认为更人性化。
  • 专注度与实用性:在进行产品规划、商业策略等头脑风暴时,Claude Opus显得更聚焦于用户描述的细节。在多语言支持(包括一些低资源语言)上也获得积极评价。

对GPT-4 Turbo的批评与优势

尽管偏好Claude的居多,部分用户仍提及GPT-4的某些优势或现状:

  • 性能争议:一些用户感觉GPT-4的性能(尤其是编程能力)似乎“被削弱”了,不如早期版本(如gpt-4-0314)强大。这可能与模型更新或资源转移有关。
  • 逻辑推理:个别用户认为GPT-4在复杂逻辑推理上仍有优势。
  • 功能与可用性:GPT-4的UI功能更全(如可编辑聊天、有浏览器功能和安卓应用),且支持Python代码执行,这对部分用户是关键差异。有用户通过自定义系统提示(如要求直接、简洁的回复)改善了GPT-4的输出风格。
  • 一致性:少数用户报告GPT-4在某些任务(如语言学习语法解释)上表现更佳。

共同挑战与用户担忧

  • 幻觉与准确性:两位模型都存在“幻觉”问题,即可能自信地提供错误信息。部分用户认为GPT-4在通过系统提示抑制幻觉方面稍好。
  • 上下文限制:所有模型处理大型完整项目上下文的能力仍是瓶颈,需要手动提供相关代码片段。
  • 可用性与政策:Claude在欧洲访问受限(主要通过API或第三方平台)。用户也担忧Claude未来可能变得过于保守(如开始拒绝某些提示),类似GPT-4经历过的“削弱”。
  • 新奇感与偏见:有评论指出,对Claude的偏好可能部分源于其“新奇感”或GPT-4已让人产生的审美疲劳。

总结

该讨论反映出一个趋势:在专业用户(尤其是开发者)中,Claude 3 Opus因其在编程任务中的实用性、更自然的输出风格而获得较多青睐。然而,选择高度依赖具体任务、个人工作流以及对模型可用性、功能(如代码执行)的需求。GPT-4 Turbo并未被完全否定,但其优势领域相对较窄,且用户普遍关注其质量是否因更新而下滑。两者都在持续的迭代和竞争中。

27. Mintlify GitHub read/write token leak (mintlify.com)

Mintlify GitHub读写令牌泄露事件摘要

事件概述

Mintlify 于2024年3月1日收到关于其端点安全性的警报邮件。经调查,发现其服务器日志中存在来自未识别设备的异常请求,这些请求成功访问了敏感API端点。调查显示,泄露的内部管理员访问令牌被用于未授权访问。进一步确认,其数据库中存储的 GitHub令牌 已被用于访问客户的代码仓库。总计 91个GitHub用户令牌 确认已泄露。

事件时间线(均为太平洋夏令时)

  • 3月1日16:55:收到关于端点安全/令牌潜在泄露的警报邮件。
  • 3月1日18:41:在日志中发现未识别设备访问API端点的记录。
  • 3月1日18:51立即撤销所有现有GitHub用户访问令牌
  • 3月1日18:51 - 23:00:轮换内部访问令牌;增强端点授权的安全协议;与漏洞赏金计划报告者取得联系。
  • 3月2-3日:与漏洞赏金报告者保持联系;修补了导致内部访问令牌泄露的漏洞;并再次撤销和轮换了所有令牌。
  • 3月18日10:20 AM:发布公告,确认91个令牌受影响,并已通知相关用户。

已采取的应对措施

  1. 撤销令牌:撤销了所有现存的GitHub用户访问令牌。
  2. 轮换凭证:轮换了内部的管理员访问令牌。
  3. 漏洞修复:修补了导致管理员访问令牌泄露的安全漏洞。
  4. 安全增强:增强了API端点周围的授权安全协议,以防止未授权访问。
  5. 渗透测试:执行了渗透测试。

进行中的预防与改进措施

  1. 与Oneleet等领先网络安全公司合作,进行全面调查并加强防御。
  2. 增强API端点的监控和告警系统,以快速检测和响应异常活动。
  3. 制定全面的安全政策,并建立专门页面公开安全措施和协议。
  4. 启动漏洞赏金计划,以便道德黑客报告安全漏洞。
  5. 重新审计其2024年的SOC 2认证。

当前状态与用户指引

  • 所有用户无需采取任何额外操作,可继续安全使用其产品。
  • 团队已解决漏洞,并采取措施确保未来此类事件不再发生。
  • 对于安全有任何疑问,可联系 [email protected]。
28. Lambda on hard mode: serverless HTTP in Rust (modal.com)

Modal的“硬核Lambda”:在Rust中构建无服务器HTTP服务

核心挑战与背景

Modal 平台在其无服务器函数上构建了HTTP和WebSocket支持,以处理复杂的Web请求。然而,传统的无服务器平台(如AWS Lambda、Cloudflare Workers)对运行时长、资源、带宽等有严格限制。Modal 则专注于支持重计算、长时间运行、高吞吐量的工作负载(如机器学习、视频处理),其容器可提供高达64个CPU、336 GB内存和多个H100 GPU,且允许处理高达4 GiB的请求体。这要求他们构建一个高性能、无限制的HTTP栈。

设计理念:将HTTP转换为函数调用

Modal 的核心架构创新在于将HTTP/WebSocket请求转换为对无服务器函数的调用,而非采用传统的反向代理模式。这使得:

  1. 共享基础设施:Web请求与函数调用共用同一套高效、低延迟的调度和通信机制。
  2. 原生支持流式传输:能够完整支持HTTP请求/响应体的流式传输(如大文件上传/下载)和WebSocket实时双向通信。
  3. 消除资源限制:架构本身支持超大请求体(4 GiB)和无限制的流式响应,突破了传统平台的限制。

技术实现细节

协议转换与ASGI

为统一不同HTTP版本(HTTP/1.1、HTTP/2、HTTP/3)的处理,Modal 内部使用ASGI协议的事件流来表示请求和响应。ASGI是一个成熟的Python Web服务器接口,他们将其事件序列化为Protocol Buffers二进制格式,作为分布式系统中函数调用的“通用语言”。请求到达后,被解析为ASGI事件流,并触发相应的无服务器函数调用。

应对HTTP/浏览器超时

为解决浏览器/客户端对长时间无响应连接的超时断开问题(通常约300秒),Modal 采用了一种巧妙的重定向机制:

  • 当请求处理超过150秒(2.5分钟)时,服务端会向客户端发送一个 303 See Other 重定向到一个带有唯一请求ID的新URL。
  • 客户端跟随重定向,建立新连接,从而重置超时计时器
  • 由于浏览器通常允许跟随多达20次重定向,这有效地将有效超时时间延长至约50分钟,使得长时间运行的计算任务无需用户自行实现复杂的心跳机制。

WebSocket支持

WebSocket通过HTTP/1.1的“连接升级”机制建立。Modal 将WebSocket握手过程同样转换为ASGI的websocket.connectwebsocket.accept事件。握手成功后,数据通道复用了与HTTP相同的基础设施进行消息传输。底层使用hypertokio-tungstenite库处理异步流。

错误处理与边缘情况

由于是分布式系统,必须周全处理各类故障:

  • 客户端断开:通过ASGI的http.disconnect事件通知函数优雅终止,避免资源浪费。
  • 服务端故障:包括函数崩溃、超时、实例被抢占等。系统会追踪异常并提供明确错误信息。
  • 协议违规:Rust的模式匹配和所有权系统有助于严格管理和处理各种事件序列的异常情况。
  • 实施后,502错误减少了99.7%。

基础设施与部署

modal-http 服务本身并非运行在Kubernetes集群中(Kubernetes用于管理更传统的云服务部分)。当前的入口架构为:

  1. TCP网络负载均衡器接收请求。
  2. 请求被转发至一个Kubernetes集群,其中运行着Caddy(用于TLS终止和证书管理)和modal-http服务实例。
  3. modal-http解析请求,并将其转换为对运行在Modal自有高性能无服务器运行时(基于gVisor)中的函数的调用。

当前局限与未来计划

  • 区域部署:目前modal-http仅部署在弗吉尼亚州阿什本,而计算函数已分布于多地。未来计划将入口服务扩展到更多区域,以降低网络延迟。
  • TCP端口支持:虽然当前HTTP请求被转换为事件流,但该设计可逆,能够无损地还原为传统HTTP,因此技术上支持需要直接暴露TCP端口的应用(如某些Web框架)。

总结与成果

通过将HTTP/WebSocket请求转换为函数调用,并构建在统一的modal-http(Rust实现)服务之上,Modal 成功在无服务器环境中支持了重型、无限制的Web工作负载。这不仅提供了完整的实时双向通信能力,还共享了其强大的函数调用基础设施,实现了性能、可靠性和功能的统一,为复杂云原生应用提供了一个强大而灵活的平台。

29. How Microchips Work (exclusivearchitecture.com)

微芯片工作原理概述

本文系统性地介绍了微芯片(特别是CPU)的工作原理,将其分为从底层物理器件到顶层系统架构的多个层次。

1. 核心层次解析 微芯片的工作原理可划分为多个抽象层次:

  • 设备级:基础是晶体管等半导体器件。
  • 电路级:器件组成基本电路。
  • 逻辑门级:电路实现“与”、“或”、“非”等基本逻辑功能,主要技术包括电阻晶体管逻辑和CMOS逻辑。
  • 寄存器传输级:由逻辑门构建更复杂的数字组件,如多路复用器、解复用器、编码器、解码器、算术逻辑单元、锁存器、触发器、寄存器及总线系统。
  • 微架构级:定义CPU内部的数据路径和控制单元如何协同执行指令。
  • 系统级:涉及CPU与其他系统组件(如内存、I/O)的交互。

2. 物理实现与封装 芯片制造完成后,需要通过封装技术将其保护并连接到电路板,提供电气接口和物理支撑。

3. 关键术语 文末的术语表旨在帮助读者理解文中出现的专业技术词汇。

30. Research shows that people who BS are more likely to fall for BS (2021) (uwaterloo.ca)

核心发现

滑铁卢大学的新研究表明,经常通过误导性夸张和扭曲来说服或打动他人的人,自身反而更容易被听起来令人印象深刻但无意义的虚假信息所欺骗。

研究定义与分类

  • 扯谎:指为达到误导、说服或给人留下深刻印象而设计的信息,通常不关心真实性。
  • 说服性扯谎:使用误导性夸张和修饰来打动、说服他人或融入群体。
  • 回避性扯谎:在坦率可能损害情感或声誉时,给出无关、回避性的回应。

关键结论

  • 说服性扯谎者难以区分真正深刻或科学准确的事实与听起来深刻但无意义的虚构内容。
  • 他们更容易被虚假新闻标题欺骗。
  • 回避性扯谎者则更能有效区分这两者。
  • 这种易感性与参与者的认知能力、反思性思维或元认知技能无关。

研究方法与机制

  • 研究涉及来自美国和加拿大的800多名参与者。
  • 评估了参与者自我报告的两种扯谎频率,以及他们对伪深刻、伪科学陈述和虚假新闻标题的深刻性、真实性或准确性的评分。
  • 同时测量了认知能力、元认知洞察力、知识过度自信和反思性思维。
  • 机制解释:说服性扯谎者倾向于将表面的深刻性误认为真正的深刻性。

研究意义

  • 该研究有助于揭示某些类型虚假信息传播背后的过程。
  • 对打击日益严重的虚假信息问题具有重要启示。

论文信息

  • 标题:《你无法欺骗扯谎者(是吗?):扯谎频率预测对各类误导性信息的接受度》
  • 作者:Shane Littrell、Evan Risko、Jonathan Fugelsang
  • 期刊:《英国社会心理学杂志》