Hacker News
Ageless Linux – Software for humans of indeterminate age
Ageless Linux:一个 Debian 衍生操作系统
Ageless Linux 是一个基于 Debian 的操作系统,旨在为年龄不定的用户提供服务,并且拒绝收集用户年龄信息。该项目明确表示,他们故意违反了加州数字年龄保障法案 (AB 1043) 的年龄验证要求。
法律地位
Ageless Linux 认为自己符合 AB 1043 中对“操作系统提供商”的定义,并强调用户运行其转换脚本后,也成为了操作系统提供商。该法案将“应用程序”定义为任何可由用户运行的软件,这意味着 Debian 仓库中的所有 64,000 多个软件包都属于应用程序。
此外,该项目还认为其网站、Debian 的 APT 仓库、AUR(Arch 用户仓库)以及任何托管 .deb 文件的网站都属于“覆盖应用商店”。
核心理念
Ageless Linux 拒绝将用户划分为“儿童”或“成人”的二元划分,认为每个人都是用户,无论年龄如何。该项目认为 AB 1043 的立法目的是为了建立合规基础设施,而不是真正保护儿童。
安装与运行
- 安装 Debian: 首先,从 Debian 项目下载并安装 Debian 操作系统。
- 转换为 Ageless Linux: 运行提供的转换脚本 (
curl -fsSL https://agelesslinux.org/become-ageless.sh | sudo bash),该脚本会修改 /etc/os-release 文件、安装 AB 1043 非合规文档,并部署一个不返回任何数据的年龄验证 API 桩。
Flagrant 模式
Flagrant 模式进一步加强了非合规性,完全移除年龄验证 API,并安装一个明确声明拒绝合规的 REFUSAL 文件。
物理分发
Ageless Linux 鼓励将操作系统直接分发给儿童,例如通过 USB 驱动器或 Raspberry Pi Pico 等设备,进一步挑战 AB 1043 的实施。
挑战与目的
该项目认为 AB 1043 实际上是为了提高小型项目合规成本,使其仅对大型公司有利。他们邀请加州总检察长对他们进行罚款,以明确该法律在现实世界中的含义,并质疑其合理性。
未来计划
Ageless Linux 计划开发一款基于 Milk-V Duo S 的设备,预装 Debian 和 Ageless overlay,并提供一个应用商店,其中包含 Python 学习环境、文本编辑器、游戏等。 所有应用均无年龄验证。
核心观点总结
- 拒绝年龄验证: Ageless Linux 明确拒绝收集用户年龄信息,以对抗加州数字年龄保障法案 (AB 1043)。
- 挑战法律定义: 该项目质疑 AB 1043 对“操作系统提供商”和“覆盖应用商店”的定义。
- 促进开源: Ageless Linux 旨在为小型开源项目提供一个合规的替代方案,避免因法律限制而受限。
- 倡导儿童隐私: 该项目认为真正的儿童安全措施是教育而非技术控制。
|
What happens when US economic data becomes unreliable
美国经济数据面临的挑战与应对
本文探讨了美国经济数据系统所面临的挑战,以及企业领导者应如何应对。美国经济的复杂性需要依赖13个主要统计机构提供劳动力、健康、经济、教育和农业等领域的数据。然而,近年来,政治干预、预算削减以及政府数据调查的回复率下降,对该系统造成了冲击,并导致公众对机构的信任度降低。
当前面临的三个主要挑战:
- 调查回复率下降: 统计机构依赖于对家庭和企业的定期调查来衡量就业、通货膨胀等核心指标,但回复率大幅下降。人们现在更少愿意接听电话或进行面对面调查,导致数据偏差、修订延迟以及统计代表性减弱。
- 资金限制: 劳工统计局和人口普查局等政府机构面临预算削减,限制了其采用新技术和扩大数据收集工作的能力。例如,美国农业部宣布终止一项关于粮食不安全状况的年度调查,这将影响政策制定者和研究人员跟踪美国家庭饥饿状况的能力。
- 政治干预: 解散咨询委员会、解雇统计领导者以及政治化提名等行为,可能不会立即改变数据质量,但会损害透明度和信誉。政府停摆也会对统计机构造成重大影响,因为它们无法收集数据。数据修订是常规操作,但最近受到质疑,被一些人认为是失败或偏见的迹象。
企业领导者的行动建议:
- 谨慎使用私有数据: 私营部门的数据可以作为补充政府数据的一种有用手段,尤其是在调查回复率下降的情况下。虽然私有数据可以作为官方数据的独立来源,并填补政府数据不足的空白,但它无法完全取代官方统计数据,原因包括:
- 覆盖范围: 私有数据无法与官方调查相提并论,尤其是在就业、不平等或小型企业和地方市场生产等复杂衡量标准方面。
- 激励机制: 私有数据通常是为了满足商业需求而产生的,因此可能忽略具有广泛社会价值的领域。
- 透明度: 许多提供商依赖于很少公开详细信息的专有方法,限制了透明度和可复制性。
- 积极发声: 经济数据的完整性是民主治理和市场稳定的重要组成部分。企业应更加积极地发声,抵制政治操纵,尤其是在关税等问题上。
总结:
可靠的统计数据需要投资、机构独立性和公众信任。保护和加强美国的统计系统不仅是为了保存纸上的数字,更是为了保障政策制定者、企业和家庭能够根据对经济现实的共同理解做出明智决策。
(原文中作者信息已省略)
|
How kernel anti-cheats work
现代反作弊系统:技术解析与未来趋势 (现代反作弊系统:技术解析与未来趋势)
现代游戏内核反作弊系统已经发展成为消费者 Windows 机器上最复杂的软件之一。它们运行在软件可用的最高权限级别,拦截内核回调(原本设计用于合法的安全产品),扫描大多数程序员在其职业生涯中从未接触过的内存结构,并且在游戏运行时透明地执行所有操作。本文将探讨这些系统的运作机制,并展望未来的发展趋势。
1. 引言 (Introduction)
1.1 用户模式保护的局限性 (Why Usermode Protections Are Not Enough)
仅使用用户模式反作弊存在根本性问题:信任模型。用户模式进程在环 3 运行,受限于内核的完整权限。任何完全在用户模式中实现的保护都可以被运行在更高权限级别(例如环 0 的内核驱动或更低权限的超管程序)的代码绕过。例如,调用 ReadProcessMemory 检查游戏内存完整性的用户模式反作弊可以被一个内核驱动拦截 NtReadVirtualMemory 并返回虚假数据来击败。
1.2 军备竞赛 (The Arms Race)
反作弊与作弊开发者之间是一场持续的军备竞赛,不断升级。从用户模式作弊到内核作弊,再到内核反作弊,作弊开发者利用签名驱动程序漏洞来获得内核执行权限(BYOVD 攻击),反作弊则采用黑名单和更严格的驱动程序枚举。作弊开发者进一步转向超管程序,在内核之下运行,虚拟整个操作系统。反作弊系统增加了对超管程序的检测。最近,作弊开发者开始使用 PCIe DMA 设备直接读取游戏内存,绕过操作系统,这导致了新的防御措施的开发。
1.3 主要反作弊系统 (Major Anti-Cheat Systems)
- BattlEye: 用于 PUBG、Rainbow Six Siege、DayZ、Arma 等游戏。内核组件为
BEDaisy.sys。
- EasyAntiCheat (EAC): 现由 Epic Games 拥有,用于 Fortnite、Apex Legends、Rust 等游戏。
- Vanguard: Riot Games 的专有反作弊系统,用于 Valorant 和 League of Legends。其内核组件
vgk.sys 在系统启动时加载。
- FACEIT AC: 用于 Counter-Strike 的 FACEIT 竞技平台。
2. 内核反作弊架构 (Architecture of a Kernel Anti-Cheat)
2.1 三层模型 (The Three-Component Model)
现代内核反作弊系统普遍采用三层架构:
- 内核驱动: 在环 0 运行,注册回调,拦截系统调用,扫描内存,强制执行保护。
- 用户模式服务: 作为 Windows 服务运行,与内核驱动通过 IOCTL 进行通信,处理网络通信,管理禁令执行,收集并传输遥测数据。
- 游戏注入 DLL: 注入到(或由)游戏进程加载,执行用户模式侧检查,与服务通信,作为对游戏进程施加保护的端点。
2.2 通信渠道 (Communication Channels)
- IOCTL: 用户模式和内核驱动之间主要的通信机制。
- 命名管道: 服务和游戏注入 DLL 之间的进程间通信。
- 共享内存: 高带宽、低延迟的数据共享。
2.3 启动时与运行时驱动加载 (Boot-time vs Runtime Driver Loading)
- BattlEye 和 EAC: 在游戏启动时加载内核驱动。
- Vanguard: 在系统启动时加载
vgk.sys,提供对所有后续加载驱动的可见性。
3. 内核回调与监控 (Kernel Callbacks and Monitoring)
反作弊系统利用 Windows 内核提供的回调机制来监控系统活动。
- ObRegisterCallbacks: 注册回调,在打开或复制进程或线程句柄时触发。
- PsSetCreateProcessNotifyRoutineEx: 注册回调,在进程创建和终止时触发。
- PsSetCreateThreadNotifyRoutine: 注册回调,在线程创建和终止时触发。
- PsSetLoadImageNotifyRoutine: 注册回调,在图像(DLL 或 EXE)映射到任何进程时触发。
- CmRegisterCallbackEx: 注册回调,用于监控注册表操作。
4. 内存保护与扫描 (Memory Protection and Scanning)
- 句柄访问控制: 通过
ObRegisterCallbacks 剥夺进程打开游戏进程句柄的权限。
- **周期性内存完整性
|
Rack-mount hydroponics
服务器机柜水培种植指南总结 (Summary of Growing Plants in a Server Rack)
本文记录了作者将多余的服务器机柜改造成水培种植系统的经历,旨在作为他从计算机转向农业的过渡步骤。
核心概念:
- 系统类型: 采用“潮汐灌溉”(Flood and Drain / Ebb and Flow)水培系统,通过定期用富含营养液淹没种植托盘来为植物提供水分和养分。
- 基本原理: 植物种植在生长介质(例如岩棉、珍珠岩、粘土球)的塑料或布制花盆中。这些花盆放置在托盘中,托盘由水泵从储水箱抽取营养液进行定期淹没。
- 系统组件: 储水箱、种植托盘、营养液、水泵、植物(网盆)、曝气器、气石、溢流排水口、进水口、水管、光源。
所需材料清单:
- 服务器机柜: 最好是闲置且来源不明的机柜。
- 生长灯: 选择快速到货的型号。
- 机架层板: 从网络设备商店购买。
- 储物箱: 用于作为储水箱和种植托盘,推荐 Sterilite 品牌。
- 曝气器、气石和管材: 用于水体氧气化。
- 潮汐灌溉套件: 包括进水口和可调节高度的排水口。
- 水管和配件: 包括弯头、三通、连接器等。
- 潜水泵: 用于将营养液输送到种植托盘。
- 定时开关: 可以使用旧的 PDU、定时器开关或 Wi-Fi 中继器 (例如 Shelly)。
- 塑料网盆、塑料托盘和生长介质。
组装步骤:
- 在储水箱盖子上钻孔,用于水管、电源线、排水管和曝气管。
- 在种植托盘底部钻孔,用于安装潮汐灌溉套件。
- 安装层板,并悬挂生长灯。
- 将储水箱和种植托盘放置在层板上。
- 连接水泵、曝气器和水管。
种植过程:
- 先用岩棉育苗,等待幼苗长出后移至网盆中,加入粘土球或珍珠岩。
- 解决花盆漂浮并倾倒的问题,可以通过在花盆底部放置石头来固定。
种植计划:
- 光照: 18小时光照。
- 潮汐灌溉次数: 从每天4次调整到2次。
- 通过 cronjobs 定时控制设备开关。
营养液:
- 使用一种神秘的粉红色肥料,浓度为 20 克/30 升水。
结果:
尽管整个过程看起来有些荒谬,但作者成功种植了生菜和各种香草,并且仅有两次漏水事故。作者承认,这并非一种严肃的种植方法,但它为他提供了乐趣和学习机会,并收获了美味的沙拉。
|
Claude March 2026 usage promotion
Claude 限时使用量翻倍促销活动总结
Anthropic 推出了一项限时促销活动,旨在为 Claude 用户提供更多使用机会。
活动内容:
- 时间: 2026年3月13日至2026年3月27日。
- 适用范围: 工作日(周一至周五)在东部时间上午8点至下午2点(相当于太平洋时间上午5点至上午11点)之外的非高峰时段。
- 优惠: 在非高峰时段,用户的使用量将翻倍。 在高峰时段(东部时间上午8点至下午2点/太平洋时间上午5点至上午11点),使用量保持不变。
适用计划:
- Free计划
- Pro计划
- Max计划
- Team计划
- 不包括 Enterprise计划。
参与方式:
无需任何操作,符合条件的计划用户将自动享受翻倍的使用量。
使用场景:
此翻倍使用量适用于 Claude 的所有平台。
重要说明:
- 额外的使用量不计入用户的每周使用量限制。
- 促销活动结束后(2026年3月27日晚11:59太平洋时间),使用量将恢复到标准水平。
- 此促销活动不可兑换现金,不可转让,且不得与其他优惠活动叠加使用。
总结: 本次促销活动为 Claude 用户提供了一个在非高峰时段增加使用量的机会,无需任何额外操作,且不会影响用户的常规使用限制。
|
The Appalling Stupidity of Spotify's AI DJ
Spotify DJ 的 AI 能力:一个古典音乐爱好者的质疑 (Spotify DJ's AI Capabilities: A Classical Music Lover's Doubts)
本文探讨了 Spotify DJ,一款 Spotify 应用中基于 AI 的音乐搜索功能,并以一位古典音乐爱好者的视角对其能力提出了质疑。作者认为,尽管 AI 在音乐创作领域有所进展,但其在理解和处理古典音乐的结构和元数据方面存在严重缺陷。
主要观点和细节如下:
- 问题背景: 作者长期关注数字音乐中古典音乐的处理问题,早在 2009 年就发现数字音乐的元数据体系主要针对流行音乐设计,忽略了古典音乐的特殊性。例如,将古典音乐的“composition” (作品) 或 “movement” (乐章) 错误地标记为“song” (歌曲)。
- Spotify DJ 的表现: 作者尝试使用 Spotify DJ 搜索古典音乐,特别是贝多芬第七交响曲,但结果令人失望。AI 无法准确识别乐章顺序,经常跳过乐章,播放其他作曲家的作品,甚至播放不同乐团录制的同一乐章。
- AI 的理解问题: 作者质疑 AI 是否能够理解音乐作品由多个连续乐章组成的基本概念,并指出 AI 似乎无法利用公开资源,例如维基百科,来学习相关知识。
- 尝试改进: 作者尝试通过更明确的指令(例如“播放贝多芬第七交响曲的所有四个乐章,按数字顺序”)来引导 AI,但效果仍然不理想,AI 经常播放错误的交响曲或跳过乐章。最终,AI 甚至开始播放流行歌曲,表明其对音乐理解的缺失。
- 根本原因和结论: 作者认为,Spotify DJ 的问题根源于对音乐多样性的理解不足,以及对古典音乐传统缺乏重视。作者对 AI 能够解决这些问题持悲观态度,认为企业利润驱动下,古典音乐的保护并不重要。
总而言之,本文通过作者对 Spotify DJ 的使用体验,批判性地审视了当前 AI 在理解和处理复杂音乐结构方面的能力,并对 AI 的“智能”提出了质疑。
|
GIMP 3.2 released
GIMP 3.2 发布总结
GIMP 社区正式发布了 GIMP 3.2,这是自 GIMP 3.0 以来的一次重要更新,标志着设计、开发和测试团队经过一年的努力。本次更新旨在优化发布流程,并为用户带来新的功能和改进。
主要亮点:
- 非破坏性图层:
- 链接图层: 允许将外部图像作为合成的一部分,支持缩放、旋转和变换,且不损失质量。源文件更新时,链接图层内容也会自动更新。
- 矢量图层: 路径工具现在可以创建矢量图层,允许绘制具有可调整填充和描边设置的形状。
- MyPaint 笔刷工具升级: 添加了 20 种新笔刷,并根据画布缩放和旋转自动调整,提供更动态的绘画体验。
- 新的
覆盖 绘画模式: 允许在不混合透明度的情况下,直接覆盖现有颜色。
- 画布文本编辑器改进: 提供了更好的工作流程,允许移动文本编辑器、使用常用快捷键(如 Ctrl + B 粗体,Shift + Ctrl + V 粘贴无格式文本)以及改进文本轮廓选项。
- 文件格式支持和改进: 支持 DDS BC7 导出、导入更多 PSD 中的图层样式、SVG 导出以及 PDF 导出中的矢量选项扩展。
- 用户界面 (UI) 和用户体验 (UX) 改进:
- 允许在深色主题下使用主题颜色预览笔刷缩略图。
- 支持将图像拖放到图像标签以在 GIMP 中打开。
- 剪切和翻转工具支持键盘快捷键。
- 引入了
系统 颜色方案,自动匹配 GIMP 主题颜色方案与操作系统设置。
- CMYK 颜色选择器: 显示颜色的
总墨水覆盖率,便于软片校样时调整。
- GEGL 过滤器浏览器: 为脚本和插件开发者提供新的浏览器,方便查找非破坏性过滤器。
其他信息:
下载:
- 可以在 下载页面 下载 GIMP 3.2。 请注意,应用商店中的软件包可能需要一段时间才能更新。
支持 GIMP 开发:
- 可以通过 捐赠 支持 GIMP 开发团队,加速 GIMP 的开发进程。
|
Allow me to get to know you, mistakes and all
总结:LLM 文本处理对人际沟通的影响
这篇文章探讨了作者对经过大型语言模型 (LLM) 处理的、以其为收件人的文本产生过敏反应的原因。作者认为,这种反应并非源于文本内容本身,而是LLM处理方式造成的。
以下是文章的主要观点:
- LLM 会扭曲原意: 作者指出,LLM 在修改文本时,不可避免地会掩盖作者原本想表达的意思。因为人们选择词语是有原因的,即便这些词语并非总是最合适的。
- LLM 破坏了理解的上下文: 更严重的是,LLM 剥夺了收件人根据他们对发件人写作风格、语气、重点和省略等方面的了解来解读信息的权利。
- 建立的知识图谱: 作者强调,人际交往中会建立起一种隐含知识图谱。例如,同样是“我们需要谈谈”,不同人表达时所蕴含的含义和情感基调可能截然不同。这种理解是基于对彼此的了解而形成的,而LLM的处理会破坏这种理解。
- 沟通同步中断: 作者将 LLM 处理造成的负面影响概括为“沟通同步中断”,即破坏了对话伙伴之间的同步过程,消解了沟通中隐含的社会性互动和信任基础,阻碍了彼此的了解。
- 保留真实表达: 作者呼吁,即使发件人犯错、使用不恰当的习语或表达方式,也应该允许收件人根据信息的全部背景来解读,保持真实的表达,以便更好地理解对方。
总而言之,文章的核心论点是,LLM 虽然可以改进文本的流畅性,但其处理方式会损害人际沟通中建立在个人风格和理解基础上的微妙联系,最终阻碍有效和诚实的交流。
|
Head of FCC threatens broadcaster licenses over critical coverage of Iran war
内容摘要:
这段内容是一条错误提示信息,主要说明在使用x.com(推特)时可能遇到的问题以及建议的解决方案。
主要内容:
- 问题: 出现了一些错误。
- 原因: 某些与隐私相关的浏览器扩展程序可能导致问题。
- 解决方案: 建议禁用这些扩展程序,然后再次尝试。
总结:
如果在使用x.com时遇到问题,请尝试禁用浏览器中的隐私扩展程序,这可能是解决问题的关键。
|
Airbus is preparing two uncrewed combat aircraft
空中客车与Kratos合作,为德国空军提供无人协同作战飞机系统(UCCA)
布鲁塞尔,比利时,2026年3月13日 - 空中客车公司正全力以赴,计划于2029年向德国空军交付一个可运行的无人协同作战飞机(UCCA)系统。目前,该公司正在慕尼黑附近的曼ching准备从其美国合作伙伴Kratos Defense & Security Solutions, Inc. (NASDAQ: KTOS)采购的最初两架“瓦尔基里”无人机,以便进行首次试飞,并搭载自主的欧洲任务系统。预计这两架无人机将在今年晚些时候进行试飞。
主要内容:
- 合作方及系统组成: 空中客车与Kratos Defense & Security Solutions合作,整合各自的优势,共同集成、任务化、生产和交付UCCA系统。Kratos提供“瓦尔基里”无人机,空中客车提供欧洲自主任务系统。
- 任务系统:MARS与MindShare: 空中客车正在为UCCA配备其自主的欧洲任务系统——Multiplatform Autonomous Reconfigurable and Secure (MARS)。该系统包含人工智能支持的软件“大脑”MindShare,不仅能取代飞行员,还能在多个有人和无人平台上协调整个任务群。
- 目标与优势: 该项目旨在为德国和欧洲提供一种经过验证的无人作战飞机,并配备自主的欧洲任务系统,避免从头开始耗时且昂贵地进行开发。空中客车的目标是在相关时间段内交付可信的作战能力,同时确保关键的自主性,并且以可负担的价格提供。
- Manned-Unmanned-Teaming (MUM-T): 通过增强Eurofighter的Litening 5 Advanced Targeting Pod的互联互通能力(与Rafael合作),并对Eurofighter的航空电子设备进行小幅更新,空中客车计划使Eurofighter充当“指挥飞机”,实现跨平台互联互通,从而显著提高其作战中的杀伤力。
- 瓦尔基里无人机技术数据:
- 长度:9.1米
- 翼展:8.2米
- 航程:超过5,000公里
- 最大起飞重量(MTOW):约3吨
- 飞行高度:最高可达45,000英尺
- 首次试飞:2019年在美国。
- 预计空中客车版本首次试飞:2026年。
- 任务能力: 瓦尔基里无人机可以在完全自主模式或由Eurofighter指挥下执行风险过大的敏感任务。该UCCA能够执行动能和非动能任务,并在多个角色中发挥作用。项目初期,空中客车和Kratos将专注于为德国客户提供一种特定角色,以准时且精确地提供可信的作战空权。
- “可负担的规模”: 该系统旨在实现“可负担的规模”,即能够以经济实惠的价格部署大量无人机,这是当前同侪竞争战争演练中识别出的关键因素。
总而言之,该项目致力于通过欧洲自主技术和美国成熟的无人机平台,为德国空军提供一种经济高效、可靠且可信的UCCA系统,以增强其作战能力并应对当前的国际地缘政治形势。
|
$96 3D-printed rocket that recalculates its mid-air trajectory using a $5 sensor
低成本火箭发射器和制导火箭原型项目总结
本项目是一个概念验证原型,旨在利用消费级电子产品和3D打印组件构建低成本的火箭发射器和制导火箭系统。
项目概述:
该项目主要目标是构建一个经济实惠的火箭发射系统,结合火箭和发射器,并实现基本的制导功能。整个系统设计在Fusion 360中完成,并利用OpenRocket进行气动稳定性模拟,通过机械设计、电子集成和发射测试的迭代过程进行开发。
系统组成及功能:
- 火箭: 采用折叠式翼片和前缘翼(canard)进行稳定控制。火箭内部搭载ESP32飞行电脑和MPU6050惯性测量单元(IMU),实现控制和姿态反馈。
- 发射器: 集成了GPS、指南针和气压模块等传感器,用于确定发射器的方位和提供遥测数据。发射器能够提供火箭发射所需的引导和支撑。
- 控制系统: ESP32飞行电脑负责火箭的姿态控制,利用惯性测量单元的数据进行姿态调整,实现一定的制导功能。
关键技术与设计:
- 3D打印: 火箭和发射器的主要结构部件均采用3D打印技术制造,降低了生产成本。
- 低成本电子元件: 项目使用ESP32作为飞行电脑,MPU6050作为惯性测量单元,以及GPS、指南针和气压模块等消费级电子元件,实现了低成本的目标。
- 气动稳定性分析: 利用OpenRocket软件对火箭进行气动稳定性分析,确保火箭在飞行过程中保持稳定。
- 迭代开发: 通过多次机械设计、电子集成和发射测试的迭代过程,不断优化系统性能。
成本:
该原型的总硬件成本约为 96美元。
相关资源:
视频资料:
总结:
该项目展示了利用低成本的消费级电子产品和3D打印技术构建火箭发射器和制导火箭系统的可行性。该原型为低成本火箭技术的发展提供了一个有价值的实验平台。
|
2026 tech layoffs reach 45,000 in March
2026 年科技行业裁员:人工智能驱动的转型 (2026 Tech Layoffs: AI-Driven Transformation)
根据 RationalFX 的数据,截至 2026 年初,全球科技行业共记录了 45,363 起裁员事件,约 9,238 起 (约占 20%) 与人工智能 (AI) 的实施和组织重组有关。
主要裁员公司及原因:
- Block (4,000 人): CEO Jack Dorsey 表示裁员并非出于财务困境,而是由于 AI 工具的能力日益增强,可以执行更广泛的任务。公司正将战略重点转向 AI,计划将员工从 10,000 人减少到 6,000 人。
- WiseTech Global (2,000 人): 为推动物流平台的构建和维护方式的转型,该公司实施了 AI 驱动的重组计划。领导层认为生成式 AI 和大型语言模型的进步显著提高了软件工程的生产力。
- Livspace (1,000 人): 新加坡本土的室内设计平台为加速 AI 在其数字市场的应用而裁员。目标是打造更技术驱动的平台,提供更快速和个性化的设计服务。
- eBay (800 人): eBay 正在加大对 AI 工具的投资,用于自动化产品列表、定价优化和客户服务工作流程。
- Pinterest (675 人): Pinterest 裁员约 675 人,占员工总数的 15%,并转向“AI 优先”战略,优先发展 AI 相关的团队和产品。
受影响的城市:
除了上述公司,全球范围内受裁员影响较大的城市包括:
- 美国: 西雅图 (Amazon, Microsoft),旧金山 (总部有大量裁员),门洛帕克 (Meta Platforms)。
- 澳大利亚: 悉尼 (WiseTech Global)。
- 欧洲: 斯德哥尔摩 (Ericsson),维尔德霍芬 (ASML)。
总体趋势与分析:
- 尽管公司在 2026 年取得了创纪录的收入,但 AI 正在从根本上重塑科技行业。
- 许多公司将裁员直接与 AI 和自动化联系起来,以实现更高效的技术驱动的工作流程。
- AI 的快速发展导致传统工作结构受到破坏,许多入门级职位已成为过时。
- 分析师 Alan Cohen 警告,如果裁员以目前的速度持续下去,可能会对整个行业乃至更广泛的就业市场造成持续的压力。
- 随着 AI 的应用,就业结构将发生变化,公司更加重视 AI 相关技能的招聘和评估。
- 2026 年初的裁员已经出现激增,如果裁员强度保持不变,预计全年裁员总数可能超过 264,730 人,超过 2025 年的 245,000 人。
- RationalFX 认为,未来裁员的轨迹将取决于公司向 AI 驱动运营的过渡速度,以及新技术能否像淘汰现有职位一样快地创造新职位。
总而言之,2026 年科技行业的裁员潮是 AI 驱动的转型的重要体现,它正在改变公司的组织结构、工作流程以及对人才的需求。
|
Bumblebee queens breathe underwater to survive drowning
蜂后如何在水中生存:一项意外发现揭示了蜜蜂的生存策略 (How Bumblebee Queens Survive Underwater: A Serendipitous Discovery Reveals Bees' Survival Strategies)
这项研究主要探讨了休眠期的普通东部蜜蜂(Bombus impatiens)蜂后如何在水下生存,以及它们如何应对冬季洪水等威胁。
主要发现:
- 蜜蜂也能水下呼吸: 研究人员发现,休眠期的蜜蜂蜂后竟然能够水下呼吸,而不是像大多数陆生昆虫那样仅仅依靠无氧代谢。
- 双重生存策略: 除了水下呼吸,蜜蜂蜂后还利用无氧代谢作为补充能量来源。在水下八天后,蜂后会经历碳排放量激增,这表明它们正在处理无氧代谢产生的废物。
- 休眠期间的新陈代谢减缓: 研究表明,蜂后在休眠期间的新陈代谢率降低到正常水平的约5%,这降低了它们对氧气的需求,从而更容易在水下生存。
研究背景:
- 超过80%的蜜蜂物种,包括许多蜜蜂,会在地下筑巢,因此容易受到洪水威胁。
- 最初的发现源于一个实验室意外:在模拟冬季条件时,蜂后意外地被淹没在水中,但它们却奇迹般地存活下来。
- 研究人员通过控制实验,将蜂后置于水中长达一周,并观察其生存状况和代谢变化。
研究方法:
- 研究人员模拟休眠条件,将蜂后置于寒冷、黑暗和潮湿的环境中。
- 他们测量了水中氧气浓度和蜂后产生的二氧化碳量,以确定它们是否在水下呼吸。
- 他们还测量了蜂后身体内的乳酸水平,以评估无氧代谢的程度。
未来展望:
- 研究人员计划进一步研究蜜蜂水下呼吸的机制,例如它们是否像潜水甲虫一样利用体表气泡作为“水肺”。
- 他们也希望了解其他蜜蜂物种是否也具备类似的水下生存能力。
- 这项研究也引发了对蜜蜂冬季生存条件的关注,以及如何更好地保护这些重要的授粉者。
总结:
这项研究揭示了蜜蜂蜂后在水下生存的惊人能力,它们通过结合水下呼吸和无氧代谢两种策略,成功应对了洪涝威胁。这项发现不仅拓展了我们对蜜蜂生理学的认识,也对蜜蜂保护工作具有重要意义。
|
Nmap in the movies (2008)
Nmap 在电影中的亮相:一个目录 (Nmap in Movies: A Catalog)
这个页面记录了 Nmap 工具在电影中的出现。与许多之前电影中采用滑稽的 3D 动画来表现黑客行为不同,Nmap 的出现通常被认为是更现实和有趣的。 页面作者 Fyodor 鼓励观众在电影中发现 Nmap 的新实例后,通过邮件联系他。
重要里程碑:
- 《黑客帝国:重启》 (The Matrix Reloaded):这部电影真正让 Nmap 成名。Trinity 使用 Nmap 2.54BETA25 扫描城市电网,发现了开放的 SSH 服务器,并利用 SSH1 CRC32 漏洞进行攻击。
- 更新: 页面通常更新,但作者 Fyodor 承认更新滞后。
其他电影中的 Nmap 出现:
以下列出了 Nmap 在其他电影中的使用情况,包括:
- 《骇客帝国》 (Hackers):虽然这部电影以其不切实际的黑客动画而闻名,但 Nmap 的出现是更现实的选择。
- 《深海浩劫》 (Ocean's 8):Rihanna 饰演的九球(Nine Ball)在电影中多次使用 Nmap 来入侵目标公司和个人,作为窃取钻石项链的计划的一部分。
- 《斯诺登》 (Snowden):斯诺登在 CIA 训练课程中利用 Nmap 和自定义 NSE 脚本 ptest.nse,仅用 38 分钟完成了本应需要 5-8 小时才能完成的网络安全挑战。
- 《敢死队》 (Dredd):电影中,法官 Dredd 和 Cadet Judge Anderson 使用 Nmap 对高楼层贫民窟的网络进行侦察和利用。
- 《异形异种》 (Elysium):在电影中,Nmap 被用来扫描 Matt Damon 的增强型大脑。
- 《神奇四侠》 (Fantastic Four):Sue Storm 利用 Nmap 追踪目标。
- 《谁我?——系统无处可逃》(Who Am I—No System is Safe):这部德国网络惊悚片中,主角 Benjamin 运用 Nmap 来控制当地电力公司并造成短暂的停电。
- 《生死时速4》 (Die Hard 4: Live Free or Die Hard):Nmap 扫描出现在电影中。
- 《龙纹身的女孩》 (The Girl with the Dragon Tattoo):在瑞典原版电影中,Nmap 被用于黑客行为。
- 《夺命游戏》 (Battle Royale):一个黑客角色在电影中使用 Nmap。
- 《破碎圣徒》 (Broken Saints):Nmap 在一部动画电影中被使用。
- 《Khottabych》: 俄罗斯电影中,一个黑客使用 Nmap 攻击 Microsoft.Com。
- 《Bloody Monday》: 日本电视剧中,黑客 Falcon 使用 Nmap 调查 “Bloody Monday” 计划。
其他信息:
- Nmap 在新闻文章、评论、书籍和流行文化中也出现过,可以在单独的页面上找到。
- 《黑客帝国》中的黑客场景被 JWZ 添加到 XScreenSaver 4.10 的 Easter Egg 中。
- 还有一些以《黑客帝国》为主题的横幅被上传到宣传画廊。
- 英国苏格兰警队和英国计算机学会发布了警告,提醒观众不要模仿电影中的黑客行为。
总而言之,Nmap 已经成为电影中黑客行为的象征,代表了对现实主义的追求。
|
Launching the Claude Partner Network
Anthropic 发布 Claude 合作伙伴网络,助力企业采用 Claude
Anthropic 宣布推出 Claude 合作伙伴网络 (Claude Partner Network),旨在帮助企业更顺利地采用其 AI 模型 Claude。 为此,Anthropic 将投入 1 亿美元 作为初始资金,用于支持合作伙伴的培训、技术支持和市场拓展。
主要内容:
- 合作伙伴网络内容: 该网络提供培训课程、技术支持以及联合市场推广活动,帮助合作伙伴为企业客户提供 Claude 解决方案。
- 资金投入: 1 亿美元的投资主要用于合作伙伴的培训和销售支持、市场拓展(包括客户部署成功)、以及联合营销活动。Anthropic 计划在未来投入更多资金。
- 团队扩充: Anthropic 将扩大合作伙伴支持团队,配备专用的应用 AI 工程师、技术架构师和本地化的市场推广支持。
- 合作伙伴门户: 合作伙伴将获得访问合作伙伴门户的权限,其中包含 Anthropic Academy 培训材料、Anthropic 自身市场团队使用的销售手册以及其他联合营销文档。
- 认证计划: Anthropic 推出首个 Claude 技术认证 Claude Certified Architect, Foundations,并计划在今年晚些时候推出针对销售、架构师和开发者的其他认证。
- 代码现代化工具包: 推出 Code Modernization starter kit,帮助合作伙伴迁移旧代码库,解决企业技术债务问题。
- 申请资格: 任何将 Claude 推向市场的组织均可免费加入该网络,申请即日起开放。
- 合作伙伴反馈: 包括 Accenture、Infosys 等多家合作伙伴表示,该网络为他们提供更高效的培训、行业解决方案、技术支持和共同投资,从而加速客户的 AI 部署。
Claude 的优势:
- Claude 是唯一在 AWS、Google Cloud 和 Microsoft Azure 三大云服务提供商上均可用的前沿 AI 模型。
- Anthropic 与大型咨询公司、专业服务公司和 AI 专家合作,帮助企业识别 Claude 的应用价值并顺利部署。
总而言之, Claude 合作伙伴网络旨在简化企业采用 Claude 的过程,并为合作伙伴提供必要的资源和支持,共同推动 AI 应用的普及。
|
Sunsetting Jazzband
Jazzband 项目停止运营总结 (Jazzband Project Sunset Summary)
Jazzband 项目宣布停止运营,已停止接受新用户注册。项目负责人将在 PyCon US 2026 之前收到联系,协调项目转移事宜。详细的退役计划可在 wind-down plan 中查看,项目回顾可在 retrospective 中查阅。
项目背景与历史:
Jazzband 成立于 10 多年前,旨在通过合作的方式减轻开源软件项目维护的压力。其核心理念是“我们都是其中的一部分”,所有成员拥有代码提交、问题处理、合并拉取请求等权限。
停止运营的原因:
- AI 垃圾 PR 泛滥 (The Slopocalypse): GitHub 上涌入大量由 AI 生成的垃圾 PR 和 issue,使得 Jazzband 的开放式成员和共享提交权限模式变得不可持续。
- 单点故障 (The One-Roadie Problem): 项目长期依赖于单一负责人,缺乏有效的团队协作和组织结构,导致项目转移、负责人分配等关键决策都由负责人负责。
- 可持续性问题: 早在 2017 年就提出了可持续性问题,并在 2021 年的演讲中指出,除非获得充足的资金支持,否则“社交编码”实验难以建立可持续的社区。
- GitHub 的反向发展: GitHub 推出 Copilot 等工具,利用开源代码进行商业化,导致开源维护者负担加重,而 Jazzband 的基础设施也开始阻碍项目发展。
- XZ Utils 后门事件: 2024 年的 XZ Utils 后门事件暴露了单维护者倦怠后可能造成的安全风险,进一步加剧了 Jazzband 的困境。
主要成就:
- 超过 10 年的运营,拥有 3135 名成员,分布于除南极洲以外的所有大陆。
- 维护了 84 个项目,总计获得约 93,000 个 GitHub stars。
- 发布了 1312 个 PyPI 版本。
- 项目的下载量每月超过 1.5 亿次,其中 pip-tools 下载量达 2300 万次,prettytable 达 4200 万次。
- django-debug-toolbar 被收录于 Django 官方教程,django-avatar 在 2026 年仍然活跃发布。
后续计划:
- 立即停止新用户注册。
- 在 PyCon US 2026 之前联系项目负责人,协调项目转移。
- GitHub 组织和网站将在 2026 年底前保持可用,以支持过渡。
Jazzband 项目负责人感谢所有参与者,特别是 81 名项目负责人和所有为项目做出贡献的成员。虽然 Jazzband 停止运营,但项目所维护的开源软件将继续在新的社区中得到发展。
Django Commons 项目已接过 Jazzband 的部分工作,为 Django 项目提供了新的家。 对于非 Django 项目,如 pip-tools、contextlib2、geojson 和 tablib,希望社区能够建立类似的治理机制。
|
Changes to OpenTTD Distribution on Steam
OpenTTD 在 Steam 平台上的变化总结
过去五年,OpenTTD 在 Steam 商店上架,吸引了大量玩家。 现在,OpenTTD 将不再作为独立的单机游戏在 Steam 上直接提供。
主要变化:
- 购买方式改变: 未来,想要获得 OpenTTD,需要在 Steam 上购买包含原版 Transport Tycoon Deluxe 和 OpenTTD 的捆绑包。捆绑包售价 9.99 美元,可在 https://store.steampowered.com/app/3766810/Transport%5FTycoon%5FDeluxe 购买。
- 现有玩家不受影响: 已经拥有 OpenTTD 的 Steam 玩家无需担心,将继续接收游戏更新,并且可以从 Steam 库中重新下载游戏。
- 游戏依然免费: OpenTTD 仍然是免费的,只是在 Steam 平台上获取需要购买捆绑包。
- GOG 平台同样改变: GOG.com 商店也进行了同样的调整。
- 其他平台不受影响: 其他平台(包括 OpenTTD 官方网站)的下载方式不变。
- Transport Tycoon Deluxe 的内容: 新版 Transport Tycoon Deluxe 是对 Chris Sawyer 原版游戏的忠实复刻,可在现代设备上运行。
- 开发团队和未来: OpenTTD 的开发团队、工作流程以及开源性质没有任何改变。开发团队将继续为所有平台发布 OpenTTD 的新版本。
- 支持和帮助: 有关 OpenTTD 的问题、建议和 bug 报告,请访问 https://www.openttd.org/contact。 Transport Tycoon Deluxe 的 Steam 和 GOG 列表由 Atari 管理和支持 (https://support.atari.com/)。
总而言之,OpenTTD 仍然可以免费使用,但通过 Steam 的获取方式发生了变化,需要购买包含 Transport Tycoon Deluxe 的捆绑包。
|
Marketing for Founders
启动SaaS/App/初创公司获取首批用户实用营销资源合集
TL;DR: 这是一系列实用营销资源,旨在帮助您获取首批10/100/1000名SaaS/App/初创公司的用户。
营销工作总是充满挑战,尤其是对于技术创始人来说。 尽管网络上有大量建议,但大多数都针对的是拥有大额营销预算、希望将VC投资的初创公司扩展到100万美元年收入和10万用户规模。
这些建议鼓舞人心吗?当然。但可操作性差。
因此,这里整理了一份实用的初创公司资源、技巧和工具,以帮助您:
- 🎯 找到您的初创公司的首批用户
- 📣 在没有预算的情况下推广您的SaaS
- 🚀 构建您的市场进入策略
准备好了开始吗?请选择一个主题:
📣 在哪里启动您的初创公司
提供启动平台、软件目录和社区,这是获得初创公司首批用户以及持续稳定的人流的一种简单方法。 以下部分可能与您的产品无关,但(希望)能给您一些想法。
启动平台:
- Betalist
- Fazier
- Uneed
- Microlaunch
- Peerlist
- Indie Hackers
- Hacker News
- ProductHunt
- SideProjectors
- LaunchIgniter
- PeerPush
软件目录:
- Toolfolio
- toools.design
- OpenAlternative
- LibHunt
- SaaSHub
- SaaS Genius
- G2
- TrustPilot
- Capterra
- There's an AI for that
- Alternativeto
- SourceForge
- Softonic
- TrustMRR
限时优惠平台和群组:
- AppSumo
- RocketHub
- StackSocial
- SaaS Mantra
- Saas Warrior (Facebook群组)
- LTD Hunt (Facebook群组)
- KEN Moo (Facebook群组)
- Lifetimo (Facebook群组)
- Prime Club
- SaasZilla
- SaaSPirate
- ProductCanyon
- Dealmirror
- Dealify
Reddit子版块(发布任何内容前请务必检查规则):
- Sideproject
- Selfhosted (使用“Product Announcement”标记)
- Webdev (使用“Showoff Saturday”标记)
- Startup_Ideas
- Indiehackers (使用“Self Promotion”标记)
- Internetisbeautiful
- Roastmystartup
- Alphaandbetausers
- Iosapps (使用“Dev - Self Promotion”标记)
- Saasbuild
- BuyFromEU (使用“European Product”标记)
- Buildinpublic
- Scaleinpublic
- ShowMeYourSaaS
- DevelopersIndia (使用“I made this”标记)
- Androidapps (使用“Self Promotion”标记)
- iOSProgramming (使用“App Saturday”标记)
- MVPLaunch
- Macapps
- TheFounders (使用“Show”标记)
- Apps (使用
|
A most elegant TCP hole punching algorithm
TCP 打孔算法的简化测试方法总结
本文介绍了一种简化 TCP 打孔算法测试的方法,旨在避免传统 TCP 打孔方法所需的复杂基础设施和元数据交换。该方法通过确定性算法从单个参数(Unix 时间戳)推导出所有必要元数据,从而实现无需额外基础设施的测试。
核心思想: 通过使用单一参数生成共享端口和连接参数,简化测试过程。
算法主要分为五个部分:
1. 选择 Bucket (时间窗口):
- 使用 Unix 时间戳作为起始参数。
- 计算“Bucket”值,该值代表一个时间窗口,用于确定算法运行的时间范围。
- 公式:
bucket = int((now - max_clock_error) // window),其中 now 是当前时间戳,max_clock_error 是允许的最大时钟误差,window 是时间窗口大小。
- Bucket 的目的是让双方在时钟偏差的情况下也能计算出相同的数值。
2. 选择端口:
- 基于 Bucket 值,使用伪随机数生成器(PRNG)生成共享端口列表。
- 使用一个大素数 (
large_prime) 和一个边界值 (stable_boundary) 来确保 PRNG 生成的端口范围在 0xFFFFFFFF 内,避免溢出。
- 使用
randrange 函数生成 16 个端口,并过滤掉无法绑定的端口。
- 算法假设家庭路由器支持“等量增量映射”(equal delta mapping),即本地端口等于外部端口,以简化端口选择。
3. Socket 和网络:
- 强调了 TCP 打孔对 Socket 选项的要求:
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
s.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEPORT, 1)
- 强调了 TCP 打孔中避免关闭 Socket 的重要性,因为关闭 Socket 可能导致 RST 包被发送,从而破坏协议。
- 推荐使用非阻塞 Socket 和
select 进行轮询,以精确控制时序,因为 TCP 打孔对时序非常敏感。
- 通过快速发送 SYN 包来建立远程映射 (“spamming out SYNs”),但要控制 CPU 占用。
4. 胜者选择:
- 使用多个端口,并选择一个成功的连接。
- 通过“领导者-追随者”模式选择连接:
- 具有较大 WAN IP 地址的一方成为领导者。
- 领导者通过一个连接发送单个字符 (
b"$"),然后关闭其他连接。
- 追随者使用
select 轮询事件,并接收领导者发送的字符来确定成功连接。
- 使用单个字符是因为 TCP 是基于流的,单个字符可以保证原子性。
5. 整合:
- 最终的算法只需要目标 IP 地址即可运行。
- 无需基础设施,无需元数据交换。
- 建议使用 NTP 同步时间,但并非强制要求。
- 该方案适用于使用等量增量映射的常见路由器。
- 提供了示例代码
tcp_punch.py,可以通过运行 tcp_punch.py 127.0.0.1 来测试。
总结: 本文介绍了一种基于确定性算法的简化 TCP 打孔测试方法,通过单一参数推导所有必要信息,简化了测试流程,避免了传统方法的复杂性。 核心在于对时间戳的巧妙利用和对 Socket 选项的正确设置。
|
SBCL Fibers – Lightweight Cooperative Threads
轻量级用户空间协作线程在 SBCL 中的实现
本文档描述了为 SBCL 实现轻量级用户空间协作线程。该实现仍在积极开发中,细节可能会发生变化。
目录
- 引言
- 1.1 动机:为什么需要纤程?
- 1.2 设计目标
- 1.3 术语
- 编程 API
- 2.1 创建和运行纤程
- 2.2 暂停和等待
- 2.3 纤程睡眠和定时等待
- 2.4 纤程暂停 (基于条件挂起/恢复)
- 2.5 纤程连接
- 2.6 纤程内部创建纤程
- 2.7 多载体调度
- 2.7.1
run-fibers (简单,阻塞)
- 2.7.2
start-fibers / submit-fiber / finish-fibers (动态,长寿命)
- 2.8 纤程友好的阻塞原语
- 2.8.1 互斥锁获取
- 2.8.2 条件变量
- 2.8.3 信号量
- 2.8.4 I/O (
wait-until-fd-usable)
- 2.8.5
sleep 和 wait-for
- 2.9 纤程固定 (防止暂停)
- 2.10 内省 (
list-all-fibers, fiber-state, 堆栈跟踪)
- 2.11 空闲钩子
- 2.12 API 参考摘要
- 架构概述
- 3.1 载体线程和调度器
- 3.2 纤程生命周期状态机
- 3.3 数据流:暂停和恢复
- 上下文切换
- 4.1 寄存器保存/恢复约定
- 4.2
fiber_switch 汇编例程
- 4.3 新纤程的堆栈帧初始化
- 4.4 入口蹦床 (汇编到 C 到 Lisp)
- 4.5 零分配设计 (没有 SAP,没有 GC 压力)
- 4.6 载体迁移时的线程寄存器修补
- 堆栈管理
- 5.1 控制堆栈布局和保护页
- 5.2 绑定堆栈 (单独分配)
- 5.3 堆栈池 (
madvise(MADV_DONTNEED) 循环利用)
- 5.4 信号处理程序中的堆栈溢出检测
- 5.5 堆栈大小权衡 (没有动态增长)
- 动态变量绑定 (TLS)
- 6.1 问题:
unbind-to-here 清零条目
- 6.2 TLS 覆盖数组 (保存/恢复而不解绑)
- 6.3 迁移时载体值更新
- 6.4 捕获块和 unwind-protect 链保存/恢复
- 6.5 空绑定堆栈快速路径
- 6.6 同载体恢复优化
- 垃圾回收器集成
- 7.1 两列表设计:挂起的纤程 vs. 活动上下文
- 7.2
fiber_gc_info: 保守控制堆栈扫描
- 7.3
active_fiber_context: 载体 + 纤程堆栈可见性
- 7.4 精确绑定堆栈扫描
- 7.5 持久的载体上下文 (无锁热路径)
- 7.6
fiber-context 线程结构体槽 (O(1) 查找)
- 7.7 GC 安全窗口 (
without-interrupts vs. without-gcing)
- 7.8 正确性论证:为什么局部更新是安全的
- 调度器设计
- 8.1 调度器循环
- 8.2 快速路径:在队列热时跳过维护
- 8.3 维护:挂起队列排空、截止时间过期、唤醒检查
|
Treasure hunter freed from jail after refusing to turn over shipwreck gold
SS Central America 沉船宝藏猎人获释,部分金币仍下落不明
主要内容:
美国深海寻宝猎人汤米·汤普森(Tommy Thompson)因拒绝透露著名沉船“金船”(SS Central America)的金币位置,被判刑十年。近日,他已刑满释放,但仍有 500 枚金币下落不明。
事件背景:
- 沉船事件: 1857 年,SS Central America 沉没于南卡罗来纳州海岸附近,当时船上载有价值数百万美元的新铸造金币(30,000 磅)。这些金币原本运往东海岸,用于银行储备,但沉船事件导致了 1857 年的金融恐慌。船上共有 425 名乘客和船员罹难。
- 汤普森的寻宝行动: 1988 年,汤普森及其团队发现了这艘沉船,并打捞了大量金条和金币。汤普森当时是 Battelle Memorial Institute 的海洋工程师。
- 投资与诉讼: 161 名投资者共投入 1270 万美元用于寻宝,并期望获得投资回报。2000 年,汤普森将部分打捞出的金币以 5000 万美元的价格出售给一家黄金营销公司。然而,投资者在 2005 年起诉汤普森,指控其未兑现投资回报承诺。
逃亡与判刑:
- 逃亡: 2012 年,面对法院传唤,汤普森失踪。
- 逮捕: 2015 年,汤普森及其同伙在佛罗里达州博卡拉顿被捕,他们以虚假姓名在一家酒店居住两年,并使用出租车和公共交通工具以避免被发现。
- 判刑: 汤普森因违反刑事藐视法被判刑。
现状:
- 金币下落不明: 汤普森声称将金币交给伯利兹的信托基金,并声称出售所得大部分用于支付法律费用和银行贷款。
- 刑满释放: 尽管最初的民事藐视法判决通常是无限期的,但法官去年裁定终止汤普森的刑期,理由是其不太可能透露金币的藏匿地点。
- 宝藏价值: 据称从海底打捞出的金条和金币总价值高达 4 亿美元。
|
Show HN: Ichinichi – One note per day, E2E encrypted, local-first
Ichinichi:每日一记,端到端加密,本地优先笔记应用总结
Ichinichi (いちにち) 是一款由 katspaugh 创建的简洁笔记应用,其核心理念是“每日一记”。 该应用旨在提供一种简单、专注的记录方式,避免了传统笔记应用中繁琐的文件夹、标签和模板。
核心特性:
- 每日一记: 每天只允许记录一条笔记,专注于当天的记录。
- 不可编辑历史记录: 无法修改过去日期的笔记,鼓励用户专注于今天的记录,避免沉溺于修改旧笔记。
- 年度概览: 提供年度视图,通过点状图显示每日记录情况,形成一种视觉化的“坚持记录”图表。
- 无需注册: 直接打开即可使用,数据存储在本地浏览器中。
- 可选云同步: 提供可选的云同步功能,使用 Supabase 实现。
- 端到端加密: 采用 AES-GCM 加密,实现零知识加密,保障用户数据安全。
技术栈:
- 前端: React, TypeScript, Vite, Zustand
- 本地存储: IndexedDB
- 云同步: Supabase
- 部署: Cloudflare
- 其他: 支持 PWA (Progressive Web App)
应用名称含义: "Ichinichi" 在日语中意为“一天”。
项目地址:
该应用的独特之处在于其“不可编辑历史记录”的设计,这被开发者认为是有助于用户坚持记录的关键因素,避免了用户花费过多时间在修改旧笔记上。
|
|
Show HN: Han – A Korean programming language written in Rust
好的,以下是关于Han编程语言的总结,用中文写成,字数控制在800字以内:
Han编程语言:韩语关键词的通用编译型语言
Han 是一种通用编译型编程语言,其独特之处在于所有关键字都使用韩语书写。它由 Rust 语言编写,并通过 LLVM IR 编译生成原生二进制文件,同时也提供了一个基于树的解释器,用于快速执行代码。Han 的设计理念是打破编程语言的地域限制,将韩语(谚文)这种科学严谨的文字系统应用于编程领域,而非仅仅作为显示字符串。
主要特点:
- 韩语关键字: 使用
함수 (函数), 만약 (如果), 반복 (循环), 변수 (变量) 等韩语词汇作为关键字。
- 韩语标识符: 允许使用韩语命名变量和函数。
- 编译型语言: 通过 LLVM IR 编译成原生二进制文件,性能较高。
- 解释器模式: 允许快速执行代码,无需编译。
- REPL: 提供交互式命令行环境
hgl repl。
- LSP服务器:
hgl lsp 提供编辑器hover提示和代码补全功能。
- 静态类型: 拥有5种基本类型:
정수 (整数), 실수 (浮点数), 문자열 (字符串), 불 (布尔值), 없음 (空值)。
- 数组: 支持数组操作,例如
[1, 2, 3],索引,负索引,以及 .추가 (添加), .삭제 (删除), .정렬 (排序), .역순 (反转) 等方法。
- 结构体: 使用
구조 사람 { 이름: 문자열 } 定义结构体,并支持字段访问和实现块。
- 闭包: 支持闭包,例如
변수 f = 함수(x: 정수) { 반환 x * 2 }。
- 模式匹配: 支持模式匹配,例如
맞춰 값 { 1 => ..., _ => ... }。
- 错误处理: 使用
시도 { } 실패(오류) { } 进行try/catch 异常处理。
- 文件I/O: 支持文件读取、写入和追加操作。
- 格式化字符串: 支持位置参数和命名参数的格式化字符串。
- 字符串方法: 提供
.분리 (分割), .포함 (包含), .바꾸기 (替换) 等字符串方法。
- 模块导入: 使用
가져오기 "파일.hgl" 导入模块。
- 泛型: 支持泛型语法,例如
함수 최대값<T>(a: T, b: T) -> T。
- 内置数学函数: 提供
제곱근 (平方根), 절댓값 (绝对值) 等数学函数。
- HashMap: 支持
사전("키", 값) 类型的哈希表,并提供 .키목록(), .값목록(), .포함(), .삭제() 等方法。
- JSON: 支持通过
serde_json 进行 JSON 序列化和反序列化。
- HTTP: 通过
reqwest 库支持 HTTP 请求。
- 正则表达式: 提供
정규식_찾기(), 정규식_일치(), 정규식_바꾸기() 等正则表达式函数。
- 日期/时间: 提供
현재시간(), 현재날짜(), 타임스탬프() 等日期/时间函数。
- 系统: 提供
실행() (执行), 환경변수() (环境变量), 명령인자() (命令行参数) 等系统相关函数。
快速入门:
- 创建一个
hello.hgl 文件,内容为 출력("안녕하세요, 세계!")。
- 使用
hgl interpret hello.hgl 命令运行。
示例代码:
Han 提供了一系列示例程序,包括单词计数器、字符串计算器、Todo列表、文件行数统计器等,展示了其功能。
安装:
需要 Rust 和 clang 环境。 使用 `git clone https://github.com/xodn
|
UBI as a productivity dividend
关于人工智能时代的全民股东地位:总结
这篇文章探讨了美国经济中生产力增长和工资增长脱节的问题,并提出了全民基本收入(UBI)作为解决这一问题的方案。以下为主要观点总结:
1. 生产力与工资的脱节:
- 二战后至1970年代,生产力增长与工资增长同步。
- 此后,生产力增长速度远超工资增长,产生的财富流向了高管薪酬、企业利润和股东回报。
- RAND公司的一项研究表明,2023年仅在美国底层90%的劳动者身上,因收入分配不均造成的损失就高达3.9万亿美元,自1975年以来累计高达79万亿美元。
2. 现有解决方案的局限性:
- 提高最低工资只能帮助低收入者,无法解决中低收入者工资停滞的问题。
- 加强工会力量有益,但无法覆盖所有劳动者,尤其是无偿照料工作(如育儿、照顾老人)的价值。
- 全民医保、缩短工作时间、负所得税等措施,虽然有益,但都不能直接将生产力增长带来的财富分配给每个人,无法体现“全民股东”的概念。
3. 全民基本收入 (UBI) 的必要性:
- 技术继承论: 现代经济产出的主要来源并非个体当下的劳动,而是世代积累的知识和技术。人工智能的训练数据也来源于所有人的创造性工作,因此每个人都应从中受益。
- 公共资金投入: DARPA、NSF等联邦机构对人工智能研究的投入巨大,UBI可以看作是对这些公共投资的回报。
- 普遍性: UBI以无条件的方式向所有人提供基础收入,无论其工作状态如何,都能确保每个人分享经济增长的成果。
4. UBI的规模和目标:
- 基于 RAND 研究和当前经济状况,UBI 的月度金额应约为每位成人1390美元,每位儿童500美元。
- 这足以消除美国的贫困。
- 可以通过征收财富税、人工智能税等方式来筹集资金。
5. 核心论点:
- 生产力增长的收益应广泛共享,而非集中在少数人手中。
- UBI 并非替代就业保障,而是对劳动者长期工资被压抑的补偿。
- 将公民视为经济的股东,并提供相应的股息(UBI)。
- 政治意愿是推动 UBI 实施的关键。
这篇文章呼吁美国社会重新思考财富分配模式,并倡导通过 UBI 来实现更公平、更普惠的经济增长。
|
It's time to move your docs in the repo
人工智能如何改变文档管理:将文档置于代码仓库中的重要性
本文探讨了人工智能(AI)对文档管理的影响,并强调了将文档置于代码仓库中的重要性。作者认为,AI 的出现使得维护文档与代码同步比以往任何时候都更容易,并对那些尚未采用这种方法的公司提出了建议,现在正是行动的好时机。
核心观点:
将文档置于代码仓库的优势:
- 版本控制: 类似于代码,文档也需要版本控制,使用 Git 可以方便地处理多人协作和冲突。
- 代码和文档的紧密结合: 使用
rg 或 grep 可以同时搜索代码和文档,便于保持同步。
- 文档驱动开发: 在代码实现之前先审查文档更新,有助于理解最终产品/API。
- 自动生成: 通过工具(如 Sphinx 的
autodoc、jsdoc、Docusaurus)可以自动从代码生成 API 文档。
- 测试: 可以通过
doctest 等工具对文档中的代码示例进行测试,将文档视为规范。
- 高效编辑: 可以利用文本编辑器的各种工具和脚本进行批量修改。
AI 对文档管理的影响:
- AI 增加了 Markdown 文件在提交中的比例: 由于 AI 代理的实现和规则文件的使用,Markdown 文件的数量增加。
- 规则文件与文档的界限模糊: 规则文件的内容很多可以作为文档存在,或者已经存在于其他地方。
- 工程师的关注点转移: 随着工程工具的抽象程度越来越高,工程师的关注点可能会从代码编写转移到规范和指南的制定。
- AI 解决文档过时问题: AI 代理可以自动检查和修复代码与文档之间的不一致,解决文档过时的常见问题。
- AI 代理受益于更全面的上下文: 将文档(包括架构提案、产品规范等)置于代码仓库中,可以为 AI 代理提供更丰富的上下文信息。
- 知识沉淀与复用: 将研究结果和最佳实践记录在文档中,可以避免重复研究,提高团队效率。
对常见异议的回应:
- 使用 MCP 等工具即可让 AI 访问文档: 版本控制仍然是文档管理的关键。
- 代码审查文档会延缓文档更新: AI 可以自动生成文档,并且并非所有代码变更都需要人工审查。
- AI 代理生成冗长、复杂的文档: 需要人工审查和修改 AI 生成的文档,并编写自己的文档。
- 是否需要将所有文档都放入代码仓库: 建议将所有提供有价值上下文的文档都放入代码仓库。
- 特定工具在表格、模式、链接等方面表现更好: AI 在这些方面也在不断进步。
- 非工程师通常没有代码仓库访问权限: 可以通过内部网站部署文档,或者允许非工程师访问代码仓库。
- 图片会增加代码仓库的体积: 建议使用 Mermaid 等图表格式代替静态图片。
总结:
作者认为,AI 的发展使得将文档置于代码仓库中的做法更加有意义。这不仅可以提高团队效率,还可以为 AI 代理提供更全面的上下文信息,并促进知识沉淀与复用。 尽管 Google Docs 等协作工具仍然适用于某些场景,但最终,文档应该进入代码仓库进行版本控制和维护。
脚注:
- 虽然 Markdown 流行,但 AsciiDoc 和 reStructuredText 等工具提供了更强大和结构化的替代方案。
|
Fedora 44 on the Raspberry Pi 5
Fedora 44 最小镜像在树莓派 5 上可用 - Pi Day 发布
这篇文章宣布了 Fedora 44 最小镜像和桌面镜像(KDE 和 GNOME)在树莓派 5 (Raspberry Pi 5) 上的可用性,作为 Pi Day 的庆祝活动发布。由于作者生病和繁忙,原计划发布的 Fedora 44 Beta 镜像延迟了。
主要特点和功能:
- 支持的硬件: 针对 Raspberry Pi 5B 的所有型号,包括 revC 和 revD 以及 1/2/4/8/16GB 的 SoC 变体。
- 工作功能:
- 串口控制台
- Micro SD 卡槽(目前唯一的操作系统磁盘支持)
- HDMI 输出,包括加速图形
- 有线以太网端口
- 无线网络接口
- USB 端口(不用于操作系统磁盘)
- KDE 和 GNOME 桌面环境镜像
- 其他: 一些其他随机功能。
已知问题和未实现功能:
- 不支持 Raspberry Pi 500 系列和 CM5 系列。
- NVME 支持缺失。
- 散热管理问题。
- 音频功能未实现。
- 自动 CMA (Continuous Memory Area) 添加功能缺失。
重要提示:
- CMA 参数配置: 在启动后,需要在内核命令行中手动添加
cma=256M@0M-1024M 参数(使用 arm-image-installer 的 --args 选项),否则加速图形和其他功能将无法正常工作。之后,建议将此参数添加到 /etc/kernel/cmdline 以便新内核生效。
- 桌面镜像: 建议禁用自动挂起功能。
下载链接:
作者表示,在 Fedora 44 发布之前,会继续完善这些镜像并修复已知问题。 并且暗示可能存在一个“秘密”功能。
|
|
MCP is dead; long live MCP
好的,以下是根据您提供的文本生成的摘要,中文格式,字数控制在800字以内:
模型上下文协议 (MCP) 的误解与未来:从炒作到企业级工程
本文探讨了当前 AI 领域关于模型上下文协议 (MCP) 的讨论,指出 MCP 经历了一轮快速的炒作周期,目前正被 CLI 工具取代,但这种转变并非毫无道理,也存在着深刻的误解。
核心观点:
- 炒作周期: 类似于过去对 MCP 的热烈追捧,当前社会媒体和行业热衷于 CLI 工具,反映了一种快速变化的“潮流”。
- 上下文问题: 即使使用 CLI 工具,自定义 CLI 代理仍然会面临与 MCP 相似的上下文问题,且缺乏结构化支持。
- MCP 的两面性: 作者认为,直接调用 API 绕过 MCP 是一种合理选择,但流式 HTTP 传输的 MCP 在企业级应用中具有变革性意义。
- 企业级价值: 对于组织和企业而言,MCP 并非被淘汰,而是目前及未来的趋势,它能促进从个人“随意编码”到组织协调的“代理工程”的转变。
误解与澄清:
- Token 节省: CLI 工具在模型训练数据集中存在时,确实可以节省 token,但对于自定义 CLI 工具,需要提供明确的指令和文档,否则节省效果不明显。
- MCP 的复杂性: 作者指出,很多人只熟悉 MCP 的工具部分,而忽略了其更重要的 prompts (提示) 和 resources (资源) 功能,这些功能对于组织级别的 AI 代码代理工程至关重要。
- CLI vs MCP: 虽然 CLI 在某些场景下更有效,但对于需要集中管理、安全控制、可观测性以及动态内容更新的企业级应用,MCP 具有明显优势。
MCP 的企业级价值:
- 集中化能力: 通过 HTTP 传输的 MCP 允许在中心化服务器上运行代理逻辑,从而提供诸如数据库访问、图查询等更丰富的功能。
- 临时代理运行时: 在临时环境中(如 GitHub Actions),MCP 简化了对复杂后端工具的管理。
- 安全与认证: MCP 简化了认证和安全控制,允许通过 OAuth 管理 API 密钥,限制访问权限,并便于用户管理。
- 可观测性和遥测: MCP 易于集成 OpenTelemetry,方便监控工具使用情况,并评估其有效性。
- 动态内容交付: MCP 的 prompts 和 resources 功能允许动态生成和更新代码代理的提示和文档,确保始终保持最新状态,并支持组织范围内的知识共享。
总结:
作者认为,当前对 MCP 的负面评价是受到社交媒体炒作周期影响的结果。对于企业和组织而言,MCP 仍然是 AI 代理工程的关键技术,它能够促进组织从“随意编码”向“组织协调的代理工程”的转变,提升代码质量、安全性、可维护性和可观测性。应该避免盲目追求潮流,理性看待 MCP 的价值,并根据实际需求选择合适的工具和方法。
|
FCC chairman threatens TV broadcast licenses over news coverage
联邦通信委员会主席威胁收回广播电台执照,因新闻报道问题 (Federal Communications Commission Chairman Threatens Broadcasters with License Revocation Over News Coverage)
以下是对文章内容的总结:
联邦通信委员会 (FCC) 主席布雷ндан·卡尔 (Brendan Carr) 警告广播电台,如果其新闻报道存在“欺骗和扭曲事实”——也就是所谓的“假新闻”,将面临执照被取消的风险。此警告是在前总统唐纳德·特朗普 (Donald Trump) 对美国-以色列对伊朗的打击报道不满,以及国防部长彼特·赫吉塞斯 (Pete Hegseth) 批评新闻报道“让总统看起来不好”的背景下发出的。
主要内容:
- 执照威胁: 卡尔表示,广播电台必须遵守公共利益的规定,否则将失去执照。
- 特朗普的抱怨: 特朗普此前已多次表达对媒体报道的不满,并建议取消网络的广播执照。
- 此前警告: 卡尔此前已就类似问题向广播电台发出过警告,例如因播出 Jimmy Kimmel 的节目以及引发对 CBS 编辑 Kamala Harris 访谈的质疑而威胁收回执照。
- FCC 的权限: FCC 实际上不直接管理全国性网络,而是管理个别地方广播电台的执照。
- Nexstar 和 Sinclair 的行动: 美国最大的地方电视台拥有者 Nexstar Media Group 和 Sinclair Broadcast Group 曾因播出 Kimmel 的节目而暂停播出,后来又恢复播出。
- 平等时间调查: FCC 还对 ABC 的脱口秀节目《观点》(The View)展开了“平等时间”调查,原因是该节目邀请了民主党参议员候选人 James Talarico 参加节目。
- Colbert 的遭遇: CBS 晚间节目主持人 Stephen Colbert 因担心违反联邦公平规则,被网络阻止播出与 Talarico 的访谈,随后将访谈上传到 YouTube,获得了超过 900 万的点击量。
总结:
卡尔的威胁被视为对特朗普不满的媒体进行干预的尝试。 这种做法可能被视为 FCC 权力的前所未有的扩张,并且可能面临法律挑战。 总结来说,文章揭示了特朗普政府对媒体的施压,以及 FCC 在新闻内容监管方面的潜在权力扩张。
(Fortune 500 Innovation Forum 相关信息: 文章最后提到,11 月 16 日至 17 日将在底特律举办 Fortune 500 创新论坛,旨在探讨美国经济的未来发展方向。 欢迎申请参与。)
|
An ode to bzip
bzip 的压缩算法分析与应用 (bzip Compression Algorithm Analysis and Application)
这篇文章探讨了作者在 Minecraft 的 ComputerCraft 模组中压缩 Lua 代码的需求,并最终选择了 bzip 作为压缩算法。文章详细分析了 bzip 的优势,并对比了其他流行的压缩算法,阐述了其在文本数据(例如代码)压缩方面的卓越性能。
背景:
作者需要在有限的磁盘空间中压缩 ComputerCraft 模组中的 Lua 代码。虽然可以使用 LibDeflate,但其解码器体积过大。因此,作者寻找最短、最简单且压缩率最高的算法。
算法对比:
作者对比了多种压缩算法,包括 gzip、zstd、xz、brotli 和 lzip,结果表明 bzip 系列算法(bzip2 和 bzip3)在压缩 327KB 的 Lua 代码时表现最佳。具体压缩结果如下:
- 未压缩: 327005 字节
- gzip (zopfli --i100): 75882 字节
- zstd -22 --long --ultra: 69018 字节
- xz -9: 67940 字节
- brotli -Z: 67859 字节
- lzip -9: 67651 字节
- bzip2 -9: 63727 字节
- bzip3: 61067 字节
bzip 的独特之处:
文章指出,gzip、zstd、xz、brotli 和 lzip 等流行的压缩算法都基于 LZ77 算法,通过替换重复文本来压缩数据。而 bzip 则采用了不同的方法——Burrows-Wheeler Transform (BWT)。
- LZ77: 寻找并替换文本中重复出现的字符串,通过链接到先前出现的位置来压缩数据。
- BWT: 重新排列文本中的字符,将具有相似上下文的字符分组在一起。这使得压缩过程只需要查看几个相邻的字符,而无需寻找之前的重复出现。
BWT 的优势在于,它可以有效地利用代码中常见的字符序列,例如变量名、关键字和代码块。
bzip 的性能特点:
- 缺乏启发式算法:
bzip 算法是完全确定的,没有像 LZ77 算法那样需要进行启发式搜索,因此可以避免因参数调整不当而导致压缩率下降的问题。
- 简单解码器: 虽然
bzip 解码速度相对较慢,但在 Lua 等高级语言中,由于所有操作本身就比较慢,因此解码速度的差异并不显著。
- 解码器体积小: 作者通过优化解码器,例如不进行兼容性检查、将元数据嵌入到代码中等,进一步减小了解码器体积。
结论:
作者认为,bzip 算法是压缩 Minecraft ComputerCraft 模组 Lua 代码的理想选择。虽然它可能不是通用的最佳压缩算法,但在文本数据压缩方面表现出色,且解码器体积小,性能稳定。作者还提到,虽然没有发明新的算法,但通过选择合适的现有算法并进行优化,可以取得很好的压缩效果。
文章最后提到了数据压缩与机器学习之间的联系,并指出现代压缩算法往往能够识别出人类难以察觉的数据结构,并利用这些结构进行优化。
|
Hostile Volume – A game about adjusting volume with intentionally bad UI
总结:客户服务满意度调查
这份内容是一份简短的客户服务满意度调查,旨在收集玩家对一次“终身难得的游戏体验”的反馈。调查包含五个问题,涵盖了游戏体验的多个方面。
主要内容及细节:
调查目的: 收集玩家对游戏体验的满意度反馈,用于改进游戏设计和服务。
问题构成:
- 问题1 (热狗是三明治吗?): 这是一个看似与游戏无关的开场问题,可能是为了打破僵局,活跃气氛,或者测试玩家的幽默感。它不直接评估游戏体验,而是作为一种轻松的引入。
- 问题2 (整体满意度): 询问玩家对整个游戏体验的总体满意度。
- 问题3 (视觉设计/UI/开发者外观): 评估游戏的视觉设计、用户界面(UI)以及开发者(dev)的物理外观。这表明调查可能不仅仅关注游戏本身,也可能关注开发团队的形象。
- 问题4 (背景音乐): 询问玩家对游戏背景音乐的看法。
- 问题5 (关卡设计/机制): 评估游戏关卡设计和游戏机制。
访问音量控制: 调查末尾提到完成调查后可以访问音量控制,这意味着调查可能与游戏音频设置有关。
“终身难得的游戏体验”: 强调了这次游戏体验的特殊性,暗示调查结果对开发者来说非常重要。
总结:
这份调查旨在以轻松的方式收集玩家对游戏体验的反馈,涵盖了整体满意度、视觉设计、音频、关卡设计等多个维度,并最终引导玩家调整音量控制。开场问题是一个有趣的开端,可能旨在提升玩家的参与度。
|