arXivLabs是一个框架,允许合作者直接在我们的网站上开发和分享新的arXiv功能。个人和与arXivLabs合作的组织都认同并接受我们开放、社群、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,并且只与秉持这些价值观的合作伙伴合作。您是否有为arXiv社群增加价值的项目想法?了解更多关于arXivLabs的信息。
arXivLabs是一个框架,允许合作者直接在我们的网站上开发和分享新的arXiv功能。个人和与arXivLabs合作的组织都认同并接受我们开放、社群、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,并且只与秉持这些价值观的合作伙伴合作。您是否有为arXiv社群增加价值的项目想法?了解更多关于arXivLabs的信息。
## 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# 提供一个全面的穷尽性方案。联合类型目前处于预览阶段,鼓励提供反馈以塑造其最终实现。
## 埃兰迪尔欢迎马里奥·泽克纳和 Pi 埃兰迪尔很高兴宣布,编码代理“Pi”的创建者马里奥·泽克纳将加入团队。这一举措源于对软件和人工智能未来为期一年的深入思考,认识到在开发中,*质量*比单纯的速度更重要。 作者在2025年进行了广泛的实验后,认为重点应该放在构建周到的、人机交互上,而不仅仅是高效的输出。Pi作为一个优先考虑软件质量、设计和持久价值的项目脱颖而出——与行业争相发布形成了鲜明对比。 埃兰迪尔自己的项目Lefos也秉持着这种理念,旨在创造能够促进更谨慎的沟通和愉悦体验的人工智能,而不仅仅是提高吞吐量。马里奥对这些原则的承诺使他成为理想人选。 埃兰迪尔打算妥善管理Pi,确保其作为高质量、开源软件持续存在,并探索其与Lefos的协同作用。他们认为,在软件开发中优先考虑关怀和考虑,对于避免未来日益分散注意力和疏离感至关重要。
我们正在验证您是否是真人,而不是恶意自动化程序。 通常,下面的验证码会自动完成。 如果没有自动完成,请点击验证码中的复选框进行验证。 验证通过后,您将被带到您想要访问的页面。 请启用JavaScript和cookies以继续。 如果您在验证完上面的验证码后,不断被重定向到此页面重新验证,请点击下面的按钮联系支持团队。 联系支持 请在您的工单中提及“Ray ID: 9e90f7fc7bdc122f”和“Client IP: 47.245.80.60”。
## 从爱好项目到病毒式成功:LED音乐可视化器之旅
2016年,一个简单的项目——制作一个音乐反应式LED灯条——演变成了一项为期十年的追求,最终成为一个广受欢迎的开源项目,在GitHub上获得了超过2,800颗星。 最初尝试基于音量的基本反应,但创作者很快发现仅仅对响度做出反应的局限性。 转向可寻址LED提供了更多的控制,但核心挑战依然存在:**像素贫乏**。
传统的频率分析(FFT)由于LED数量有限而证明无效,需要更深入地了解人类感知。 突破来自于实施**梅尔标度**,它将频率映射到人类*感知*音高的方式,从而极大地提高了可视化器的响应能力。 进一步的改进包括平滑技术(卷积和指数平滑)以及考虑人类视觉的对数响应。
结果是一个具有三个核心可视化的系统,其原理模仿语音识别流程。 尽管取得了成功——被用于夜总会,与Alexa集成,并激发了无数初学者的电子项目——但创作者仍然不满意,旨在创建一个真正*感受*所有流派音乐的可视化器,可能利用人工智能和生物反馈数据。 该项目突出了将音频转换为引人入胜的光显示所涉及的惊人复杂性,证明有效的可视化不仅需要理解信号处理,还需要理解人类感知本身。
## Pi 与 Earendil 的未来:摘要
在他的编码代理 pi 受到广泛关注后,开发者马里奥·泽克纳面临一个困境:独自将其商业化,冒着过去在 RoboVM 等开源项目上犯错的风险,还是寻找合作伙伴。他最终加入了由阿明·罗纳赫和科林·安德森创立的 Earendil 公司,与一支才华横溢的团队合作。
泽克纳过去的经验——构建成功的 libGDX 游戏框架以及经历 RoboVM 被 Xamarin/Microsoft 收购的复杂过程——塑造了他避免重蹈覆辙的愿望。他优先考虑保持 pi 的开源精神,并确保在不牺牲家庭生活的前提下实现可持续的未来。
Earendil 提供了一种解决方案:pi 的核心功能采用 MIT 许可,潜在的“公平源码”补充(延迟开源),以及专有的企业功能来资助开发。 GitHub 仓库和包名将转移到 Earendil,但社区 Discord 将保持独立。
泽克纳强调 Earendil 的价值观与他的一致——优先考虑人类利益而非纯粹的商业利益——并相信团队能够负责任地引导 pi 的新篇章,并继续致力于开源原则。
## 使用LLM和Obsidian构建个人知识库 受Andrew Karpathy的工作启发,作者详细介绍了一种长达十年的实践:使用简单文件系统(Obsidian和markdown文件)——而非复杂的向量数据库——作为强大的个人知识库,并利用LLM进行增强。核心思想是超越零散的笔记,创建一个用于*上下文工程*的系统。 与其无休止地为设计文档或项目交接等任务重新收集信息,不如将所有内容——会议记录、Slack对话、文档——集中起来,并使用受PARA启发的文件夹结构(项目、领域、人物、每日/会议)进行组织。Markdown文件中的维基链接创建了一个可导航的互联知识“图谱”。 然后,LLM充当该图谱的自然语言查询引擎。通过向LLM提供相关项目文件夹的访问权限,输出将得到显著改善,因为模型使用*实际*的历史记录,而不仅仅是概括性的回忆。这使得LLM交互从基本的辅助转变为高度知情、感知上下文的工作。 最大的挑战仍然是自动化收件箱处理——有效地分类和整合新信息。然而,即使从小处着手——建立基本的文件夹结构并坚持在会议后做笔记——也能立即获得好处,让工作随着时间的推移而积累。
在开始编写代码之前,使用五个关键的 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'`) – 频繁的回滚表明部署问题或不可靠的测试。
这些命令提供快速诊断,在代码审查*之前*揭示潜在问题,从而节省时间并专注于最需要关注的地方。
## 机器人吸尘器项目总结 Bruce Kim、Indraneel Patil 和我共同构建了一个成本低于 300 美元的机器人吸尘器,目标是主要使用现成组件。该设计将图像从机器人流式传输到笔记本电脑进行处理,因为板载计算能力有限,然后将导航指令发送回机器人。 我们使用了行为克隆,使用通过遥控操作收集的数据(前进、后退、转弯、停止)训练 CNN。初步结果显示在倒车和振荡方面存在问题,这可能是由于数据不足以及缺乏深度感知理解造成的。尽管最初验证损失较低,但进一步调查表明网络并没有过拟合,而是数据集缺乏足够的有效学习信号。数据增强和 ImageNet 预训练未能解决这个问题。 未来的改进包括整合图像历史记录、收集更一致的训练数据以及解决吸尘器有限的吸力问题。虽然尚未完全自主——需要偶尔干预——但该机器人展示了基本的避障能力,并代表了一个在四个月内完成的成功且经济实惠的项目。
此内容由第三方(www.youtube.com)托管。通过访问和观看此外部内容,您确认可能由相关外部提供商处理个人数据,并且您确认您已了解www.youtube.com的条款和条件以及相关隐私声明。我确认并同意。