2024-02-07

50 篇热帖

1. Show HN: Improve cognitive focus in 1 minute (oneminutefocus.com)

一分钟提升认知专注力的方法

核心方法

通过注视一个点并配合深呼吸,仅需一分钟时间,即可为接下来的任务改善心理专注力。

附加信息

文中提到了关于、联系、iOS应用及小组(Squad)等网站或资源链接,但未展开具体说明。

摘要说明:该内容主要介绍了通过简单视觉与呼吸练习快速提升专注力的方法,并提及了相关的后续资源。

2. "Fake Chinese income" mortgages fuel Toronto real estate bubble: HSBC bank leaks (www.thebureau.news)

加拿大银行举报人揭露利用“虚假中国收入”获取抵押贷款助推多伦多房地产泡沫

核心发现

2022年,一名在加拿大汇丰银行(HSBC)多伦多郊区奥罗拉支行工作的举报人(化名D.M.)发现,该银行在疫情期间向加拿大华人移民发放了大量可疑房贷。借款人声称在中国从事高薪远程工作,从而获得贷款,但其收入真实性存疑。

关键细节

  1. 可疑贷款规模

    • D.M.自2015年起估算,多伦多地区超过10家HSBC支行向声称在中国有夸大或虚假收入的华人买家发放了至少5亿加元的房贷。
    • 奥罗拉支行2020年发放了约8800万加元房贷,远超同类支行通常的2300万加元年均水平。
  2. 操作手法(“多伦多方法”)

    • 借款人利用疫情期间“远程工作”的合理性,声称从中国雇主获得高额收入。
    • 案例包括:赌场兼职工人声称年收入34.5万加元分析数据;发型师声称在中国年薪超53万加元;部分借款人同时领取加拿大政府福利。
    • 存在通过亲属或关联人从中国汇款支付房贷的情况,形成资金闭环。
  3. 与“温哥华模式”的关联

    • 加拿大反洗钱机构FINTRAC的2023年报告指出,疫情期间,由于赌场关闭,专业的洗钱者转向使用更隐蔽的电子汇款方式(常源于中国香港),将资金汇入加拿大银行账户,并通过房地产等领域洗钱。
    • D.M.的发现被称为“多伦多方法”,被认为是之前在温哥华地区发现的、涉及赌场、银行和房地产的“温哥华模式”洗钱网络在多伦多的演变和扩展。
  4. 对房地产市场的影响

    • 举报人及部分专家认为,这种利用虚假收入获得贷款的行为推高了多伦多(及温哥华)的房价,将努力工作的本地人挤出房地产市场。
    • 调查估算,2014年至2023年间,可能有超过2000亿加元通过此类“温哥华模式”和“多伦多方法”的地下网络流入加拿大房地产市场。
  5. 银行与机构回应

    • 汇丰银行(HSBC Canada):表示不评论具体案例,但强调致力于识别和阻止金融犯罪,会退出风险过高的客户关系。
    • D.M.的行动:2022年4月向银行高层发送投诉邮件,触发内部调查和一些改革。但他对银行的回应不满,后向媒体公开信息。
    • 加拿大政府官员:认为这些信息“具有爆炸性”,承认洗钱活动在加拿大增加,并指出加拿大不像其他国家那样要求税务机构核实抵押贷款收入。
  6. 学术与专家印证

    • 西蒙弗雷泽大学学者Andy Yan在2015年的研究发现,温哥华西区大多数高价房产的华人买家在加拿大几乎没有收入,主要贷款来自汇丰和加拿大帝国商业银行(CIBC)。D.M.的发现印证并深化了该研究。
    • 前皇家骑警数据分析师Ashleigh Rhea Gonzales认为,这些指控与其关于华人地下银行系统导致更多房地产洗钱的研究一致。

总结

一名汇丰银行内部举报人揭露,在多伦多地区存在一种利用伪造或夸大的中国收入证明来获取房贷的系统性问题。该问题与源自温哥华、经由地下银行网络运作的洗钱模式密切相关,并在疫情期间演变加剧。这被指为推高加拿大主要城市房价、加剧住房可负担性危机的重要因素之一,涉及金额可能高达数百亿加元。尽管银行方面强调其反洗钱承诺,但内部文件、举报人陈述及独立专家的分析共同指向了一个复杂的跨境金融犯罪问题。

3. The world is awful. The world is much better. The world can be much better (ourworldindata.org)

摘要:

文章《世界是糟糕的。世界好得多。世界可以更好得多。》强调,这三个陈述同时为真,共同揭示了一个更美好世界的可能性。过度关注问题会导致绝望,而只关注进步则会滋生自满;两者都会使人无所作为。通过数据和历史分析,文章论证了尽管世界面临严重挑战,但已取得显著进步,并且进一步改善是可行的。

世界是糟糕的:
尽管有进步,全球仍面临重大问题。例如,2021年全球4.4%的儿童在15岁前死亡,相当于每天约1.6万名儿童离世,凸显了世界的悲剧性。

世界好得多:
历史数据显示,过去的生活条件极为恶劣。直到19世纪,全球约一半的儿童在童年死亡。今天,即使在儿童死亡率最高的国家(如尼日尔,约14%),死亡率也远低于历史水平。这表明,通过人类努力,世界已取得非凡进步。

世界可以更好得多:
现有最佳实践证明进一步改善是可能的。例如,欧盟的儿童死亡率仅为0.47%。如果全球达到这一水平,每年将少死亡约500万儿童。我们拥有数据和知识来解决问题,但需要将这些信息广泛传播并采取行动。

文章批评媒体往往只聚焦负面新闻,忽略了长期进步,导致公众失去希望。作者通过“我们的数据世界”项目致力于使数据更易获取,并推荐捐赠给高效慈善机构(如GiveWell.org)来支持改善儿童健康。

总之,文章呼吁同时看到世界的糟糕、进步和潜力,以激励行动并推动更美好的未来。

4. jQuery v4.0 Beta (blog.jquery.com)

jQuery 4.0.0 Beta 发布总结

jQuery 4.0.0 Beta 已发布,主要包含错误修复、性能提升及一些不兼容变更。此次更新移除了对 IE10 及更早版本的支持,为未来阶段性的淘汰计划做准备。

主要不兼容变更与更新

1. 移除旧版浏览器支持

  • IE 浏览器:移除了对 IE 10 及更早版本的支持。
  • 其他旧浏览器:同时停止支持 Edge Legacy (非Chromium版)、iOS < 11、Firefox < 65 和 Android Browser。如需支持这些浏览器,请继续使用 jQuery 3.x。

2. 移除已废弃的 API

以下函数已被移除,它们在过去多个版本中已被标记为废弃: jQuery.isArray, jQuery.parseJSON, jQuery.isFunction, jQuery.trim, jQuery.now, jQuery.type 等。完整列表请查阅原文。

3. 行为变更

  • focusinfocusout 事件顺序:不再覆盖浏览器原生行为,使其符合当前 W3C 规范(blur, focusout, focus, focusin),与 jQuery 之前实现的顺序不同。
  • FormData 支持jQuery.ajax 现在自动支持二进制数据(包括 FormData),无需再手动禁用数据转换。
  • 移除 JSONP 自动升级:当 dataType"json" 且指定了 callback 参数时,不再自动将其转换为 JSONP 请求,以鼓励使用更安全的 CORS 方案。
  • push, sort, splice 方法移除:从 jQuery 原型中移除了这三个专供内部使用的方法。

4. 核心改进与新功能

  • ES 模块迁移:jQuery 源码已从 AMD 迁移至 ES 模块。
  • Trusted Types 与 CSP:增加了对 Trusted Types 的支持,确保在遵守内容安全策略(CSP)的前提下可使用受信任的 HTML。同时优化了异步脚本传输以减少 CSP 错误。
  • 精简构建(Slim Build)更新:新的精简版去除了 Deferred 和 Callbacks 模块(gzip 后大小低于 20KB)。开发者可考虑使用原生 Promise 替代 Deferred(IE11 除外)。

5. 其他修复与更新

文章还涵盖了在 Ajax、属性、CSS、事件、选择器、数据、动画等多个模块下的大量错误修复、性能优化和内部重构。

获取与迁移

  • 获取 Beta 版:可通过官方 CDN 或 npm (npm install jquery@4.0.0-beta) 获取。
  • 精简构建:同样可在 CDN 和 npm 中获取(jquery-4.0.0-beta.slim.js)。
  • 迁移指南:官方将在最终版本发布前提供详细的升级指南。jQuery Migrate 插件也将提供迁移辅助。

贡献与社区

团队感谢所有通过提交补丁、报告错误或参与测试为此版本做出贡献的开发者。jQuery 现已开设官方 Mastodon 账号,并将同时在 Twitter 和 Mastodon 发布更新。

6. Toyota to invest $1.3B in Kentucky factory to build battery packs and new EV (apnews.com)

丰田公司宣布将投资13亿美元对其位于肯塔基州乔治敦的大型工厂进行改造,主要用于生产全新的三排座电动SUV并供应美国市场。该投资还将支持未来电动汽车的生产,包括新增电池组装线,用于将电池单元组装成电池组,供应其他电动车型。但此次投资不会为该工厂增加新工作岗位,目前该厂拥有近9400名员工。丰田表示,此次投资使该工厂的总投入增至近100亿美元。

丰田未透露新SUV的详细信息,包括价格和上市时间。此外,丰田去年10月宣布将在北卡罗来纳州建设一座混合动力和电动汽车电池工厂,并追加80亿美元投资,使总投资达到约139亿美元。该工厂预计于2025年在格林斯博罗附近运营,届时将雇佣5000多人,并成为肯塔基工厂的关键供应商。肯塔基工厂将负责生产丰田在美国的首批电动汽车。

环保组织长期以来批评丰田在向纯电动汽车转型方面行动迟缓,过度依赖油电混合动力技术。丰田计划到2030年在美国销售150万至180万辆电动或混合动力汽车。

7. AdGuard Home: Network-wide ad- and tracker-blocking DNS server (github.com)

AdGuard Home 概述

AdGuard Home 是一款免费、开源的网络广告和跟踪拦截DNS服务器。它作为隐私保护中心,可覆盖家庭网络中的所有设备,无需在客户端安装任何软件。

核心功能与特点

  • 工作原理:作为DNS服务器运行,通过将跟踪域名重定向到“黑洞”来阻止设备连接至广告和跟踪服务器。
  • 基于技术:与公共 AdGuard DNS 服务器共享代码库。
  • 控制能力:用户可完全自定义拦截规则、监控网络活动、添加自定义过滤规则,并完全掌控服务器。

安装方式

支持多种安装途径:

  • 自动化脚本:适用于 Linux/Unix/macOS/FreeBSD/OpenBSD,可通过 curlwgetfetch 命令一键安装,支持指定频道、重新安装或卸载。
  • 替代方法:包括手动安装、Docker 官方镜像以及 Linux 的 Snap Store 安装。
  • 文档与API:提供 Wiki 指南和 REST API,便于集成与二次开发。

与其他解决方案的对比

与公共 AdGuard DNS 服务器的区别

自托管 AdGuard Home 提供更高自主权,包括完全自定义拦截内容、监控网络、设置自定义规则等。

与 Pi-Hole 的对比

两者均采用 DNS 陷洞法拦截广告,但 AdGuard Home 提供更多内置功能,例如:

  • 管理界面支持 HTTPS(原生支持)
  • 内置加密DNS上游支持(DoH、DoT、DNSCrypt)
  • 跨平台兼容性(原生支持)
  • 运行 DNS-over-HTTPS/TLS 服务
  • 内置钓鱼与恶意域名拦截
  • 家长控制(成人内容拦截)
  • 强制安全搜索
  • 访问控制设置
  • 支持非 root 权限运行

与传统广告拦截器的区别

  • 优势:能拦截智能电视、IoT 设备等无法安装传统拦截器的设备中的广告与跟踪。
  • 局限:无法拦截与内容共享域名的广告(如 YouTube、Twitch 广告或社交平台赞助内容),未来计划通过内容过滤代理改进。

从源代码构建

  • 依赖环境:Go v1.25+、Node.js v24.10.0+、npm v10.8+。
  • 构建步骤:克隆仓库后执行 make 命令,支持通过 GOOSGOARCH 指定目标平台。
  • 发布与调试:支持 Snapcraft 打包、Docker 镜像构建(使用 Docker Buildx),以及前端开发环境热重载。

贡献与社区

  • 参与方式:可提交代码、测试不稳定版本(beta/edge 频道)、报告问题、协助翻译。
  • 相关项目:存在多个第三方衍生工具,包括 iOS 远程控制应用、Python/Node.js 库、Home Assistant 插件、OpenWrt 应用、流量监控工具等。

隐私政策

AdGuard Home 不收集任何使用数据,仅在用户配置后才会连接网络服务,确保用户完全掌控自身数据。


注意:本文内容基于 AdGuard Home 项目官方描述总结,涵盖其主要功能、安装方法及技术特点。

9. Cannabis use linked to anxiety diagnoses, worsened anxiety disorders (globalnews.ca)

一项针对安大略省1200万人健康数据的大规模研究发现,大麻使用可能增加罹患新焦虑症的风险,并加重现有焦虑症状。

研究背景与主要发现 该研究分析了2008年1月至2019年3月期间的数据。研究发现:

  • 新发焦虑风险高:在因大麻相关问题(如幻觉、意识不清或戒断症状)前往急诊室就诊的人群中,有27.5%在三年内首次确诊了焦虑症。相比之下,普通人群中在三年内因焦虑寻求急诊或门诊治疗的比例仅为5.6%。
  • 加重既有焦虑:在已有焦虑症病史但未因此住院的患者中,有12.3%因焦虑症状恶化而前往急诊或住院。
  • 高危人群:所有年龄因大麻相关急诊就诊的人群,新发焦虑症的风险均升高,但24岁以下的男性风险尤其突出。

研究细节与专家解读

  • 使用强度:研究未涉及具体使用剂量,但主要研究者Daniel Myran博士推测,这些急诊患者很可能属于中度至重度使用者,或使用了强效大麻制品,或两者兼有。
  • 自我用药无效:尽管部分人可能试图用大麻“自我治疗”焦虑,但Myran博士指出,没有有力证据表明这有效。相反,数据中存在一种“令人担忧的关联”,即需要急诊处理的大麻使用模式与焦虑症发展之间存在强关联。之前的研究也已将重度大麻使用与精神病和精神分裂症等状况联系起来。
  • 公共卫生建议:研究者建议,对于大麻使用出现问题或存在心理健康问题的人,首先应寻求初级医疗保健提供者的帮助。研究强调,有必要就大麻使用与心理健康之间的潜在联系进行更多对话,尤其是对于易受焦虑加重或因重度使用而患病的人群。

相关背景信息

  • 加拿大卫生部2022年的电话调查显示,近半数受访者在过去12个月内未注意到任何关于大麻的教育宣传。在报告使用过大麻的人群中,约35%表示典型情况下,其兴奋状态会持续一到两个小时,使用率最高的是20至24岁人群。
  • 加拿大药物使用与成瘾中心的专家Shea Wood指出,偶尔使用大麻对大多数人焦虑症的影响微乎其微,但早期开始使用大麻与更多心理症状相关,因此年轻人应尽可能延迟开始使用大麻的时间。
10. Alaska Airlines flight 1282 NTSB preliminary report [pdf] (www.ntsb.gov)

阿拉斯加航空1282航班事故NTSB初步报告摘要

事故概述

2024年1月5日,阿拉斯加航空1282航班(一架波音737-9客机,注册号N704AL)从俄勒冈州波特兰国际机场(PDX)起飞后,在爬升至约16,000英尺高度时,其左侧中部出口门塞(MED plug)脱落,导致客舱快速失压。飞机随即宣布紧急状态,返航并安全降落在PDX,机上177人(2名飞行机组、4名乘务组和171名乘客)全部安全撤离。7名乘客和1名乘务员受轻伤。事故对飞机造成实质性损坏。

关键发现

  1. 事件经过:飞机起飞后正常爬升,在约16,000英尺处听到巨大声响,随之发生快速失压。驾驶舱门被吹开,噪音巨大,通信困难。机组立即戴上氧气面罩,宣布紧急情况,请求下降高度,并执行快速失压检查单,最终安全着陆。
  2. 飞行记录器数据
    • 座舱语音记录器(CVR):数据已被覆盖,未能保存事故航班的音频记录。原因为降落后未及时断开电路保护开关以保存数据。
    • 飞行数据记录器(FDR):成功下载,包含1800个参数。关键数据显示,在17:12:33(飞机高度约14,830英尺,速度271节)时,记录的客舱压力从14.09 psi骤降至11.64 psi,“客舱高度大于10,000英尺”警告激活。几秒内,压差从5.7 psi迅速降至0 psi。
  3. 飞机与门塞信息
    • 事故飞机于2023年10月31日交付给阿拉斯加航空,事发时总飞行时间510小时,起降循环154次。
    • 该型飞机配备的MED门塞是一个重量较轻的结构部件(约63磅),旨在封堵机身出口位置以提供全尺寸客舱窗户。它通过四个螺栓(两个垂直移动限制螺栓和两个上导轨螺栓)防止向上移动,并通过12个止动件防止向外移动。
  4. 结构检查:对回收的门塞及飞机结构的检查发现,固定门塞的四个关键螺栓缺失。门塞的上下导轨安装孔和铰链螺栓孔周围未见接触损伤或变形,表明这些螺栓在门塞开始向上移动之前就已经不在原位。
  5. 生产与维修记录
    • 调查发现,2023年9月1日,因该飞机左侧门塞前方边缘框架上有五颗铆钉损坏,曾生成一份不一致报告。
    • 为更换这些铆钉,需要打开左侧门塞,因此拆除了固定它的垂直移动限制螺栓和上导轨螺栓。
    • 维修工作于2023年9月19日完成。照片证据显示,在完成铆钉修复并准备进行内部恢复工作时,左侧门塞处于关闭状态,但三个可见的螺栓安装位置均未安装固定螺栓(其中一个被隔热层覆盖无法查看)。
    • 调查未发现该门塞在离开波音工厂后再次被打开的记录。

安全措施

  • 事故发生后,阿拉斯加航空主动停飞其全部737-9机队进行检查。
  • 美国联邦航空管理局(FAA)发布紧急适航指令,要求所有737-9运营商在特定检查完成前不得飞行该机型。
  • FAA后续发布安全警报,提醒运营同型号门塞的737-900ER运营商也进行检查。
  • 波音公司发布了多份运营商信息,包含修订后的737-9门塞检查说明。

调查状态

美国国家运输安全委员会(NTSB)的调查仍在进行中,重点包括:

  • 制造过程中授权打开和关闭门塞的文件记录。
  • 相关人员的操作流程与人为因素。
  • 波音和Spirit AeroSystems的安全管理体系。
  • FAA对制造商的监督情况。
11. RustPython (rustpython.github.io)

RustPython 摘要

RustPython 是一个用 Rust 语言编写的开源 Python 3 解释器,支持 CPython 3.11.0 及以上版本。其核心目标是提供一个完全基于 Rust 的 Python 3 环境,实现干净且无兼容性问题的实现,同时确保快速、可靠和安全。

关键功能包括:

  • 嵌入式使用:可作为脚本语言嵌入到 Rust 应用程序中,增强 Rust 程序的灵活性和扩展性。
  • WebAssembly 支持:可编译为 WebAssembly,使 Python 代码能在浏览器中运行,扩展了 Python 在 Web 端的应用场景。

项目提供了多种安装方式:

  • 通过 cargo install --git https://github.com/RustPython/RustPython rustpython 安装。
  • 使用 wapm install rustpythonconda install rustpython -c conda-forge 进行安装。

RustPython 的设计借鉴了其他 Python 实现(如 CPython、Jython、IronPython、PyPy 和 Stackless),但专注于为 Rust 语言提供类似 Jython 和 IronPython 的集成能力。得益于 Rust 的最小运行时,它还能高效编译到 WebAssembly,支持浏览器环境下的 Python 执行。

该项目采用 MIT 许可证,完全开源,鼓励社区参与和扩展。

12. Oslo acquires ChatGPT for 110k students and teachers (www.digi.no)

奥斯陆市政府为首都的11万名学生和教师采购了ChatGPT(GPT-3.5 Turbo)的批量许可。据《晚邮报》报道,该解决方案注重隐私保护,其使用不会用于训练新的AI模型。

教育部门负责人表示,教学和评估方式必须进行重大调整。他指出,几乎所有学生都能通过智能手机免费使用类似工具,因此教育部门面临的选择是假装它不存在并禁止,还是为学生提供正确的工具以应对未来。他认为后者才是正确方向。

在召开相关说明会后,该工具将正式部署。该负责人将其影响比作教科书的出现,并指出PC和互联网因抄袭检查的制约而影响相对较小。

奥斯陆已制定了专门的指导方针,规范学生如何使用该新工具。准则的核心原则是,ChatGPT不得被用作替代自身学习的工具。

然而,也有教育工会人士指出,仅提供GPT-3.5 Turbo可能会造成“数字鸿沟”,因为一些学生已付费使用功能更强的GPT-4版本,这可能会带来不平等问题。

13. EU coal and gas collapse as wind and solar ascend (electrek.co)

欧洲能源结构正经历深刻转型。根据能源智库Ember的最新报告,2023年欧洲燃煤发电暴跌26%,天然气发电下降15%,推动欧盟电力行业碳排放同比大幅减少19%。

可再生能源占比创新高

  • 风力发电增长18%,首次超越天然气(占17%),成为欧盟第二大电源。
  • 风能与太阳能合计发电占比达27%,创历史新高;其中太阳能覆盖欧盟9%的电力需求。
  • 受水电恢复推动,可再生能源整体份额升至44%的峰值。

转型驱动因素

  1. 化石燃料退潮:2023年欧盟有24%的时段,化石燃料发电占比低于四分之一,远高于2022年的4%。
  2. 需求下降:与2022年相比,欧盟全社会用电量下降3.4%,部分源于工业用电削减。
  3. 政策目标:欧盟计划到2030年,风能和太阳能提供55%的电力。

未来挑战 欧洲电气化转型(如电动汽车、热泵普及)预计将推动电力需求回升。报告指出,欧盟需持续加速部署风光发电及配套技术,以应对气候危机并巩固能源转型成果。Ember欧洲项目总监Sarah Brown强调:“欧盟电力行业正处于历史性转折点,以风光为骨干的能源体系正在形成。”

14. Should error messages apologize? (2013) (ux.stackexchange.com)
  • 核心论点:错误信息设计应以用户体验为中心,而非单纯遵循日常逻辑。
  • 用户心理分析:错误发生时用户易产生沮丧、归咎情绪,即使错误由自身操作导致,仍倾向于期待系统给予道歉或理解。
  • 道歉的效用:道歉能有效缓解用户负面情绪,提升包容度,避免因“指责感”导致用户流失。
  • 语气策略建议
    • 若不愿直接道歉,可采用“不幸”等中性措辞缓和语气(例如:“不幸的是,您无权使用此功能”)。
    • 避免生硬、机器化的表述(如“您无权使用此功能!”),可适度融入简洁或幽默的文案。
  • 信息完整性:除提示错误外,应提供可能的原因说明与恢复建议,以进一步降低用户挫折感。
  • 总结:错误信息设计需兼顾逻辑正确性与情感关怀,以维护用户满意度和留存率。
15. Danish schools will no longer be allowed to use Chromebooks and Google platforms (theprivacydad.com)

丹麦数据保护局(Danish Data Protection Authority)于2024年2月正式下达禁令,要求自2024年8月1日起,丹麦学校不得再使用Chromebooks及Google平台处理学生个人数据。各地方政府需在3月1日前提交合规方案。

此举源于家长兼隐私维护者Jesper Graugaard历时四年多的抗争,他发现学校在未经家长同意的情况下,将孩子的个人信息公开并传输至Google,触发对学生数据保护的重视。禁令裁定学校无权将学生数据用于Google的既有目的,要求技术或法律层面整改,包括:

  • 不再向Google传输数据,需Google提供拦截数据流的技术方案;
  • Google停止为现有目的处理学生信息;
  • 丹麦议会制定明确法律基础,如需继续传输数据。

技术行业代表(如DI Digital协会主管)提出异议,认为这些数据为伪匿名、用于性能或功能评估非营销用途,但隐私专家指出数据去匿名难度大,大型数据企业可能过度收集数据,实际风险高于表面承诺。

Jesper的行动被媒体和公众关注,他指出学校与教育管理层多年来明知潜在违法,却未制定备选计划(plan B),导致技术合规迟缓。丹麦市政联合会(KL)甚至通过重复交付文件拖延整改进度,导致数十万儿童长达十年与Google分享个人信息,违反新引入的GDPR法规。

文中还探讨开源替代方案:丹麦本地IT企业Magenta和Semaphore可提供教育平台;现有Chromebook亦可用开源操作系统(如OS2BorgerPC、Linux)重装,避免依赖Google。教育部门可通过采购翻新硬件、采用免费开源软件(如LibreOffice、Nextcloud)和Firefox、DuckDuckGo等,降低成本并保障数据安全。

未来可能发展包括:

  • 地方政府技术整改并合法合规;
  • Google及其它数据企业履行丹麦法律;
  • 丹麦政府调整法规,将现有违法活动合法化。

Jesper强调,目前丹麦儿童在数字隐私保护上缺乏法律权利,政策制定与执行明显滞后,呼吁社会关注及技术企业合规。

文中列举了多项相关参考资料、活动与讨论链接,提供了开源教育平台、技术交流及隐私保护维权具体路径。

16. The three million toothbrush botnet story isn't true (cyberplace.social)

核心信息: “三百万电动牙刷组成僵尸网络发动网络攻击”的故事是虚假的,并非真实事件。

关键点:

  1. 消息性质: 这是一个被编造的示例,现实中并不存在。它并非基于真实的安全事件。
  2. 信息来源: 该故事的原始出处被明确指出,它来源于一家媒体网站(luzernerzeitung.ch)上的一篇文章。文章中的相关描述是虚构的。
  3. 作者澄清: 网络安全专家凯文·博蒙特(Kevin Beaumont)在其社交平台上公开指出该故事不真实,并提供了原始来源的存档链接以供查证。
  4. 关联澄清: 原始故事中还提及了“”组织,作者明确指出该组织也与电动牙刷无关,进一步强调了整个叙事的虚构性。

总结: 网络上流传的“三百万电动牙刷被利用组建僵尸网络”的说法,经核实确认是一个完全虚构的案例,不具备事实依据。

17. BuildKit in depth: Docker's build engine explained (depot.dev)

BuildKit 深度解析:Docker 构建引擎原理

核心概述

BuildKit 是 Docker 的新一代默认构建引擎(自 Docker Engine v23.0 起)。相较于旧引擎,它通过并行化构建步骤优化的层缓存机制显著提升构建速度。本文将深入剖析其工作原理。

加速原理

1. 并行化构建

  • 多阶段构建:BuildKit 分析 Dockerfile 中各阶段(以 FROM ... AS <名称> 开始)的依赖关系,若阶段间无依赖则并行执行。
  • 依赖解析:通过 FROM 语句后的阶段名称和依赖关系,构建有向无环图(DAG)以确定执行顺序。
  • 优化建议:重写 Dockerfile 为多阶段构建,将独立任务(如依赖安装与应用编译)分配到不同阶段。

2. 层缓存优化

  • 分层缓存:每个构建步骤(如 RUNCOPY)的结果作为独立层缓存。
  • 缓存层级:采用树状结构,若某层失效,其所有后续层均需重建。因此,Dockerfile 中语句的顺序对缓存命中率有重大影响。

底层工作原理

核心中间表示:LLB

  • LLB(Low-Level Build):一种有向无环图(DAG) 数据结构,作为 Dockerfile 与最终镜像之间的中间表示(类似编译器中的 LLVM IR)。
  • 作用:定义构建步骤的依赖与执行顺序,避免循环依赖导致的死锁。

架构:前端与后端

  • 前端:将输入(如 Dockerfile)转换为 LLB。支持多种输入格式(如 Dockerfile、Nix、HLB)。
  • 后端:将 LLB 转换为目标机器架构的构建产物(如 Docker 镜像),依赖容器运行时(如 runc)执行。

LLB 操作类型

  1. SourceOp:加载源文件或镜像(对应 FROM 语句)。
  2. ExecOp:执行命令(对应 RUN 语句)。
  3. FileOp:处理文件/目录操作(对应 COPYADDWORKDIR),支持跨阶段复制资源。
  4. MergeOp:合并多个输入为单一层(实现 COPY --link)。
  5. DiffOp:计算两个输入的差异并输出为新层(目前 Dockerfile 前端不可用)。
  6. BuildOp:嵌套 LLB 构建(实验性,当前不可用)。

关键要点

  • BuildKit 通过LLB DAG 优化执行顺序与缓存,实现构建加速。
  • 要充分发挥性能优势,需采用多阶段构建并合理组织语句顺序。
  • 其前端/后端架构支持扩展至非 Docker 镜像的构建场景(如 Rust 项目)。

常见问题

  • 如何利用并行化? → 重写 Dockerfile 为多阶段构建。
  • 必须重写 Dockerfile 吗? → 可获自动缓存优化,但并行化需显式多阶段构建。
  • 只能构建 Docker 镜像吗? → 否,通过不同前端可构建多种产物(如 CargoWharf 用于 Rust 项目)。
18. Anchovy spawning causes temperature swings and turbulence in ocean layers (hakaimagazine.com)

凤尾鱼繁殖引发海洋水层温度波动与湍流

主要发现

西班牙西北部海湾的科学研究意外揭示,凤尾鱼的集体繁殖活动(产卵与受精)能在海洋水层内引发显著的湍流和温度波动,其搅动水体的程度可与一场大型风暴相媲美。这项研究发表于2022年,并于2023年获得了“搞笑诺贝尔奖”。

研究背景与过程

  • 初始目的:研究人员(Bieito Fernández Castro团队)受西班牙政府委托,调查导致贝类死亡的藻类爆发的成因。
  • 意外发现:在监测该海域时,尽管海面看似平静,但传感器数据每晚都记录到异常高的湍流水平
  • 溯源:通过藻类网捞起大量凤尾鱼卵,团队最终将湍流源锁定为凤尾鱼群的繁殖活动。
  • 机制:凤尾鱼群规模巨大(可达数百万甚至数十亿条),雌鱼一次产卵2-3万枚,群体会进行密集的集体受精活动,这种大量生物的剧烈运动有效搅动了水体。

科学意义

  1. 挑战传统认知:以往认为动物生命活动对海洋整体混合的贡献微不足道,风、潮汐和洋流是主要混合动力。此研究表明,在浅海或局部区域,密集的生物活动(如繁殖)可以成为不可忽视的混合因子。
  2. 局部影响的重要性:虽然研究局限于海洋表层水层内的混合,但这种由生物活动引起的细微温度与物质混合,对局部生态系统(如营养盐分布、藻类生长条件)可能具有重要意义。
  3. 可能被低估:研究中观测到的凤尾鱼群规模远小于离岸观测到的巨型鱼群。在鱼群更密集的区域(如加利福尼亚拉霍亚附近),其产生的湍流效应可能更强。

研究局限与未来展望

  • 深度覆盖不足:研究主要关注表层水体。深海区域环境更平静,生物活动对混合的影响可能更为关键,但相关的大规模鱼群行为数据缺乏。
  • 物种多样性待探索:其他形成巨大群体的物种(如沙丁鱼、鲱鱼)是否会产生类似效应,目前尚不清楚。
  • 广泛验证:需要更多研究来量化海洋生物在全球尺度上对海水混合的贡献,以完善对海洋循环和生态过程的理解。

结论

这项始于调查藻类爆发的研究,意外揭示了海洋生物行为(特别是凤尾鱼大规模繁殖)能够作为一种自然力,显著影响局部海洋的物理环境,刷新了科学界对生物驱动海洋混合的认识。

20. Why I Live in IRC (2015) (aaronparecki.com)

为什么我生活在 IRC (2015)

本文描述了作者Aaron Parecki如何将IRC作为其在线活动的核心枢纽,用于信息获取、人际互动及系统通知,取代了传统的RSS阅读器、社交媒体和电子邮件。

核心设置与界面

  • 客户端:使用开源WeeChat IRC客户端,运行于服务器上的tmux会话中,保持永久连接,便于随时回看记录。
  • 界面特性:底部状态栏通过数字与颜色(粉色、黄色、灰色)直观显示各频道未读消息状态及类型(如提及、普通消息、进出信息)。
  • 导航效率:依赖大量键盘快捷键(如Alt+数字切换标签页)和频道编号记忆,实现快速跳转。

数据来源与通知系统

作者通过自定义IRC机器人整合多种数据源至不同频道:

  1. 社区交流:参与多个IRC社区(如#indiewebcamp、#pdxtech)。
  2. Twitter监控:将特定话题标签或关键词的推文转发至IRC频道。
  3. 网站及应用日志:记录个人网站活动(如骑行数据导入)、Web应用事件(如购买通知)及系统状态(如磁盘空间)。
  4. GitHub通知:按项目分组接收issue、提交等动态。
  5. 家庭自动化:接收运动传感器警报、门锁事件、门禁呼叫等通知。

技术实现

  • 机器人架构:每个通知频道运行一个机器人,支持HTTP和UDP消息传入,实现“即发即忘”式通知投递。
  • 移动端通知:通过Prowl插件将提及或特定关键词的消息推送至iOS手机,连接Weechat时自动暂停手机通知。

IRC消息结构

每条消息包含网络、账户、时间戳、作者、类别、内容及永久链接,结构化便于解析(如[runkeeper:bikeride] 3.5km 15分钟 [链接])。

日志管理

  • 纯文本存储:所有频道记录保存为按网络、年份、日期组织的文本文件(如irclogs/2015/freenode/#indiewebcamp.08-25.log)。
  • 优势:文本格式易于长期保存、搜索(使用grep)及迁移。

IRC的持久吸引力

  • 统一信息流:集中接收分散在各平台的消息。
  • 高效导航与记录:键盘操作快捷、持续在线便于回溯。
  • 低存储与高兼容性:文本日志占用少、工具链丰富。

当前系统的局限

  • 移动端体验差:依赖移动SSH,长链接无法点击,无图片内联。
  • 配置繁琐:新增频道需修改机器人配置。
  • 功能限制:缺乏图形界面特性、精细的推送控制及双向互动能力(如直接发帖)。

未来展望

作者计划寻找或开发新系统,以保留IRC核心优势(如整合通知、日志记录)的同时,增强移动端适配、界面可读性、源订阅及直接发布等功能。

总结:IRC凭借其开放性、可定制性及文本日志的可靠性,成为作者整合数字生活的有效工具,尽管界面简陋,但多年来的实用性证明了其价值。

21. New IBM LinuxONE 4 Express – Rack-mounted pre-configured Linux mainframe (newsroom.ibm.com)

IBM推出最新LinuxONE 4 Express系统,这是一款预配置的机架式Linux大型机,旨在为中小型企业和新数据中心环境提供增强的网络安全、韧性、可扩展性及AI推理能力。

该系统基于IBM Telum处理器构建,采用机架式设计,旨在简化部署并快速启动工作负载,适用于数字资产、医学影像AI分析及工作负载整合等新旧用例。据称,将Linux工作负载从可比的x86系统迁移至LinuxONE 4 Express,五年期内总拥有成本可节省52%以上。

系统具备高可用性设计,结合GDPS、IBM DS8000系列存储和HyperSwap,在运行Red Hat OpenShift容器平台的环境中,可实现高达99.999999%(八个9)的可用性。

主要用例包括:

  • 数字资产:通过IBM Secure Execution for Linux硬件安全技术,提供基于硬件的可扩展隔离,保护数据在使用时的安全。
  • 医学影像与AI:利用片上AI推理,实现AI与关键任务数据的协同定位,支持实时分析医疗记录等。
  • 工作负载整合:通过整合数据库简化IT环境,降低成本。

IBM积极构建生态系统,与AquaSecurity、Clari5、Exponential AI等合作伙伴共同提供应对可持续性和网络安全挑战的解决方案。

该系统起售价为135,000美元,预计于2024年2月20日起通过IBM及认证合作伙伴正式发售,初期暂不覆盖部分国家和地区。

22. How would you build an operating system? (SerenityOS with Andreas Kling) (corecursive.com)

SerenityOS 创始人 Andreas Kling 访谈摘要

本文摘自播客节目,讲述了开发者 Andreas Kling 如何独自从零开始构建一个名为 SerenityOS 的操作系统,以及这背后与他个人戒瘾与康复经历交织的故事。

核心历程

  1. 早期经历与职业:Andreas 曾在苹果公司从事 Safari 和 WebKit 的性能优化工作。这段经历让他深刻体会到“掌控技术栈”的强大之处——能够访问和修改从底层系统库到上层应用程序的所有代码,极大提升了开发效率和问题解决能力。然而,高强度工作与隐秘的药物滥用问题并存。

  2. 危机与转折:由于远程工作带来的隔离感以及药物使用升级,Andreas 的生活逐渐失控。在家人的干预下,他进入康复治疗并参加了为期90天的门诊项目。康复过程强调诚实、分享和建立新的道德观。

  3. 项目的起源:康复结束后,Andreas 面对大量空闲时间,开始在一个老旧电脑上重新编程。他试图寻找一个能占据全部注意力、具有挑战性且相对无害的项目,以替代过去的瘾癖。这让他想起了童年时想构建操作系统的梦想。他认为,回到成瘾问题出现前的初心,是找回真实自我的方式。

SerenityOS 项目详解

  1. 目标与理念:SerenityOS 不仅仅是内核,而是一个完整的操作系统,包括内核、Web 浏览器、文本编辑器、应用程序等所有用户日常接触的软件。其核心理念是“掌控一切”,将所有组件放在一个统一的代码库中,仿照在苹果工作时的体验,让开发者能够轻松理解和修改系统的任何部分。

  2. 设计与复古风格:为了降低复杂度,系统采用了成熟的抽象概念,例如类 Unix 内核和上世纪90年代末(如 Windows 2000)的图形用户界面。Andreas 形容这如同“合成波”音乐,用现代技术和实践重现怀旧风格,并赋予其高保真度。

  3. 作为康复的象征:项目名称“Serenity”取自戒瘾项目中常诵的“宁静祷文”。Andreas 有意识地将这个项目打造成自己康复的公开纪念碑,以此作为防止复吸的“内在威慑”,并彻底摒弃了过去隐藏秘密的生活方式,转而完全公开透明。

  4. 公开开发与社区成长:Andreas 通过录制编程过程并上传到 YouTube,公开了整个开发历程。起初他因暴露自己的挣扎而尴尬,但这成为锻炼诚实心态的一部分。视频吸引了大量观众,进而形成社区。项目从个人疗愈工具发展为拥有众多贡献者的开源项目,吸引了对底层系统编程感兴趣的开发者。

总结

SerenityOS 项目源于创始人个人危机后的自我救赎,它是一个用现代技术复古情怀打造的完整操作系统。其意义不仅在于技术实现,更在于它作为一个公开、透明的长期项目,帮助其创始人及参与者重新建立对编程的热爱、诚实的生活态度以及对生活的掌控感。项目本身不追求流行度或商业成功,而是专注于创造一件属于社区、美丽且完整的“作品”。

23. ElixirNitpicks (wiki.alopex.li)

Anubis是一个网站保护系统,用于对抗AI公司大规模抓取网站导致的停机问题。它通过Proof-of-Work方案(类似Hashcash)增加抓取成本,使其在大规模下变得昂贵,而在个人使用时负载可忽略。该系统是临时方案,旨在为指纹识别和识别无头浏览器争取时间,以减少对合法用户的挑战页面干扰。Anubis需要现代JavaScript功能,用户需禁用JShelter等插件以确保正常访问。

24. Mozilla's new service tries to wipe your data off the web (www.theverge.com)

服务概况
Mozilla推出付费隐私监控服务Mozilla Monitor Plus,月费8.99美元(按年订阅)。该服务通过与数据经纪公司Onerep合作(注:Mozilla已于2024年3月22日终止此合作),自动扫描超190个数据交易网站,查找并申请删除用户泄露的个人信息。

核心功能与运作方式

  • 自动扫描与删除:持续监控数据经纪网站,发现用户信息(如姓名、地址、犯罪记录、兴趣爱好等)后自动提交删除请求,处理时间通常为7-14天。若失败,Mozilla会继续尝试并指导用户手动操作。
  • 免费版服务:基础会员可获得一次免费扫描和删除,并享受每月数据经纪网站扫描。该服务延续了2018年推出的Firefox Monitor的暗网监控功能。
  • 配套隐私工具:Mozilla近年已推出Mozilla VPN、Firefox Relay等隐私产品。

行业背景与优势
数据删除服务虽常见,但市场中混杂不可靠供应商。Mozilla作为非营利开源基金会Mozilla Foundation的子品牌,其隐私优先的声誉可能更易获得用户信任。

附注

  • 本文发布后,Mozilla因发现Onerep首席执行官与数据经纪公司存在关联,已终止合作。
  • 文章于2024年2月6日修正了Firefox Monitor的名称表述。
26. Raspberry Pi Pico cracks BitLocker in under a minute (www.theregister.com)

文章摘要

核心事件

一项技术演示表明,使用成本低于10美元的树莓派Pico微型计算机,可以在不到一分钟内破解Windows BitLocker磁盘加密。该方法由用户“stacksmashing”在YouTube视频中展示,前提是需要物理接触目标设备,且设备的可信平台模块(TPM)与CPU是分离的(许多设备将TPM集成在CPU内部,此类设备不受影响)。

技术原理与演示

  1. 漏洞利用点:当TPM将解密密钥传递给CPU时,该密钥未经加密
  2. 攻击步骤
    • 在演示中,攻击者针对一台联想笔记本(其他类似硬件设计的设备也可能存在漏洞),使用自制的连接器接入芯片间的通信线路。
    • 通过连接的树莓派Pico运行信号分析软件,截获并读取明文传输的BitLocker主密钥。
    • 整个攻击过程耗时不到一分钟,硬件成本低于10美元。

背景与影响

  • 微软的立场:微软早已承认此类物理攻击的可能性,但将其描述为“需要充足时间的定向攻击,攻击者需要拆机、焊接并使用复杂的软硬件”。此次演示在速度和工具简易性上超出了这一描述。
  • 安全启示:此方法暴露了在特定硬件配置下,依赖TPM进行BitLocker密钥保护的物理安全隐患。它提醒系统管理员需要审查其设备清单,评估潜在风险。
  • 缓解措施:如果设备硬件存在此类漏洞,可以通过为BitLocker配置PIN码(预启动认证) 来增强防护,从而阻止仅凭物理访问即可实施的攻击。

总结

该发现凸显了在物理安全层面上,某些硬件实现存在的薄弱环节。廉价、易得的工具(树莓派Pico)结合特定的硬件设计缺陷,使得针对BitLocker加密的物理攻击变得异常简单和迅速,对依赖全盘加密保护敏感数据的组织和个人构成了现实威胁。

28. Claim: the ideal PR is 50 lines long (graphite.dev)

文章核心主张:理想的PR大小应为50行左右

大多数工程师直觉认为较小的代码变更更优,因其更易审查、缺陷更少且部署更快。基于数据分析(来自Graphite同步的PR与仓库),作者得出结论:50行是PR大小的理想平衡点

关键数据发现:

  • 速度与审查质量:50行的PR比250行的PR审查与合并速度快约40%,每行代码收到的审查评论多40%
  • 风险与产出:50行PR被回退的概率比250行的低15%。若团队中位PR大小为50行,其年代码总输出量可能比撰写200+行PR的同事高约40%
  • 可接受范围:25-100行/PR是合理的区间。低于25行,回退风险上升且总代码产出下降;超过100行,审查合并速度显著变慢。

四维指标分析:

  1. 审查/合并时间:PR越小,审查速度越快。但超5000行的PR速度略有回升,可能因作者与审查者开始“盲目批准”或仅略读。
  2. 回退率:25-50行的PR回退率最低。低于10行的PR(可能是配置变更)回退率反而较高;超过1万行的PR回退率稍降,可能因重构性质或情绪锚定。
  3. 每行评论数:PR越小,单位代码行获得的评论越多(最多每39行一条)。超过2000行,评论锐减,审查常流于“略读”。
  4. 总代码产出:中位变更大小为40-80行的仓库/开发者代码输出量最高。变更太小,合并速度优势无法弥补拆分开销;变更太大,缓慢的审查周期会拖累效率。

实践建议:

  • 优化目标:若追求快速合并,将PR做小;若追求深度审查反馈,可考虑1000-2000行的PR。
  • 团队基准:日常开发应瞄准中位数50行/PR。虽然特殊情况需灵活调整,但偏离此大小可能影响审查质量、速度及变更稳定性。

注意事项:

  • 数据基于Graphite用户,这些用户通常采用主干开发模式(倾向于小PR)。
  • PR大小分析使用中位数而非平均数,以避免大型重构的干扰。
  • “回退”依据PR标题中包含“Revert”一词定义。
29. Spotify CEO Daniel Ek tells investors Apple's DMA rules are a 'farce' (techcrunch.com)

Spotify CEO丹尼尔·埃克在2023年第四季度财报电话会议上表示,苹果为遵守欧盟《数字市场法》(DMA)而推出的新条款对Spotify的业务没有实际负面影响,投资者无需担忧。他指出,公司可以选择继续沿用原有条款与苹果合作,维持现状。同时,埃克认为新规则可能带来“显著的未来优势”,包括此前因苹果政策限制而无法实现的创新功能,例如建立“超级粉丝俱乐部”、通过自有网站分发应用程序(如Spotify for Artists和Podcasters),以及在应用内推广新产品、促销活动或有声读物销售等。

埃克此前曾公开批评苹果的DMA合规方案是“敲诈”和“完全的闹剧”,指出苹果通过新的“核心技术费”(每百万次年度安装后的每次首次安装收取0.50欧元)和七天内应用外购买佣金等复杂条款,并未真正遵循DMA促进竞争的精神,而是设计了一套“没有理智的开发者会选择”的方案。

尽管Spotify目前仍面临盈利挑战(该季度亏损7000万欧元,但较去年同期的2.7亿欧元亏损大幅收窄),埃克强调,在当前的iOS生态中,Spotify无法开展这些创新业务,否则将导致公司无法盈利。他希望欧盟委员会能进一步采取行动,推动苹果修改其条款,从而让消费者和创作者均受益。

苹果在回应中表示,其为欧盟应用程序提供的新规给予了开发者更多选择,包括新的应用分发和支付处理选项。苹果强调,开发者可以选择保持现有条款,而在新条款下,超过99%的开发者支付给苹果的费用将与之前相同或更低,并指出Spotify目前无需向苹果支付任何费用,且在新方案下仍可维持这一状态。

30. Implementing system-versioned tables in Postgres (hypirion.com)

在PostgreSQL中实现系统版本化表

文章探讨了如何在尚不支持SQL:2011系统版本化表功能的PostgreSQL中手动实现该特性。作者的核心方案是为每个需要版本控制的表创建一对关联表:一个用于当前状态的“快照表”,一个用于存储历史记录的“历史表”。

核心实现方案

  1. 表结构设计

    • 快照表:与常规表无异,用于日常操作。
    • 历史表:在快照表字段基础上,前置一个 history_id(UUID主键)和一个 systime(TSTZRANGE类型)字段。systime 的下界表示记录生效时间,上界(为无穷大时表示未删除)表示失效时间。历史表通过一个GiST索引约束,确保同一主键的时间区间不重叠。
  2. 触发器逻辑: 通过在快照表上设置 AFTER INSERT/UPDATE/DELETE 触发器来自动同步历史记录。

    • 插入触发器:在快照表插入新行后,向历史表插入一条新记录,其 systime[NOW(), 无穷大)
    • 更新触发器:执行三步操作:1)删除同一事务内刚为相同主键创建的、上界无穷的历史记录;2)将当前生效的历史记录的 systime 上界关闭为 NOW();3)插入一条新的历史记录。这确保了同一事务内的多次更新只产生一条历史记录。
    • 删除触发器:将当前生效的历史记录的 systime 上界关闭为 NOW()
  3. 关键技巧与注意事项

    • 列顺序依赖:历史表在 history_idsystime 之后的字段顺序必须与快照表完全一致,利用 NEW.* 展开来实现简洁的插入,但这增加了表结构变更时的维护风险。
    • 并发冲突:GiST索引防止时间区间重叠,可能导致对同一记录的并发更新事务失败。
    • 简化实现:作者最终提供了一个更通用的触发器函数,将历史表名和ID字段名作为参数传入,通过动态SQL(EXECUTE)执行,减少了为每个表重复编写触发器的代码量。

讨论与总结

  • 历史记录的必要性:作者认为,保留历史记录的主要价值在于能够快速恢复误删或损坏的数据,以及在调试时追溯数据状态。虽然这增加了存储和写入开销,并可能引入并发冲突,但其概念简单且易于回滚。
  • 替代方案:如果条件允许,作者建议考虑直接支持系统版本化的数据库,如MariaDB、SQL Server或Datomic。对于PostgreSQL用户,文中给出的触发器方案是一个可行的自力更生之法。
  • 结论:该方案适用于PostgreSQL用户,尤其适合用户生成内容等需要数据版本追溯的场景。但存在实现繁琐、依赖列顺序、并发冲突等“坑”,使用前需详细了解其工作原理。作者在GitHub上提供了一个示例应用。
32. "Wherever you get your podcasts" is a statement (www.anildash.com)

“无论在哪里收听播客”这句话看似普通,实则代表了一种激进的技术理念。它象征着一种开放、去中心化、不受任何单一公司控制的技术的胜利,使得创作者能够拥有自己的作品并直接掌握与听众的关系。

背景:开放的网络遗产

播客技术诞生于早期社交网络时代,秉承了当时技术创造者构建开放、可互操作的系统的规范。这种理念继承自电子邮件和万维网的成功传统。播客是最后一种成为主流的此类开放技术,让数百万人收听、无数人创作,并催生了从个人到大型企业(如苹果、Spotify)的商业模式。

与封闭平台的对比

与YouTube、TikTok或Twitch等完全由单一科技公司拥有的封闭平台不同,播客生态系统是开放的:

  • 封闭平台:创作者受制于不透明的算法,一旦离开平台,观众/听众也随之流失。
  • 开放播客系统:创作者本质上可以“带着听众迁移”。其基础是RSS源(一种特殊文件),创作者可以将其转移到新的主机或系统,而不失去订阅者。这种“可携带的受众”概念甚至启发了Mastodon等新一代开放社交网络。

开放系统的经济与文化影响

  1. 广告模式的“低效率”优势:播客的开放格式使得基于监控的定向广告难以实现,这与谷歌、Facebook等依赖精准广告的巨头形成对比。这种“低效率”广告模式(类似于传统杂志广告)减少了对用户行为的监控,有助于维系一个更健康、更多元的媒体生态系统,能够支持面向小众的重要内容。
  2. 证明开放网络的生命力:播客证明了开放网络能够在现代科技媒体环境中存活并繁荣。即使是最大的公司也无法完全取代已找到受众的开放系统。
  3. 对集中化危害的遏制:在开放系统中,没有中央算法会自动推荐和传播有害内容(如煽动仇恨的播客),避免了单一封锁系统带来的系统性风险。

局限性与启示

开放系统并非万能。播客经济的残酷现实也部分源于创作者无法像封闭平台那样依托大平台的广告销售支持。

然而,当我们听到“无论在哪里收听播客”时,应意识到这代表着一种激进的技术系统能够悄然存活并茁壮成长。它激励着人们构建类似的、不被拥有、去中心化的系统。在开放网络复兴的时代,播客指明了一条道路,让我们展望未来——当“无论在哪里获取新闻”或“无论在哪里与朋友在线相聚”也成为常态时,意味着我们的网络生活将能真正掌握在自己手中。

33. Viboritas: Reverse engineering of my 1990 game (I was 11 years old) (nanochess.org)

Viboritas: 1990年游戏的逆向工程记录

背景与发现

作者在2024年整理旧软盘备份时,意外发现了自己1990年11岁时用Z80机器码编写的2K字节游戏《Viboritas》(西班牙语"小蛇")。游戏最初直接通过监控程序输入到一台自制的Z80教学计算机上,后经多次软盘备份保存至今。

开发环境与技术规格

  • 硬件: Zilog Z80 CPU, 2K EPROM, 2K RAM, TMS9118 VDP(视频显示处理器), AY-3-8910音效芯片(可选), Commodore键盘。
  • 开发方式: 没有汇编器,直接使用监控程序编写机器码,依赖Zilog的Z80助记符和机器码对照表。
  • 灵感来源: 受《Input MSX》杂志第12期中《Future Knight》游戏截图的启发,目标是制作一款2K大小的科幻游戏。

逆向工程过程

  1. 提取与反汇编: 从720K磁盘镜像中提取出2K二进制文件,并完整反汇编为超过1000行的Z80汇编代码。
  2. 识别关键组件:
    • ROM调用: 识别出用于清屏、设置VDP地址、发送数据到VRAM、读取键盘的ROM调用。
    • 图形设置: 分析了VDP寄存器配置、字符集和精灵图数据的加载。
    • 音乐播放器: 在代码中找到了一个简单的音乐播放器,用于播放勃基舞风格的旋律(由同学提供音符)。
    • 关卡绘制: 包括墙壁、地板、梯子和"排水口"的绘制逻辑,关卡难度通过梯子数量变化体现。
  3. 发现历史Bug: 找到了一个存在34年的bug——当蛇与玩家水平对齐但不在同一楼层时,由于寄存器值被错误覆盖,会导致玩家在下一楼层被一个"隐形蛇"意外杀死。
  4. 代码结构分析:
    • 主循环: 清屏 -> 图形初始化 -> 游戏初始化 -> 绘制关卡 -> 玩家/敌人更新 -> 检查胜负条件。
    • 玩家控制: 通过键盘(移植后改为摇杆)实现左右移动和上下梯子。
    • 敌人逻辑: 三条蛇在固定垂直位置左右移动,具有简单的碰撞检测。
    • 变量列表: 包括玩家坐标、敌人坐标与方向、关卡数、生命数、音乐播放索引等。

移植与更新

作者将游戏移植到了MSX和ColecoVision平台,主要改动包括:

  • 适配不同平台的VDP和PSG(可编程声音发生器)端口。
  • 重新设计了所有精灵图形(原图形借用自其他游戏《Abu-Simbel Profanation》)。
  • 修复了发现的bug,并调整了关卡颜色以提高可见度。
  • 提供了可下载的ROM文件和带注释的源代码。

游戏特点与反思

  • 2K限制: 在严格的2K内存限制下实现了完整的平台游戏玩法。
  • 开发风格: 代码中有大量补丁,反映了边学边做的过程,例如允许玩家在空中行走(未检查地板)。
  • 历史版本: 作者找到了更早的打印稿,显示初始版本没有音乐播放器,使用未压缩的颜色表,初始生命数为4。
  • 个人意义: 这是作者的第三个Z80机器码游戏,展示了少年时期的编程能力和想象力,虽然代码不完善,但达到了预期目标并向同学们展示了自制游戏。

附加信息

  • 原始游戏名称曾为《El Guerrero del Futuro》(未来战士)。
  • 游戏的源代码、ROM和原始二进制文件已包含在可下载的viboritas.zip压缩包中。
  • 该项目在Hackaday网站上有相关报道。
34. OpenScope Air Traffic Control Simulator (www.openscope.io)

OpenScope Air Traffic Control Simulator 摘要

OpenScope Air Traffic Control Simulator 是一个空中交通管制模拟器,其内容展示了命令行界面的帮助部分。该帮助旨在指导用户进行交互操作,主要包括:

  • 图例:定义了三个核心元素以解释命令结构:
    • alias:表示别名或缩写。
    • argument:表示参数或输入值。
    • optional:表示可选部分。
  • 导航指令:提供了界面操作的关键快捷键:
    • 使用 [↑/↓] 箭头键在菜单或选项间上下浏览。
    • 使用 [tab] 键选择当前高亮项。
    • 使用 [tab] 键确认并提交选择。
    • 使用 [esc] 键返回上一级或取消当前操作。

这些指令构成了模拟器命令行界面的基础交互方式,帮助用户高效地进行空中交通管制模拟操作。

35. The power of two random choices (brooker.co.za)

在大规模Web服务中,负载均衡至关重要。集中式负载均衡器虽能高效分配负载,但会增加成本、延迟和复杂性。若将负载均衡职责交给多个客户端,则面临公平分配的挑战。

一个潜在方案是让客户端共享并缓存下游服务的负载数据。然而,研究(引述自《The Power of Two Random Choices: A Survey of Techniques and Results》)表明,使用缓存(可能过时的)数据进行负载均衡会导致“羊群效应”:请求会持续涌向此前空闲的服务器,使其过载,随后在下一次数据刷新时又变得空闲,从而造成负载的剧烈振荡。

完全随机的选择策略虽能避免羊群效应,但在典型负载下会浪费资源,导致延迟升高和吞吐量降低。

该研究推介了一种更优的简单策略:两次随机选择(Best of Two Random Choices),即随机选取两个服务器,然后选择其中负载较低的一个。模拟实验证实,在存在数据延迟的情况下,此策略表现优异。

  • 完美信息下:“选择最佳服务器”策略性能最优,而“随机选择”最差。
  • 随着数据延迟增加:“选择最佳服务器”因羊群效应而性能急剧恶化,甚至超过“随机选择”;“三次随机选择中选优”策略起初次之,但最终也会随延迟增大而变差。
  • “两次随机选择” 策略在整个模拟的数据延迟范围内(更新间隔10至70秒)始终表现最强。它巧妙结合了利用负载信息与抑制羊群效应的优点,仅在极高延迟下才可能劣于完全随机策略。
37. Show HN: Geppetto, an open source AI companion for your Slack teams (github.com)

Geppetto:Slack团队的开源AI伴侣

Geppetto 是 DeepTechia 推出的一款多功能Slack机器人,它能无缝集成多种AI模型,为团队提供强大的人工智能支持。

核心功能

  • 多模型支持:可轻松在ChatGPT、Claude和Gemini等AI模型间切换,默认模型为gpt4-turbo。
  • 开放访问:允许Slack中的所有人使用,无需为每个用户额外付费或配置。
  • 简洁沟通:通过直接给Geppetto发消息即可发起动态对话线程。
  • 高级控制:通过高级LLM控制器组件管理多个AI模型。
  • 轻松部署:使用Docker实现顺畅的安装体验。
  • 创意图像生成:支持在Slack对话中直接使用DALL-E-3生成创新图像。

使用指南

  • 直接消息:直接给机器人发消息无需@提及,每条消息会生成一个对话线程。
  • Slack频道:在频道讨论中需使用@提及来调用Geppetto。
  • 用户权限:仅允许配置文件中列出的用户访问。
  • 切换模型:在消息中包含相应指令,例如输入llm_openai使用ChatGPT。
  • 列出模型:在消息中输入llms可列出所有可用模型。

设置与部署

  1. Slack应用配置
    • 修改config/manifest-dev.yaml以自定义Geppetto。
    • 在Slack API网站基于清单创建新应用。
    • 保存应用凭证:包括Signing SecretApp-Level Token(即SLACK_APP_TOKEN)和Bot User OAuth Token(即SLACK_BOT_TOKEN)。
  2. 环境设置
    • config/.env.example复制为config/.env并配置相关环境变量,包括上述Slack令牌以及OpenAI、Google Gemini、Anthropic Claude的API密钥和模型设置。
  3. 部署方式
    • Python部署:克隆仓库,使用poetry install安装依赖,然后运行poetry run geppetto启动。
    • Docker部署:准备Docker环境,将docker-compose.example.yml重命名并配置,调整.env文件后执行构建和运行命令。官方Docker镜像已发布在Docker Hub。

测试与许可

  • 在项目根目录使用python -m unittest执行测试。
  • Geppetto采用AGPLv3许可证分发。

关于开发者

DeepTechia 是一家数字技术公司,致力于将前沿科技与商业需求相结合,协助企业进行数字化转型。

38. Canada Must End Reliance on Cheap Foreign Labor, Minister Says (www.bnnbloomberg.ca)

加拿大经济已连续两个季度收缩,经济学家普遍认为这符合技术性衰退的定义。但部分经济学家指出该标签具有误导性,另有观点认为这一经济界定的实际影响有限。

39. 'Left high and dry': Confessions of a laid-off gaming industry worker (digiday.com)

游戏行业裁员风波:一名被解雇员工的自白

在科技与媒体行业裁员潮中,游戏行业正遭受严重冲击。尽管游戏作为一种娱乐形式正日益成为文化主流,但游戏公司却难以充分利用这一趋势。随着免费游玩(F2P)或持续运营模式逐渐取代买断制游戏销售,成为行业主导商业模式,游戏公司正在相应地调整策略并大幅裁员。仅在2024年1月,游戏行业就裁员超过5,000人,其中包括Riot Games裁减530名员工,以及微软在旗下动视暴雪和Xbox部门裁减1,900名员工。

以下是一位在此次裁员潮中失业的游戏行业工作者的自述。

裁员前的感受与预兆

  • 梦想的工作:这份工作是自高中起就一直追求的梦想,同事们也视其为梦想工作。虽然工作辛苦,但热爱同事和所参与的游戏项目。
  • 不祥的信号:1月份的一次全员大会上,管理层透露因“疫情红利”已结束,公司收入低于2020和2019年水平,因此将进行策略调整,暗示了即将到来的裁员。

裁员后的处境与影响

  • 个人状态:失业后感觉糟糕,处于“孤立无援”的境地。游戏行业就业市场竞争本就激烈,大量求职者争夺有限职位,此时找工作尤为困难。
  • 打击多样性:裁员往往针对初级员工,而这部分人群多由行业新加入者构成,包括女性、酷儿群体和有色人种。裁员实质上破坏了行业过去几年在多样性方面取得的进步。由于职场环境对这些群体本就存在障碍,他们往往资历最浅,因此总是“最后被雇佣,最先被解雇”,难以获得晋升。
  • 知识传承危机:公司过度依赖资深员工,但这些资深员工总有一天会离开。如果始终没有新一代员工成长起来,当他们离开时,将无人能够传承经验和实践,对公司造成长远损失。

行业反应与员工心理

  • 短暂的支持:裁员后得到了一些积极支持,但这种关注仅持续了一到两周便迅速消退。失业者的困境很快被遗忘,其他在职员工回归工作,而失业者的生活却无法恢复正常。
  • 被遗忘的挫败感:失业者感到被抛弃,并幻想过同事能组织罢工或抗议,尽管明知这不切实际。他们目前得到的支持主要来自同样被解雇的同伴,大家自发组建了互助小组。
  • 恐惧作为控制手段:大规模抗议或罢工并未出现的原因在于,裁员本身就是管理层有意制造恐惧。通过让在职员工感到自己随时可被替代,从而使其顺从。员工出于保住工作的考虑,不敢轻易反抗。
40. Don't Steal; Government Hates Competition: The Problem with Asset Forfeiture (papers.ssrn.com)
41. Show HN: Logdy.dev – web based log viewer UI for local development environments (logdy.dev)

Logdy.dev:本地开发环境的Web日志查看器

Logdy.dev 是一个基于Web的用户界面,用于格式化杂乱的本地开发日志并方便浏览。以下内容总结了其安装、使用和主要功能。

安装方法

Logdy.dev 提供多种安装方式,以适应不同操作系统:

  • 使用脚本安装:通过以下命令下载最新版本并添加到系统PATH。该命令会向服务器发送下载报告;如需静默安装,可使用另一个脚本。

    curl https://logdy.dev/install.sh | sh
    

    静默安装脚本:

    curl https://logdy.dev/install-silent.sh | sh
    
  • 使用Homebrew(仅限MacOS):MacOS用户可通过Homebrew安装。

  • 下载预编译二进制文件:从Github发布页面下载预编译版本,支持多种操作系统和架构:

    • linux/amd64、windows/386、windows/amd64、darwin/amd64、darwin/arm64、linux/arm64。 示例下载命令:
    # Linux (x86)
    wget https://github.com/logdyhq/logdy-core/releases/download/v0.17.0/logdy_linux_amd64
    # MacOS (ARM)
    wget https://github.com/logdyhq/logdy-core/releases/download/v0.17.0/logdy_darwin_arm64
    

运行和使用

运行Logdy以查看日志,示例使用Node.js应用:

  • 假设Logdy已添加到PATH,通过管道将应用输出传递给Logdy:
    node app.js | logdy
    
  • 启动后,访问控制台输出的地址(默认为 http://localhost:8080)进入Web UI。

主要功能

  • 显示列和过滤器:Logdy简化了日志解析和列选择,便于浏览。
  • 自动生成列:使用内置的“autogenerate”功能,基于JSON对象自动生成列,支持调整和自定义。
  • 分面功能:可生成分面(facets),或使用自动生成功能基于列数据创建分面,增强日志分析能力。

Logdy.dev 通过Web界面提升本地开发日志的查看效率,支持灵活安装和强大的自定义功能。

42. JPL Workforce Update (www.jpl.nasa.gov)

JPL 裁员情况更新

核心事件

喷气推进实验室(JPL)于2024年2月6日宣布,由于NASA预算降低且国会未批准2024财年拨款,在采取所有其他节约措施后,决定进行裁员。此次调整将影响约530名正式员工(约占总数8%)及约40名外包人员,涉及技术与支持部门。

原因与背景

  • 预算压力:NASA要求JPL按3亿美元规划2024财年“火星样本返回”(MSR)项目预算,较2023财年下降63%
  • 前期措施不足:已实施的招聘冻结、合同削减及部门预算压缩仍无法满足财政需求。
  • 必要性:裁员是为了避免未来更大幅度的削减,并确保实验室能继续履行NASA任务。

执行安排

  1. 通知方式:为减轻员工压力,所有受影响人员与非受影响人员将在同一天(2月7日) 通过虚拟会议及后续邮件获知结果。
  2. 工作安排:2月7日大部分员工需远程办公,仅必要人员可进入实验室。
  3. 对受影响员工的支持
    • 在60天通知期内继续领取基本工资和福利,无需工作。
    • 可获离职补偿(符合条件者)、职业安置服务等过渡支持。
  4. 对留任员工的支持:领导层将安排会议解答疑问,后续将召开全员大会说明实验室未来方向。

管理层表态

JPL主任Laurie Leshin在内部邮件中强调:

  • 此次裁员是其任期内最艰难的决定。
  • 感谢离职员工的贡献,并承诺他们将永远是JPL历史的一部分。
  • 实验室将继续专注于为NASA和国家执行关键任务。

后续影响

裁员旨在保持JPL的技术能力与创新能力,确保当前任务(包括MSR)的持续执行。实验室将尽快为受影响员工提供个性化支持,并平稳过渡至新的运营模式。

43. States, including CA and NY, sign heat pump memorandum (www.theverge.com)

美国九个州(包括加利福尼亚、科罗拉多、缅因、马里兰、马萨诸塞、新泽西、纽约、俄勒冈和罗德岛)签署了一份谅解备忘录,旨在推动热泵的销售与普及。该协议设定了具体目标:到2030年,热泵在住宅供暖、制冷和热水设备销售额中占比达到65%;到2040年,这一比例提升至90%,涵盖暖通空调和热水设备市场。

热泵作为传统供暖制冷系统的替代品,具有更高的能效,且由于其电力驱动特性,未来可与可再生能源(如风能、太阳能)结合使用,助力减排。该备忘录不具法律约束力,各州需自行制定配套政策或激励措施以实现目标,但这体现了热泵在应对气候变化中日益增长的重要性。

行业方面,包括施耐德电气、西门子、宜家、eBay以及暖通空调制造商特灵和开利在内的多家企业已签署支持信,认为建筑电气化和热泵推广有助于实现经济与环保双赢。建筑领域是全球能源相关温室气体排放的主要来源之一,在美国,建筑化石燃料燃烧产生的氮氧化物排放甚至超过发电厂,而热泵可有效减少此类污染。

目前,各州正面临化石燃料行业对新建燃气接入禁令的强烈反对。备忘录还强调,至少将40%的住宅建筑能效与电气化改造投资引导至低收入家庭和弱势社区。此外,拜登政府曾在2022年启用《国防生产法》以促进热泵等清洁能源技术的国内生产;2022年美国住宅热泵销量首次超过燃气炉,占比达53%;纽约市也已在公共住房中推广热泵,作为2.63亿美元计划的一部分。

44. Ask HN: Best Preventative for Aging Parents?
46. Demystifying GPU compute architectures (thechipletter.substack.com)

现代GPU计算架构旨在通过大规模并行处理解决复杂问题。其核心设计理念与CPU不同,GPU采用了“单指令多线程”架构,通过大量简单计算单元实现高吞吐量,而非优化单个线程的延迟与复杂性。

GPU架构主要分为几个层次。最底层是基本计算单元,包含多个并行执行单元(如处理32位整数、32位/64位浮点数的单元)、内存加载/存储单元、寄存器文件和缓存。这些单元被分组,共同执行同一指令,类似于CPU的SIMD,但更侧重于快速线程切换以隐藏内存延迟。

多个基本计算单元被进一步组合。NVIDIA称其为“流式多处理器”,AMD称为“计算单元”。这些单元内部增加了更高级别的缓存和专用硬件(如AMD的标量单元)。

最后,多个流式多处理器或计算单元协同工作,形成完整的GPU核心,并配备大型二级缓存以及高速互连技术(如NVLink或Infinity Fabric)以连接内存和其他系统组件。

NVIDIA(如H100的Hopper架构)和AMD(如MI200的CDNA2架构)的具体设计在术语和细节上存在差异,但基本原理相似。一个关键区别在于执行单元的数量:例如,NVIDIA H100拥有18,432个32位浮点执行单元,远超拥有128个核心、支持AVX-512(每核8个浮点单元)的顶级CPU的1,024个执行单元。

GPU程序通过软件抽象运行,复杂的内存层次和线程调度对程序员部分隐藏。要充分利用GPU,理解其底层并行架构、内存结构以及资源调度至关重要。

47. Amazon is chopping jobs at its One Medical and Pharmacy units (www.businessinsider.com)

亚马逊正对其医疗保健部门One Medical和Amazon Pharmacy进行新一轮裁员,作为更广泛成本削减计划的一部分。此次裁员涉及“数百个职位”,具体人数估计在115至400人之间。裁员原计划于2月1日前宣布,但因亚马逊最新财报发布及其他内部问题而推迟。

此次裁员是亚马逊为降低One Medical固定成本结构所采取的举措之一。领导层要求One Medical显著减少运营亏损,并计划在2024年额外节省1亿美元。One Medical在被收购前(2022年)的运营亏损为4.2亿美元。

亚马逊今年初已在多个部门进行裁员,包括Twitch、Prime Video、Audible和Amazon Pay。首席财务官Brian Olsavsky近期未明确表示裁员已结束,引发了员工对更多裁员的担忧。

亚马逊高级副总裁Neil Lindsay在声明中确认了裁员,称公司正在调整资源以加速为患者、客户和会员提供最佳体验,并将继续投资于医疗服务团队和技术。

One Medical整合计划与成本目标

  • 营销整合:One Medical计划将营销资源与亚马逊的医疗保健业务合并。
  • 职能整合:旨在整合房地产、合规、财务和人力资源等企业职能,并集中支持岗位。
  • AI应用:预计新的人工智能工具将提高生产力并节省成本。
  • 成本目标:计划到2028年,将固定运营成本占总收入的比例从41%降至20%。同时,目标将每位患者的就诊成本从2023年的372美元降至2024年的322美元,主要通过增加服务患者数量实现(亚马逊近期为Prime会员推出了One Medical折扣计划)。

背景与内部动态

One Medical是亚马逊在疫情期间以39亿美元收购的重大项目。随着疫情相关增长未达预期,亚马逊在过去18个月内已裁员至少2.7万人并砍掉多个长期项目。

自收购完成后,亚马逊对One Medical的控制日益加强,近期双方领导团队间的紧张关系加剧,部分One Medical高管预计将离职。此外,One Medical近期调整薪酬方案以更贴近亚马逊模式,进一步引发了内部矛盾。

49. Anti-abortion group's studies retracted before Supreme Court mifepristone case (arstechnica.com)

反堕胎组织研究被撤回事件概述

核心事件

科学期刊出版商 Sage 已撤回三篇发表在《卫生服务研究与管理流行病学》杂志上的研究。这些研究由反堕胎组织支持,在美国最高法院审理的 “希波克拉底联盟诉FDA案” 中被引用,该案旨在撤销对堕胎和流产药物 米非司酮 的监管批准。最高法院定于 2024年3月26日 听取该案件。

被撤回的研究

  • 领导研究者:James Studnicki,任职于 夏洛特·洛兹勒研究所(Susan B. Anthony Pro-Life America的研究部门)。
  • 撤回原因
    1. 方法论、分析和表述存在多种问题
    2. 存在未披露的利益冲突
    3. 同行评审过程存在缺陷(评审员与反堕胎组织有关联)。

研究内容与争议

  • 最具影响力的研究(2021年)声称:2001年至2015年间,接受药物堕胎的医疗补助计划女性中,高达 35% 在术后30天内前往急诊室就诊,且该比率高于手术堕胎。
  • 专家批评指出的问题
    • 分析了所有急诊就诊记录,而非仅与堕胎相关的就诊。
    • 包含了与堕胎无关的医疗代码(如异位妊娠)。
    • 未考虑医疗补助受益者使用急诊室进行常规护理的普遍现象。
    • 将同一患者的多次就诊重复计数,夸大了数据。
    • 未将数据置于医疗补助受益者急诊使用的整体背景下。
  • 权威医学观点:美国妇产科医师学会指出,对数万例药物堕胎的研究表明,严重副作用发生率低于1%,重大不良事件发生率低于0.3%,死亡风险几乎为零。

法律案件影响

  • 该研究被反堕胎团体在诉讼中引用。
  • 得克萨斯州联邦法官曾于2023年4月基于此研究发布初步禁令,试图撤销FDA对米非司酮的批准。
  • 美国第五巡回上诉法院部分推翻了该裁决,但最高法院已冻结下级法院的命令直至上诉程序结束。

出版商调查与决定

  • Sage在收到关于研究质量的投诉后,委托独立统计专家进行审查。
  • 审查发现数据图表具有误导性,研究设计存在根本性问题,作者结论缺乏科学严谨性。
  • Sage确认作者存在未披露的利益冲突(与反堕胎组织有关联)。

作者回应与后续

  • 研究负责人Studnicki称撤回是“试图抹黑优秀研究”并提供了反驳意见。
  • 根据报道,Studnicki已被解除在该期刊的编委会职务。

背景信息

  • 米非司酮被FDA和医学专家认为是安全有效的药物,在美国超过一半的堕胎手术中使用。