2025 12 25 HackerNews

2025-12-25 Hacker News Top Stories #

  1. Fabrice Bellard 发布 MicroQuickJS,一款为嵌入式设计、仅需约 10KB 运行内存的极小型 JavaScript 引擎,支持接近 ES5 的子集但在若干特性上有限制。
  2. 司法部发布的爱泼斯坦文件因使用非真正红印的遮挡导致底层文本可被恢复,暴露出机构在文件删减工具与流程上的安全缺陷。
  3. Meta 在服务器上采用原为 Steam Deck 设计的 Linux 调度器 SCX-LAVD,称其在多种 CPU/内存配置下能显著改善负载均衡与延迟敏感任务表现。
  4. x-ray 是 Free Law Project 开发的 Python 工具,用于检测 PDF 中看似被遮盖但实际可选中的无效红印,并输出结构化结果便于修复。
  5. 面对企业网络封锁和高延迟导致的视频帧积压,作者将实时 H.264 流替换为 HTTP 轮询的 JPEG 截图方案,在不稳定网络下获得更可靠的可用性。
  6. UniFi 推出口袋大小的旅行路由器,可自动绑定站点并配置 Wi‑Fi、Teleport VPN 与位置策略,方便差旅时保持一致的远程访问与管理。
  7. 联邦法官暂时叫停德州要求应用商店强制年龄验证并自动加入家庭共享的法律,认为其可能违反第一修正案并过度限制成年人获取言论。
  8. 《纽约时报》调查称马斯克领导的“政府效率部”(DOGE)宣称削减万亿支出但实际节省甚微,反而造成行政混乱并削弱公共服务。
  9. 记者发现 LG 电视默认开启 Live Plus,通过自动内容识别追踪屏幕内容以推送个性化广告,建议用户在系统设置中关闭以保护隐私。
  10. 引用纳博科夫的戏谑性建议:学好俄语的最好方法就是在俄罗斯出生并成长,以此夸张地强调非母语者学习俄语的难度。

Fabrice Bellard 发布 MicroQuickJS (Fabrice Bellard Releases MicroQuickJS) #

https://github.com/bellard/mquickjs/blob/main/README.md

MicroQuickJS(简称 MQuickJS)是一个专为嵌入式系统设计的 JavaScript 引擎,可在仅 10 千字节内存下运行,整体代码体积约 100 千字节(含 C 库),性能与 QuickJS 相当。

该引擎支持的 JavaScript 子集接近 ES5 标准,但采用更严格的模式,禁用部分易出错或低效的语言特性。其核心设计包括:使用追踪式垃圾回收机制、不依赖 CPU 栈、字符串以 UTF-8 格式存储,从而显著降低内存占用。

主要功能与用法:

  • 提供 REPL 工具 mqjs,支持脚本执行、交互模式、表达式求值和文件包含。
  • 可通过 -o 选项将脚本编译为字节码并保存,后续可直接运行字节码文件,提升启动效率。
  • 支持指定内存限制(如 --memory-limit 10k),适用于资源受限环境。
  • 字节码格式根据目标平台的字节序和位宽(32 或 64 位)生成,可通过 -m32 强制输出 32 位字节码,便于跨平台兼容。
  • 使用 --no-column 可移除调试信息中的列号,节省存储空间。

严格模式下的关键限制:

  • 仅支持严格模式,禁止使用 with 关键字,全局变量必须用 var 声明。
  • 数组不允许存在空洞(holes),越界写入会抛出错误;若需稀疏结构,应使用普通对象代替。
  • 数组字面量中出现空位(如 [1, , 3])视为语法错误。
  • 仅支持全局 eval(间接调用),无法访问或修改局部变量。
  • 禁止值包装,例如 new Number(1) 不被支持。
  • 正则表达式仅对 ASCII 字符进行大小写折叠,匹配行为为 Unicode 级别(即 /./ 匹配一个 Unicode 代码点)。
  • 字符串方法 toLowerCase/toUpperCase 仅处理 ASCII 字符。
  • 仅支持 Date.now() 方法,其他日期操作不可用。
  • for...of 仅支持数组迭代,暂不支持自定义迭代器。
  • 支持 TypedArray 和部分 ES5 扩展功能,如 \u{hex} 字符转义、Math.imulMath.clz32 等。

总体而言,MQuickJS 是一个轻量、高效、安全的 JavaScript 引擎,特别适合在资源有限的嵌入式设备上运行脚本程序。


HN 热度 1352 points | 评论 513 comments | 作者:Aissen | 1 day ago #

https://news.ycombinator.com/item?id=46367224

  • 如果 MicroQuickJS 在 2010 年就可用,Redis 脚本可能就会采用 JavaScript 而不是 Lua,Lua 的选择更多是出于实现层面的考量而非语言本身的优势。
  • Lua 的语法虽然不被所有人喜爱,但其设计选择有充分理由,且其独特语法能让人清晰识别语言风格,具有显著辨识度。
  • Lua 支持尾调用优化(TCO),这是 JavaScript(尽管 ES6 规范中包含 TCO)在主流实现中普遍缺失的关键特性,使得 Lua 更适合编写递归结构的程序如编译器。
  • 尽管 JavaScript 在语法上更熟悉,但其语义设计存在诸多问题,反而削弱了语法熟悉带来的优势。
  • Lua 是目前少数具备 TCO 的轻量级语言,这使得开发者可以完全避免循环,仅用递归实现逻辑,是一种编程上的解放。
  • 与 Lua 相比,JavaScript 在实现递归和编译器开发方面存在根本性限制,而 Lua 能够可靠地支持无限制的尾调用。
  • 一些人指出,虽然 ES6 规范要求支持 TCO,但实际浏览器(如 Chrome、Firefox)并未实现,因此该特性在实践中仍属“规范上的虚构”。
  • 有观点认为,Lua 的语法设计虽不主流,但其清晰的风格对非专业用户更友好,有助于降低编程门槛。
  • 除了 Lua,Scheme 和 Tcl 也支持尾调用优化,但 Scheme 的支持是语言规范强制要求,而 Tcl 需要特殊命令,使用上不够自然。
  • 尾调用优化本质上是语言规范层面的特性,而非仅依赖编译器实现,真正支持“无限制尾调用”的语言才具备该能力。
  • 语言规范中对尾调用的定义应关注“尾位置调用”是否可无限嵌套,而非具体实现方式(如跳转或栈帧重用),这是语言设计的核心。

部分爱泼斯坦文件的删减内容正在被恢复 (Some Epstein file redactions are being undone) #

https://www.theguardian.com/us-news/2025/dec/23/epstein-unredacted-files-social-media

近期,有关杰弗里・爱泼斯坦案件的文件中,部分被编辑的内容通过社交媒体传播,引发关注。这些文件由美国司法部发布,显示出通过 Photoshop 技术或简单的文本高亮复制粘贴,可以还原部分被遮蔽的信息。

在对爱泼斯坦的遗产执行人达伦・K・印迪克和理查德・D・卡恩提起的民事案件中,发现了一些被编辑的指控,涉及爱泼斯坦及其同伙如何促进儿童性虐待的行为。该文件的修订版提到,印迪克在 2015 年至 2019 年间签署了超过 40 万美元的支票,支付给包括一名前俄罗斯模特在内的年轻女性模特和演员。

美国维尔京群岛的检方在 2022 年与爱泼斯坦的遗产、印迪克和卡恩达成了 1.05 亿美元的民事性交易和解,此外还包括出售爱泼斯坦居住的小圣詹姆斯岛所得的一半收益。司法部在宣布和解的新闻稿中并未承认任何责任。

印迪克是一名长期代表爱泼斯坦的律师,至今未被联邦当局起诉。他于 2022 年被帕尔拉托尔律师事务所雇佣,该事务所曾为特朗普提供辩护。特朗普对此事一再否认与爱泼斯坦的犯罪活动有关。

文件中还提到,爱泼斯坦的企业如何试图掩盖其犯罪行为,包括支付大额资金给参与证人,甚至威胁受害者,以削弱他们的可信度。此外,还有信息显示爱泼斯坦指使证人销毁与正在进行的诉讼相关的证据。

文件的某些部分涉及爱泼斯坦所持公司的财产税问题,这些财产未在公司的资产负债表中反映出来。比如,某公司的资产负债表上只显示有现金 18824 美元,而该公司在 2018 年支付的财产税高达 106394.60 美元。

最近通过的《爱泼斯坦文件透明法案》允许司法部保留某些信息,例如受害者的个人信息和可能危害正在进行的联邦调查的材料。但目前尚不清楚这些财产资料是否符合该法案的编辑标准,司法部的相关询问也尚未得到回复。


HN 热度 934 points | 评论 726 comments | 作者:vinni2 | 1 day ago #

https://news.ycombinator.com/item?id=46368946

  • 律师使用简单的黑框遮盖文本进行“红印”操作,实际上并未删除底层文本,导致敏感信息可被复制恢复,这种错误频繁发生。
  • 许多法律机构和政府部门因预算限制使用非专业 PDF 工具,缺乏真正的红印功能,误将高亮当作红印,存在严重安全隐患。
  • 专业红印功能实现复杂,需处理文本、图像、OCR、矢量图形等多种内容,普通 PDF 编辑器难以完整实现。
  • Adobe Acrobat Pro 等专业软件具备真正红印功能,能彻底删除内容及元数据,但价格昂贵,导致一些机构为节省成本而放弃使用。
  • 一些开源或免费 PDF 工具声称支持红印,但实际效果参差不齐,可能存在类似漏洞,需谨慎评估其安全性。
  • 红印工具设计应更符合用户直觉,例如在红印时高亮显示隐藏内容,或弹出警告提示用户当前操作未真正删除数据。
  • 苹果的 Preview 应用在红印功能上表现良好,提供明确的“红印”工具,能真正删除内容,且操作时有明确提示。
  • 该类问题频发并非单纯因人员 incompetence,而是软件工具本身设计缺陷,反映出工具生态对安全功能的忽视。
  • 一些机构可能因追求效率而忽视有效性,导致即使流程高效,也因方向错误而造成严重后果,如 DOGE 项目所体现的“效率但无效”问题。
  • 红印失败事件反而可能为红印工具带来免费宣传,让更多人意识到该类风险,推动技术改进。

Meta 在其服务器中采用为 Valve Steam Deck 设计的 Linux 调度器 SCX-LAVD (Meta is using the Linux scheduler designed for Valve’s Steam Deck on its servers) #

https://www.phoronix.com/news/Meta-SCX-LAVD-Steam-Deck-Server

Meta 公司正在其大型服务器集群中使用原本为 Valve Steam Deck 设计的 Linux 调度器 SCX-LAVD。该调度器名为“Latency-criticality Aware Virtual Deadline”,由 Igalia 公司受 Valve 委托开发,相较于传统的 EEVDF 调度器,在 Steam Deck 上表现出相似或更优的性能。SCX-LAVD 基于 sched_ext 框架,已在 CachyOS Handheld Edition、Bazzite 等 Linux 游戏项目中得到应用。

令人意外的是,Meta 发现这一调度器在大规模服务器环境中同样表现优异。在 2025 年东京 Linux Plumbers Conference 上,Meta 工程师展示了如何将 Steam Deck 的调度器适配到其服务器基础设施中,并将其作为“Meta 的新默认调度器”。该调度器在不同 CPU 和内存配置下均能良好运行,具备优秀的负载均衡能力,尤其在 CCX/LLC(核心集群/最后一级缓存)边界间表现突出。

Meta 表示,SCX-LAVD 无需针对特定硬件或工作负载进行定制,即可满足其多样化服务器场景的需求,因此被考虑作为默认调度方案。相关技术演讲和幻灯片已在会议中发布,可供进一步了解。


HN 热度 677 points | 评论 377 comments | 作者:yellow_lead | 1 day ago #

https://news.ycombinator.com/item?id=46366998

  • Valve 推动了 Linux 生态的发展,其在游戏兼容性、显示输出和帧率调度方面的投入,带动了 Proton/Wine、Wayland HDR/VRR 支持以及高效调度器等技术进步。
  • 游戏开发领域对软硬件优化的贡献被严重低估,许多技术革新源于游戏行业的需求。
  • 高昂的内存价格可能促使业界重新重视性能优化,减少软件臃肿。
  • 游戏开发者在资源管理方面的经验可被应用于普通软件开发,例如为每个任务设定资源预算以提升整体系统效率。
  • 自 20 世纪 80 年代以来,游戏产业一直是个人计算平台发展的主要驱动力,推动了 CPU 超频、3D 图形 API、硬盘速度和 CUDA 等技术的发展。
  • 游戏更新包体积庞大并非单纯因为“臃肿”,而是出于优化加载时间的策略,如通过预处理数据实现顺序读取。
  • 某些游戏(如《Helldivers》)虽具备增量更新能力,但因缺乏客户端的补丁合并机制,导致磁盘占用持续增加。
  • 为减小更新包体积而采用的预处理技术,实际上会引入大量冗余数据,反而增加了整体存储负担。
  • 将后处理步骤纳入更新流程,而非在开发阶段进行预处理,可能是一种更优的解决方案。
  • 小型更新与高质量压缩之间存在权衡:压缩率越高,增量更新越不友好;反之亦然。
  • 未来可考虑由客户端负责资源的打包与解包,但会显著增加更新时间,对开发者也造成额外限制。
  • 游戏加载优化技术源于早期存储介质(如磁带、CD)的顺序读取需求,如今在 SSD 普及后意义已减弱。
  • 在流媒体游戏场景中,优先下载首场景资源可实现边下载边游玩,提升用户体验。
  • Linux 在内核特性方面领先于 Windows 多年,许多功能 Linux 早已实现,而 Windows 才刚刚引入。
  • Windows 在微内核架构和多系统兼容性方面仍优于 Linux,支持用户态驱动和多子系统(如 WSL)。
  • Linux 虽支持内核热补丁,但核心组件替换风险高,驱动和文件系统无法独立重启。

X-ray:用于检测 PDF 文档中无效红印的 Python 工具 (X-ray: a Python library for finding bad redactions in PDF documents) #

https://github.com/freelawproject/x-ray

x-ray 是一个由 Free Law Project 开发的 Python 工具,用于检测 PDF 文件中是否存在无效的红印(bad redactions)。许多人在处理敏感信息时,仅通过绘制黑色矩形或高亮覆盖文字来“红印”,但这种方式并未真正移除文本内容,用户仍可通过选中文本恢复原始信息,存在严重安全隐患。

该工具通过分析 PDF 中的文本与图形层关系,识别出那些看似被遮盖但实际上可被选中的文本区域。它能准确检测出这些“无效红印”,并返回具体位置和内容,帮助用户发现潜在的信息泄露风险。

x-ray 支持多种使用方式:可通过命令行直接运行,输入本地文件路径或网络 URL;也可作为 Python 库导入,用于程序化检查。输出为结构化 JSON 格式,包含页面编号、红印的边界框坐标(bbox)以及被遮盖的原始文本内容,便于与其他工具(如 jq)集成处理。

项目已支持 Python 3.10 及以上版本,使用 uv 或 pip 均可轻松安装。其代码开源,遵循 BSD-2-Clause 许可证,欢迎社区贡献,尤其需要解决更多复杂红印形式的识别问题。

目前 x-ray 已在 Free Law Project 的大规模 PDF 收集中投入使用,帮助发现并修复大量无效红印问题,提升数据安全性和透明度。


HN 热度 667 points | 评论 115 comments | 作者:rendx | 1 day ago #

https://news.ycombinator.com/item?id=46369923

  • X-ray 是一个用于检测 PDF 文档中不良红印的 Python 库,旨在帮助识别红印漏洞,提升公众对红印安全问题的认知。
  • 红印标记本身可能泄露信息,例如通过黑框长度推测被遮盖文字的长度,进而推断内容。
  • 当前红印系统普遍缺乏对字体度量和字形间距攻击的防护,AI 结合字体信息可高精度还原被遮盖内容。
  • 有研究曾发现字形间距攻击,但因涉及敏感性未公开,担心被滥用导致大规模信息泄露。
  • 保持技术沉默虽出于保护目的,但可能让已发布文档长期暴露于风险中,不利于问题解决。
  • 红印应避免仅遮盖文字,而应使用固定宽度的遮盖块,并加入随机化处理以防止长度泄露。
  • 单词级红印在 AI 高度发达的今天已不可靠,尤其当红印内容为姓名等可预测信息时。
  • 名字长度、上下文、拼写错误等信息可被用于辅助还原被红印内容,甚至推断出实体数量。
  • 使用等宽字体可减少字间距泄露风险,但并非根本解决方案。
  • AI 可能会“幻觉”式生成被红印内容,导致错误信息被当作真相传播,带来更大风险。
  • PDF 格式因结构复杂、难以安全重排,不适合需要长期红印处理的文档,应考虑使用可重排格式如 EPUB。
  • 红印并非完全不可行,关键在于在透明与隐私保护之间找到平衡,不能因担忧而放弃所有红印。

用 JPEG 截图替代 H.264 流媒体(效果更好) (We replaced H.264 streaming with JPEG screenshots (and it worked better)) #

https://blog.helix.ml/p/we-mass-deployed-15-year-old-screen

文章讲述了作者在构建 AI 平台 Helix 过程中,为实现低延迟屏幕共享功能所经历的技术探索与最终的“回归原始”选择。

最初,团队投入三个月时间打造了一套基于 WebCodecs 和 H.264 编码的高性能视频流系统,使用 WebSocket 传输,支持 60fps、40Mbps、亚 100ms 延迟,依赖硬件加速,技术上非常先进。然而,该系统在企业网络环境下遭遇严重问题:企业防火墙通常封锁 UDP 和非 443 端口,导致 WebRTC 无法使用,而自建 WebSocket 管道虽能绕过防火墙,却在高延迟或网络拥塞时表现极差——TCP 的可靠性导致帧堆积,视频严重滞后,用户看到的是 30 秒前的画面,已失去实时意义。

团队尝试多种优化方案,包括仅发送关键帧(IDR 帧)以降低依赖,但发现底层 Moonlight 协议在检测到无 P 帧时会直接停止发送,导致只收到一帧后彻底中断。尝试实现拥塞控制也因复杂度过高而放弃。

最终,作者在一次调试中偶然发现,通过 HTTP 获取 JPEG 格式的屏幕截图,响应极快、画面清晰、无延迟、无解码依赖。即使网络差,也只会减少帧率,但每一帧都完整可靠。150KB 的 JPEG 质量远超 500KB 的 H.264 关键帧,且传输更稳定。

于是团队做出“反直觉”决策:用 HTTP 轮询 JPEG 截图替代复杂视频流,每秒最多 10 帧,实现“伪实时”效果。同时保留原有的 WebSocket 通道用于传输键盘鼠标等小数据量输入,确保交互不中断。

更进一步,他们实现了智能切换机制:网络良好时使用 H.264 视频流;网络恶化时自动暂停视频,转为轮询截图;恢复后用户可手动重连视频。整个切换逻辑仅用 15 行代码实现。

文章最后调侃了系统曾出现的“振荡问题”——因视频暂停后 WebSocket 延迟骤降,系统误判网络恢复而频繁切换,导致体验混乱,最终通过引入延迟阈值解决。

总结:在真实网络环境下,简单方案往往胜过复杂系统。JPEG 截图凭借其自包含、低依赖、高容错的特性,成为比 H.264 更可靠的实时屏幕共享方案。技术的胜利不在于“多先进”,而在于“多可靠”。


HN 热度 503 points | 评论 310 comments | 作者:quesobob | 1 day ago #

https://news.ycombinator.com/item?id=46367475

  • 该文章的技术方案存在明显问题,10Mbps 的带宽足以传输静态图像,问题可能源于编码设置不当或编码器质量差。
  • 仅发送关键帧的方案不可行,但可通过设置短关键帧间隔来解决,无需完全放弃 H.264。
  • 文章未充分利用现有编码工具,反而重新发明类似 MJPEG 的方案,效率低下。
  • 作者应优先优化现有编码器配置,如降低比特率、关键帧间隔和帧率,而非另起炉灶。
  • 该问题本质是单 TCP 连接传输视频流的瓶颈,应采用 DASH 或 HLS 等成熟流媒体解决方案。
  • 作者可能缺乏经验,且在 AI 热潮中依赖 LLM 生成内容,导致技术方案草率。
  • 重新发明技术虽可能节省短期成本,但长期维护和调试成本更高,未必划算。
  • 3 个月开发 H.264 流的复杂度远高于使用 fetch 循环发送 JPEG,说明技术选型存在严重问题。
  • 文章写作风格明显带有 LLM 特征,如“关键洞察”“自包含无污染”等夸张用语,结构模板化。
  • 作者使用 AI 工具(如 Opus)撰写文章,进一步支持其内容为 AI 生成的推测。
  • 文章风格类似 Medium 上的“伪技术文”,用夸张修辞包装平淡技术问题,缺乏真实技术深度。
  • 作者未提及 DASH 或 HLS,但实际可使用 Dash.js 等工具,说明对现有生态了解不足。
  • 有 AI 检测工具显示文章约 80% 为 AI 生成,风格特征明显,如滥用破折号、随意比喻等。
  • 作者对编码器和流媒体协议理解不深,导致方案设计不严谨,技术实现粗糙。
  • 使用 TCP 传输 JPEG 虽能保证完整性,但无法解决延迟问题,与 UDP 机制混淆。

UniFi 旅行路由器介绍视频 (Unifi Travel Router) #

https://blog.ui.com/article/travel-in-style-unifi-style-unifi-travel-router

UniFi Travel Router 介绍视频,展示了一款便携式网络设备如何让用户的网络体验随身携带。该路由器体积小巧,可放入口袋,开机即用,无需重新配置,即可在任何地点复现熟悉的网络环境。

核心功能包括:自动应用基于位置的策略与 Teleport 连接,实现即时路由和 VPN 保护;绑定至现有 UniFi 网站后,可自动配置 Wi-Fi 和远程访问,确保跨地点的一致性。所有连接保持稳定,不受位置变化影响。

支持多种上行链路方式:以太网、无线网络或通过手机热点的 5G 连接,系统会自动处理酒店等场景下的捕获门户登录,后台静默完成认证过程,保障无缝连接。

设备采用统一控制平面,多链路并行工作,性能强劲,适合移动办公与差旅使用。用户可继续使用已有的 UniFi 设备与工具,实现即插即用,零摩擦组网。

整体设计强调“轻装出行,始终在线”,让专业级网络管理体验不受地理位置限制。


HN 热度 444 points | 评论 384 comments | 作者:flurdy | 1 day ago #

https://news.ycombinator.com/item?id=46371135

  • Tailscale 是基于 WireGuard 的简化版 VPN 服务,能通过常见身份验证方式(如 Google、Apple ID)轻松管理设备访问权限。
  • 使用 Tailscale 可以无需复杂配置即可实现设备间安全通信,如同在同一个局域网内,特别适合远程访问家庭网络中的设备。
  • Tailscale 自动处理设备 IP 地址查找和网络发现,无需维护域名或固定公网 IP,极大简化了远程访问的设置。
  • 通过 Tailscale 可以将流量通过家庭网络节点进行出口,实现全球范围内“仿佛在家中上网”的体验。
  • Tailscale 支持多平台客户端,包括手机、电脑、Apple TV 等,适合家庭和个人用户无缝接入。
  • 对于已有稳定自建 VPN 的用户,Tailscale 提供的便利性有限,但对新手或追求简单配置的用户极具吸引力。
  • Tailscale 采用零信任网络架构,基于身份认证控制访问,同时支持网络 ACL 和 DNS 自动解析。
  • Tailscale 支持 P2P 直连通信,也支持通过中继服务器实现连接,适应不同网络环境。
  • 有开源替代方案 Headscale,可自建 Tailscale 服务端,实现完全控制和成本节省。
  • Tailscale 的官方文档和宣传语使用大量技术术语,对新手不够友好,但社区中的解释更贴近实际使用场景。
  • 用户普遍认为 Tailscale 的核心价值在于“极简配置 + 强大功能”,尤其适合希望快速建立安全私有网络的开发者和科技爱好者。

德克萨斯州应用商店年龄验证法律遭联邦法官暂时叫停 (Texas app store age verification law blocked by federal judge) #

https://www.macrumors.com/2025/12/23/texas-app-store-law-blocked/

美国德克萨斯州一项要求应用商店进行年龄验证的法律被联邦法官暂时叫停。该法律原定于 2026 年 1 月 1 日生效,要求苹果等应用平台在用户创建 Apple 账户时验证年龄,并对 18 岁以下用户强制加入家庭共享组,设置家长控制和使用限制。

联邦法官罗伯特·皮特曼裁定,该法律很可能违反美国宪法第一修正案,因其对言论自由构成过度干预。法官类比称,这相当于要求书店在每位顾客进店时验证年龄,未成年人购书还需家长同意,属于过度干预。

此案由计算机与通信行业协会(CCIA)提起,苹果和谷歌均为该组织成员。苹果此前已明确反对该法案,认为其侵犯用户隐私,强制收集敏感个人信息,即使用户仅下载天气或体育类应用也需验证年龄。

目前法院将评估该法律是否“整体违宪”,若确认,该法案将被彻底废除。此判决对苹果而言是一次重大胜利,意味着其可能无需为该法案调整 App Store 系统。

该讨论帖位于政治新闻论坛,仅限拥有 100 篇以上发帖记录的论坛成员可参与。


HN 热度 309 points | 评论 232 comments | 作者:danso | 1 day ago #

https://news.ycombinator.com/item?id=46370012

  • 年龄验证法律因违反第一修正案而被联邦法官裁定为违宪,其对成年人获取合法言论的限制构成过度干预。
  • 将年龄验证类比为书店要求顾客在入口处验证年龄并获得家长同意,突显了对言论自由的不当限制。
  • 第一修正案的核心在于政府在限制公民权利时应被默认拒绝,公民享有言论与集会自由的默认保护。
  • 在 Free Speech Coalition v. Paxton 案中,最高法院采用中间审查标准,降低了对成年人言论自由的保护门槛,引发对先例的偏离争议。
  • 严格审查标准应适用于任何限制成年人获取受保护言论的法律,即使其目的是保护未成年人。
  • 强制身份验证访问合法言论可能引发寒蝉效应和监控风险,这在酒类销售中并不适用。
  • 法律的复杂性源于人类试图在复杂情境中建立一致的抽象规则,这种复杂性是为实现公平与一致的必要代价。
  • 法律体系中的边缘案例不断累积,导致规则看似荒谬,实则是应对现实复杂性的最小可行解决方案。
  • 民事责任的本质并非追究“谁应负责”,而是决定由谁承担损失,这是社会必须面对的现实。
  • 某些事故虽属罕见意外,但法律仍需确定责任归属,以形成可预测的规则体系。
  • 通过法律机制分配风险与损失,有助于激励预防措施,避免未来类似事件发生。
  • 仅依赖民事责任机制来预防风险是片面的,应结合物理设计与规划手段从根本上消除风险源。
  • 个体在承担风险时应有自主选择权,但法律责任可引导风险承担者与社会整体利益保持一致。

DOGE 大张旗鼓却成效甚微:宣称削减万亿支出,实际节省寥寥 (How did DOGE disrupt so much while saving so little?) #

https://www.nytimes.com/2025/12/23/us/politics/doge-musk-trump-analysis.html

Elon Musk 领导的“政府效率部”(DOGE)声称在 2025 年秋季前削减联邦支出 1 万亿美元,但《纽约时报》分析发现,其主要宣称的节省金额大多不实。尽管 DOGE 公开列出了超过 2.9 万项削减措施,包括取消大型合同和拨款、裁员,但实际联邦支出并未下降,反而上升。

分析指出,DOGE 所列出的 13 个最大规模的“节省”项目均存在错误,实际并未产生预期的财政节约。虽然该部门确实实施了数千项小额削减,影响了外国援助接收方、美国中小企业和地方服务机构,但这些零散的调整在整体联邦预算中占比极小,难以构成实质性节省。

报告由《纽约时报》记者团队历时一年调查完成,他们审查了数百份联邦文件,并采访了财政专家及项目受益人。结果显示,DOGE 的行动更多造成了行政混乱和对公共服务的冲击,而非真正的成本控制。


HN 热度 281 points | 评论 179 comments | 作者:JumpCrisscross | 1 day ago #

https://news.ycombinator.com/item?id=46367223

  • DOGE 的真正目标并非节省资金,而是通过破坏来削弱对马斯克公司进行监管的机构,包括窃取工会组织信息、削弱政府征税能力及破坏监管职能。
  • 马斯克以毫无顾忌的“链锯式”方式接管政府事务,完全无视其造成的巨大损害和合法性问题。
  • Twitter 作为私人公司,股东应为自身选择的管理层负责,尽管其对社会整体而言可能产生负面影响。
  • 大多数社交媒体应用从整体上看对人类社会是净负面影响。
  • Hacker News 之所以不同,是因为它没有广告、无限滚动和全球规模等导致负面影响的机制。
  • 马斯克缺乏对复杂系统的理解,其行为直接导致了 Twitter 的系统性故障。
  • 马斯克的行为并非偶然,而是其一贯的风格,反映出他对自己能力的过度自信和对复杂系统的轻视。
  • 马斯克的行为不能简单归因于无知或愚蠢,而应视为一种有预谋的战略布局,旨在通过制造混乱来实现个人利益。
  • 有人认为马斯克的行为是“自利且道德败坏”的体现,其“为人类福祉”形象只是伪装。
  • 马斯克在收购 Twitter 后的行为虽显混乱,但其背后可能有深远的政治和经济目的,例如支持特朗普上台并影响政府决策。
  • 马斯克的财富和地位使其有能力实施大规模战略,其行为并非愚蠢,而是经过深思熟虑的资本运作。
  • 将马斯克的失败归因于“无知”是错误的,他可能只是利用了系统漏洞来实现自身利益最大化。
  • 马斯克的行为符合彼得原理,即在某个层级上因不胜任而被提拔至更高位置,最终导致系统性破坏。
  • 马斯克的“天真”与“愚蠢”只是表象,其真实动机可能是通过破坏现有体系来建立对自己有利的新规则。

我直到关闭 Live Plus 才意识到我的 LG 电视在偷看我 (I didn’t realize my LG TV was spying on me until I turned off Live Plus) #

https://www.pocket-lint.com/lg-tv-turn-off-live-plus/

一位 Pocket-lint 记者分享了自己在使用 LG 智能电视时发现的一个隐私问题。起初,他专注于调整画质设置,发现电视能自动识别连接的设备(如 PS5、Switch 2、Fire TV Stick 等)并优化显示效果,体验良好,因此未深入研究设置菜单。

大约一周后,他在尝试关闭主页广告时,意外发现名为“Live Plus”的功能。该功能基于自动内容识别(ACR)技术,会持续分析屏幕上播放的内容,用于推送个性化推荐和广告。这一功能默认开启,让他意识到自己的电视可能在“偷看”自己观看的内容。

尽管感到震惊,但他也发现关闭该功能非常简单:只需进入设置 → 通用 → 系统 → 额外设置,然后关闭“Live Plus”即可。

文章强调,这并非 LG 独有问题。三星、Roku 等品牌的智能电视也存在类似功能。例如,三星可通过“隐私选项”关闭“观看信息服务”,Roku 则可关闭“使用电视输入信息”功能。

作者提醒用户,虽然这些功能旨在提升体验,但若不希望被追踪和推送广告,应主动关闭相关设置。他还建议订阅其新闻简报,获取更多关于智能电视隐私设置的实用指南。

最后,文章还提及 LG 近期动态:DirecTV Live TV 应用已上线 LG webOS 应用商店,而 LG 最新系统更新也默认为所有智能电视安装 Copilot。


HN 热度 246 points | 评论 237 comments | 作者:fcpguru | 1 day ago #

https://news.ycombinator.com/item?id=46369860

  • 现代电视应保持网络隔离,仅作为显示器使用,智能功能由独立设备如 Apple TV 提供,避免使用 Fire TV、Chromecast 或 Roku 等可能收集用户数据的设备。
  • Apple 的盈利模式依赖于高端硬件销售,而非用户数据或广告,因此其隐私保护动机相对更强,与 Google 和亚马逊的商业模式有本质区别。
  • 尽管 Apple 并非完美,其服务收入占比持续增长,未来可能更倾向于用户锁定和数字产品销售,但其广告收入占比极低,对核心业务影响有限。
  • 自行搭建 Jellyfin+ARR 堆栈可实现免费、更灵活的媒体播放体验,尽管初期设置较复杂,但长期来看优于订阅多个流媒体服务。
  • Nvidia Shield TV 通过刷入自定义 Android ROM 可获得更高自由度,但可能面临 Widevine 解密等技术限制,影响高清内容播放。
  • 有人指出 Apple 允许第三方应用嵌入追踪 SDK,间接导致用户数据被收集,这与 Apple 宣称的隐私保护理念存在矛盾。
  • 有人质疑将 Apple 视为“圣人”的观点缺乏独立证据支持,认为其软件行为类似恶意软件,即使关闭云服务仍频繁连接 Apple 服务器。
  • 从投资者角度看,Apple 的硬件业务仍是主要利润来源,但服务增长迅速,未来可能进一步强化对用户生态的控制,导致用户体验恶化。
  • 便利性仍是多数用户选择官方流媒体服务的主因,尽管自建系统功能强大,但设置复杂,难以普及。

纳博科夫给外国学习俄语者的指南 (Nabokov’s guide to foreigners learning Russian) #

https://twitter.com/haravayin_hogh/status/2003299405907247502

页面主体内容是一条来自用户 Yevardiaղ@haravayin_hogh 的推文,发布于 2024 年 10 月 21 日,但显示时间为 2025 年 12 月 23 日,可能为系统时间错误。

推文引用了纳博科夫对外国学习俄语者的建议,强调学习俄语的难度。纳博科夫在一本 1945 年的语言学著作中提到,学习俄语的最佳方式是“出生并成长于俄罗斯”,暗示非母语者几乎无法真正掌握这门语言。

推文还引用了该书一章的标题:“语言的疾病”(The Diseases of Language),并提到其中对斯拉夫语言的描述使用了“原始特征”(Primitive traits)等带有贬义的措辞,反映出作者对俄语复杂性的调侃与讽刺。

特别提到俄语动词后缀的繁复令人望而生畏,纳博科夫在教学中甚至“带着一丝残忍的快感”强调这一点,体现出他对语言难度的戏谑态度。

整条推文以幽默、讽刺的语气,揭示了俄语学习的挑战性,同时引用经典文献,引发对语言学习本质的思考。


HN 热度 212 points | 评论 410 comments | 作者:flaxxen | 24 hours ago #

https://news.ycombinator.com/item?id=46371423

  • 学习多种印欧语系语言后发现,许多语言通过前置词构成动词家族,希腊语尤其明显,其动词变位常以词缀形式出现在词中。
  • 反身代词在不同语言中保持相对一致,但西班牙语中第一、二人称的反身代词会变化,而捷克语中则保持“se”不变。
  • 印欧语系中“兄弟”一词的词源演变规律明显,如 b-p-f 和 th-t-d 之间的音变,但西班牙语使用“hermano”(源自拉丁语 germanus),希腊语则为“ἀδελφός”,词源不同。
  • 该评论提到的纳博科夫关于俄语学习的建议出自《思考、写作、说话:未收录的散文、评论、访谈与编辑信件》,而非《文学讲座》。
  • 纳博科夫建议学习俄语时应保持持续的微笑,这与俄罗斯人学习英语时被建议“不要微笑”形成有趣对比。
  • 有评论指出,俄罗斯人不常微笑的文化现象与“俄罗斯人从不微笑”这一观点相关,但该链接指向的文章实际是芝加哥大学校报的评论文章。
  • 有观点认为,不微笑是为放松面部肌肉,而非表达情感。
  • 有人观察到在跨国公司工作时,不同文化背景的人倾向于聚集在一起,形成文化集群。
  • 这种现象被称为“自我隔离”,是人类社会中常见的社会行为。
  • 大规模移民是历史常态,无法完全阻止或鼓励,尤其在气候变化导致热带地区难以居住的背景下。
  • 强制大规模移民可能引发的问题更多源于被迫迁移本身,而非文化冲突。
  • 全球化趋势下,文化同质化正在形成,美国文化通过好莱坞、音乐和互联网等渠道广泛传播。
  • 文化同质化并非由单一主体有意识推动,而是全球化和美国主导地位的自然结果。
  • 有人认为,好莱坞和美国音乐产业长期致力于推广其文化,这在冷战时期尤为明显。
  • FIFA 和 Global Citizen 等组织推动“我们是一体的”等口号,旨在促进全球团结,而非文化殖民。
  • “我们是一体的”并不等同于“我们完全相同”,不应被误解为文化同质化。
  • 俄罗斯近年来对好莱坞电影和音乐的接受度下降,部分原因是电影内容充斥着美国主流叙事,如 LGBT 主题,被认为具有强制性宣传色彩。
  • 当前好莱坞电影质量下降,且过度强调特定意识形态,导致俄罗斯观众兴趣减弱,甚至在 2022 年好莱坞公司主动撤离俄罗斯。
  • 俄罗斯观众更倾向于收听 30 至 50 年前的美国音乐,而非当前主流流行音乐,认为其商业化和人工感过强。
  • 有人认为,电影中两个男性亲吻的场景是否属于“宣传”取决于创作者的意图,若为迎合特定群体或推动某种观念,则可视为宣传。
  • 有观点指出,过度强调某种群体在大众媒体中的出现,本身就是一种宣传形式。

Hacker News 精彩评论及翻译 #

Some Epstein file redactions are being undone #

https://news.ycombinator.com/item?id=46375128

It sets a bad precedent to call things like this hacks.

Firstly, calling this redaction implies that the data is missing, and calling what was done “unredacting” is akin to saying someone “decrypted” a cryptographic hash function.

Nobody unredacted anything here, they merely discovered that it hadn’t been redacted, and simply looked like it was redacted.

Calling this a hack places responsibility on the people who discovered the information, rather than on the people were put in charge of handling the redaction and screwed it up.

Arch-TK

把这类事情称为“黑客行为”会开一个很不好的先例。

首先,将其称为“遮盖”,就意味着数据本身是缺失的;而把所做的事情称为“取消遮盖”,就好比说某人“解密”了一个加密哈希函数。

在这里,并没有人“取消遮盖”任何东西,他们只是发现数据其实并没有被遮盖,而只是看起来像是被遮盖了而已。

将这件事称为“黑客行为”,反而把责任归咎于发现信息的人,而不是那些本应负责进行遮盖操作却搞砸了的人。


I’m returning my Framework 16 #

https://news.ycombinator.com/item?id=46377476

I appreciate the authors thoughtful review here, but I can’t help but be frustrated by the constant lack of understanding of the core value proposition of framework both in this post and in many comments here on hn.

Frequently the author brings up that for 2,000 euros they expect a premium experience, but no where is there an evaluation of the value granted by upgradability and repeatability of the machine, and only briefly is there mention of the configurability.

People (not necessarily the author, but likely many commentators that make similar complains about the frameworks price) will lament how manufacturers don’t have upgradable ram, etc and then turn around and are upset at the bulkiness of a repairable laptop, or the price.

I think ultimately what frustrates me is that people don’t consider the ability to repair or upgrade your machine part of a “premium” experience, but that’s is just something I have to accept. I think it is unfortunate that our consumerist culture places so little value on it though.

Rergardless, what I feel like we see here (along with a lack of scale from a small company) is the core tradeoffs that we’d have to make to get back repairability, etc. framework certainly isn’t above criticism, but if you don’t care about these things then why look at this machine? A large established brand is always going to offer a a better value on the things you care about.

comte7092

我很欣赏作者在这里的深思熟虑的评论,但我忍不住感到沮丧,因为无论是这篇帖文还是许多Hacker News上的评论,都持续缺乏对Framework核心价值主张的理解。

作者总是提到花2000欧元就应该获得高端体验,但文中却完全没有评估机器的可升级性和可重复使用性所带来的价值,也只简要提及了其可配置性。

人们(不一定是作者本人,但很可能是许多对Framework价格有类似抱怨的评论者)会哀叹制造商没有提供可升级的内存等功能,然后反过来又对一台可维修笔记本电脑的笨重或价格感到不满。

我认为最终让我感到沮丧的是,人们不认为维修或升级你的电脑是“高端”体验的一部分,但这只是我必须接受的事情。不过,我们的消费主义文化对此如此不重视,我觉得这很不幸。

不管怎样,我认为我们在这里所看到的(以及小公司缺乏规模效应),正是为了重获可维修性等功能而必须做出的核心权衡。Framework当然不是不能批评的,但如果你不关心这些事情,那为什么要看这款机器呢?一个大型成熟品牌始终会在你所关心的方面提供更高的价值。


Some Epstein file redactions are being undone #

https://news.ycombinator.com/item?id=46367613

Befuddling that this happened again. It’s not the first time

  • Paul Manafort court filing (U.S., 2019) Manafort’s lawyers filed a PDF where the “redacted” parts were basically black highlighting/boxes over live text. Reporters could recover the hidden text (e.g., via copy/paste).

  • TSA “Standard Operating Procedures” manual (U.S., 2009) A publicly posted TSA screening document used black rectangles that did not remove the underlying text; the concealed content could be extracted. This led to extensive discussion and an Inspector General review.

  • UK Ministry of Defence submarine security document (UK, 2011) A MoD report had “redacted” sections that could be revealed by copying/pasting the “blacked out” text—because the text was still present, just visually obscured.

  • Apple v. Samsung ruling (U.S., 2011) A federal judge’s opinion attempted to redact passages, but the content was still recoverable due to the way the PDF was formatted; copying text out revealed the “redacted” parts.

  • Associated Press + Facebook valuation estimate in court transcript (U.S., 2009) The AP reported it could read “redacted” portions of a court transcript by cut-and-paste (classic overlay-style failure). Secondary coverage notes the mechanism explicitly.

A broader “history of failures” compilation (multiple orgs / years) The PDF Association collected multiple incidents (including several above) and describes the common failure mode: black shapes drawn over text without deleting/sanitizing the underlying content. https://pdfa.org/wp-content/uploads/2020/06/High-Security-PDF-Redactions-v4a_2.pdf

cmarschner

再次发生这件事真是令人困惑。这已经不是第一次了。

  • 保罗·马纳福特法庭文件(美国,2019年):马纳福特的律师提交了一份PDF文件,其中“已编辑”的部分基本上是在活动文本上使用了黑色高亮/方框。记者可以通过复制/粘贴等方式恢复隐藏的文本。

  • TSA“标准操作规程”手册(美国,2009年):一份公开张贴的TSA筛查文件使用了未移除底层文本的黑色矩形;隐藏的内容可以被提取。这引发了广泛讨论和总监察长审查。

  • 英国国防部潜艇安全文件(英国,2011年):一份国防部报告的“已编辑”部分可以通过复制/粘贴“涂黑”的文本来揭示——因为文本仍然存在,只是视觉上被遮蔽。

  • 苹果诉三星裁决(美国,2011年):一名联邦法官的裁决试图编辑某些段落,但由于PDF的格式方式,内容仍然可以恢复;复制文本会揭示“已编辑”的部分。

  • 美联社与Facebook估值估算的法庭记录(美国,2009年):美联社报道称,它可以通过剪切和粘贴阅读法庭记录中的“已编辑”部分(经典的覆盖式失败)。二次报道明确指出了这一机制。

更广泛的“失败历史”汇编(多个机构/年份):PDF协会收集了多起事件(包括上述几个),并描述了常见的失败模式:在文本上绘制黑色形状而没有删除/净化底层内容。https://pdfa.org/wp-content/uploads/2020/06/High-Security-PDF-Redactions-v4a_2.pdf


Some Epstein file redactions are being undone #

https://news.ycombinator.com/item?id=46372417

“Never interrupt your enemy when he is making a mistake” - Napoleon Bonaparte

Let all the files get released first.

Then show your hacks.

vincengomes

当敌人犯错时,永远不要打断他——拿破仑·波拿巴。先让所有文件都公开。然后展示你的破解手段。


I didn’t realize my LG TV was spying on me until I… #

https://news.ycombinator.com/item?id=46370577

My rule for modern TVs: 1. Never connect the TV panel itself to the internet. Keep it air-gapped. Treat it solely as a dumb monitor.

  1. Use an Apple TV for the “smart” features.

  2. Avoid Fire TV, Chromecast, or Roku.

The logic is simple, Google (Chromecast) and Amazon (Fire TV) operate on the same business model as the TV manufacturers subsidized hardware in exchange for user data and ad inventory. Apple is the only mainstream option where the hardware cost covers the experience, rather than your viewing habits subsidizing the device.

[Copied my comment from here: https://news.ycombinator.com/item?id=46268844#46271740 ]

kburman

我对现代电视的规则是:

  1. 绝不要将电视屏幕本身连接到互联网。保持物理隔离。把它纯粹当作一个“傻”显示器来用。
  2. 使用 Apple TV 来实现“智能”功能。
  3. 避免使用 Fire TV、Chromecast 或 Roku。

逻辑很简单:谷歌(Chromecast)和亚马逊(Fire TV)遵循与电视制造商相同的商业模式——用补贴的硬件来换取用户数据和广告库存。而苹果是唯一一个主流选择,它的硬件成本覆盖了用户体验,而不是由你的观看习惯来补贴这台设备。


We replaced H.264 streaming with JPEG screenshots … #

https://news.ycombinator.com/item?id=46368838

When the network is bad, you get… fewer JPEGs. That’s it. The ones that arrive are perfect.

This would make sense… if they were using UDP, but they are using TCP. All the JPEGs they send will get there eventually (unless the connection drops). JPEG does not fix your buffering and congestion control problems. What presumably happened here is the way they implemented their JPEG screenshots, they have some mechanism that minimizes the number of frames that are in-flight. This is not some inherent property of JPEG though.

And the size! A 70% quality JPEG of a 1080p desktop is like 100-150KB. A single H.264 keyframe is 200-500KB. We’re sending LESS data per frame AND getting better reliability.

h.264 has better coding efficiency than JPEG. For a given target size, you should be able to get better quality from an h.264 IDR frame than a JPEG. There is no fixed size to an IDR frame.

Ultimately, the problem here is a lack of bandwidth estimation (apart from the sort of binary “good network”/“cafe mode” thing they ultimately implemented). To be fair, this is difficult to do and being stuck with TCP makes it a bit more difficult. Still, you can do an initial bandwidth probe and then look for increasing transmission latency as a sign that the network is congested. Back off your bitrate (and if needed reduce frame rate to maintain sufficient quality) until transmission latency starts to decrease again.

WebRTC will do this for you if you can use it, which actually suggests a different solution to this problem: use websockets for dumb corporate network firewall rules and just use WebRTC everything else

mikepavone

网络状况不好时,你得到的……JPEG图片就会变少。仅此而已。而那些成功传到的图片都是完美的。

如果他们用的是UDP,那这话还说得通,但他们用的可是TCP。他们发送的所有JPEG图片最终都会到达(除非连接断开)。JPEG并不能解决你的缓冲和拥塞控制问题。这里发生的情况很可能是,他们在实现JPEG截图功能时,采用了某种机制来减少在传输中的帧数。但这并非JPEG的固有特性。

还有大小!一张70%质量的1080p桌面JPEG图片大约是100-150KB。而一个单独的H.264关键帧却有200-500KB。我们每帧发送的数据量更少,却获得了更好的可靠性。

H.264的编码效率比JPEG高。对于一个给定的目标大小,你应该能从H.264的IDR帧中获得比JPEG更好的质量。IDR帧的大小也并非固定。

说到底,这里的问题在于缺乏带宽估算(他们最终实现的只是那种二元的“网络良好”/“咖啡厅模式”之类的东西)。说句公道话,这很难做到,而且受限于TCP也让事情变得更棘手。即便如此,你仍然可以进行初始的带宽探测,然后将不断增长的传输延迟视为网络拥堵的信号。降低你的码率(如果需要,可以降低帧率以保持足够的画质),直到传输延迟开始再次下降。

如果你能使用,WebRTC会为你处理这些,这实际上暗示了另一种解决方案:对于那些愚蠢的企业网络防火墙规则,使用websocket,其他情况则直接使用WebRTC。


X-ray: a Python library for finding bad redactions… #

https://news.ycombinator.com/item?id=46370525

Cool to see this here. It’s funny because we do so many huge, complex, multiyear projects at Free Law Project, but this is the most viral any of our work has ever gone!

Anyway, I made X-ray to analyze the millions of documents we have in CourtListener so that we can try to educate people about the issue.

The analysis was fun. We used S3 batch jobs to analyze millions of documents in a matter of minutes, but we haven’t done the hard part of looking at the results and reporting them out. One day.

mlissner

能在这里看到这个真有意思。这挺逗的,因为在自由法律项目(Free Law Project),我们做了那么多庞大、复杂、耗时数年的项目,但我们的成果从未像这次这样如此广泛地传播!

不管怎么说,我制作了一个X射线工具来分析我们CourtListener数据库中的数百万份文件,目的是为了帮助大家更好地了解这个问题。

这个分析过程很有趣。我们使用S3批处理作业在几分钟内就分析了数百万份文件,但我们还没完成最困难的部分——审视分析结果并撰写报告。总有一天会完成的。


Texas app store age verification law blocked by fe… #

https://news.ycombinator.com/item?id=46370528

Judge Robert Pitman said that it violates the First Amendment and is “more likely than not - unconstitutional.”

The Act is akin to a law that would require every bookstore to verify the age of every customer at the door and, for minors, require parental consent before the child or teen could enter and again when they try to purchase a book. We enjoy 1A protections of speech and assembly. When we consider our rights, the productive, default position is that government is told no (when it wants to restrict us).

WarOnPrivacy

罗伯特·皮特曼法官称该法案违反了第一修正案,并且“极有可能——是违宪的”。

该法案类似于一项法律,它将要求每家书店在门口核实每位顾客的年龄,对于未成年人,则要求其父母在儿童或青少年进入书店前以及他们试图购买书籍时都需征得父母同意。

我们享有言论和集会的第一修正案保护。当我们考虑我们的权利时,富有成效的、默认的立场是,当政府想要限制我们时,我们就要对它说“不”。


We replaced H.264 streaming with JPEG screenshots … #

https://news.ycombinator.com/item?id=46369771

Setting aside the various formatting problems and the LLM writing style, this just seems all kinds of wrong throughout.

“Just lower the bitrate,” you say. Great idea. Now it’s 10Mbps of blocky garbage that’s still 30 seconds behind.

10Mbps should be way more than enough for a mostly static image with some scrolling text. (And 40Mbps are ridiculous.) This is very likely to be caused by bad encoding settings and/or a bad encoder.

“What if we only send keyframes?” The post goes on to explain how this does not work because some other component needs to see P-frames. If that is the case, just configure your encoder to have very short keyframe intervals.

And the size! A 70% quality JPEG of a 1080p desktop is like 100-150KB. A single H.264 keyframe is 200-500KB.

A single H.264 keyframe can be whatever size you want, depending on how you configure your encoder, which was apparently never seriously attempted. Why are we badly reinventing MJPEG instead of configuring the tools we already have? Lower the bitrate and keyint, use a better encoder for higher quality, lower the frame rate if you need to. (If 10 fps JPEGs are acceptable, surely you should try 10 fps H.264 too?)

But all in all the main problem seems to be squeezing an entire video stream through a single TCP connection. There are plenty of existing solutions for this. For example, this article never mentions DASH, which is made for these exact purposes.

qbow883

撇开各种格式问题和LLM写作风格不谈,这整个方案从头到尾都感觉大错特错。

“降低比特率就行了,”你说。好主意。现在变成了10Mbps的马赛克垃圾,还延迟了30秒。

对于一个以静态图像为主、附带滚动画面的内容来说,10Mbps的带宽应该绰绰有余了。(而且40Mbps简直是荒谬。)这很可能是由糟糕的编码设置和/或糟糕的编码器造成的。

“如果我们只传输关键帧呢?”帖子接着解释说这行不通,因为某个其他组件需要看到P帧。如果情况确实如此,那就直接把编码器的关键帧间隔设置得非常短就行了。

还有体积!一张1080p桌面70%质量的JPEG也就100-150KB。而一个单独的H.264关键帧却有200-500KB。

一个H.264关键帧的尺寸可以是任何你想要的数值,这完全取决于你如何配置编码器,而显然他们从未认真尝试过。我们为什么要费力地去重新发明一个糟糕的MJPEG,而不是直接配置好我们已经有的工具呢?降低比特率和关键帧间隔,使用更好的编码器以获得更高质量,如果需要的话,降低帧率。(如果10fps的JPEG都可以接受,那你也 surely 应该试试10fps的H.264吧?)

但总的来说,主要问题似乎是试图将整个视频流通过一个TCP连接来传输。针对这个问题,已经存在大量现成的解决方案了。例如,这篇文章从未提及DASH(动态自适应流媒体技术),而这项技术正是为这些 exact purposes 而生的。


We replaced H.264 streaming with JPEG screenshots … #

https://news.ycombinator.com/item?id=46368519

They might want to check out what VNC has been doing since 1998– keep the client-pull model, break the framebuffer up into tiles and, when client requests an update, perform a diff against last frame sent, composite the updated tiles client-side. (This is what VNC falls back to when it doesn’t have damage-tracking from the OS compositor)

This would really cut down on the bandwidth of static coding terminals where 90% of screen is just cursor flashing or small bits of text moving.

If they really wanted to be ambitious they could also detect scrolling and do an optimization client-side where it translates some of the existing areas (look up CopyRect command in VNC).

adamjs

他们或许可以研究一下VNC自1998年以来的做法——保持客户端拉取模式,将帧缓冲区分割成图块,当客户端请求更新时,与上一帧发送的内容进行差异对比,并在客户端合成更新的图块。(这正是VNC在无法从操作系统合成器获取损坏跟踪信息时所回退的机制。)

这将极大地减少静态编码终端的带宽消耗,因为在这些终端中,90%的屏幕区域仅仅是光标闪烁或少量文本移动。

如果他们真的想雄心勃勃一点,还可以检测滚动操作,并在客户端进行优化,通过移动部分现有区域(可查阅VNC中的CopyRect命令)。


Some Epstein file redactions are being undone #

https://news.ycombinator.com/item?id=46372914

I want to believe this is malicious compliance.

heavyset_go

我希望这是恶意服从。


Avoid Mini-Frameworks #

https://news.ycombinator.com/item?id=46375199

real and only difference between a library and a framework, is whether it introduces new concepts

This isn’t what is normally understood in software engineering by those terms.

A library is something you call.

A framework is some kind of application scaffolding that normally calls you.

You can use more than one library. You normally only have one framework in-process.

I found the blog post a little hard to parse. Is it an argument against wrapping frameworks, or wrapping libraries?

I agree that wrapping frameworks is fraught with danger. I can’t quite agree for wrapping libraries. Wrapping libraries makes a lot of sense if you’re only using a tiny fraction of the library functionality, the breadth of the wrapper’s API is much smaller than the library’s API, wrapping it enables you to substitute it (whether for a smaller / faster / whatever dependency in the future, or for testing, etc.), and so on.

barrkel

库和框架之间真实且唯一的区别在于,它是否会引入新的概念。

这并不是软件工程领域对这些术语的普遍理解。

库是你可以调用的东西。 框架是一种应用程序脚手架,它通常会调用你。

你可以使用多个库,但在一个进程中,你通常只有一个框架。

我发现那篇博客文章有点难懂。它是在反对包装框架,还是在反对包装库?

我同意包装框架充满了危险。但对于包装库,我无法完全苟同。如果你只使用了库的一小部分功能,那么包装库就非常有意义:包装后其API的广度远小于库本身的API,这样你就可以在未来替换它(无论是换成更小、更快或其他依赖,还是用于测试等等)。


Fabrice Bellard Releases MicroQuickJS #

https://news.ycombinator.com/item?id=46367994

Fabrice Bellard is widely considered one of the most productive and versatile programmers alive:

Legendary.

ddtaylor

法布里斯·贝拉尔(Fabrice Bellard)被广泛认为是当今最多产、最多才多艺的程序员之一:

传奇人物。


Unifi Travel Router #

https://news.ycombinator.com/item?id=46371338

I never travel without my GL-AXT1800. Saved me so many times: https://www.gl-inet.com/products/gl-axt1800/ I’m actually on it right now.

wateralien

我出门旅行从不带我的GL-AXT1800。它已经无数次拯救我了:https://www.gl-inet.com/products/gl-axt1800/ 我现在正在使用它。