每日HackerNews RSS

## InpharmD:高级 Ruby on Rails 工程师 - 概要 InpharmD 是一家快速增长(营收增长 750%)的医疗科技初创公司,成立于 2018 年,正在寻找高级 Ruby on Rails 工程师来扩展其临床决策平台。他们强调资本效率、快节奏和无戏剧化的工作环境,以及团队成员的高度自主权。 这个实践性强的工作岗位专注于使用 Ruby on Rails 8+、Ruby 3+ 和 PostgreSQL 构建和维护强大的 API 和后端系统。主要职责包括设计可扩展的架构、使用 Sidekiq/Solid Queue 管理后台处理,以及使用大型数据集优化性能。具有医疗定价系统(340B/WAC)集成经验者优先考虑。 理想的候选人应具备 10 年以上的 Ruby on Rails 生产经验、对 API 设计的深刻理解,以及对干净代码和有影响力的工作的承诺。该职位提供 13 万美元的基本工资加上股票期权,可以选择在亚特兰大工作或远程工作。感兴趣的候选人请发送邮件至 [email protected]

对不起。

谷歌正在加强Android的安全措施,以阻止恶意软件,方法是使安装未通过Play商店验证的开发者提供的应用程序(一种被称为“侧载”的过程)更加困难。从8月开始,安装这些应用程序最初需要等待24小时。 然而,谷歌回应了用户的担忧,明确表示在一个设备上选择退出此延迟的用户,他们的偏好将*延续*到未来的Android设备上。这意味着用户只需完成一次退出流程,而不是在新手机上每次都进行。 虽然高级用户仍然可以使用ADB命令通过电脑绕过延迟,但此新功能为那些经常出于合法目的侧载应用程序(例如测试或使用Play商店中不可用的应用程序)的用户提供了极大的便利。这些更改旨在保护不精通技术的用户免受诈骗,同时又不给有经验的用户带来过多的不便。

## Android 侧载更改:小小的让步,而非胜利 安卓侧载设置的近期更改,允许一次性绕过 24 小时安装延迟,正受到质疑。虽然一些人将其视为积极的一步,但许多用户认为这只是谷歌在限制非 Play 商店应用安装方面所做的一项微小让步。 核心问题在于谷歌对安卓生态系统的控制。这种延迟旨在打击诈骗,主要影响那些熟悉侧载的用户——他们不太可能成为恶意应用程序的受害者。批评者指出,此更改并未解决问题的根源(来自其他来源如 Meta 的诈骗),甚至可能是谷歌在与 Epic Games 达成和解后,为了显得更开放而采取的策略,同时保持控制。 人们仍然担心“沿用”功能需要谷歌账户才能在新设备上使用,这可能会将用户锁定在他们的生态系统中。许多人提倡完全开放的安卓体验,强调 GrapheneOS 和自定义 ROM 等替代方案,同时也承认在没有谷歌框架的情况下,银行和电子身份证支持方面的挑战。最终,共识倾向于这只是一个有限的改进,掩盖了谷歌持续推进更大控制的企图,而非用户自由的真正胜利。

## OpenCiv1:文明1的现代重塑 OpenCiv1是一个开源项目,旨在用现代代码重现席德·梅尔的《文明1》(1991年)。重要的是,它**需要合法拥有原始DOS游戏**才能运行,因为它不包含原始游戏中的任何受版权保护的文件。 该项目是完全重写——而非模拟——使用C#来实现平台独立性和避免版权问题。原始汇编代码通过虚拟CPU进行模拟,而其余部分则被替换为无版权的代码,包括计划中图形、音乐和文本的替换。 目前可玩,OpenCiv1欢迎通过测试、代码翻译(从伪汇编到C#)以及视觉/音频主题设计(保留原始感觉)来贡献。未来的计划包括高质量的图形和音频、基于Web的游戏、多人游戏功能和插件支持,所有这些都将保持原始游戏的核心规则和精神。目标不仅仅是复制,而是创建一个现代化、易于访问且可扩展的经典版本。

## OpenCiv1:经典游戏的现代重写 一个名为OpenCiv1 ([github.com/rajko-horvat](https://github.com/rajko-horvat)) 的新开源项目,旨在用 .NET 8 和 Avalonia UI 框架重写最初的《文明》(Civ1)。作者 rajko-horvat 计划修复错误并添加在线游戏和改进图形等新功能,同时尊重原作的核心简洁性。 讨论强调了 Civ1 的持久吸引力、其易上手性以及通过 DOSBox 等模拟器运行旧 DOS 游戏的优势。有人提出了版权问题,但作者认为该项目属于合理使用范畴,侧重于重新实现而非直接使用原始资源。 提到了一些相关项目,包括《文明2》、《星际霸主》的重写以及旧文明模组的分支。用户也表达了希望有类似的项目针对《文明4》和《殖民地》。该项目引发了关于在现代化经典游戏与保留其原始感觉之间取得平衡的争论。

## “这次不一样”的幻觉 安德鲁·罗斯·索金的《1929》正值人工智能领域蓬勃发展之际,其独特之处不在于否认泡沫,而在于*接受*泡沫。与过去投机狂潮不同——从17世纪的郁金香狂热到互联网泡沫——当前的投资者承认估值膨胀,甚至认为泡沫对于突破性创新是*必要*的。这呼应了一种日益增长的经济理论,即泡沫虽然浪费,但可以为未来产业建设关键基础设施,就像铁路和互联网一样。 然而,怀疑论依然存在。批评者认为,人工智能热潮与过去的泡沫不同;投资主要集中在快速过时的硬件(如英伟达芯片)而非持久基础设施上。这引发了人们对纯粹金融泡沫的担忧,缺乏以往时代持久的益处,可能类似于2008年危机甚至大萧条。 索金的书籍,考察了1929年的崩溃,突出了反复出现的模式:不受控制的投机、宽松的监管以及对自我调节市场的信念。他描绘了关键人物被乐观主义和有缺陷的经济学说蒙蔽双眼,反映了当前对泡沫的接受。虽然现代金融系统更具韧性,但风险仍然存在于影子金融领域——风险投资、私募信贷——这些领域运作于传统的监管监督之外。 最终,《1929》的核心教训不在于完全防止泡沫,而在于认识到泡沫的内在危险以及人类合理化不可持续增长的倾向,这种模式今天正在重演。

## 黑客新闻讨论摘要:1929年股市崩盘与历史记录 一篇关于安德鲁·罗斯·索金的1929年股市崩盘历史文章引发了黑客新闻的讨论,中心议题是历史事件的第一手资料的价值以及可能出现的另一次重大经济衰退。 用户推荐了几本日记和个人叙述,提供了*没有*后见之明视角的观点,包括《大萧条:日记》、《风云突变》(二战)、《动荡的恶魔》(内战前)和乔治·奥威尔的《向加泰罗尼亚致敬》(西班牙内战)。这些作品因其生动性和独特见解而受到称赞。 讨论还涉及了预测崩盘的局限性、理解潜在经济力量的重要性以及政府应对的作用。一些评论员对当前的经济预测表示怀疑,并强调了严重崩盘的可能性,而另一些人则认为,现代金融系统和央行干预使得1929年情景重演的可能性降低。人们对崩盘对储蓄有限的人们的影响以及长期投资策略的重要性表示担忧。 许多用户批评索金的书过于关注个人,而没有充分关注系统性问题。

## CSS 中的《DOOM》:突破浏览器边界 这个项目展示了现代 CSS 的惊人力量,通过在网页浏览器中完全重现经典游戏《DOOM》——游戏逻辑使用 JavaScript,但*所有*渲染都使用 CSS 实现。每个元素,从墙壁到敌人,都是一个使用 CSS 变换放置在 3D 空间中的 `<div>`。 作者旨在探索 CSS 的极限,灵感来自之前的基于示波器的《DOOM》版本。虽然完全使用 CSS 实现游戏逻辑过于复杂,但渲染被证明是完全可行的。该项目利用了诸如自定义属性用于数据输入、CSS 函数 (hypot(), atan2()) 用于几何计算以及动画用于动态元素(如门和投射物)等功能。 主要挑战包括数千个 3D 元素的性能问题(通过裁剪解决)、《DOOM》和 CSS 之间的坐标系统差异以及浏览器特定的错误。创新的解决方案包括使用 CSS 移动整个世界围绕玩家,使用 SVG 过滤器实现隐形等效果,并利用锚点定位实现响应式 HUD 元素。 最终,该项目展示了 CSS 超越传统样式的能力,证明它可以处理复杂的 3D 渲染和动态游戏元素。虽然不能替代 WebGL,但它突破了标准 Web 技术能够实现的可能性,并突出了 CSS 在过去 30 年中的发展。代码可在 Github 上获取。

## CSS Doom:黑客新闻摘要 一位开发者令人印象深刻地将 Doom 移植到完全在网页浏览器中运行,仅使用 CSS、HTML 和少量 JavaScript 作为游戏逻辑。该项目名为“CSS Doom” ([https://cssdoom.wtf/](https://cssdoom.wtf/)),展示了现代 CSS 的惊人能力,甚至实现了可玩帧率。 核心技巧在于利用暂停的 CSS 动画并操纵动画延迟来模拟可见性切换——这是在 `if()` 功能被广泛采用之前,应对 CSS 有限条件能力的一种变通方法。 讨论强调了 CSS 演变成一个令人惊讶的强大,但非常规的编程环境。虽然承认这种实现方式的“hack”性质,但评论员们对这项成就感到惊叹,并争论 CSS 是否变得*过于*复杂,暗示专门用于样式的语言可能更有效。性能因浏览器而异,Firefox 通常表现最佳,这归功于其 WebRender GPU 加速。该项目引发了关于突破网络可能性边界以及 CSS 惊人多功能性的更广泛讨论。

## AI 反思:从新奇到细微 (2026年初) 自 ChatGPT 于 2022 年底推出以来,我一直在探索人工智能不断发展的领域。 最初对它的能力感到惊叹——超越了 Cleverbot 等较早的聊天机器人——很快便开始尝试内容创作,从诗歌到 D&D 世界,甚至包括代码。 虽然早期的代码生成令人印象深刻,可以取代典型的研究任务,但迭代项目通常需要大量的手动更正,这让人质疑节省的总体时间。 最近,Claude Code 在编码方面带来了变革,它提供了一种自然语言界面来控制我的电脑——这是一项真正有用的进步。 它还在商业计划方面提供了帮助,尽管结果计划很简单,但仍然提供了一种激励性的“光泽”。 然而,人工智能的真正效用仍然不明确。 我经常发现自己需要完善人工智能生成的内容,并担心它所带来的范围蔓延。 我积极*避免*将人工智能生成的内容用于自己的写作,觉得它平淡乏味,并且作为人工智能创作材料的消费者,也体验到类似的不适感——这明显是“恐怖谷”现象。 尽管存在持续的保留意见,我仍然保留着 Claude Pro 订阅,但本地 LLM 的潜力以及对速率限制的担忧可能会让我重新考虑。 最终,虽然人工智能提供了令人兴奋的可能性,但它的真正价值并不在于节省的时间,而在于它如何改变创作过程本身。

对不起。

## AI 代理的隐藏性入门障碍 为 AI 编程代理(如 Claude、Cursor、Gemini)构建工具时,暴露了一个关键且经常被忽视的问题:令人沮丧的复杂设置流程。Hanzi Browse 的初始安装需要冗长的、特定于代理的说明——这是采用的主要障碍。作者意识到设置*就是*产品,无缝体验至关重要。 核心问题源于碎片化的 MCP 协议环境。每个代理都以不同的方式存储配置,迫使开发者创建庞大的 README 文件,或让用户自行排查问题。Nia 的一键安装 (`npx nia-wizard@latest`) 和 Superpowers 的基于技能的学习(在特定于代理的目录中使用 markdown 文件)提供了灵感。 Hanzi Browse 现在使用 `npx hanzi-browse setup`,自动检测代理,配置它们,并安装“技能”——markdown 文件,教导代理*如何*有效地使用该工具。这模仿了一种分发策略:技能充当营销,展示在诸如“awesome-agent-skills”之类的列表中,从而推动用户采用。 在新兴的 AI 代理生态系统中,轻松的入门是关键差异化因素。消除手动配置,专注于自动化设置,不仅仅是关于便利性;而是关于将你的工具交到用户手中,并确保它真正被*使用*。

对不起。

这篇内容讨论了创新者在引入新技术时面临的持续怀疑论。一位创始人主要利用人工智能工具构建了一个拥有400名用户和50名付费客户的可用平台,尽管“经验丰富的工程师”认为这不可能或质量低下(“人工智能垃圾”)。她还因其非工程背景和人工智能驱动的开发过程而面临投资者的犹豫。 作者认为这种阻力并非新鲜事,并将之与过去对互联网、网页、SaaS和移动技术的否定相提并论。虽然承认存在制作粗糙的人工智能软件,但他们强调,*成功的*产品并非由*如何*构建决定,尤其是在种子阶段。 关键在于吸引“人工智能优先”的工程师来完善和扩展系统。这位创始人应该自信地展示她的可用产品,并无视反对者,因为历史反复表明,最初的怀疑论往往会逐渐让位于广泛采用。

对不起。

## Reload:深入了解macOS上的文件监听 这篇文章详细介绍了作者对文件监听工具“reload”底层机制的探索,该工具是用Go构建的。最初依赖于`fsnotify`包,作者想了解文件变化检测在macOS上*实际*是如何工作的,macOS利用`kqueue`事件通知接口。 `kqueue`通过诸如`kqueue()`的系统调用来创建事件队列,以及`kevent()`来注册和等待事件。核心在于设置`kevent`结构体,指定文件描述符(`ident`),用于监听变化的`EVFILT_VNODE`过滤器,以及检测写入事件的`NOTE_WRITE`。标志如`EV_ADD`注册事件,而`EV_CLEAR`防止对相同变化的重复通知。 作者用C语言实现了这个功能来理解基础知识,然后将其翻译成Go语言。Go实现可以处理监听特定文件和递归监听目录。关键考虑因素包括在打开文件时使用`O_EVTONLY`,以及使用`O_CLOEXEC`来防止在`exec`启动的子进程中文件描述符泄漏。目录监听需要重新遍历目录树来检测新文件。 虽然功能可用,但当前的实现会在文件删除时泄漏文件描述符。作者承认这种权衡,优先为个人使用场景保持简单。他们总结说,建议使用轮询或FSEvents等替代方法以获得更好的可扩展性,并鼓励读者探索代码并分享他们的经验。

对不起。

## 加拿大人工智能赋能报税 面对加拿大的年度报税季,我尝试使用人工智能工具——特别是ChatGPT和Claude——来简化我和我妻子的流程。虽然我个人使用人工智能的程度有限,但我希望在标准软件的基础上优化我们的报税流程。 我构建了一个工作流程,利用Claude Code CLI和Obsidian,这是一款强大的markdown笔记应用程序。这包括创建一个专门的Obsidian库,并为文档(T4表格、收据等)建立结构化的文件夹系统。设置的关键是使用Python库,如`markitdown`和`ocrmypdf`,从PDF文件中提取数据,并使用自定义的bash函数进行快速处理。 至关重要的是,我在`CLAUDE.md`文件中向Claude“注入”了上下文信息——汇率、ESPP细节、资本利得定义。这使得Claude能够协助进行复杂的计算,例如调整后成本基础(ACB),识别错误(它发现了我过去一年的报税错误!),并审核Wealthsimple Tax生成的草稿报税单。 虽然我仍然仔细审查了一切,但与传统方法相比,这种设置被证明更井然有序、更高效、更省心。我发现Claude Code CLI优于桌面应用程序,尤其与Obsidian和终端结合使用。对于管理多个个人报税的人来说,这种工作流程尤其有益。

对不起。

更多

联系我们 contact @ memedata.com