2024-01-04

50 篇热帖

1. Niklaus Wirth has died (twitter.com)

Niklaus Wirth 逝世

根据来自 X 平台(原 Twitter)用户 Bertrand Meyer 发布的消息,计算机科学领域的巨匠 Niklaus Wirth1月1日 逝世。

Bertrand Meyer 称赞 Wirth 是编程语言、编程方法论、软件工程以及硬件设计领域的一位泰斗,并表达了对其作为先驱、同事、导师和朋友的哀悼之情。

2. Understand how transformers work by demystifying the math behind them (osanseviero.github.io)

这篇文章通过一个简化的数学示例,详细解析了Transformer模型的工作原理,重点阐述了其内部数学机制。

核心目标与前提

文章旨在通过手算一个维度大幅简化(嵌入维度为4)的端到端例子,解释Transformer模型的“如何”工作。阅读前需要具备基础的线性代数和机器学习知识。文章结构分为编码器解码器两部分。

编码器处理流程

编码器负责理解输入文本,生成富含语义信息的向量表示(嵌入)。

  1. 词嵌入与位置编码

    • 输入文本(如“Hello World”)首先被分词(文中采用词级分词)。
    • 每个词(token)被映射为一个固定维度的向量(嵌入)。文中为示例分配了随机向量。
    • 位置编码:由于嵌入本身不包含位置信息,需通过一个使用正弦和余弦函数生成的固定向量来注入。该编码与词嵌入相加,形成包含位置信息的输入矩阵。
  2. 自注意力机制

    • 这是Transformer的核心。通过多头注意力(文中示例为2个头),让模型关注输入序列中不同部分之间的关系。
    • 每个头有独立的查询、键、值权重矩阵。
    • 计算过程为:输入矩阵与Q、K、V矩阵相乘得到查询、键、值向量。
    • 注意力分数计算:查询与键的点积,除以缩放因子(键维度的平方根),然后通过softmax函数得到注意力权重。
    • 用注意力权重对值向量进行加权求和,得到该头的输出。
    • 所有头的输出被拼接后,再经过一个线性层投影回原始维度。
  3. 前馈网络

    • 每个注意力子层后面都有一个简单的前馈神经网络,通常包含两次线性变换和一个ReLU激活函数,用于进一步处理注意力层的输出。
  4. 残差连接与层归一化

    • 残差连接:将子层的输入直接加到其输出上,有助于缓解梯度消失问题。
    • 层归一化:对残差连接后的结果进行归一化,稳定训练过程。
    • 这两步在注意力层和前馈网络层之后都会应用。
  5. 堆叠编码器

    • 上述流程(自注意力+残差连接&层归一化+前馈网络+残差连接&层归一化)构成一个编码器块
    • 原始Transformer堆叠了多个(如6个)这样的编码器块,层层提炼输入的语义表示。

解码器处理流程

解码器负责基于编码器的输出和已生成的序列,自回归地生成输出序列。

  1. 自注意力层(掩码注意力):

    • 与编码器类似,但为了避免在训练时看到未来的词,使用了掩码,使每个位置只能关注其之前的位置。
  2. 编码器-解码器注意力层

    • 这是解码器的关键。
    • 查询来自解码器上一层的输出,而键和值来自编码器的最终输出
    • 这使得解码器在生成每个词时,都能关注输入序列中最相关的部分。
  3. 前馈网络与层归一化

    • 与编码器结构相同。
  4. 输出生成

    • 解码器最终输出的向量经过一个线性层(投影到词汇表大小)和一个softmax函数,得到下一个词的概率分布。
    • 通过贪婪解码(选择概率最高的词)或其它策略选择下一个词。
    • 该词对应的嵌入被添加到输入序列中,解码器开始下一次迭代,直到生成特殊的结束符或达到最大长度。

结论与要点

  • Transformer的核心数学是注意力机制,特别是缩放点积注意力
  • 位置编码解决了序列顺序问题。
  • 残差连接层归一化是保持深度网络稳定训练的关键技巧。
  • 编码器-解码器注意力建立了源序列和目标序列之间的关联。
  • 文章使用随机权重和简化维度进行演示,实际模型通过大规模数据和参数学习得到有意义的权重。文中示例生成的翻译结果不佳正是由于未经过训练。
  • 不同任务可以使用模型的不同部分:分类任务可用编码器,生成任务(如翻译)用编码器-解码器,开放生成(如ChatGPT)则通常只用解码器。
3. AI and satellite imagery reveals expanding footprint of human activity at sea (globalfishingwatch.org)

人工智能与卫星图像揭示人类海洋活动足迹扩张

全球渔业观察组织联合多所大学及研究机构,在《自然》期刊发表了一项突破性研究。该研究利用机器学习分析2017-2021年间200万GB的卫星图像,绘制了首张全球大型船舶交通及海上基础设施地图,揭示了大量未被公开监控系统捕获的工业活动。

主要发现

  • 大量“黑暗船队”:全球约75%的工业渔船未被公开追踪,非洲和南亚周边海域尤为集中。此外,超过25%的运输和能源船舶活动也未出现在公共监控系统中。
  • 区域分布不均:数据显示亚洲的渔业活动远超欧洲——每发现10艘渔船,就有7艘在亚洲,仅1艘在欧洲。
  • 活动变化趋势
    • 受新冠疫情影响,全球渔业活动下降约12%(中国下降8%,其他地区下降14%)。
    • 运输和能源船舶活动保持稳定。
    • 海上能源开发激增:石油设施增长16%,风力涡轮机数量翻倍以上,至2021年已超过石油平台。中国的海上风电增长尤为显著,2017至2021年间增长了9倍。
  • 保护区内的活动:研究人员在多处海洋保护区内发现了众多未公开的渔船。

研究方法与意义

研究团队综合了GPS数据与五年的雷达及光学卫星图像,利用机器学习识别未广播位置的船舶,并判断其是否从事捕捞活动。该技术首次在如此大规模上描绘了未公开的工业海洋活动。

研究作者指出,海洋工业化的“人类世”印记已不限于陆地。这项技术为应对气候变化(如精确估算海上温室气体排放)、管理海洋资源(如追踪污染事件、识别非法活动热点)以及理解“蓝色经济”的扩张(包括水产养殖、海上风电、航运、油气开采等)提供了前所未有的全面视角。

该研究的数据和技术现已公开,旨在帮助各国政府、研究人员和民间社会更有效地管理和监测海洋活动,标志着海洋管理透明化新时代的开始。

5. Fewer people are buying electric cars (www.businessinsider.com)

电动汽车销售增长放缓,揭示了美国电动汽车推广计划的核心问题。尽管2023年第三季度美国电动汽车销量创纪录达到30万辆,但增速明显下降,分析师指出美国可能无法实现政府销售目标。这一放缓导致电动汽车在经销商处积压,汽车制造商如福特和通用汽车推迟了投资计划,甚至特斯拉也延迟了新工厂建设。

根本原因在于美国将电动汽车视为燃气汽车的一对一替代品,而不是更可持续交通系统的一部分。这种单一解决方案忽略了更大的交通问题,可能导致排放目标无法实现。

电动汽车的尺寸问题突出:汽车制造商专注于生产大型电动SUV和卡车,这需要更大的电池,导致原材料需求增加、环境破坏性采矿加剧。大型电动汽车还更重、更危险、更昂贵,且环保效益降低。续航里程焦虑进一步推动了大电池和高价格,尽管美国平均每日驾驶仅约40英里,93%的行程低于30英里。消费者调查显示73%的人对续航有担忧,但实际需求并不高。

价格方面,电动汽车平均售价为50,683美元,比燃气汽车高28%,限制了普通家庭的购买力。电动汽车买家多为高收入家庭(中位收入18.6万美元),普及率难以突破8-9%的阈值。

挪威作为电动汽车推广的典范,提供了教训:通过补贴,挪威新电动汽车销售占比达87%,但总车辆份额仅20%,且未达成2030年排放目标。挪威的电动汽车转型导致卡车排放增加、汽车保有量上升、税收减少,并引发政治争议。重型电动汽车还加剧道路磨损和安全风险。

文章建议重新思考交通方式:电动汽车应专注于短途日常出行,使用小型、廉价车型;混合动力汽车适合长途旅行;同时需要加强公共交通和城际列车投资。仅依靠电动汽车替代燃气汽车不足以应对气候危机,需要更全面的可持续交通方案。

6. Ask HN: Any felons successfully found IT work post-release?
  • 发帖背景:一位前信息安全工程师(曾在Tinder工作)在2022年因攻击罪名入狱后,询问社区中是否有前科人员成功重返科技/创业行业的经验。
  • 当前困境:自释放以来求职受阻,遭遇了录用撤回、招聘人员失联、简历无回应等情况。主要障碍包括职业空白期和犯罪记录。
  • 求职者背景:此前担任安全运维工程师,有信息安全领域工作经验。
  • 关键澄清:发帖者特别说明其罪行与计算机、金融、欺诈、毒品销售、人身暴力等无关。
  • 求助意向:寻求愿意接纳有犯罪记录但能力良好的候选人的公司线索,并附有个人LinkedIn资料。
  • 社区关注度:该帖获得355点投票,引发374条评论,表明此议题具有较高讨论热度。
7. Launch HN: Rosebud (YC S19) – Turn game descriptions into browser games

Rosebud AI(YC S19)推出了一个平台,旨在让非技术用户也能通过描述来创建浏览器游戏。

核心功能与流程:

  • 核心理念: 实现从“描述”到“代码”再到“游戏”的创建过程。
  • 交互方式: 提供聊天界面,用户用自然语言描述想要的游戏,平台生成对应代码。
  • 资源整合: 平台内集成资源生成能力(2D和3D),可生成游戏素材。
  • 开发环境: 内置基于浏览器的代码编辑器,支持即时部署和试玩。
  • 上手途径: 用户可以通过提示从头生成项目,或克隆平台上的现有项目进行修改。

技术实现与聚焦:

  • 代理框架: 使用大型语言模型(LLM)代理,根据用户提示决定调用不同的生成模型(用于代码、资源、对话、游戏创意等)并管理代码插入。
  • 平衡策略: 为平衡代理性能与平台灵活性,目前仅支持基于浏览器的JavaScript框架,并专注于支持使用LLM进行对话和行动的AI NPC游戏类型。
  • 差异化优势: 与传统游戏引擎(如Roblox、Unreal、Unity)的AI副驾驶功能不同,Rosebud是从零开始设计的,采用聊天优先界面,并能针对LLM代理的局限性设置防护措施,目标是使游戏创作对非技术用户更加可行。

商业模式与发展状态:

  • 商业模式: 计划对开发者免费,从创作者向用户收费的模式中抽成(类似Roblox),但考虑AI工具的高成本,可能会引入分层模式。
  • 当前状态: 目前处于Beta测试阶段,团队规模较小。用户可通过官网和特定代码访问。
  • 历史背景: 公司成立于2019年(YC S19),最初专注于生成式AI图像,今年因代码生成技术成熟而转向游戏创作领域(“Rosebud”源自《模拟人生》的作弊码)。

用户反馈与示例:

  • 平台用户已创建多种游戏,如RPG、AI伴侣、3D障碍课程等。
  • 早期测试用户反馈积极,认为其比传统游戏修改更容易,且让非程序员也能进行游戏开发。
8. Show HN: Ambiphone, no-nonsense ambient music and white noise (ambiph.one)

Ambiphone 是一个网页应用,专注于为工作、学习和放松提供环境音乐和白噪声。其核心目的是通过声音帮助用户集中注意力或平静下来。

该应用通过HTML文档构建,并进行了广泛的移动端优化。文档头部包含了大量针对不同型号的iPhone和iPad设置的启动画面链接,表明它旨在被设计为一个可在苹果设备主屏幕上作为独立应用使用的渐进式网络应用。

页面的技术实现依赖于一个JavaScript模块和一个CSS样式表来加载和渲染界面内容。页面主体仅包含一个空的 <div id="app">,这意味着所有用户界面和功能均由JavaScript动态生成。

其核心价值主张在元描述中清晰体现:“用于工作、学习和放松的环境音乐与声音”。

9. The drive stats of Backblaze storage pods (www.backblaze.com)

本文分析了Backblaze存储服务器(包括自研Storage Pod及Dell、Supermicro商用服务器)的硬盘故障率数据。核心发现如下:

存储服务器类型与构成

  • 目前共有六类存储服务器群组:Backblaze 3.0、5.0、6.0、6.1,以及Dell和Supermicro服务器。
  • 服务器以20台为单位组成“Backblaze Vault”存储单元,每个Vault采用同类型服务器和同容量硬盘。
  • Backblaze 3.0/5.0服务器每台45块硬盘,6.0/6.1及Supermicro服务器每台60块,Dell服务器每台26块。

2023年Q3故障率分析

  • 总体概况:共241个Vault,Backblaze自研服务器仍占68%,但比例逐渐下降。
  • 意外发现:故障率(AFR)与硬盘平均年龄无显著正相关。例如:
    • Backblaze 5.0 Vault(硬盘平均年龄近7年)AFR仅0.99%,低于6.0 Vault(硬盘更年轻)的2.14%。
  • 各群组表现
    • Backblaze 3.0:硬盘最旧,AFR达1.53%(6TB硬盘例外),计划优先迁移。
    • Backblaze 5.0:AFR低(0.99%),但因存储密度低(45盘),仍需迁移。
    • Backblaze 6.0:多数硬盘故障率偏高,仅4TB硬盘(1.42%)接近平均值。
    • Backblaze 6.1:AFR低于6.0,可能与硬件升级或硬盘较新有关。
    • Dell:14TB硬盘AFR高达5.46%,主要受两个Vault因位置迁移影响(后续改善),其余Vault AFR约0.99%。
    • Supermicro:以16TB硬盘为主,AFR仅0.62%,表现最佳。

迁移计划与未来研究

  • 正逐步将4TB/8TB硬盘Vault迁移至16TB及以上容量,优先处理旧型号(如3.0)。
  • 未来将深入分析不同硬盘型号与服务器群组间的兼容性,以理解故障率差异原因。
10. Lilygo T-Deck: 2.8-inch IPS LCD display, mini keyboard, and ESP32 processor (www.lilygo.cc)

Lilygo T-Deck 产品概述

Lilygo T-Deck 是一款口袋大小的便携设备,集成了 2.8 英寸 IPS LCD 显示屏、迷你键盘和 ESP32 处理器。它并非传统智能手机,但可利用编程知识将其开发为独立的通讯或编码工具。

核心硬件规格:

  • 处理器: ESP32-S3FN16R8 双核 LX7 微处理器
  • 无线连接: 2.4 GHz Wi-Fi 与蓝牙 5 (LE)
  • 存储: 16MB 闪存 + 8MB PSRAM
  • 显示: 2.8 英寸 ST7789 SPI 接口 IPS LCD,分辨率 320 x 240,全视角
  • 输入: 随机颜色迷你键盘、轨迹球
  • 音频: 集成麦克风与扬声器
  • 可选模块: SX1262 LoRa 收发器(可选 433/868/915 MHz 频段,最大发射功率 +22dBm)
  • 电池: 通过 IO04 引脚进行 ADC 监测

开发与软件支持:

  • 支持多种开发环境:Arduino、PlatformIO-IDE、MicroPython
  • 提供 GitHub 示例代码参考
  • 可通过指定链接获取技术支持

包装内容(黑色版):

  • 不含 LoRa 版本: 1 个 T-Deck、1 个 6 针插头、1 条电源线
  • 含 LoRa 版本: 在不含 LoRa 版基础上增加 LoRa 模块

购买与物流信息:

  • 产品售价为 $43.08(已售罄状态显示)。
  • 物流方式包括标准快递、韵达、DHL、FedEx,配送时间各异。
  • 关税由用户自行承担,具体需遵循目的国政策。
11. Container2wasm: Convert Containers to WASM Blobs (github.com)

Container2wasm 概述

Container2wasm 是一个实验性工具,用于将容器镜像转换为 WebAssembly (WASM) 二进制文件,使得容器可以在 WASM 环境中运行。

核心功能

  • 镜像转换:将标准容器镜像(如 ubuntu:22.04)转换为 WASM 文件。推荐使用 x86_64riscv64 架构的容器,其他架构(如 aarch64)也可运行但可能因额外模拟而较慢。
  • 模拟器支持:根据容器架构使用不同的模拟器。
    • x86_64: Bochs
    • riscv64: TinyEMU
    • --to-js 模式下使用 QEMU。
  • 运行环境
    • WASI 运行时:可在 wasmtimewamrwasmerwasmedgewazero 等运行时中执行。
    • 浏览器:支持在浏览器中运行容器。
  • 网络支持:为在 WASI 运行时或浏览器中运行的容器提供网络功能,支持多种配置。

使用方法

  1. 转换容器为 WASI 镜像

    • 命令:c2w <镜像名> <输出文件.wasm>
    • 示例:c2w ubuntu:22.04 out.wasm
    • 运行:wasmtime out.wasm <命令>
  2. 在浏览器中运行

    • 基于 WASI:将容器转换为 WASI 镜像,并通过配套的 JS 工具(如 xterm-pty)在浏览器中运行。支持网络功能,网络栈可通过浏览器的 Fetch API 或主机上的 WebSocket 代理实现。
    • 基于 Emscripten:使用 --to-js 标志生成适合浏览器的 JS 和 WASM 文件。网络支持方式与基于 WASI 的方法类似。
  3. 目录映射

    • 使用 WASI 运行时的 --mapdir 参数可将宿主机目录映射到容器内。

架构与原理

转换过程涉及以下关键技术组件:

  • 构建器:使用 Docker BuildKit。
  • 模拟器:将目标 CPU 架构(x86_64, RISC-V)模拟为 WASM。
  • 来宾系统:在模拟的 CPU 上运行 Linux 内核,并通过 runc 启动容器。
  • 目录映射:利用 WASI 文件系统 API 将宿主机目录通过 virtio-9p 挂载到来宾 Linux。
  • 打包与优化:使用 wasi-vfsemscripten 打包依赖项;使用 wizer 预启动内核以减少启动延迟。
  • 网络:在浏览器中使用 Fetch API 或 WebSocket;在 WASI 中使用 sock_* API,gvisor-tap-vsock 可作为网络栈。
  • 安全:转换后的容器运行在沙盒化的 WASM (WASI) 虚拟机中,对宿主机系统的访问受限。

WASI 运行时支持状态

下表总结了主要 WASI 运行时对关键功能的支持情况(✔️ 支持,🚧 进行中):

运行时 标准输入输出 (stdio) 目录映射 (mapdir) 网络 (networking) 备注
wasmtime ✔️ ✔️ ✔️ (需主机端网络栈)
wazero ✔️ ✔️ ✔️ (需主机端网络栈)
wamr ✔️ ✔️ 🚧
wasmer 🚧 (标准输入不支持) ✔️ 🚧
wasmedge 🚧 (标准输入不支持) ✔️ 🚧

注:此表同时适用于 x86_64、riscv64 及其他架构的容器。

安装与工具

  • 前置要求:Docker 18.09+,推荐使用 Docker Buildx v0.8+。
  • 获取工具
    • 从 GitHub Releases 页面下载预编译的二进制文件。
    • 使用 make 从源码构建(需要 Go 1.19+)。
  • 主要命令
    • c2w:用于转换容器镜像。
    • c2w-net:用于管理转换后镜像的网络功能,可作为用户空间网络栈运行。

项目动机与相关项目

  • 动机:旨在解决现有程序难以直接在 WASM 上运行的问题,通过模拟和容器技术运行未修改的容器,作为概念验证。
  • 相似项目
    • Docker+Wasm 集成、runwasi 等:专注于在容器运行时中运行 WASM 应用。
    • v86、TinyEMU:专注于在 WASM 中模拟 x86 或 RISC-V 架构运行 Linux,但不支持 WASI。
    • WASI、WASIX:提供应用程序访问宿主机系统的 API,但需要重新编译和实现。

资源与致谢

  • 项目代码库中包含多种示例(如 Python、PHP、网络功能)。
  • 生成的 WASM 镜像包含多种第三方开源软件,如 Bochs、TinyEMU、Linux 内核、runc 等,各自遵循其许可证。
  • 浏览器示例依赖于 xterm-pty、browser_wasi_shim 和 gvisor-tap-vsock 等软件。
12. C and C++ Hot-Reload/Live Coding (liveplusplus.tech)

C和C++热重载/实时编程

核心概述:Live++是一款针对C和C++应用程序的热重载/实时编码工具,旨在通过允许开发者在程序运行时直接应用代码更改,从而大幅缩短迭代时间、提升开发效率。

主要功能与优势

  • 原生速度:结合了快速迭代的灵活性与编译语言的高性能。
  • 二进制代码修补:在后台编译代码更改,并直接修补正在运行的可执行文件的机器码。无需插件、调试器或特定IDE即可工作。
  • 独立运行:可从任何位置启动应用程序,使用任意代码编辑器修改源文件,其余工作由Live++完成。

关键特性

  • 应用程序运行时进行代码更改。
  • 提供二进制补丁的实时更新。
  • IDE无关:兼容任何代码编辑器。
  • 支持编译器:MSVC、Clang 和 LLD
  • 兼容调试版和优化版构建。

业界认可与信任

  • 被全球数千名开发者使用,包括众多虚幻引擎开发者。
  • 经过实战检验,已获得超过100家公司的信任,用于其自研引擎和框架,服务于行业内一些最知名、最畅销的IP和系列作品。
  • 工具提供30天全功能免费试用,无需注册,无附加条件,并包含Visual Studio项目和解决方案。

用户评价摘录

  • Epic Games 高级引擎程序员 Nuno Leiria:“Live++是C++代码库生产力方面最大的单一改进。快速反馈循环是一种超能力。”
  • Electronic Arts, Frostbite 软件工程师 Jack Knobel:“不再需要重启游戏来应用更改已是极好,而能够对当前文件进行反优化更是生产力的福音。强烈推荐!”
  • Mi’pu’mi Games CTO Tobias Sicheritz:“我以一种近乎不健康的方式依赖Live++。我正在编写的任何C++代码都可以从中获益。”
  • Hypersect, Ryan Juckett:“更快的迭代让我保持专注、节省时间、节省资金,而且说实话,每天工作时都更快乐了。”

总结

Live++通过其创新的运行时二进制修补技术,为C和C++开发提供了无缝的热重载体验,显著提升了开发效率和工作流程的流畅度。它不依赖于特定开发环境,兼容主流编译器与构建类型,并得到了游戏开发等行业众多顶尖公司和开发者的实践验证与推荐。

13. Xerox to cut 15% of its workforce (www.cnbc.com)

施乐公司(Xerox)宣布将裁员15%,作为实施新组织结构和运营模式计划的一部分。根据向美国证券交易委员会提交的文件,截至2022年12月31日,施乐约有20,500名员工,这意味着此次裁员将影响约3,075名员工。消息公布后,施乐股价收盘下跌超过12%。

公司重组计划包括:简化核心打印业务中的产品组合、提高全球业务服务的运营效率,并加强对IT及其他数字服务的投入。施乐还重新设计了其高管团队以执行新模式。首席执行官Steven Bandrowczak表示,向业务单元运营模式的转变旨在加速产品与服务、市场推广及企业职能的运营效率提升,覆盖公司所服务的所有地区。

裁员计划将在本季度内执行。

14. Most states start school too early in the morning (www.atlasobscura.com)

美国多数中学上学时间过早:现状、影响与解决方案

上学时间现状

  • 路易斯安那州学生平均上学时间为全美最早,达7:30 a.m.
  • 美国儿科学会(AAP) 于2014年建议,中学(初中和高中)上课时间不应早于8:30 a.m.
  • 实际数据显示,93% 的美国高中在建议时间前开始上课,仅华盛顿特区、阿拉斯加和南卡罗来纳州的平均开始时间为8:30或更晚。
  • 具体时间分布:
    • 40% 的高中在8:00 a.m.前开始上课。
    • 超过20%7:45 a.m.或更早开始。
    • 仅15%8:30 a.m.或之后开始。

原因分析

  • 主要原因是校车调度:许多学区复用校车按顺序接送不同学校的学生,通常先高中生,再初中生,最后小学生,导致高中生上学最早。
  • 青少年自然睡眠周期使其在青春期后难以在晚上11点前入睡,早起加剧睡眠不足。

健康影响

青少年长期睡眠不足与一系列负面后果密切相关:

  1. 学业表现下降:判断力、动机和警觉性降低。
  2. 情绪障碍风险增加:睡眠紊乱与抑郁等情绪问题存在双向关联。
  3. 危险行为:预测酗酒驾驶、吸烟、吸毒和犯罪行为。
  4. 心理健康风险:增加自杀意念的可能性。
  5. 肥胖风险上升:每长期少睡一小时,肥胖几率增加80%。
  6. 代谢紊乱:增加2型糖尿病风险。
  7. 交通事故:疲劳驾驶事故中,55%由25岁以下年轻司机造成。
  • 数据:6-8年级学生中59%、高中生中87% 在上学期间睡眠不足(建议为8.5-9.5小时),青少年普遍处于慢性睡眠剥夺状态。

解决方案与进展

  • 卫生机构建议:除AAP外,美国疾控中心(CDC)也建议推迟上学时间,并呼吁家长支持。
  • 立法行动:2019年,加州通过法案338,要求初中不早于8:00 a.m.、高中不早于**8:30 a.m.**上课,2022年生效。
  • 学区实践:全美约400个学区已将上课时间调整到8:30或更晚,并观察到考试成绩、出勤率和毕业率显著提升(例如,德克萨斯州一学区毕业率提高11%)。

总结

美国绝大多数中学上学时间早于健康建议标准,主要受校车调度和青少年生物钟影响,导致普遍睡眠不足并引发多重健康与行为风险。部分州和学区通过立法或主动调整已取得积极效果,为其他地区提供了参考。

15. Origins of J (github.com)

本文档展示了J语言的一个早期简化实现,其核心是使用C语言定义了基础数据类型和关键操作,并构建了一个简单的解释器来执行J表达式。

1. 基础数据结构

  • 定义了字符类型 C、长整型 I 和表示数组的结构体 a。该结构体包含类型 t、秩 r、维度 d 和数据指针 p
  • 通过宏简化代码:V1/V2 定义一元/二元函数接口;DO 用于循环。

2. 核心内存与数组操作

  • ma 分配内存,mv 复制内存。
  • tr 计算数组总元素数,ga 根据类型、秩和维度分配新数组。

3. J语言关键操作函数

  • 一元操作iota 生成序列(如 !10);box 将数组装箱;sha 返回维度数组;size 返回总元素数或首维大小;id 为恒等函数。
  • 二元操作plus 实现加法;from 实现索引选择;cat 连接数组;rsh 重塑数组形状。
  • find 函数已声明但未实现。

4. 解释器与执行流程

  • 词法分析wd 函数将输入字符串解析为整数数组,其中数字映射为名词,特定字符(如 +{)映射为动词编号。
  • 语法分析与执行ex 函数递归解释解析后的数组。变量通过 st 数组存储;若为动词则调用相应一元或二元函数。
  • 输出pr 函数递归打印数组内容,根据类型决定是打印数字还是嵌套数组。

5. 主程序与示例

  • main 函数循环读取输入,解析执行后打印结果。
  • 示例演示了序列生成、反转、逐元素加法、求和、累积乘积等操作,输出结果印证了函数的正确性。
16. uBlock Origin – 1.55.0 (github.com)

GitHub 平台功能概览

该内容展示了 GitHub 平台的主要功能、产品与服务分类,结构如下:

核心产品与服务:

  • AI 代码创建:包括 GitHub Copilot(AI 辅助编码)、GitHub Spark(构建智能应用)、GitHub Models(管理与比较提示)及 MCP Registry(集成外部工具)。
  • 开发者工作流:涵盖 GitHub Actions(自动化工作流)、Codespaces(即时开发环境)、Issues(规划与跟踪工作)和 Code Review(管理代码变更)。
  • 应用安全:提供 GitHub Advanced Security(查找并修复漏洞)、代码安全(构建时保障安全)和秘密保护(防止泄露)。

解决方案分类:

  • 按公司规模:适用于企业、中小团队、初创公司和非营利组织。
  • 按用例:支持应用现代化、DevSecOps、DevOps、CI/CD 等。
  • 按行业:服务医疗保健、金融服务、制造业和政府机构等领域。

平台资源与支持:

  • 探索内容:可按主题(AI、软件开发等)或类型(客户案例、活动、报告等)浏览。
  • 支持与服务:提供文档、客户支持、社区论坛和合作伙伴资源。
  • 社区与项目:包括 GitHub Sponsors(资助开源开发者)、Security Lab 等项目。

企业解决方案:

  • 提供企业级平台,配备 AI 驱动的开发平台、GitHub Advanced Security、Copilot for Business 和高级支持等可选附加服务。
17. TinyGPT-V: Efficient Multimodal Large Language Model via Small Backbones (github.com)

文章标题:TinyGPT-V: 通过小型骨干网络实现的高效多模态大语言模型

核心内容总结:

本文介绍了 TinyGPT-V,一个基于小型语言模型骨干(如 Phi-2)的高效多模态大语言模型(MLLM)。其主要目标是在保持强劲性能的同时,显著降低模型对计算资源和硬件的需求。

一、 核心要点

  • 性能与效率: 经过评估,TinyGPT-V 的性能达到了同期模型 InstructBLIP 性能的 98%,并超越了同时期的其他模型,在效率与效果间取得了良好平衡。
  • 模型架构: 模型采用多阶段训练流程,结构包含视觉编码器、投影模块和语言模型(基于 Phi-2)。文档中提供了详细的模型结构图和训练流程图。
  • 资源友好: 默认以16位精度加载模型,约需 8GB GPU 内存。支持 8 位加载模式,可在显存更低的设备上运行。

二、 关键组件与流程

  1. 模型结构:
    • 整体结构: 由视觉编码器、投影模块和语言模型组成。
    • 语言模型结构: 基于 Phi-2 构建。
  2. 训练流程: 采用分阶段训练(至少分为 Stage-1 到 Stage-4)。
    • 需要先调整 LLM 的部分权重以使用全精度计算。
    • Stage 1 & 2: 使用指定的数据集,分别运行相应的训练命令。Stage-1 需执行 17 次训练。
    • Stage 3 & 4: 使用专门准备的第三阶段和第四阶段数据集进行训练。
    • 训练使用 torchrun 命令启动。
  3. 评估结果:
    • 文章展示了模型在多个基准测试上的雷达图性能-效率对比图表,证明了其有效性。

三、 使用指南

  1. 环境准备:
    • 克隆代码仓库并创建 Conda 环境。
    • 下载基于 Phi-2 的 LLM 预训练权重。
    • 下载并配置模型在不同训练阶段后的预训练检查点。
    • 重要步骤: 需要将提供的 modeling_phi.py 文件手动更新到 transformers 库的对应目录中。
  2. 启动演示:
    • 运行 demo.py(Stage 1,2,3)或 demo_v2.py(Stage 4)脚本,并指定配置文件。
    • 可通过配置文件中的 low_resource 选项启用 8 位模式以节省显存。
  3. 项目状态:
    • Stage-4 版本具备初步的视觉定位(Grounding) 能力,但团队指出该功能仍在优化中。

四、 其他信息

  • 项目更新: 最新版本为 v2(2024年4月),修复了错误并提供了更多细节。
  • 许可与引用: 项目基于 BSD 3-Clause 许可证,并提供了标准的 BibTeX 引用格式。
  • 致谢: 项目灵感来源于 MiniGPT 等工作。

总结: TinyGPT-V 是一个旨在以小型高效骨干网络实现强大多模态理解与生成能力的开源项目,通过详细的分阶段训练策略和资源优化设计,使其在资源受限的环境下具有实用价值。

18. SpaceX launches first phone service satellites (www.theguardian.com)

SpaceX于本周二发射了一枚火箭,搭载了首批能够直接向智能手机传输信号的星链卫星。该公司的目标是通过星链卫星为移动网络“死角”地区的用户提供连接服务。

此次发射的卫星由SpaceX的猎鹰9号火箭运送至近地轨道。T-Mobile美国公司证实了这一消息。根据T-Mobile的声明,这项直连手机的服务将首先提供短信功能,并在未来几年内逐步支持语音通话和数据业务。该服务并非立即对T-Mobile用户开放,公司表示将“很快”开始实地测试。

SpaceX卫星工程高级总监萨拉·斯潘格表示,该公司计划“快速”扩大该项目规模。她称这批首批直连手机卫星的发射是“展示我们技术的一个令人兴奋的里程碑”。

T-Mobile总裁迈克·卡茨指出,这项服务旨在帮助用户“即使在最偏远的地点”也能保持连接,他希望移动网络死角将成为“过去式”。

除T-Mobile外,全球其他多家无线运营商也将与SpaceX合作推出直连手机技术,这些运营商包括日本的KDDI、澳大利亚的Optus、新西兰的One NZ以及加拿大的Rogers。

消息来源:路透社。

19. Ten years isn't long enough for maximum age settings (utcc.utoronto.ca)

文章讨论了由于大量高流量爬虫(部分用于训练大语言模型)导致服务器负载过高的问题,作者采取了限制访问的措施。具体措施包括:阻止使用过于通用或可疑的HTTP User-Agent头的客户端访问其博客(Wandering Thoughts)和关联的wiki(CSpace)。作者强调,HTTP User-Agent头必须明确标识客户端身份,特别是非浏览器用户代理需同时注明软件和使用者信息。例如,像“Go-http-client/1.1”这类过于通用的标识不再被接受。此外,若User-Agent头中包含“兼容”(compatible)等模糊标记,则必须附带一个描述具体活动或软件的真实URL。类似“Mozilla/5.0 (compatible; mysoftware)”的简单标识不被允许。作者旨在通过这些要求减少滥用爬虫对服务器的影响。

20. Researchers discover physical cause of long Covid tiredness (www.amsterdamumc.org)

来自阿姆斯特丹大学医学中心和阿姆斯特丹自由大学的研究人员发现,长期新冠患者持续的疲劳具有生物学原因,即其肌肉细胞中的线粒体产生的能量少于健康人群。该研究结果发表于《自然·通讯》杂志。

研究共有25名长期新冠患者和21名健康对照者参与。参与者被要求进行15分钟的踏车测试,此测试会导致长期新冠患者症状长期恶化,称为“劳后不适”。研究人员分别在测试前一周和测试后一天检查了参与者的血液和肌肉组织。

研究人员在患者的肌肉组织中观察到了多种异常。在细胞层面,他们发现肌肉细胞的“能量工厂”——线粒体功能较差,产生的能量更少。这表明疲劳的根源是生理性的。研究还发现患者的心脏和肺部功能良好,因此其体能的持久影响并非由心肺异常引起。此外,目前未在肌肉组织中发现新冠病毒颗粒残留的迹象。

基于这些发现,研究人员建议长期新冠患者应控制在自身体力限度内进行锻炼,避免超负荷。推荐进行如散步或骑电动自行车等轻度活动以维持体能,并强调每位患者的限度不同。部分传统的康复和物理治疗形式可能适得其反,会加重患者症状。

长期新冠(或称新冠后综合征)的症状包括严重的认知问题(如脑雾)、疲劳、运动不耐受、自主神经失调、直立性心动过速综合征等,据估计约八分之一的新冠病毒感染者会受到影响。

21. A Science of Concurrent Programs [pdf] (lamport.azurewebsites.net)

《并发程序的科学》内容总结

本文档为 Leslie Lamport 所著《并发程序的科学》一书的主要内容概述。该书建立了一个用于描述和验证并发程序正确性的数学理论框架,核心目标是帮助构建行为正确的并发程序。

核心概念

1. 理论基础

  • 数学描述:程序被表示为数学公式,主要使用时序逻辑动作(TLA)进行描述。
  • 安全性(Safety):规定程序允许做什么,通常表现为不变式性质。
  • 活性(Liveness):规定程序必须做什么,如最终终止或持续推进。
  • 公平性(Fairness):弱公平性与强公平性,确保并发进程不被饥饿。

2. 形式化工具

  • TLA+ 语言:用于精确描述抽象程序,已被工业界(如 Amazon、Microsoft)采用。
  • 模型检查:通过检查有限实例来发现错误。
  • 证明检查:支持机器验证的正确性证明。

关键章节概要

第 1 章:引言

  • 作者背景及并发算法的发展历程。
  • 科学与工程视角的区别,强调数学严谨性的必要性。
  • 欧几里得算法示例,说明不变式在解释正确性中的作用。

第 2 章:普通数学

  • 介绍算术、布尔代数、集合论(ZF)等基础数学工具。
  • 说明如何用这些工具表达程序行为。

第 3 章:用数学描述抽象程序

  • 从物理系统行为到数字系统离散状态的转换。
  • 引入逻辑动作(LA)时序逻辑(RTLA/TLA)
  • 定义程序的安全属性为 Init ∧ □[Next]ᵥ
  • 强调**口吃不敏感性(SI)**的重要性。

第 4 章:安全、活性与公平性

  • 严格定义安全性和活性。
  • 引入闭包算子 C,证明任何性质可分解为安全与活性部分。
  • 讨论公平性条件(WF 和 SF),并证明其与安全性质的机器封闭性

第 5 章:插曲

  • 可能性条件:用于检查抽象程序的准确性。
  • 实时程序:通过引入时间变量描述时序约束(如 Fischer 算法)。
  • 讨论 Zeno 行为问题及其解决方案。

第 6 章:精化

  • 定义程序精化(实现)关系:低层程序 T 通过精化映射实现高层程序 S
  • 示例:Paxos 共识算法,展示如何从抽象规范逐步精化为分布式实现。
  • 介绍历史变量、口吃变量、预言变量等辅助变量技术。

第 7 章:辅助变量

  • 变量隐藏:用存在量词 ∃∃ 隐藏内部变量。
  • 历史变量:记录历史信息以支持精化证明。
  • 口吃变量:添加口吃步骤以匹配不同粒度的行为。
  • 预言变量:预测未来行为以建立正确映射。
  • 完备性定理表明,这些辅助变量足以建立任何精化关系。

第 8 章:未尽事宜

  • 约简:通过将非原子操作视为原子步骤来简化验证。
  • 程序分解与组合:将程序视为组件的组合,并推导整体正确性。

重要示例

  1. 欧几里得算法:展示单进程与多进程版本的等价性,强调不变式 GCD(x, y) = GCD(M, N) 的作用。
  2. 互斥算法
    • 不可接受的算法(UM)因死锁问题而不合格。
    • One-Bit 算法(OB)通过弱公平性实现无死锁。
    • 信号量算法(LM)通过强公平性实现无饥饿。
  3. Paxos 共识算法:通过三层精化(规范→投票算法→Paxos 实现)展示分布式共识的正确性。
  4. FIFO 队列:使用辅助变量证明无队列编码的实现满足线性化规范。

实践意义

  • 该理论提供了构建可靠并发系统的数学基础。
  • TLA+ 工具支持实际工业应用中的建模与验证。
  • 强调抽象思维在复杂系统设计中的重要性。

该书通过严格的数学形式化,将并发程序的正确性验证提升为一门系统的科学,为程序员和研究人员提供了强大的理论工具。

22. Efficient LLM Inference (2023) (www.artfintel.com)

高效LLM推理方法总结

文章探讨了如何高效服务大型语言模型(LLM)以降低成本,主要聚焦于优化、量化和蒸馏三种方法。

1. 优化(Optimization)

  • 首选步骤:通过代码性能分析(profiling)减少开销。例如,将列表替换为字典可显著提升速度。
  • 效果:对大多数用户,仅通过优化代码和批处理请求即可实现成本效益,尤其适用于有传统软件利润的场景。
  • 局限性:当优化后仅剩复杂内核(如Triton)时,需考虑量化或蒸馏。

2. 蒸馏(Distillation)

  • 定义:训练一个更小的模型来模仿原大模型的输出,通常比训练小模型从头开始更优。
  • 优势:效果显著,如DistilBERT减少40%模型大小仅损失3%性能;Hinton等人用蒸馏模型匹配10个模型集成的精度(99.5%性能)。
  • 缺点:需要大量资源,包括运行大模型推理和训练小模型的成本。例如,对GPT-3规模数据集,蒸馏成本可能达数百万美元。
  • 适用场景:如果资源充足,蒸馏通常是最佳选择。

3. 量化(Quantization)

  • 定义:降低模型参数的精度(如从32位到16位或更低),不改变模型架构。
  • 优势:成本极低,例如GPTQ方法可在4 GPU小时内量化175B参数模型(成本约4美元)。
  • 原理:通过减少每个参数的位数来降低内存和计算需求。缩放定律显示,给定总参数位数,较低精度(如8位)通常优于较高精度(如16位)的较小模型。
  • 实现:GPTQ等方法通过优化权重以最小化量化误差,优于简单舍入。
  • 缺点:会牺牲精度,但通常是线性加速。量化不能提升精度,只能权衡。

4. 方法比较与选择

  • 排名:根据文献,蒸馏通常优于训练小模型,量化可能优于从头训练小模型。
  • 资源权衡
    • 蒸馏效果最好,但需要高额训练和推理成本。
    • 量化成本极低(几美元),但精度损失可能达到8-10%(如OPT模型从0.7降至0.65)。
    • 如果推理服务成本高而训练成本可接受,蒸馏更合适;否则量化是可行选择。
  • 额外考虑:量化仅提供线性加速,未来可能需探索稀疏性等方法。

5. 量化技术细节

  • 浮点数表示:解释了浮点数的位组成(符号、指数、尾数),精度下降时尾数位减少。
  • 方法:GPTQ通过argmin优化量化权重,减少推理误差,比简单舍入更有效。

总结

文章建议:首先进行代码优化;如果资源允许,优先蒸馏;否则,量化是一种廉价且有效的替代方案,但需接受精度损失。最终选择取决于成本与精度的权衡。

23. Porsche Design System v3 (designsystem.porsche.com)

保时捷设计系统 v3 概要

保时捷设计系统 v3 是一个综合性的工具包,旨在帮助创建高质量、视觉精美的网页应用程序。它提供了直观的 Figma 库、强大的 Web 组件和全面的指南,以体现保时捷的品质和设计原则。

资源与支持

  • 提供受保护的 Figma 库和公开的 npm 发布包。
  • 支持多种前端框架:Vanilla JS、Angular、React、Next.js、Remix 和 Vue。
  • 基于 Web Components 构建,支持 TypeScript 和服务器端渲染(SSR)。
  • 设有公开的议题板,欢迎反馈、功能请求和建议。

核心优势

  1. 提升效率:通过可复用的组件和指南加速开发,最多可提升31%的开发速度。
  2. 品牌契合:基于保时捷设计原则,确保品牌一致性和高级数字体验。
  3. 无障碍合规:组件符合 WCAG 标准,确保所有用户的可访问性。
  4. 框架无关:可与任何前端框架无缝协作,具备灵活性和兼容性。
  5. 响应式设计:完全响应式,适应所有设备和屏幕尺寸。
  6. 质量合规:通过自动化测试和安全检查确保可靠、高质量的输出。
  7. 持续更新:样式、设计令牌和组件可随时更新,以适应设计趋势。
  8. 开源代码:代码开源,促进协作、透明创新和经过充分测试的解决方案。

关键功能与设置

  • 主题切换:支持浅色、深色和自动(跟随操作系统)三种主题模式。
  • 文本方向:支持从左到右(LTR)和从右到左(RTL)的文本布局,以兼容不同语言。
  • 文本缩放:为确保可访问性,支持最高200%的文本缩放,并推荐使用 rem 单位以实现统一缩放。
24. Amber: Smalltalk for the Web (amber-lang.net)

Amber 是一种受 Smalltalk 启发的新语言和实时环境,专为 Web 设计,旨在让客户端开发更快速、更轻松。它包含一个完整的实时开发环境,提供类浏览器、工作区、单元测试运行器、转录、对象检查器和调试器等功能。Amber 本身是用自身编写的,包括其编译器,并将代码一对一映射到高效的 JavaScript,确保与 JS 生态系统的无缝兼容。

用户反馈表明,Amber 结合 Silk 等工具使 Web 编程变得有趣,例如用于构建 covidcrt.uber.space 网站;另一用户则利用 babylon.js 进行 WebVR 开发,强调实时开发的优势,如无需重启即可在 VR 头盔中修改方法。

Amber 的核心优势在于其真正的实时增量开发环境,允许开发者在浏览器中交互式构建应用程序,提升生产力。它选择 Smalltalk 方言是因为该语言在清晰度、简洁性和人类友好性方面表现卓越,作为一种纯面向对象语言,具有成熟的语法和语义。此外,Amber 能与外部 JavaScript 世界无缝交互,透明地评估 JS 对象方法,便于使用现有库。

入门方式可参考 Git 仓库中的 README 文件。参与社区可通过 Rocket.chat 或 Google Group 进行讨论和寻求帮助;贡献代码可通过在 lolg.it 上 fork 主仓库并发送拉取请求,或提交问题到错误跟踪器。

项目鸣谢:感谢创始人 Nicolas Petton,支持者 VAST 为开源贡献者提供免费许可以及在注重隐私的 Brave 浏览器上进行开发。

26. Are roads the biggest driver of ecological destruction? (ryanblakeley.net)

404 错误页面摘要

该内容是一个技术性的错误页面,来自GitHub Pages,指示请求的文件未找到。其目的是通知用户文件访问失败,并提供诊断和解决建议。

主要点

  • 错误代码:404,表示“File not found”(文件未找到)。
  • 原因:网站在指定地址的配置中不包含请求的文件。
  • 解决建议
  • 参考信息:建议用户阅读完整文档以了解有关使用GitHub Pages的更多信息。
  • 状态链接:提供GitHub状态页面链接,用于监控服务状态。

结构和关键功能

  • 结构:页面简洁,包括错误描述、原因说明、操作建议和外部资源链接。
  • 关键功能:帮助用户快速识别文件访问问题的原因,并通过具体步骤(如检查文件名大小写、权限和文件提供)进行排查,同时引导用户参考官方文档获取更详细指导。该错误页面是GitHub Pages的标准响应,用于提升用户体验和问题解决效率。
27. Book of Kells (2018) (www.worldhistory.org)

《凯尔经》(约公元800年)是一部泥金装饰手抄本,内容为基督教新约四福音书,现藏于爱尔兰都柏林三一学院。它是中世纪最具盛名的泥金手抄本,以其插图的复杂、精细与宏伟而著称。该书被视为祭坛展示品而非日常使用之物,因为其艺术性显然优先于文本准确性。

其书法之美、福音书作者肖像及其他图像常配以繁复的凯尔特结纹饰,数百年来备受赞誉。学者托马斯·卡希尔指出,其插图甚至让12世纪的杰拉德斯·坎布伦西斯感叹“此乃天使之作,非凡人所为”。《凯尔经》不同于其他先写后绘的手抄本,其创作者更注重视觉冲击力,因此艺术创作成为核心。

起源与目的
该书由苏格兰艾奥纳岛的圣科伦巴修会修士制作,具体创作地点存在争议,理论包括艾奥纳、爱尔兰凯尔斯或英国林迪斯法恩。它很可能在艾奥纳部分完成,后为躲避维京人袭击(795年起)而移至凯尔斯。806年艾奥纳遭袭后,幸存修士撤往凯尔斯,《凯尔经》可能随之转移并在爱尔兰完成。它常被误认为圣科伦巴(521–597)所有,但实际创作于约800年后,出自其修会晚期成员之手。

该书被誉为中世纪最伟大的泥金手抄本,其艺术成就可能与制作目的相关。学者认为它虽用于弥撒仪式,但很可能主要向会众展示而非直接诵读。其文本常显草率、错误频出,似为插图附庸。当时牧师已熟记经文,只需手持书本背诵即可。

外观与内容
该书尺寸为33×25厘米,使用犊皮纸,以多色墨水书写岛国字体拉丁文,配以彩绘图像。内容包括马太、马可、路加福音全篇及约翰福音部分章节,附索引、摘要和注释。原始封面镶有金玉,1007年被盗时脱落,导致首尾部分页码丢失,约翰福音可能因此残缺。亦有证据表明该书实为未完成之作,存在空白页和缺失插图。三位匿名抄写员(今称A手、B手、C手)参与制作,多人协作在当时属常见现象。

制作过程
中世纪(5–13世纪)的修士负责从养殖牲畜、加工犊皮到成书的完整流程。抄写员在脚本室工作,该房间仅靠自然光照明,禁止烛火以防火患。制作时先裁剪犊皮纸,划定文字行距并预留插图空间。文本由一位修士用黑墨撰写,另一人校对并添加红蓝标题,最后交由彩绘师绘制图像与金色装饰。

彩绘师需先处理纸面,用松鼠尾毛制成的笔刷作画,以面包屑擦拭错误。他们通常先将草图转印至页面,依次上色:先涂金箔以营造光泽,再施加其他颜色。未完成手稿与中世纪文献记载共同揭示了这一工艺细节。

历史流传
尽管《凯尔经》的制作方式较为清晰,但其起源地尚无定论,多数学者倾向苏格兰或爱尔兰,其中爱尔兰影响最为显著。早于它百余年的《杜罗之书》(650–700年)展现了相似技法,印证了爱尔兰手抄本传统中对字母形态的创造性探索。

该书806年迁至凯尔斯,1007年被盗后失而复得,可能即12世纪杰拉德斯在基尔代尔所见之作。17世纪克伦威尔入侵期间为避战乱移至都柏林,后由三一学院校友亨利·琼斯主教于1661年捐赠给该学院图书馆至今。1953年为保存之需,该书被重新装订为四卷,其中两卷常设展于三一学院。

2011年凯尔斯镇曾请求归还一卷,但因手稿脆弱且凯尔斯缺乏保管条件遭拒。该书不再外借或供触碰,仅通过复制品供学术研究,真迹则陈列于三一学院展厅,作为中世纪泥金手抄本艺术的巅峰象征。

28. Show HN: A Who is Hiring app with AI filters (bernawil.github.io)

一个带有AI过滤功能的Hacker News招聘应用

该内容展示了一个名为 “Who is Hiring - Hacker News - AI Filters” 的单页面Web应用。其核心是一个基于 React 框架(通过create-react-app创建)的前端应用。

应用结构与技术要点

  1. 基础架构:这是一个标准的单页面应用(SPA)结构。HTML文件主要起加载作用,实际内容由JavaScript动态渲染到<div id="root">容器中。
  2. 技术栈:使用React框架,并已进行了生产环境的优化打包(包括带哈希值的静态资源文件,如main.423dfdf1.jsmain.73547cf1.css)。
  3. 应用特性
    • 目标平台:专注于Hacker News平台上的 “Who is Hiring” 招聘月度帖。
    • 核心功能:提供 AI过滤器。根据应用名称推断,其主要目的是利用人工智能技术帮助用户从海量的招聘评论中筛选、过滤出符合特定条件的职位信息。
    • 离线支持:通过manifest.json和图标资源配置,表明该应用支持渐进式Web应用(PWA)特性,可能具备离线访问或添加到主屏幕的能力。
  4. 用户环境要求:页面明确提示,需要启用JavaScript才能运行此应用。

总结

这是一个面向开发者社区的求职辅助工具。它并非简单的网页镜像,而是一个功能增强型客户端,旨在通过AI技术解决在Hacker News“Who is Hiring”巨量帖中高效查找机会的痛点,为用户提供个性化、智能化的职位过滤服务。

29. BitTorrent Tracker Blocks 'Infringing' Hashes (torrentfreak.com)

BitTorrent追踪器屏蔽涉嫌侵权的哈希值

服务概况

OpenTrackr是一个内容中立的BitTorrent追踪器,每天协调数百万次文件传输。它本身不存储任何文件,也不知晓用户共享的具体内容,仅通过资源密集型过程为请求特定洪流哈希值的用户提供对等节点列表。

技术背景与运营

  • 规模与性能:作为当前使用最广泛的追踪器之一,OpenTrackr自2015年启动,目前协调超过500万个洪流的传输。其峰值连接数可达每秒50万次,每日流量达数太字节,但所有服务仅运行在单台配备AMD Ryzen 9 Pro 3900 CPU和32GB内存的机器上。
  • 运营模式:该服务由运营者Isa独立维护,依靠少量Patreon订阅者支持,已从最初的小型虚拟机发展成为BitTorrent生态系统中重要且可靠的组成部分。

DMCA通知处理机制

尽管追踪器本身不托管侵权文件,但为应对版权方投诉,OpenTrackr接受并处理DMCA下架通知:

  • 通知内容:版权方(如反盗版机构MarkScan)可列出指向潜在侵权内容的哈希值,要求屏蔽。
  • 屏蔽效果:一旦哈希值被屏蔽,追踪器将停止协助相关文件的共享连接。
  • 处理历史:2021至2022年未收到任何通知;过去一年中,MarkScan代表多方权利人共提交了2,990个问题哈希值。
  • 透明度:所有收到的下架请求均被公开披露,包括完整的哈希值列表。

屏蔽内容与原因

  • 涉及内容:被屏蔽的哈希值关联到多种娱乐内容,包括电视剧《奇迹缔造者》《电话销售员》《赢球时代:湖人王朝崛起》等。
  • 法律考量:哈希值本身不直接构成侵权,但权利人可主张追踪器有能力阻止相关传输,故在接到问题报告后必须采取行动。
  • 处理方式:通知中重复的哈希值不计入总数;有效的哈希值将被无限期屏蔽,未来遇到相同哈希值时同样适用。

运营者策略

  • 首要目标:Isa认为避免任何法律问题比质疑潜在过度屏蔽更重要。该服务作为业余项目资源有限,核心目标是确保其长期存续。
  • 权衡取舍:“在数百万活跃哈希值中屏蔽几千个,是值得付出的小代价。忽略我们收到的通知可能损害众多依赖本追踪器的服务,其弊端远大于益处。”Isa表示。
30. Someone was breaking into Orange Spain RIPE account (and break their /12) (benjojo.co.uk)

Orange Spain RIPE 账户入侵事件摘要

事件概述

  • 核心事件:Orange Spain 的 RIPE 账户被入侵,攻击者恶意修改了 RPKI ROA(路由源授权),将受影响的 IP 前缀路由指向 AS49581(Ferdinand Zink trading as Tube-Hosting)。
  • 影响范围:Orange Spain 的 /12 前缀(可能包括其他前缀)遭到破坏,导致受影响的 IP 前缀可达性严重下降,流量中断。

关键细节

  • 受影响前缀:提供了完整列表,涉及大量 IP 地址块,预计造成广泛流量中断。
  • 责任人声称:有人声称对此事件负责,并通过推特(https://twitter.com/Ms_Snow_OwO/status/1742357282917109928)公开承认,相关截图已保存。
  • 修复进展:恶意 ROA 正在被撤回,但截至更新时,仍有部分前缀保留坏的 ROA,包括:
    • 145.1.240.0/20(最大长度:20)
    • 149.74.0.0/16(最大长度:16)
    • 1.178.232.0/21(最大长度:21)
  • 时间线估计:利用 RPKI CRL 文件可以大致估算出事件变更的时间线。

相关评论

  • 安全性质疑:有评论指出 RIPE NCC 的 Access 平台在多因素认证(MFA)选项和可审计性方面存在不足,可能未能提供足够的安全保障。
31. Retrieval Augmented Generation for New Orleans City Council Transparency (eyeonsurveillance.org)

新奥尔良市议会透明度项目 Sawt 摘要

Sawt 是一款基于新奥尔良市议会会议录音训练的开源 AI 助手,旨在为居民提供有关市议会动态的查询服务。其长期目标是开发一个符合伦理、由社区控制的大型语言模型。

当前进展与挑战

项目已公开发布测试版,目前有319个问题被提出,并收到201份反馈。尽管进行了针对性推广,用户留存率较低,表明工具实用性尚不足。改进方向包括:新会议数据实时上传、关键词提醒、扩大数据集、更精准引用。

准确性与用户反馈

通过焦点小组测试,用户对Sawt的回复准确性评分约为3分(5分制)。一个反直觉的发现是:当参考的源文档数量(参数k)较少时,用户认为回复更准确。目前样本量较小,统计意义有限。

技术实现

系统基于检索增强生成(RAG)技术构建:

  1. 数据处理:对原始数据生成嵌入向量,使用FAISS进行检索。
  2. 查询阶段:通过HyDE方法创建嵌入空间,找到最相关文档与查询结合。
  3. 生成阶段:向OpenAI发送结构化提示,强调清晰格式、偏见分析和术语解释,以提高回复质量。

项目背景与意义

新奥尔良市议会在监控技术政策上出现倒退(如废除人脸识别禁令、重启预测性警务),且会议过程缺乏透明度。Sawt旨在帮助志愿者组织“Eye on Surveillance”及市民跟踪议会动态,避免重要决策因信息滞后而被忽视。

未来计划

计划于2024年夏季推出正式版,并继续反思AI偏见问题。项目强调社区所有与运营,欢迎参与年度会议、订阅邮件列表、代码贡献或加密货币捐赠。

捐赠地址

  • BTC: bc1qkseneu5cv9g6u4gpmnlen3q3at59r6sj6kn07q
  • SOL: CawuhzDxyytazxywF942VsLwi4RKEWqryLYDsv4hndNa
  • ETH: 0xAA37b8a54e49e6c61De9904985e2887dfEABBA20
32. Cleaning up my 200GB iCloud with some JavaScript (andykong.org)

本文讲述了作者通过JavaScript脚本清理iCloud存储空间的过程,并发现了一个关于iCloud存储计算的异常现象。

作者因iCloud的200GB存储已满而收到苹果的扩容提醒,但希望避免升级到更昂贵的1TB套餐。由于照片占据了大部分空间,且苹果的照片应用不支持按文件大小排序,作者转向iCloud网页端寻找解决方案。

在iCloud网页版中,作者发现视频元素可以通过HTML类名video-text-badge进行识别。为此编写了一个JavaScript脚本,通过定时器在页面滚动时动态高亮显示时长超过阈值的视频。该脚本在浏览器控制台运行,使用户能快速识别并批量管理大体积视频,便于下载备份后从iCloud中删除。

有趣的是,作者在清理过程中发现了一个存储计算的谜团:删除约7GB的视频后,实际释放了约55GB的iCloud空间。后续实验进一步验证了这一异常:

  1. 上传一个281MB的4K视频后删除,释放了约270MB空间,符合预期。
  2. 删除一个iCloud显示为128MB的旧视频后,实际释放了约170MB空间,而下载到本地的文件仅47MB。

这表明,iCloud存储中某些视频(尤其是较旧的)所占用的空间似乎远大于其实际文件大小,导致删除后释放的空间远超预期。作者对这一现象感到好奇,但未深入探究其根本原因。

最终,作者通过该脚本成功释放了超过50GB的空间,并希望此解决方案能对其他用户有所帮助。

33. Libwa: WhatsApp C Library (github.com)

Libwa:WhatsApp C库

Libwa 是一个快速、轻量级的 C 语言库,用于连接 WhatsApp。其工作方式类似于网页版,需要一台已安装并运行 WhatsApp 应用、且连接到互联网的手机作为支持。

依赖项

该库的正常运行需要以下依赖库:

  • libwebsockets
  • libqrencode
  • libcrypto
  • libjson-c
  • libprotobuf-c
  • libcrypto (OpenSSL)

开发状态

项目目前仍在积极开发中(HEAVY development),欢迎提交 Pull Request。其基于 sigalor 的 whatsapp-web-reveng 项目出色的逆向工程工作。

目标

该库旨在为构建客户端提供一种简单的方式。例如,可以开发一个 bitlbee 插件,将 WhatsApp 作为可用的协议添加到 IRC 中。

当前功能

目前,该库支持发送和接收私人文本消息。暂不支持照片、其他媒体或群聊消息。

内置客户端 wac

库提供了一个内置客户端程序 wac

  • 它从标准输入读取内容,并将每一行作为消息发送给指定的接收方。
  • 收到的消息将显示在标准输出中。
  • 手机号码需指定为以下格式:<国家代码><手机号>@s.whatsapp.net
    • 示例:西班牙的号码 666666666 应表示为 34666666666@s.whatsapp.net

使用示例

  1. 交互模式
    % PHONE=34666666666@s.whatsapp.net
    % wac $PHONE
    Hi, do you read me? # 用户输入
    Yes! # 用户输入
    
  2. 通过管道发送消息
    % echo "Hi from the command line" | wac $PHONE
    
  3. 获取远程Shell(利用管道和重定向):
    % mkfifo fifo
    % wac $PHONE < fifo | bash > fifo
    
34. "Anna's Archive" Shadow Library Blocked Following Publishers' Complaint (torrentfreak.com)

意大利屏蔽影子图书馆“Anna's Archive”
“Anna's Archive”自称是“人类历史上最大的真正开放图书馆”,但在2023年12月遭意大利出版商协会(AIE)版权投诉后,被监管机构AGCOM下令立即屏蔽。

  • 网站背景:该平台于2022年11月由“Anna Archivist”创立,镜像了Sci-Hub、Libgen、Z-Library等多个影子图书馆资源,提供约2550万本书籍和9940万篇论文。
  • 投诉方:意大利出版商协会代表了该国90%的出版市场,指控网站非法传播数千部受版权保护的作品,并列举了30本书籍作为样本。
  • 调查与屏蔽:意大利数字服务局调查确认侵权内容可访问,并将网站关联至乌克兰托管商Epinatura LLC。监管机构认定“严重大规模侵权”,要求ISP通过DNS封锁域名annas-archive.org,限制在48小时内生效。
  • 后续措施:封锁令涵盖“网站所有未来域名”,但网站仍可通过annas-archive.gs、annas-archive.se等替代域名访问。运营方表示无意上诉,建议用户使用VPN或TOR绕过屏蔽。

(注:摘要基于文章内容,未添加个人观点或外部信息。)

35. How Japan Airlines crew led 367 passengers to safety from a burning plane (www.reuters.com)
36. 30 Years of Decompilation and the Unsolved Structuring Problem: Part 1 (mahaloz.re)

本文探讨了反编译研究30年的历史及其未解决的控制流结构化问题(第一部分)。核心内容如下:

反编译的三大支柱 作者基于Cifuentes 1994年的开创性工作,指出反编译建立在三个基础上:控制流图恢复与提升、变量恢复(包括类型推断)、以及控制流结构化。后者负责将控制流图转换为高级语言的控制结构。

早期工作与黑客反编译器

  • Cifuentes的方法通过匹配图式(graph schema)来识别结构,但输出代码粗糙,常依赖while循环和goto来保证作用域正确。
  • 黑客社区随后开发了诸多反编译器,其中IDA Pro(及其HexRays反编译器) 在2007年发布并成为主流。同年,开源反编译器Reko也出现了。其他如Snowman、fcd和Binary Ninja也在2015年前后出现。Ghidra则是在2019年由NSA开源,为研究提供了重要基础。

学术研究的缓慢进展

  • 学术界对反编译的研究始于2011年,并在2013年出现了里程碑式论文 “Phoenix” ,它是首个发表在顶级安全会议上的反编译控制流结构化算法。
  • 然而,随后的二十年里,反编译(尤其是控制流结构化)领域的顶级学术论文数量极少。作者统计发现,自2000年以来,顶级四大安全会议上仅有约8篇论文直接改进或研究二进制反编译,其中仅4篇专注于控制流结构化
  • 进展缓慢的主要原因包括:缺乏可开发、可扩展的开源反编译器基础,以及研究者往往需要从头构建整个反编译工具。

总结 反编译社区有所发展,但速度远不及其他领域。尽管在机器学习恢复符号、人因研究等方面有进展,控制流结构化问题本身仍未被充分解决,仍面临诸多挑战。本文为第二部分(将深入探讨现代结构化技术、其局限性及未来方向)奠定了基础。

37. Llama2-shepherd a CLI tool to install multiple implementations of the llama2 (github.com)

llama2-shepherd 工具摘要

llama2-shepherd 是一个命令行工具,旨在快速管理和实验多种不同的 llama2 推理实现。该项目起源于 Andrej Karpathy 的 llama2.c 项目,汇聚了来自社区的广泛贡献。

主要功能与生态系统

该工具的核心价值在于它聚合并允许用户轻松访问以下多样化的 llama2 实现:

  • 广泛的编程语言支持:涵盖了 Rust, Go, C++, JavaScript, Zig, Julia, Scala, Java, Kotlin, Python, C#, Dart, Fortran, Mojo, OCaml 等众多语言的实现。
  • 跨平台与特定环境:包括 Android 移动端、Web/WebAssembly 浏览器端、CUDA GPU 加速版本,以及一个 Bilingual(双语)版本。
  • 社区驱动:列表中的39个项目由众多开发者(如 @tairov, @trholding, @gaxler 等)独立贡献和维护,形成了一个丰富的生态系统。

使用方法

该工具通过 Python 命令行提供以下核心操作:

  1. 列出可用选项

    python3 llamashepherd/main.py list [语言]
    

    此命令显示所有可用的 llama2 实现。可选参数 [语言] 用于按特定编程语言进行筛选。

  2. 交互式安装

    python3 llamashepherd/main.py install
    

    此命令引导用户交互式地选择并安装所需的 llama2 实现版本。

  3. 初始化模型

    python3 llamashepherd/main.py models
    

    此命令用于下载和配置所需的 TokenizerTinyLlama 模型文件,为运行推理做好准备。

许可证

该项目基于 MIT 许可证 发布,是一种宽松的开源许可。

38. We are turning into subscription slaves (2023) (medium.com)

哲学家大卫·布伦特(Gwilym David Blunt)认为,任何关注个人自由和人类自主性重要性的人都应该感到警惕,因为我们正在变成“订阅奴隶”。

文章通过一个思想实验阐述其核心论点:在不久的未来,一家公司提供替代失明的电子义眼,但购买方式并非传统所有权,而是订阅服务。订阅条款允许公司收集用户的位置、观看内容、浏览记录及视线停留数据,并据此向第三方出售,还会向用户视觉中植入广告,影响其感知现实。这迫使用户在“失明”与“接受感知操纵”之间做出选择。

作者指出,这种看似反乌托邦的情景已是我们当下的现实。我们通过智能手机、流媒体和社交媒体向算法提供数据,算法再基于这些数据为我们推荐内容。随着这些技术成为参与社会的必需品,选择退出(opt out)的代价变得难以承受。

订阅服务的普及是大型科技公司调节我们社会和经济生活的一种方式,一些人(如扬尼斯·瓦鲁法基斯)将此称为“技术封建主义”。这一体系取代了资本主义,其核心是通过对资源使用收取租金(而非通过创新获取利润)来提取价值。

作者认为,订阅服务和技术封建主义以几种方式削弱了我们的自由:

  1. 将所有权变为使用许可:这不仅关乎媒体内容,更可能延伸到基本服务。美国农民与约翰迪尔公司的案例(公司通过软件锁定迫使农民只能从授权维修商处服务拖拉机)表明,所有者可能沦为承租人,且服务条款可被单方面修改。
  2. 操纵我们的选择:我们为使用服务支付的“数据租金”(实质上是无偿劳动)被输入算法,我们的数字身份被商品化并反馈给我们。这一过程并非中立,社交媒体助长了阴谋论、不健康的审美观等现象,这是在利用任意权力塑造我们的偏好和共享社会,以符合大型科技公司的底线。

作者援引自由的定义——免受任意干涉。订阅模式使我们像奴隶一样依赖于所有者的任意意志,而即便这种权力未被行使,我们的选择也始终依赖于他人的许可。

最后,作者认为这些力量看似不可撼动,但历史可鉴(例如封建主义在近代早期曾同样看似无法动摇)。他提出需要一种“数字共和主义”,以承认权力的现实,但使其非任意化并最终由受影响的人民控制。第一步是收回个人数据及其使用的控制权,正如文艺复兴共和国的市民拒绝封建领主对其人身的控制一样,我们也必须拒绝“技术封建领主”对我们数字身份的控制。

39. The Quadrantid meteor shower 2024 peaks tonight alongside a bright moon (www.space.com)

象限仪座流星雨2024摘要

基本信息

象限仪座流星雨是每年一月初最强烈的流星雨之一,峰值持续时间短,仅几小时。其辐射点位于牧夫座东北角,但名字源自已废弃的星座“Quadrans Muralis”(墙象限仪星座),该星座由J.J. Lalande于1795年创立以纪念天文仪器。流星雨由Adolphe Quetelet在1830年代发现并命名,尽管该星座已不存在,名称仍沿用至今。

母体来源与特征

流星雨母体可能是小行星2003 EH1,它可能是彗星C/1490 Y1的残骸;彗星96P/Machholz也可能贡献流星物质。在最大活动期,每小时可报告60至120颗流星,但流星流狭窄,峰值前后六小时速率减半,呈现蓝色调。

2024年观测时间与条件

  • 峰值时间:2024年峰值预计在美国东部时间1月4日凌晨4点或太平洋时间凌晨1点,对北美洲大部分地区有利。
  • 最佳观测期:从中纬度地区看,需在黎明前观测,辐射点在东北天空逐渐升高。东部地区优势更大,辐射点位置更高;西部地区则较低。
  • 月光干扰:2024年月相为下弦月,在峰值前六小时出现,亮月会抑制较暗流星可见度。预计东部地区每小时可见20-30颗流星,西部约12颗。

观测建议

  • 设备与技巧:使用望远镜或双筒望远镜可增强观测;参考天体摄影指南拍摄流星雨。
  • 舒适与安全:流星观测常在寒冷中进行,需保暖(如热饮),并与朋友同行以扩大观测范围。
  • 天气因素:当地天气可能影响观测,需选择晴朗黑暗天空。

作者Joe Rao是纽约海登天文馆讲师和资深天文学家,为多家出版物撰写天文学文章。

40. Unintended electromagnetic radiation from Starlink satellites (www.aanda.org)

摘要

本文报告了使用LOFAR射电望远镜对SpaceX Starlink星座68颗卫星的观测,发现在远低于其正常通信频段(10.7–12.7 GHz)的110–188 MHz频段内检测到了电磁辐射。这些辐射包括覆盖整个观测带宽的宽带特征,以及位于125、135、143.05、150和175 MHz的窄带发射(带宽<12.2 kHz)。

主要发现与信号特性

  1. 信号差异与来源

    • 宽带和窄带特征的存在与特性因卫星轨道高度不同而异(550公里运行高度 vs. 350公里升轨高度),表明其硬件版本或运行状态可能存在差异。
    • 在143.05 MHz的窄带信号被归因于法国GRAVES空间监视雷达的反射信号。
    • 47颗卫星(68颗观测卫星中的大多数)在其他频率上检测到的宽带及窄带特征,其信号特性表明这些辐射是卫星自身固有的(无意电磁辐射,UEMR)
  2. 辐射强度

    • 观测到的辐射等效功率通量密度范围为:宽带辐射0.1至10 Jy,部分窄带辐射高达10至500 Jy。
    • 将其等效为电场强度(在10米距离、120 kHz测量带宽下),最高可达49 dB [µV m⁻¹]

潜在影响与监管考量

  1. 对射电天文学的威胁

    • 研究对Starlink第一阶段全星座及其他卫星星座进行了等效功率通量密度模拟,评估其在国际电信联盟(ITU)分配的一个射电天文频段(150.05–153 MHz)内符合监管限值所需的最大辐射水平。
    • 模拟与观测结果表明,大型低地球轨道卫星星座产生的UEMR,即使在远离其通信频段的射电天文保护区,也可能构成有害干扰。由于UEMR通常是非定向、接近各向同性的,难以通过波束规避进行防护。
    • 现有法规主要针对有意发射(如通信信号及其杂散发射),而对卫星的无意电磁辐射(UEMR)缺乏明确的国际监管要求。卫星制造过程中虽有电磁兼容性(EMC)测试,但其标准主要旨在保护卫星内部子系统,而非避免对外部第三方活动(如射电天文)造成干扰。
  2. 结论与呼吁

    • 论文认为,卫星运营商和监管机构应将卫星UEMR及其表面的信号反射纳入监管流程的考虑范围。
    • 呼吁卫星运营商与天文界开展对话,以理解卫星电气特性和操作程序对射电天文的影响,并探索缓解措施。随着数以万计的低轨卫星计划发射,若不加以妥善考虑,可能形成一个泄漏到天文观测中的人造“无线电光”球体,导致部分天文观测无法进行。

关键词:光污染、空间飞行器、望远镜、巡天。

41. Sparkey: A simple constant key/value storage library (github.com)

Sparkey 是一个简单的常量键值存储库,主要适用于读取密集型系统和不频繁的大批量插入场景。它包含用于处理索引和日志文件的 C 库(libsparkey)以及相应的命令行工具。

主要特性与设计目标:

  • 支持高达 2^63 - 1 字节的数据大小。
  • 提供迭代、获取、放置、删除操作,针对批量写入进行了优化。
  • 采用不可变哈希表,允许任意数量的并发独立读取,但每个存储单元仅允许一个写入器。
  • 读取启动开销恒定,平均每次读取仅需少量磁盘寻址。
  • 支持块级压缩(使用 Snappy),且数据无关,仅将字节数组映射为字节数组。
  • 其设计目标是提供接近 CDB 和 Tokyo Cabinet 的随机读取吞吐量、高吞吐量的批量写入、低开销以及高数据容量限制。它并非分布式键值存储,也不具备强大的数据损坏恢复能力。

文件结构与存储机制: Sparkey 在磁盘上使用两个文件存储数据:

  1. 日志文件(.spl):仅追加的键值对序列,包含类型、键和值。不支持中间修改和多写入器。
  2. 哈希文件(.spi):一个指向日志文件中条目的不可变哈希表。该文件通常在批量追加完成后更新。

随机查找过程:首先在哈希表中定位条目,然后在日志文件中寻址到对应偏移量。对于冷磁盘缓存,平均每次访问需要两次磁盘寻址;若将索引文件锁定在内存(mlock)则可减少为一次。

哈希查找算法: 该算法类似 Robin Hood 哈希的向后偏移删除法。它通过跟踪并最小化哈希表中条目的最大“位移”(即从计算出的理想槽位到实际槽位的步数)来优化查找。查找时,如果遇到位移大于当前查找键位移的条目即可提前终止搜索,从而提升效率。哈希表头中存储的最大位移为查找提供了上界。

压缩支持: Sparkey 支持使用 Google Snappy 进行块级压缩。日志文件内容被分割成独立块进行压缩。压缩可以减少文件体积(尤其当相邻条目存在大量冗余数据时),但会增加查找时的解压开销,需要根据用例在压缩比和查找成本间权衡。

性能与限制: 性能测试显示,Sparkey 在批量插入和随机查找上均能达到较高的吞吐量。启用压缩后文件体积显著减小,但查找吞吐量有所下降。 主要限制:哈希写入过程需要分配约(条目数 × 16 × 1.3)字节的内存,可能在写入大量条目时导致内存不足(此限制在 Java 版本中已移除)。

生态系统与构建: 提供官方 Python 和 Java 绑定/实现,以及多个非官方的社区绑定(Ruby, Node, Go, Rust)。构建依赖于 GNU 构建系统和 Snappy,可通过标准 autoreconf./configuremake 流程进行编译安装,并支持使用 Doxygen 生成 API 文档。

43. Show HN: Imgsrc – Generate Beautiful Open Graph Images (imgsrc.io)

Imgsrc 是一个用于生成精美 Open Graph 图片的工具,它提供了一系列自定义模板属性,方便用户根据需求调整图片。

主要功能与属性自定义:

  • 内容定制:支持设置图片的标签(Tag)、标题(Title)、Logo 和主图像。
  • 背景设置:可以为图片选择自定义背景,支持渐变方向调整,并可叠加网格效果
  • 特效参数:提供如新噪点等效果,强度可调整(例如0.15)。

版本与限制:

  • 免费版:使用时会带有水印,且有 API 配额限制。
  • 付费计划:可移除水印提高 API 配额

导出功能:

  • 用户可以将最终生成的图像导出为 PNG 格式

附加信息:

  • 工具内提供了了解更多 Open Graph 标签的学习链接。
44. Turtles, a Shelly/Zigbee home automation tool in Elixir (joisig.com)

Turtles 项目简介
Turtles 是一个用 Elixir 编写的家庭自动化工具,主要用于控制通过 Shelly Wi-Fi 调光器和 Philips Hue 桥接器管理的灯光。项目目标是提供一个轻量、可定制的本地控制系统,但功能相比 Home Assistant 等平台较为有限。

开发背景
作者在房屋翻新后,因同时使用 Shelly Wi-Fi 调光器和无名 Zigbee 调光器,希望实现统一控制。在评估 Home Assistant 等现有方案后,出于对完全控制权和可定制性的需求,决定自行开发 Turtles。

技术实现

  • 使用 Elixir 语言和 Phoenix 框架开发,代码结构简单。
  • 支持两种设备类型:
    1. Shelly 调光器:通过局域网 IP 直接通信。
    2. Philips Hue 桥接器:通过 SSDP 发现设备(因 Hue 桥接器 MAC 地址可能变化)。
  • 配置需在 tconfig.secret.exs 文件中定义设备区域、调光器信息(包括类型、IP 或 Hue 唯一 ID)及桥接器凭证。

安装与使用

  • 获取源码后,通过 asdf 安装依赖,配置设备信息。
  • 运行命令 iex -S mix phx.server 可在开发模式下启动,建议在局域网内始终开启的设备(如旧 Linux 电脑)上通过 screen 会话运行。

功能与界面

  • 提供 Web 界面,支持灯光控制、场景创建和管理。
  • 当前功能包括:
    • 按区域分组控制灯光。
    • 创建场景(保存当前灯光状态)。
    • 删除场景(计划未来增加重排序和重命名功能)。

局限性
项目专注本地 Wi-Fi 控制,功能较简单,适合喜欢动手修改的用户,但不适合需要广泛设备集成或高级自动化的场景。

45. Asian Arowana: The most expensive pet fish (thehustle.co)

亚洲龙鱼:世界上最昂贵的观赏鱼

亚洲龙鱼是一种原产于东南亚黑水河流和沼泽的淡水鱼。由于栖息地减少,其野生种群数量下降,《濒危野生动植物种国际贸易公约》(CITES)于1975年将其列为濒危物种,旨在禁止商业贸易。然而,这一措施意外地将其推上了奢侈品神坛。

从食物到奢侈品的转变

  • 稀缺性催生需求:CITES的保护评级反而赋予了亚洲龙鱼“限量版奢侈品”的光环,刺激了黑市贸易。最初,走私者将其从马来西亚偷运至台湾、日本,成为极道组织(Yakuza)的炫富商品。
  • 文化寓意:在中国市场,龙鱼因闪亮鳞片、长须和威猛外形被称为“龙鱼”,被赋予带来财富、好运甚至驱邪避灾的灵性寓意,备受商业巨头和风水爱好者追捧。
  • 养殖合法化:为遏制走私,CITES允许东南亚养殖场进行合法人工繁殖和销售。但市场并未如预期般饱和,反而在数十年内催生了印度尼西亚和马来西亚的数百个养殖场,使野生龙鱼几乎消失。

产业现状与价格

  • 养殖规模:以印度尼西亚PT Munjul Prima Utama公司为例,其拥有约7000条种鱼,每年销售约1000条,年收入约300万美元。价格因颜色、血统、鳍型和头型差异巨大,从1200美元至5500美元不等,极品个体可售3万至30万美元。
  • 品种繁多:包括超红、24K金、铂金、红尾金、紫焰超红等人工选育品种,满足不同审美需求。
  • 产业链:养殖场常将鱼批量卖给各国经销商。例如,英国经销商在马来西亚建立养殖池,繁殖后运回本国销售。亚洲龙鱼寿命可达25年以上,投资回报周期长但利润可观。
  • 美容行业:中国甚至衍生出“鱼美容师”职业,为龙鱼进行眼部提拉(90美元)、下巴整形(60美元)等手术,以迎合主人对“完美品相”的追求。

市场竞争与风险

  • 激烈竞争:行业充斥欺诈、仿冒、盗窃甚至谋杀。养殖场常需配备围墙、铁丝网、瞭望塔和看门犬加强安保。
  • 全球需求:主要市场从亚洲扩展至欧美等地。爱好者通过Facebook群组、论坛等社区交流养殖经验。

美国的非法黑市

  • 法律禁止:根据《濒危物种法》,亚洲龙鱼在美国境内进口、销售和持有均属违法。
  • 走私活动:尽管如此,地下交易依然存在。走私手段包括将鱼藏于陶瓷壶中通过快递寄送,或藏于行李箱偷运入境。过去十年,美国鱼类和野生动物管理局破获多起案件。
  • 利润与风险:走私者常以每条412美元从亚洲购入,在美售1900美元,利润率高达78%。违法者通常面临缓刑和5000至15000美元罚款,但相对于潜在收益,许多人仍铤而走险。
  • 隐秘网络:交易通过加密通讯软件进行,买卖双方清楚法律风险。例如,2017年加州查获的肖恩·李走私案中,其与印度尼西亚卖家即通过短信密谋。

总结

亚洲龙鱼的故事是一个关于稀缺性、文化象征、经济利益与法律监管交织的典型案例。它从东南亚沼泽的普通食用鱼,转变为全球水族爱好者梦寐以求的奢华宠物,催生了合法养殖产业与非法黑市并存的复杂生态系统,其背后是人类对独特审美、身份象征和财富寓意的不断追逐。

46. The Curious Case of MD5 (katelynsills.com)

MD5在法律领域应用的争议

核心现象

文章指出一个矛盾:国际刑事法院和美国法律及取证社区仍在使用MD5算法来哈希电子证据,尽管MD5自2008年起就被密码学界明确认定为“已被破解且不适合进一步使用”。作者作为软件工程师和应用密码学顾问,对此现象感到困惑并展开探讨。

MD5在法律中的用途

法律界使用MD5等加密哈希函数来解决电子证据管理的三个核心问题:

  1. 正确识别文档:为每份文件生成唯一的“数字指纹”(哈希值)。
  2. 验证副本一致性:确认副本是原件的精确复制。
  3. 检测未授权更改:即使文件只有一个字符被改动,哈希值也会完全不同。 文章以《尤利西斯》整书哈希为例,说明了哈希在检测海量文档变更方面的高效性。

MD5的具体缺陷与法律风险

MD5已被证明存在碰撞漏洞。这意味着攻击者可以相对容易地制造出两个内容不同但拥有相同MD5哈希值的文件。这为法律证据带来了严重风险:

  • 案例一:研究人员曾演示,可以制作一份无害的“推荐信”和一份有害的“安全许可令”,两者的PostScript文件MD5哈希值完全相同。
  • 法律场景假设:对手可能预先准备两份MD5哈希相同但内容迥异的文档。根据需要,可以声称任何一份是具有法律效力的版本,而仅靠MD5哈希值无法区分它们。
  • 更严重假设:在涉及儿童性虐待材料(CSAM)的案件中,如果执法部门只记录了MD5哈希,而嫌疑人提前制作了哈希相同的无辜图片和有害图片,那么仅凭哈希值将无法确定证据性质,必须进行人工检查,这使得哈希的自动化验证目的失效。

关键区别:虽然目前无法对一个指定的、未预设的文件找到另一个相同MD5哈希的文件(第二原像攻击),但碰撞漏洞(制作任意一对相同哈希的文件)本身已构成足够威胁,特别是在对抗性环境(如法庭)中。

法律界的错误认知与原因

作者指出法律界普遍存在误解,例如引用Don L. Lewis的观点,认为MD5只对“加密”有问题,用于“认证”或“标识”则无妨。作者驳斥道:在密码学中,哈希的主要用途正是标识和认证,这与法律用途完全相同,因此该理由不成立。

法律界继续使用MD5的可能原因包括:

  1. 路径依赖:开始使用哈希时就采用了MD5,并延续至今。
  2. 知识隔离:数字取证领域与主流计算机科学脱节,不了解存在更安全的替代算法(如SHA-3、Blake3)。
  3. 文化差异:法律文化不习惯、甚至抵制快速的技术迭代更新。法律条文更新缓慢,而软件安全需要及时修补漏洞。

结论与建议

作者强烈建议法律界停止使用MD5,转而采用美国国家标准与技术研究院(NIST)当前推荐的SHA-3系列算法,或对速度要求高时使用Blake3。同时,作者强调法律界需要适应技术文化的更新节奏。只有采用真正安全、无已知漏洞的哈希函数,法律实践才能完全获得哈希技术带来的可靠识别、验证和完整性保障。

47. A Visit to the Museo Nacional de Antropología, Mexico City (2023) (johnhawks.net)

墨西哥城国家人类学博物馆访问摘要

文章描述了作者于2023年访问墨西哥城国家人类学博物馆的经历,主要参加在此举行的XXII届Juan Comas国际体质人类学研讨会。

博物馆概况

  • 历史与结构:博物馆于1964年开放,展览空间包括十二个画廊,专注于墨西哥各地区的考古学和民族志。建筑围绕中央庭院,设有一座大型柱状喷泉“El Paraguas”(伞),水流从柱子顶端持续流下。
  • 展览布局:考古画廊分布在地面层,展示墨西加(阿兹特克)、玛雅、特奥蒂瓦坎等文明;第二层为文化展览。

主要展览亮点

  1. 墨西加画廊

    • 太阳石(Sacrificial Altar):由玄武岩单石雕刻,代表当前世界创造和四个前世毁灭,是国家象征。
    • Cōātlīcue雕像:高2.5米以上,描绘蛇裙女神,象征月亮、星辰的诞生和战神之母。
    • 其他展品包括头骨雕像,反映墨西加人类牺牲的重要性。
  2. 特奥蒂瓦坎画廊

    • 大型重建:包括羽蛇神庙的一部分,配有色彩还原和隧道展示骨骸。
    • Mictlāntēcutli圆盘:发现于1963年,代表墨西加死神,体现该城的持续宗教影响。
    • 小型关节人偶和细节展品,如蒂卡尔城31号石碑复制品,记录特奥蒂瓦坎对玛雅的影响。
  3. 玛雅画廊

    • 重建帕伦克统治者K'inich Janaab' Pakal的墓葬。
    • El Friso de Placeres浮雕:8米长灰泥浮雕,1960年代被盗至美国后于1969年归还,经修复展示。
    • 石碑和立体雕像,记录玛雅历史和统治者肖像。
  4. 其他文明展品

    • 奥尔梅克巨石头像:来自墨西哥东部海岸,制作于公元前1500-400年。
    • 各地区风格展品:从写实雕塑到抽象表现,材料包括灰泥、石头、骨头和木材。

人类起源部分

  • 展览涵盖人类进化和美洲早期考古,包括人类化石模型的系统展示。
  • “Las razas y la cultura”壁画:由Jorge González Camarena创作,描绘全球人类多样性,背景为人类文化文物。
  • “Lucy”(南方古猿阿法种)木雕:表现母亲哺乳婴儿,结合艺术重建。

博物馆功能与印象

  • 博物馆不仅是展览场所,也是研究机构,设有地下层用于研究、存储和保护。
  • 作者对展品丰富性、专业工作人员和研究设施印象深刻,强调其作为世界顶级博物馆的地位。
48. Why Unix's lseek() has that name instead of seek() (utcc.utoronto.ca)

本文是网站管理员Chris Siebenmann发布的一则访问限制通知,旨在解释为何部分用户在访问其博客“Wandering Thoughts”或关联的CSpace维基时会遇到拦截。

主要原因是自2025年初起,网站遭受大量高强度爬虫的访问,这些爬虫行为疑似用于收集训练大型语言模型(LLM)的数据。为减轻服务器负载,管理员尝试拦截所有使用过于通用或可疑HTTP User-Agent头的请求。

通知明确提出了对User-Agent头的要求:

  • 所有User-Agent头都应清晰标识自身身份。
  • 对于非浏览器用户代理,必须同时标识所使用的软件以及具体使用者。
  • 拒绝接受如“Go-http-client/1.1”这类过于通用的标识。
  • 对于包含“compatible”等兼容性描述的User-Agent,必须附带一个指向其活动或软件具体说明的URL。仅包含如“Mozilla/5.0 (compatible; mysoftware)”这样最小化且无实质描述的标识是不被接受的。

该通知由Chris Siebenmann于2026-04-18发布。

49. Self-Play Fine-Tuning Converts Weak Language Models to Strong Language Models (arxiv.org)

SPIN: 自对弈微调方法

该研究提出自对弈微调(SPIN) 方法,旨在无需额外人工标注数据的情况下,通过自对弈机制将弱语言模型提升为强语言模型

核心方法与机制

  • 基本流程:以经过监督微调(SFT)的模型为起点,采用自对弈机制持续优化模型。
  • 自对弈过程
    1. 模型基于前一迭代版本生成训练数据。
    2. 当前模型通过学习区分自生成的响应与人类标注数据中的响应,来优化自身策略。
  • 目标:充分利用现有高质量的人工演示数据,逐步将模型从初始状态提升至强大水平。

理论支持

  • 研究证明,当且仅当模型策略与目标数据分布对齐时,该方法训练目标函数的全局最优解才能达到。

实验效果

  • 评估基准:在 HuggingFace Open LLM Leaderboard、MT-Bench、Big-Bench 等多个数据集上进行测试。
  • 关键结果
    • 显著提升了模型在多项基准测试中的性能。
    • 性能超越了采用额外GPT-4偏好数据进行直接偏好优化(DPO)训练的模型。
  • 意义:这表明自对弈机制有望在无需专家对手的情况下,推动语言模型达到人类水平表现。

其他信息

  • 研究代码已开源。
  • 论文自2024年1月至6月经历了多次版本更新。
50. How Severe Are China's Demographic Challenges? (chinapower.csis.org)

中国正面临严峻的人口挑战,其人口下降和老龄化速度快于全球多数国家。2022年人口首次下降,2023年印度超越中国成为世界第一人口大国。这些变化源于长期的人口控制政策,并对经济与社会构成深远压力。

驱动因素:

  • 20世纪70年代起推行“晚稀少”政策,随后实施独生子女政策(1980年),严格限制生育。
  • 这些政策导致生育率急剧下降(从1970年的6.1降至2020年的1.3),远低于维持人口稳定的2.1更替水平。
  • 政策执行过程中出现强制堕胎等争议,并引发严重的性别失衡(男性比女性多约3000万)。
  • 尽管2013年后逐步放开生育限制(如全面二孩、三孩政策),但效果不彰。高昂的育儿成本、房价及疫情等因素进一步抑制了生育意愿。

主要挑战:

  1. 人口下降与老龄化加速:人口预计到2050年减少逾1亿,老龄化程度迅速加深。老年抚养比(65岁以上人口/15-64岁人口)预计将从当前水平升至2050年的近52%,2080年代可能达90%。
  2. 经济影响:劳动力人口减少将削弱经济增长动力,推高制造业工资,降低生产率。中国经济长期依赖的“人口红利”正逐渐消失。
  3. 社会压力:传统家庭养老模式(养儿防老)难以为继,养老金和医疗体系面临巨大压力。地方政府在削减福利(如医保)时已引发民众抗议。
  4. 国际对比与竞争:中国老龄化速度快于发达国家,且发生在发展水平较低阶段。与印度相比,中国劳动力人口比例可能下降,制造业或向印度等“人口红利”国家转移。

应对措施与局限:

  • 地方政府推出生育补贴(如济南、杭州),但力度有限。
  • 中央政府在“十四五”规划等文件中强调鼓励生育、完善托育设施和发展养老服务体系,并计划逐步延迟退休。
  • 然而,提升生育率效果有限,且延迟退休等政策面临公众阻力。
  • 关键劣势在于中国缺乏有效的移民输入,这与依靠净移民弥补劳动力缺口的美国等国家不同。

总之,中国面临的人口危机是多重政策与社会经济因素长期作用的结果。其应对努力滞后于挑战速度,且缺乏人口缓冲,未来数十年需在资源约束下艰难平衡代际需求。