2025-06-26 Hacker News Top Stories #
- Gemini CLI:Google推出的一款免费开源AI代理工具,支持多种任务处理,社区可参与贡献,提升开发效率。
- uv和PEP 723:通过uv工具和PEP 723元数据简化Python脚本的运行和管理,支持一次性虚拟环境和脚本交互。
- PNG格式复兴:PNG发布新规范,支持HDR、动画、Exif数据等,未来将研究更高效的压缩和并行技术。
- 入境拒绝事件:一名挪威游客因“JD Vance秃头”表情包被美国边境拒绝,引发对言论自由和边境政策的关注。
- 厚币创作:Theodore Nichols创作“厚尼克尔”,通过加厚硬币增强安全感,并呼吁支持其铸币事业。
- Microsoft Edit:微软推出现代化文本编辑器,致敬经典MS-DOS编辑器,提供简洁界面和高效输入控制。
- OpenAI收费优化:通过加速音频文件减少OpenAI转录成本,节省时间和费用。
- 国家档案馆限制:美国国家档案馆College Park分馆将成为受限设施,需预约访问以提高效率。
- X11缩放技术:X11显示服务器支持高效DPI缩放和分数缩放,优于Wayland,避免性能损失和模糊。
- Linux读取NFC护照:使用pypassport工具在Linux中读取护照NFC芯片数据,涉及MRZ重建和安全性讨论。
Gemini CLI #
https://blog.google/technology/developers/introducing-gemini-cli-open-source-ai-agent/
Gemini CLI 是一个免费的开源 AI 代理,旨在将 Gemini 的强大功能直接带入开发者的终端,为个人用户提供无与伦比的访问体验。随着开发者对命令行界面的依赖日益增强,对集成 AI 助手的需求也随之增加。因此,Gemini CLI 提供了一种轻量级的方式,使用户可以直接通过终端访问 Gemini 模型。
主要特点: #
- ** 广泛功能 **:Gemini CLI 不仅专注于编码,还能够处理内容生成、问题解决、深度研究和任务管理等多种任务。它旨在提升开发者的工作效率。
- ** 无与伦比的使用限制 **:用户可以通过个人 Google 账户登录,免费获得 Gemini Code Assist 许可证。该许可证允许访问 Gemini 2.5 Pro,并提供行业内最大的使用配额:每分钟 60 次模型请求和每天 1000 次请求,几乎没有限制。
- ** 强大的模型能力 **:Gemini CLI 支持代码理解、文件操作、命令执行和动态故障排除等功能,使用户能够通过自然语言编写代码、调试问题和优化工作流程。它的强大之处在于集成了 Google 搜索,可以获取实时的外部信息。
- ** 开放和可扩展 **:作为完全开源的项目,Gemini CLI 的代码可供开发者检查,确保安全性并欢迎社区贡献。它还支持多种扩展功能,使开发者可以根据个人需求和工作流程进行定制。
- ** 与 Gemini Code Assist 的共享技术 **:Gemini CLI 和 Gemini Code Assist 共享相同的技术,后者是 Google 为学生、爱好者和专业开发者提供的 AI 编码助手。在 VS Code 中,用户可以利用 Code Assist 的智能功能进行快速的测试编写、错误修复和功能构建等。
- ** 易于上手 **:用户只需安装 Gemini CLI 并使用电子邮件地址进行注册,即可在终端中获得几乎无限的访问权限。
总之,Gemini CLI 是一个旨在提升开发者工作效率的强大工具,它的多功能性和高使用限额使其成为开发者日常工作的得力助手。
HN 热度 901 points | 评论 512 comments | 作者:sync | 11 hours ago #
https://news.ycombinator.com/item?id=44376919
- Google 的 Gemini 产品线混乱,用户难以理解不同服务间的区别和联系。
- Google One 订阅服务与 iCloud 集成存在问题,导致用户无法灵活调整存储容量。
- 苹果公司对应用内购买收取 30% 的分成,限制了开发者与用户之间的直接联系。
- 苹果的市场策略和分成模式对开发者和用户都有利,提供了一个受保护的市场环境。
- 苹果有时会与重要供应商达成特殊协议,设置独家条款,增强自身市场地位。
- Google One 的不同订阅层级令人困惑,尤其是涉及 AI 服务的部分。
- Google 的云服务和 API 管理混乱,对初创企业和独立开发者不友好。
- 许多用户和开发者因为 Google 服务的复杂性而更倾向于选择非 Google 的解决方案。
Fun with uv and PEP 723 #
https://www.cottongeeks.com/articles/2025-06-24-fun-with-uv-and-pep-723
这篇文章介绍了如何使用 uv 和 PEP 723 来简化 Python 脚本的运行和管理。作者曾因 Python 环境配置的复杂性而感到沮丧,但现在有了 uv,这个问题已成为过去。
uv 是一个用 Rust 编写的极快的 Python 包和项目管理工具。uv 提供了一个名为 uvx 的工具,类似于 Node/NPM 生态系统中的 npx,用于在包内调用 Python 工具。uvx 负责创建一个(缓存的)一次性虚拟环境,设置正确的 Python 版本,并在运行之前安装所有依赖项。
文章还提到了 PEP 723,这是一个 Python 增强提案,它规定了一种可以嵌入到单文件 Python 脚本中的元数据格式,以帮助启动器、IDE 和其他外部工具与这些脚本交互。
作者通过一个示例展示了如何使用 uv 和 PEP 723 元数据来运行 Python 脚本。通过结合 uv 和 PEP-723 元数据,可以轻松地运行嵌入了元数据的 Python 脚本。
文章还提供了一个更实用的示例,即从可执行的 Python 脚本中提取 YouTube 字幕。首先创建一个带有 shebang 和内联元数据的 Python 脚本,然后将其保存为 ytt 并使其可执行。通过运行脚本,可以提取 YouTube 视频的字幕。
最后,作者提到了使用 uv 和 PEP 723 可以为运行 Python 代码提供更多可能性。作者曾更喜欢使用 Go 语言编写一次性脚本,因为它易于创建自包含的二进制可执行文件。但现在有了 uv,作者用 Python 编写了一个快速的 MCP 服务器来提取 YouTube 字幕,并在 GitHub 上分享了这个项目。
HN 热度 601 points | 评论 211 comments | 作者:deepakjois | 1 day ago #
https://news.ycombinator.com/item?id=44369388
- Nix 为 Python 脚本和 shell 脚本提供了更好的打包、依赖管理和可复现性。
- Nix 虽然强大,但可能对简单的脚本来说过于复杂。
- 通过 Nix,可以轻松地为 shell 脚本安装和管理依赖。
- Nix 可以作为沙箱环境,用于运行代码,提高安全性。
- Nix 构建是隔离的,可以用于构建类似 codapi 这样的项目。
- 有人希望存在一个类似 Nix 的系统,但是用 Lua 语言编写。
- Hetzner 提供了 NixOS 的 ISO 镜像,可以手动安装。
- NixOS 与 Terraform 结合使用效果很好。
- Comma 是一个基于 Nix 的工具,可以快速安装小工具。
A new PNG spec #
https://www.programmax.net/articles/png-is-back/
这篇网页文章的主题是关于 PNG 格式的最新发展。以下是文章的中文摘要:
PNG 格式复兴 文章开头提到,一个新的 PNG 规范刚刚发布,这是令人兴奋的消息。PNG 在停滞了二十多年后,重新回到了它昔日的辉煌。美国国会图书馆、加拿大图书馆和档案馆以及澳大利亚国家档案馆都推荐使用 PNG 格式。保持 PNG 的更新和竞争力非常重要。
新特性介绍 文章接着介绍了 PNG 新规范的几个新特性:
- HDR 支持:新规范提供了适当的 HDR 支持,这是面向未来的。文章中通过图 1 展示了我们眼睛能看到的颜色,其中较小的内三角形代表大多数图像的颜色空间,而较大的外三角形代表 HDR 图像中典型的颜色。这种新的 HDR 支持仅使用 4 个字节(加上通常的 PNG 块开销)。
- APNG 动画支持:文章提到,动画 PNG(APNG)是由 Mozilla 提出并被 Firefox 支持的,但现在其他程序也开始广泛支持,规范也应该反映这一现实。
- 官方支持 Exif 数据:Exif 存储额外信息,如版权信息,甚至是照片的相机镜头和 GPS 位置。
- 规范整理:包括修正错误、澄清等。
背景 文章回顾了上一个 PNG 规范是在 20 多年前发布的,自那以后技术进步了很多。事实上,技术进步是 PNG 复兴的原因。W3C Timed Text 工作组(负责字幕)需要在 PNG 中支持 HDR,提出了一个提案,但一些专家认为我们可以做得更好。随着动力的积累,更多的利益相关者变得感兴趣。现在,我们有来自 Adobe、苹果、BBC、Comcast/NBCUniversal、谷歌、MovieLabs 以及维护规范的 W3C 的代表。这是一个梦幻团队。
已经支持新规范的程序 文章指出,许多你正在使用的程序已经支持新的 PNG 规范,包括 Chrome、Safari、Firefox、iOS/macOS、Photoshop、DaVinci Resolve、Avid Media Composer 等。此外,一些广播公司也在更新硬件和工具以支持新的 PNG 规范。
未来展望 文章最后提到,人们可能会立即想到更好的压缩技术。作者表示,他们已经在研究这一点,以及并行编码/解码技术。他们希望确保正确地完成这些工作。预计下一个 PNG 更新(第四版)将是短暂的,将改善 HDR 和标准动态范围(SDR)的互操作性。同时,他们将研究 PNG 第五版的压缩更新。
感谢 文章最后感谢了 PNG 工作组的参与者,使这一切成为可能,并鼓励读者向他们表达对他们辛勤工作的感激之情。
HN 热度 554 points | 评论 4 comments | 作者:tbillington | 20 hours ago #
https://news.ycombinator.com/item?id=44373504
- 评论者好奇为什么一个 10 小时前发布、获得很多投票的故事会被标记为重复,并把评论转移到一个 1 小时前发布、投票数较少的新故事上。
- 评论者解释说,他们尝试奖励第一个提交故事的人,并且需要更新时间戳以让故事在首页上显示完整时间,尽管 ID 较低。
- 有人怀疑这可能是由于操作者的无能或错误。
Man ‘refused entry into US’ as border control catch him with bald JD Vance meme #
https://www.dublinlive.ie/news/world-news/man-refused-entry-us-border-31925059
这篇文章报道了一起发生在美国的事件,涉及一名 21 岁的挪威游客。该游客声称,他在新泽西州的纽瓦克机场被美国边境控制人员拒绝入境,并遭受了骚扰。原因是边境控制人员在他的手机上发现了一个描绘 JD Vance(美国政治人物)为秃头的表情包。
挪威游客名叫 Mads Mikkelsen,他于 6 月 11 日抵达纽瓦克机场,计划前往美国访问朋友,先是在纽约,然后去德克萨斯州的奥斯汀。然而,他遭遇了美国移民当局的“骚扰和滥用权力”。Mads 表示,他感到被歧视、怀疑,甚至在机场众多人面前感到羞辱。他被带到一个有多名武装警卫的房间,在那里他被关押了几个小时,期间被反复审问关于手机上的表情包。
文章中提到,Mads 认为自己因为一个无害的表情包而受到了不公平的对待。他的经历被挪威媒体 Nordlys 报道,引起了人们对美国边境控制政策和对待外国游客方式的关注。
HN 热度 545 points | 评论 527 comments | 作者:miles | 1 day ago #
https://news.ycombinator.com/item?id=44369140
- 执法部门不应在没有搜查令的情况下检查电子设备,应保护言论自由,应讨论这些问题。
- 边境控制复杂,没有法律权利要求进入不欢迎你的国家,没有保护你的正当程序。
- 现在的情况并不代表过去或未来,应关注更大的图景。
- 改变全球运作方式、国家运作方式和人类组织方式是不现实的。
- 可以在国际协议中制定基本人权标准,不应忽视具体政策。
- 宪法修正案适用于所有人,包括未进入美国的非公民。
- 言论自由是自然权利,政府不应剥夺,宪法保障非公民的权利。
- 进入中国的非知名人士不会因为批评政府而被盘问。
- 美国人倾向于认为中国在各方面都更糟,尽管证据可能相反。
- 美国的独裁并不真正控制人口,只要不造成问题,没人关心你说什么。
Thnickels #
网站标题:厚币(Thick Coins)由西奥多・尼科尔斯(Theodore Nichols)创作
-
** 欢迎信息 **:西奥多・尼科尔斯欢迎大家来到他的网页。
-
** 最新动态 **:
- **2025 年 5 月 6 日 **:他的邻居受伤,并与他因硬币的问题发生争执。邻居尚未归还他的原型 “厚尼克尔”(thnickel)。他请求大家帮助宣传此事。
- **2025 年 5 月 1 日 **:他与一位合作伙伴合作,开始接受 “厚尼克尔” 的预订,名额有限。
- **2025 年 4 月 30 日 **:他收到了数百封邮件,感谢大家对他宣传单的关注。他告诉孙子,传单在当今时代仍然有效,孙子则认为社交媒体才是主要方式。
- **2025 年 4 月 24 日 **:感谢大家对他的硬币表现出的浓厚兴趣,虽然预订名额有限,但仍有一些名额可用。
-
** 厚尼克尔的介绍 **:
- 他认为传统的 “尼克尔” 硬币太薄,需要一种更厚重的硬币。他正在新建的铸币设施中制作 “厚尼克尔”。
- “厚尼克尔” 相较于普通货币更有分量,能让好人感到满足,同时也能威慑坏人。
-
** 创意来源 **:西奥多讲述了他创作 “厚尼克尔” 的原因。他曾遭遇小偷入侵,利用装有硬币的袋子来吓唬小偷,但小偷对此毫不在乎,最终不仅失去了硬币,还失去了他最喜欢的扫帚。这让他感到非常羞辱,因此他决心不再让自己的零钱受到轻视。
-
** 铸币工厂 **:他把自己的车库改造成了铸币厂,致力于生产足够的 “厚尼克尔”,以满足人们对尊重的需求。他的新设施装备了多种工具,致力于高效生产。
-
** 宣传与联系方式 **:
- 他希望大家帮助宣传 “厚尼克尔”,可以打印并在邻里或城市中张贴传单。
- 如果有人希望购买 “厚尼克尔” 或有任何问题,可以通过电子邮件或电话与他联系。
总体来说,西奥多・尼科尔斯通过创作 “厚尼克尔” 来寻求尊重,并呼吁大家支持他的事业和产品。
HN 热度 501 points | 评论 108 comments | 作者:jxmorris12 | 1 day ago #
https://news.ycombinator.com/item?id=44372424
- HTML 中的注释很有趣,包含了设计师 Theo 的秘密信息和硬币表情符号。
- 有人调侃这个表情符号是“emoticon”的延伸,更准确地说是 ASCII 艺术。
- 有人将这个表情符号称为“emothickon”。
- 有人提到如果硬币是表情符号大小,就无法欣赏到宽货币的厚重感。
- 有人用表情符号“()_)”回复。
- 有人评论说这种设计让网站变得“grrrrreat”。
- Theo 暂停了硬币的销售以处理预订,并表示稍后还有剩余的硬币。
- 有人询问是否可以寄送到英国。
- Theo 回应说已经有人从英国收到过他的硬币。
- 有人请求得到一个硬币。
- Theo 表示愿意用大量的薄硬币交换一个厚硬币。
- 有人询问是否可以使用个人支票或汇票。
- Theo 回应说只要支票背后的银行账户不是同样虚弱的。
- 有人喜欢这种 1998 年风格的设计,尽管它是在 2025 年创建的。
- 有人提到这种老派的风格比现代网站更好,加载速度快。
- 有人宁愿访问 1998 年的网站,也不愿意访问大多数“现代”网站。
- 有人指出网站通过 wayback 机器缓存热链接了 Geocities。
- 有人建议管理员/版主应该从链接中删除 Beehiiv 链接 ID。
- 有人建议使用“ClearURLs”扩展来自动删除跟踪链接。
- 有人提到 Firefox 有一个原生的“复制清洁链接”上下文菜单选项。
- 有人提到 Brave 浏览器有这个功能和广告拦截器。
- 有人提到这个网站是用 FrontPage 98 构建的。
- 有人提到这种“用爱构建”的网站是老派的。
- 有人提到“用我们的代码猴子构建”。
- 有人提到“给我买杯咖啡”。
- 有人提到他用 FrontPage 为祖父的摄影网站构建了一个网站。
Microsoft Edit #
https://github.com/microsoft/edit
这个网页是关于一个名为“microsoft/edit”的项目,它是一个简单的文本编辑器,旨在向经典的 MS-DOS 编辑器致敬,同时提供现代化的界面和类似于 VS Code 的输入控制。该项目的目标是提供一个易于使用的编辑器,即使是对终端不太熟悉的用户也能轻松使用。
安装指南:
用户可以从项目的 Releases 页面下载二进制文件进行安装。对于 Windows 用户,可以通过 WinGet 安装最新版本的编辑器,使用命令 winget install Microsoft.Edit
。
构建指南:
- 首先,需要安装 Rust 语言环境。
- 安装夜间工具链:
rustup install nightly
。 - 或者设置环境变量
RUSTC_BOOTSTRAP=1
。 - 克隆代码仓库。
- 对于发布构建,运行命令:
cargo build --config .cargo/release.toml --release
。
给包维护者的注意事项:
- 包命名:项目的规范可执行文件名为“edit”,另一个名称是“msedit”。为了避免与现有命令冲突,建议使用“msedit”作为包和可执行文件的名称。
- ICU 库名称(SONAME):该项目可选地依赖于 ICU 库来实现搜索和替换功能。默认情况下,项目会寻找没有版本后缀的 SONAME。如果安装使用的是不同的 SONAME,需要在构建时设置相应的环境变量。
关于: 项目的核心理念是“我们都在编辑”。它涉及的主题包括编辑器、Rust 语言、终端和文本编辑器。
资源:
- 项目提供了 README 文件、MIT 许可证和行为准则。
项目活动:
- 该项目获得了 10.4k 的星标,有 63 个观察者和 439 个分支。
贡献者:
- 项目有 57 名贡献者。
编程语言:
- 项目主要使用 Rust 语言编写,占 99.9%,还有 0.1% 的 Roff 语言。
以上摘要涵盖了网页主体的主要内容,包括项目介绍、安装和构建指南、注意事项、项目资源和活动等。
HN 热度 460 points | 评论 288 comments | 作者:ethanpil | 1 day ago #
https://news.ycombinator.com/item?id=44372380
- Turbo Vision 是现存最好的文本模式窗口库之一,允许将整个文本屏幕映射到数组。
- 现代的 C++ Turbo Vision 移植版支持 Unicode。
- 一些印度大学课程更新缓慢,仍在使用 Turbo C++。
- 尽管 Turbo C++ 被认为是过时的,但仍有人在使用它,特别是在 DOSBox 中。
- 有人通过使用 Turbo Vision 编写的电视广告应用程序赚了很多钱。
- Turbo Vision 由 Borland 公司开发,Philippe Kahn 曾是公司负责人。
- Philippe Kahn 目前仍然活跃。
- 广播行业相比 IT 行业进展缓慢,为有资源的人提供了机会。
- 每次看到新的现代 TUI 框架,都会感到失望,因为它们不如 Turbo Vision 好。
- Charm 是一个相当健壮的 TUI 工具。
- Turbo Vision 在 Turbo C 和 Paradox 4.5 中使用,体验非常好。
- 与现代 GUI 相比,Turbo Vision 在 386 上的一个小盒子里运行时感觉更响应迅速。
OpenAI charges by the minute, so speed up your audio #
https://george.mand.is/2025/06/openai-charges-by-the-minute-so-make-the-minutes-shorter/
这篇文章由 George Mandis 撰写,主题是关于如何提高 OpenAI 音频转录的速度和降低成本。文章的核心观点是,通过加速音频文件,可以在转录时减少使用的令牌数量,从而节省时间和成本。
文章开始时,作者提出了一个简单的解决方案:在转录之前,使用 ffmpeg 将音频加速到 2 倍或 3 倍速度。这样做可以在几乎不影响转录质量的情况下,减少等待时间和令牌消耗。作者提供了一个脚本,结合了他最喜欢的工具和技巧,包括 yt-dlp、ffmpeg 和 llm,用于提取视频音频、加速音频并将其发送给 OpenAI 进行转录。
作者分享了他是如何意外发现这个技巧的。他试图总结一个 40 分钟的 Andrej Karpathy 的演讲,但最初没有使用 YouTube 提供的自动转录功能,因为他错误地认为它不可用。他尝试了其他方法,包括使用一个旧的脚本来从视频 URL 中提取音频,并通过 whisper 本地转录,但由于电池电量不足,他决定尝试使用 OpenAI 的 API。
在测试 OpenAI 的转录工具时,作者发现使用 whisper-1 模型虽然慢,但可以完成任务。出于好奇,他尝试了新的 gpt-4o-transcribe 模型,这个模型设计用于处理多模态输入并承诺更快的响应。然而,他遇到了一个问题:音频长度限制为 25 分钟,而他的音频文件接近 40 分钟。
作者考虑了修剪音频的可能性,但发现没有明显的 14 分钟可以剪掉。他突然想到,为什么不在发送之前加速音频呢?人们经常以 1-2 倍的速度听播客。他编写了一个快速脚本,将音频加速到 2 倍速度,然后将文件发送给 OpenAI,结果非常成功。
文章进一步探讨了为什么这种方法有效,作者将其与优化图像和人类大脑对文本错误的容忍能力进行了比较。加速音频会丢失一些微妙的声音和偶尔的短词,但这似乎并不影响理解能力。转录模型似乎在这方面也做得很好。
最后,作者探讨了这种方法是否真的能节省金钱。他发现,OpenAI 根据音频令牌收费,这些令牌随着输入的持续时间而变化。更快的音频意味着更少的秒数和更少的令牌。他提供了一些基于 40 分钟音频文件的成本数据,显示在 3 倍速度时输入令牌的成本减少了 33%。然而,转录模型的大部分成本仍然是输出令牌。他还注意到,2 倍和 3 倍速度版本的输出令牌数量完全相同,这可能是因为输出令牌反映了模型理解和总结输入的能力,而“总结”(即减少令牌)版本的相同音频产生了相同程度的理解力。这也可能是使用 gpt-4o-transcription 模式进行转录时,通常有 4,096 个令牌上限的反映。
HN 热度 414 points | 评论 118 comments | 作者:georgemandis | 11 hours ago #
https://news.ycombinator.com/item?id=44376989
- 使用 ffmpeg 命令可以去除音频中的沉默部分,节省 OpenAI 的使用时间。
- 有人建议使用 diffchecker 等工具比较音频加速前后的文本质量。
- 有人提出使用 LLM(大型语言模型)来比较音频加速前后的文本质量。
- 有人提到使用 LLM 进行比较会消耗更多的令牌,不如直接使用命令行工具。
- 有人分享了自己以 2 倍速听讲座的经验,并询问他人是否觉得太快。
- 有人表示 Andrej 的演讲速度非常快,难以在 1.25 倍以上的速度下理解。
- 有人提出自动检测音频中说话速度的想法。
- 有人建议使用 whisper 模型来输出每秒的令牌数,以检测说话速度。
- 有人提出通过 FFT 和基本分析来计算每秒的音节数。
- 有人建议使用过时的语音识别模型来检测音节数,以指导加速和死时间检测。
- 有人提出使用 Hilbert 变换和 FFT 来获取音素速率。
- 有人提出使用简单的启发式方法来计算每段视频中的单词数和说话持续时间。
- 有人提到科学论文中关于人类语言信息传递速率的研究,并建议使用类似技术来调整视频速度。
- 有人表示无法忍受正常语速,希望平台支持超过 2 倍的速度。
- 有人分享了自己制作的 Chrome 扩展,用于提高视频播放速度。
- 有人提到使用 Chrome 扩展将视频播放速度提高到 10 倍。
- 有人使用书签工具来调整视频播放速度。
- 有人提出使用特别易懂的“拍卖师”声音来以 10 倍速度播放文本。
- 有人表示音频质量是快速听音频的主要区别因素。
National Archives at College Park, MD, will become a restricted federal facility #
https://www.archives.gov/college-park
美国国家档案馆位于马里兰州的 College Park,这里保存着联邦机构创建的永久记录,包括:
- 文字记录:包括来自民间机构的文本记录。
- 军队单位记录:包括一战时期的陆军单位记录和二战时期的海军单位记录。
- 静态图片:各种静态图片资料。
- 电子记录:包括电子形式的档案资料。
- 地图和建筑资料:包括地图和建筑设计图纸。
- 动态影像、声音和视频记录:包括电影、声音和视频档案。
- 肯尼迪遇刺记录:与肯尼迪遇刺案相关的记录。
- 柏林文件中心缩微胶片:与柏林文件中心相关的缩微胶片资料。
馆藏亮点包括照片和图形作品、文本记录等。此外,还提供了馆藏地点和开放时间的信息。美国国家档案馆 College Park 分馆的地址是 8601 Adelphi Road, College Park, MD 20740。客户服务中心电话为 1-866-272-6272,失物招领电话为 301-837-2900,电子邮件地址为 inquire@nara.gov。研究室开放时间为周一至周五,上午 9 点至下午 5 点。强烈建议预约研究时间,但也可以作为临时访客进行研究。研究预约可以通过 Eventbrite 在国家档案馆 DC 地区研究预约页面上进行。
研究人员可以通过 archives2reference@nara.gov 进行预先咨询,并通过 visit_archives2@nara.gov 进行研究者注册或研究室预约问题咨询。特殊媒体咨询和预约问题可以联系以下邮箱:地图咨询 consultation.carto@nara.gov,静态图片咨询 consultation.stillpix@nara.gov,动态影像和声音咨询 mopix@nara.gov。
网页还提供了历史研究的链接,包括查找助手、军事记录、在线研究工具、订购信息等。此外,还有经常被请求的记录,如肯尼迪遇刺记录、一战记录、越南战争记录和柏林文件中心缩微胶片。
计划访问的访客可以找到前往建筑的方向、查看研究室政策,并了解到达时的预期情况。此外,还提供了联系我们部分,包括关键员工和部门的电话号码和电子邮件地址。
在线研究工具和数据库、志愿者和实习机会、教育者资源以及与我们的联系信息也在网页上提供。社交媒体链接包括 Facebook、Twitter 和 Instagram。
网页还提到了一些最新动态,例如 2022 年 7 月 8 日起,记录组 241(美国专利商标局记录)的部分系列将暂时关闭,以准备搬迁至堪萨斯城的国家档案馆。越南战争时期的美国海军甲板日志将因与退伍军人事务部的数字化协议而对研究关闭。A2 的一些记录将于 12 月 20 日关闭,包括 1976-78 年的美国海军船只和站点日志簿,以及 1956-75 年的日志簿。数字化完成后,预计最早在 2020 年初,个别甲板日志将可供研究。数字化是为了支持退伍军人索赔的处理,也将支持更大的公众访问。
此外,文本研究现在可以使用 ScanSnap 供个人使用。在恶劣天气情况下,可以查看我们的运营状态、Facebook 和 Twitter。通过 OPM 网站或拨打 301-837-0700 的状态线,了解华盛顿特区地区的运营状态,是否有关闭、晚开或早关的公告。
最后,网页还提供了媒体画廊,展示了越南战争期间美国军事摄影的作品,以及即将举行的活动和网络活动信息。
HN 热度 296 points | 评论 93 comments | 作者:LastTrain | 1 day ago #
https://news.ycombinator.com/item?id=44371169
- 该政策意味着只有研究人员可以进入大楼,以减少未经预约直接来访的人。
- 政策可能旨在提高工作人员处理有明确研究目的访客的效率。
- “合法商业目的"可能被误解为"商业需求”,实际上是指访问者的目的。
- 政策可能允许有预约和明确研究目的的人进入,以减少随意访问。
- 政策可能不会阻止人们追求任何疯狂的理论,只要他们以合法的研究过程进行。
- 政策可能通过是否合作和清晰地提前提交文件来评判研究过程的合法性。
- 政策可能意味着如果有人发表对领导不利的言论,他们可能会被禁止访问。
- 政策可能意味着 NARA 资金不足,试图在数字化转型和满足 KTLO 需求之间找到平衡。
- KTLO 可能是指"保持灯光亮着",即基本运营需求。
- 政策可能不会阻止人们追求任何疯狂的理论,只要他们以合法的研究过程进行。
- 政策可能意味着 NARA 资金不足,试图在数字化转型和满足 KTLO 需求之间找到平衡。
- 有人认为获取研究卡并不复杂,工作人员态度友好。
- 有人支持更多的安全措施,因为过去档案文件有被盗和破坏的倾向。
- 有人希望将原始文件封锁起来,同时增加数字化扫描的开放性。
Ancient X11 scaling technology #
https://flak.tedunangst.com/post/forbidden-secrets-of-ancient-X11-scaling-technology-revealed
这篇文章讨论了 X11 显示服务器在 DPI 缩放、分数缩放和多显示器支持方面的一些误解和挑战。作者通过尝试实现一个简单的任务——在不同尺寸和分辨率的屏幕上绘制一个始终为两英寸大小的圆形,来探索 X11 的缩放能力。尽管有人认为这是不可能的,但作者通过实际尝试发现,通过适当的编程和配置,X11 确实能够支持这些功能。
文章首先介绍了作者收集的不同尺寸和分辨率的屏幕信息,包括笔记本电脑屏幕、桌面显示器和大屏幕电视。作者使用 OpenGL 和简单的着色器来绘制圆形,并在代码中定义了一个关键变量 radius
,用于确定圆的像素大小。通过监听 X 服务器的配置事件,程序能够根据窗口的移动或大小变化来调整圆的大小。
作者进一步解释了如何从 X 服务器获取所需的屏幕信息,包括物理宽度和虚拟宽度,并使用这些信息来计算圆的半径,以保持其在不同屏幕上的实际大小不变。文章中还提到了一些额外的代码处理,如处理暴露事件和绘制循环,以确保圆能够在不同显示器之间正确地调整大小。
最后,作者通过在不同显示器上显示圆形的视觉效果来证明 X11 确实能够支持 DPI 缩放和多显示器配置。尽管在实际操作中遇到了一些挑战,如测量电视尺寸的不准确,但作者成功地在不同设备上实现了目标。文章以作者对那些认为某些事情不可能的人的反思结束,鼓励读者不要轻信他人的说法,而应该亲自尝试和探索。作者还提到,他不仅成功地在笔记本电脑上运行了程序,甚至在另一个房间的路由器上运行了程序,一切都像魔法一样工作正常。
HN 热度 279 points | 评论 240 comments | 作者:todsacerdoti | 1 day ago #
https://news.ycombinator.com/item?id=44369646
- X11 的古老缩放技术比 Wayland 当前的缩放方法更好,因为它直接在目标分辨率下进行渲染,避免了性能损失和输出模糊。
- Wayland 最初没有采用这种缩放方式令人费解,因为它的设计理念是将大部分工作委托给客户端。
- 应用程序需要能够处理任意缩放因子,以便在不同输出设备上获得最佳质量和性能。
- 苹果最初在 OS X 上采用的 2 倍缩放策略,后来因为硬件成本问题而改变。
- 在 OS X 的早期版本中,苹果尝试过更传统的缩放方法,但由于实施难度大,最终放弃了。
- Ubuntu 的 Unity 曾经通过改变字体大小来实现非整数缩放,效果对用户来说还不错。
- KDE Plasma 和其他表现良好的 Wayland 软件已经支持了用户想要的缩放方式,即 GUI 代码会确保内容尽可能贴近像素网格,避免模糊结果。
- Wayland 协议之前只能向客户端传达整数缩放因子,现在需要通过新的协议来支持分数缩放因子。
- 如果 Wayland 从一开始就能正确处理缩放,那么合成器甚至不需要知道缩放的事情,可以将问题完全交给客户端处理。
Reading NFC Passport Chips in Linux #
https://shkspr.mobi/blog/2025/06/reading-nfc-passport-chips-in-linux/
这篇文章是关于如何在 Linux 系统中读取护照中的 NFC 芯片数据。作者出于合法而非恶意的原因,希望读取自己护照 NFC 芯片中的所有数据。经过一番搜索,作者选择了 roeften 的 pypassport 工具来实现这一目的。
背景 #
护照中的 NFC 芯片受到密码保护,密码印在护照的内页上。除了需要物理接触护照以进行 NFC 读取外,还需要能够看到密码。密码印在“机器可读区域”(MRZ)上,这也是为什么一些边境守卫会在扫描芯片前先通过读卡器扫描护照;他们需要密码,不想手动输入。
作者使用的是已作废的旧护照,作废不仅仅是撤销文件,还会物理上改变护照:剪掉个人资料页左下角,确保剪掉照片对面的 MRZ 角落。因此,MRZ 的一部分缺失了!
重建 MRZ #
密码由三部分组成:护照号码(字母和数字)、出生日期(YYMMDD)和有效期(YYMMDD)。每个部分都有一个校验和,整个字符串也有一个校验和。当护照封面被剪掉时,最终的校验和会被剪掉。最终密码格式为:号码 号码-校验和 出生日期 出生日期-校验和 有效期 有效期-校验和 校验和。
如果知道护照号码、出生日期和有效期,可以生成自己的机器可读区域(MRZ),这作为 NFC 芯片的密码。
Python 代码生成 MRZ #
文章提供了一个 Python 3 的函数,用于计算校验和和生成 MRZ。通过这个函数,可以生成用作 NFC 芯片密码的 MRZ。
能否读取作废的护照? #
作者本以为剪掉护照封面会破坏内部的天线,但根据英国的指导原则,不应该剪掉电子护照的后封面,因为 NFC 芯片就在那里。这可能是为了确保即使护照被作废,仍然可以验证其真实性。
加密和其他安全措施 #
安全性方面,使用的是标准的公钥加密技术,文档 9303 第 11 部分详细解释了这一点。由于芯片没有计时器,它无法知道被读取的频率。可以对芯片进行数千次密码尝试而不被锁定。
能否暴力破解护照? #
理论上,暴力破解是可能的,但考虑到护照有效期通常为 10 年,有 36525 个可能的有效期。护照持有人通常不到 100 岁,这意味着有 3652500 个可能的出生日期。这已经是 133407562500 次尝试,还没有涉及到 1E24 个可能的护照号码。在作者的实验中,发送错误的 MRZ 会导致芯片在短时间内返回“安全状态不满足(0x6982)”。但如果知道目标的护照号码和生日,暴力破解有效期可能需要几天时间,不是瞬间,但也并非不可能。
是否值得暴力破解密码? #
如果暴力破解 MRZ,可以发现护照持有人的出生日期。此外,还可以获得他们的数字照片、全名、性别、发行国家和国籍等信息。所有这些信息都可以通过查看护照获得,因此尝试电子读取的价值不大。
安装 #
作者使用的是 https://github.com/roeften/pypassport。需要安装的库是 pyasn1,使用 pip3 install pyasn1 安装。下载 PyPassport 后,在同一个目录下创建一个测试 Python 文件,以查看是否可以读取护照。文章提供了一个示例代码,用于测试护照是否可以被读取。
获取结构化数据 #
护照数据的结构有些复杂。规范将数据放入不同的“数据组”中,每个数据组都有自己的 ID。通过运行 ep.keys(),可以看到可用的数据组。在作者的情况下,有[‘60’, ‘61’, ‘75’, ‘77’]。60 是公共区域,包含一些元数据。61 是 DG1,包含完整的 MRZ,包含持有人的姓名、性别、国籍等。77 是文档安全对象,对作者来说是空的。75 是 DG2 到 DG4 生物特征模板,包含图像和其他元数据。
文章最后提到,通过打印 ep[“75”],可以获得一些有趣的元数据,包括拍摄日期、表情、眼睛颜色、面部图像块长度、面部图像类型、特征掩码、特征点代码、特征类型、水平位置、保留位、垂直位置等信息。
HN 热度 261 points | 评论 93 comments | 作者:robin_reala | 17 hours ago #
https://news.ycombinator.com/item?id=44374574
- ICAO 9303 标准详细说明了如何验证和读取旅行文件数据,但实际应用中存在许多创造性的解释和错误。
- 电子旅行授权应用验证护照的过程繁琐且令人头痛。
- 将护照照片上传到不安全的服务器不如使用 NFC 技术验证护照。
- 荷兰驾照包含一个类似 MRZ 的线,但不符合 ICAO 9303 标准,而是遵循 NEN-ISO-IEC 18013-3 标准。
- 法国驾照的 MRZ 内容与荷兰相似,但具体文档尚未找到。
- 有人用 Rust 语言编写代码来读取护照中的信息,并对 eMRTD 的工作原理感到好奇。
- 许多护照包含数字化的指纹扫描,但这些信息更难获取,需要政府持有的私钥。
- 政府官员可能会将私钥出售给出价最高的人,这在某种程度上反映了自由市场。
- 重要的密钥不应该被复制,而应该在线检查,例如护照发送挑战,终端发送挑战到政府托管的 HSM,HSM 发送响应。
- 在没有互联网保证的边境和检查站,严格的控制会发生。
- 计算机安全人员和政府官员对密钥和密钥处理的理解存在巨大差异。
- 荷兰记者购买了带有总理照片的假叙利亚护照,但没有提到它是否通过了数字检查。
- 真正的敏感数据应该使用唯一的私钥加密,并使用 PIN 锁定,类似于 FIDO 通过 NFC 会更安全。
- 你留下的 DNA 到处都是,但数字化这些数据并自愿或非自愿地与他人分享,涉及到数据安全和隐私问题。
- 许多护照也包含你的计算机密码,但这些更难获取,需要只有政府拥有的私钥。
- 创建缺失的校验和是微不足道的,可以从其他信息中轻易计算出来。