2025-12-30 Hacker News Top Stories #
- 作者系统展示了从传感器线性原始数据到可视图像的处理链,解释为何 RAW 直出显得昏暗偏绿并指出现有处理的不足。
- 作者讲述乘坐德铁因故障被绕行并被糟糕的调度与信息透明度对待,批判流程至上导致的人性缺失。
- 文章主张在 HTML 中使用带连字符的自定义标签以提升可读性与语义化,同时警示默认样式、可访问性等陷阱。
- GOG 被其联合创始人收购引发关于 DRM-free 优势、正版体验与 Steam 网络效应的讨论。
- 项目在极其受限的 Z80 环境中通过极端量化与哈希编码实现了约 40KB 的微型对话模型,展示微型 AI 的可行性。
- AI 对大容量、高带宽内存的需求激增导致 DRAM 供给紧张并推高消费电子设备价格。
- 文章主张软件工程师应保持“适度的悲观主义”,用务实的现实主义参与组织并推动改进。
- Mockito 主要维护者宣布十年后卸任,归因于 JVM agent 变更、Kotlin 发展带来的兼容性与个人兴趣转向等因素。
- 通过实测揭示 Unity 使用的 Mono 运行时在性能上远落后于现代 .NET,呼吁向 CoreCLR 迁移以获得实质性能提升。
- 作者用 Claude 与视觉 API 自动化数字化书架并结合人工修正,强调 AI 执行与人类判断协作的重要性。
原始照片长什么样 (What an unprocessed photo looks like) #
https://maurycyz.com/misc/raw_photo/
本文是一篇关于数码摄影中原始图像处理过程的详细技术博客,以一棵圣诞树的照片为例,展示了从传感器原始数据到最终成像的完整流程。
原始图像数据由相机传感器捕获,经过 14 位 ADC 转换,但实际有效范围仅为 2110 到 136000,远未填满整个动态范围。作者首先对数据进行黑/白点校正,使图像亮度得到合理拉伸,显著改善了对比度。
接着,由于传感器本身不直接感知颜色,而是通过拜耳滤色阵列(Bayer matrix)记录红、绿、蓝三种颜色的光强,每个像素仅能获取一种颜色信息。作者将每个像素按其滤色片颜色着色,形成初步的彩色图像,但色彩不完整。
为修复色彩信息,作者采用邻近像素平均法进行去马赛克(demosaicing)处理,使图像初步呈现彩色效果。然而此时图像整体仍过于昏暗。
问题的根源在于:人眼对亮度的感知是非线性的,而显示器的动态范围有限。若直接以线性数据显示,图像会显得过暗。此外,相机传感器对绿色光更敏感,且拜耳阵列中绿色像素数量是红蓝的两倍,导致去马赛克后绿色通道被过度增强,产生明显偏绿现象。
为解决此问题,作者在非线性处理前对各通道进行白平衡校正,降低绿色通道强度以匹配其他通道,再重新应用亮度曲线,最终得到色彩自然、亮度合适的图像。
作者强调,相机生成的 JPEG 照片并非“未经编辑”,而是经过大量自动算法处理的结果,包括去马赛克、白平衡、伽马校正等。后期调整本质上是相机内部处理的延续。两者只是对同一原始数据的不同呈现方式。
最后,作者指出,当前处理仍存在不足:黑点偏高、噪声未清除、高光饱和度下降等。提出可分离亮度与色度通道分别处理,以保留色彩真实感并避免高光过饱和。
总结:数码摄影的“真实”呈现,依赖于对传感器物理特性、人眼感知规律和显示设备限制的综合理解与技术处理。原始数据只是起点,最终图像质量取决于处理算法与艺术判断的结合。
HN 热度 2296 points | 评论 370 comments | 作者:zdw | 1 day ago #
https://news.ycombinator.com/item?id=46415225
- 现代摄影本质上是信号处理,其“未处理”图像只是传感器原始数据,真正可用的图像需要经过复杂的处理流程。
- 拜耳滤色阵列中绿色像素占比 50% 不仅为了色彩平衡,更因为人眼对绿色光最敏感,绿色通道承载了大部分亮度和细节信息。
- 高级去马赛克算法通常先重建绿色通道以获取高分辨率亮度图,再插值红蓝通道,这符合人眼对亮度敏感而对颜色分辨率容忍度较高的视觉特性。
- 4:2:0 色度下采样在视频压缩中的应用原理与拜耳阵列设计一致,都是基于人眼视觉系统的心理物理特性。
- 学习 dcraw 或 libraw 等开源库的源码是深入理解 RAW 图像处理的必经之路,其中包含大量针对不同传感器厂商的边缘情况处理。
- PPM 转 PGM 的灰度转换公式中绿色权重为 0.587,体现了绿色在人眼感知亮度中的主导作用。
- Linux man 页中使用相同变量名表示不同含义虽显不严谨,但其内容反映了标准的亮度计算方法。
- 作者最终呈现的“未处理”图像存在明显问题,如暗部过曝、高光失真和色彩过度饱和,这是由于错误的色彩空间处理和不恰当的数值缩放所致。
- “未处理”图像并非真正无处理,而是指传感器原始数据,而相机自动完成的白平衡、对比度调整等操作与后期处理本质相同。
- 一些人声称“不处理照片”是一种伪善,因为所有照片从诞生起就经过了不同程度的处理,包括胶片时代的暗房技术。
- 从技术角度看,将原始传感器数据映射为屏幕像素亮度本身就包含隐式转换,因此严格意义上的“未处理”图像无法直接观看。
- 当前手机相机的自动处理与传统胶片时代摄影师手动调整存在本质差异,前者是自动化批量处理,后者是艺术家的个性化创作。
- 将所有食物都视为“加工品”会削弱“加工”一词的语义价值,类似地,将所有图像处理都归为“加工”也会失去讨论意义。
- 正确的 RAW 数据处理需要先减去数据基线(pedestal)以获得线性值,否则会导致图像失真。
- RGB 转灰度的系数源自 PAL 制式 Y’矩阵,是国际通用的标准,体现了人眼对不同颜色亮度的感知差异。
- 亚马逊 Kindle 早期广告系统因未正确进行 RGB 到灰度的转换,导致显示效果粗糙,后通过添加 FFmpeg 参数修复。
被德铁绑架 (Kidnapped by Deutsche Bahn) #
https://www.theocharis.dev/blog/kidnapped-by-deutsche-bahn/
作者 Jeremy Theocharis 在一篇博客文章中讲述了自己在德国乘坐德铁(Deutsche Bahn)时遭遇的荒诞经历。2025 年 12 月 24 日,他从科隆主站乘坐 RE5 列车前往梅肯海姆探望祖母,原计划 15:32 发车,但列车已晚点 20 分钟。
途中司机宣布因“波恩附近出现故障”,建议乘客在科隆南站换乘地铁或前往特罗斯多夫转乘巴士。作者选择继续前往特罗斯多夫,计划由父亲接应。然而,列车在接近特罗斯多夫时,司机突然宣布:“我们未在特罗斯多夫站注册,无法停靠。”于是列车继续驶向纽威德,全程 63 公里,远超原定 35 公里。
在这段旅程中,作者意识到自己已从乘客变成“货物”——列车像运输牲畜一样将乘客送往偏远小镇。一位英语乘客无奈感叹:“我被绑架了。”而作者的座位邻座只淡淡回应:“德铁。”
最终,列车抵达纽威德,作者在车站拍照留念。他查阅德铁补偿政策,发现因延误获得的赔偿仅为 1.50 欧元,低于最低 4 欧元的发放门槛,因此实际无法获得任何赔偿。
文章通过幽默讽刺的笔调,揭示了德铁在调度、信息透明度和乘客服务方面的严重问题,也反映了德国铁路系统对“准点率”的扭曲定义——仅将延误少于 6 分钟的列车视为“准点”,而完全取消的列车则不计入统计。作者借此批判了系统性服务失效,以及乘客在庞大官僚体系下的无助感。
HN 热度 902 points | 评论 823 comments | 作者:JeremyTheo | 12 hours ago #
https://news.ycombinator.com/item?id=46419970
- 现代社会过度强调安全和程序,导致失去人性化和灵活性,人们不再主动解决问题。
- 德国工作文化中普遍存在严格遵循流程、拒绝越权行动的现象,即使流程明显不合理。
- 德国文化中“保护自己”心态严重,人们不愿承担决策责任,宁愿遵守规则也不愿冒险。
- 安全制度本应鼓励员工在紧急情况下自主决策,但现实中常被用作推卸责任的借口。
- 工业安全文化若脱离人的因素,仅依赖流程,反而可能因缺乏灵活性而酿成更大事故。
- 航空业曾通过人性化设计(如改变操纵杆形状)有效减少人为错误,说明系统设计应考虑使用者。
- 软件行业“用户体验缺陷”理念值得借鉴,用户出错时应反思产品设计而非归咎用户。
- 过度依赖流程和规则,会削弱一线人员的判断力和责任感,最终增加系统性风险。
- 真正的安全文化应赋予一线人员信息、沟通渠道和决策权,以应对突发状况。
- 企业或组织若缺乏对流程的持续改进机制,再完美的流程也会失效。
- 一线人员的“知情权”和“决策权”是保障安全的关键,不能被流程和层级完全压制。
使用自定义标签提升 HTML 代码的可读性与语义化 (You can make up HTML tags) #
https://maurycyz.com/misc/make-up-tags/
网页主体内容介绍了一种在 HTML 中使用自定义标签的创新写法。与传统使用 <div class="xxx"> 的方式不同,可以直接定义如 <cool-thing> 这样的标签,配合 CSS 样式实现样式控制。这种写法不仅让代码更具可读性,还能避免标签嵌套过多导致的结构混乱问题。
自定义标签在浏览器中会被当作通用元素处理,只要 CSS 中定义了样式,就能正常显示。只要标签名包含连字符(如 article-header),就能确保不会与未来 HTML 标准中的标签冲突。
相比使用 <div> 或 <span> 搭配类名,自定义标签能显著提升代码的语义化程度和可维护性。例如,用 <main-article>、<article-header> 等标签替代一连串的 <div class>,能更清晰地表达结构意图,避免“闭合标签计数”的困扰。
文章还提到,这种写法是 HTML 标准中明确支持的行为,属于合法且推荐的实践方式,尤其适用于构建可读性强、结构清晰的前端代码。同时,页面也提醒用户注意内容的版权与使用限制,强调该网站内容不适用于机器学习训练。
HN 热度 524 points | 评论 175 comments | 作者:todsacerdoti | 22 hours ago #
https://news.ycombinator.com/item?id=46416945
- 自定义标签在浏览器中默认为未定义的 HTMLElement,直到通过 JavaScript Custom Elements API 升级,这是所有现代浏览器的标准行为。
- 无连字符的自定义标签(如
)会被视为 HTMLUnknownElement,而带连字符的标签(如 )则被 W3C 验证器接受为合法的 HTMLElement。 - 自定义元素不会自动继承用户代理样式表中的默认样式,例如 [hidden] 属性的 display: none 行为需要手动在 CSS 中定义。
- 自定义元素的 display 属性也需要显式设置,否则默认为 inline,开发者容易忽略这一点。
- CSS 的 :defined 伪类可用于选择已通过 JavaScript 定义的自定义元素,而 :not(:defined) 可用于选择尚未定义的自定义元素。
- Declarative Shadow DOM 通过 创建的自定义元素也是未定义状态,但带有影子 DOM。
- 浏览器的用户代理样式表中并不存在 [hidden] { display: none } 的规则,该行为是 HTML 属性的内联表现形式,而非 CSS 规则。
- HTML 的 presentation attributes(如 align)具有零特异性,仅影响元素自身,不参与 CSS 层叠。
- 使用自定义标签(如
)虽优于无语义的 div,但不如原生语义标签(如 - 语义化标签对无障碍访问至关重要,自定义标签若未正确配置,会导致屏幕阅读器无法识别内容重要性。
- 无障碍访问只有“工作”与“失效”两种状态,不能以“未使用”作为借口。
- 使用自定义元素可能导致开发者忽略原生语义标签,从而降低可访问性和可维护性。
- 与 classed div 相比,自定义元素在语义上并无优势,且容易导致滥用。
- 语义化标签(如 article、aside)在实际开发中应优先使用,而非随意创建自定义标签。
- 一个元素只能有一个标签名,但可以有多个 class,因此类名组合在语义上更灵活。
- 自定义标签的嵌套结构引入了顺序,而类名是无序集合,因此不能完全用标签模拟类名组合。
- 自定义标签的嵌套结构反而是一种优势,能体现组件之间的逻辑关系,避免类名随意组合。
- 使用 CSS 的 @container、@scope 和 :has() 可以通过作用域和容器查询实现更灵活的样式控制,减少对类名的依赖。
- 后端开发者对前端技术讨论的负面评价(如投票)令人失望。
GOG 将被其联合创始人收购 (GOG is getting acquired by its original co-founder) #
https://www.gog.com/blog/gog-is-getting-acquired-by-its-original-co-founder-what-it-means-for-you/
该网页为 GOG 平台的 Cookie 同意声明页面,主要说明网站使用 Cookie 及相关技术的方式。页面强调,部分营销类 Cookie 可能将用户的视频观看记录共享给合作伙伴(如 Google Analytics、Meta),用户点击“允许全部”即表示同意此行为。
网站使用 Cookie 实现基本功能,如页面导航和安全访问,同时用于改进内容、个性化体验、市场营销及统计分析。用户可选择“允许全部”、“拒绝全部”或点击“设置”自定义偏好。
必要类 Cookie(40 个)保障网站基础运行,包括安全防护、负载均衡、支付登录、购物车功能、防跨站请求伪造等,部分由 RTB House、Typeform、AWS、YouTube、PayPal 等提供。
偏好类 Cookie(4 个)用于保存语言设置、表单功能、弹窗显示状态等,提升用户体验。
统计类 Cookie(21 个)用于匿名分析用户行为,数据由 Appnexus、Google、LinkedIn 等提供,主要用于网站性能优化和广告效果评估。
用户可通过页面底部的“Cookie 声明”按钮随时管理自己的选择。数据控制方为 GOG 及部分可信合作伙伴,具体权利详见隐私政策。
HN 热度 497 points | 评论 280 comments | 作者:haunter | 8 hours ago #
https://news.ycombinator.com/item?id=46422412
- GOG 提供离线安装包是其核心优势,让用户感觉真正拥有游戏,而非租赁许可证。
- 尽管 Steam 存在租赁性质,但其优惠活动和家庭共享功能仍使其具有吸引力,尤其对家庭用户。
- Steam 的成功依赖于多方面因素,如网络效应、易用性、工具生态和模组支持,不能简单归因于 piracy。
- DRM-free 模式在现实中并非不可行,许多玩家因便利性、安全性和对开发者支持而选择正版。
- 网络安全和潜在的恶意软件风险使得玩家更倾向于购买正版,而非冒险下载破解版。
- 即使是 Steam 游戏也常被快速破解,说明 DRM 并非有效屏障,且许多游戏实际上已接近 DRM-free 状态。
- 一些玩家认为,游戏被破解的速度快,说明 DRM 无法阻止盗版,但这也反映出现实中正版购买体验仍有改进空间。
- 对于经济条件有限的用户,是否带 DRM 并不重要,他们不会为游戏付费;而有支付能力的用户,DRM 影响极小。
- 游戏质量下降、定价过高和“未完成”发售现象,是导致部分玩家转向盗版的重要原因。
- 早期因经济困难而盗版,如今已转向正版,说明经济状况改善后,玩家更愿意支持合法渠道。
- 一些玩家认为,盗版行为也与游戏发行商的体验设计有关,如安装繁琐、退款困难等。
- 有观点指出,Steam 的 DRM 实际上可以被轻易绕过,因此所谓的“DRM 保护”在实际中形同虚设。
- 一些玩家表示,他们更信任 GOG 的发布版本,因为其发布者更可靠,而破解组的版本可能存在风险。
Z80-μLM:一个可运行于 40KB 的微型对话 AI (Show HN: Z80-μLM, a ‘Conversational AI’ That Fits in 40KB) #
https://github.com/HarryR/z80ai
Z80-μLM 是一个专为 8 位 Z80 处理器设计的微型语言模型,可在仅 64KB 内存的 CP/M 系统上运行。该模型通过 2 位量化训练,将神经网络权重压缩至极小规模,最终生成的 .COM 可执行文件大小约为 40KB,可在 4MHz 的老式处理器上流畅运行。
模型采用三元组哈希编码方式,将输入文本映射到 128 个特征桶中,具备对拼写错误和词序变化的容忍能力。所有计算基于 16 位整数运算,不使用浮点数,完全适配 Z80 的硬件架构。权重以每字节 4 个 2 位值的形式存储,实现高效压缩与快速解压。
项目包含两个预训练示例:tinychat 是一个对话机器人,能以简短、带个性的回复(如“YES”、“MAYBE”、“AM I?”)与用户互动;guess 是一个“20 个问题”游戏,模型会隐藏一个主题,通过“YES/NO/MAYBE”回应用户的提问,最终被猜中即获胜。
模型虽无法理解语义或维持长对话上下文,但其简洁的交互风格和对模糊输入的响应能力,带来一种独特的“复古智能”体验。它不追求通用智能,而是强调在极小资源限制下实现“有性格”的互动。
项目支持使用 Python 进行训练,可借助 Ollama 或 Claude API 自动生成训练数据,并提供数据平衡工具。训练流程包含量化感知训练(QAT),确保模型在低精度下仍能保持性能。
整体目标是探索在 8 位计算机上实现可训练、可部署、可交互的微型 AI 的可能性,既是一种技术挑战,也是一种对计算极简主义的致敬。
HN 热度 464 points | 评论 104 comments | 作者:quesomaster9000 | 19 hours ago #
https://news.ycombinator.com/item?id=46417815
- 这个 40KB 的 Z80-μLM 语言模型在极低资源限制下实现了基本对话功能,展示了微型 AI 的潜力。
- 该模型通过 2 位量化权重和量化感知训练,成功适应了 Z80 处理器的 16 位整数运算限制。
- 模型基于三元语法哈希,虽丢失词序但具备一定的容错能力,适合在资源受限设备上运行。
- 开发者使用 Claude API 生成 20 Questions 游戏数据,引发对模型蒸馏是否违反服务条款的幽默讨论。
- 有人将此项目与自己正在开发的 UE 游戏中的 Z80 模拟器和 VT100 终端系统完美契合,感叹巧合之妙。
- 该项目激发了对“最小可行 LLM”的思考,即如何在极小模型上实现基本对话与学习能力。
- 有人认为,若此类技术在上世纪 60 年代就存在,可能彻底改变科技与科幻的发展轨迹。
- 有人提出,当前 AI 公司大量收购内存,可能是为了掩盖“个人 AI 助手已进入家用电脑时代”的现实。
- 该模型虽无注意力机制,但通过上下文三元组仍能实现较自然的交互,令人惊讶。
- 有人设想构建一个超小型模型,结合外部数据检索,实现无限上下文与实时学习能力。
- 该项目与 Karpathy 提出的“认知核心”理念高度相似,即用极小模型实现基础推理与工具使用。
人工智能吞噬芯片,设备价格可能上涨 (As AI gobbles up chips, prices for devices may rise) #
https://www.npr.org/2025/12/28/nx-s1-5656190/ai-chips-memory-prices-ram
人工智能的迅猛发展正引发全球内存芯片短缺,导致相关设备价格可能上涨。当前,AI 驱动的云计算和数据中心对 DRAM(动态随机存取内存)的需求激增,已造成市场需求超出供应约 10%,且这一差距仍在扩大。
RAM 芯片是智能手机、电脑、游戏机等设备流畅运行的关键。由于 AI 训练和推理系统需要大容量、高带宽的持久内存,芯片需求已从周期性波动转变为结构性增长。科技顾问 Avril Wu 指出,仅本季度,DRAM 采购成本就比上一季度上涨 50%,若需加快交付,价格甚至翻倍至三倍。
芯片制造商如美国的 Micron Technology 虽因 AI 热潮实现业绩增长,但产能扩张受限。目前全球芯片厂的扩产已接近极限,新工厂建设周期长,Micron 位于爱达荷州的新厂预计 2027 年才投入运营。
这一供需失衡将直接影响 PC、手机、电视等消费电子产品。Dell 高管表示,芯片成本上升必然传导至消费者。分析师预测,DRAM 价格在 2026 年仍将持续上涨,短期内无缓解迹象。
简言之,AI 对内存芯片的“吞噬”正在重塑全球半导体市场,消费者或将面临设备涨价的压力。
HN 热度 303 points | 评论 481 comments | 作者:geox | 1 day ago #
https://news.ycombinator.com/item?id=46415338
- 人工智能生成内容(AI 内容)正带来广泛负面影响,从艺术风格到客户服务,甚至影响到科技公司股价,引发人们对技术失控的担忧。
- 当前对 AI 生成内容的反感情绪不会消失,但这种情绪与历史上对摄影、电子音乐等新技术的排斥类似,属于技术变革中的正常现象。
- 电子音乐和 AI 艺术的争议本质相同,关键在于创作者是否投入了真正的艺术构思与劳动,而非工具的使用。
- 将 AI 生成作品称为“艺术”是一种误导,因为 AI 本身不具备创作意图,人类仅通过提示(prompt)驱动其生成,这并非真正的艺术创作。
- 数学本身不是艺术,但数学中蕴含的美学与人类社会互动中的创造性表达,可被视为一种独特的艺术形式。
- 艺术的本质是实践,而非标签,作品本身的价值应被重视,但必须辅以真实透明的创作说明,避免误导消费者。
- 大多数人类艺术家的创作也多为模仿与借鉴,真正的创新者极为稀少,AI 的“抄袭”本质与人类艺术家的模仿并无本质区别。
- 当前多数 AI 艺术创作者更关注商业变现而非艺术本身,大量推广 NFT 等营销行为降低了其艺术可信度。
- AI 艺术目前缺乏真正具有开创性的代表人物,如安塞尔·亚当斯那样的大师级艺术家尚未出现,因此难以与传统艺术相提并论。
- AI 生成内容具有强烈的挑衅性,能引发强烈情绪反应,这正是艺术应有的功能,因此 AI 艺术在当代反而更符合艺术的本质。
软件工程师应保持适度的悲观主义 (Software engineers should be a little bit cynical) #
https://www.seangoedecke.com/a-little-bit-cynical/
文章探讨了软件工程师在大型科技公司中应持有的态度,主张工程师应保持“适度的悲观主义”而非完全的理想主义或极端的悲观。
作者承认,许多人认为他提倡“顺从上级”“迎合管理层”等观点显得过于现实甚至“悲观”,但作者认为,这种看似悲观的立场,实则是清醒认知组织运作机制的必要前提。他指出,理想主义的极端版本——认为工程师应永远拒绝妥协、对抗公司腐败、独自守护用户利益——实际上是一种更深层次的悲观,因为它预设了系统性腐败和个体无法改变现实。
相反,作者认为,真正理想主义的体现,恰恰是主动参与组织内部的政治与协作过程,推动有意义的改进。例如,让数亿用户使用 LaTeX 功能,需要协调多方资源,这本身就是一种政治实践。工程师通过影响技术实现路径,实际上在塑造产品方向,这种影响力不容忽视。
作者强调,适度的悲观主义是一种“免疫剂”,能帮助工程师避免陷入两种极端:一是过度理想化公司运作,导致失望;二是过度悲观,认为公司全然无能或恶意。他呼吁更多真实、务实的讨论,以纠正过去理想主义叙事主导下对科技公司运作机制的误解。
最终,作者认为,真正有理想的工程师,不是拒绝参与,而是理解系统、利用系统,以专业能力推动积极改变。
HN 热度 281 points | 评论 199 comments | 作者:zdw | 1 day ago #
https://news.ycombinator.com/item?id=46414723
- 将组织视为可被理解并利用的现象,应基于可能性而非情绪或心态来分析其行为。
- 真实主义与愤世嫉俗不同,前者中立,后者带有负面含义,不应混淆。
- 真实主义的核心是坦率表达观点而不伤害他人关系,即“直言而不树敌”。
- 所谓“坦率”源自广告从业者而非牛顿,该说法并无历史依据。
- 适度的愤世嫉俗是必要的,它帮助人们更接近现实,而非盲目乐观。
- 人类天生倾向于乐观,因此应主动假设最坏情况,以减少失望。
- 芬兰的幸福感部分源于低期望值,当实际表现略高于最低标准时即感到满足。
- 愤世嫉俗并非负面特质,其本质是基于人性自利的现实判断,与经济学中的激励机制一致。
- 愤世嫉俗与现实主义的区别在于标签,而非实质内容,人们常将悲观结论误称为“愤世嫉俗”。
- 心理学研究显示,轻度抑郁者在判断现实概率时更准确,非抑郁者普遍存在乐观偏差。
- 心理健康状态常伴随自我服务偏差和过度自信,而缺乏这些偏差的人反而拥有更稳定的现实模型。
十年维护后卸任,告别 Mockito 项目 (Stepping down as Mockito maintainer after ten years) #
https://github.com/mockito/mockito/issues/3777
该网页是 Mockito 项目维护者 TimvdLippe 发布的一则公开声明,宣布将在 2026 年 3 月完成十年维护工作后正式卸任。他回顾了过去十年在项目中的投入,并解释了做出这一决定的三大主要原因。
首先,JVM 22 引入的代理(agent)机制变更对 Mockito 造成重大影响。尽管该变更出于安全考虑合理,但项目团队在推进过程中缺乏充分沟通与协作,将责任单方面推给 Mockito,要求其快速适配,而未提供相应的构建支持或替代方案。这让作为志愿者的维护者感到巨大压力,认为开源协作机制因此受到冲击。
其次,Kotlin 语言的快速发展给 Mockito 带来技术挑战。由于 Kotlin 在 JVM 上的特殊实现方式,项目中需为 Kotlin 单独维护复杂逻辑,尤其在协程等特性上,导致代码结构变得冗杂、难以维护。作者坦言,面对 Kotlin 的主导趋势,他不再对项目未来抱有热情。
最后,作者提到自己近年来重新发现了编程的乐趣,转而投入 Rust 语言的 Servo 浏览器引擎项目,相比 Mockito,这些新项目更能激发他的积极性。当一项志愿工作从热爱变为负担时,继续坚持已无意义。
综上,出于对项目可持续性、个人精力与开源生态健康的考虑,作者决定在十年里程碑之际退出维护,为新一任维护者铺路。后续将通过其他议题讨论接任计划。
HN 热度 271 points | 评论 196 comments | 作者:saikatsg | 1 day ago #
https://news.ycombinator.com/item?id=46414078
- 使用 mocks 会导致测试变得脆弱,因为测试依赖于具体的方法调用顺序和次数,一旦实现细节改变,测试就会失败,即使功能没有问题。
- 测试应关注最终结果而非实现过程,通过使用简单的假数据(如 HashMap)来模拟依赖服务,可以避免对调用细节的过度依赖。
- mocks 容易引入虚假的安全感,使开发者忽视对真实行为的验证,而真正的测试应假设依赖项按契约正常工作。
- 在复杂场景下,如数据库操作或网络通信,存在多种等效实现方式,但 mocks 测试可能因选择特定实现而变得不稳定。
- 与其在测试中精确模拟每个调用,不如构建轻量级的“假服务”来验证业务逻辑的正确性,从而提高测试的稳定性和可维护性。
- 选择 mocking 框架(如 Mockito 或 EasyMock)并强制统一使用是一种浪费时间的工程决策,实际差异很小,不应影响现有代码。
- 依赖 mocks 的测试容易因架构调整(如服务调用顺序变化)而频繁失效,导致开发效率下降。
- 真正的测试应验证系统行为是否符合预期,而不是验证方法调用的细节,测试应聚焦于“结果”而非“过程”。
- 对于接口设计良好的系统,mock 和 fake 的区别本质上是实现方式的不同,关键在于是否在合适的层级进行模拟。
- 如果接口设计本身存在多种等效实现路径,说明设计可能存在缺陷,应通过更清晰的抽象来减少歧义。
Unity 的 Mono 问题:为何你的 C# 代码运行速度远低于应有水平 (Unity’s Mono problem: Why your C# code runs slower than it should) #
https://marekfiser.com/blog/mono-vs-dot-net-in-unity/
Unity 使用的 Mono 运行时在执行 C# 代码时性能远低于现代 .NET,导致游戏开发和运行效率低下。作者通过实际测试发现,相同代码在 Unity 的 Mono 环境下运行速度仅为现代 .NET 的 1/3 到 1/15,尤其在启动阶段差距显著。
在调试过程中,作者发现一个地图生成任务在 Unity 编辑器中需 100 秒,而在 .NET 单元测试中仅需 38 秒。进一步测试显示,在 Release 模式下,Unity 独立可执行程序耗时 30 秒,而 .NET 程序仅需 12 秒,性能提升超过 2.5 倍。
这种性能差距主要源于 Mono 的 JIT 编译器优化不足,生成的机器码效率较低。而现代 .NET 的 JIT 编译器在运行时优化、指令生成等方面有显著优势。
尽管 Unity 早在 2018 年就启动了向 .NET CoreCLR(即 CoreCLR)迁移的项目,并曾承诺可带来 2-10 倍的性能提升,但至今仍未实现。2025 年 Unite 大会上,Unity 宣布 .NET 现代化将进入 Unity 6.x 版本,但仍未明确具体上线时间。
作者指出,CoreCLR 不仅带来性能飞跃,还支持 Span
相比之下,Unity 的 Burst 系统虽能通过 LLVM 生成高效原生代码,但限制严格,仅支持部分 C# 语法。作者认为,若 Unity 将资源集中于优化 CoreCLR,其性能可能与 Burst 持平,且无需额外学习成本。
总之,Unity 的 .NET 现代化是亟需推进的关键升级,不仅能大幅提升性能,还能释放更多现代 C# 和底层优化能力,对开发者和玩家都意义重大。
HN 热度 264 points | 评论 164 comments | 作者:iliketrains | 1 day ago #
https://news.ycombinator.com/item?id=46414819
- Unity 的性能优化方案如 il2cpp 和 Burst 编译器本质上是低效的,生成的 C++ 代码质量差,且牺牲了 C#的开发便利性,性能仍远不如现代 C#或 C++。
- Unity 长期通过对比老旧的 Mono 后端来夸大其性能提升,实际性能与原生 C#或 C++ 相比并无优势,其宣传存在误导性。
- Unity 的 DOTS、ECS 和 HPC#等技术虽被包装为性能未来,但实际性能仍逊于合理编写的 C++ 或甚至普通 CoreCLR C#代码。
- Unity 的这些专有技术要求开发者完全遵循其架构范式,使用非自由的私有库,导致代码难以移植和维护。
- Unity 应转向使用 CoreCLR,这将使普通 C#代码运行速度更快,且无需为性能牺牲开发效率和代码可读性。
- Unity 在 C#游戏开发领域的主导地位,导致许多开发者误以为 C#在游戏开发中本就性能不佳,掩盖了 C#和.NET 的真实潜力。
- 微软对游戏开发的支持不足,如 XNA 项目被终止,导致 Unity 成为 C#游戏开发的唯一主流平台,进一步固化了错误认知。
- Unity 早期支持的 UnityScript 和 Boo 语言为 C# API 的怪异设计埋下伏笔,其 C#接口与标准 C#差异显著,是其“方言化”C#的根源。
- Capcom 等大厂自研基于现代.NET 的游戏开发环境,说明在资源充足的情况下,C#完全可胜任高性能游戏开发,无需依赖 Unity 的特殊方案。
- 有观点认为,即使像 Capcom 这样自研环境也显得过于极端,但反映出 Unity 生态对 C#性能的误导性影响。
用 AI 助手 Claude 打造数字化书架 (Show HN: Vibe coding a bookshelf with Claude Code) #
https://balajmarius.com/writings/vibe-coding-a-bookshelf-with-claude-code/
作者拥有超过 500 本书,但因无法准确掌握藏书情况而长期未能整理。过去尝试用表格或工具管理,却因繁琐和数据不完整而放弃。
2025 年底,借助 AI 助手 Claude,他终于完成书架数字化项目。过程始于拍摄 470 张书籍照片,通过 Claude 编写脚本调用 OpenAI 视觉 API 提取书名、作者、出版社等信息,实现约 90% 的准确率。剩余部分通过人工修正,作者明确判断“足够好”即可,拒绝追求完美。
接着,为补全封面图像,使用 Open Library API 并结合 Google Images 作为备用,对低质或错误匹配进行筛选与补充。最终仅需手动处理 10 本,效率极高。
在视觉呈现上,作者不满足于简单的网格布局,而是希望还原真实书架的质感——不同厚度、颜色融合、不规则排列。Claude 根据页数映射脊宽,并加入随机变化,使数字书架更接近实物。同时,通过色彩分析自动生成可读性高的文字配色。
动画方面,初始的滚动倾斜效果存在卡顿问题,经分析后改用 Framer Motion 的 motion values 与弹簧动画,实现流畅自然的交互体验。
作者还曾引入“无限滚动”功能,虽技术可行,但引发页面错位与不可达等问题,最终选择删除,强调“不需要的功能再好也应舍弃”。
移动端适配中,Claude 基于原有代码快速构建“堆叠视图”,保持一致的动画逻辑与设计风格,实现响应式切换。
整篇文章的核心在于:AI 负责执行,而人负责判断与审美。作者总结,执行成本正在降低,但“品味”依然珍贵。
HN 热度 250 points | 评论 190 comments | 作者:balajmarius | 11 hours ago #
https://news.ycombinator.com/item?id=46420453
- Vibe coding 最适合中小型项目,大型项目因依赖关系复杂,容易导致模型生成过多代码或引入细微错误,需谨慎管理上下文。
- 对于大型项目,建议先由人类进行架构设计,明确目标后再让 AI 辅助实现,确保代码精准符合预期。
- 当项目需求不明确时,AI 难以有效协助,因为发现和定义解决方案是人类工作的一部分。
- 有效的 AI 协作流程应包括:由 AI 提出实现方案,人工迭代优化方案并写入文档,再让 AI 根据文档实现,适合拆分为小而明确的任务。
- 若 AI 在实现过程中偏离方向,说明前期方案不够清晰,需加强规划。
- 项目规模过大时,应通过模块化设计、定义清晰接口来减少模块间的耦合,从而降低 AI 处理上下文的负担。
- 通过将接口定义独立成文件并限制 AI 仅使用接口,可显著提升 AI 在大型项目中的表现。
- 当接口过多时,可进一步拆分应用,减少 AI 同时处理的代码范围。
- 当前 AI 编程能力已支持混合使用,从完全依赖 AI 到仅辅助设计,可根据项目需求灵活搭配。
- 未来 AI 可能实现全自动编程,但目前仍需人类主导,AI 扮演执行者角色,人类负责任务分配与监督。
- 有人认为 AI 发展可能接近瓶颈,进展趋于平缓,未来 50 年才可能实现全面替代。
- 也有人认为 AI 进步正在加速,新基准测试显示能力持续提升,未来有望实现更复杂任务。
- 当前 AI 瓶颈不在于模型本身,而在于如何有效组织和利用模型的上下文,即“上下文工程”难度高。
- 尽管模型性能提升显著,但实际应用中仍需大量人工投入来构建合适的使用框架,否则模型表现仍不稳定。
Hacker News 精彩评论及翻译 #
Kidnapped by Deutsche Bahn #
https://news.ycombinator.com/item?id=46420414
I feel like we lost humanity somewhere in modern world. I grew up in 3rd world country and if this were to happen, train would literally stop somewhere, anywhere. (With the assumption it’s safe from crewing into another train).
But the idea that you go 55 minutes just because of policy; and skip 15 stations is crazy to me. Again with the assumptions that it can safely stop somewhere for 5m and I’m pretty sure the answer is yes.
I have fond memories of train stopping close to my house for various random reasons and I’d just get out so I don’t have to walk back from the station. The modern world where everything is “safety issue” and “someone else’s problem” is where we lost our ways, and it’s never coming back.
BloondAndDoom
我感觉我们在现代社会中迷失了人性。我在发展中国家长大,如果发生这种事,火车真的会随便找个地方停下。(前提是确保安全,不会撞上另一列火车)。但仅仅因为政策就让列车行驶55分钟并跳过15个站,在我看来太疯狂了。我再次假设它可以安全地停下5分钟,而且我非常确定答案是肯定的。我对火车因为各种随机原因停在我家附近还有美好的回忆,我会直接下车,这样就不用从车站走回来了。这个凡事都是“安全问题”和“别人的问题”的现代社会,就是我们迷失方向的地方,而且这种状况一去不复返了。
What an unprocessed photo looks like #
https://news.ycombinator.com/item?id=46415558
I love posts that peel back the abstraction layer of “images.” It really highlights that modern photography is just signal processing with better marketing.
A fun tangent on the “green cast” mentioned in the post: the reason the Bayer pattern is RGGB (50% green) isn’t just about color balance, but spatial resolution. The human eye is most sensitive to green light, so that channel effectively carries the majority of the luminance (brightness/detail) data. In many advanced demosaicing algorithms, the pipeline actually reconstructs the green channel first to get a high-resolution luminance map, and then interpolates the red/blue signals—which act more like “color difference” layers—on top of it. We can get away with this because the human visual system is much more forgiving of low-resolution color data than it is of low-resolution brightness data. It’s the same psycho-visual principle that justifies 4:2:0 chroma subsampling in video compression.
Also, for anyone interested in how deep the rabbit hole goes, looking at the source code for dcraw (or libraw) is a rite of passage. It’s impressive how many edge cases exist just to interpret the “raw” voltages from different sensor manufacturers.
barishnamazov
我喜欢那些揭示“图像”背后抽象本质的帖子。这让我们清晰地看到,现代摄影其实就是信号处理,只不过营销包装得更好罢了。
顺便说一个帖子中提到的“偏绿色”的有趣知识:拜耳阵列之所以是RGGB(50%绿色)模式,原因不仅仅是色彩平衡,更关乎空间分辨率。人眼对绿色光最为敏感,因此绿色通道实际上承载了大部分的亮度(即细节)信息。在许多先进的去马赛克算法中,处理流程会先重建绿色通道,从而得到一张高分辨率的亮度图,然后再在此基础上对红/蓝信号进行插值——这两种信号更像是“色差”层。我们之所以能这么做,是因为人类的视觉系统对低分辨率颜色数据的容忍度,远高于对低分辨率的亮度数据的容忍度。这与视频压缩中4:2:0色度子采样得以成立的原理是一样的,都是基于心理视觉特性。
此外,对于任何想知道这个领域水深几何的人来说,去读一读 dcraw(或 libraw)的源代码算是一种入门仪式了。光是解读不同传感器厂商的“原始”电压数据,就存在数不胜数的特殊情况,这确实令人印象深刻。
Karpathy on Programming: “I’ve never felt this muc… #
https://news.ycombinator.com/item?id=46425127
What exhausts me isn’t “falling behind.” It’s watching the profession collectively decide that the solution to uncertainty is to pile abstraction on top of abstraction until no one can explain what’s actually happening anymore.
This agentic arms race by C-suite know-nothings feels less like leverage and more like denial. We took a stochastic text generator, noticed it lies confidently, wipes entire databases and harddrives, and responded by wrapping it in managers, sub-agents, memories, tools, permissions, workflows, and orchestration layers so we don’t have to look directly at the fact that it still doesn’t understand anything.
Now we’re expected to maintain a mental model not just of our system, but of a swarm of half-reliable interns talking to each other in a language that isn’t executable, reproducible, or stable.
Work now feels duller than dishwater, enough to have forced me to career pivot for 2026.
rambojohnson
让我筋疲力尽的不是“落后”,而是目睹整个行业集体决定,解决不确定性的方法就是不断地堆叠抽象,直到没人能再解释清楚到底发生了什么。
这种由高层外行们发起的智能体军备竞赛,感觉与其说是杠杆作用,不如说是自欺欺人。我们拿了一个随机文本生成器,注意到它能一本正经地胡说八道,甚至清除整个数据库和硬盘,结果我们的应对方法就是给它加上管理者、子智能体、记忆库、工具、权限、工作流和编排层,这样我们就不必直视它依然什么都不懂这个事实了。
现在我们要维护的,不再只是一个系统的心理模型,而是一大群半吊子的实习生组成的群体的心理模型,它们用一种无法执行、无法复现、也不稳定的语言在相互交谈。
现在的工作感觉比洗碗水还无聊,甚至已经迫使我决定在2026年转行。
Google is dead. Where do we go now? #
https://news.ycombinator.com/item?id=46425707
I recently took someone to go and watch a hockey game. Been a little while but I personally played as a goalie myself.
The person kept making the comment that she couldn’t see/find the puck and it made it frustrating to watch.
As a goalie, not being able to see the puck is pretty normal (especially with big bodies trying to screen you).
What I told her was that what matters a lot more than where the puck is, is where it’s going to be in about two seconds. But the next best thing is to know where the puck is now.
If you can’t see the puck then look at the players and as a last resort, look at the ref. 99% of the time they will be looking at the puck. Look where they’re looking and soon enough it will appear.
I think this applies very much to this whole Google question.
The puck is gone (or on the way to the other side of the rink) and everyone is confused where it is or where it’s going.
Look where everyone is looking and you’ll find your answer there. It may not be in the same form as Google adwords, but the game is the same. Leveraging attention.
The tactics were different during the phonebook days (it was having your business start with the letter “A”) as opposed to Google and will be different for the next thing as well.
From what I can tell, everyone seems to be looking at chatbots and vertical, shortform video. Not sure how that plays out in terms of advertising, but in terms of the answer to this article’s question, that seems like a good place to start.
SunshineTheCat
我最近带人去看了一场冰球赛。虽然有一段时间没看了,但我自己以前就是当守门员的。她一直抱怨说看不到也找不到冰球,看得让人很沮丧。作为一个守门员,看不到冰球是很正常的(尤其是有高大的球员在你面前挡着的时候)。我告诉她,比起冰球现在的位置,更重要的是它两秒后会在哪里。但次好的方法,就是知道它现在在哪里。如果你看不到冰球,就看看球员们;如果实在不行,就看看裁判。99%的时间里,他们都在看冰球。看他们看哪里,冰球很快就会出现了。我觉得这个道理完全可以应用到整个谷歌的问题上。冰球已经消失了(或者正在滑向冰场的另一边),大家都搞不清它在哪里,或者要往哪里去。看看大家都在看哪里,你就能找到答案。它可能不再是谷歌广告的形式,但游戏规则是一样的。都是在利用注意力。在电话簿时代,策略就不同(那时候的策略是让你的公司名称以字母’A’开头),谷歌时代又不一样,未来新事物出现时,策略也会不同。据我观察,大家似乎都在关注聊天机器人和垂直短视频。不确定这会如何影响广告,但对于回答这篇文章提出的问题来说,这似乎是个不错的起点。
Tesla’s 4680 battery supply chain collapses as par… #
https://news.ycombinator.com/item?id=46423459
For years, we’ve been told that the 4680 cell was the “holy grail” that would allow Tesla to produce a $25,000 electric car.
For years, we’ve been told a lot of things that have never come to fruition.
Just 6 months ago, we were told that Robotaxi would be available to half the US population by the end of the year.
jqpabc123
多年来,我们一直被告知,4680电池是“圣杯”,它将使特斯拉能够生产一辆2.5万美元的电动汽车。多年来,我们被告知了许多从未实现的事情。就在6个月前,我们还被告知,到年底,自动驾驶出租车将覆盖美国一半的人口。https://electrek.co/2025/07/23/elon-musk-with-straight-face-tesla-robotaxi-will-cover-half-us-population-end-year/
Staying ahead of censors in 2025 #
https://news.ycombinator.com/item?id=46418295
Considering the staggering number of arrest for online/offensive communications in England & Wales, we should add Britain to the list of Russia and Iran
2017: ~5,500 arrests
2019: ~7,734 arrests
2023: ~12,183 arrests
throwfaraway135
考虑到英格兰和威尔士因在线/冒犯性言论而被逮捕的惊人数量,我们应该把英国和俄罗斯、伊朗列在一起。
2017年:约5,500起逮捕
2019年:约7,734起逮捕
2023年:约12,183起逮捕
CEOs are hugely expensive. Why not automate them? … #
https://news.ycombinator.com/item?id=46415970
I’m deeply skeptical of CEOs being “built different” like some people are arguing here. If Elon can be CEO of three companies and the founder of a couple more while also finding time to tweet 50+ times a day, have a failed and embarrassing stint in trying to optimize the federal government, and get K-holed at parties then the demands of the job can’t be that rigorous.
If anything, I would argue that the strategic decisions actually can be automated/performed via broader consensus. With that handled, all that’s left is the cartel that CEOs have invented to justify their exhorbant pay packages.
Sparkle-san
我非常怀疑CEO们真的像有些人所说的那样“与众不同”。如果埃隆能在担任三家公司CEO、创立更多公司的同时,每天还抽空发50多条推文,尝试优化联邦政府却以失败和尴尬告终,并且在派对上嗨到“K洞”(指吸食氯胺酮后进入迷幻状态),那么这份工作的要求肯定没那么严格。恰恰相反,我认为战略决策实际上可以自动化或通过更广泛的共识来做出。只要这部分解决了,剩下的就是CEO们为了证明自己高昂的薪酬而捏造出来的“卡特尔”(这里指CEO们结成的小圈子)。
GOG is getting acquired by its original co-founder #
https://news.ycombinator.com/item?id=46423101
Can I still download offline installers? Yes.
This is the only line I was looking for. I stopped buying on Steam sometime ago because I realized I was just renting licenses. GOG is the only major storefront where I feel like I actually own the product. As long as offline installers remain a core tenet, I don’t care who owns the company. That said, it helps that it’s someone returning to their roots rather than a private equity firm looking to strip-mine the assets.
Fiveplus
我还能下载离线安装包吗?是的。
这就是我一直在找的答案。我之前就不再在Steam上购买了,因为我意识到我只是在租用许可证,而不是真正拥有游戏。GOG是唯一一个让我感觉自己真正拥有产品的主流商店平台。只要离线安装包仍然是其核心原则,我不在乎谁拥有这家公司。话虽如此,值得庆幸的是,收购它的是回归本源的团队,而不是试图剥离资产、榨干价值的私募股权公司。
UK accounting body to halt remote exams amid AI ch… #
https://news.ycombinator.com/item?id=46420746
Ask an examiner from 20 years ago the risk of allowing people to take exams in their own home. They would have said ‘cheating’, even with no concept of AI.
Here is what happened. ACCA, one of several accountancy bodies in the UK, charge their students extraordinary sums of money to take their exams. When I took accountancy exams there were 9of 3 hour written exams, in a real building, with real invigilators. All of the bodies at the same time realised that they could charge the same amount, pay Pearson to administer an electronic test and make more money out of their students. It was a disgrace then and it is a disgrace now
jimnotgym
问一位20年前的考官,允许考生在家参加考试的风险是什么。他们会说“作弊”,即便他们对人工智能一无所知。
事情是这样的。ACCA,英国多家会计师公会之一,向学生收取离谱的费用来参加考试。我参加会计师考试时,有9场3小时的笔试,在实体建筑里,由真正的监考官监考。所有公会同时意识到,他们可以收取同样的费用,付钱给培生(Pearson)来管理一场电子考试,从而从学生身上赚取更多利润。当时这是一种耻辱,现在依然是。
Kidnapped by Deutsche Bahn #
https://news.ycombinator.com/item?id=46420641
I worked for a massive German company you heard of, this sounds more like the typical German philosophy of strictly following the process – as absurd as it might be – and refusing to take initiative for anything that is not explicitly defined as one’s responsibility.
As a French, the culture shock was brutal and I never really got around that work attitude. I went through a similar issue back when I used to take a regional train in France, and the crew swiftly adapted by bending rules to accommodate a difficult situation caused by bad weather. I’m not sure this could happen today, but it was a thing 10 years ago, we used to trust the operators back then.
Zealotux
我曾就职于一家你可能听说过的大型德国公司,这听起来更像是典型的德国哲学:严格遵循流程——无论多么荒谬——并且拒绝承担任何没有明确界定为自身职责的责任。作为一名法国人,这种文化冲击对我来说是巨大的,我始终无法适应那种工作态度。以前我在法国坐区域火车时也遇到过类似的情况,乘务员迅速变通,通过灵活执行规定来应对由恶劣天气造成的困境。我不确定今天是否还能看到这种情况,但10年前是常有的事,那时候我们很信任这些工作人员。
Kidnapped by Deutsche Bahn #
https://news.ycombinator.com/item?id=46421417
So much in German work culture - and also culture in general - is about covering your own arse. If you follow the procedure, even if the outcome is disaster, you are not at fault; you were just implementing the rules, and you cannot be held accountable. It’s the fault of whoever came up with the rules, except that is usually not a single person, but some amorphous entity that ran through some decision making process years in the past. So, no one is really at fault or can be held accountable.
It’s always some magical higher power preventing you from doing the sensible thing. One favourite excuse is insurance liability. We can’t do the sensible thing, because the insurance wouldn’t pay if something bad were to happen, even though the odds of something bad happening are virtually nil.
You can also observe this in German politics. “Oh, we absolutely cannot do <common sense thing> because the rules won’t allow it.” Well, you could change the rules, but then you would have to take some actual responsibility, and we can’t have that.
this_user
德国的工作文化,乃至更广泛的文化层面,很大程度上都在于如何明哲保身,推卸责任。只要你遵守流程,即使结果是一场灾难,你也不算有错;你只是在执行规定,因此无需承担责任。罪魁祸首是制定规则的人,但通常不是某一个人,而是一个多年前通过某个决策流程形成的、模糊不清的组织实体。所以,实际上没有人需要为错误负责,也无人可以追究其责任。
总有某种神奇的高层力量在阻止你去做合乎情理的事。最喜欢用的一个借口就是保险责任问题。我们不能做明智的事,因为万一出事,保险公司不会赔付,尽管发生坏事的可能性几乎为零。
你也可以在德国的政治中观察到这种现象。“哦,我们绝对不能做那种合乎常理的事,因为规定不允许。” 好吧,你们可以修改规定,但那样你就必须承担起真正的责任,而我们可不想那样。
Kidnapped by Deutsche Bahn #
https://news.ycombinator.com/item?id=46420105
DB is weird. They seem to make their own rules and then run the game and “dont tell the rules to anyone”. I was on my way to catch a flight from Munich to my home (Madrid). I didn’t knew that apparently at one point the train splits into two parts and the front part goes to the airport and the other part just goes to the nearby cattle farms and comes back in 3 hours.
Google Maps - No idea Citymapper - what? English announcement - nien.
Thanks to an old lady, who told me that i needed to switch coaches to go the airport. Madre mia!!
indiantinker
德国铁路(DB)真是离谱。他们好像自己制定规则,自说自话,还“从不告诉任何人规则”。我当时正要从慕尼黑飞回家(马德里),却不知道火车在某个时刻会分成两节,前一节开往机场,而另一节则开到附近的养牛场,三小时后再回来。
谷歌地图 - 完全没用 Citymapper - 什么鬼? 英文广播 - 没有。
多亏了一位老妇人,她告诉我需要换乘车厢才能去机场。我的妈呀!!
Google is dead. Where do we go now? #
https://news.ycombinator.com/item?id=46425627
I think the author intended the title to be,
“Google Ads is dead, Where do I promote my business now?”
When I hear “Google” I assume search, oof (sigh of relief).
They mention running ads on tiktok or instagram but no mention of youtube ads…
Also, In my own experience for my business ( also entertainment) I have found reddit ads to be useful.
So my next steps would be,
Reddit Ads Youtube Ads Instagram Ads Increase AI Visiblity [Edit: Added Instagram Ads, from a different comment]
senthil_rajasek
我觉得作者本想写的标题是:
“谷歌广告已死,我现在该在哪里推广我的业务?”
每当听到“谷歌”,我下意识想到的是搜索广告,噢(松了一口气)。
他们提到了在TikTok或Instagram上投放广告,但没有提及YouTube广告……
此外,根据我自己的业务经验(也是娱乐行业),我发现Reddit广告很有用。
所以我接下来的步骤是:
Reddit广告 YouTube广告 Instagram广告 提升AI可见度 [编辑:根据另一条评论添加了Instagram广告]
As AI gobbles up chips, prices for devices may ris… #
https://news.ycombinator.com/item?id=46418217
It’s somewhat alarming to see that companies (owned by a very small slice of society) producing these AI thingies (whose current economic is questionable value and actual future potential is up to hot debate), can easily price the rest of humanity out of computing goods.
torginus
令人担忧的是,那些由社会极少数人掌控的公司,正在生产着这些(其当前经济价值存疑,未来实际潜力也备受争议的)人工智能产品,并且能够轻易地将大多数人排挤出计算产品的市场。
You can make up HTML tags #
https://news.ycombinator.com/item?id=46418689
<tag-name> are NOT unrecognized tags!
I blogged about this: https://dashed-html.github.io
◄ <tagname> = always an HTMLUnknownElement until the WHATWG adds it as new Element.
◄ <tag-name> = (No JS!) UNDEFINED Custom Element , valid HTMLElement, great for layout and styling
◄ Upgraded with the JavaScript Custom Elements API it becomes a DEFINED Custom Element
► This is standard behaviour in all browsers. Chrome (2016) Safari (2017) FireFox (2018) Edge (2020)
► The W3C HTML Validator accepts all <tag-name> Custom Elements with a dash as HTMLElement. It does not accept <tagname> (no dash), those are HTMLUnknownElement
► The UA - UserAgent StyleSheet (Browsers default stylesheet) defines CSS [hidden] { display:none }. But Custom Elements do not inherit the default stylesheet; so you have to add that behaviour yourself in your stylesheet.
► <DIV> is display:block only in the UA StyleSheet You have to set the display property on these Custom Elements yourself (You will forget this 20 times, then you never make the mistake again)
► The CSS :defined pseudo selector targets standard HTML tags and JavaScript defined Custom Elements
► Thus the CSS :not(:defined) pseudo selector targets the UNDEFINED Custom Elements; they are still valid HTMLElement, CSS applies like any element
► DSD - Declarative ShadowDOM: <template shadowrootmode=“open”> creates the same undefined Custom Elements with a shadowDOM
dannye
我曾经写过一篇关于这个的博客:https://dashed-html.github.io
◄
◄
◄ 通过 JavaScript Custom Elements API 升级后,它会变成一个已定义的自定义元素
► 这是所有浏览器的标准行为。Chrome (2016) Safari (2017) FireFox (2018) Edge (2020)
► W3C HTML 验证器会将所有带有短横线的
► UA - 用户代理样式表(浏览器的默认样式表)定义了 CSS [hidden] { display:none }。但是自定义元素不会继承默认样式表;因此,你必须在自己的样式表中添加该行为。
►
► CSS 的 :defined 伪选择器作用于标准 HTML 标签和由 JavaScript 定义的自定义元素。
► 因此,CSS 的 :not(:defined) 伪选择器会作用于未定义的自定义元素;它们仍然是有效的 HTMLElement,CSS 会像作用于任何元素一样对它们生效。
► DSD - 声明式 ShadowDOM: 会创建带有 shadowDOM 的相同未定义自定义元素。
As AI gobbles up chips, prices for devices may ris… #
https://news.ycombinator.com/item?id=46420684
I cannot stop thinking about the LLMs having this Midas touch quality, because everything they touch seems to ruin things or make people want to avoid them, for example:
-
Ghibli studio style graphics,
-
the infamous em-dashes and bullet points
-
customer service (just try to use Klarnas “support” these days…)
-
Oracle share price ;) - imagine being one of the worlds most solid and unassailable tech companies, losing to your CEOs crazy commitment to the LLMs…
-
The internet content - We now tripple check every Internet source we dont know to the core …
-
And now also the chips ?
Where does it stop? When we decide to drop all technology as it is?
hansmayer
我总在想,大语言模型(LLMs)有种点石成金的魔力,只不过它们碰过的东西似乎都毁了,或者让人避之不及,例如:
- 吉卜力工作室风格的画面,
- 臭名昭著的破折号和项目符号
- 客服(去试试现在用Klarna的“支持”吧……)
- Oracle的股价——想象一下,作为全球最稳固、最坚不可摧的科技公司之一,竟然输给了你们CEO对大语言模型的疯狂执着……
- 网络内容——我们现在要再三核实每一个我们不完全了解的网络来源……
- 现在连芯片也这样了吗?
这一切什么时候才是个头?难道要等到我们决定放弃现有的一切技术吗?
Why I Disappeared – My week with minimal internet … #
https://news.ycombinator.com/item?id=46416156
Escaping the internet on a luxury trip doesn’t disprove political conflict… it just shows how privilege can opt out of reality and sell the experience as clickbaity insight.
sallveburrpi
用一场豪华旅行来逃离网络,并不能证明政治冲突已经消失。它恰恰揭示了特权阶层如何能够脱离现实,并将这种经历包装成耸人听闻的“深刻见解”。
CEOs are hugely expensive. Why not automate them? … #
https://news.ycombinator.com/item?id=46416022
With that handled, all that’s left is the cartel that CEOs have invented to justify their exhorbant pay packages.
CEO compensation is determined by board committees mostly made up of other CxOs. They write letters to each other’s shareholders about how valuable CEOs are to build up the edifice.
I wish my compensation were determined by fellow engineers who “truly know my worth”. I’d pay it forward if I were on a committee determining colleague’s pay packets.
overfeed
既然这事解决了,剩下的就是CEO们为了给自己那份天价薪酬包找借口而搞出的那个垄断联盟。CEO的薪酬由董事会委员会决定,而该委员会大多由其他CxO级别的管理人员组成。他们互相给对方的股东写信,吹捧CEO们多么有价值,以此来构建这座薪酬合理性的大厦。我真希望我的薪酬是由那些“真正了解我价值”的同事们决定的。如果我也在决定同事薪酬的委员会里,我也会把这份善意传递下去。