每日HackerNews RSS

## C# 15 引入联合类型 C# 15,可在 .NET 11 预览版 2 中使用,引入了**联合类型**——一项长期请求的功能,提供了一种强大的方式来表示一个值,该值可以是几种不同类型中的一种。与之前使用 `object` 或继承的方法不同,联合类型在编译时强制执行**封闭的类型集合**,保证了**穷尽的模式匹配**,而无需默认情况。 联合类型使用 `union` 关键字声明,列出其可能的案例类型(例如,`public union Pet(Cat, Dog, Bird);`)。编译器处理案例类型与联合类型之间的转换。至关重要的是,联合类型能够实现传统层次结构无法实现的设计,将不相关的类型(如 `string` 和 `Exception`)组合起来。 除了基本语法之外,联合类型还支持诸如在联合类型主体内添加辅助方法(例如,`OneOrMore<T>` 的 `AsEnumerable()`)以及通过 `[System.Runtime.CompilerServices.Union]` 属性与现有的类似联合类型的库兼容等功能。 此功能与封闭层次结构和枚举的提案一起,旨在为 C# 提供一个全面的穷尽性方案。联合类型目前处于预览阶段,鼓励提供反馈以塑造其最终实现。

最近一篇 Microsoft DevBlogs 文章详细介绍了 **C# 15 中的联合类型**,并在 Hacker News 上引发了讨论。这些联合类型允许将现有类型组合成一个由编译器验证的契约,从而实现超越传统类层次结构的设计。 然而,评论员指出,这种实现方式与 F# 和 TypeScript 等语言中的“临时”联合类型不同,后者允许从现有类型动态创建联合类型。一位用户表达了对 C# 未采用 Rust 风格的区分联合类型感到失望。 对话表明,C# 的联合类型更类似于其他语言中存在的密封类型,代表着一个进步,但并未完全复制其他地方可用的所有联合类型功能。总体情绪是谨慎乐观,并承认“一次一步”的方法。

## 埃兰迪尔欢迎马里奥·泽克纳和 Pi 埃兰迪尔很高兴宣布,编码代理“Pi”的创建者马里奥·泽克纳将加入团队。这一举措源于对软件和人工智能未来为期一年的深入思考,认识到在开发中,*质量*比单纯的速度更重要。 作者在2025年进行了广泛的实验后,认为重点应该放在构建周到的、人机交互上,而不仅仅是高效的输出。Pi作为一个优先考虑软件质量、设计和持久价值的项目脱颖而出——与行业争相发布形成了鲜明对比。 埃兰迪尔自己的项目Lefos也秉持着这种理念,旨在创造能够促进更谨慎的沟通和愉悦体验的人工智能,而不仅仅是提高吞吐量。马里奥对这些原则的承诺使他成为理想人选。 埃兰迪尔打算妥善管理Pi,确保其作为高质量、开源软件持续存在,并探索其与Lefos的协同作用。他们认为,在软件开发中优先考虑关怀和考虑,对于避免未来日益分散注意力和疏离感至关重要。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 马里奥和埃伦迪尔 (pocoo.org) 13 分,由 doppp 发表于 2 小时前 | 隐藏 | 过去 | 收藏 | 2 条评论 帮助 aikinai 发表于 20 分钟前 | 下一个 [–] 哦… 这不是我预想的内容。回复 swiftcoder 发表于 16 分钟前 | 上一个 [–] 从浏览埃伦迪尔网站来看,我真不确定这是一家软件创业公司还是一个邪教…回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

我们正在验证您是否是真人,而不是恶意自动化程序。 通常,下面的验证码会自动完成。 如果没有自动完成,请点击验证码中的复选框进行验证。 验证通过后,您将被带到您想要访问的页面。 请启用JavaScript和cookies以继续。 如果您在验证完上面的验证码后,不断被重定向到此页面重新验证,请点击下面的按钮联系支持团队。 联系支持 请在您的工单中提及“Ray ID: 9e90f7fc7bdc122f”和“Client IP: 47.245.80.60”。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 与神抗争 (firstthings.com) 7 分,由 marcofloriano 1小时前发布 | 隐藏 | 过去的 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## 从爱好项目到病毒式成功:LED音乐可视化器之旅 2016年,一个简单的项目——制作一个音乐反应式LED灯条——演变成了一项为期十年的追求,最终成为一个广受欢迎的开源项目,在GitHub上获得了超过2,800颗星。 最初尝试基于音量的基本反应,但创作者很快发现仅仅对响度做出反应的局限性。 转向可寻址LED提供了更多的控制,但核心挑战依然存在:**像素贫乏**。 传统的频率分析(FFT)由于LED数量有限而证明无效,需要更深入地了解人类感知。 突破来自于实施**梅尔标度**,它将频率映射到人类*感知*音高的方式,从而极大地提高了可视化器的响应能力。 进一步的改进包括平滑技术(卷积和指数平滑)以及考虑人类视觉的对数响应。 结果是一个具有三个核心可视化的系统,其原理模仿语音识别流程。 尽管取得了成功——被用于夜总会,与Alexa集成,并激发了无数初学者的电子项目——但创作者仍然不满意,旨在创建一个真正*感受*所有流派音乐的可视化器,可能利用人工智能和生物反馈数据。 该项目突出了将音频转换为引人入胜的光显示所涉及的惊人复杂性,证明有效的可视化不仅需要理解信号处理,还需要理解人类感知本身。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 音频反应 LED 灯条难以捉摸 (scottlawsonbc.com) 11 分,surprisetalk 发表于 1 小时前 | 隐藏 | 过去 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## Pi 与 Earendil 的未来:摘要 在他的编码代理 pi 受到广泛关注后,开发者马里奥·泽克纳面临一个困境:独自将其商业化,冒着过去在 RoboVM 等开源项目上犯错的风险,还是寻找合作伙伴。他最终加入了由阿明·罗纳赫和科林·安德森创立的 Earendil 公司,与一支才华横溢的团队合作。 泽克纳过去的经验——构建成功的 libGDX 游戏框架以及经历 RoboVM 被 Xamarin/Microsoft 收购的复杂过程——塑造了他避免重蹈覆辙的愿望。他优先考虑保持 pi 的开源精神,并确保在不牺牲家庭生活的前提下实现可持续的未来。 Earendil 提供了一种解决方案:pi 的核心功能采用 MIT 许可,潜在的“公平源码”补充(延迟开源),以及专有的企业功能来资助开发。 GitHub 仓库和包名将转移到 Earendil,但社区 Discord 将保持独立。 泽克纳强调 Earendil 的价值观与他的一致——优先考虑人类利益而非纯粹的商业利益——并相信团队能够负责任地引导 pi 的新篇章,并继续致力于开源原则。

这场 Hacker News 讨论围绕着马里奥·泽克纳(Mario Zechner)出售他的项目“Pi”,一个流行的 AI “工具”。用户反应不一——为泽克纳感到高兴,但对项目被收购,很可能被 OpenAI 收购感到失望。 核心担忧在于,有潜力成为开源或独立 AI 工具的项目最终被像 OpenAI 这样的大公司收购的模式。一位评论员指出,Pi 已经面临 OpenAI 的 Claude 订阅限制。另一位评论员强调,“维也纳智能体编码学派”的三位创始人中,现在已有两位出售了他们的项目。 一种普遍的观点认为,鉴于当前的市場激励,这种结果是不可避免的,一位用户提倡改变这些激励,而不是对结果感到惊讶。这场对话反映了 AI 社区内更广泛的焦虑,即维持独立性和开放访问。

## 使用LLM和Obsidian构建个人知识库 受Andrew Karpathy的工作启发,作者详细介绍了一种长达十年的实践:使用简单文件系统(Obsidian和markdown文件)——而非复杂的向量数据库——作为强大的个人知识库,并利用LLM进行增强。核心思想是超越零散的笔记,创建一个用于*上下文工程*的系统。 与其无休止地为设计文档或项目交接等任务重新收集信息,不如将所有内容——会议记录、Slack对话、文档——集中起来,并使用受PARA启发的文件夹结构(项目、领域、人物、每日/会议)进行组织。Markdown文件中的维基链接创建了一个可导航的互联知识“图谱”。 然后,LLM充当该图谱的自然语言查询引擎。通过向LLM提供相关项目文件夹的访问权限,输出将得到显著改善,因为模型使用*实际*的历史记录,而不仅仅是概括性的回忆。这使得LLM交互从基本的辅助转变为高度知情、感知上下文的工作。 最大的挑战仍然是自动化收件箱处理——有效地分类和整合新信息。然而,即使从小处着手——建立基本的文件夹结构并坚持在会议后做笔记——也能立即获得好处,让工作随着时间的推移而积累。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 你的文件系统已经是一个图数据库 (rumproarious.com) 5 分,alxndr 1小时前 | 隐藏 | 过去 | 收藏 | 1 条评论 帮助 alxndr 1小时前 | 上一个 [–] > […] 知识库不仅仅用于研究。它是一个上下文工程系统。你正在构建你的 LLM 需要的精确输入来完成有用的工作。 > […] 提示 “帮我写一个限速服务的设计文档” 和提示一个可以访问你的项目文件夹、六个月的会议记录、三个先前设计文档、团队讨论方法论的 Slack 线程以及你对现有架构的笔记的 LLM 之间存在真正的差异。回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

在开始编写代码之前,使用五个关键的 Git 命令快速评估新代码库的健康状况。首先,识别**变更热点** (`git log --format=format: --name-only ... | sort | uniq -c | sort -nr | head -20`) – 经常修改的文件,通常表明复杂性或开发者避免的区域。 接下来,确定**公交系数** (`git shortlog -sn --no-merges`),通过识别关键贡献者;高度集中,特别是如果这些个人不再参与,则表示风险。 通过分析提交消息中的错误相关关键词,找出**错误集群** (`git log -i -E --grep="fix|bug|broken" ...`),然后与变更热点交叉引用,以确定高风险区域。 使用**提交速度图** (`git log --format='%ad' ...`) 评估项目势头,寻找持续的活动或令人担忧的下降。 最后,评估**紧急修复频率** (`git log --oneline --since="1 year ago" | grep -iE 'revert|hotfix|emergency|rollback'`) – 频繁的回滚表明部署问题或不可靠的测试。 这些命令提供快速诊断,在代码审查*之前*揭示潜在问题,从而节省时间并专注于最需要关注的地方。

一个 Hacker News 讨论强调了一篇博客文章,其中详细介绍了有用的 Git 命令,以便在深入研究代码库之前快速理解它。作者使用 `jj`,一个 Git 日志工具,来回答诸如:哪些文件更改最频繁、谁贡献最多、bug 集中在哪里、以及项目是积极开发还是衰退等问题。 这些命令利用了 `jj` 过滤和分析提交历史的能力,识别经常修改的文件(通常是开发者避免的文件)、主要贡献者、容易出错的区域以及随时间的提交频率。 评论者指出 `jj` 相对于标准 Git 的冗长性,将其与 Nix 包管理器在复杂性方面进行了比较。虽然功能强大,但有些人认为它是不必要的,更喜欢 Git 的熟悉性和普遍性,特别是当所呈现的分析对于他们的日常工作流程并不关键时。另一些人则认为这些启发式方法很有帮助,并强调了良好 Git 实践的重要性。

## 机器人吸尘器项目总结 Bruce Kim、Indraneel Patil 和我共同构建了一个成本低于 300 美元的机器人吸尘器,目标是主要使用现成组件。该设计将图像从机器人流式传输到笔记本电脑进行处理,因为板载计算能力有限,然后将导航指令发送回机器人。 我们使用了行为克隆,使用通过遥控操作收集的数据(前进、后退、转弯、停止)训练 CNN。初步结果显示在倒车和振荡方面存在问题,这可能是由于数据不足以及缺乏深度感知理解造成的。尽管最初验证损失较低,但进一步调查表明网络并没有过拟合,而是数据集缺乏足够的有效学习信号。数据增强和 ImageNet 预训练未能解决这个问题。 未来的改进包括整合图像历史记录、收集更一致的训练数据以及解决吸尘器有限的吸力问题。虽然尚未完全自主——需要偶尔干预——但该机器人展示了基本的避障能力,并代表了一个在四个月内完成的成功且经济实惠的项目。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Show HN: 我们用不到300美元(差不多)制作了一个仅用于摄像头的扫地机器人 (indraneelpatil.github.io) 12 分,由 indraneelpatil 发布 1小时前 | 隐藏 | 过去的 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

此内容由第三方(www.youtube.com)托管。通过访问和观看此外部内容,您确认可能由相关外部提供商处理个人数据,并且您确认您已了解www.youtube.com的条款和条件以及相关隐私声明。我确认并同意。

一款名为Škoda DuoBell的新自行车铃声声称其音量足以穿透降噪耳机。该铃声在Hacker News上发布,并经过伦敦Deliveroo快递员的测试,据报道他们在试用后希望保留它。 然而,评论者对此表示怀疑。虽然承认该铃声*可能*在开启ANC的情况下有效,但许多人指出,耳机播放的音乐才是真正的问题——大声呼喊通常更有效且更直接。一位用户指出他们现有的铃声已经可以穿透ANC,但难以对抗音乐音量。讨论的重点在于DuoBell是否比现有解决方案有显著改进,还是仅仅是一个巧妙的营销角度。

本指南为对数控加工和树脂铸造感兴趣的爱好者提供资源,旨在帮助在家制作高质量零件。它涵盖了从初始设置(包括选择数控铣床和基本工具)到使用现代聚合物的进阶技术等各个方面。 教程深入讲解了CAD/CAM软件和3D建模,然后重点介绍了树脂铸造方法,用于生产耐用的组件,范围从柔性橡胶到坚固的复合材料。它还为机器人制作者提供实用建议,包括创建可重复使用的零件以及理解机械工程原理,例如齿轮设计。 至关重要的是,本指南强调车间安全,提供必要的知识以防止事故发生。最终,它旨在赋能DIY爱好者,超越基础原型制作,并使用易于获取的技术实现专业级成果。

对不起。

更多

联系我们 contact @ memedata.com