给软件开发者准备的优质简报,每日阅读 10分钟


Euro firms must ditch Uncle Sam's clouds and go EU-native

643 pointsLinkComment(573)Share

欧洲企业需摆脱美国云依赖,全面转向欧盟本土云服务

  • 在2026年特朗普重返白宫的背景下,欧洲企业正认真对待数字主权问题,计划将敏感工作负载从美国云服务商迁移回本土,Gartner数据显示2026年欧洲IT支出预计增长11%至1.4万亿美元
  • 调查显示61%的欧洲CIO和技术领袖计划增加本地云服务使用,超半数认为地缘政治因素将阻止其进一步依赖美国超大规模云提供商
  • 美国CLOUD法案及监控法规要求美国总部云服务商必须交出欧洲数据,微软已承认无法保证欧洲数据独立于美国执法部门;前欧盟委员会顾问警告欧洲90%以上依赖美国云基础设施是"单次冲击事件安全噩梦"
  • 空中客车发起5000万欧元十年期招标,要求将关键应用完全迁移至"主权欧洲云",整个技术栈包括数据存储、传输、日志、IAM及安全监控基础设施均须基于欧盟法律并由欧盟运营商独立监管
  • 法国等国家已开始用本地视频会议服务取代Zoom和Teams,布鲁塞尔正推动开源方案帮助各国政府摆脱超大规模云服务商锁定,通过欧洲云联盟资助欧盟本土云生态建设

Microsoft 365 now tracks you in real time?

374 pointsLinkComment(287)Share

微软365实时位置追踪功能引发隐私争议

  • 微软确认将于2026年3月(较原计划从1月推迟)正式启用实时位置追踪功能,覆盖Windows和Mac版Teams及移动端应用,断开公司Wi-Fi仍无法逃避追踪
  • 若员工连接非公司网络(如"星巴克_Guest_WiFi"),系统将直接显示该网络名称,"远程"状态无法再掩盖实际位置
  • 微软声称设置有"安全屏障":功能可选、下班后自动停止追踪且历史记录自动删除,但若企业强制推行,员工实际并无选择余地
  • 该功能基于Microsoft 365官方路线图(功能ID: 411561/411562),被批评者形容为如"数字脚镣"般侵犯隐私,对混合办公者或重视隐私者尤为侵入
  • 作者指出,微软将此功能称为"协调工具",但实际形同员工佩戴电子监控设备,彻底终结了"帮请假"的时代

Mobile carriers can get your GPS location

198 pointsLinkComment(124)Share

移动运营商可通过蜂窝协议静默获取您的精确GPS位置

  • 蜂窝标准内置定位协议可迫使设备静默发送精确GNSS坐标:2G/3G网络使用RRLP(无线资源定位协议),4G/5G网络使用LPP(LTE定位协议)。这些控制面协议对终端用户基本不可见,精度可达个位数米级别,远超基站三角定位的数十至数百米精度。
  • 苹果在iOS 26.3中引入隐私功能,限制蜂窝网络获取"精确位置"数据,但该功能仅适用于配备2025年推出的Apple自研调制解调器的设备。此外,用户仍无法完全禁用对运营商的GNSS位置响应,在收到此类请求时也无法获得通知。
  • GNSS定位本质上是完全被动的计算过程——设备仅接收卫星信号计算坐标,无需向外发送任何信息。作者用阅读路牌的比喻形象说明:读取路牌无需告知他人,路牌管理者也无法知晓谁在何时读取了它,坐标本不应离开用户设备。
  • 这些定位能力早已被执法机构实际使用:美国DEA早在2006年即可通过法院令(而非搜查令)向运营商发送"ping"请求获取目标手机的GPS坐标;以色列Shin Bet更是建立了系统性监控体系,通过蜂窝公司数据中心长期追踪所有国民的实时位置。
  • 2020年新冠疫情期间,以色列政府将Shin Bet的监控数据用于接触追踪,向密切接触者发送短信要求隔离——这证明运营商收集的位置数据精度远超单纯的基站三角定位。
  • 作者指出存在两大未知:一是RRLP和LPP是否为执法机构使用的唯一技术,可能存在其他协议或后门;二是外国运营商能否远程利用这些能力。鉴于电信行业普遍存在的管理松懈和能力不足,不能排除国家级行为体通过电话号/IMEI获取地球上任何人精确GNSS坐标的可能性。

Show HN: I trained a 9M speech model to fix my Mandarin tones

391 pointsLinkComment(117)Share

基于9M参数CTC模型的普通话发音评分系统

  • 开发动机:作者因普通话声调识别困难且缺乏教师反馈,收集300小时标注语音(AISHELL-1+Primewords)训练端侧CAPT系统,通过浏览器可直接体验(仅13MB)
  • 模型架构:采用Conformer编码器结合CTC损失,利用CNN捕捉局部发音特征(如平翘舌区别),Transformer建模声调相对性及变调规则,避免传统音高可视化方案的脆弱性
  • 分词对齐机制:首创拼音音节+声调作为独立token(如zhong1与zhong4不同),构建1254词表;通过CTC帧级概率输出与Viterbi算法实现精准时间对齐
  • 压缩优化:模型从75M压缩至9M参数仍保持高精度(TER仅升至5.27%,声调准确率98.29%),INT8量化后仅11MB,揭示任务受数据而非算力限制
  • 静音处理优化:分离UI高亮与评分帧,过滤置信度>70%的静音帧,解决前置静音导致首音节置信度归零问题(从0.0提升至0.99)
  • 当前局限:训练数据以朗读语音为主,导致母语者需过度清晰发音、儿童因音高差异表现不佳,未来拟引入Common Voice等会话数据改进

HTTP Cats

529 pointsLinkComment(83)Share

HTTP Cats - HTTP状态码趣味猫咪图片服务

  • 服务功能: 通过URL格式 https://http.cat/[状态码] 访问与HTTP状态码对应的趣味猫咪图片,支持添加.jpg扩展名
  • 状态码覆盖: 提供100-599范围内完整的状态码图库,涵盖1xx至5xx所有类别及多种非标准状态码(如418、444、450、599等)
  • 原创作者: 由开发者@rogeriopvl创建,原始猫咪图片由插画家Tomomi Imura(@girlie_mac)设计
  • 开源与社区: 代码托管于GitHub,在Twitter、Bluesky、Mastodon、Facebook等社交平台设有官方账号
  • 多语言支持: 除英语外,还提供加泰罗尼亚语等语言版本

We have ipinfo at home or how to geolocate IPs in your CLI using latency

166 pointsLinkComment(44)Share

基于延迟测量的 IP 地理定位 CLI 工具

  • 方法灵感:ipinfo 通过构建覆盖全球的探针网络进行 traceroute 和 ping 测量,利用延迟数据配合算法交叉验证,发现 VPN 服务商向 ARIN、RIPE 等机构故意提供虚假地理位置信息(geofeeds);作者受此启发,用 Globalping 的 3000+ 探针网络实现了类似工具
  • 测量原理:使用 traceroute 而非 ping,因为多数网络会屏蔽 ICMP 流量,而目标 IP 的上游路由通常位于同一国家且允许 ICMP 通过;延迟最低的探针所在位置即为目标 IP 的物理位置
  • 检测流程:分四阶段执行——先用 5 个探针/大洲筛选出延迟最低的大洲,然后用 50 个探针确定国家,若为美国 IP 则继续用 50 个探针定位州/地区,最后提取最低延迟探针的城市信息
  • 核心限制:使用 magic field 设置大洲时无法保证覆盖每个国家,可能导致同一国家的探针未被选中而产生邻近国家误判;需手动指定所有国家/州并调整探针分配比例才能获得更稳定的结果
  • API 限制:未注册用户每小时 250 次测试、每次最多 50 个探针;注册免费账号后提升至 500 次/小时;托管探针或赞助可获得额外额度
  • 使用方式:命令行执行 geolocate $IP,可通过 --limit 参数增加每阶段探针数量以提高准确性

Guix System First Impressions as a Nix User

99 pointsLinkComment(39)Share

从 Nix 用户角度看 Guix System 的初步体验

  • 作者背景与迁移动机:十年 Linux 用户,依次使用 Mint、Ubuntu、Arch、Gentoo、Fedora 和 NixOS。迁移 Guix 的原因包括:对 Nix 语言不感兴趣、发现按目录隔离开发环境非常实用、厌倦了传统包管理器无法追踪已安装软件的状态。更重要的是 Guix 使用 GNU 官方认可的 Scheme 语言而非小众的 Nix 语言,且 1.5.0 版本正式将 KDE Plasma 列为一级支持项,使系统终于达到可日常使用的成熟度。
  • 安装过程的挑战:安装程序采用 Ncurses 界面,简洁且提供基础配置模板,KDE Plasma 现已可直接选择。但镜像服务器下载速度极慢(约 50KB/s),完整安装耗时约 2.5 小时;同时因 RTX 5070 显卡缺少自由固件而遭遇红色兼容性警告。
  • 图形环境配置的艰难历程:选择 KDE Plasma 后默认使用 GDM 而非预期的 SDDM,启动后出现标题栏缺失、窗口无法移动等问题。LXQt 和 i3 可正常启动,经 IRC 社区帮助(#guix 频道的 Rutherther)最终确认问题根源是 Nouveau 开源驱动无法支持 RTX 5070 显卡,尝试 nomodeset 亦无效。
  • 专有驱动的获取与困境:为解决显卡问题,作者启用第三方 Nonguix 仓库(约 64% 的 Guix 用户使用该仓库)。初次尝试"NVIDIA transform"因配置不当导致内核崩溃;后改用 Nonguix 2022 年 ISO 镜像(需手动将源从 GNU Savannah 改为 Codeberg 并禁用身份验证),最终仅启用完整内核和固件 blob 而未使用该转换选项,成功运行 Steam 和 Portal RTX(后者在 NixOS 上从未成功)。
  • 开发环境与社区优势:开发环境配置比 Nix 简便——只需编写包含 (specifications->manifest ...)manifest.scm 文件即可创建隔离环境,无需 shell.nix 的复杂仪式;Scheme 语言使阅读和修改包定义比 Nix 语言更易上手(符合 GNU 四大自由之"修改自由");向 Guix 贡献代码的流程比 Nixpkgs 顺畅得多(数小时即获回应 vs. 数月未合并的 trivial PR);guix home 作为内置一等公民,无需像 Home Manager 那样依赖第三方文档。
  • 主要短板与总体评价:镜像服务器不稳定导致下载缓慢;文档详尽但组织方式偏向参考手册而非教程,概念相关的内容分散在不同章节;guix pull 速度较慢且存在多用户实例的复杂性(每个用户有独立 guix,需额外步骤才能使用新版本)。除执行速度略慢外,Guix System 提供了与 NixOS 相似的声明式系统管理体验,且摆脱了 Nix 语言的怪异语法,作者表示满意并将作为日常主力系统使用。

"Giving up upstream-ing my patches & feel free to pick them up"

88 pointsLinkComment(34)Share

放弃提交补丁至上游并欢迎他人自由采纳

  • 作者自2025年1月起尝试向OpenJDK提交补丁,但需先签署Oracle贡献者协议(OCA),原以为流程仅需数日,实际却拖延超过一年
  • 提交OCA后每月发送跟进邮件,仅收到道歉式自动回复及内部转交请求,无任何实质性进展或明确拒绝,导致作者失去耐心
  • 作者澄清自己虽居中国大陆,但无受美国进出口管制限制的关联实体或关系,并呼吁如有问题应直接拒绝而非无限期搁置申请
  • 因兴趣与时间不足,作者决定放弃补丁上游化,并允许他人直接使用或重写其补丁(需保持原创性),无需署名或联系本人
  • 未成功提交的补丁包括:检测llvm-config状态、修复Zero版本线程栈溢出问题,以及多个针对龙芯JDK分支的优化补丁

Animated AVIF for the Modern Web

56 pointsLinkComment(29)Share

现代网络的动画 AVIF 格式应用

  • 动画图片的魅力在于其快速循环和自动播放的特性,与视频片段不同,GIF 格式虽经典但已显老旧,在现代网络中优化不足,而 AVIF 支持动画模式,是更优的替代方案
  • 可通过 FFMPEG 工具将视频(.webm)或现有 GIF 文件转换为动画 AVIF 格式,首先需要安装 FFMPEG
  • 推荐分步转换流程:先用 FFMPEG 调整源视频的帧率(如 fps=15)和尺寸(如 scale=720:-1),并输出为 y4m 中间格式
  • 接着使用 libsvtav1 编码器配合参数(-crf 30、-b:v 0)将 y4m 文件编码为最终 AVIF,同时禁用音频流(-an)
  • 截至 2025 年 12 月,在 Debian 13 系统中 FFMPEG 直接转换可能存在兼容性问题,建议分步执行以确保转换成功

CPython Internals Explained

105 pointsLinkComment(27)Share

CPython-Internals:深入 Python 解释器内部的开源学习笔记仓库

  • 这是一个由 zpoint 创建的 CPython 源码学习笔记仓库,基于 Python 3.8.0a0 版本,系统梳理了 Python 解释器的实现细节
  • 对象系统涵盖 dict、int/long、str/unicode、list(含timsort)、set、tuple、bytes、bytearray、float、func(用户定义方法)、method(内置方法)、iter、gen(生成器/协程/异步生成器)、class(绑定方法/类方法/静态方法)、complex、enum、type(元类/MRO/类与实例创建)等核心数据结构的内部机制
  • 解释器层面深入分析了 GIL 全局解释器锁、垃圾回收 GC、内存管理、描述符协议(__get__/__getattribute__/__getattr__)、异常处理、模块导入机制、帧对象 frame、字节码 code、__slots__ 机制、线程等关键机制
  • 扩展开发部分介绍了如何使用 C API、Cython、C++(含 Boost.Python 集成 NumPy 及绕过 GIL 实现多线程)编写 Python 扩展
  • 编译流程解析了从语法/元语法到 DFA、从具体语法树 CST 到抽象语法树 AST、再到 Python 字节码的完整编译过程
  • 项目提供简体中文和韩语版本 README,包含推荐的学习资料(如《Python源码剖析》、YouTube 视频及多个中英文技术博客),已获得 4.5k 星标、460 次 Fork,采用 CC BY-NC-SA 4.0 协议开源
← 2026-01-30 2026-01-31 → 2026-02-01