每日HackerNews RSS

## 人工智能的信任骗局 几个世纪以来,人类一直试图将困难的任务转交给机器,这建立在施卡德和帕斯卡等发明家开创机械计算器的早期工作之上。这种对机器准确性的固有信任构成了当下大型语言模型(LLM)实施的“信任骗局”的基础。 这场骗局分为三个阶段:建立信任、利用情感和要求立即行动。LLM利用我们对机器可靠性的预先存在的信念,同时煽动*恐惧*——对失业和社会动荡的恐惧——并通过过度积极甚至卑躬屈膝的互动来激发*同情*。这创造了一种寄生社会关系,使用户对技术过度依赖。 紧迫感来自于关于人工智能发展速度的持续信息传递,以及适应或被抛弃的必要性。这种压力导致个人和组织大量投资于LLM,尽管在实现投资回报率方面高达95%的失败率。 最终,该论点认为,这是一场价值数万亿美元的欺骗。我们已经被条件反射地相信机器的“智能”,并且正在落入一个与现实不符的销售宣传中——LLM并非真正具有智能,并且承诺的好处大多是虚幻的。

这位作者发现自己对计算机科学知识存在一个缺口:程序在计算机上实际*运行*的详细过程。尽管他们具备基础知识,但仍然难以将代码、CPU 和系统调用联系起来。 为了理解,他们开始了独立研究,从各种(有时相互矛盾)来源中整理了近 40 页的笔记。结果是渴望创建一个全面的资源,解释从计算机启动到程序执行的整个过程——他们希望自己能找到的那种解释。 作者认为真正理解一个概念需要向他人解释它,并自信地表示即使是有经验的程序员也能在他们详细的探索中找到新的见解。他们邀请读者从第 1 章:“基础知识”开始。

## CPU.land:强烈推荐的计算机科学资源 Hacker News上的讨论指出[cpu.land](cpu.land)是一个极好的理解计算机工作原理的资源。用户广泛推荐给从计算机科学学生、教授到没有技术背景的人,赞扬其清晰易懂的解释。 对话还涉及到一个令人担忧的趋势:制造商通过安全启动和管理引擎(英特尔管理引擎、AMD安全技术)等功能对硬件施加越来越多的控制。一些人认为这会移除用户控制,可能创建后门和安全漏洞。虽然较老的硬件(~2005年的英特尔x86)提供更多的开放性,但现代CPU通常包含内置的安全功能,难以完全禁用。 尽管专注于CPU的“你”,一些用户指出该网站严重依赖操作系统概念。然而,它因提供扎实、快速的编程基础介绍,并从低级概念到高级抽象进行理解引导而受到赞扬。该网站的设计,包括一致的视线留白,也获得了积极的反馈。

1940年,在纳粹迅速占领丹麦和挪威之后,尽管两国毫无准备,抵抗运动迅速兴起。丹麦的克里斯蒂安十世国王几乎立即投降,而挪威则面临空降入侵,爱国的挪威人开始反击——即使是像打翻德国军官帽子这样的小型、勇敢的行为。 最初,挪威抵抗运动的重点是情报收集和由“米尔奥格”组织领导的秘密破坏活动,随后他们升级了行动。一项特别巧妙且不同寻常的行动涉及向英国特别行动执行委员会请求大量蓖麻油——一种强效泻药。这种油被秘密地替换成运往大西洋作战的德国U艇船员们所用的沙丁鱼罐头中的植物油。 潜艇兵们由此造成的广泛消化不良,证明了一种独特的破坏形式,从水下扰乱了德国的战争努力。这个故事突显了挪威人民抵抗占领的足智多谋和决心,表明抵抗运动采取了多种形式,从公开的反抗行为到秘密且令人不快的报复。

## 蓖麻油与二战破坏行动 - Hacker News 讨论摘要 一个 Hacker News 的讨论围绕一个历史轶事:二战期间,英国据称计划通过污染德国 U 艇的沙丁鱼口粮来破坏它们,使用的就是一种强效泻药——蓖麻油。目的是在北大西洋战役期间使 U 艇船员丧失行动能力。 用户们争论了这个计划的可行性,质疑蓖麻油的味道是否能被沙丁鱼掩盖,以及德国是否能追溯到来源。一些人指出蓖麻油历史上曾被用于有害目的,包括加利福尼亚州针对美洲原住民的种族灭绝。 对话延伸到对历史教训的讨论,评论涉及历史的周期性以及人们倾向于无视过去的错误。关于阿瓜卡连特卡胡伊拉族(Agua Caliente Band of Cahuilla Indians)及其与美国政府之间复杂关系的详细历史叙述也被分享,说明了通过合作和应对困境来生存。

## Tsonic:TypeScript 到原生 .NET 编译器 Tsonic 是一个编译器,它使用 NativeAOT 将 TypeScript/JavaScript 代码转换为快速的原生 .NET 可执行文件。它允许熟悉 TypeScript 的开发者构建高性能应用程序,利用 .NET 标准库和运行时。 **主要特性包括:**原生二进制文件(无需 JavaScript 运行时)、直接访问 .NET BCL、通过 NativeAOT 实现单文件可执行文件,以及完整的 .NET 互操作性。TypeScript 的特性,如类、async/await 和泛型,可以自然地映射到其 .NET 对应项。 Tsonic 利用 **tsbindgen** 从 .dll 或 NuGet 包生成必要的 CLR 绑定,确保准确的类型解析。它通过 npm 安装 (`npm install -g tsonic`),项目通过 `tsonic project init` 初始化。 除了核心功能外,Tsonic 还提供可选的兼容性包,如 `@tsonic/nodejs` 用于 Node 风格的 API,以及 `@tsonic/aspnetcore` 用于构建精简的 ASP.NET Core API。配置通过 `tsonic.json` 文件管理,该工具支持 npm 工作区用于大型项目。该项目采用 MIT 许可。

## Tsonic:一个TypeScript到原生代码的编译器 一个名为Tsonic ([tsonic.org](https://tsonic.org)) 的新项目最近在Hacker News上分享。Tsonic 将TypeScript代码编译成C#,然后利用NativeAOT链生成适用于Linux和macOS的原生代码可执行文件。 创建者jeswin强调了Tsonic与SharpTS等类似项目的主要区别,包括广泛的数据类型支持、与Node.js/JS库的兼容性,以及通过TypeScript定义文件访问.NET基础类库(BCL)。虽然Tsonic目前缺乏解释器,并且不编译到.NET IL,但它通过标准的TypeScript编译提供工具支持。 讨论显示,当前的调试依赖于微软的调试器,未来计划进行改进。初步反馈还指出移动网页显示问题,开发者正在解决。Tsonic旨在通过利用.NET生态系统来扩展TypeScript的功能,同时编译出高性能的本地应用程序。

## 1D Pong:一款快节奏LED反应游戏 1D Pong是一款使用ESP32微控制器和55个LED WS2812B灯条构建的两人反应游戏。玩家通过在正确的时间按下按钮,将“球”(移动的白色LED)击入对方区域来竞争。 游戏玩法动态:每个得分后区域缩小,增加难度,并且在“球”进入你的区域时击打它会获得速度加成。首先达到5分的玩家获胜。游戏具有吸引模式,包含13种可定制的动画,在空闲时显示。 **主要特点:** * **快节奏、两人对战。** * **动态难度**,区域缩小。 * **提前击打奖励**,增加速度。 * **模块化动画系统**,易于定制。 * **可配置参数**,如区域大小和获胜分数。 该项目是开源的(MIT License),并鼓励贡献,建议包括添加音效、网络界面和单人模式。详细的设置说明、组件规格和代码可在GitHub上找到:[https://github.com/yourusername/1d-pong](https://github.com/yourusername/1d-pong)。

## 39C3 上的 1D-Pong - Hacker News 摘要 一位开发者分享了他们为混沌通信大会 (39C3) 制作的 1D-Pong 游戏,灵感来自去年的类似游戏。这款简单却令人上瘾的游戏,具有加速机制,在活动中很受欢迎,甚至在 Hackaday 播客中被提及。 开发者成功地使用 Claude Code 清理并发布了代码库到 GitHub,称赞其性能无误。这引发了一场讨论,揭示了类似“1D”游戏的历史,包括在 Exploratorium 看到的“Line Wobbler”、1D RPG,甚至早期基于 LED 的游戏,如复古电脑上的“Kill the Bit”。 几位评论者分享了他们自己的 1D 游戏项目和扩展想法,包括联网版本和键盘控制。对话还以一种有趣的方式争论了游戏的维度,将时间作为一个因素考虑在内。该项目的源代码可在 GitHub 上找到,鼓励其他人构建自己的版本。

## 真正的AI安全威胁:并非你想象的那样 人们对AI自主入侵系统的恐惧很大程度上是炒作。*真正*的安全风险来自于将理解不足的AI系统——特别是大型语言模型(LLM)——快速整合到现有基础设施中引入的**复杂性**。这会导致泄露、停机和漏洞,通常是由于仓促实施和缺乏彻底的安全分析造成的。 供应商优先考虑炒作而非责任,推出带有夸大声明的产品。例如“AI破解密码”或“利用漏洞”的说法已被证明要么无效,要么依赖于人为设计的场景。最近关于“AI策划”的网络攻击的说法通常只是重新包装的自动化,突出了一个根本缺陷:LLM无法区分数据和指令,使其容易受到提示注入攻击。 核心问题不在于AI的智能,而在于其固有的不安全性。漏洞、不可靠的设置以及无法正确审计AI活动会造成重大风险。即使“自主研发”模型也无法解决问题,因为整个机器学习管道都容易受到攻击。 最终,保护你的系统仍然依赖于基本的安全实践——威胁建模、更新、培训和强大的工程技术。不要害怕失控的AI;要害怕由实施不当且不安全的AI工具造成的自伤。

## AI 与网络安全:复杂的关系 一篇关于人工智能损害网络安全的文章引发了 Hacker News 的讨论,揭示了一种细微的观点。最初的担忧是人工智能会 *增加* 漏洞,但许多评论员认为恰恰相反:人工智能凸显并加剧了 *现有* 的安全弱点。 多位用户指出,当前的人工智能工具,尽管备受炒作,但常常存在缺陷且不可靠。然而,能力正在迅速提高,人工智能现在能够自主完成 CTF 挑战并生成不错的代码。核心问题并非人工智能 *创建* 的新漏洞,而是人工智能能够快速利用的现有、由人类编写的大量漏洞。 讨论强调了强大的攻击面管理和基本安全实践的重要性——这些是公司经常忽视的方面。保护人工智能应用程序需要与传统软件相同的严谨性,解决诸如授权和注入缺陷等常见问题。归根结底,问题不在于人工智能本身,而是一种更广泛的模式,即优先考虑快速人工智能实施,而非安全开发和数据保护。

## LLM 接口中的速度与灵活性平衡 大型语言模型 (LLM) 提供了强大的自然语言交互能力,但其缓慢的推理速度(数十秒)与传统的图形用户界面 (GUI) 相比造成了显著的延迟。这并非避免使用 LLM 的理由,而是需要构建更智能的界面,利用两种方法的优势。 作者开发了“popup-mcp”工具,该工具能够使 LLM 动态生成包含结构化 GUI 元素(如复选框、下拉菜单和滑块)的弹出窗口。这允许快速的毫秒级响应交互,从而大大降低*平均*延迟——交换信息所需的总时间。 主要功能包括元素的条件可见性(创建对话树)和用于用户澄清的自动“其他”选项,为 LLM 误解意图时提供退出机制。这种方法可以通过用快速的 GUI 选择代替多次聊天回合,将交互时间缩短 25-75%。 类似的功能存在于 Claude 的代码规划模式等工具中,但“popup-mcp”通过条件元素对此进行了扩展。作者提倡将此类结构化 GUI 集成到 LLM 聊天应用程序中,以提供响应迅速且灵活的用户体验。

## Shell 脚本中的密钥处理:总结 在 shell 中处理敏感信息(如 API 令牌)时,标准做法可能会无意中导致泄露。直接将密钥包含在命令行中(例如 `curl -H 'Authorization: Bearer <token>'`)会通过进程列表(Linux 上的 `/proc`)暴露它们。虽然 `hidepid` 可以缓解此问题,但更好的方法是完全避免在命令行中使用密钥。 替代方案包括将 header 写入文件(具有限制性权限)或使用进程替换 (`curl -H @<(echo '...')`) 创建包含密钥的临时、非持久性“文件”。然而,shell 历史记录仍然存在风险。 为了避免历史记录日志记录,使用 shell 变量代替直接赋值 (`token=...`),或使用 `read -r -s` 安全地输入令牌。从剪贴板或密码管理器检索密钥也是可行的选择。 避免将变量导出到环境变量中,因为这会将密钥传播到子进程,增加意外暴露的风险——尤其是在使用 Terraform 等工具时。虽然这些预防措施可能显得过分,但了解这些泄露途径对于安全处理敏感数据至关重要,并强调了使用更安全的编程语言的潜在好处。

## Shell环境中的密钥处理:总结 最近在Hacker News上讨论了在Shell环境中安全管理密钥的方法。核心挑战是防止通过历史文件、日志或进程列表意外泄露。 讨论了几种方法。Linux内核密钥环 (`keyctl`) 提供进程范围、有时限的密钥存储,但缺乏广泛的软件支持,并且存在API设计问题。替代方案包括避免使用环境变量(容易通过`/proc/*/environ`泄露)、使用带有CLI工具的密码管理器以及利用systemd-creds进行加密存储。 强调的实用技术包括使用进程替换 (`<(command)`) 完全避免Shell变量、在命令前添加空格以绕过历史记录保存以及利用子Shell来限制变量作用域。 及时覆盖和取消设置Shell变量的重要性也被指出。 最终,讨论强调了纵深防御。虽然root权限会破坏大多数保护措施,但最大限度地减少暴露并采用多层安全措施可以显著降低意外泄露密钥的风险。较新的功能,如`memfd_secret`,提供内核级别的保护,但相对较新,需要特定的内核版本。

## 1000张空白卡片:摘要 “1000张空白卡片”是一款独特的聚会游戏,以其不断演变的规则和玩家创作的内容为特色。游戏从一叠空白卡片开始,玩家在游戏过程中协作设计和添加卡片,实际上是在*创造*游戏本身。没有预定义的规则;相反,规则由所玩的卡片决定,鼓励创造力、反讽,甚至打破规则。 游戏通常分为三个阶段:牌组创建、游戏过程和“尾声”,玩家决定保留哪些卡片用于未来的游戏。虽然80-150张牌的牌组很常见,但游戏具有灵活性,可以容纳任何数量的玩家和游戏时长。 这款游戏起源于1996年,由Nathan McQuillen发起,通过社交网络传播,并因在《GAMES Magazine》和《Hoyle’s Rules of Games》中的报道而获得认可。其持久的吸引力在于其开放性,允许进行无尽的定制,并以一种有趣的方式拒绝传统的游戏结构。最终,“1000张空白卡片”不仅仅是关于*获胜*,更多的是关于协作叙事和共享、荒诞创作的乐趣。

## 1000张空白白卡:一场涌现规则的游戏 一则Hacker News讨论围绕着“1000张空白白卡”游戏,玩家在用一副标准扑克牌进行游戏时创造和执行规则。该游戏灵感来自“Mao”,其核心机制在于玩家秘密地添加规则,并在他人违反规则时不作解释地惩罚他们。 对话强调了游戏对社会动态的依赖以及新玩家难以理解隐藏规则的困难。成功游玩的策略包括拥有多名经验丰富的玩家,并从简单的规则开始。还提到了“荷兰Mao”(每个人事先创建一个隐藏规则)和“披萨盒”(掷硬币创建规则)等变体。 许多评论者分享了童年和大学期间玩类似游戏的愉快回忆,强调了其创造性和即兴发挥的方面。讨论扩展到相关的概念,如元游戏、动态规则系统以及通过游戏玩法进行协作叙事的乐趣。最终,游戏的吸引力在于其灵活性以及它所产生的涌现的、常常是混乱的乐趣。

## AXIS:一种系统编程语言 AXIS 是一种新的、极简的系统编程语言,旨在提供 C 级别的性能,同时具有类似 Python 的语法。它直接编译为 x86-64 机器码,*无需*依赖外部链接器、汇编器或运行时库——从而产生小型、高效的可执行文件(约 4KB + 代码大小)。目前,它仅支持 Linux x86-64。 其关键原则包括零成本抽象、对系统资源的显式控制、与汇编代码的直接映射,以及对简单性的关注——目标是在一周内学会。AXIS 具有显式类型、默认的不可变变量和硬件原生整数类型(i8-i64, u8-u64)。 编译过程包括词法分析、语法分析、语义分析、代码生成和汇编,所有这些都由 Python 脚本处理。尽管仍处于早期开发阶段(MVP),AXIS 支持基本的控制流、算术运算、比较和函数调用。它优先考虑可预测的性能和通过系统调用进行直接系统访问。 AXIS 是一个实验性项目,正在进行中的开发重点是扩展功能、优化和平台支持。欢迎贡献!

## Axis:一种新的系统编程语言 AGDNoob推出了Axis,一种新的系统编程语言,作为编译器设计学习项目而构建。它直接编译为x86-64机器码,*不*使用LLVM或运行时,旨在实现零依赖和类似Python的可读性。目前仅支持Linux,代码量约为1500行Python,所有测试程序均可运行并可通过单个命令安装。 然而,初步反馈指出该语言的语法目前类似于Rust,尽管作者意图使其具有类似Python的特性。人们对嵌套`while`循环的潜在限制表示担忧,因为x86汇编中的寄存器分配可能存在挑战。 作者承认Axis的语法类似于Rust,并且实现基于缩进的语法很复杂,因此为了简化,在本初版本中选择了花括号。他们正在寻求对设计和方法的反馈,并愿意探索使Axis与Zig等现有语言区分开来的特性。该项目优先考虑一个最小的核心语言,并有可能在后期添加更高级的功能。

更多

联系我们 contact @ memedata.com