2024-02-28

31 篇热帖

1. Airfoil (ciechanow.ski)

本文深入探讨了飞机机翼翼型(Airfoil)产生升力的物理原理,通过多层次的分析揭示了空气动力学的基本机制。

核心原理:压力差产生升力 升力并非源于吸力,而是翼型上下表面压力差异导致的净向上推力。当气流绕过机翼时,其流速和压力发生变化:通常上表面流速更快、压力更低(负压区),下表面流速较慢、压力更高(正压区)。这种压力分布对机翼表面产生一个向上的合力,即升力。

关键因素:迎角与流动

  • 迎角:机翼与来流方向的夹角是产生升力的关键。即使是对称翼型,在正迎角下也会因上下表面流速不对称而产生升力。升力通常随迎角增加而增大,但超过临界迎角后,气流发生分离,导致升力骤减,即失速
  • 流动可视化:理解升力需可视化气流。文章介绍了三种方法:固定点的箭头表示局部速度矢量;随流运动的粒子标记追踪流线;颜色映射显示流速分布。这些方法揭示了气流如何平滑地绕过翼型,并在特定区域加速或减速。

基础机制:压力、粘度与边界层

  • 压力:空气压力由分子碰撞产生,其空间差异驱动空气运动。压力梯度力迫使气流从高压区流向低压区,并直接影响翼型表面。
  • 粘度与边界层:流体(包括空气)具有粘性,导致紧贴物体表面的气流速度为零(无滑移条件),由此形成边界层。边界层内的速度从零逐渐增加到外部主流速度。粘度还负责动量的扩散,影响边界层厚度。
    • 层流与湍流边界层:层流边界层平滑有序,摩擦阻力较小;湍流边界层混乱但更厚,靠近表面的动量更大,能抵抗更强的逆压梯度,从而延迟流动分离。虽然湍流增加表面摩擦阻力,但它通过防止分离能降低整体阻力(如高尔夫球的凹坑设计)。

设计与优化

  • 非对称翼型:大多数飞机机翼采用非对称剖面(如上方弧度较大),即使在零迎角下也能产生升力,效率更高。
  • 设计多样性:翼型设计目标是在所需条件下获得足够升力的同时最小化阻力。例如,层流翼型通过优化形状延长顺压梯度区域,以保持边界层为层流,降低摩擦阻力;超临界翼型用于高亚音速飞行,通过控制表面流速延缓激波产生;超音速翼型则具有尖锐前缘和薄剖面。

总结 飞行升力是气流与翼型形状相互作用的结果,本质是压力差。通过控制迎角和优化翼型形状,可以塑造气流的速度和压力分布,从而产生所需的升力并管理阻力。粘性引起的边界层行为(层流/湍流、分离)是决定翼型性能的微观基础。从分子碰撞到宏观气动力,这些物理原理共同使得重于空气的飞行器得以翱翔。

2. The Era of 1-bit LLMs: ternary parameters for cost-effective computing (arxiv.org)

文章核心内容总结

本文介绍了一种名为 BitNet b1.58 的1位大语言模型(LLM)变体。其核心创新在于将模型的每一个参数(或权重)限制为三元值:-1、0、1

主要优点与突破:

  1. 性能对标全精度模型:在相同的模型规模和训练数据量下,BitNet b1.58 在困惑度(perplexity)和最终任务性能上,能够与全精度(FP16/BF16)的Transformer LLM相匹配。
  2. 显著的成本效益:该模型在推理延迟、内存占用、吞吐量和能耗方面具有显著优势,使得大模型的部署和运行更加经济高效。
  3. 定义新的缩放定律:1.58位的模型为训练新一代兼具高性能与高成本效益的LLM提供了新的缩放定律和方法论。
  4. 开启新的计算范式:它为设计针对1位LLM优化的专用硬件开辟了道路,可能引领未来计算架构的发展。

研究背景与意义: 本文基于近期如BitNet等研究的基础,进一步推进了1位LLM的发展。它不仅是一种具体的模型实现,更提出了一种新的技术路径,旨在从根本上解决大模型计算资源消耗巨大的问题,是推动LLM普及和高效应用的重要研究方向。

7. Show HN: I made an app to use local AI as daily driver (recurse.chat)

这是一款专为Mac设计的本地AI应用,核心特点是隐私优先、完全离线、速度快。用户可以在一个应用中同时与本地大语言模型、Claude和ChatGPT进行交互,且无需订阅。

主要功能亮点包括:

  1. 本地优先:所有AI模型直接在Mac本地运行,无需互联网连接或服务器,对话数据永不离开设备。
  2. 浮动聊天窗口:可通过快捷键(⌘+⇧+Enter)从任何应用中调出始终置顶的聊天窗口,随时可用。
  3. 与文件对话:支持PDF、Markdown和文本文件,利用本地的RAG(检索增强生成)技术进行嵌入和向量搜索,确保文件内容不会外泄。
  4. 灵活使用模型:兼容GGUF模型、Hugging Face、OpenAI兼容端点,以及Claude、ChatGPT等云服务提供商。可导入ChatGPT历史记录并使用本地AI继续对话。

市场反响积极:用户评价普遍赞扬其界面美观、设计简洁、使用流畅,是“目前最佳的macOS LLM客户端”,并特别肯定了其一次性买断、无数据收集的商业模式。

该应用已在Mac App Store上架,采用一次性购买方式。

8. How video games use lookup tables (blog.frost.kiwi)

查找表(LUT)在电子游戏中的应用

查找表(Look-Up Table, LUT)是一种通过预计算值来实现高效颜色和效果变换的技术,在图形编程中应用广泛。其核心思想是:将输入值(如像素亮度或RGB颜色)映射到预定义的输出值(如新颜色),从而避免实时进行复杂的数学计算。

基础技术:着色

在着色器中,对纹理颜色进行简单的乘法运算(如乘以橙色向量 vec3(1.0, 0.5, 0.0))即可实现“着色”效果。这种操作通常对性能几乎没有影响,因为纹理读取的时间远超乘法运算,且GPU的并行线程架构可以隐藏计算延迟。例如,在Valve的《Left 4 Dead》中,通过一个额外的遮罩纹理,使用着色技术用同一张汽车纹理实现了多种颜色变体,极大节省了纹理内存。

1D LUT:从灰度到彩色

1D LUT 是一个一维颜色数组,用于将单通道(如亮度)值映射为完整的RGB颜色。

  • 应用:最典型的应用是将热成像仪的灰度视频转换为伪彩色视频。通过用亮度值索引1D LUT,每个灰度级都对应一个预设的颜色。
  • 优势:利用GPU的免费纹理双线性过滤,即使LUT分辨率(如8像素宽)远低于源数据(如256级灰度),也能平滑地重建色彩。文章展示了所有matplotlib色彩图作为1D LUT的效果。
  • 高级应用:除了可视化,1D LUT也可用于缓存昂贵的计算。例如,将Gamma校正曲线(如sRGB的分段函数)预计算到LUT中,可以避免在着色器中执行复杂的pow()函数和条件分支。Valve在《Left 4 Dead 2》中更进一步,使用1D LUT为僵尸的皮肤和衣服创造明暗和色彩变化,实现了远超简单着色的多样性。

3D LUT:全面的色彩控制

3D LUT 将整个RGB色彩空间作为一个立方体进行重新映射,实现了输入三维颜色向量到输出三维颜色向量的变换。

  • 构建:通常将32³或33³大小的立方体存储为2D条纹图像,在着色器中通过采样两个相邻的2D切片并插值来模拟3D纹理访问(在WebGL 1.0等不支持3D纹理的环境中)。
  • 核心能力:与3个独立的1D LUT(分别处理R、G、B通道)不同,3D LUT能够进行依赖于RGB组合关系的变换,如调整饱和度、色相或隔离特定颜色。这是电影级调色的基础。
  • 工作流程:一个标准流程是:在DaVinci Resolve等专业调色软件中处理参考截图,然后将相同的色彩校正烘焙到初始的3D LUT中,导出并在游戏引擎中使用。这样,艺术家可以在熟悉的外部工具中完成复杂的调色,并实时应用于游戏场景。
  • 高级应用:文章展示了如何使用DaVinci Resolve将Panasonic V-Log素材转换为模拟柯达2383胶片质感的LUT,这是一个涉及多级色彩空间转换的复杂过程,最终全部压缩进一个简单的LUT文件中。

性能与考量

  • 1D LUT性能:通常近乎免费。尽管技术上引入了“依赖纹理读取”,但由于LUT数据通常能完全放入GPU纹理缓存,且现代GPU的延迟隐藏机制,其开销微乎其微。作为替代方案,多项式近似(如用于viridis色彩图的Horner法)可以避免纹理读取,并可能被优化为少量融合乘加(FMA)指令。
  • 3D LUT性能:一次纹理查找的代价,换来的是任意复杂的色彩变换。这是性能与视觉质量之间的极佳权衡。
  • 色彩映射选择:在数据可视化中,推荐使用“感知均匀”的色彩图(如viridis族),以确保在黑白打印、色盲人士观看以及亮度感知上的一致性。

总结

查找表是一种古老而强大的技术,在游戏中实现了从简单的单色着色、创造角色多样性,到完整的电影级颜色分级等广泛功能。其魅力在于将复杂的计算预烘焙为简单的纹理查找,以极低的实时性能成本,释放了巨大的艺术创作潜力。

9. 'Mathematically perfect' star system being investigated for potential alien tech (www.space.com)

HD 110067 恒星系统与外星技术搜索

HD 110067 是一个距离地球仅 100 光年的恒星系统,拥有六颗亚海王星行星,它们以数学上完美的和谐轨道绕中心恒星运行,每隔几圈行星就会对齐一次。该系统从地球边缘视角观察,这使得探测可能的外星技术信号(如通信信号)更为有利。

去年,天文学家宣布发现这一系统后,研究团队使用西弗吉尼亚州的格林班克望远镜(GBT)搜索外星技术迹象。他们寻找持续存在且仅在望远镜指向系统时出现的信号,这可能是人造技术的标志。然而,搜索未检测到确凿证据,但结果不排除系统中存在技术信号的可能性,仅表明在观测期间没有信号朝向地球传播。

搜索面临挑战:自然射电波源和人类技术信号(如手机或星链卫星)形成干扰,使得区分外星信号困难。研究者采用方法来识别可能的外星发射器信号,例如它们通常集中在窄频率范围内,并且由于行星运动,信号会随时间漂移(类似多普勒效应)。

同时,发现团队使用欧洲航天局的 CHEOPS 望远镜和西班牙的 HARPS-N、CARMENES 仪器来精确测量行星的半径和质量。这些数据将有助于分析系统化学组成,并可能揭示其演化与形成机制。

科学家对搜索地外生命持乐观态度,强调技术不断进步,未来研究将继续。尽管未发现外星技术,HD 110067 仍被视为重要观测目标,其“完美”轨道系统提供了独特研究机会。

10. Look, ma, no matrices (enkimute.github.io)

PGA在3D图形引擎中的应用:无矩阵化实践总结

项目目标

该项目旨在构建一个完全基于PGA(平面几何代数) 的前向渲染3D引擎,替换传统4x4矩阵,同时兼容glTF标准。PGA的电机(motor)等价于对偶四元数,能以更低的计算和内存成本编码欧几里得运动。

PGA基础与实现

  • 基底选择:PGA基于4个基向量(e1,e2,e3,e0),生成多向量元素。项目优化了内存布局,使用mat2x4表示电机(8浮点),vec3表示点/方向。
  • 关键运算优化
    • 变换组合:通用电机组合需48乘40加,但纯旋转/纯平移场景可优化(如纯旋转仅16乘12加)。
    • 三明治积变换:点变换从朴素33乘29加优化至21乘18加,方向变换进一步优化至18乘12加。基方向变换(如X轴)仅需6乘4加,性能接近叉积。
    • 归一化与平方根:电机归一化需21乘5加,平方根仅需额外一次加法。
    • 指数/对数映射:提供闭式高效实现,用于构建刚体变换。
    • 逆运算:电机逆为转置(翻转双矢量/三矢量系数),通用双矢量逆需基于Study数。

渲染管线集成

  • 矩阵转换:加载时将glTF的4x4矩阵转换为PGA电机,支持均匀缩放(额外标量跟踪)和有限非均匀缩放。
  • 模型-视图-投影
    • 模型和视图变换使用电机及三明治积。
    • 投影仍使用标准投影函数(因投影矩阵稀疏且PGA无优势)。
  • 切线空间法线贴图优化
    • 顶点数据压缩:将法线+切线+副切线(12浮点)压缩为切线转子(4浮点),节省33%内存。
    • 变换性能对齐:变换完整切线帧(位置+切线转子)需47乘38加,与矩阵方案(48乘36加)基本持平。
    • 片段着色器:当前从转子显式提取法线/切线,以兼容烘焙纹理;未来可控场景可直接传递转子,省略正交化开销。
  • 蒙皮动画:基于PGA电机的线性混合与重归一化,与对偶四元数皮肤技术一致。

核心结论

  • 性能表现:PGA电机在顶点变换场景下计算效率与4x4矩阵相当,但内存占用显著降低(顶点数据减少25%)。
  • 工程适用性:该方案可作为现有引擎的“直接替换”,无需修改片段着色器或渲染管线其他部分。
  • 隐含优势:PGA统一了旋转、平移、对偶四元数的表示,避免了矩阵-四元数转换,为动画混合、插值等提供了更一致的代数框架。

参考依据

实现基于SIGGRAPH课程及多篇学术论文,验证了PGA在计算机图形学中的实用化潜力。

12. Learn CSS layout the pedantic way (2015) (book.mixu.net)

文章摘要:Learn CSS layout the pedantic way (2015)

文章目的与背景

  • 文章以《Futurama》和《The Matrix》的引语开篇,强调CSS作为基于规则的系统,类比Matrix的规则性。
  • 作者采用“pedantic”(严格注重细节)的方式描述CSS布局规则,旨在澄清常见误解,提供技术准确的指导。
  • 针对读者:已有CSS基础知识的开发者,帮助他们深入理解布局算法,而非零散技巧。

CSS布局的常见误解

  • 元素定位:相对定位(如block和inline元素)由格式上下文(formatting context)决定,而非元素的display属性,受兄弟元素影响。
  • z-index:并非文档全局绝对,而是相对于堆叠上下文(stacking context)。
  • 盒模型:存在至少五种不同盒模型,在内容维度和margin: auto处理上有细微差异。

文章结构与章节概览

文章分为五个主要章节,系统覆盖CSS布局的核心概念:

第1章:盒定位(Box positioning in CSS)

  • 介绍CSS三种主要定位方案:正常流(normal flow)、浮动(floats)和绝对定位(absolute positioning)。
  • 涵盖正常流概念,如匿名盒生成、格式上下文、行盒(line boxes)和行内对齐。
  • 讨论浮动概念,包括浮动顺序、清除浮动(clearfix)以及浮动与父元素高度的交互。

第2章:盒尺寸(Box sizing in CSS)

  • 深入探讨盒模型,并分析其在不同定位方案中的变化。
  • 重点说明高度(height)、宽度(width)和边距(margins)的计算机制,强调理解定位方案和计算机制的重要性。

第3章:影响定位的额外属性(Additional properties that influence positioning)

  • 覆盖多种影响盒定位的机制,包括:
    • 边距折叠(margin collapsing)
    • 负边距(negative margins)
    • 溢出(overflow)
    • 最大/最小宽度和高度(max-width, max-height, min-width, min-height)
    • 堆叠上下文和z-index属性
    • 伪元素对布局的影响
    • CSS3的盒尺寸属性(box-sizing)

第4章:Flexbox(Flexbox)

  • 讨论CSS3 Flexbox布局模式,作为现代布局解决方案。

第5章:布局技巧与实用技术(CSS layout - tricks and layout techniques)

  • 将前几章知识应用于实际问题,包括:
    • 水平和垂直居中
    • CSS网格框架的工作原理
    • 多列布局
    • 常见陷阱和布局技巧
  • 包含小测验式问题,测试读者对布局概念的理解。

附加资源

  • 提供参考索引(reference index),方便查找特定概念或属性,快速定位到相关章节和部分。

总结

  • 文章旨在提供一份严谨的CSS布局指南,纠正非正式资源中的技术错误,帮助开发者掌握底层规则和算法。
  • 通过详细章节和实例,系统化讲解从基础定位到高级布局(如Flexbox)的核心知识,适合深入学习。
13. SymPy: Symbolic Mathematics in Python (www.sympy.org)

SymPy:Python中的符号数学库

SymPy 是一个完全基于 Python 的符号数学库,采用 BSD 许可免费开源。它具有轻量级特性,仅依赖纯 Python 库 mpmath 用于任意浮点算术,便于使用。SymPy 不仅可作为交互工具,还能嵌入其他应用程序并支持自定义函数扩展。

许多项目广泛使用 SymPy,涵盖多个领域:

  • 物理与工程:如 Cadabra(张量代数和量子场论)、EinsteinPy(广义相对数值计算)、PyDy(多体动力学)、SfePy(有限元分析)。
  • 化学与科学计算:如 ChemPy(化学包)、QMCPACK(量子蒙特卡洛)。
  • 优化与数据分析:如 Optlang(数学优化)、yt(体积数据分析)、symbolic statistical modeling(符号统计建模)。
  • 工具与集成:如 SageMath(开源数学系统)、Spyder(科学Python开发环境,支持SymPy)、OctSymPy(Octave符号包)。
  • 其他应用:如 devito(高性能计算DSL)、galgebra(几何代数)、pyodesys(常微分方程系统数值积分)。

这些示例展示了 SymPy 在符号计算中的灵活性和广泛适用性。

14. SuperTux (github.com)

SuperTux是一款受任天堂《超级马里奥兄弟》系列启发的平台跳跃游戏。玩家将操控Tux在多个世界中奔跑跳跃,通过踩踏敌人、从下方撞击或投掷物体来击败它们,并在途中收集能力提升道具。

故事背景 Tux和Penny正在南极洲的冰原上野餐,突然一个生物出现并用闪光使Tux昏睡。Tux醒来后发现Penny失踪,只留下一封信。信中自称是Tux宿敌的Nolok声称已将Penny囚禁于自己的堡垒,并警告Tux不要试图营救。看到远处的Nolok堡垒后,Tux决心踏上拯救Penny的旅程。

安装方式 主要平台的稳定版本可从官方网站或GitHub下载。用户应使用平台默认工具进行安装。在macOS上,由于应用程序未签名,Gatekeeper(默认启用)会拒绝打开SuperTux。若希望在不完全禁用Gatekeeper的情况下运行游戏,可通过上下文菜单(按住Control键点击图标)选择打开。系统将在下次运行时记住此选择。

相关文档 重要文档包含在以下文件中:

  • INSTALL.md:包含编译和安装的要求与说明
  • README.md:主说明文件
  • NEWS.md:记录自上一版本以来的变更
  • LICENSE.txt:GNU通用公共许可证(数据子目录大部分采用CC-by-SA许可)
  • data/credits.stxt:贡献者名单(游戏菜单内也可查看)

游戏操控 支持键盘和手柄/游戏手柄。控制设置可通过"选项>控制"查看修改。主要操作包括:跳跃、下蹲、左右移动、动作键和物品袋。动作键用于拾取物体或使用已获得的增强能力(如火焰花发射火球、冰花发射冰弹)。物品袋可存储一件额外物品,以备紧急情况使用。其他常用按键:ESC键用于返回菜单或菜单层级上升,菜单可通过方向键或鼠标导航。

社区支持 如需帮助,可通过以下方式联系:

  • IRC:Libera Chat上的#supertux频道,开发者主要讨论场所,提供实时支持。可通过网页客户端访问,提问后请保持在线以免错过回复。
  • 论坛:社区活跃于论坛,讨论范围涵盖功能提案到技术支持,特别有许多社区自制附加内容在此发布。
  • 社交媒体:目前主要在Twitter。
  • Discord:也可加入Discord服务器进行交流。
15. Rewrite the VP9 codec library in Rust (lore.kernel.org)

本文介绍了网站防护系统Anubis,其主要目的是应对AI公司恶意爬取网站资源导致服务器过载的问题。当检测到爬虫行为时,Anubis会呈现一个工作量证明挑战页面,类似Hashcash机制,通过增加计算成本来遏制大规模自动化爬取。

该系统设计为临时方案,旨在为管理员争取时间开发更精细的浏览器指纹识别技术(例如通过字体渲染特征识别无头浏览器),以便未来仅对可疑访问者进行验证,而正常用户则无需经历挑战流程。

文章特别指出,Anubis依赖于现代JavaScript功能,因此使用JShelter等隐私插件的用户需要为该域名禁用相关插件,以确保功能正常运作。

(注:提供的文章内容与标题“用Rust重写VP9编解码器”完全无关,实际内容是关于网站反爬虫防护系统的说明。)

16. GoboLinux (www.gobolinux.org)

GoboLinux 项目最新动态与概况

核心公告: GoboLinux 于2025年3月31日发布了版本号为 v017.01 的更新。此版本是一个bug修复版本,距离上一个ISO发布已有五年时间,主要解决了在此期间出现的一些关键问题。

项目领导层变更: 随着此次发布,项目的创始人兼长期管理者 Hisham Muhammad 正式卸任。Hisham在过去25年里塑造了GoboLinux,使其成为一个突破传统Unix观念边界的创新型实验性发行版。项目现由 @fyrak1s 接手继续管理。同时,感谢 Lucas Correia Villa Real 在2021年6月之前与Hisham共同坚守项目维护工作。

当前版本信息:

  • 版本: 017.01
  • 性质: Live环境(可直接从USB驱动器或DVD运行,也可安装到硬盘)
  • 获取方式: 提供ISO镜像下载,并有镜像列表供选择。

项目特色: GoboLinux是一款与常见的Linux发行版差异显著的系统,鼓励用户通过阅读文档来了解其独特之处。

社区与资源: 项目设有专门的社区页面和文档资源。社区是获取帮助和参与讨论的主要渠道。

贡献致谢: 此次版本发布感谢了Sage I. Hendricks、Anto、Rune Morling等众多贡献者的努力。

17. Serverless Horrors (serverlesshorrors.com)

Serverless Horrors 摘要

网站概述 Serverless Horrors 是一个专注于收集和分享无服务器架构(Serverless)相关“恐怖故事”的博客网站。其创建者是 Andras,他同时还参与多个开源项目,如 Coolify 和 Jean 等,并在 coolLabs 组织下工作。

社区参与 网站鼓励用户贡献故事,方式包括:

  • 直接联系作者提交
  • 在 GitHub 上提交 Pull Request (PR)

案例展示(费用灾难) 网站列出了多个由用户提交的、因云服务使用而产生异常高额账单的真实案例,涉及多家主流云服务商:

  1. Vercel 带宽爆炸

    • 项目:Jmail(页面浏览量超4.5亿)
    • 费用:$46,485.99
    • 原因:即使进行了大量缓存优化,带宽费用仍失控。
  2. AWS 服务暂停仍收费

    • 费用:$4,241.69
    • 原因:用户暂停服务后,AWS 仍持续计费。
  3. Google BigQuery 意外费用

    • 场景:在公开数据集的“Playground”环境中使用
    • 费用:$22,639.69
    • 原因:产生远高于预期的 SQL 查询费用。
  4. Cloudflare Images 计费混淆

    • 费用:$400.69/月(预期为 $110)
    • 原因:预付费计费规则不清晰,且客户支持长达8个月以上无回应。
  5. DDoS 攻击导致天价账单

    • 项目:EchoFox
    • 费用:$23,000.42
    • 原因:遭受DDoS攻击,导致 Vercel 带宽激增,并引发超过5.6万个账户和试用被触发。

核心主题 这些案例共同揭示了无服务器及云服务在实际使用中可能遇到的主要风险:

  • 费用不可控且可能意外飙升
  • 服务商计费系统复杂或存在漏洞
  • 客户支持响应不及时
  • 安全事件(如DDoS)直接引发财务损失

该网站旨在通过真实故事警示开发者和团队,在拥抱无服务器架构的便捷性时,必须谨慎管理成本与风险。

18. Intel puts 1nm process (10A) on the roadmap for 2027 (www.tomshardware.com)

英特尔制程路线图更新:10A(1纳米)节点计划于2027年投入开发

英特尔在近期的“Foundry Direct Connect”活动中披露了其代工业务的最新路线图与关键进展,核心信息如下:

  • 制程节点进展

    • Intel 10A:这是公司首个1纳米级别(10埃米)节点,计划于2027年底开始进入生产/开发阶段。
    • Intel 14A(1.4纳米):将于2026年投入生产。
    • Intel 20A18A:这两个采用EUV技术的节点已于2023年开始某种形式的生产。20A节点集成了背面供电(PowerVia)全环绕栅极晶体管(RibbonFET) 两项新技术。为降低风险,英特尔此前已单独测试了背面供电技术。
  • 产能规划

    • 公司展示了未来数年各制程节点的产能规划比例。Intel 18A节点是产能建设的重点,且其第三方代工业务的主要客户均集中在此节点。
    • 随着向EUV节点过渡,英特尔将逐步淘汰14nm、10nm、Intel 7等旧制程的产能。
    • 产能扩张的速度与最终规模将受到《CHIPS法案》资金到位情况和商业环境的影响
  • 先进封装

    • 英特尔正大幅且快速地提升其先进封装产能,涵盖Foveros、EMIB、SIP(硅光子)和HBI(混合键合互连)等技术。
    • 此举旨在缓解当前AI加速器面临的先进封装产能瓶颈
    • 公司已将标准封装业务外包给OSAT公司,自身全面专注于先进封装
  • 全球制造布局

    • 英特尔计划在未来五年内投资1000亿美元用于全球制造设施的扩建和新建。
    • 生产布局具有地理多样性:例如,18A节点的生产将在亚利桑那州的Fab 52和62进行;先进封装及为Tower代工的65nm业务则位于新墨西哥州。公司还在俄亥俄州、以色列、德国、马来西亚和波兰等地持续扩张。
    • 这种分布式的产能为代工客户提供了供应链的灵活性和韧性,可选择完全位于美国的供应链。
  • 长期愿景与自动化

    • 英特尔启动了名为“10X登月计划”的倡议,旨在将人工智能应用于生产流程的所有环节,包括产能规划、产量提升和实际制造操作。
    • 计划未来引入AI协作机器人和广泛的机器人自动化,以打造全自动化、AI驱动的晶圆厂。该计划尚无具体时间表。
    • 英特尔代工服务的目标是到2030年成为全球第二大代工厂,并正积极寻求潜在客户。
19. Scheduling Internals (tontinton.com)

调度内部机制概览

本文深入探讨了并发与并行的核心机制,解析了操作系统、编程语言(如Go、Rust)及运行时(如Node.js)如何实现高效的任务调度。

1. 为什么不能为每个客户端创建线程?

为每个连接创建操作系统线程虽然直观,但存在显著问题:

  • 内存开销:线程栈通常需分配虚拟内存(如Linux默认10MB),且以内存页(如4KB)为最小分配单位,造成浪费。
  • 系统限制:受threads-maxpid_maxmax_map_count等内核参数约束,难以支持百万级并发。
  • 性能开销:线程上下文切换(用户态/内核态)消耗CPU周期。
  • 静态栈:线程栈大小固定,无法动态增长或收缩。

因此,线程不适用于高并发I/O密集型任务。

2. 异步I/O与事件循环

非阻塞I/O:通过将套接字设为非阻塞,read/write调用会立即返回,避免线程阻塞。但忙轮询会导致CPU占用100%。

异步I/O API:操作系统提供机制让线程在I/O就绪时才被唤醒:

  • select/poll:跨平台,但需遍历所有文件描述符(O(n))。
  • epoll(Linux):高效,仅就绪事件触发(O(1))。
  • io_uring(Linux 5.1+):通过共享内存队列提交和完成I/O,性能极高。

事件循环(Reactor模式):基于异步I/O构建,核心是循环调用poll获取就绪事件并执行回调。如Node.js的libuv。优点是轻量级、高并发,但回调嵌套可能导致“回调地狱”,且调试困难。

3. 协程:用户态并发

为简化异步编程,引入了协程(用户态线程),可通过保存和恢复程序状态(如寄存器)实现暂停/恢复。setjmp/longjmp是底层实现之一。

  • 非抢占式调度(协作式):协程主动调用yield让出CPU。风险在于若协程不主动让出,会独占CPU。
  • 抢占式调度:通过定期中断(如信号)强制让出CPU。Go 1.14后采用此方式。

4. 栈协程 vs 无栈协程

  • 栈协程:每个协程拥有独立栈,与OS线程编程模型一致。Go采用此方式,栈可动态增长/收缩。优点:编程直观;缺点:内存开销相对较大。
  • 无栈协程:协程状态存储在返回的对象(如Future/Promise)中。Rust、Python的asyncio采用此方式。优点:内存开销极小;缺点:存在“函数颜色”问题(async函数只能由其他async函数调用)。

5. 调度算法

调度器决定就绪任务的执行顺序:

  • SCHED_FIFO:先进先出,任务运行至阻塞或主动让出。
  • SCHED_RR:轮转调度,为每个任务分配时间片。
  • SCHED_DEADLINE:实时调度,总执行截止时间最早的任务。
  • SCHED_OTHER (CFS):完全公平调度器,通过跟踪任务运行时间,优先调度运行时间较少的任务。后继者EEVDF在Linux v6.6成为默认。

6. 多核调度

现代系统需在多CPU核心上分配任务:

  • 全局队列:所有核心从一个线程安全队列取任务,但锁竞争影响性能。
  • 工作窃取:如Go和Tokio采用的方案:每个核心有本地队列,空闲时可从其他核心队列“窃取”任务,实现负载均衡且减少竞争。

本文通过代码示例和动画,系统揭示了从基础并发到现代语言运行时调度器的实现原理,为理解高性能服务器和并发编程提供了坚实基础。

20. Pql, a pipelined query language that compiles to SQL (written in Go) (pql.dev)

pql:一个编译到SQL的流水线查询语言

pql 是一个开源的流水线查询语言,它使用 Go 语言编写,并最终编译为标准 SQL。该项目在 Apache 2.0 许可证下发布。

核心设计与目标

  • 设计哲学:遵循 Unix 哲学,强调小而高效。
  • 核心特性:通过将每个语句的结果管道化传递给下一个语句,来简化查询开发流程。
  • 构建目的:旨在弥补开源数据库与商业产品(如 Splunk、Sumologic、Microsoft 等使用的专有查询语言)之间的功能差距,为开源数据库提供一个既简单又强大的查询接口。

语言特性

  • 语法基础:主要基于 Microsoft 的 KQL,仅有少量例外。
  • 支持的表格操作符:包括 ascountjoinprojectextendsort/ordersummarizetake/limittopwhere
  • 函数支持:pql 会特殊处理一组内置函数(如 notisnullisnotnullstrcatiff/iifcountcountif 等)。对于未在此列表中的函数,pql 会将其原样传递给底层的 SQL 引擎执行。

资源

pql 的源代码托管在 GitHub 上,可供访问和使用。

21. New FCC Broadband Standards Should Consider Latency (broadbandbreakfast.com)

FCC宽带新标准应纳入延迟指标

美国联邦通信委员会(FCC)正考虑在提高国家宽带速度标准的同时,将网络延迟纳入关键评估指标。FCC于2月27日发布的草案报告建议,将2015年制定的25×3 Mbps宽带标准提升至100×20 Mbps,并设定长期目标为1 Gbps下行/500 Mbps上行。然而,草案虽未明确将延迟作为定义“宽带”的硬性要求,但已启动关于建立延迟基准的咨询,计划在未来进一步探讨。

为何需要关注延迟

延迟指数据从源头到达目的地所需的时间,通常以毫秒(ms)计。多项意见指出,仅关注速度会忽视延迟对用户体验的影响:

  • ADTRAN、ASSIA及辛辛那提大学助理教授William Hawkins等支持方认为,延迟必须与吞吐量一同评估,才能确定互联网接入是否符合宽带标准。
  • LibreQoS首席科学官Dave Taht提交的意见强调,现代应用(如网页浏览、视频会议、在线游戏)往往更受延迟限制,而非带宽。研究表明,一条10 Mbps、1 ms延迟的链路在多数交互式流量中表现优于10 Gbps、50 ms延迟的链路。
  • 63名联署者建议,在未考虑延迟及相关缓解技术前,不应将宽带标准提高至100×20 Mbps以上。

FCC当前的延迟标准与争议

FCC长期要求其“通用服务基金”高速资助项目的接收方实现95%的网络往返延迟观测值低于100毫秒,该标准亦被商务部用于宽带公平、接入和部署计划。多数评论者支持FCC维持这一标准。然而,USTelecom和WISPA等组织认为,纳入延迟等服务质量因素会超出FCC第706条报告的原有范围。FCC在草案中已驳回此观点。

延迟对实际应用的影响

高延迟或延迟抖动会显著影响实时应用:

  • 视频会议:可能导致延迟、回声或画面冻结。
  • 在线游戏与VoIP:会造成卡顿、扭曲或通话中断。
  • 网页加载:Taht指出,典型网页加载时间几乎完全受延迟限制,而非带宽,因为“很少有网页瞬时使用超过20 Mbps带宽”。

此外,光纤技术因其光信号在玻璃纤维中的高速传播特性,能提供最低延迟(1-10 ms),而主动光纤相比GPON具备更高的传输容量。有意见质疑联邦政府为何未询问子受助方计划部署的光纤类型。

总结

FCC在推进宽带速度标准升级的过程中,正面临将延迟纳入全面评估的强烈呼吁。支持者认为,仅提升速度上限而不优化延迟,犹如“要求汽车时速达1000英里却不改进安全气囊、保险杠或道路设计”,可能无法实际改善用户体验。未来FCC是否正式引入延迟标准,将影响美国宽带网络的整体质量评估与资助方向。

22. VATSIM: The International Online Aviation Network (vatsim.net)

VATSIM是全球最大的在线航空模拟网络,连接超过十万名虚拟飞行员与空中交通管制员。它提供了一个真实且动态的在线模拟体验,用户可与全球其他参与者共同飞行。

该网络支持主流飞行模拟软件,包括Microsoft Flight Simulator、Prepar3D、X-Plane和FlightGear2,并提供简便易用的客户端工具,以便用户快速接入网络。此外,VATSIM推出了新一代音频通信系统,旨在提升在线交流的清晰度与可靠性。

23. JEP 467: Markdown Documentation Comments (openjdk.org)

JEP 467:Markdown 文档注释

核心目标

该提案旨在允许在Java文档注释中使用Markdown语法,以替代当前主要依赖HTML和JavaDoc标签的混合写法。其核心目标包括:

  1. 提升易用性:通过Markdown简化API文档注释的编写和源码阅读体验。
  2. 保持兼容性:不影响现有文档注释的解析。
  3. 扩展API支持:扩展编译器树API,使其他分析文档注释的工具能够处理其中的Markdown内容。

主要动机

  • 历史原因:1995年选择HTML作为标记语言是合理的,但如今手写HTML繁琐且难以阅读,对新开发者不友好。
  • 简化常见操作:超过95%的内联标签使用(如{@link}{@code})是为了代码片段和链接。Markdown为此类构造提供了更简单的语法。
  • Markdown的优势:Markdown易于读写,并能轻松转换为HTML。对于文档注释中常见的段落、列表、样式文本和链接等构造,Markdown语法比HTML更简洁。同时,Markdown也允许直接使用HTML。

语法与实现细节

1. 文档注释的新形式

使用三斜杠///作为每行开头,以区别于传统的/** ... */块注释。例如:

/// 这是一个使用Markdown语法的文档注释。
///
/// 列表示例:
///   - 项目一
///   - 项目二

2. Markdown语法支持

  • 基础语法:采用CommonMark变体。例如,用空行分隔段落,用-表示列表项,用_*表示强调,用`表示代码。
  • 扩展链接:支持链接到程序元素的扩展语法。
    • [List]:生成指向List类的链接,链接文本为List(等效于{@link List})。
    • [a list][List]:生成指向List类的链接,但链接文本为“a list”(等效于{@linkplain List a list})。
  • 表格:支持简单的GitHub Flavored Markdown (GFM) 管道表格。
  • JavaDoc标签:所有现有的内联标签(如{@inheritDoc})和块标签(如@param, @return)均可继续使用。标签内的内容也采用Markdown解析。
  • 独立Markdown文件doc-files子目录中的.md文件将被正确处理,类似于现有的HTML文件。

3. 编译器树API与处理流程

  • 新增节点:在编译器树API(com.sun.source.doctree包)中引入RawTextTree节点类型,其KindMARKDOWN,用于表示未解析的Markdown内容。
  • 处理阶段
    1. 解析:Markdown注释被解析为RawTextTree节点序列,与代表标签的标准DocTree节点交错存放。其中,类似于程序元素引用的Markdown链接(如[List])会被替换为对应的{@link}{@linkplain}节点。
    2. 渲染javadoc工具将DocCommentTree渲染为HTML。Markdown内容先转换为HTML,其中非Markdown内容(如标签渲染结果)使用占位符(U+FFFC)表示,最后替换为实际渲染结果。
  • 标题处理:渲染时会根据上下文(如模块/类、或字段/方法)调整Markdown标题的级别(如#变为<h2><h4>),并自动生成锚点ID和添加到搜索索引。

4. 行处理规则

  • 每行开头的///及前置空白会被移除。
  • 所有行会共同向左对齐,以消除每行固有的前导空白。
  • 行内的前导和尾随空白会被保留,因为它们在Markdown中可能具有语法意义(如缩进、硬换行)。

非目标与未来工作

  • 非目标:不包含自动将现有文档注释转换为Markdown语法的功能。
  • 未来工作:可能探索将某些风格化的标题和列表(如# Parameters后跟列表)自动转换为等效的JavaDoc块标签(如@param)。

备选方案与风险

  • 备选方案讨论
    • 沿用/** */语法:通过增加标记(如/**md)来区分Markdown注释,但被认为侵入性强且不美观。
    • 将更多Markdown转换为HTML节点:虽然能降低工具感知差异,但会导致错误诊断不准确、源码位置映射困难,且难以通用化处理所有JavaDoc标签。
  • 风险
    1. 依赖风险:实现依赖于第三方库commonmark-java。若该库停止维护,需自行维护分支或寻找替代方案。
    2. 质量控制风险:Markdown对格式错误(如未闭合的代码片段)更为宽容,可能不会像传统注释那样生成诊断消息,导致错误文档更易被忽视。
24. The /unblock API from Browserless: dodging bot detection as a service (www.browserless.io)

Browserless /unblock API 摘要

传统机器人检测绕过方法(如模拟 JavaScript API、设置 Chrome 标志或使用隐身插件)因 Cloudflare 等防护技术的进步而可靠性下降。Browserless 推出 /unblock API,通过更深层的浏览器行为人性化来应对。

核心技术方案

该 API 在 Chrome DevTools Protocol (CDP) 层面修改浏览器行为,消除明显的机器人指纹。例如,Puppeteer 默认会创建 800×600 像素的浏览器实例,即便之后通过 Page.setViewport() 调整尺寸,这一初始特征仍会被检测器捕获。/unblock API 则先创建符合常人使用习惯的 1920×1080 像素浏览器,之后再允许 Puppeteer 连接,从而从根源上隐藏此类痕迹。

功能与使用流程

  • 目标:以接近真实用户的方式启动浏览器,避免使用典型机器人配置。
  • 灵活性:支持 JSON 格式的 API 请求,可根据需求获取目标网站数据、Cookies、截图或浏览器 WebSocket 连接端点。
  • 典型流程
    1. 提供难以访问的目标 URL。
    2. API 以最小化指纹的方式启动浏览器,并根据目标网站的检测机制进行绕过。
    3. 成功访问后,返回站点数据。
    4. 默认生成 Cookies 内容和截图(除非在请求中设置为 false)。
    5. 若请求中设置 browserWSEndpointtrue,则生成一次性连接链接,供 Puppeteer 等 CDP 兼容库重新连接。
  • 简化开发:开发者无需自行配置隐身库、测试 Chrome 标志组合或集成第三方解谜技术,但仍可结合住宅代理等常规绕过手段使用。

未来计划与注意事项

Browserless 承诺持续更新以应对新的检测机制。用户可反馈难以绕过的网站,供其分析优化。该 API 已集成 Captcha 自动求解功能的开发计划中。

接入方式

用户需使用 Browserless V2 服务。通过发送 POST 请求至相应端点(如旧金山或伦敦服务器),并携带目标 URL 及配置参数即可。完整文档详见官方 /unblock API doc

该 API 现已公开提供,新用户可注册试用 7 天。注意:由于该服务资源密集,会消耗额外配额,且不适用于旧版免费套餐用户。

25. Rise of fast-fashion Shein, Temu roils global air cargo industry (www.japantimes.co.jp)

快时尚电商平台冲击全球航空货运行业

随着SHEIN、Temu等中国快时尚电商平台的迅速崛起,其业务模式正对全球航空货运行业产生显著冲击。这些平台通过将产品直接从中国工厂空运至海外消费者,极大推动了跨境航空货运需求。

主要影响:

  1. 货运需求激增:SHEIN与Temu每日联合向美国发送约60万件包裹,均采用单独地址包裹形式进行空运。TikTok Shop近期也在美国开展在线购物业务,进一步加剧了需求竞争。
  2. 运费上涨与季节失衡:亚洲主要航空货运枢纽(如广州、香港)的空运成本因此上升。传统的航空货运淡季几乎消失,市场持续保持高需求状态。
  3. 运力短缺:为争夺有限的航空货运空间以实现快速配送,这些电商平台加剧了行业竞争,导致运力紧张。

这一趋势反映了快时尚电商以速度为核心的商业模式对传统物流网络的重塑,航空货运行业正面临结构性调整压力。

27. Pingora: build fast, reliable and programmable networked systems (github.com)

Pingora 概述

Pingora 是一个基于 Rust 的框架,用于构建高性能、可靠且可编程的网络系统。它在生产环境中经过实战检验,长期处理超过每秒 4000 万次互联网请求。

主要功能亮点

  • 异步 Rust:提供快速且可靠的异步支持。
  • 端到端 HTTP 1/2 代理:支持完整的 HTTP 协议代理。
  • 灵活的 TLS 支持:兼容 OpenSSL、BoringSSL、s2n-tls 或 rustls(实验性)。
  • gRPC 与 WebSocket 代理:支持扩展的协议代理。
  • 优雅重载:实现服务无中断重启。
  • 可定制的负载均衡与故障转移:提供灵活的策略配置。
  • 可观测性工具支持:集成多种监控和调试工具。

适用场景

  • 安全性优先:作为 C/C++ 服务的内存安全替代方案。
  • 高性能敏感:适用于对效率和速度有严格要求的服务。
  • 高度可定制需求:提供高度可编程的代理框架 API。

入门与资源

  • 快速入门:通过指南快速构建负载均衡器。
  • 用户指南:涵盖服务器配置、运行以及自定义 HTTP 服务器和代理逻辑的开发。
  • API 文档:为所有库提供详细文档。

核心模块

  • pingora:构建网络系统和代理的公开库。
  • pingora-core:定义协议、功能和基本特质。
  • pingora-proxy:提供构建 HTTP 代理的逻辑和 API。
  • pingora-error:全局错误类型定义。
  • pingora-http:HTTP 头定义与 API。
  • pingora-openssl & pingora-boringssl:SSL 相关扩展。
  • pingora-ketama:Ketama 一致性哈希算法。
  • pingora-limits:高效计数算法。
  • pingora-load-balancing:负载均衡算法扩展。
  • pingora-memory-cache:异步内存缓存(含缓存锁以防缓存穿透)。
  • pingora-s2n:s2n-tls 相关 SSL 扩展。
  • pingora-timeout:高效异步计时器系统。
  • TinyUfo:pingora-memory-cache 背后的缓存算法。

注意:Pingora 代理与缓存的集成目前为实验性,相关 API 可能变动。

系统要求

  • 平台:以 Linux 为主要支持环境;尽力兼容 Unix 系统(如 macOS),但部分功能可能缺失;Windows 仅靠社区有限支持。
  • 架构:支持 x86_64 和 aarch64。
  • Rust 版本:采用滚动最低版本策略(MSRV),当前要求 1.84,仅接受至少发布 6 个月的 Rust 版本升级。
  • 构建依赖:需要 Clang(用于 BoringSSL)和 Perl 5(用于 OpenSSL)。

许可证

项目基于 Apache License 2.0 许可。

28. All you need is Wide Events, not "Metrics, Logs and Traces" (isburmistrov.substack.com)

当前可观测性领域存在巨大困惑,主要源于对“指标(Metrics)、日志(Logs)和链路(Traces)”的过度区分和复杂化阐述。OpenTelemetry等框架虽优秀,但其复杂的术语(如Span、Root Span等)和多达60项的术语表,使得可观测性显得艰深,阻碍了人们理解其实质。

根本上,Traces、Logs 和 Metrics 只是“宽事件”(Wide Events)的特殊形式。宽事件是一组带名称和值的字段集合(如JSON文档),其核心思想是鼓励将所有可能相关的上下文信息全部写入其中,为日后分析未知问题(unknown unknowns) 奠定基础。

以Meta内部使用的Scuba系统为例,它基于宽事件模型运作:

  1. 数据模型简单:系统只处理宽事件,无需区分数据类型。
  2. 原生采样:事件中内置samplingRate字段,UI自动进行上采样计算,支持动态采样。
  3. 探索式调查:当问题(如广告曝光量下降)出现时,用户无需预先知道根因,可通过对字段进行逐层筛选(filter)和分组(group by),交互式地“切片和切块”数据,逐步缩小问题范围。例如,通过依次按活动类型、操作系统、系统版本、应用版本分组,最终定位到特定组合(如特定活动类型 + 最新Android版本 + 某些应用版本)出现异常。整个过程快速、直观,无需编写复杂查询语言。
  4. 克服基数问题:宽事件处理原始事件而不预聚合,因此任何字段的基数高低都不会成为限制。

文章指出,传统三分法中的各个概念均可映射到宽事件:

  • 链路与Span:本质是包含TraceIdSpanId等字段的宽事件,用于构建分布式追踪视图。
  • 日志:结构化日志本身就是宽事件。原始日志消息可存入特定字段,并可尝试提取模板进行聚合分析。
  • 指标:定期采集的系统状态快照(如CPU、计数器)可作为宽事件发出,类似于Prometheus的抓取机制,但不受基数限制。

作者认为,这种基于宽事件的统一模型能力更强,可以支持连续性能剖析、火焰图生成等多种用例,并能实现跨数据源的关联分析。他批评了可观测性领域的混乱现状,赞赏Honeycomb、Axiom等厂商朝着更简单、直观的交互方式努力,并希望行业能采纳更简单的模型,减少不必要的复杂性。

29. Man convicted for trying to help undercover game wardens recover deer with drone (www.outdoorlife.com)

该文章报道了宾夕法尼亚州一名无人机操作员因使用无人机协助回收猎鹿而被判违法的案件,以及相关的法律争议和立法动态。

案件经过

  • 宾夕法尼亚州居民约书亚·温格罗斯(Joshua Wingenroth)因使用无人机帮助回收猎鹿,在兰开斯特县地区法院被判定犯有多项野生动物违规行为。这是该州首次因此类技术使用而被起诉和审判。
  • 案件源于宾夕法尼亚州狩猎委员会(PGC)在2023年12月进行的一次钓鱼行动。委员会官员伪装成猎人,称射伤了一只鹿并请求协助回收。温格罗斯响应后,用无人机扫描区域,当无人机灯光照射到一头活白尾鹿时,第二名官员赶到并没收了无人机,随后对其提出四项指控。
  • 温格罗斯被罚款1500美元,但他计划向州法院提起上诉。

法律争议

  • 温格罗斯的律师迈克尔·西登斯(Michael A. Siddons)指出,两名拥有超过30年经验的狩猎官员在庭审中作证称“在夜间没有武器的情况下回收倒下的猎物是违法的”。律师认为这一立场与公众普遍理解及《狩猎与野生动物法典》中猎人应尽一切努力回收猎物的规定相矛盾。
  • 辩护方强调,温格罗斯使用无人机的唯一目的是回收已死的鹿,而非狩猎。律师还指出,狩猎委员会在法律执行上存在不一致性,且两名官员均无法引用法典中具体支持其立场的条款。
  • 狩猎委员会通讯主任特拉维斯·劳(Travis Lau)则表示,该机构认为“狩猎和回收是同一件事”,追踪受伤动物在法律上属于狩猎。但委员会同时允许猎人在天黑后追踪猎物,只需事先通知委员会。

立法进展

  • 尽管案件发生,宾夕法尼亚州立法机构正在推进一项法案,拟将无人机用于鹿的回收合法化。法官雷蒙德·谢勒(Raymond Sheller)在判决中也指出“立法机构需要解决这一问题”。
  • 州参议员贾雷特·科尔曼(Jarret Coleman)于2024年1月提出新立法,旨在修改《狩猎与野生动物法典》,允许使用无人机和其他电子设备进行鹿的回收。他认为这是“常识”,并指出俄亥俄州等已合法化该做法。
  • 目前,宾夕法尼亚州法典中关于“娱乐性聚光照明”的条款禁止在鹿狩猎季节使用光源寻找或定位任何猎物,但未明确是否适用于已死或受伤的猎物,法律存在模糊地带。

背景与争议焦点

  • 无人机在猎鹿回收中的应用(尤其是配备热成像的无人机)已在一些州合法化,但宾夕法尼亚州狩猎委员会对此持“敌对态度”。
  • 争议核心围绕“公平追猎”原则以及技术是否应被允许用于回收已死或受伤的猎物。温格罗斯案凸显了法律滞后于科技发展的现状,以及执法标准不统一可能对猎人造成的困扰。
30. Let Everybody Sing (2016) (bittersoutherner.com)

《让每个人都歌唱》(2016)一文深入探讨了 Sacred Harp(或称“形状音符”)音乐传统的历史、特征及其全球影响力。文章通过作者个人经历与多方访谈,呈现了这一传统如何超越宗教与文化界限,成为一个包容且充满活力的社群。

核心内容概述如下:

  1. 起源与特征

    • Sacred Harp 是一种起源于美国南方的合唱音乐传统,最早于1844年在美国出版,但其音乐根源可追溯至更早的欧洲传统。
    • 它使用一种简化的 “形状音符” 记谱系统,仅有四个音符(Fa, Sol, La, Mi),使得未经专业训练的歌手也能通过识别音符形状和聆听基准音(“do”)来演唱。
    • 其音乐最显著的特点是 “分散和声” —— 四个声部(高音、中音、次中音、低音)各自拥有独立的旋律线,而非仅为一个主旋律提供和声。这种结构使得每个声部都像一首独立的曲子。
  2. 音乐体验与社会功能

    • 传统的 Sacred Harp 聚会通常在教堂举行,参与者围坐成一个“空心方阵”。没有预先安排的节目,主席会随机邀请在场的任何人上前领唱自选的歌曲。
    • 演唱时,歌手会先唱出音符名称(如Fa-Sol-La-Mi),然后再唱歌词。现场声音可能听起来粗犷、原始,甚至有些“不和谐”,但却能创造出一种强大而充满喜悦的集体声音。
    • 对许多参与者而言,这种聚会提供了一种无需恪守严格教条就能触及灵性体验的途径。它成为了一个社区避难所,尤其吸引了那些可能对传统布道感到不适,但仍渴望集体崇拜和归属感的人。
  3. 全球传播与包容性

    • 尽管根源深植于美国南方的基督教(尤其是原教旨主义浸信会)文化,Sacred Harp 如今已跨越国界和信仰,吸引了世界各地形形色色的人们。
    • 参与者包括传统信仰者,也包括无神论者、犹太教徒、穆斯林、不同社会经济背景和职业的人。德国、爱尔兰、日本、澳大利亚、英国等地均有定期的 Sacred Harp 聚会。
    • 吸引人们前来的原因多样:有人因成长于该传统而加入;有人被其“如无伴奏重金属”的原始力量所震撼;有人看重其平等与包容的社区精神——在这里,任何人都可以领唱,无人会被评判或纠正,集体的声音会弥补个人的不足。
    • 网站 FaSoLa.org 成为全球社群的联结纽带,方便人们查找世界各地的聚会信息。
  4. 本质与意义

    • 文章指出,尽管歌词内容多涉及基督教信仰(频繁提及耶稣),但 Sacred Harp 的核心魅力似乎在于其音乐本身的包容力和社群构建能力
    • 它满足了一种普遍的人类需求:渴望歌唱、渴望归属、渴望在集体中创造共鸣。正如一位参与者所说:“它触动的是你内心深处的东西,而非头脑。”
    • 最终,这种“分散和声”的古老音乐形式,证明了其超越背景差异、将人们聚集在一起的持久力量,成为一种独特的、持续生长的文化现象。