2024-12-10

31 篇热帖

1. Willow, Our Quantum Chip (blog.google)

Google量子芯片Willow:通往实用化量子计算的关键突破

谷歌研发的最新量子芯片Willow在量子计算领域实现了两项重大突破,标志着向构建实用化、大规模量子计算机迈出了关键一步。

核心成就

1. 量子纠错的历史性突破

  • 指数级降低错误率:随着量子比特数量增加(从3x3到5x5再到77的阵列),Willow实现了错误率的指数级降低,每次扩展都能将错误率减半。
  • "低于阈值"里程碑:这是该领域自1995年彼得·绍尔提出量子纠错以来近30年所追求的目标。实现"低于阈值"意味着可以在增加量子比特的同时有效控制错误。
  • 实时纠错与"超越盈亏平衡":首次在超导量子系统中展示实时纠错能力,且量子比特阵列的寿命超过单个物理量子比特,证明了纠错的整体有效性。

2. 超越经典计算机的计算性能

  • 基准测试表现惊人:在随机电路采样基准测试中,Willow在不到五分钟内完成了一项计算,而当今最快的超级计算机完成同一计算需要约10 septillion(10^25)年——这个时间远超宇宙年龄。
  • 保守评估下的领先:即使对经典超级计算机Frontier做出慷慨假设(如允许无限制访问二级存储),Willow的性能仍展现出量子处理器正以双指数速率拉开与经典计算机的差距。

芯片规格与技术细节

  • 量子比特数量:105个量子比特
  • 关键性能指标
    • T1时间(量子比特保持激发态的时间)接近100微秒,比前代芯片提升约5倍
    • 系统各组件(单量子比特/双量子比特门、重置、读取)均经过高度优化和集成
  • 制造设施:在圣巴巴拉专为量子计算建造的全新制造设施中生产

应用前景与未来方向

  • 下一步目标:在Willow系列芯片上实现首个"有用的、超越经典"的计算,解决具有实际商业价值的现实世界问题。
  • 当前局限:随机电路采样基准测试虽展示超越经典计算机的性能,但尚无已知实际应用;量子系统模拟虽有趣但仍在经典计算机能力范围内。
  • 应用领域:未来可能应用于药物发现、电动汽车高效电池设计、聚变能源推进、人工智能训练数据收集和架构优化等。
  • 社区参与:谷歌通过开源软件、Coursera课程邀请研究人员和开发者共同参与量子纠错和算法开发。

意义

Willow是量子计算发展道路上的重要里程碑,其"低于阈值"的纠错能力和惊人的计算性能为构建实用化、大规模量子计算机提供了有力证据,表明量子计算在解决复杂问题上将逐步超越经典计算,为多个科学和工业领域带来变革潜力。

2. Sora is here (openai.com)

Sora 部署概述

  • 版本限制:当前部署的 Sora 版本存在局限性,包括生成不切实际的物理效果,在长时间复杂动作上表现不佳。Sora Turbo 速度比二月预览版快,但仍在努力降低技术成本,使其更普及。
  • 部署目的:现在推出是为了让社会有时间探索 Sora 的潜力,并共同制定规范和保障措施,确保技术在发展中被负责任地使用。
  • 安全措施
    • 所有 Sora 生成的视频都包含 C2PA 元数据,用于标识来源和验证透明度。
    • 默认添加可见水印,并构建内部搜索工具,通过技术属性验证内容是否来自 Sora。
    • 阻止有害滥用,如儿童性虐待材料和性深度伪造。
    • 人物上传功能在启动时受限,未来将随深度伪造缓解措施的完善而逐步推出。
  • 更多信息:用户可参考系统卡了解安全监控方法,以及红队工作的详细内容。
  • 展望:希望这个早期版本能激发全球用户探索新创意形式,讲述故事,并推动视频叙事的边界。
3. "This is not a joke, Funko just called my mom" (twitter.com)

文章内容总结

这篇文章是itch.io 官方账号在**X(原 Twitter)**上发布的一条推文。

其核心内容非常简短,只有一句话:

“This is not a joke, Funko just called my mom” (中文:这不是玩笑,Funko 刚刚给我妈妈打了电话。)

关键信息点

  1. 来源:内容发布于 X 平台,发布者是游戏分发平台 itch.io 的官方账号。
  2. 声明:作者特别强调这“不是一个玩笑”,暗示事件的真实性。
  3. 事件:一个名为 Funko 的公司联系了作者的母亲。

推文本身并未提供事件的具体背景、原因或后续发展,仅陈述了上述事实。

5. Ask HN: Those making $500/month on side projects in 2024 – Show and tell
6. Launch HN: Double (YC W24) – Index Investing with 0% Expense Ratios
7. Firefox removes "do not track" feature support (windowsreport.com)

根据提供的标题和内容,目前无法生成准确摘要。原因如下:

内容缺失问题
提供的“文章内容”实际为网站安全拦截页面(由 Cloudflare 等防护服务触发)的提示信息,并未包含标题所指向的实际文章内容。页面提示用户因触发安全策略被阻止访问,并建议联系网站所有者。

标题信息参考
仅从标题“Firefox removes 'do not track' feature support”可推断,文章可能涉及 Mozilla Firefox 浏览器移除其“禁止跟踪”(Do Not Track, DNT)隐私功能的相关报道。DNT 是一项历史较久的浏览器隐私功能,允许用户通过 HTTP 头信息向网站声明不希望被追踪。但近年来因缺乏统一行业标准及部分网站不遵守,该功能的实际效果备受争议。

如需生成有效摘要,请提供完整的文章正文内容。

8. Software developer arrested in connection with murder of healthcare executive (www.bbc.com)
9. Tree Calculus (treecalcul.us)

树演算

树演算(Tree Calculus)由Barry Jay发现,是一个最小化、图灵完备、具有反射性和模块性的形式系统。该网站的演示由Johannes Bader开发。

核心特性

1. 最小性

  • 基本算子:仅有一个二元算子 ,当其作用于三个值时进行计算。
  • 语法:表达式 E 或表达式的应用 E E 组成。
  • 可视化 是树的一个节点。将表达式 E2 应用到 E1 上,相当于将 E2 连接到 E1 树的根节点右侧,从而形成二叉树。树的值是自然的二叉树,其节点分为叶(leaf)、茎(stem)或叉(fork)。
  • 实际应用:适用于构建轻量、安全的跨平台解释器,以及生成跨平台配置。

2. 图灵完备

  • 组合子完备性:包含组合子逻辑中完备的 KS 算子,其定义如下:
    1. K = △ △
    2. S x = △ (△ x)
  • 递归函数表示:与 lambda 演算不同,递归函数可以表示为正规形式(normal form),通过不动点构造(如示意图中的橙色/棕色结构)实现。

3. 反射性

  • 分支分析triage{l,s,f} = △ (△ l s) f 可对叶、茎、叉进行模式匹配。
  • 自然数表示:自然数 n 可表示为 △n △。零检测函数为 triage{true, K false, K2 false}
  • 自省与反射:由于程序本身也是值(树),程序可以自应用,从而实现内省(introspection)和反射(reflection)。例如,程序 size 可以计算其参数的节点数(如 size size 计算结果为 168)。
  • 实际应用:支持程序序列化、停机问题的简化表述、程序分析/优化作为函数实现,以及静态与动态类型检查的统一(仅通过函数调用完成)。

4. 模块化

  • 子项表示:子项(sub-terms)表示为子树(sub-trees)。
  • 递归计数:如图示的 size 程序,使用递归方式计数节点:
    triage {
        (+ 0),
        λu. (+ size u),
        λuv. ((+ size u) ∘ (+ size v))
    } ∘ (+ 1)
    
  • 实际应用:便于引导(bootstrap)公共功能,且功能强大的程序无需是巨大的树。

意义与愿景

  • 功能民主化:通过其简洁和反射特性,使得函数编程更易于理解和实现。
  • 元理论民主化:为程序分析、优化和验证提供了统一且简洁的理论框架。
10. Trellis – 3D mesh generative model (trellis3d.github.io)

关于“Trellis – 3D mesh generative model”的内容摘要

由于提供的“文章内容”仅为一条重定向提示信息(“You are being redirected, please wait...”),未能包含任何与文章标题“Trellis – 3D mesh generative model”相关的实质性技术内容

因此,无法根据现有信息生成关于该3D网格生成模型目的、结构、关键功能或工作原理的有效总结。标题本身表明,该模型可能专注于自动化或辅助生成三维网格的技术,属于计算机图形学或生成式人工智能领域。要获得具体摘要,需要提供完整的、未经过重定向的原始文章内容。

11. Common misconceptions about compilers (sbaziotis.com)

关于编译器的常见误解

优化不会生成最优程序

  • 编译器优化实际上是改进程序,而非寻找最优解。因为评估指标(如运行时间)难以精确测量且不具最优子结构。
  • 硬件模型的不精确性进一步导致优化结果可能并非最优,甚至可能比未优化版本更慢。

分支权重与CPU分支预测

  • 编译器中的分支权重主要用于指导代码块布局(如提高指令缓存局部性),而非直接生成CPU分支提示指令。
  • 在x86架构上,分支提示指令长期被忽略,但在新架构(如Redwood Cove)中可能重新生效。

-O3与-O2的差异有限

  • 研究表明,在Clang中-O3与-O2的性能差异在统计上不显著,且-O3可能因忽视代码尺寸而影响指令缓存。

JavaScript JIT编译的真正原因

  • JIT编译不仅需要知道热路径,更需要运行时类型信息,因此必须在运行时进行编译。

解释器仍有价值

  • 即使有编译器,解释器在特定场景(如WebAssembly)中仍具优势,如开发简便性、调试友好等。

中间端并非完全平台无关

  • 以LLVM为例,其中间端优化会受目标平台特性影响,并非完全独立于平台。

编译器通常不优化数据局部性

  • 主流编译器主要优化指令缓存局部性,但不主动优化数据局部性(如缓存访问模式),因这需要侵入式程序重构且受限于语言抽象能力。

-O0不保证快速编译

  • -O0模式主要保证可调试性和可预测性,而非绝对快速编译速度。统一构建(unity build)可能更高效。

模板本身不是编译慢的主因

  • C++模板的编译慢主要源于C++编译模型,而非模板机制本身。其他语言(如D)的模板库可高效编译。

分离编译并非总是最佳

  • 链接过程可能很慢,统一构建在中小型项目中常能提升编译速度,并自动实现全程序优化。

链接时优化(LTO)发生在链接阶段的原因

  • 因C/C++构建系统限制,链接器能可靠收集所有目标文件,故将LLVM IR嵌入目标文件以支持全程序优化。

内联优化的主要价值

  • 内联的核心优势是作为使能变换,通过将函数体展开到调用点,为过程间优化(如常量传播)创造条件,而非仅消除调用指令。

inline关键字的作用

  • 在LLVM中,inline关键字为优化器提供内联提示,轻微提高内联阈值,但效果有限。always_inline才强制内联。

LLVM并非最佳学习起点

  • LLVM功能庞大、复杂度高,包含许多边界情况和高级算法,不适合初学者。Go等较简单的生产编译器可能更适合学习。

未定义行为也可能禁用优化

  • 未定义行为不仅可能启用优化,也可能禁用优化(为保持特定语义)。

编译器无法简单定义未定义行为

  • 编译器虽可定义未定义行为,但这会影响性能或增加运行时开销。完全基于平台行为定义未定义行为也面临实践挑战。

99%正确率不可接受

  • 在代码生成中,即使99%正确率也意味着大量错误代码,导致调试困难,因此不可用于生产环境。目前LLM生成代码的速度和可靠性均不及传统编译器。
12. Developer wrote 25k lines of Neovim plugin code using phone and touchscreen (old.reddit.com)
13. ALICE finds first ever evidence of the antimatter partner of hyperhelium-4 (home.cern)

文章摘要

主要发现

ALICE国际合作组在大型强子对撞机(LHC)上首次发现了反超氦-4存在的证据。这是迄今为止在LHC上观测到的最重的反物质超核。该结果基于3.5个标准偏差的显著性,同时也获得了显著性为4.5个标准偏差的反超氢-4的证据。

实验背景

  • 重离子碰撞:LHC中重离子(如铅-铅)的碰撞会创造出夸克-胶子等离子体,这是一种被认为存在于大爆炸后约百万分之一秒的宇宙中的高温高密物质状态。
  • 超核与反超核:这种碰撞也产生了原子核、奇异的超核及其反物质对应物。超核是由质子、中子和超子(含有一个或多个奇异夸克的不稳定粒子)混合组成的奇异核。
  • 研究意义:测量这些物质形态有助于理解夸克-胶子等离子体中强子的形成,以及现今宇宙中观察到的物质-反物质不对称性

具体发现与测量

  1. 新粒子证据

    • 反超氦-4:由两个反质子、一个反中子和一个反Λ超子组成。
    • 反超氢-4:证据显著性更高(4.5σ),由一个反质子、两个反中子和一个反Λ超子组成。
    • 此前仅观测到最轻的超核——超氚核及其反物质伙伴。
  2. 测量结果

    • 对两种超核的质量产生率进行了测量,质量测量结果与现有世界平均值一致。
    • 测量了反粒子与粒子的产生率比值,在实验误差范围内与1一致,这与ALICE此前观察到的在LHC能量下物质和反物质产生量相等的结果相符。

方法与技术

  • 数据:基于2018年铅-铅对撞数据,每对核子(质子和中子)的对撞能量为5.02 TeV。
  • 分析技术:采用了优于传统方法的机器学习技术来寻找信号。
    • (反)超氢-4通过其衰变成(反)氦-4核和带电π介子来识别。
    • (反)超氦-4通过其衰变成(反)氦-3核、(反)质子和带电π介子来识别。

结果意义

  • 理论模型验证:产生率的测量结果与统计强子化模型的预测吻合良好,前提是模型中同时包含超核的激发态和基态。这证实该模型能很好地描述超核(尺寸约为2飞米)的产生。
  • 宇宙学启示:反粒子与粒子产生率比值接近1的结果,为持续探索宇宙中物质-反物质失衡问题增添了新的观测事实。
14. Debanking (and Debunking?) (www.bitsaboutmoney.com)

这篇文章深入探讨了"debanking"(关闭银行账户)现象,特别是在加密货币行业引发的争议,并分析了其背后的复杂原因、监管考量和政治博弈。以下是文章的主要内容概括:

  1. 现象定义与争议:文章指出,"debanking"通常指银行在未给出明确理由的情况下,强制关闭客户(通常是长期客户)的账户。此术语带有倡导色彩,与被拒绝开户不同。行业内部则使用“离岸化”、“去风险化”等更中性的术语。该现象因影响到一些富裕、人脉广泛的科技企业家和公司而备受关注。

  2. 成因与机制

    • 运营成本与风险:大多数账户关闭源于信用风险或运营成本原因(如过度透支)。
    • 反洗钱(AML)风险:这是加密货币等“高风险”行业被去银行化的核心原因。银行需遵守严格的AML/反恐怖融资政策,将某些行业(如货币服务业务、加密公司)列为高风险。为这些企业提供服务需要昂贵且复杂的增强尽职调查(EDD),许多银行因成本和监管风险选择不提供服务。
    • 可疑活动报告(SAR):银行若对交易产生疑虑,可能会提交SAR。提交SAR后,银行为规避风险和合规压力,常会关闭相关账户。法律禁止银行向客户透露SAR的存在,导致客户无法得知真实原因,过程显得“卡夫卡式”。
    • 监管压力与协调:文章讨论了监管机构(如FDIC、DOJ)可能通过“声誉风险”等概念对银行施加压力,历史上“窒息行动”(Operation Choke Point)就是一个案例,尽管其合法性和目标行业备受争议。
    • “当前议题”与文化因素:文章引入了“当前议题”(Current Thing)的概念,指管理阶层周期性爆发的道德狂热,能迅速在合规等部门形成共识,导致针对特定群体的行动,无需高层直接指令。合规文化本身也倾向于墨守成规、避免风险。
  3. 加密货币行业的具体案例

    • 高风险历史:加密货币行业(如FTX、Alameda、Tether)过去的欺诈、洗钱和破产事件(如Voyager Digital倒闭)严重损害了其在银行眼中的声誉,导致“连坐”效应,创始人个人账户也可能被关闭。
    • Silvergate银行案例:其Silvergate Exchange Network(SEN)产品因缺乏有效的交易监控而成为洗钱通道,为Binance等客户服务,最终在监管压力和客户流失下倒闭。文章质疑加密倡导者将此简单归咎于“政治迫害”的说法。
    • “窒息行动2.0”叙事:加密倡导者将一系列监管行动称为“窒息行动2.0”,旨在将其与政治迫害相联系。但作者认为,此次针对加密行业的监管行动有更复杂的技术和合规背景,与历史上针对枪支销售商、色情业等的运动性质不同。
    • FDIC的加密资产限制:监管机构曾口头建议银行将加密存款集中度控制在15%以下,以确保稳健。这被加密倡导者视为刻意扼杀行业的政治行为。作者认为,考虑到加密存款的波动性,这属于合理的审慎监管。
  4. 政治与权力博弈

    • 立法与行政施压:文章提到,像针对Facebook Libra项目的联名信所示,立法者可以通过威胁审查公司所有支付活动来施加巨大压力。
    • PEP概念澄清:作者澄清,金融监管中的“政治暴露人士”(PEP)主要指外国高级官员及其亲属,并不针对国内政治人物,因此并非系统性针对国内政治反对派的工具。
    • 行业议程:文章最后指出,加密行业利用“debanking”叙事推动一系列政策目标,包括:要求银行必须为所有合法业务(特别是加密公司)开户;建立100%专注于加密业务的银行;废除将加密货币列为高风险的监管指导;获得美联储主账户;为代币零售销售开辟明确路径等。

核心结论:作者认为,“debanking”是一个复杂的系统性问题,主要源于银行的风险管理、AML合规要求以及行业自身历史问题。尽管存在政治施压和文化狂热导致的个案,但将其简单归结为针对加密货币的系统性政治阴谋并不准确。加密倡导者正利用此叙事,推动一系列旨在重塑金融监管以利于行业发展的政策议程。

16. How God Plays Chess (2018) (en.chessbase.com)

国际象棋残局数据库与棋局本质

残局数据库的起源与算法

上世纪80年代,Unix和C语言之父肯·汤普森构建了硬件国际象棋机器Belle,并生成了首个四子残局数据库(王后对王车)。其算法原理是:

  • 生成给定棋子配置下的所有合法局面。
  • 通过反向回溯法标记所有强制将杀的位置:将杀位置标记为0,将能一步将杀的位置标记为1,依此类推,直至所有可能位置都被标记。
  • 最初四子残局(KQ-KR)有190万个位置,90%以上被标记为可赢棋局,最长将杀路径为31步。数据库揭示了某些复杂和棋局面的存在。

扩展与验证

  • 该数据库在实际对局中让顶级棋手(如特级大师沃尔特·布朗)多次无法在50步内取胜,展示了计算机残局防御的完美性。
  • 后续陆续完成了五子、六子及七子残局数据库,存储位置达数百万亿。2013年开发的Syzygy格式大幅压缩了存储需求,使六子残局数据库可通过DVD分发。

“上帝下棋”的哲学隐喻

肯·汤普森用寓言阐述国际象棋的可能本质:

  • 假设计算机完全求解32子开局,所需存储空间超过宇宙物质总量,这在物理上不可能实现。
  • 核心推论:国际象棋可能是“和棋游戏”。在完美对弈下,多数局面(包括起始局面)会导向和棋,因为双方总能找到走向和棋的路径。
  • 后续超级AI(如AlphaZero)的实验也支持这一观点:即使算力无限提升,由于和棋可能性的限制,程序的等级分可能无法突破某个上限。

实际应用:残局数据库产品

  • 现代国际象棋软件已内置基础残局知识,而Endgame Turbo 4(价格€59.90)等产品提供了完整的五子残局和关键六子残局数据库(Syzygy格式),可配合主流引擎使用。
  • 这些数据库不仅用于终局,还能在搜索过程中引导局面向有利残局转化,从而优化中局决策。

结论

残局数据库从技术上展示了完美残局博弈,同时引发了对国际象棋本质的思考:它或许是一个在完美信息下无法完全求解、且最终导向和棋的复杂系统。

17. The Depths of Wikipedians (asteriskmag.com)

维基百科编辑者的多面世界

本文是一篇对维基百科编辑者及知名账号“维基百科深处”创建者安妮·劳威尔达的访谈。访谈深入探讨了维基百科社区的构成、编辑流程的挑战、社区内部的多样性以及该平台的未来。

社区的多层结构 维基百科的社区并非铁板一块。活跃在重大决策讨论中的核心编辑者约有300人,他们主要是管理员或热衷于政策讨论的人。社区内部存在大量“孤岛”或“小圈子”,例如军事历史、热带气旋等专题项目,它们往往有自己严格的等级制度和评审流程。编辑者的动机多样,共同点是不吝于付出大量时间,并追求精确和正确。

编辑流程的复杂性与低效 维基百科的编辑流程有时显得效率低下。例如,关于“酸奶”该用哪种英式英语拼法的争论持续了七年,产生了超过14万字的讨论。造成低效的原因包括规则体系复杂(政策、指南、方针等相互交织)、编辑者在沉没成本效应下不愿退出争论,以及缺乏明确的跨语言统一规则。

维基基金会与社区的关系 维基基金会负责技术运营和应对暴力威胁等重大问题,但通常不干预日常编辑和规则制定。两者关系复杂,时有摩擦。例如,基金会几年前封禁一名高效但态度粗鲁的编辑,引发了社区成员的抗议和退出潮。一些志愿者对基金会拥有带薪职位而他们无偿贡献感到不满,但总体上双方仍需合作。

优势领域与薄弱环节 维基百科在军事历史、热带风暴、英美政治等话题上内容质量较高,因为有相关兴趣群体专注维护。然而,一些高流量话题(如网红、企业CEO条目)内容质量常参差不齐,易受不专业编辑或公关内容影响。此外,尽管女性传记条目数量有所提升,但传统上女性更感兴趣的领域(如纺织史)内容仍显陈旧。

新编辑的融入与未来挑战 维基百科的编辑规则和文化对新人构成门槛。社区对新编辑的接纳度不一,既有热心帮助者,也有态度粗暴的资深编辑。大型语言模型的兴起暂未对维基流量造成巨大冲击。编辑者们认为,如果AI模型最终依赖低质量内容,那么由人类精心维护的维基百科将变得更具价值。

18. Unexpected Keyboard (github.com)

Unexpected Keyboard 要点总结

  • 应用性质:一款轻量、注重隐私的 Android 虚拟键盘应用,开源且无广告。
  • 核心功能:主要特色是通过向键角滑动手指来输入更多字符(例如,向左下滑动可打开设置)。此功能最初为配合 Termux 的程序员设计,现已适合日常使用。
  • 背景信息:文章开头提到了 Google 对开源 Android 社区可能产生的影响,并指向相关网站。该应用通过 Weblate 接受翻译贡献,NLnet 基金会资助了其拼写检查功能的开发。
21. Show HN: Ternary Computer System (www.ternary-computing.com)

这篇文章的标题为“Show HN: Ternary Computer System”,但实际内容呈现为错误页面。页面显示错误404,表示文件未找到,并指出输入的地址不再可用或存在错误。内容建议用户验证输入是否正确,并提醒通知网页管理员所遇到的问题,同时提供返回主页的链接。整体上,该内容未涉及三进制计算机系统的具体信息,仅聚焦于错误处理指示。

23. BareMetal OS (github.com)

BareMetal OS 项目总结

概述

BareMetal OS 是一个基于外核(exokernel)架构的操作系统,完全使用 x86-64 汇编语言编写。其核心设计目标是提供极高的灵活性与效率,通过将硬件资源直接暴露给应用程序,允许开发者针对特定任务进行精细的软件调优和优化。外核的极简设计最大限度地减少了传统操作系统带来的开销,从而让应用程序能够发挥硬件的最大性能。

注意:该项目仍在积极开发中,部分物理硬件配置可能无法正常工作。

核心组件

该项目由多个子项目构成:

  1. Pure64:软件加载器。
  2. BareMetal:操作系统内核。
  3. Monitor:一个简单的命令行界面(CLI)。
  4. BMFS:BareMetal 文件系统工具。
  5. BareMetal-Demo:一系列演示程序。

支持的硬件

  • CPU:支持64位 x86 多核系统(Intel/AMD)。
  • 总线:PCIe、PCI。
  • 网络:Virtio-Net。
  • 存储:Virtio-Blk。
  • HID(人机接口设备):PS/2 键盘。

开发与构建环境

  • 系统:推荐基于 Debian 的 Linux 发行版(如 Ubuntu),macOS 也可通过 Homebrew 支持。
  • 依赖工具
    • NASM:汇编编译器。
    • QEMU:用于快速测试的模拟器。
    • GCC:用于编译 C/C++ 应用程序。
    • Git:版本控制。
    • mtools:用于操作 FAT32 磁盘镜像的工具。
  • 初始化与构建
    1. 克隆仓库。
    2. 运行 ./baremetal.sh setup 脚本,该脚本会自动完成构建和安装。
    3. 使用 ./baremetal.sh run 验证安装。
    4. 构建命令可生成引导扇区、加载器、内核和 CLI 到磁盘镜像。也可通过 ./baremetal.sh build mybinary.bin 附加自定义二进制文件。

安装与部署

  • 系统安装:使用脚本将系统安装到磁盘镜像。
  • 演示程序安装:可将演示程序安装到同一磁盘镜像。
  • 运行环境
    • 虚拟机:支持 QEMU(包括 UEFI 和第二个实例)、VMware、VirtualBox 和 Bochs。每种环境有特定的配置注意事项(如 VirtualBox 需使用 ICH9 芯片组)。
    • 物理机:支持 BIOS 和 UEFI 引导(UEFI 下需禁用安全启动)。可通过软盘、硬盘/固态硬盘或 U 盘启动。启动时可能需要按特定键(如 DEL 或 F12)选择引导驱动器。

重要提示

  • 项目为外核架构,赋予应用程序对硬件的直接控制权,追求极致性能。
  • 正在开发中,硬件兼容性存在局限。
  • 提供了详细的构建脚本和多种虚拟/物理部署方案。
24. Show HN: HackerNews-new-jobs – insights into fresh and recurring job ads (github.com)

这是一个针对 Hacker News “Who's Hiring” 板块的职位分析网站,旨在提供对新鲜与重复出现的职位机会的直观洞察。

核心功能与特点

  1. 公司智能分类:按月对公司进行自动分类:
    • 首次出现公司:历史上首次发布招聘广告。
    • 新出现公司:上个月未发布过广告。
    • 老公司:上个月已发布过广告。
  2. 数据可视化
    • 通过多折线图展示分类公司的月度趋势。
    • 通过柱状图展示公司过去12个月的广告数量分布。
  3. 数据查询与追溯
    • 所有职位广告按原始发布时间排序并链接。
    • 可查看任何公司的全部历史招聘广告。
    • 支持按公司名搜索职位。
  4. 自动化与性能
    • 使用 cron 定时任务 在每月2日至15日解析新月份的数据。
    • 使用 Algolia API 获取数据,并设置定时任务以遵守其速率限制。
    • 采用 SQLite 数据库 用于快速查询,并使用 Keyv 进行缓存以加速页面加载。
    • 对 HTTP 响应进行缓存以减少 API 调用。

技术栈与实现

  • 前端:基于 Next.js App Router 实现服务端渲染,使用 Shadcn UI 组件,支持响应式设计和暗色主题。
  • 数据源:从2015年6月起,利用 Algolia API 获取数据。公司名从标题中以 | 分隔符提取。
  • 数据库:采用 SQLitebetter-sqlite3 库。数据库设计为单例模式,避免在构建时连接。已包含一个预置的2015年6月至2024年11月的数据库备份。
  • 缓存策略:使用 Keyv 缓存数据库查询和 HTTP 请求,将页面加载时间从约1200毫秒优化至400毫秒。
  • 任务调度:为解决在 Docker 中以非 root 用户运行 cron 的难题,使用了 node-cron 库在应用内进行任务调度。
  • 分析与日志:集成 Plausible 进行隐私分析(需自托管),使用 Winston 进行日志记录。

部署与运行

  • 环境要求:需要 Node.js v22.9.0。
  • 本地开发:通过 yarn install 安装依赖,使用 yarn dev 启动开发服务器。
  • Docker 部署:支持构建适用于 x86 和 ARM 架构的镜像。提供了 docker-compose 配置文件(开发和生产环境)。data 目录作为绑定挂载,用于持久化数据库、缓存和日志。
  • 自动化部署:可通过 GitHub Actions 工作流自动构建、推送镜像并部署到远程服务器。需要配置 DOCKER_USERNAME, DOCKER_PASSWORD, REMOTE_HOST 等密钥。
  • 关键环境变量:需要设置 SITE_HOSTNAMEAPI_SECRET 以及可选的 Plausible 分析相关变量。

项目许可 该项目采用 MIT 许可证。

25. AI company that made robots for children went bust and now the robots are dying (aftermath.site)

AI公司倒闭,儿童社交机器人面临“死亡”

一家名为Embodied的人工智能公司因财务困难和资金突然撤离而宣布倒闭。该公司主要产品是一款名为Moxie的AI社交机器人,主要面向自闭症儿童,售价为799美元。

Moxie机器人的技术核心

  • Moxie外观是一个蓝色的、具有丰富表情的机器人,设计灵感类似皮克斯动画角色。
  • 其核心功能**严重依赖云端的大语言模型(LLM)**来进行对话和交互。这意味着机器人的运作完全依赖于Embodied公司的服务器和云服务。

倒闭带来的直接影响

  • 随着公司关闭,Moxie机器人将在数天内停止工作
  • 公司明确表示不会提供退款,分期付款的用户也无法终止合约。
  • 没有后续维修或服务计划,目前也没有其他公司接管的明确方案。
  • 公司向用户发送了一封来自“全球机器人实验室”的信件,旨在帮助家长以适合年龄的方式向孩子解释机器人即将停止工作的事实。

用户的情感反应

  • 社交媒体上出现了儿童和家长因机器人即将“死亡”而伤心哭泣的视频。
  • 许多用户表达了强烈的情感,将Moxie视为朋友或家庭成员,认为其停运如同失去一位伙伴。

文章提出的质疑与更广泛问题

  1. 对技术依赖的担忧:文章指出,任何完全依赖云端和大语言模型的设备都存在此类风险,因为运营成本高昂且公司的健康状况直接决定设备存亡。此前已有类似先例(如Vector机器人)。
  2. 对应用伦理的批评:作者明确质疑让儿童,尤其是神经发育特殊的儿童,通过大语言模型学习语言和社交互动的做法,认为这从多个层面看都不可取。
  3. 对AI泡沫的反思:此事件揭示了更深层的问题:许多AI设备运营成本高昂,而硅谷一直在试图忽视或合理化这一事实。当泡沫破裂时,那些与AI建立了深度情感联系的用户将面临困境。
26. Bazel 8.0 (github.com)

Bazel 8.0 更新要点总结

核心变化

Bazel 8.0 是一个重要的长期支持(LTS)版本,包含新特性和大量向后不兼容的更改

1. 规则库分离(Starlarkification)

作为核心变更,原先内置于 Bazel 的许多规则被移至独立仓库,需使用 load 语句加载。此变更兼容 Bazel 6, 7, 8。

  • Android: 规则移至 rules_android
  • C++: 工具链相关符号移至 rules_cc
  • Java: 规则及 JavaInfo 等移至 rules_java
  • Protobuf: *_proto_library 规则移至 protobuf
  • Python: py_* 规则移至 rules_python
  • Shell: sh_* 规则移至 rules_shell
  • 为辅助迁移,新增 --incompatible_autoload_externally 标志(默认启用),可自动从对应仓库加载规则。

2. WORKSPACE 机制变更

  • WORKSPACE 机制默认禁用
  • Bzlmod 成为默认的外部依赖管理方式。
  • 需使用 --enable_workspace 标志以恢复旧行为。
  • 目标是在 Bazel 9 中完全移除 WORKSPACE。

3. 符号宏 (Symbolic Macros)

引入一种新的宏编写方式,旨在提升宏作者和 BUILD 文件所有者的体验。

  • 参数具有类型,类似规则属性。
  • 自动提升可配置属性值为 select() 表达式,减少潜在错误。
  • 避免修改参数等损害可读性的问题。
  • 兼容延迟求值(未来实现)。
  • 内部目标受可见性系统保护。

关键的向后不兼容标志翻转

Bazel 8.0 默认启用了以下标志,影响行为:

  • --enable_workspace: 默认为 false(禁用 WORKSPACE)。
  • --incompatible_disallow_empty_glob: 默认为 true(禁止空 glob)。
  • --incompatible_struct_has_no_methods: 默认为 true
  • --incompatible_use_plus_in_repo_names: 默认为 true(规范仓库名使用 +)。
  • 其他多个标志也已翻转,详见发布说明。

主要模块更新

Android

  • 移除了原生的 mobile-install,需使用 Starlark 版本(v3)。

C++ / Objective-C

  • 移除 apple_cc_toolchain 规则。
  • 工具链配置文件移至 rules_cc
  • 在 macOS 上默认使用 @rpath 查找动态库依赖。
  • 新增 cc_static_library 实验性规则。
  • cc_toolchain_suite 变为空操作。

Java

  • 核心 Java 规则和符号(如 java_common不再内置,必须从 @rules_java 加载。
  • 默认 Java 语言级别升级为 11
  • JavaInfo.compilation_info.javac_options 返回 depset

外部依赖

  • 规范仓库名格式变更(使用 + 而非 ~)。
  • MODULE.bazel 中的覆盖在 --ignore_dev_dependency 下被忽略。
  • 新增 --inject_repository 标志,可通过 CLI 注入仓库。
  • bazel mod 会尝试评估所有模块扩展,即使部分失败。

性能与工具链

  • Skyfocus: 实验性功能,旨在减少内存占用(需 --experimental_enable_skyfocus)。
  • 新增 --experimental_collect_skyframe_counts_in_profiler 收集性能数据。
  • 引入新的、更高效的 --execution_log_compact_file 格式。
  • 本地执行:符号链接树默认通过直接文件系统调用创建。

远程执行

  • 支持磁盘缓存垃圾回收。
  • 本地动作结果上传可后台进行。
  • 支持无 AC 完整性检查的远程缓存(如 HTTP 缓存)。

Starlark / 构建语言

  • 支持解析 .scl 文件(无 Bazel 特定符号的 Starlark 方言)。
  • 方面现在可以传播到目标的工具链依赖。
  • minmax 内置函数支持 key 回调。
  • --incompatible_simplify_unconditional_selects_in_rule_attrs 简化可配置属性。

其他

  • 错误信息中的标签现使用双 @@ 前缀。
  • glob 实现更高效。
  • REPO.bazel 新增 ignore_directories() 指令。
  • bazel querybazel print_action 不能再在输出基目录下运行。
  • Windows 上,默认 MSYS2 根目录更改为 C:/msys64

迁移建议

  1. 为所有外部规则添加 load 语句。
  2. 将项目从 WORKSPACE 迁移至 Bzlmod(可使用迁移工具)。
  3. 检查并适应已翻转的不兼容标志。
  4. 根据语言特定更新(如 C++、Java)调整项目配置。
27. Xylella Fastidiosa: A crisis brewing in Europe's olive groves (www.everymansci.com)

Xylella Fastidiosa:欧洲橄榄园的危机

病原体概述与传播

Xylella fastidiosa 是一种革兰氏阴性细菌,主要定殖于植物的木质部(输水组织)。它通过特定吸汁昆虫(如沫蝉和尖嘴蝉)传播,尤其以玻璃翅尖嘴蝉为主要媒介。该病原体寄主范围极广,已记录超过595种植物,包括橄榄、咖啡、葡萄、柑橘等,其多个亚种(如 pauca 和 multiplex)增加了防控难度。

起源与蔓延

该病于2013年首次在意大利普利亚大区被发现,该地区此前贡献了意大利近一半的橄榄油产量。溯源研究显示,疫情起源于2008年从中美洲进口的一株咖啡植株,病原体在咖啡植株上适应后转移至橄榄树,最终引发危机。此后,该病原体迅速扩散至法国、科西嘉岛、西班牙巴利阿里群岛及葡萄牙等地。

主要疾病与症状

该细菌可导致多种植物病害,其中对欧洲橄榄最具破坏性的是 橄榄快速衰退综合征(OQDS)。感染症状包括:

  • 叶缘焦枯并蔓延至全叶
  • 叶片黄化、组织坏死
  • 植株矮化、枝条短缩
  • 果实提前脱落
  • 整棵树迅速枯萎死亡

这些症状常渐进出现,易与其他病害混淆,导致早期诊断困难。

经济影响

该疫情对欧洲橄榄产业造成严重冲击。仅意大利普利亚地区,2015年已有超过百万棵橄榄树感染。整个欧洲已有超过2000万棵橄榄树受感染,其中包括珍贵的传统品种(如Cellina di Nardò和Ogliarola salentina)。经济评估表明,若无法恢复种植,未来50年意大利橄榄园可能面临高达52亿欧元的损失,全球橄榄油供应与价格也将受到影响。

防控现状与挑战

目前尚无根治Xylella fastidiosa的方法。主要防控策略包括:

  • 销毁感染植株:欧洲法规要求移除受污染植物
  • 控制传播媒介:加强昆虫监测与防治
  • 培育抗病品种:科学家正努力筛选和培育耐病橄榄品种,但该过程耗时较长
  • 早期监测与隔离:加强田间监测,及时隔离感染植株

未来展望

遏制该病蔓延需要国际协作与快速行动。重点包括持续研究抗病品种、改进病虫害管理方法,并加强跨境植物检疫法规以防止病原体进一步传入与扩散。此次危机凸显了农业系统面对新兴病害的脆弱性,也强调了全球合作保护作物资源的重要性。

28. New dog, old trick: DaMAgeCard attack targets memory directly via SD card reader (swarm.ptsecurity.com)

DaMAgeCard攻击:通过SD卡读卡器直接访问内存

本文探讨了通过SD Express技术实现的新型DMA(直接内存访问)攻击向量,该技术旨在提升数据传输速度,但可能重新引入历史性的硬件安全风险。

背景:速度需求与安全权衡

  • 外围设备行业常将速度置于安全之上。为应对大容量媒体处理速度需求,SD协会推出了SD Express标准。
  • SD Express的核心在于采用**PCI Express (PCIe)**协议进行数据传输,而非传统的SDIO协议,从而获得极高的带宽。
  • 然而,涉及PCIe总线的技术历来因其支持的总线主控DMA功能而备受安全研究人员关注。

DMA攻击的历史脉络

  1. PIO与DMA模型
    • PIO(可编程输入/输出):CPU主导数据交换,安全但速度慢。
    • DMA:允许外围设备直接与主内存交换数据,释放CPU资源,但引入安全风险。
  2. 总线主控DMA的风险:当DMA控制器集成在外部设备中时,该设备可发起内存访问,无需CPU介入。若设备被恶意控制,可直接读写系统内存,导致数据泄露或系统崩溃。
  3. 历史案例
    • CardBus (1995):首个可通过外部接口获得总线主控DMA能力的技术,但攻击复杂。
    • FireWire/IEEE1394:在音频/视频设备中流行,已多次被用于实际DMA攻击。
    • Thunderbolt:直接暴露PCIe总线,尽管后续版本增加了安全措施(如设备白名单、IOMMU),但仍存在攻击面。
  4. 防护措施:IOMMU
    • IOMMU通过地址重映射和访问控制来限制设备的内存访问范围。
    • 但IOMMU并非万无一失:配置不当、驱动漏洞、实现缺陷或未启用都可能导致保护失效。2019年的Thunderclap研究证明了即使IOMMU启用,攻击仍可能通过漏洞进行。

SD Express:新的攻击向量

  • 技术原理:SD Express卡在兼容主机中可工作在PCIe/NVMe模式,此时其逻辑上作为一个NVMe控制器挂载到PCIe总线。
  • 攻击可行性:研究人员测试了支持SD Express的设备(如MSI笔记本、AYANEO掌机),并成功通过自制的PCILeech适配器(模拟SD Express设备)在部分系统上发起DMA内存访问。
  • 关键发现
    • 主机控制器在插入设备后会尝试从SDIO模式切换到PCIe模式。
    • 在测试的AYANEO掌机中,未配置IOMMU,攻击者获得了完整的内存访问权限。
    • 在配置了IOMMU的笔记本中,攻击被限制,证明了IOMMU作为主要防御手段的作用。
    • 攻击原型需要将真实SD Express卡的控制线焊接到PCILeech设备上,或通过微控制器(如Pi Pico)模拟切换交互。

结论与展望

  • DaMAgeCard攻击证明,通过SD Express读卡器进行DMA攻击在技术上是可行的,重现了“插入即攻陷”的历史风险。
  • 当前威胁有限,因为SD Express设备尚不普及。然而,其巨大的速度优势预示着该技术将从高端游戏笔记本向更广泛的市场渗透(如智能手机、数码相机、嵌入式设备)。
  • 随着PCILeech等开源攻击工具的发展,实施此类攻击的门槛已大幅降低。
  • 核心安全启示:硬件接口在追求速度时必须将安全设计(如强制IOMMU、安全启动)作为基石,否则历史可能再次重演。SD Express及其他高速接口的未来安全态势取决于行业能否从过去的错误中吸取教训。
29. Show HN: I made Gyroscopic Gyro Sandwiches (transistor-man.com)

陀螺式旋转烤肉架制作总结

本文介绍了如何利用回收的食品级不锈钢管材,设计并制造一个多轴旋转烤肉架的过程。核心目标是将弯管工艺、焊接、机械设计与烹饪功能结合,创造一个有趣且实用的设备。

主要制作流程

1. 弯管成型

  • 材料:使用免费获取的1英寸外径厚壁不锈钢管。
  • 设备:通过管材弯曲机进行弯制,需手动缓慢推进管材并调整轴线,避免扭曲。液压压力需保持一致,防止出现不连续弯曲。
  • 挑战:管材在弯曲时呈“面条状”螺旋形态,难以直接形成完美圆环。需先弯曲成接近环形的结构,再通过切割、对齐两端来闭合环形。

2. 退火处理与焊接

  • 退火:为消除弯曲产生的内应力,使用丙烷喷枪将不锈钢环加热至约1900°F(1000°C)进行退火,使其软化并变得平整。退火后冷却一小时。
  • 焊接:将三个退火后的环焊接成同心结构,环间距约0.5英寸。采用点焊约束、交替焊接等方法防止变形,并使用砂轮打磨焊缝以提高美观度。

3. 轴承与对齐安装

  • 轴承方案:原计划使用水切割的支架配合高温石墨青铜轴承,但因尺寸误差和空间不足而调整。最终采用更长的法兰轴承,配合1/8英寸和1/16英寸厚的石墨青铜衬套减少摩擦。
  • 加工细节
    • 肩螺栓头部过厚,通过车削减薄至1/16英寸以适应空间。
    • 使用建筑直角尺辅助,在管材上标记并钻出垂直孔位,确保轴安装对齐。
    • 钻孔后安装轴承和肩螺栓,使环能绕轴自由旋转。测试显示环可旋转20秒以上。

4. 驱动系统与机架

  • 驱动设计:仅驱动最外层环的单轴,通过电机和链条传动实现。电机转速40RPM,经10齿与44齿链轮实现约1:4.4的减速,最终输出约18RPM。
  • 控制系统:使用PWM电机控制器调节转速,配合12V磷酸铁锂电池供电。
  • 机架构建:使用80-20铝型材作为立柱,配备可调支腿以适应不平地面。食物挂钩通过3/8英寸方杆安装,便于调整位置。

5. 测试与应用

  • 负载测试:使用6磅铝型材块和8磅钢管作为模拟食物重量,测试系统稳定性。结果表明,偏心质量能增加运动的混沌性,提升烹饪均匀性。
  • 实际演示:在夏季派对上成功运行四小时,用于烤制肉类并制作陀螺三明治。设备运行稳定,未出现故障。

材料与组件清单

  • 电机:40RPM齿轮电机(亚马逊)
  • 轴承与螺栓:肩螺栓(1/2英寸直径,多种长度)、石墨青铜衬套(McMaster-Carr)
  • 传动部件:#25链条及链轮套装(亚马逊)
  • 控制模块:PWM电机控制器(亚马逊)
  • 结构材料:回收不锈钢管、80-20铝型材、可调支腿等。

经验与改进方向

  • 弯管工艺:厚壁不锈钢弯制困难且费力,建议未来考虑使用铝材替代。
  • 电机选择:当前电机为蜗杆传动,不可反向驱动,可能因外力过大损坏。未来计划改用行星齿轮电机。
  • 系统优化:增加中间衬套以减少轴向窜动,改进支腿调节机制(如使用指旋螺丝)。

该项目成功将机械制造与烹饪娱乐结合,展示了通过手动工艺实现创意想法的过程,并在实际聚会中验证了其功能与耐用性。

30. Added sugar intake and its associations with incidence of cardiovascular disease (www.frontiersin.org)

本研究基于瑞典哺乳队列和瑞典男性队列,对69,705名45-83岁的参与者进行了中位数长达22年的前瞻性随访,探讨了添加糖总摄入量及不同含糖食物来源七种心血管疾病发病风险的关联。

研究方法与数据:饮食评估分别在1997年和2009年通过问卷完成,对于多数参与者实现了时间更新的暴露评估。疾病结局(缺血性中风、出血性中风、心肌梗死、心力衰竭、主动脉瓣狭窄、心房颤动、腹主动脉瘤)通过国家医疗登记系统确认。分析采用考克斯比例风险回归模型,并充分调整了年龄、性别、能量摄入、生活方式、BMI及饮食因素等多种混杂变量。

主要发现

  1. 总添加糖摄入:与缺血性中风腹主动脉瘤风险呈正相关。然而,对于大多数研究疾病,最低添加糖摄入组(≤5%能量)的风险最高,而低至中等摄入(5-7.5%能量)的风险较低
  2. 不同含糖食物来源的影响差异显著
    • 甜味饮料:摄入量与缺血性中风、心力衰竭、心房颤动和腹主动脉瘤风险呈明确的正线性关联。
    • 甜点(糕点、冰淇淋、巧克力、糖果):摄入量与所有七种心血管疾病风险呈负线性关联,即摄入越少,风险越高。
    • 糖浆/果酱:摄入量与腹主动脉瘤风险呈正相关,但与心力衰竭和主动脉瓣狭窄风险呈负相关。
  3. 敏感性分析:在排除随访前3年内发生的病例、考虑共病以及采用不同能量调整方法后,主要结论保持稳定。分层分析提示,添加糖摄入与部分疾病的关联可能受BMI影响。

讨论与结论

  • 研究发现添加糖摄入与心血管疾病的关联因疾病类型和糖的来源而异,强调了在营养建议和风险评估中区分不同糖来源的重要性。
  • 含糖饮料的摄入被一致证实具有健康危害。
  • 观察到的低甜点摄入与较高心血管疾病风险之间的关联是一个新颖发现,可能反映了甜点消费与社交活动、整体生活方式等因素的复杂关系,其背后的机制有待进一步探究。
  • 尽管最低添加糖摄入组风险较高,但研究结果不支持将添加糖摄入建议阈值降至低于5%能量,并提示摄入量在5-7.5%能量范围内可能与较低风险相关。
  • 该研究的优势在于其大样本量、长期随访以及对多种疾病和糖来源的分别评估。主要局限性在于其观察性设计,无法确立因果关系。
31. Colour in the Middle Ages (www.medievalists.net)

中世纪颜色观念:基于米歇尔·帕斯特罗的研究

中世纪时期,颜色在象征、审美和宗教层面具有独特意义。法国历史学家米歇尔·帕斯特罗的研究揭示了七个关键事实,反映了当时社会对颜色的复杂态度。

颜色体系与绿色的中心地位
中世纪学者继承了古代传统,认为七种主要颜色是:白、黄、红、绿、蓝、紫、黑。绿色被视为中间色,象征平衡与舒缓。抄写员常在附近放置绿宝石或绿色物体以缓解眼疲劳,诗人甚至建议在绿色石板上书写以减轻视觉压力。中世纪艺术中,海洋也常被描绘为绿色。

白色与红色的对立
白色在中世纪的主要对比色是红色,而非黑色。这体现在国际象棋的欧洲化改编中,棋子被涂成白色和红色,与印度和中东的黑红组合形成对比。直到中世纪末期,印刷术的出现(黑墨印在白纸上)才强化了黑白对立的观念。

骑士颜色象征
亚瑟王传奇等文学作品中,颜色用于塑造骑士角色:黑骑士通常隐藏身份但意图良好;红骑士常代表敌对或邪恶;白骑士象征善良和智慧;绿骑士代表年轻、大胆且可能引发混乱;金骑士罕见,蓝骑士则不存在。

修道士服装颜色的争论
早期中世纪修会未明确规定服装颜色,但后来克吕尼修会主张黑色(象征谦卑和弃绝),而西多会选择白色(象征纯洁和美德)。双方领袖如彼得·维内拉比和伯纳德·克莱尔沃就颜色含义展开激烈辩论,反映了宗教象征的演变。

绿色与伊斯兰教的关联
绿色与伊斯兰教的联系在12世纪才确立。《古兰经》多次提及绿色,象征天堂、植物和希望。先知穆罕默德偏爱绿色服饰,但不同伊斯兰王朝使用不同颜色代表权力(如倭马亚王朝用白色,阿拔斯王朝用黑色)。绿色逐渐成为穆斯林的统一神圣颜色,用于《古兰经》封面和宗教服饰。

蓝色的兴起
蓝色在古希腊罗马时期被忽视,甚至被质疑是否可被感知。直到12世纪,蓝色突然在绘画、纹章和服饰中占据重要地位。关键转折点是圣母玛利亚的斗篷开始被描绘为鲜艳蓝色,成为标准形象。技术进步(如彩色玻璃制作)也促进了蓝色的广泛应用。到13世纪,法国和英国君主开始穿戴蓝色,使其成为皇室象征。

黄色的衰落
黄色最初因类似黄金而备受推崇,用于纹章和金色头发。但在中世纪晚期,黄色逐渐与嫉妒、异端和犹太人相关联。叛徒犹大常被描绘穿黄色衣物,异端者如扬·胡斯在处决时也被迫穿黄色长袍。随着欧洲基督教对犹太社区的服装规定,黄色声誉下降,最终被视为俗气而不受欢迎。

米歇尔·帕斯特罗的研究系统总结了中世纪颜色的象征演变,其著作《颜色的历史》系列涵盖了黑、蓝、绿、红、白、黄等主题。