2024-02-04

50 篇热帖

1. Write code for the web (mrmr.io)

这篇文章是作者关于开发者与平台关系的个人反思,主要围绕以下三个层面展开:

1. Apple并不真正关心开发者

作者认为,Apple的核心商业逻辑是服务于消费者(用户),而非开发者。开发者对Apple存在单向依赖,而Apple并不依赖个体开发者。这种关系导致Apple的行为常显得对开发者不友好,甚至漠视开发者的痛点。例如,Apple Music API长期存在严重问题:不仅仍具限制性,甚至隐藏未公开。开发者需要付费才能尝试使用,但作者意外发现,通过Apple自身的网页版音乐播放器竟可轻易获取无限制的根令牌。这种不透明和混乱的管理方式体现了Apple对开发者社区的不重视。

2. Google为例:大公司常忽视个体用户体验

作者以Google搜索页面无法自动适配深色/浅色模式这一存在多年的小故障为例,指出Google虽有能力修复却选择忽略,因为这对其收益无影响。这反映出大公司常基于“博弈论”做出成本收益决策,对非核心用户群的体验问题缺乏解决动力。作者个人转向使用DuckDuckGo等替代搜索引擎,并非出于隐私考虑,而是因为其体验更接近早期Google——简洁、直接、结果质量高。

3. 应转向为Web平台编写代码

基于上述经历,作者的核心结论是:开发者应优先为Web平台编写代码。Web是一个相对开放、不受单一实体控制的共享平台,尽管它面临政府过度监管、浏览器垄断等挑战,但其开放性仍为创新提供了更多可能。作者特别指出,Google在推动Web技术方面做出了积极贡献,而许多Web开发中的兼容性问题反而主要源自Safari的限制。

4. 动态看待与公司的关系

最后,作者反思了自己对公司的看法。他认为,公司如同人一样复杂,不应简单归类为“好”或“坏”。与公司的关系应是动态的:当公司试图将开发者置于零和博弈时,应减少对其依赖;若公司愿意建立共生关系,则可重新深入合作。一切并非一成不变。

总结:文章通过个人叙事与具体案例,揭示了苹果和谷歌等科技巨头在商业模式上对开发者的忽视,并由此提倡开发者应投身更开放、自主的Web平台开发,同时以更灵活、理性的心态看待与各类公司的关系。

2. Browser extensions are underrated: the promise of hackable software (2019) (www.geoffreylitt.com)

浏览器扩展的潜力:可黑客化软件的承诺

浏览器扩展常因恶意软件和功能限制引发争议,但其核心价值在于:它是主流软件平台中罕见的、允许并鼓励用户以开发者未曾预料的方式创造性修改应用程序的生态系统。这与智能手机和桌面平台的封闭性形成鲜明对比,让用户重获对软件使用的深度控制权。

核心价值与现状

  • 组装个性化软件:用户可通过安装多个扩展(如修改Gmail的视觉与功能),自行“组装”专属客户端,从被动消费者转变为主动构建者。Chrome商店超过18万个扩展及近半用户安装扩展的数据,证明了广泛需求。
  • 超越定制API的创造力:扩展的多样性源于它们不依赖应用特定的API,而是通过修改客户端代码(得益于网页代码的可读性)和利用标准化语义标记(如表单标签)实现功能。这赋予了开发者更大的创意自由。
  • 改变软件经济学:许多扩展是免费的小型工具,虽不足以支撑大生意,却为用户提供了巨大价值。浏览扩展商店的体验更像逛跳蚤市场,而非超市,体现了由社区驱动的软件繁荣。

开放性的根源与深层控制

Web的开放性源于Tim Berners-Lee“易于分享与学习”的愿景。浏览器扩展提供了比在平台内发布内容更深层的控制——用户可以“跳出框架”,深度修改任何Web应用的使用方式,实现了某种程度的体验去中心化

未来改进方向

  1. 提高易用性:降低从使用扩展到创建扩展的门槛,例如允许在浏览器内直接开发和发布。
  2. 增强兼容性:减少因网站更新导致的扩展失效问题,可通过推动语义化标记、允许用户控制云软件版本升级时间等方式改善。
  3. 提升扩展能力:目前扩展仅能修改客户端,未来需探索新的客户端-服务器架构(如去中心化网络),赋予扩展更深层的修改能力,同时需谨慎权衡安全与隐私问题。

展望与相关探索

一些项目(如Beaker Browser、SOLID)正重新思考Web架构,以给予用户对数据和“服务器”端更多的控制权。2024年的后续进展包括:作者构建的Twitter扩展、帮助非程序员用电子表格开发扩展的工具Wildcard,以及扩展货币化平台ExtensionPay。作者目前的研究方向转向由AI驱动的可塑性软件

浏览器扩展展示了一种值得追求的范例:一个我们能够常规性地黑客所用软件、使其真正为自己所用的未来。

3. Finance worker pays out $25M after video call call with deepfake CFO (edition.cnn.com)

摘要:金融工作者遭深度伪造诈骗损失2500万美元

一名跨国公司财务工作者在视频会议中被深度伪造技术欺骗,误以为对方是公司首席财务官,最终支付约2500万美元(约合2亿港元)。香港警方在简报中披露了此案件,高级警监陈善清表示,该工作者最初收到疑似来自英国CFO的消息时,曾怀疑是钓鱼邮件,因内容涉及秘密交易。然而,在参与多人视频会议后,他消除了疑虑,因为其他参会者在外貌和声音上均与熟悉同事高度相似,导致他相信通话真实。

实际上,视频中的所有参与者均为深度伪造生成的虚假形象。诈骗直到该工作者事后联系公司总部核实才被发现。警方未透露公司或工作者具体信息。

此外,香港警方指出,此案件仅为近期多起利用深度伪造技术诈骗的案例之一。在2023年7月至9月期间,犯罪分子使用了8张被盗香港身份证(均已报失),申请了90笔贷款和注册了54个银行账户;其中至少20次,AI深度伪造技术被用于欺骗面部识别系统。警方已逮捕6名与此类诈骗相关的嫌疑人。

深度伪造技术的复杂性及其潜在危害正引发全球关注。文中提到,2024年1月底,美国歌手泰勒·斯威夫特的AI生成色情图片在社交媒体上广泛传播,凸显了该技术可能带来的破坏性影响。

7. Plastic bag bans work (www.zmescience.com)

塑料袋禁令奏效

核心观点

美国公共利益研究小组教育基金主席费伊·帕克指出,塑料袋禁令确实有效。人们很快意识到没有塑料袋的生活也很容易,并逐渐习惯自带袋子或尽量不使用袋子。

背景与问题

塑料袋因其廉价和耐用性在1965年被发明后迅速普及,但过强的耐用性导致其难以降解,大量堆积在垃圾填埋场和海洋中。1997年“太平洋垃圾带”的发现使塑料污染问题受到广泛关注。塑料袋污染每年导致至少10万海洋哺乳动物和100万海鸟死亡,以及约1000只海龟因缠绕而死。

禁令实施与成效

  • 美国先行:2007年,旧金山通过美国首个塑料袋禁令。截至2023年,美国已有10个州实施全州禁令。
  • 显著效果:研究发现,实施的禁令平均每人每年减少使用近300个塑料袋。仅在美国,反塑料袋措施就避免了数十亿个塑料袋的使用。
  • 正确方向:报告强调,设计良好的一次性塑料袋禁令成功减少了塑料袋消耗、乱扔垃圾现象,并引导消费者选择更可持续的袋子。政策重点不应是转向另一种一次性袋子(如纸袋),因为纸袋生产耗能更高,且通常产生更多固体废物。

政策建议

报告认为,监管是解决塑料废物和污染的最佳方式,并提出具体建议:

  1. 禁止分发:不应允许杂货店、餐馆和零售店在结账时分发任何厚度的塑料薄膜袋。
  2. 收费限流:应要求商店对一次性纸袋收取至少10美分的费用,以限制纸袋使用量增加,甚至可能降低总消耗。
  3. 加强执行:地方政府和州政府应进行定期执法,以确保合规。

更多信息可查阅《塑料袋禁令奏效》报告全文。

9. Rye: A Vision Continued (lucumr.pocoo.org)

Rye 是作者个人对改进的 Python 打包和项目管理解决方案的愿景。它是一个综合性的用户体验,旨在成为 Python 程序员所需的唯一工具,能在一分钟内将项目从零搭建完成。

Rye 本身并不重新实现核心功能,而是整合并包装了已有的成熟工具:

  • 下载 Python:通过自动化方式获取 Indygreg Python 构建版本和 PyPy 二进制发行版。
  • 代码检查与格式化:内置 ruff,通过 rye lintrye fmt 命令调用。
  • 管理虚拟环境:底层使用 virtualenv 库。
  • 构建 Wheel:主要委托给 build 工具。
  • 发布:通过 twine 实现。
  • 依赖锁定与安装:目前使用 unearthpip-tools

Rye 的设计初衷并非颠覆性创新,而是以用户友好的方式将这些工具打包,显著降低开发者的认知负担,避免了分别学习、配置多个工具的复杂性。它采用了一种有主见的设计,为用户预设了许多选择,例如默认使用 pyproject.toml,并替用户决定了构建系统、linter、formatter、Python 发行版和构建工具。

这种设计理念深受 Rust 生态中 cargorustup 的启发,它们作为优秀的管理者,将核心工作委托给专门的工具。同样,Rye 提供了卓越的跨平台体验,包括 Windows 系统支持。

尽管在用户访谈和演示中反响积极,被证明易于上手且不会干扰现有 Python 环境,但 Rye 目前本质上仍是个人项目。它并未解决 Python 生态中的根本挑战,如多版本依赖、依赖安装性能或应用程序分发问题。

作者引用了一篇指出 Rye 缺乏足够贡献者的博客,认为这种单人维护的状态并不健康。作者自己也对 Rye 是否应该存在感到不确定,但希望社区最终能就类似 Rye 的标准化方案达成共识。

文章最后提供了进一步了解 Rye 的资源链接。

10. The engineering behind Figma's vector networks (2019) (alexharri.com)

文章深入剖析了 Figma 矢量网络技术的工程原理。传统钢笔工具自1987年沿用至今,其创建路径的核心逻辑——由节点和边构成的、单条连续、无分支的链——已成为设计惯例。然而,这种模式在构建需要多条路径协作的复杂形状(如立方体)时效率低下。

Figma 在2016年推出的矢量网络突破了这一限制,允许任意两个节点自由连接形成图结构,从而能用单一对象描述拓扑关系复杂的形状,显著简化了编辑过程。其核心实现基于图数据结构,其中节点代表位置,边代表连接(可为直线或贝塞尔曲线)。

实现矢量网络面临若干关键工程挑战:

  1. 寻找最小环路基:为了处理区域填充,需要找到图中所有“最小”(视觉上最内层)的封闭环路。文章介绍了一种基于顺时针(CW)与逆时针(CCW)遍历的算法,并利用向量叉积来判断方向的“更左”或“更右”关系,以确保算法稳定且与方向无关。
  2. 处理交叉点:当边相互交叉时,需要通过图扩展来处理:在交叉点创建新节点,并将相交的边分段,从而将交叉转化为图中明确的连接。这使得后续的环路寻找和填充操作得以在结构清晰的图上进行。
  3. 贝塞尔曲线边的特殊处理
    • 曲线方向判断:对于由贝塞尔曲线定义的边,需要确定其初始方向。作者提出了一种“激光”方法,通过细分曲线并检测点与线段的相交情况,来可靠地确定曲线的起始方向,解决了平行边等边界情况。
    • 自相交处理:贝塞尔曲线可能自相交,这也需要通过扩展来处理,即在自交点添加节点并分段。
  4. 复杂填充逻辑:文章解释了如何利用偶奇规则父子环路关系来正确渲染嵌套区域。通过标记连接内外环路的边(称为“交叉”),并识别“直接子环路”,系统能判断何时需要绘制、跳过或反转填充以呈现预期的视觉效果。
  5. 部分扩展优化:为了在用户交互(如点击切换填充)时保持图形的简洁性,可采用部分扩展技术。即仅当需要定义特定区域时,才动态地将相关的交叉点展开,而不影响图的其余部分。

文章最后提及了未涵盖的实现细节(如连接类型、描边对齐、布尔运算),并展望了矢量网络与动画结合、实现更灵活填充系统等未来探索方向。总的来说,Figma 的矢量网络通过引入图论概念和精巧的算法,解决了传统路径模型的局限,提升了矢量图形编辑的灵活性和效率。

11. Rolling Airframe Missile (www.navalgazing.net)

RIM-116滚动弹体导弹(RAM)是一种近程防空导弹,旨在作为舰船对抗反舰导弹的最后一道防线,与密集阵近防系统互补。它起源于20世纪60年代末美国海军对反舰导弹威胁的担忧,特别是考虑到密集阵系统射程有限(约1500码),面对超音速导弹时反应窗口短,且击毁后的残骸仍可能对己方舰船造成损伤。

RAM最初的设计基于“红眼”便携式防空导弹,但因尺寸过小,国会建议采用类似“响尾蛇”导弹的尺寸。1976年通用动力公司获得合同,与西德合作开发。研发过程历经波折,延迟约5年,双方一度考虑退出,但最终于20世纪90年代初服役。

该导弹设计独特,因从膛线发射管发射并在飞行中依靠四个尾翼旋转而得名。旋转设计使其仅需两个控制尾翼即可飞行。基础弹体、发动机、引信和战斗部源自“响尾蛇”导弹,红外导引头源自“毒刺”导弹。由于预期用于迎头攻击(目标发动机不可见),初始红外导引头依赖阳光反射(眩光),射程有限,因此早期制导依靠被动射频系统,可追踪典型巡航导弹的雷达导引头。旋转设计还允许导弹使用双传感器雷达干涉仪,且宽波束射频传感器可减少舰体结构造成的遮挡角10-15°。

早期型号(Block 0)服役后,因担忧其对抗红外或半主动制导导弹的效果,很快启动了Block 1升级,加入了可自主搜索目标的成像红外导引头,并保留射频导引头,具备双模制导能力。Block 1于1999年服役,在180次试射中拦截成功率达95%。2002年的软件升级(HAS)提升了其对直升机、慢速飞机和水面目标的性能。Block 2于2000年代中期开始研发,是一次更大规模的改进,包括换用直径6.25英寸的新发动机(射程从6海里增至10海里)、四尾翼转向系统和改进的射频导引头,于2015年获准服役并投入生产。

RAM采用“发射后不管”设计,对舰船作战系统负担较小,尤其适合无法支持“海麻雀”等复杂系统的小型舰艇。其衍生型号“海拉姆”系统将密集阵的炮管替换为11联装RAM发射器,可独立于舰艇自动探测和拦截来袭导弹,主要装备于独立级濒海战斗舰,部分伯克级驱逐舰也安装以增强巡航导弹防御能力。更常见的发射器是21联装Mk 49训练式发射器,与舰船作战系统集成,装备于所有美国航母、两栖舰艇及自由级濒海战斗舰。

目前,RAM已被德国、埃及、希腊、日本、墨西哥、卡塔尔、韩国、沙特阿拉伯、土耳其和阿联酋等多国采用。鉴于其作为对抗反舰导弹威胁的最小化有效系统,且该威胁近年来在红海等区域日益凸显,RAM的未来应用预计将进一步扩大。

12. How to Replace Your CPAP in Only 666 Days (aphyr.com)

本文记录了作者与健康保险公司Anthem历时666天更换CPAP呼吸机的理赔经历,揭示了该公司理赔流程的混乱与官僚主义问题。

事件起因与初期挫折:作者的CPAP设备使用六年后损坏。联系Anthem后,被转介至设备供应商,但对方以缺货为由拖延233天无果。作者遂自行从CPAP.com花费三千多美元购买新设备以应急。

漫长而混乱的理赔过程

  1. 多次申请被拒:作者于第282天提交理赔申请。Anthem系统错误地将其归类为“申诉”并驳回,且未通知作者。此后,作者按客服指示反复通过邮件和在线系统提交理赔,但记录在Anthem系统中时有时无,多位客服说法矛盾(时而称“无此理赔”,时而确认“有理赔”)。
  2. 流程悖论:客服既声称会员可自行提交理赔,又以缺少“账单提供商”或“索赔图片”为由拒绝。作者被推诿至医生、设备商、子代位权等多个部门,均未解决。
  3. 超出法定时限:作者查询俄亥俄州法律(第3901.381条),发现Anthem已严重超出处理理赔的法定30天时限。作者向俄亥俄州保险部门提出投诉。

关键转折与解决

  • 直接联系高管:在多次客服沟通无果后,作者通过研究联系到Anthem合规官及CEO,并发送详细投诉邮件。
  • 执行协调介入:Anthem的执行协调员介入调查,耗时355天后指出理赔问题源于设备商发票的账单代码(一项设备被列为两个代码)。经与CPAP.com三方确认该问题无法解决,且Anthem早年曾成功为同一设备理赔。
  • 最终赔付:在州监管部门和公司高管层面的关注下,Anthem于第653天同意全额赔付,第666天收到支票。

总结与反思:整个过程中,作者始终保持礼貌、详细记录、遵循流程,并利用法律和监管途径施压。作者希望此经历能促使Anthem改进流程,并为遭遇类似问题的消费者提供参考:坚持记录、了解地方法规、必要时向监管机构和公司高层直接投诉。

13. How not to bomb your offer negotiation (2016) (haseebq.com)

工作offer谈判关键策略总结

本文深入探讨了工作offer谈判的后四条规则,旨在帮助求职者以更有效、更人性化的方式完成谈判。核心思想是谈判应基于相互理解与合作,而非对抗或零和博弈。

谈判心态与基础

  • 目标不是对抗,而是合作:优秀的谈判者应具备同理心,寻求创造性解决方案以满足双方需求,而非试图控制对方或发出最后通牒。谈判类似于协调朋友间的晚餐计划,而非讨价还价买旧车。
  • 超越零和思维:不要将谈判视为固定蛋糕的争夺。双方往往对事物(如薪资、奖金、福利、工作内容等)的价值有不同看法。通过探索和询问,可以扩大谈判范围,让双方都获得更多所重视的东西。
  • 沟通方式选择:电话谈判有助于建立关系,但若信心不足,可礼貌地要求通过电子邮件进行,以争取更多思考时间。关键在于诚实、直接地表达偏好。

谈判筹码与准备

  • 拥有替代方案(BATNA)至关重要:拥有其他offer能极大增强谈判地位,但即使没有,也要有强大的“最佳替代方案”(如继续面试、深造、留在现职等)。关键是让对方感知到你的替代方案具有价值。同时,强调你对该公司的兴趣,避免透露对当前工作的不满。
  • 理解雇主视角:公司为招聘一位候选人投入巨大成本(时间、金钱),他们非常希望你能接受offer。因此,谈判时你处于有利位置。不必担心谈判会抬高期望或让未来上司不满——这些担忧通常是多余的。

谈判具体策略

  • 如何给出初始数字:尽量避免先报价。若被迫,可基于行业平均或市场数据提供一个起点,而非一个最终决定。
  • 提出加薪等具体要求
    • 重申兴趣:首先表达对公司和职位的兴奋。
    • 提供理由:为你的要求陈述一个合理、人性化的理由(如偿还学生贷款、计划购房等),这能让要求显得更具正当性,而非单纯贪婪。
    • 强调你的价值:在适当场合,提醒对方你能带来的独特价值和贡献。
    • 谈判多维度:不要只盯着薪资。签字奖金、股权、年终奖、休假、搬迁费、培训预算、工作设备等都是可谈判的项目。通常,薪资最难提升,公司更易在一次性付款(如签字奖金)或风险共担的股权上让步。
  • 应对谈判技巧:警惕招聘人员试图过早结束谈判的伎俩。例如,对方要求你承诺签约才去争取条件,或要求你承诺不与其他公司分享他们的报价。应对时,应重申你需要时间考虑(如“与家人商量后决定”),或将对方承诺纳入你的评估中,但避免做出无法兑现的保证。

推动谈判与最终决定

  • 设定明确截止日期:为自己设定一个做出最终决定的日期(例如“本周末与家人商量后”),并告知所有相关公司。这能避免无休止的拖延,并在截止日期临近时可能催生更好的报价。
  • 保持沟通与“可赢得性”:在整个过程中保持开放、诚实的沟通。让每家谈判中的公司都清楚,他们有机会赢得你。如果没有一家公司可能满足你,就不要浪费彼此时间谈判。
  • 使用“王牌”:在最终阶段,明确告知公司:“如果你们能做到X,我就会签约。”这能清晰地表达你的最终要求,并给予对方明确的目标。
  • 信守承诺:一旦做出承诺,必须履行。谈判结束后,应通知所有其他公司你的决定,并感谢他们的时间。

股权简要说明

  • 上市公司股权:通常以RSU(限制性股票单位)形式发放,归属后可在公开市场出售,价值等同于现金。
  • 私人公司股权:通常以期权形式发放,代表以约定价格购买股票的权利。期权风险较高,在公司上市或被收购前难以变现,且可能涉及复杂的税务问题。对公司的估值增长预测应持谨慎态度,最好参考投资者的估值作为基准。

总结

成功的谈判基于双赢思维、充分的准备、有效的沟通和对多维选项的探索。关键在于理解双方的需求,以诚实、尊重的方式寻求最佳结果。记住,谈判是正常的一部分,公司通常期望并愿意进行协商。

15. DIY MBA: My Reading List (2019) (chrisstoneman.medium.com)

DIY MBA 阅读书单 (2019)

作者正在进行自学的 DIY MBA 课程,以下是其更新中的阅读清单,涵盖六大核心领域:

会计与金融(已完成)

  • 《十天MBA》Steven Silbiger
  • 《便携式MBA:财务与会计》Grossman & Livingstone
  • 建议通过在线课程学习(如 Acumen Learning 课程)

产品、设计与营销

  • 《启示录:打造用户喜爱的产品》Marty Cagan
  • 《精益创业》Eric Ries
  • 《上瘾:如何打造让用户养成习惯的产品》Nir Eyal
  • 《设计心理学》Don Norman
  • 《长销经典:如何打造持久的作品》Ryan Holiday
  • 《营销:一个爱情故事》Bernadette Jiwa
  • 《故事品牌》Donald Miller
  • 《跨越鸿沟》Geoffrey Moore
  • 《赤裸裸的统计学》Charles Wheelan

组织行为、管理与沟通

  • 《高产出管理》Andy Grove
  • 《教练习惯》Michael Bungay Stanier
  • 《像领导者一样行动,像领导者一样思考》Herminia Ibarra
  • 《工作中的交谈》Deborah Tannen
  • 《影响力》Robert Cialdini
  • 《创业维艰》与《你就是你所为》Ben Horowitz
  • 《弹性管理》Lara Hogan
  • 《永远不要分摊差异》Chris Voss

全球经济与投资

  • 《资本主义与自由》Milton Friedman
  • 《债:第一个5000年》David Graeber
  • 《经济学:用户指南》Ha-Joon Chang
  • 《赢家通吃:中国资源争夺及其世界意义》Dambisa Moyo
  • 《一课经济学》Henry Hazlitt
  • 《投资最重要的事》Howard Marks
  • 《聪明的投资者》Benjamin Graham

战略与系统思维

  • 《好战略,坏战略》Richard Rumelt
  • 《平台规模化》Sangeet Paul Choudary
  • 《七大商业力量》Hamilton Helmer
  • 《蓝海战略》W. Chan Kim & Renée Mauborgne
  • 《必胜战略》Chet Richards
  • 《做正确的事》Pascal Dennis
  • 《商业模式新生代》Alexander Osterwalder & Yves Pigneur
  • 《实践中的理论》Chris Argyris & Donald Schön
  • 《系统之美》Donella Meadows
  • 《反脆弱》Nassim Nicholas Taleb
  • 《第五项修炼》Peter Senge
  • 《创新者的窘境》Clayton M. Christensen

创造力与执行力

  • 《高效能人士的七个习惯》Stephen Covey
  • 《创新公司:克服阻碍真正灵感的看不见力量》Ed Catmull
  • 《美丽的约束》Adam Morgan & Mark Barden
  • 《像艺术家一样偷师》Austin Kleon
  • 《有限与无限的游戏》James P Carse
  • 《创作的战争》Steven Pressfield
  • 《可能性的艺术》Rosamund Stone Zander
  • 《深度工作》Cal Newport
16. Apple Vision Pro and ADHD (dansalva.to)

摘要:

本文分享了作者使用 Apple Vision Pro 的初期体验,并探讨了该设备对 ADHD 用户的潜在影响。作者认为,尽管当前技术设备(如电脑、手机)效率极高,但其便捷性也导致了注意力分散的问题。作为 ADHD 感知者,作者发现 Apple Vision Pro 的交互方式(如眼动控制、手指手势、在 3D 空间中放置窗口)比传统设备更慢、更需专注,这反而有助于实现更 deliberate 和 mindful 的数字互动。

主要体验与观点:

  • 设备定位与价格:设备售价高昂(3500 美元),购买时附有退货期限。作者认为目前其主要卖点是“娱乐”功能,但自己仍在探索其他用途。
  • 显示与交互缺陷
    • 视频透视效果虽领先但仍显粗糙,影响现实世界视觉。
    • iPad 应用在 visionOS 中适配不佳,按钮选择逻辑不直观,操作常需猜测。
    • 视觉边缘在头部移动时会出现闪烁,虽然有利于性能优化,但可能分散注意力。
  • 缺陷的价值:作者认为这些缺陷使设备更具“魅力”,因为它迫使用户更选择性、更用心地使用,从而区别于那些可随时无缝切换任务的现代设备。
  • 与 ADHD 的关联
    • ADHD 用户在面对高效、便捷的技术时,更容易分心。
    • Apple Vision Pro 相对缓慢、刻意的操作流程(如需主动启动应用、定位窗口)减少了无意识使用的可能性,有助于提升专注度。
    • 使用“环境”功能隔绝外界视觉干扰,进一步减少分心。
  • 保留与否的决策:作者仍在考虑是否在退货期内保留设备。正计划为该平台开发一个生产力应用,若能在限期内取得进展,则可能以此为由保留。但作者坦言,14 天时间不足以完全评估其是否真正改善 ADHD 生活质量,因此对以“可能”为由购买感到犹豫。

总结:Apple Vision Pro 虽存在当前局限性,但其交互设计无意中为 ADHD 用户提供了一种更具 mindfulness 的数字体验方式,通过增加使用门槛来抑制注意力分散。然而,其高昂价格与初期不足使得长期价值仍需更多时间验证。

17. AvaloniaUI: Create Multi-Platform Apps with .NET (www.avaloniaui.net)

AvaloniaUI:使用 .NET 创建多平台应用

AvaloniaUI 是一个基于 .NET 的开源框架,专为构建跨平台桌面、移动和 Web 应用而设计。它使用 XAML 进行布局、C# 编写逻辑、并采用 MVVM 模式 组织代码。对于已有 WPF、WinUI 或其他 .NET UI 技术栈的团队,其模式和技能可直接迁移。

与依赖原生控件封装的框架不同,Avalonia 通过 Skia 图形库自行绘制 UI,确保在所有目标平台上实现像素级一致的渲染效果。单一代码库即可为 Windows、macOS、Linux、iOS、Android 及 WebAssembly 生成原生应用,无需针对不同平台进行特殊适配。

核心特性与优势

  • 性能卓越:Avalonia 12.0 在包含 350,000 个独立视觉元素的复杂布局测试中,帧率提升高达 1,867%。这得益于其在渲染管线上的重大投入,包括延迟合成和优化的脏矩形跟踪。
  • 渲染引擎:默认使用 Skia 渲染后端,保障跨平台视觉一致性。同时与 Google 的 Flutter 工程团队合作,引入 Impeller 引擎,利用预编译着色器和硬件加速管线,消除卡顿并降低高 GPU 负载任务的帧时间。
  • 技能无缝迁移:团队现有的 XAML、C# 和 MVVM 技能可直接应用于 Avalonia。为 WPF 和 WinForms 提供了详细的迁移指南,且 Avalonia XPF 提供二进制兼容性,允许在完全移植前在新平台上运行现有 WPF 应用。

开发工具与组件

Avalonia 提供完善的工具链,助力团队高效开发:

  • 专业工具:免费的 VS Code 扩展(提供 XAML 预览、IntelliSense 和项目模板),以及 Visual Studio 工具、运行时检查工具和一键打包工具。支持所有目标平台的热重载和 XAML 诊断。
  • UI 组件库:内置 70 多个免费开源控件,涵盖按钮、导航、数据网格及跨平台 WebView 等。Avalonia Pro 版本额外提供 6 个高级控件(如媒体播放器、富文本编辑器)及 70 多种图表类型。
  • AI 集成开发:通过模型上下文协议(MCP),允许 AI 代理(如 VS Code、GitHub Copilot CLI)直接访问 Avalonia UI。功能包括从截图生成 XAML、运行时检查和修改 UI 属性、导航元素树以及通过截图验证布局变更。

快速入门与社区信任

快速上手只需三步命令:

  1. 安装模板:dotnet new install Avalonia.Templates
  2. 创建项目:dotnet new avalonia.app -o MyApp
  3. 运行应用。

Avalonia 采用 MIT 许可证,拥有活跃的开源社区,并由 AvaloniaUI 公司提供商业支持。它已被 Unity、JetBrains、Autodesk、NASA 等众多组织的团队用于生产环境,全球超过 210 万个 .NET 项目信赖并使用该框架。

AvaloniaUI 让您能够利用已有的 .NET 技能,以单一代码库为所有平台交付应用,真正实现“一个代码库,处处运行”。

18. How Inuit Parents Teach Kids To Control Their Anger (2019) (www.npr.org)

因纽特父母如何教导孩子控制愤怒

人类学家Jean Briggs在1960年代前往北极圈研究因纽特家庭,发现他们具有非凡的愤怒控制能力。成年人几乎从不表现出挫败感,即使面对问题也保持冷静,认为显示愤怒是幼稚和软弱的表现。

因纽特育儿方式极其温和,从不喊叫或责骂孩子。他们通过特殊亲吻(如鼻子轻触脸颊)表达爱意,视严厉斥责为不恰当行为。传统上,他们用故事和戏剧表演来教育孩子控制情绪。

  • 故事讲述:父母用口头故事教导行为规范。例如,用海怪故事警告孩子远离水域,或用北极光故事让孩子在冬天戴帽子。这些故事有趣且带有警告性,帮助孩子理解后果。
  • 戏剧表演:当孩子行为不当时,父母不会立即惩罚,而是等待孩子冷静后,用戏剧重现事件。例如,母亲可能问“你为什么不打我?”,如果孩子打她,她会表演受伤并提问引导孩子思考后果。这种方法让孩子在不生气时练习控制愤怒,有助于重塑大脑应对情绪。

心理学家支持这种方法,认为情绪控制需要练习。通过故事和戏剧,孩子能学习自我调节,减少愤怒反应。因纽特社区在面临现代挑战时,仍努力保留这些传统育儿实践,强调温和教导的重要性。

19. A reasonable configuration language (ruudvanasseldonk.com)

文章主要介绍了作者因对现有配置语言(如HCL、YAML等)在处理重复配置时抽象能力不足感到沮丧,从而创建了一门名为RCL(Ruud's Configuration Language)的配置语言。以下是核心内容摘要:

创作动机与背景

作者在使用HCL(Terraform)、GitHub Actions、Kubernetes(YAML)等工具时,频繁遇到配置重复但难以优雅抽象的问题(如复制粘贴)。现有工具缺乏足够的控制流和抽象机制,导致维护困难。作者受到Nix语言函数式编程强大抽象能力的启发,并欣赏Python语法的清晰与可读性,因此决定融合两者的优点,创建了RCL。

RCL的核心特性

  1. 函数式基础与语法:RCL以函数式编程为基础,支持列表推导式、函数、格式化字符串等特性,能有效消除配置重复。其语法受Python影响,力求清晰易读。
  2. JSON超集:RCL是JSON的超集,任何JSON文档都是合法的RCL文档,便于从现有工具(包括YAML,通过先转换为JSON)增量迁移到RCL。
  3. 增强的JSON特性:支持尾随逗号、数字下划线、无需引号的ident = value字典写法,减少了视觉噪音。
  4. 类型与验证:具备类型系统用于文档和结构验证,例如通过key_by方法可确保唯一性并报告错误。
  5. 导入机制:支持文件导入,允许将配置拆分为可重用的小块,便于共享公共数据(如默认区域)。
  6. 命令行工具:提供rcl evaluate将RCL文档输出为JSON或RCL格式,rcl query可用于在文档上执行表达式以查询和提取数据。

应用场景

  • 配置生成:核心用途,用于生成可重复的云资源、CI/CD工作流等配置。
  • JSON查询工具:意外发现RCL可作为jq的强大替代品。其查询语法对熟悉RCL的用户更直观,尤其在处理缺失字段或复杂条件查询时(如从服务器列表中筛选特定标签的主机名)。

项目现状与展望

RCL目前仍是一个业余项目,没有稳定性承诺,不建议用于关键生产环境。它已在作者日常工作中作为jq替代品和配置生成器发挥作用。项目状态:

  • 已具备:较好的错误报告、参考文档、自动格式化、全面的测试(包括黄金测试和模糊测试)。
  • 待完善:编辑器支持(仅Vim)、类型系统仍在开发中、尚不支持浮点数、Python模块错误处理不完善、自动格式化器存在怪癖、关于语法细节(如else后是否加冒号)尚无定论。 作者对项目的未来持谨慎态度,享受其作为个人项目带来的自由和乐趣,暂不追求广泛采用。

附录:其他配置语言概览

文章最后列举并简要评价了多种其他配置语言,包括:

  • Bicep(用于Azure,未深入评估)。
  • CUE(类型系统独特,能消除样板代码,但工具链和性能可优化)。
  • Dhall(成熟,但作者对其语法和命名不习惯)。
  • Jsonnet(较为成熟,与RCL相似)。
  • KCL(资源投入多但可见度低,术语较多)。
  • Nickel(类似Nix但不绑定包管理器,作者发现其表达复杂验证较困难)。
  • Pkl(Apple新推出,内部使用多年)。
  • Pulumi(非配置语言,是用通用编程语言进行基础设施即代码的工具)。
  • Rimu(近期发现的类似项目,语法基于YAML)。
  • Starlark(Bazel使用的Python方言,适合嵌入但不适合增量采用)。
  • TypeScript(作为JSON的超集,具有类型和抽象能力,是相关领域的工具)。
20. How Doom didn't kill the Amiga (www.datagubbe.se)

Amiga未死于Doom:一部计算机迷恋者的兴衰史

Amiga的黄金时代

作者于1992年购入Amiga 500+,这款1985年发布的架构在当时仍具竞争力。其优势包括:

  • 强大的多媒体能力:7 MHz 68000 CPU、1MB RAM、8位立体声及320x256 16色图形模式,图形和音频远超同期C64、早期Mac和PC。
  • 关键应用支持:如图形软件Deluxe Paint成为“杀手级应用”。
  • 竞品劣势:Atari ST音画表现较弱;PC则图形糟糕、音效差且依赖DOS命令行,价格高昂。
  • 价格优势:1992年末,入门级386 PC系统约660美元(含声卡和显示器),而Amiga 600仅499美元且预装软件。

PC的崛起与硬件竞赛

  • 摩尔定律冲击:90年代硬件迭代极快,Commodore接连推出A500+、A600和A1200,被批为“过时”,但实际是技术飞速发展的无奈。
  • Doom的影响:1993年Doom虽需高性能PC,但作者认为它只是“症状而非病因”。当时Amiga 4000(25 MHz 68040)才能勉强运行Doom,价格约2500美元。
  • PC性价比逆转:1994年,一台33 MHz 486 PC(SVGA、4MB RAM、200MB硬盘、显示器)售价1300美元,而性能相当的Amiga 1200升级成本已不相上下。
  • 技术标准分化:VGA采用“块状”像素模式(利于Doom等3D游戏),Amiga则使用“平面”图形架构(优化2D精灵效果)。但更快的CPU成为关键——Amiga的摩托罗拉CPU未能实现PC级别的降价。

Amiga的坚守与衰落

  • 作者的忠诚:即使Commodore于1994年破产,作者仍坚持使用Amiga,看重其先占式多任务、高效资源利用和高度定制化(如脚本语言、模块化OS)。DOS的单任务配置复杂、Windows 95内存需求高,均不如Amiga优雅。
  • 硬件升级困境:作者为A1200加装68030/68040 CPU、硬盘等,但成本高昂且仍落后于PC。
  • 市场与文化转变
    • 游戏从2D转向3D(如《雷神之锤》),Amiga硬件架构难以适应。
    • 互联网时代,网页为Windows/Netscape优化,Amiga浏览体验缓慢。
    • Amiga狂热粉丝陷入“平台认同危机”,抵制向x86迁移,反对使用廉价Intel CPU,导致平台现代化举步维艰。

根本原因:经济与标准化的胜利

  • 规模经济:PC采用标准化、大批量生产的部件(CPU、显卡、声卡),成本持续下降。Amiga依赖自定义芯片(AGA等),研发和生产成本高昂。
  • 全球化市场:PC无制式限制(PAL/NTSC),全球统一;Amiga等家用电脑需分区域适配。
  • Commodore的战略失误
    • 未能及时推出革命性新架构(如AAA芯片组)。
    • 即使推出新架构,也难以在定价和兼容性上与PC竞争。
    • 后期转向PowerPC的尝试(如AmigaOne)价格离谱,背离了Amiga“高性价比”的初心。
  • 行业趋势:1990年代末,除Mac(靠微软注资和iMac转型)外,所有独特架构家用电脑(Atari、Acorn等)均被PC淘汰,Unix工作站亦逐渐退出桌面市场。

结论

Amiga并非被Doom“杀死”,而是经济规律、标准化生产和技术演进共同作用的结果。它曾是超前时代的杰作,塑造了一代用户,但无法抵挡PC凭借规模化、开放性和快速迭代形成的生态壁垒。即使Commodore曾有更先进的硬件计划,也难以改变这一趋势——Amiga的消亡是家用电脑平台历史演进的缩影。

21. Let futures be futures (without.boats)

本文探讨了 Rust 语言中 futureasync/await 模型的设计哲学与价值。核心观点认为,future 不仅仅是性能优化的手段,更提供了一种与线程不同的并发结构能力,应充分发挥其独特优势。

核心争论与历史背景 文章回顾了 2010 年代关于 future 的争论。一方(以 Eriksen 为代表)认为 future 提供了优于线程的并发模型:异步函数与同步函数在类型上不同,能更清晰地区分 IO 与纯计算;future 支持顺序和并发组合,能更直观地表达并发逻辑。另一方(以 Nystrom 为代表)则批评这种“函数染色”问题增加了复杂性,认为 async/await 语法糖虽缓解了调用麻烦,但本质上仍将函数世界一分为二。

Rust 的 future 模型及其独特优势 Rust 采用了基于“就绪”(readiness-based)而非“回调”(continuation-passing)的 future 抽象。关键区别在于 futuretask(由执行器调度运行的 future)的概念。Rust 的设计使得单个 task 的所有状态(即其内部所有 future 的状态)可以作为一个整体分配内存(形成“完美尺寸的栈”),这带来了两种并发模式:

  1. 多任务并发:类似线程模型,通过 spawn 创建独立 task,使用异步锁、通道等进行通信。其 API 与阻塞并发相似,但实现不同。
  2. 任务内并发:这是 future 模型独有的能力,例如使用 select!join! 在单个 task 内并发执行多个异步操作。这些操作的状态直接嵌入父 future 中,无需额外分配或线程,实现了高度优化的低级状态机,是 Rust 异步模型相比传统线程的关键性能与表达优势。

“函数染色”问题的另一视角 文章提出,阻塞函数(GREEN 函数)实际上也存在“染色”问题:它们在语法上与普通函数无异,但在异步上下文中调用会导致性能问题甚至死锁(如持有阻塞锁跨越 await 点)。这使得异步代码调用阻塞 API 时面临隐蔽的风险。

核心设计原则:让 future 就是 future 作者主张,Rust 选择 future 模型是看中了其提供的“额外能力”(主要是任务内并发),不应为了简化而刻意模糊 future 与线程的界限。应基于 future 的能力构建更好的 API 和语言特性(例如,可设想利用生命周期特性自动在 yield 时释放锁),而不是试图用 maybe(async) 这类抽象来统一异步和同步世界。maybe(async) 无法抽象任务内并发,且在处理有状态库时价值有限。

其他考量与结论 文章简要讨论了 coroutine(协程)作为实现类似能力的替代方案,并指出 Rust 因兼容 C 运行时等约束选择了无栈协程(即 future/async)。最终,作者强调应接受并利用 future 模型的特性,通过发展生态和工具来降低使用难度,从而构建比线程时代更强大、更高效的并发程序。

22. macOS Sonoma 14.4 removes critical functions from the fileproviderctl command (forums.macrumors.com)

macOS Sonoma 14.4 移除了 fileproviderctl 命令的关键功能

在 macOS Sonoma 14.4 beta 版本(构建号 23E5180j)中,fileproviderctl 命令再次遭到破坏,移除了多个关键子命令。这一问题此前在 macOS 13.6 中也曾发生过。

移除的关键命令:

  • fileproviderctl evict
  • fileproviderctl listproviders
  • fileproviderctl stabilize
  • fileproviderctl materialize
  • fileproviderctl domain <...>

影响与用途:

这些命令用于操纵使用 FileProvider API 的软件,包括 Google Drive、OneDrive、Dropbox、iCloud Drive、CloudMounter、Strongsync 等云存储或文件同步应用。移除后,用户无法通过这些命令进行故障排除或修复同步问题,尤其是 evictdomain 子命令对管理文件状态至关重要。

Apple 的回应:

用户提交了错误报告(例如 FB13580772),但 Apple 回应称该问题不会修复或更改。后续的 macOS 14.4.1 和 14.5 beta 版本中,命令功能仍未恢复。用户询问 macOS 15 Sequoia 是否有改善,但尚无明确消息。

总结:

macOS Sonoma 14.4 的更新导致 fileproviderctl 工具功能大幅削减,影响依赖 FileProvider API 的应用管理。Apple 已表示无意恢复这些功能,用户可能需要寻求其他方法进行同步故障排除。

23. Space Station Demo (www.lexaloffle.com)

文章摘要:
本文介绍了“Space Station Demo”项目,这是一个基于6自由度3D引擎的快速演示,玩家可以以类似《天旋地转》的风格探索一个小型空间站。

核心内容包括:

  • 操作控制: Z键推进,方向键转向,X键加方向键可实现翻滚。
  • 技术实现:
    • 地图数据以长字符串形式存储,从Blender的OBJ文件生成。
    • 引擎采用简化门户系统与凸扇区结合的方式,来确定房间的可见性及绘制顺序。
  • 限制与改进方向: 当前空间站的复杂度受限于压缩代码空间;若需构建更大场景,可能需改用3D瓦片系统与模块化房间组合。
  • 致谢与更新: 感谢Fred72提供的polyfill代码(已附链接),并提及修复了与版本2.5g相关的部分代码问题。
24. The first amateur radio station on the moon (www.arrl.org)

日本SLIM探测器成功着陆月球并建立首个业余无线电台

2024年1月19日,日本宇宙航空研究开发机构(JAXA)的月球探测智能着陆器(SLIM)成功在月球表面软着陆。在着陆前,SLIM释放了两个小型月面探测器:LEV-1和LEV-2。其中,LEV-1负责接收LEV-2在月面移动时采集的数据。

JAXA业余无线电俱乐部(JHRC)为LE V-1申请并获得了业余无线电呼号 JS1YMG。自1月19日起,该探测器持续使用1瓦特功率、圆极化UHF天线,在 437.41 MHz 频率上发射莫尔斯电码信号,内容涉及“业余无线电业务相关事项”。

全球业余无线电爱好者正积极分析JS1YMG的信号。例如,丹尼尔·埃斯特维兹(EA4GPZ)在其博客中详细介绍了从信号中解调莫尔斯电码并提取代码字符串的方法与结果。

目前尚不清楚该信号能持续多久。JAXA表示,SLIM的设计并非旨在度过长达约14天的月球夜晚,预计数日内信号可能中断。

背景信息: SLIM于2023年9月6日发射,其主要任务是通过分析月球岩石成分,协助研究月球起源。此次着陆使日本成为第五个实现月球软着陆的国家。着陆精度极高,落点距离目标位置仅在180英尺(约55米)以内。

25. Show HN: Simple demo of a cold boot attack using a Raspberry Pi (github.com)

项目概述

这是一个使用树莓派演示冷启动攻击的简单项目,旨在展示RAM中数据残留的现象。冷启动攻击利用计算机内存(RAM)在断电后数据不会立即消失的特性来提取敏感信息。

项目结构与功能

项目代码分为几个部分:

  • src:用于将多张蒙娜丽莎图像填充到运行Raspberry Pi OS Lite的树莓派内存中的程序。
  • src-experiment:自动化实验脚本。它使用Raspberry Pi OS将单张图像注入连续的内存区域,然后使用裸机内核转储内存。实验通过改装的USB集线器(由继电器控制)自动选择启动盘(裸机内核盘或系统盘),并通过运行Tasmota的WiFi插座远程控制树莓派电源,最后通过SSH控制目标设备。
  • src-memcopy:一个裸机内核,用于通过树莓派的UART接口转储内存。
  • src-module:一个Linux内核模块,用于将图像注入连续的内存区域。

实验设置

  • 树莓派的内存被填充了蒙娜丽莎图像。
  • 通过快速开关电源模拟冷启动。
  • 使用改装的USB集线器和继电器(未来计划改用MOSFET)来切换启动设备。
  • 内存转储过程:通过UART以1 MBaud的速率将内存数据发送到另一个树莓派。

实验结果与观察

  • 使用内存取证工具LiME进行内存转储和分析。
  • 从转储的内存中成功提取出了蒙娜丽莎的图像,证明数据在断电后仍然残留。
  • 关键观察:在没有冷却措施的情况下,图像数据衰减得非常快。例如,在断电后延迟0.75秒时仍可提取图像,但大约在1秒后,图像几乎完全衰减。

技术细节

  • 为了分配足够的连续内存,在/boot/cmdline.txt中分配了700MB的连续内核内存。
  • /boot/config.txt中添加了配置以最大化CMA(连续内存分配器)
  • 使用自定义内核模块ramrec.ko将蒙娜丽莎图像填充到连续RAM中。
27. Researchers taking on fraudulent science (www.analystnews.org)

文章标题:研究人员打击欺诈科学

内容摘要: 提供的文本是网站analystnews.org的页脚部分,包含以下元素:

  • 导航链接:信息、关于、联系、重新发布、注册、订阅、RSS订阅、关注Twitter、Instagram、TikTok。
  • 法律信息:隐私政策、使用条款。
  • 版权信息:analystnews.org © 2023 by Analyst International News Ltd。

此内容未包含文章正文,仅显示网站的基本结构和版权细节。标题指向欺诈科学研究相关主题,但具体内容未在提供的文本中呈现。

30. .NET on Linux: What a Contrast (two-wrongs.com)

本文回顾了.NET在非Windows平台(尤其是Linux)上的发展历程,并对比了当前与过去的体验差异。

过去的情况(约五年前,.NET Core 2.1时代):

  • 生产运行尚可,开发体验糟糕: 在Linux上运行.NET代码基本可行,但相关的开发文档和工具支持非常欠缺。
  • 充满挑战的过渡期: 作者在从.NET Framework迁移到.NET Core的过程中,遇到了大量意料之外的兼容性问题,许多应用程序甚至无法编译或运行。
  • 痛苦的回忆: 这段经历在当时带来了诸多困扰,文章将其描述为“创伤性记忆”。

现在的状况:

  • 显著的改善: 近年来,.NET的跨平台开发工具和文档质量已大幅提升,达到了作者此前未曾预料到的水平。
  • 无缝的体验: 如今,作者在不同平台(Windows/Linux)上进行.NET开发时,几乎感受不到差异。

原因分析:

  • 微软的投入: 像微软这样拥有充足资源且愿意投资的公司,能够在短时间内显著推动生态系统的发展。
  • 第三方公司的推动: 以JetBrains为代表的公司提供了高标准的跨平台开发工具,这间接促使微软必须持续改进其官方工具,以保持市场竞争力。

总结:
.NET在Linux平台上的开发体验已从五年前的“艰难尝试”转变为如今的“无缝顺畅”,这一转变主要得益于微软的大力投入以及第三方工具竞争带来的积极影响。

31. In 1950, a U.S. troop plane vanished without a trace in the Yukon (www.cbc.ca)
32. Low-Power Wi-Fi Extends Signals Up to 3 Kilometers (spectrum.ieee.org)

低功耗Wi-Fi技术实现3公里信号传输

澳大利亚初创公司Morse Micro开发了一种基于Wi-Fi HaLow协议的片上系统(SoC),实现了前所未有的3公里无线通信距离。该技术基于IEEE 802.11ah标准,通过使用900MHz低频段(而非传统Wi-Fi的2.4GHz)来增强信号传播范围和穿透能力,同时具备低功耗特性,专为物联网(IoT) 应用设计。

技术特点与演示

  • 长距离与低功耗:在旧金山Ocean Beach的演示中,两台平板电脑通过HaLow网络在3公里距离内维持约1Mbps的速度,足以支持低画质视频通话。协议支持窄至1MHz的信道带宽,可容纳更多设备同时连接而不互相干扰。
  • 功耗优化:设备可长时间休眠,仅在需要传输数据时唤醒,适合电池供电的IoT设备,实现多年续航。
  • 应用场景:相比ZigBee或蓝牙,HaLow具有更远的传输距离;相比LoRa(可达数十公里),HaLow数据吞吐量更高,可支持视频监控等数据密集型任务。

行业争议与挑战

尽管技术性能突出,但HaLow的市场接受度较低,存在以下质疑:

  1. 采用率不足:该标准自2017年批准后,仍未被广泛采用,可能影响开发者信心。Qualcomm等早期支持者已失去兴趣。
  2. 竞争激烈:物联网连接领域已有SigFox、窄带物联网(NB-IoT)等成熟方案。Gartner分析师指出,蓝牙互操作性更佳,LoRa覆盖更广,HaLow处于“中间位置”,应用场景有限。
  3. 供应商风险:早期主要依赖Morse Micro单家供应商,但近年来Newracom等公司已开始生产HaLow SoC,Wi-Fi联盟于2021年推出认证计划以促进互操作性。

未来展望

Morse Micro认为,HaLow结合了高数据速率与长距离传输的优势,可覆盖多样化的物联网场景。随着认证计划推进和更多供应商加入,技术生态有望逐步完善。然而,能否在竞争激烈的物联网市场中占据一席之地,仍需观察实际应用落地情况。

33. What is a hard error, and what makes it harder than an easy error? (devblogs.microsoft.com)

硬错误的定义与背景 在Windows系统中,“硬错误”(hard error)指的是一种特殊的关键错误消息,通常由底层系统(如I/O系统)内部生成,用于处理低级错误,例如驱动器读取失败。在16位Windows时代,当发生I/O错误时,系统会显示一个类似“系统错误:无法从驱动器B读取”的对话框。

硬错误的特性与原因 硬错误消息之所以特殊,是因为它生成于用户界面级别以下的系统内部。在协作式多任务处理中,传统的MessageBox(消息框)会泵送消息并允许应用程序代码运行,但硬错误发生时,应用程序代码不应运行。因此,显示硬错误的代码被精心设计为仅依赖可重入的用户界面部分(如处理鼠标和键盘输入),所有图形通过GDI直接绘制到帧缓冲区,对话框行为完全手写。这确保了在显示错误期间,不会运行任何应用程序代码,避免了系统不稳定。

硬错误与软错误的区别 硬错误的对立面是“软错误”(soft error),即常规的MessageBox。软错误允许应用程序代码参与,而硬错误则完全由系统底层控制,更“硬”是因为它强制中断正常流程,且不依赖应用程序逻辑。

硬错误的演变 在32位Windows中,最初的硬错误消息形式消失了,但“硬错误”这一名称被重新用于描述其他低级别、关键的错误消息。这些现代硬错误通常指系统级的严重问题,需要立即处理。

作者信息 文章作者Raymond拥有超过30年的Windows开发经验,并运营网站“The Old New Thing”。

34. Leaky Vessels flaws allow hackers to escape Docker, runc containers (www.bleepingcomputer.com)

Snyk安全研究人员在2023年11月发现了四个统称为“Leaky Vessels”的漏洞,它们可被用于突破容器隔离,访问底层主机操作系统。这些漏洞影响了容器基础设施组件runc和Buildkit,由于Docker、Kubernetes及众多Linux发行版广泛使用这些组件,其潜在影响范围较大。

这四个漏洞详情如下:

  • CVE-2024-21626:源于runc中WORKDIR命令的操作顺序错误,允许攻击者逃逸容器,获取对主机系统的未授权访问。
  • CVE-2024-23651:Buildkit的挂载缓存处理中存在竞争条件,可能导致攻击者操纵进程以获取未授权访问或破坏正常操作。
  • CVE-2024-23652:在Buildkit的容器拆卸阶段,允许任意删除文件或目录,可能导致拒绝服务、数据损坏或未授权数据操作。
  • CVE-2024-23653:Buildkit的GRPC接口权限检查不严,可能允许攻击者执行超出权限的操作,导致权限提升或未授权访问敏感数据。

截至报道时,尚未发现这些漏洞被主动利用的迹象,但随着漏洞详情公开,利用风险可能增加。受影响组件及产品已发布修复版本:Buildkit于v0.12.5版本修复,runc于v1.1.12版本修复。Docker于2024年1月31日发布了整合修复组件的4.27.0版本(对应Moby引擎25.0.124.0.8版本)。AWS、Google Cloud、Ubuntu等云服务和操作系统也发布了相关安全公告,指导用户修复。美国网络安全和基础设施安全局(CISA)亦发布警报,敦促云系统管理员尽快采取防护措施。建议所有受影响的系统管理员尽快应用可用的安全更新。

35. TCC RISC-V Compiler Runs in the Web Browser (Thanks to Zig Compiler) (lupyuen.codeberg.page)

TCC RISC-V 编译器在网页浏览器中运行(借助 Zig 编译器)

项目目标

本文介绍了将轻量级C编译器(TCC)移植到网页浏览器的技术实现。核心目标是通过 Zig 编译器将 TCC(针对 64 位 RISC-V 架构)编译为 WebAssembly,使其能在浏览器环境中运行,最终用于在浏览器内编译和测试 Apache NuttX RTOS 应用程序。

技术实现路径

  1. 编译至 WebAssembly:使用 Zig 编译器,通过特定的编译选项将 TCC 的 C 源码编译成 WebAssembly 模块(tcc.o)。为此,对 TCC 源码进行了微小修改(如替换 setjmp/longjmp)。
  2. 构建 Zig 封装层:创建了一个 Zig 封装模块(tcc-wasm.zig),用于导出 compile_program 函数,接收来自 JavaScript 的 C 代码和编译选项,调用 TCC 进行编译,并返回生成的 RISC-V ELF 二进制文件。
  3. 解决 POSIX 依赖:TCC 依赖大量 POSIX 标准库函数,而 WebAssembly 环境不提供这些。项目通过以下方式解决:
    • 文件 I/O 模拟:实现了简化的 readwrite 函数,使用内存缓冲区模拟对 hello.c(输入)和 a.out(输出)的文件操作。
    • 格式化输出处理:针对 fprintf 等函数,采用基于模式匹配的简化实现,仅支持 TCC 常用的几种 printf 格式字符串(如 %d, %s)。
  4. 系统交互:生成的 RISC-V 二进制文件通过 ECALL 指令直接与 NuttX 内核进行系统调用(如 SYS_write)来实现输出,绕过了对完整 C 库的依赖。

关键技术解决方案

  • WebAssembly 与 JavaScript 交互:JavaScript 端负责加载 WebAssembly 模块、传递 C 代码字符串、接收编译后的二进制数据,并管理 NuttX 模拟器的运行环境。
  • POSIX 函数补全:从 Zig 社区的库(如 ziglibc)中借鉴了部分 POSIX 函数实现,并编写了关键的文件操作和格式化输出函数。
  • 简化的工作流:目前支持将编译好的 ELF 文件复制到模拟的 NuttX 文件系统,并在浏览器内的 NuttX 模拟器中直接运行,实现了“在浏览器中编写、编译、运行 NuttX 应用”的完整流程。

实际测试与验证

  • TCC WebAssembly 能够成功编译示例的 “Hello World” C 程序,生成正确的 64 位 RISC-V ELF 文件。
  • 生成的 ELF 文件能在 QEMU 模拟器和浏览器内的 NuttX 模拟器中成功运行,通过系统调用正确输出字符串。

当前局限与未来计划

  • 已知限制:仅支持有限的文件操作和格式化字符串模式;无法处理完整的 C 预处理指令(如 #include)。
  • 未来方向
    • 嵌入 ROM FS 文件系统,以支持标准头文件和库文件。
    • 实现更完整的 fprintf 系列函数和更多 POSIX 函数。
    • 完善在浏览器中从编译到 NuttX 模拟器执行的无缝集成。

结论

通过利用 Zig 编译器并将 TCC 编译为 WebAssembly,项目成功实现了在网页浏览器中运行一个 C 编译器的目标。该编译器能够编译出可在 Apache NuttX RTOS 上运行的 RISC-V 二进制程序,为在浏览器环境下学习和开发嵌入式系统提供了新途径。

37. Duncan Campbell – Investigative journalist and forensic expert (www.duncancampbell.org)

邓肯·坎贝尔(Duncan Campbell)是一位英国调查记者、法证专家、作家、顾问及电视制作人,专注于隐私、公民自由及监控议题。他的调查报道常常引发与英国政府的法律冲突,并因其开创性工作而广受认可。

核心身份与影响力 坎贝尔同时以计算机与通信数据领域的法证专家证人身份工作,在超过一百起刑事与民事案件中提供专家证词,并就监控立法向英国下议院及欧洲议会作证。他职业生涯超过三十年,为电视、平面及网络媒体制作深度报道,调查领域涵盖政府保密、企业犯罪与医疗欺诈,作品屡获殊荣,并常刊登于《卫报》、《观察家报》、《星期日泰晤士报》等英国主流报刊。

职业生涯关键节点

  1. 早期揭秘与“ABC案”:1976年,他通过文章《窃听者》首次揭露英国电子情报机构政府通信总部(GCHQ) 的存在。此报道导致了1978年著名的“ABC案”(以其与两位被告的姓名首字母命名),他面临最高30年监禁的官方保密法指控,该案令工党政府陷入尴尬。
  2. 《新政治家》杂志时期:1978年加入该杂志,与一批知名作家共事,发表了针对英国情报部门的系列报道,包括定位电话窃听中心及估算情报机构开支。
  3. “秘密社会”系列与“Zircon事件”:1987年,他为BBC创作纪录片系列《秘密社会》。其中揭露英国秘密间谍卫星项目“Zircon”的片段在播出前被特别行动处突击搜查查没,此事件被称为“Zircon Affair”。该系列后为第四频道重制。
  4. 国际调查联盟(ICIJ)项目:作为ICIJ创始成员,他参与了多项跨国调查,包括揭露烟草公司走私的“大型烟草”项目、报道私人军事公司的“制造杀戮”项目,以及2013年处理260GB数据、引发全球关注的“离岸泄露”调查。
  5. 揭露ECHELON系统:1988年,他揭示了全球监控网络ECHELON的存在。1998年受欧洲议会委托,他撰写了报告《拦截能力2000》,该报告于1999年获欧洲议会通过,并促成了对ECHELON的进一步调查委员会。

法证专家工作 自1980年代起,他提供法证专家证词,职业生涯后期专注于计算机法证。在著名的**“火枪手行动”** 中,他分析了被指控访问儿童色情内容的嫌疑人的计算机,发现证据存在严重缺陷,许多人只是合法访问了成人色情网站或成了信用卡欺诈的受害者。

社会活动与背景 他出生于格拉斯哥,毕业于牛津大学物理系。1987年公开出柜,是英国著名人权与平等组织石墙的六位创始成员之一。此外,他自2002年起在伯恩茅斯大学担任客座研究员,教授调查新闻伦理与数据新闻技术。

39. Highland hermit makes surprise film festival visit (2022) (www.bbc.co.uk)

高地隐士意外现身电影节

一名在苏格兰高地独居40年的隐士,意外亮相格拉斯哥电影节的红毯。

74岁的肯·史密斯离开了他位于洛哈伯地区特里格湖边的简陋小屋(该小屋无电力与自来水),前往格拉斯哥,参加一部关于其生平的纪录片首映礼。他形容格拉斯哥变化巨大,并感叹“从未见过这么多人”。

肯原本来自德比郡,因一次夜出遭袭昏迷近两周后,开始了流浪生活。在加拿大旅行时,他对荒野产生兴趣,回国后便选择他认为“英国最与世隔绝的地方”,自建了一间原木小屋,开始了长达数十年的独居生活。

这部纪录片由电影制作人莉齐·麦肯齐历时两年拍摄完成,最初为BBC苏格兰频道制作。莉齐十年前在高地一家咖啡馆工作时,从猎鹿人口中听说了这位森林中的老人,出于好奇与之接触,并通过多年通信逐渐了解他,随后自学电影制作以讲述他的故事。拍摄过程中,她记录了肯依赖土地生活的方式,以及他随年龄增长面临的挑战和与自然的紧密关系。肯曾因摔倒住院,期间莉齐帮他采购物品,两人建立了友谊。

为了出席电影节,肯凌晨4点起床,步行两小时到达最近的公路,再前往格拉斯哥。这是他数十年来首次离开高地,城市的巨大变化让他印象深刻。他表示自己并不紧张,但承认在居住地可能连续数周见不到人,与电影节人潮涌动的场景形成鲜明对比。

纪录片《特里格的隐士》将于3月8日至11日在线上平台(Glasgow Film at Home)放映,并于3月25日起在英国各地影院上映。

41. Visual overview of a custom malloc() implementation (silent-tower.net)

自定义 malloc() 实现的视觉概览

本文探讨了标准 C 函数 malloc() 的内部工作原理,并提供了一种具体的分离适应算法实现示例。

内存的来源

malloc() 分配的内存最终来源于操作系统。在经典用户空间中,进程拥有自己的虚拟地址空间,其中包含代码、库、静态数据、栈和堆。堆是 malloc() 管理的动态内存区域。当需要更多内存时,分配器通过系统调用 sbrk() 请求内核将新的物理内存页映射到进程的虚拟地址空间。在嵌入式系统中,堆区域可能是固定大小的。

如何分配任意类型:最大对齐

malloc() 接收字节数并返回 void* 指针,但返回的内存必须适用于任何数据类型。关键在于对齐。由于硬件要求,基本类型(如 intfloat、指针)的存储地址必须是其大小的倍数。所有类型的对齐要求最终取决于其包含的基本类型。因此,malloc() 只需返回按最大对齐(通常为4或8字节)对齐的指针,即可满足所有类型的存储需求。

分离适应算法实现详解

该实现是单线程、标准的分离适应分配器,具有16个大小类别。

块结构与序列导航

  • 内存块 由4字节的头部和用户数据区组成。头部包含块大小、使用状态等标志。
  • 块在堆中连续排列,形成一个序列。通过头部中的 last 标志标识序列末尾。
  • 前向导航:从当前块头部指针加上头部大小和块大小,可得到下一块的起始指针。
  • 后向导航:仅对空闲块有效,通过边界标签技术实现。空闲块在尾部(用户数据区末端)存储元数据(如大小或利用指针低位存储标志),配合前一块的 prev_used 标志,可以安全地找到前一个空闲块。

合并与分裂

  • 分裂:当 malloc() 请求的块大小小于找到的空闲块时,会将大块分裂为一个用于分配的小块和一个新的空闲块。
  • 合并:在 free() 时,被释放的块会立即与其前后相邻的空闲块合并,形成更大的空闲块,以减少外部碎片并便于满足后续大内存请求。

分离链表

为避免遍历整个堆序列寻找合适块的低效操作,空闲块根据大小被组织到16个独立的双向链表中:

  • 14个链表用于小尺寸块(8字节到60字节,每类4字节递增)。
  • 1个链表用于中等尺寸块(64-252字节)。
  • 1个链表用于大尺寸块(≥256字节)。 一个名为 index_t 的结构维护这些链表的头指针。对于小尺寸分配请求,通常直接从相应链表中取出第一个块即可(常数时间),仅在小链表为空时才搜索更大的链表并执行最佳适应查找。

malloc() 和 free() 的最终实现

  • malloc(size):将请求大小向上对齐至4的倍数(最小为8),通过 size_class 函数确定初始搜索的链表类别。从该类别开始向上搜索,找到第一个足够大的块后将其移出链表,必要时进行分裂,并将剩余部分重新插入链表。标记块为已使用并返回数据指针。
  • free(ptr):根据指针定位块头部,标记为未使用,并检查其前后的相邻块。通过 merge 函数与相邻的空闲块合并(合并前需先将它们从各自的链表中移除)。最终将合并后的空闲块重新插入其对应大小类别的链表头部。

性能、扩展与多竞技场

  • 性能:该算法对小请求响应较快,但最佳适应策略在碎片控制方面表现一般。
  • 扩展:实现了 realloc() 以及用于调试的断言检查函数。
  • 多竞技场:该实现支持多个独立的堆区域(竞技场),通过一个通用指针参数访问每个竞技场的状态数据。

结论

本文通过可视化与代码结合的方式,揭示了 malloc() 并非黑箱,其核心在于高效管理由操作系统提供的内存块,通过精巧的数据结构(块头、边界标签、分离链表)和操作(合并、分裂)来满足动态分配需求。

43. Hash collisions and exploitations (2019) (github.com)

本文系统探讨了哈希碰撞(特别是针对MD5和SHA1)的技术现状、攻击方法及其在实际文件格式中的利用与检测。以下是核心内容的总结:

1. 核心结论与现状

  • 不可能:使一个文件获得任意预设的MD5/SHA1哈希值。
  • MD5:可在普通计算机上于几秒内生成两个内容不同但MD5哈希相同的文件。通过附加数据的方法,也可在数小时内使两个内容任意的文件产生MD5碰撞。然而,对于特定文件格式(如JPG, PNG, PE, PDF, MP4等),可通过利用文件结构瞬间生成MD5碰撞文件对。
  • SHA1:生成任意两个文件的SHA1碰撞计算量极大(约6500年CPU时间),不实用。但对于特定场景(如PDF中嵌入的JPG图像)已有可行的瞬间碰撞方案(利用预先计算的碰撞前缀)。

2. 主要攻击类型

  • 相同前缀碰撞:两个文件拥有相同的前缀,后接由碰撞算法生成的少量差异字节(碰撞块),之后可附加任意相同的后缀。两者哈希值相同。
    • FastColl (MD5):速度极快(秒级),但对碰撞块附近的字节控制能力弱,利用难度高。
    • UniColl (MD5):速度较快(分钟级),能在碰撞块前后控制部分字节,且差异模式可预测,非常易于利用(例如通过改变注释块长度来切换显示不同内容)。
    • Shattered (SHA1):首个公开的SHA1完整碰撞,计算量巨大。差异位于碰撞块起始和末尾,对某些文件格式(如MP4)的利用需要特定条件。
  • 选择前缀碰撞:允许两个任意不同的前缀产生相同的哈希值,能力最强但计算成本最高。
    • HashClash (MD5):可在数十小时内完成计算。
    • Shambles (SHA1):成本极高,但理论上可行。

3. 文件格式利用策略

碰撞的有效利用依赖于文件格式的结构特性,主要策略包括:

  • 利用“注释”或“辅助”数据块:大多数文件格式(如JPG的注释段、PNG的辅助块、PDF的注释或流对象、MP4的free原子)允许存储被解析器忽略的数据。这些块可用于:
    1. 对齐:将碰撞块对齐到文件格式的块边界。
    2. 隐藏:隐藏随机的碰撞块数据。
    3. 切换:通过改变注释块的长度(由UniColl差异控制),使得一个版本的文件在某个位置停止解析(显示内容A),另一个版本则跳过该位置继续解析(显示内容B),从而在一个文件内嵌入两套不同的有效内容。
  • 特定格式的通用碰撞
    • JPG:利用注释和自定义扫描,可瞬间碰撞任意两张图片。
    • PNG:利用辅助块,可瞬间碰撞任意两图。但为兼容某些解析器(如Safari),要求IHDR头在前,此时碰撞仅限相同元数据的图像。
    • PDF:利用对象结构和注释,可瞬间在文档级别碰撞任意两个PDF。支持通过PDFLaTeX等工具直接生成碰撞文件。
    • PE可执行文件:通过修改DOS头和PE头,可瞬间碰撞任意两个Windows可执行文件。
    • MP4及类似原子/盒子格式:利用free原子,可瞬间碰撞任意视频。也适用于JPEG2000等格式。
    • GZip/LZ4/Zstandard:利用额外字段或可跳过帧,可瞬间碰撞任意两个压缩文件。
  • ZIP及其派生格式:ZIP本身因结构限制难以进行通用碰撞。但基于ZIP的格式(如docx, epub, xps, 3mf)可以通过标准化根文件(如[Content_Types].xml)并伪造其CRC32,利用额外字段存储碰撞块,从而实现通用的瞬间碰撞。
  • 无法进行通用碰撞的格式:包括ELFMach-OJava ClassTAR。因为它们的头部包含关键且可变的信息,无法在头部之前插入通用的碰撞块。

4. 高级利用与多碰撞

  • 多碰撞链:可以串联多个碰撞块,使多于两个文件(甚至多达609个)具有相同的哈希值。
  • 哈希自指文件:文件内容能显示其自身的MD5哈希值,这是多碰撞链的一种应用。
  • 跨格式碰撞
    • 多态碰撞:两个不同文件类型的文件具有相同哈希值(如一个JPG和一个PE文件)。需要选择前缀碰撞。
    • 复合碰撞:一个文件同时是多种有效格式(如既是PDF又是ZIP,或既是HTML又是PDF)。通过格式拼接实现,无需选择前缀碰撞。

5. 检测与缓解

  • 检测工具:可使用Marc Stevens开发的DetectColl工具。它通过分析碰撞块的工作状态来检测文件是否包含已知的碰撞结构(如FastColl、UniColl、Shattered等)。
  • 安全哈希:当检测到碰撞块时,可以重新处理该块以破坏其碰撞属性,从而生成“安全哈希”值。对于没有碰撞的文件,安全哈希等于标准哈希;对于含有碰撞的文件,安全哈希能区分不同内容,即使标准哈希相同。
  • 局限性:对于仅拥有单个文件且不进行深度文件结构分析的场景,检测碰撞非常困难。

6. 最终建议

文章强烈建议完全弃用MD5用于任何安全相关的用途。除非能主动且彻底地检查文件中的畸形结构和碰撞块,否则不应信任MD5哈希值。文中总结道:“这不是一个密码学哈希函数,这是一个玩具函数。”

44. Liquid logistics: The fine art of wine transport (www.dhl.com)

葡萄酒运输是一项专业业务,由专业的物流服务商(如Hillebrand Gori)提供支持。以下是葡萄酒运输过程中需要注意的五个核心要点:

  1. 温度控制:维持理想的运输温度至关重要。温度波动会导致葡萄酒发生化学反应、变质甚至造成不可逆的损坏。专业运输方法确保全程条件恒定,而风险管理方案则帮助客户提前预测气候条件,从而主动规划,保障酒的品质。

  2. 隔热衬垫:隔热是对抗外部环境因素的关键。热包装材料可用于缓冲温度变化和物理冲击。隔热衬垫是经过验证的防护层,能够抵御污染物和其他化合物,保护容器免受运输过程中温度和湿度变化的影响。

  3. 定制化包装:葡萄酒瓶需要专用包装以承受运输颠簸。设计有独立隔间或插件的葡萄酒运输箱可以固定酒瓶,最大限度地减少移动,降低破碎风险。

  4. 光线防护:光线(尤其是紫外线)会对葡萄酒的质量和陈年潜力产生负面影响。为防止光降解,葡萄酒运输会采用防光技术,例如使用着色或UV过滤的包装材料、不透光的容器,甚至将运输车辆内部遮暗。这些措施可以防止光线引发的化学反应,有助于保持葡萄酒的理想特性。

  5. 法规合规:跨国或跨境运输葡萄酒需要应对复杂的法规和法律要求。进口和出口许可证、关税以及标签指南只是确保合规和顺利运输所需考虑的一部分。与熟悉所需运输文件的公司合作至关重要。

45. Researchers uncover potential non-opioid treatment for chronic pain in mice (news.utexas.edu)

研究人员在小鼠中发现一种潜在的非阿片类慢性疼痛治疗方法

德克萨斯大学奥斯汀分校等机构的研究人员,在治疗神经性疼痛方面取得了关键进展。他们识别出一种名为FEM-1689的新化合物,在小鼠实验中显示出显著的镇痛效果。

神经性疼痛的挑战 神经性疼痛通常由皮肤、肌肉、关节等身体组织的神经损伤引起,症状包括电击感、刺痛、灼烧或刀割样痛。它常与糖尿病、多发性硬化症、化疗药物、损伤和截肢相关,具有慢性、顽固的特点,影响全球数百万人。现有止痛药物通常疗效有限,并伴随严重副作用及成瘾风险。

新化合物的发现与特点

  • 有效性:FEM-1689在小鼠模型中(包括糖尿病神经病变和化疗诱导的神经病变)能有效减少痛觉过敏,且效果持久。
  • 非阿片类机制:该化合物不与阿片受体结合,因此有望成为规避成瘾风险的新一代镇痛药。
  • 作用靶点:研究揭示其通过与一种名为HPRT1的蛋白质结合来发挥作用,该蛋白已被证明与神经性疼痛相关。
  • 调节细胞应激反应:FEM-1689还能帮助调节“整合应激反应”(ISR)。ISR是细胞应对损伤和疾病的信号网络,正常调节有助于恢复平衡和促进愈合;失调则可能导致癌症、糖尿病等疾病。

未来应用前景 研究人员的目标是将FEM-1689开发成治疗慢性疼痛的药物,以规避阿片类药物的风险。为此,研究团队共同创办了**NuvoNuro Inc.**公司,并已获得美国国立卫生研究院HEAL计划的资助,该计划旨在资助解决阿片类药物危机的科学研究。该公司计划在未来几年内推动该项目向临床开发阶段迈进。

本研究由德克萨斯大学奥斯汀分校、德克萨斯大学达拉斯分校和迈阿密大学的研究人员合作完成,成果发表于《美国国家科学院院刊》,并得到了多个科学基金会的资助。

47. Meta and Mark Zuckerberg must not be allowed to shape the next era of humanity (www.theguardian.com)

核心论点:Meta(原Facebook)及其创始人扎克伯格在过去20年积累了过大的权力,并对社会造成了广泛危害,因此在即将到来的人工智能时代,必须限制其单方面塑造人类未来的能力,并追究其责任。

主要危害与问题

  1. 社会与心理健康:Meta的社交媒体和通讯平台与自尊心下降、焦虑、抑郁、成瘾、嫉妒、饮食障碍、身体形象问题、睡眠障碍和网络欺凌有关。
  2. 暴力与犯罪活动:平台被用于助长恐怖主义、暴力极端主义、大规模暴力、在线骚扰、人口贩卖、毒品交易、非法野生动物贸易以及儿童性剥削材料的传播。
  3. 信息环境与民主破坏:Meta的产品被用于传播宣传、虚假信息和信息战,破坏了信息生态系统的完整性和世界各地的选举,导致民主状况恶化以及民粹主义和数字威权主义的兴起。
  4. 市场垄断与经济控制:Meta拥有近40亿用户,掌控着关键的信息通信基础设施、数据处理、数字广告和发布渠道。它在许多国家控制互联网接入,并决定着内容创作者、企业和政治人物的生存能力与盈利能力。
  5. 未来风险——人工智能领域:Meta正准备控制人工智能基础设施的关键部分,包括海量数据、计算资源、稀缺芯片和云服务,这可能带来新的垄断风险。

原因分析

  • 监管失败:科技领域的特殊主义、公司的公然对抗以及大量资金,结合反垄断监管的僵化和“反复且故意的政策失败”,使Meta得以在二十年间积累巨大的市场力量。
  • 责任豁免:Meta在诽谤法、中介责任、反歧视、产品安全、隐私、知识产权和竞争限制等方面享有前所未有的豁免,从未被以有意义的方式追究责任。罚款仅被视为经营成本,公司通过颠覆监督和监管的努力,得以继续不受惩罚地运营。
  • 战略扩张:自成立以来,Facebook已收购60多家公司,监管机构从未阻止任何一笔收购,现在又准备控制核心人工智能基础设施。
  • 商业模式:在缺乏联邦隐私立法、公共利益数据治理和有意义的反垄断执法的情况下,Meta与谷歌一起,建立了基于“监控资本主义”逻辑的新经济秩序。

结论与呼吁:过去的20年表明,Meta和扎克伯格不能被允许单方面塑造人类的下一个时代。在科技界庆祝这一里程碑之际,是时候要求Meta等强大科技公司为其传播的危害负责,并在进一步破坏个人、社会和经济之前拆分这个科技巨头。拆解Meta的数字遗产,对于夺回控制权和拯救民主至关重要。

49. Response to protein ingestion during recovery from exercise has no upper limit (www.cell.com)
50. Ask HN: How easy is it to become an entrepreneur in 2024?