2024-04-10

27 篇热帖

1. Peter Higgs, physicist who discovered Higgs boson, has died (www.theguardian.com)

彼得·希格斯,因提出希格斯玻色子而闻名的诺贝尔奖得主物理学家,已于本周一在爱丁堡的家中去世,享年94岁。

希格斯在1964年提出了希格斯玻色子的理论,该粒子通过赋予其他粒子质量,从而帮助维系了宇宙结构。2012年,欧洲核子研究中心(CERN)的大型强子对撞机实验证实了他的理论。基于此项工作,他与比利时理论物理学家弗朗索瓦·恩格勒特共同获得了2013年诺贝尔物理学奖。

希格斯一生中的大部分职业生涯在爱丁堡大学度过。为表彰其贡献,大学于2012年成立了以他命名的“希格斯理论物理中心”。他同时还是英国皇家学会会员和荣誉勋爵。

爱丁堡大学校长彼得·马西森称赞希格斯是一位“杰出的个体”和“真正有天赋的科学家”,其远见卓识丰富了人类对世界的认知,并将激励后代。CERN总干事法比奥拉·吉亚诺蒂则评价他除了学术贡献外,为人谦逊,是一位优秀的教师和沟通者,与CERN的历史成就紧密相连。

同事与同行们普遍认为希格斯是粒子物理学界的“英雄”。尽管他为人腼腆,不喜欢公众关注,但仍感到有责任利用其声望为科学造福。他的理论被视为抽象数学思想转化为重大物理后果的惊人典范。

瑞典皇家科学院曾指出,粒子物理学的标准模型依赖于希格斯粒子的存在。该粒子源于一个遍布宇宙的不可见场,正是通过与该场相互作用,粒子才获得了质量。

希格斯出生于纽卡斯尔。他育有两个儿子,克里斯和乔尼,以及儿媳苏珊娜和两个孙辈。他的妻子、语言学讲师乔迪于2008年去世,两人此前已分居。

2. Yes, social media is a cause of the epidemic of teenage mental illness (www.afterbabel.com)

社交媒体是青少年心理疾病流行的原因

本文围绕社交媒体是否为青少年心理健康危机的主因这一核心争论展开。作者哈特(Jonathan Haidt)反驳了怀疑论者代表、心理学家坎迪斯·奥杰斯(Candice Odgers)的观点,并系统阐述了支持其立场的证据。

争论背景

  • 历史上,成年人常对年轻人的新事物(如小说、摇滚乐、电子游戏)感到担忧,但多数担忧最终被证明是“道德恐慌”。
  • 然而,某些警报(如青少年吸烟、酒驾)是正确的。当前争论在于:社交媒体引发的担忧属于又一次无根据的恐慌,还是真正的危机已自约2012年到来?

对怀疑论者的反驳

奥杰斯在《自然》杂志发文质疑哈特的著作《焦虑的一代》,主要论点及哈特的回应如下:

  1. 关于“无因果证据”:奥杰斯认为哈特将相关性误认为因果性,缺乏社交媒体导致心理疾病的因果证据。

    • 哈特的回应:他并非仅依赖相关性研究。其团队整理的“协作评论”文档汇集了数百项研究,包括:
      • 实验研究:在22项实验中,16项显示减少社交媒体使用对心理健康有益。例如,停用Facebook一个月可提升主观幸福感;同时减少社媒使用和增加体育锻炼的效果最显著。
      • 准实验/自然实验:9项研究中8项发现宽带网络普及与青少年(尤其是女孩)心理健康问题加剧相关。
      • 集体层面证据:学校禁用手机后,学生注意力、体育活动和心理健康普遍改善。
    • 这些研究呈现一致模式:大量使用社媒与更高的心理疾病风险相关,且对女孩的影响通常大于男孩,这与“零假设”(无影响)预期的随机结果不符。
  2. 关于“替代解释”:奥杰斯认为危机的真正原因是社会结构性问题(如种族主义、经济困难、2008年金融危机的持续影响)。

    • 哈特的回应:该解释无法匹配以下事实:
      • 时机不符:心理疾病率在2000年代大体平稳,约2012年突然飙升,而此时经济正在复苏。
      • 范围不符:类似的心理健康危机几乎同期发生在加拿大、英国、澳大利亚、新西兰、北欧多国及西欧部分地区。这些国家的社会问题与美国截然不同。
      • 数据不符:美国数据显示,抑郁率上升在高收入和低收入青少年群体中几乎同步开始,而非如金融危机影响论所预测的应先打击低收入群体。
    • 此外,大量青少年的亲身证词和Meta内部研究均指出Instagram等平台是问题的重要源头。

论证要点

  • 怀疑论者聚焦于个体层面的“剂量-反应”关系,忽略了社交平台引发的集体行动困境:当青少年集体迁移至线上社交,退出可能导致社交孤立,这会加剧整体心理健康下滑。
  • 当前证据已形成连贯信号,表明社交媒体(尤其是对青春期女孩)是导致心理疾病流行的主要原因,而非仅仅是相关因素。

政策建议与行动呼吁

作者基于其因果推论,提出四项可立即推行、成本极低且获得两党支持的改革规范:

  1. 高中前不使用智能手机(可使用基础功能机或手表)。
  2. 16岁前不使用社交媒体(需辅以立法,如更新《儿童在线隐私保护法》)。
  3. 学校全时段禁用手机(使用手机柜或锁袋)。
  4. 增加现实世界的独立游戏、自由活动和责任

作者指出,即便其因果推论有误,这些规范也无害——它们鼓励学生更专注于学习、进行更多户外互动,并减少对电子设备的依赖。鉴于危机已持续12年,他认为基于最可信的理论采取行动,比继续等待完美证据更为紧迫。

3. Double-entry bookkeeping as a directed graph (matheusportela.com)

复式记账法作为有向图

本文以作者学习会计的经历为起点,通过一个简化案例,逐步阐述了从单式记账法到复式记账法的演进,并最终将复式记账体系阐释为一个有向图,以提供更直观的现代理解视角。

核心概念演进

1. 簿记基础:从余额快照到账户与余额

  • 目标:跟踪账户中可计数事物(本文聚焦金钱)随时间的变化。
  • 初始方法:定期记录每个账户的当前余额,生成时间点快照。
  • 局限性:只记录余额会丢失账户余额变化的历史过程和原因,无法回答“为什么”产生该余额。
  • 定义
    • 账户:存储金钱的场所。
    • 余额:某一时间点账户中的金额。

2. 单式记账法:引入账簿与分录

  • 改进:不再只记录最终余额,而是记录每一次引起账户变化的分录
  • 结构:每个账户拥有一个独立的账簿,用于记录该账户的所有分录。
  • 关键特性
    • 不可变性:账簿中的分录一旦写入,不可更改,以保留完整历史。
    • 纠错方式:通过添加新的分录(如冲销分录)来纠正错误,而非修改原分录,从而形成审计线索。
  • 定义
    • 分录:记录发生在一个账户上的交易。
    • 账簿:一个账户的分录集合。
  • 类比:类似于软件工程中的事件溯源

3. 复式记账法:交易、借贷与平衡

  • 改进:将影响多个账户的相关分录组织成交易,明确体现资金在不同账户间的流动。
  • 核心原则
    • 每笔交易都涉及至少两个账户。
    • 在每笔交易中,资金流出账户的总额(贷方)必须等于资金流入账户的总额(借方),即“有借必有贷,借贷必相等”。这确保了系统内的资金总额守恒。
    • 通过创建对销账户(如银行账户)来为系统注入初始资金,使所有交易保持平衡。
  • 定义
    • 交易:一组影响多个账户的相关分录。
    • 贷方:代表资金离开一个账户的分录。
    • 借方:代表资金进入一个账户的分录。
    • 对销账户:用于平衡其他账户的账户。
  • 特点
    • 通过将借贷分录在物理位置上分开放置(如T型账户的左右两侧),历史上有助于减少人工记账错误。
    • 一笔交易可以包含两个以上的分录,以适应复杂情景(如涉及手续费、税款等)。

复式记账法的有向图视角

作者提出,复式记账系统可以自然地建模为一个有向图,这使得资金流动的分析变得可视化和直观。

  • 节点
    • 账户:图中的圆形节点。
    • 交易:图中的方形节点。
    • 贷方分录:从账户节点指向交易节点的有向边,表示资金流出。
    • 借方分录:从交易节点指向账户节点的有向边,表示资金流入。
    • 边上的标签表示资金金额。
  • 余额计算:一个账户的余额等于其所有入边金额之和减去所有出边金额之和。
  • 交易约束:在图中,代表一笔交易的方形节点的所有出边金额之和必须等于其所有入边金额之和,体现了“借贷平衡”原则。

总结与意义

  1. 演进路径:文章清晰地展示了从简单余额记录,到单式记账(记录分录),再到复式记账(组织成交易)的发展历程,解决了历史记录和资金流向追溯的问题。
  2. 系统特性:复式记账法是一个封闭的、守恒的资金流动系统,其核心是交易平衡
  3. 图论洞察:将整个复式记账体系理解为一个有向图,为理解会计概念(如资产负债表、利润表、现金流报表)提供了一个强大而直观的思维模型。报表和会计要素(资产、负债、权益、收入、费用)均可视为该图的特定视图或节点分组。
  4. 灵活性:账务处理的细节(如何分拆交易、如何设置账户)是灵活的,会计人员可以根据业务需要设计交易结构,但底层的平衡原理和图结构是不变的。

这种图论视角降低了会计概念的抽象性,使其更易于现代开发者和技术人员理解。

4. U.S. imposes first-ever national drinking water limits on PFAS (apnews.com)

美国首次对饮用水中PFAS设定全国性限值

拜登政府于周三最终确定了针对饮用水中某些“永久化学物质”(PFAS)的严格限制措施,要求水务公司将其降至可可靠检测的最低水平。官员表示,该规定将减少1亿人的暴露,并有助于预防数千例疾病,包括癌症。这是美国首次针对PFAS(全氟和多氟烷基物质)设定全国性饮用水限值。

新规核心内容

  • 限值标准:对两种常见PFAS(PFOA和PFOS)设定严格限值4万亿分之一(ppt),对另外三种PFAS(包括北卡罗来纳州的GenEx Chemicals问题物质)限值为10 ppt。
  • 监测与公开:水务公司需定期检测PFAS含量,并在超标时向公众通报。
  • 实施时间:水务公司通常有3年时间进行检测;若超标,将有额外2年时间安装处理系统。

健康影响与背景

PFAS不易在环境中降解,与低出生体重、肝病和某些癌症等健康问题相关联。它们广泛用于不粘锅、消防泡沫和防水衣物等产品。尽管一些常见类型已在美国淘汰,但其他类型仍存在。专家指出,即使微量长期暴露也会累积,导致健康风险。美国环境保护署(EPA)估计,实施该规定每年成本约15亿美元,但可在数十年内预防近10000例死亡并显著减少严重疾病。

各方反应与挑战

  • 支持者:环保和健康倡导团体赞扬EPA坚持严格限值,认为减少饮用水中PFAS暴露是最具成本效益的方式。
  • 水务公司与行业担忧:水务公司认为处理系统安装成本高昂,尤其会对资源有限的小型社区造成负担,最终可能导致水费上涨。行业组织指出EPA低估了成本,并面临专家短缺和过滤材料供应有限等问题。
  • 法律与实施挑战:法律诉讼可能随之而来。部分社区已开始应对,例如Veolia公司已为小型水务系统建设PFAS处理设施,但预计还需在更多地点进行处理。

具体案例与公众关注

  • 费城附近社区:去年6月,一个服务近9000人的水务公司发现一口井的PFOA水平高达235 ppt,被迫关闭该井,安装处理系统可能需数百万美元。
  • 明尼苏达州事件:2023年,一名女性因罕见癌症去世,其家族归咎于3M公司附近的PFAS污染。推动该州通过法律限制PFAS使用,并呼吁严格标准。

后续支持与展望

  • 资金支持:3M公司已同意支付超过100亿美元和解诉讼;两党基础设施法案包含数十亿美元用于应对PFAS。
  • 政策演进:EPA近年来根据新研究大幅调整PFAS健康指南,目前认为任何水平都不安全。拜登政府强调社区不应遭受类似奥克代尔的痛苦。

该新规标志着美国饮用水安全进入新阶段,旨在通过强制清理污染,保障数百万消费者的健康,尽管其成本和执行细节仍面临争议。

6. Kobo announces color e-readers (www.theverge.com)

Rakuten Kobo 宣布推出其首批彩色电子阅读器——Kobo Libra ColourKobo Clara Colour。两款设备均采用 E Ink 最新的 Kaleido 彩色显示技术,其彩色显示效果为柔和的粉彩色调,但在查看彩色内容时,分辨率会从 300ppi 灰度分辨率降至 150ppi。

主要产品信息:

  1. Kobo Libra Colour(售价 219.99 美元):

    • 可视为对现有 Kobo Libra 2(作者此前的最爱)的升级版本。
    • 保留了 7 英寸屏幕、IPX8 防水设计、物理翻页按钮、无锁屏广告和更大存储等特性。
    • 新增功能是兼容 Kobo Stylus 2(需单独购买,售价 69.99 美元)。
    • 相比非彩色的 Libra 2,价格上涨了 30 美元。
  2. Kobo Clara Colour(售价 149.99 美元):

    • 与上一代黑白款 Kobo Clara 2E 差异更明显。
    • 维持了 6 英寸显示屏和 IPX8 防水设计。
    • 存储升级至 16GB,并配备了性能更强的处理器(以改善上一代可能存在的运行缓慢问题)。
  3. Kobo Clara BW(售价 129.99 美元):

    • 同时发布的升级版黑白电子阅读器,具备与 Clara Colour 相同的存储和处理器升级。

其他信息:

  • 所有新设备从即日起(文章发布时)开始接受预订,并计划于4月30日发货。
  • 作者计划对两款彩色阅读器进行测试,初步认为它们属于现有型号的“小幅升级”。
7. Fairbuds: In-ear with replaceable batteries (shop.fairphone.com)

Fairbuds: 内置可更换电池的入耳式耳机

产品概述

Fairbuds是Fairphone推出的真无线耳机,主打可维修性与可持续发展。产品提供概述、规格和评论等信息模块。基于27016条评论,其综合评分表现如下:

  • 5星评价占68%(18368条)
  • 4星评价占15%(4043条)
  • 3星评价占6%(1581条)
  • 2星评价占4%(956条)
  • 1星评价占8%(2068条)

核心特性

音质与降噪

  • 搭载11mm钛涂层驱动单元,提供平衡且丰富的音质。
  • 支持主动降噪(ANC),具备先进抗风噪功能,用户可自由选择沉浸式聆听或保持环境感知。
  • 配备6个麦克风(左右各3个)和环境降噪(ENC)技术,确保通话清晰。
  • 支持双设备无缝连接,可同时配对多设备并自动切换。

续航与耐用性

  • 总续航时间达26小时(耳机6小时 + 充电盒20小时)。
  • 充电盒和耳机电池均可由用户自行更换,支持超过500次充放电循环。
  • 快速充电:充电10分钟可提供1.5小时播放。
  • 通过IP54认证,防汗防溅水,适用于锻炼和雨天使用。
  • 提供三年保修(含额外一年延保),模块化设计预期使用寿命更长。

易用性

  • 提供三种尺寸耳塞,确保舒适贴合。
  • 支持触控操作(双耳机均具备),可控制播放、音量等。
  • 具备自动播放/暂停功能:取下耳机时暂停,戴上后继续播放。
  • 配备专用iOS和Android应用程序,支持自定义EQ设置、固件更新、维修指导及配件订购。

设计理念与影响

  • 采用公平采购和再生材料制成,包括再生稀土元素和塑料。
  • 通过投资改善矿山工作条件的信用额度,对产品中的金、银、钴负责。
  • 生产工厂提供生活工资补贴,确保公平待遇。
  • 每售出一对耳机,即等量回收电子废物,实现“电子废物中和”。
  • 通过延长产品寿命、使用再生材料和支持减碳项目,减少碳足迹。

主要技术规格

  • 控制方式:电容触控(双耳机)。
  • 蓝牙与连接:蓝牙5.3,支持SBC和AAC编码,无线范围10米(视距),支持双设备连接。
  • 充电接口:USB Type-C。
  • 电池:耳机45mAh,充电盒500mAh;ANC开启时通话/音乐时间约5小时,关闭时约6小时;不支持无线充电。
  • 声音:11mm钛涂层动圈驱动单元,频率响应20Hz-20kHz,阻抗16Ω±15%。
  • 麦克风:6个麦克风,支持Google Assistant和Apple Siri。
  • 防护等级:耳机IP54(防汗防溅水),充电盒无防护等级。
  • 尺寸与重量:耳机约22x22x26mm,充电盒65x65x27mm;总重约82g(含盒),单耳机约5g。
  • 兼容性:支持Fairphone 3/3+/4/5及任何蓝牙设备。
  • 包装内容:耳机与充电盒、三副耳塞、快速入门指南。

常见问题解答

  • 推出原因:旨在为音频产品建立可持续市场,解决电子废物和供应链问题。
  • 可维修部件:耳机(左/右)、耳机电池与硅胶环、耳机套、充电盒外壳、充电盒核心、充电盒电池。
  • 防水性能:IP54认证,防汗防雨但不完全防水。
  • 应用功能:提供EQ预设调整、软件更新、维修指导及配件订购服务。
9. Cow Magnets (www.stanfordmagnets.com)

牛磁铁概述

作用与重要性

牛磁铁是一种专为牛设计的柱状磁铁,主要用于预防“硬件疾病”。该疾病是由于牛在放牧时意外吞食钉子、铁丝等金属物体,这些物体在胃部移动可能刺穿胃壁或内脏,导致感染、内出血甚至死亡。牛磁铁通过口服方式进入并固定在牛的网胃中,利用磁性吸附并固定吞入的金属异物,防止其移动造成伤害,从而显著降低疾病风险,是保障牛群健康、提高农场生产力的简单有效工具。

主要类型

牛磁铁根据材料和设计可分为以下几种:

  1. 铝镍钴磁铁:由铝、镍、钴合金制成,磁力强且耐用,能长期保持磁性,是常用类型。
  2. 铁氧体磁铁:成本较低,磁力较强,但材质较脆,使用寿命可能较短。
  3. 环形磁铁:中心有孔,便于串连处理,可降低投喂时的受伤风险。
  4. 堆叠式磁铁:由多个小磁铁堆叠而成,吸附金属的表面积更大,适用于金属污染风险较高的环境。

使用方法

在牛犊约一岁时(通常是在打烙印时),经18-24小时禁食后,将封装在药丸中的磁铁用专用工具送入牛口。磁铁被吞下后会留在网胃中,持续发挥保护作用。对整个牛群进行此类操作是预防硬件疾病的关键措施。

结论

牛磁铁是一种经济高效的预防性工具,能有效守护牛群健康。根据饲养环境和需求选择合适的类型(如铝镍钴、铁氧体、环形或堆叠式),是现代牛场管理中的一项重要实践。

10. Mistral AI Launches New 8x22B MOE Model (twitter.com)

文章内容显示异常

根据您提供的内容,当前显示的并非关于 Mistral AI 推出 8x22B MOE 模型的具体信息,而是一条网站错误提示。

提示内容为:“Something went wrong, but don’t fret — let’s give it another shot. Some privacy related extensions may cause issues on x.com. Please disable them and try again.”(出错了,但别担心——我们再试一次。一些与隐私相关的扩展可能会在 x.com 上引发问题。请禁用它们,然后重试。)

由于实际的文章内容未能加载或获取,无法对“Mistral AI Launches New 8x22B MOE Model”这一主题进行基于原文的准确总结。

11. Show HN: ADS-B visualizer (adsb.exposed)

ADS-B 可视化工具 该工具基于 ClickHouse 开源数据库 构建,用于实现空中交通广播式自动相关监视数据的可视化展示。

  • 技术基础:使用 ClickHouse 数据库作为后端支撑。
  • 展示内容:附带一张来自维基百科的示例图片,展示了该工具可能呈现的界面或数据可视化效果。
12. 2023 ACM Turing Prize awarded to Avi Wigderson (awards.acm.org)

2023年ACM图灵奖授予Avi Wigderson

ACM宣布,Avi Wigderson因对计算理论的奠基性贡献,特别是重塑了我们对计算中随机性作用的理解,以及他在理论计算机科学领域数十年的智力领导,荣获2023年ACM A.M.图灵奖。Wigderson是新泽西州普林斯顿高等研究院数学学院的Herbert H. Maass教授,他在计算复杂性理论、算法与优化、随机性与密码学、并行与分布式计算、组合数学与图论等多个领域是领军人物,并促进了理论计算机科学与数学、科学之间的联系。

ACM A.M.图灵奖常被称为“计算界的诺贝尔奖”,奖金100万美元,由Google资助,以英国数学家Alan M. Turing命名,他奠定了计算的数学基础。

理论计算机科学概述

理论计算机科学关注计算的数学基础,探讨问题是否可通过计算解决、所需资源(如时间)的量化,以及高效算法的设计。算法是许多计算技术的核心,理论突破推动了密码学、计算生物学、网络设计、机器学习和量子计算等领域的发展。

随机性在计算中的重要性

计算机本质是确定性系统,算法对输入的输出是唯一确定的。随机性缺乏可预测模式,但允许算法在计算中做出随机选择以提高效率。概率算法能高效解决一些确定性算法难以处理的问题,尽管有微小错误概率。研究随机性与伪随机性有助于开发更好算法并深化对计算本质的理解。

Wigderson的贡献

Wigderson四十年来引领理论计算机科学研究,在随机性与伪随机性计算方面做出基础性贡献。他与同事合作,证明了在标准计算假设下,每个概率多项式时间算法都可高效去随机化(即变为完全确定性),表明随机性对高效计算并非必需。这一系列工作革新了我们对随机性作用的理解,关键论文包括:

  • “Hardness vs. Randomness”(与Noam Nisan合著):引入新型伪随机生成器,证明在较弱假设下可实现随机算法的确定性模拟。
  • “BPP Has Subexponential Time Simulations Unless EXPTIME has Publishable Proofs”(与László Babai等合著):通过“硬度放大”证明在较弱假设下,有界错误概率多项式时间(BPP)可在子指数时间内模拟。
  • “P = BPP if E Requires Exponential Circuits: Derandomizing the XOR Lemma”(与Russell Impagliazzo合著):提出更强伪随机生成器,优化硬度与随机性权衡。

这些论文的影响超越了随机性领域,其思想被广泛应用于理论计算机科学其他分支。此外,Wigderson与同事合作,首次高效构造扩展图(稀疏但强连通的图),在数学和理论计算机科学中有重要应用。他在多证明者交互证明、密码学和电路复杂性等领域也是智力领袖。

指导与领导

Wigderson不仅是技术先驱,也是受人尊敬的导师,指导了许多年轻研究者。他的知识、技术专长以及友好、热情和慷慨的态度,吸引了众多优秀人才投身理论计算机科学。

外部评价

ACM主席Yannis Ioannidis指出,Wigderson此前已获阿贝尔奖(数学终身成就最高荣誉),此次图灵奖是对其工作的进一步认可,其研究连接了多个数学子领域与理论计算机科学。Google高级副总裁Jeff Dean强调,Wigderson的工作在过去三十年设定了理论计算机科学的议程,他对随机性的研究开辟了新视野,并激励了新一代研究者。

13. Deep Bug (www.marginalia.nu)

文章描述了一个搜索引擎项目中从二月份开始出现的神秘bug。bug发生在构建反向索引的合并阶段,具体是复制排序数据时随机失败,怀疑是32位整数溢出,但代码审查未发现问题。添加断言和保护代码后偶然成功,但无法稳定重现,这与并行合并顺序的随机性有关。

后续调查中发现一段逻辑矛盾的代码:同一变量在代码执行中值不一致,但使用64位整数且数据未溢出。作者复制了触发bug的生产数据,但在本地无法重现,暗示问题可能不在程序逻辑本身。

排查过程中排除了硬件错误、Linux内核bug等因素。由于bug首次出现后项目从OpenJDK迁移到了GraalVM,作者将GraalVM JDK切换回OpenJDK(Temurin)后问题消失。由于bug难以稳定重现且涉及数据量巨大(54GB),无法向Oracle提交有效的bug报告。

作者认为由于bug存在于专有代码(GraalVM)中,无法真正理解根本原因,因此只是表面上的解决而非真正修复。文章更新提到Oracle开发者正在调查这可能是一个编译器bug。

14. A MySQL compatible database engine written in pure Go (github.com)

go-mysql-server 项目摘要

项目概述

go-mysql-server 是一个用纯 Go 语言编写的数据源无关的 SQL 引擎和服务器。它使用 MySQL 方言和通信协议,可在用户提供的数据源上执行查询。项目包含一个简单的内存数据库实现,并允许用户通过实现自定义后端来查询任意数据源。其主要的生产级数据库实现是 Dolt,一个具备 Git 风格版本控制的 SQL 数据库。

兼容性

除特定限制外,go-mysql-server 可作为 MySQL 的即用替代方案。适用于 MySQL 的客户端库、工具、查询和 SQL 语法通常也适用于本项目。

项目范围与主要用途

  • 提供一个用于查询数据源的 SQL 服务器和引擎。
  • 内含一个适用于测试的内存数据库后端实现。
  • 提供接口,允许用户实现新后端以查询自己的数据源。
  • 主要用途:
    1. 在 Go 语言测试环境中,使用内置内存数据库替代 MySQL。
    2. 通过实现若干接口,使任意数据源可通过 SQL 查询访问。最完整的现实实现是 Dolt

安装与依赖

  • 通过 go get github.com/dolthub/go-mysql-server@latest 添加依赖。
  • 为实现 ICU 兼容的正则表达式,项目依赖于 go-icu-regex,后者依赖于 ICU4C 的 Cgo。编译时需要 C/C++ 工具链和 libicu-dev
  • 项目也提供了一个基于 Go 标准库的不兼容正则实现,但通常不推荐用于追求 MySQL 兼容性的场景。

内存测试服务器示例

项目提供了一个示例,展示了如何启动一个内存测试服务器以替代真实 MySQL 服务器。

  • 关键步骤:通过代码创建内存数据库和表,并插入示例数据。
  • 运行与连接:启动服务器后,可使用任何 MySQL 兼容客户端(如 mysql 命令行)连接并执行查询(如 SELECT * FROM mytable)。

内存数据库实现的限制

该内存实现主要用于测试,存在已知限制:

  1. 非线程安全:为避免并发问题,应将 DDL 和 DML 语句限制在单个 goroutine 中执行。
  2. 不支持事务START TRANSACTION, ROLLBACK, COMMIT 等语句无效。
  3. 索引实现性能不佳:索引查找和连接操作在底层表上执行全表扫描。

自定义后端开发

用户可以通过实现指定的接口来创建自定义后端,以查询自有数据源。详细的实现指南可参考项目文档。

其他信息

  • 技术文档:包括架构概述和贡献者指南。
  • 使用该项目的数据库后端:包括 DoltGrafana 和已停止维护的 gitbase
  • 致谢:项目最初由 {source-d} 组织开发,并从 src-d 分叉而来。
  • 许可证:Apache License 2.0。
15. GPT-4 Turbo with Vision Generally Available (platform.openai.com)

这篇文章是 OpenAI 官网的导航页面结构摘要。

主要产品板块

页面列出了以下几个核心产品及其入口:

  1. API

    • 文档:包含 OpenAI API 的指南、概念。
    • API 参考:提供端点、参数和响应的详细信息。
  2. Codex

    • 文档:Codex 的指南、概念和产品文档。
    • 用例:展示了团队可以交给 Codex 处理的工作流和任务示例。
  3. ChatGPT

    • Apps SDK:用于构建扩展 ChatGPT 功能的应用。
    • Commerce:在 ChatGPT 中构建商业流程。
    • Ads:在 ChatGPT 中发布和衡量广告。

资源与学习

页面提供了一个名为 “资源” 的板块,包含以下子项:

  • 展示:用于获取灵感的演示应用。
  • 博客:来自开发者的学习和经验分享。
  • 食谱:使用 OpenAI 模型进行构建的笔记本示例。
  • 学习:包含用于构建的文档、视频和演示应用。
  • 社区:面向构建者的计划、聚会和支持。
16. Stalwart mail server (self-hosted all-in-one mail server) now as an admin webui (stalw.art)

Stalwart Mail Server 0.7.0 核心更新摘要

版本核心:引入基于 Web 的管理界面 Stalwart Mail Server 0.7.0 引入了一个全新的、基于 Web 的服务器管理工具。该工具是一个使用 Rust 开发的单页应用程序,允许管理员直接通过浏览器管理服务器的方方面面,取代了以往依赖 SSH 或命令行的方式。

此 Web 管理工具的主要功能包括:

  • 全面管理:轻松管理用户账户、域名、群组和邮件列表。
  • 队列监控:监控和管理 SMTP 队列、待发送消息及 DMARC/TLS 报告,确保投递与合规。
  • 报告可视化:提供专门的界面,可视化展示接收的 DMARC、TLS-RPT 和故障报告。
  • 灵活配置:直接在网页端调整和优化所有服务器设置。
  • 日志增强:具备高级搜索和过滤功能的日志查看器,便于问题定位和活动监控。
  • 用户自助:用户可自行重置密码和管理静态加密密钥,提升安全与便利性。

该工具旨在简化管理流程,降低管理邮件基础设施的复杂性和时间成本。

性能与效率优化 除了管理改进,0.7.0 版本还着重提升了性能:

  • 邮箱检索加速:优化了邮箱检索速度,特别是为没有客户端缓存的 IMAP 客户端改善了大型邮箱的加载体验。
  • 存储压缩:集成 LZ4 自动压缩,用于压缩存储在 blob 存储中的消息和二进制文件,以节省存储空间并提高读取/传输速度。

这些改进共同提升了邮件服务器的整体速度和效率。

总结 Stalwart Mail Server 0.7.0 通过引入功能强大的 Web 管理界面和关键的性能优化,树立了邮件服务器解决方案的新标准,旨在提升管理体验与运行效率。

17. Zed Decoded: Async Rust (zed.dev)

Zed Decoded: Async Rust 总结

本文是 Zed Decoded 系列的首篇文章,旨在深入探讨 Zed 编辑器的内部构建。文章聚焦于 Async Rust(异步 Rust) 在 Zed 中的应用方式,解释了 Zed 如何利用它构建高性能的原生应用程序。

核心内容概览

  1. Zed 的异步运行时选择

    • Zed 并未使用常见的 Rust 异步运行时如 tokiosmol
    • 在 macOS 平台上,Zed 使用了 macOS 的 Grand Central Dispatch (GCD) 作为其异步代码的底层调度机制。
    • 通过一个极简的包装层(围绕 async_task crate 和 GCD),Zed 实现了将异步任务分发到系统线程池的能力。
  2. GPUI 框架中的执行器设计

    • Zed 的 UI 框架 GPUI 提供了两种关键执行器:
      • ForegroundExecutor(前台执行器):负责将任务派发到 主线程。主线程至关重要,用于渲染 UI 和处理用户输入,必须避免任何可能阻塞的操作
      • BackgroundExecutor(后台执行器):负责将任务派发到 后台线程池,适用于可能耗时或阻塞的操作。
    • 这种设计强制在架构上区分主/后台任务,是保证应用高响应性和不掉帧(达到120 FPS)的关键。
  3. 实际应用模式

    • 基本模式:应用层代码通过 cx.spawn()cx.background_executor().spawn() 来创建异步任务。
    • 示例解析
      • show_cursor_names:演示了如何启动一个短暂的后台任务,在定时器到期后隐藏光标名称。
      • 终端搜索:展示了“主/后台协作”模式。快速的引用克隆在主线程完成,而可能引发锁争用的 .lock() 操作则被移至后台线程,确保 UI 不会冻结。
      • 项目全局搜索:这是一个更复杂的例子,展示了在搜索数千个文件时,工作如何在主/后台线程间高效“乒乓”传递,以充分利用多核 CPU 并保持主线程空闲用于处理结果和更新 UI。
  4. 关键理念:永不阻塞主线程

    • 文章反复强调,主线程的响应性是应用体验的生命线。所有可能耗时的工作(如文件 I/O、锁、复杂计算)都应通过 background_executor 异步执行。
    • Zed 通过依赖 GCD 和清晰的执行器 API,从架构上引导开发者遵守这一原则。
  5. 后续与扩展

    • 文章提及了支撑这一切的 异步友好数据结构(如写时复制的缓冲区快照)以及测试策略,但详细内容被放在了配套的1小时视频中。
    • 作者承诺未来将有专门文章深入介绍 Zed 编辑器的数据结构。

总结

Zed 通过巧妙地将 Rust 的异步特性与操作系统原生的并发机制(GCD)相结合,并在 UI 框架层面强制划分主/后台执行器,构建了一个高性能、高响应性的现代编辑器。其核心设计哲学是 严格保护主线程,将所有可能阻塞的工作卸载到后台,从而确保流畅的用户体验。

18. PS1 Programming Course with MIPS Assembly and C (pikuma.com)

PS1编程课程:MIPS汇编与C语言

课程概述

本课程深入探索PlayStation游戏机编程,涵盖PS1硬件架构、子组件原理,并学习使用MIPS汇编器和C语言编写游戏。课程结合PS1 SDK库与现代开发工具链,以提高开发效率,实现高效多边形渲染。

技术背景

课程聚焦第五代32位主机时代,重点介绍RISC架构CPU的采用以及从纯汇编语言转向高级语言(C语言)的游戏开发范式演变。学习路径从MIPS汇编基础开始,逐步过渡到使用C编译器与PS1 SDK完成最终项目。

工具与环境

  • 操作系统:支持原始16/32位库(如Windows XP)或现代64位系统(Windows 10/11)配合Visual Studio Code。
  • 跨平台:可通过系统模拟在macOS或Linux上运行。
  • 硬件要求:无需真实PS1主机,所有练习和项目均可在PlayStation模拟器中运行;最终可选择刻录CD ISO在真机测试。

课程特色

  • 基础导向:从零开始讲解,注重基础概念与细节,适合初学者。
  • 深度理论:涵盖算法、数据结构、数据压缩、计算机架构、定点数学、计算机图形学等核心计算机科学主题。
  • 双层学习路径:先通过MIPS汇编理解底层硬件与数据流,再借助C语言与SDK抽象层整合知识,完成综合项目。
  • 实用性强:最终成果包括一个可在PS1运行的完整项目,并掌握独立拓展技能所需工具。

目标学员

  • 具备基础编程知识(如条件判断、循环、函数)。
  • 对复古编程和早期3D游戏历史感兴趣者。

课程信息

  • 总时长:35小时
  • 章节数:34章
  • 更新时间:2026年1月

讲师背景

Gustavo Pezzi为伦敦大学讲师,曾获多项教育奖项,并创办pikuma.com。他教授计算机科学与数学基础,学术经历涵盖匹兹堡州立大学、伦敦城市大学和牛津大学。

学生反馈

  • 评分:100%五星好评。
  • 评价要点:课程讲解清晰、覆盖底层硬件原理(如内存存储机制)、帮助理解CPU行为与问题根源,不仅教授实现方法,更注重培养持续学习能力。

课程定位

区别于使用现代引擎模仿PS1风格的教程,本课程直接针对原始PlayStation硬件进行底层开发,提供对32位主机时代技术的实质性理解。

20. ScreenAI: A visual LLM for UI and visually-situated language understanding (research.google)

ScreenAI:面向UI与视觉场景语言理解的视觉大语言模型

研究背景与目标

屏幕用户界面和信息图表在人类沟通与人机交互中扮演关键角色。它们共享设计原则和视觉语言,为构建统一模型提供了机会。然而,其复杂性和多样化呈现格式构成了独特的建模挑战。

模型架构与创新

核心架构:基于PaLI模型,由多模态编码器块和自回归解码器组成。在PaLI架构上应用了pix2struct引入的灵活分块策略,通过保持输入图像的原生宽高比,适应不同尺寸的图像。

关键改进

  • 提出新型屏幕标注任务,要求模型识别UI元素的类型、位置和描述
  • 仅5B参数规模,在多个基准测试中达到最优性能

数据生成与训练流程

数据准备阶段

  1. 多源数据收集:汇集桌面、移动和平板设备的屏幕截图
  2. 自动标注流程
    • 使用基于DETR的布局标注器识别UI元素及其空间关系
    • 应用图标分类器区分77种图标类型
    • 对未覆盖图标使用PaLI图像字幕模型生成描述
    • 结合OCR引擎提取文本内容,形成详细的屏幕描述

基于LLM的数据增强

采用两步骤流程提升数据多样性:

  1. 生成屏幕标注
  2. 使用PaLM 2通过精心设计的提示词生成合成数据
  3. 生成三类任务数据:
    • 问答任务:回答屏幕内容相关问题
    • 导航任务:将自然语言转换为可执行操作
    • 摘要任务:总结屏幕内容

训练与评估

训练方法

  • 两阶段训练:自监督预训练 + 人工标注数据微调
  • 多任务学习:使用公开的QA、摘要和导航数据集进行微调

评估结果

性能表现

  • 在UI和信息图表任务(WebSRC、MoTIF)上达到最优结果
  • 在ChartQA、DocVQA、InfographicVQA上相比同等规模模型表现最佳
  • 在Screen2Words和OCR-VQA上取得竞争性性能

新增评估基准

  1. Screen Annotation:评估布局理解和空间推理能力
  2. ScreenQA Short:精简答案的QA评估
  3. Complex ScreenQA:包含计数、算术等复杂问题的评估

模型扩展性

实验显示,模型规模增大可持续提升性能,且在最大规模时性能尚未饱和。

结论

ScreenAI通过统一表示和自监督学习任务,实现了跨领域数据利用。LLM数据生成技术和训练混合优化显著提升了模型性能,在多个公开基准上达到与先进方法竞争的水平,但仍需进一步研究以缩小与大型模型的差距。

(本研究由Maria Wang、Fedir Zubach等多位研究人员共同完成,并得到Tom Small等人的支持与帮助。)

21. GPT-4 Turbo with Vision is a step backwards for coding (aider.chat)

GPT-4 Turbo with Vision 在编码能力上的退步

OpenAI 于 2024 年 4 月 9 日发布了 GPT-4 Turbo with Vision 模型,但在 aider 的编码基准测试中,其表现低于所有先前的 GPT-4 模型。该模型似乎比现有的 GPT-4 Turbo "preview" 模型更容易出现 “懒惰编码” 问题。

代码编辑能力

aider 使用一个 代码编辑基准测试 来量化评估大语言模型修改现有代码的能力。该基准测试要求模型完成 133 个 Exercism Python 编程练习。

  • 首次尝试:模型获得初始存根代码和任务的英文描述。如果测试全部通过,则完成任务。
  • 第二次尝试:如果首次尝试失败,aider 会向模型提供失败的测试输出,并给予其第二次完成任务的机会。

GPT-4 Turbo with Vision 在该基准测试中仅获得 62% 的得分,是所有现有 GPT-4 模型中的最低分。其他模型得分在 63-66% 之间,因此这一退步幅度较小,与 gpt-4-0613 相比可能不具有统计显著性。

懒惰编码问题

GPT-4 Turbo "preview" 模型在编码时因懒惰而广受批评。它们常常省略必要的代码,转而留下注释,例如 “在此处实现方法”,如同布置家庭作业。

def some_complex_method(foo, bar):
    # ... implement method here ...

aider 使用一个专门设计的 “懒惰”基准测试套件,旨在诱发并量化这种懒惰编码行为。该套件包含 89 个 Python 重构任务,这些任务倾向于促使 GPT-4 Turbo 模型以懒惰方式编码。

新的 GPT-4 Turbo with Vision 模型在 aider 的重构基准测试中仅获得 34% 的得分,使其成为所有 GPT-4 Turbo 模型中最懒惰的编码者,且领先优势明显。

结论

aider 已全面支持新的 GPT-4 Turbo with Vision 模型,用户可通过参数 --model gpt-4-turbo-2024-04-09 访问。然而,aider 将继续默认使用 gpt-4-1106-preview 模型,因为它是目前 GPT-4 系列中表现最强的编码模型。

22. AzerothCore: Self-Hosted World of Warcraft 3.3.5a Server (github.com)

AzerothCore:自托管的《魔兽世界》3.3.5a 服务器

AzerothCore 是一个开源的游戏服务器应用程序和框架,用于托管大型多人在线角色扮演游戏(MMORPG)。它基于流行的 MMORPG《魔兽世界》(WoW),旨在重现游戏 3.3.5a 补丁版本的玩法体验。

其原始代码基于 MaNGOS、TrinityCore 和 SunwellCore,之后经过广泛开发,显著提升了服务器的稳定性、游戏内机制和模块化程度。AzerothCore 已发展成为一个由大量贡献者和开发者组成的社区驱动项目。项目使用 C++ 编写,为创建模拟官方《魔兽世界》服务器机制和行为的私服提供了坚实基础。

核心理念

项目的主要目标是创建一个可运行的游戏服务器,提供完整的游戏内体验。其核心关注点包括:

  • 稳定性:所有更改在合并到主分支前均需通过持续集成(CI)测试。
  • 原版内容:力求所有游戏内内容符合官方设定(Blizzlike),因此对修复项有高标准要求。
  • 高度可定制:通过模块可以轻松定制和扩展游戏体验。
  • 社区驱动:拥有活跃的开发者、贡献者和用户社区,通过论坛、Discord 等平台进行协作与支持。

模块化架构

AzerothCore 设计为高度模块化,允许开发者扩展和定制游戏,以适应个人偏好或创造独特的游戏玩法。这种灵活性支持添加自定义功能、内容和修改。社区已创建了大量模块,可在“模块目录”中找到。

安装与参与

详细的安装说明可在其文档中找到。该项目也可作为学习资源,帮助有抱负的开发者了解《魔兽世界》服务器的工作原理、MMORPG 的结构以及提升 C++ 和 SQL 技能。

若想为项目做贡献,可在其维基百科中找到大量指导资源。项目鼓励参与者阅读贡献者公约行为准则,并加入 Discord 服务器进行交流。通过在 GitHub 上点击“⭐ Star”按钮可以帮助项目获得更多关注。

作者与许可

该项目于 2016 年基于 SunwellCore 诞生。源代码根据 GNU GPL v2 许可证发布。

重要说明:AzerothCore 并非暴雪娱乐的官方产品,也未与其关联或获得认可。项目绝不赞助或支持非法的公共服务器。使用本项目运营非法公共服务器而非用于测试和学习是个人选择。

特别感谢 JetBrains 为 AzerothCore 开发者提供免费的开源许可证。

重要链接:项目官网、Doxygen 文档、维基百科、论坛、Discord 服务器、Facebook 及 LinkedIn 主页等可通过项目页面访问。

23. Show HN: CompressX, my FFmpeg wrapper for macOS (compressx.app)

Compresto(原名CompressX)是一款专为macOS设计的原生应用程序,用于批量压缩视频、图像、PDF和GIF文件。它能够在保持质量的前提下,将文件大小减少高达90%,并且所有操作完全在Mac上离线完成,无需上传文件。

该应用支持多种常见格式,包括MP4、MOV等视频文件;PNG、JPEG、HEIC、WebP、TIFF和GIF等图像文件;以及标准PDF文档。用户可以选择多个质量预设:在最高和高预设下,质量损失通常肉眼不可见;较低预设则会牺牲更多质量以换取更小的文件大小。

Compresto利用Apple Silicon硬件加速和VideoToolbox技术,确保压缩过程高效且本地化,保护用户隐私。它支持批量处理,可以一次性处理数百个文件或整个文件夹,并行执行压缩任务,并提供进度跟踪功能。

该应用仅适用于macOS 13及以上版本,兼容Intel和Apple Silicon处理器,目前没有Windows或Linux版本的计划。根据源格式、编解码器和质量预设,典型压缩效果可减少50%至90%的文件大小,尤其对4K视频节省空间最为显著。

Compresto已被Meta、Vercel等顶级公司的专业人士使用,帮助他们提升工作效率并节省存储空间。此外,应用还提供常见问题解答和相关指南,如文件压缩格式比较和FFmpeg使用技巧。

25. Boy photographer seeks danger as others flee (1968) (www.vintag.es)

少年摄影师:危险中的追逐者(1968年)

核心人物与背景

  • 主人公:12岁越南男孩洛文勇(Lo Manh Hung),身高约1.2米,体重不足27公斤
  • 职业身份:可能为南越最年轻的战地摄影师,已从业两年多
  • 家庭团队:与58岁的父亲Lo Vinh(44年摄影经验)组成西贡最年长与最年幼的摄影搭档

工作方式与日常

  • 工作时间:每日凌晨5点工作至晚9点,全年无休
  • 职责范围:覆盖政府公务、婚礼、机场、派对、火灾等各类新闻现场
  • 日常工作:协助父亲拍摄、冲洗胶片、印制照片,并向本地报纸和外国通讯社推销作品
  • 出行工具:与父亲共用一辆摩托车穿梭于城市各处

独特优势与挑战

  • 身材优势
    • 能从成人记者群中灵活穿梭至拍摄前排
    • 趴行穿过人群获得最佳角度且不遮挡他人
    • 体型小巧不易被注意,便于接近拍摄对象
  • 职业障碍
    • 常被警察拦截询问去向
    • 需出示证件证明专业摄影师身份
    • 童工外貌与专业身份形成反差

从业背景

  • 入行契机:父亲因拍摄街头骚乱受伤,需要协助
  • 家庭经历:父亲出生北越,曾在法国大学学习文学艺术,后以摄影为生;43岁结婚后与妻子从北方逃至西贡
  • 职业状态:在动荡的城市中,其他孩童逃离危险时,他却主动寻找新闻现场

历史背景

  • 时间地点:1968年2月18日,越战期间的西贡
  • 新闻价值:展现了战争环境下少年参与新闻报道的非凡案例
  • 信息来源:1968年2月14日《东南密苏里人报》报道
27. Building Reliable Systems Out of Unreliable Agents (www.rainforestqa.com)

本文探讨了如何利用不可靠的AI代理构建可靠的生产系统,核心观点是AI虽常在生产环境中出现可靠性问题,但通过系统化的工程方法,可以将其打造为可靠产品。作者基于多年构建AI QA工具的经验,总结了一套从简到繁的渐进式流程。

流程始于简单的提示词,用自然语言描述任务,但很快会遇到输出不稳定、格式不一致等问题。此时需进行最小化的产品集成,将AI组件以API形式接入产品,并建议设置temperature=0.0以提高可复现性。

当基础提示不足时,应建立评估系统进行提示工程。关键在于定义“可衡量的正确性标准”和建立快速迭代循环。文章详细讨论了多种评估场景的解决方案,包括输出变换、启发式验证、模式校验(如使用instructor库),甚至利用另一个更小的LLM作为评估器。通过构建验证集并计算如准确率等指标,可以系统地优化提示词,并尝试分步思考、少样本提示等技巧。

系统部署后,必须建立完善的可观测性(如记录所有LLM输入输出),以便收集真实用户反馈和数据,持续改进评估集。

若提示工程效果达到瓶颈,下一步是投入检索增强生成。RAG在运行时将相关外部数据动态注入提示,以弥补模型知识的不足(如实时信息或专有数据)。作者以自身产品利用历史测试数据为例,并提及了RAG技术栈的选型(如OpenAI嵌入、Pinecone向量数据库)。

当RAG仍无法满足需求时,可考虑微调模型。但作者指出这需要大量数据、专业知识,且主流提供商(如OpenAI、Anthropic)支持有限、流程复杂,建议谨慎投入,除非其他途径均已穷尽。

贯穿整个过程,作者提出了一项关键突破策略:使用互补代理。该策略的核心是构建多个具有不同专长的代理,通过协作弥补彼此缺陷,从而提升整体可靠性。例如,一个“规划者”代理负责制定高层计划和创意解题,一个“验证者”代理则专注于检查具体步骤的可行性并提供实时纠错反馈。这种分工模拟了人类团队的协作,比要求单个代理承担所有任务更容易实现可靠输出。

总结而言,作者强调构建AI产品是一个高度迭代、类比应用研究的过程。建议团队遵循从简单提示到评估、观测、RAG、微调的渐进路径,并灵活运用互补代理策略。获取真实用户反馈和构建良好的工程基础(如评估集和可观测性)至关重要,许多问题在完成前四步后即可得到解决。