分类: 开发

IRS开源免费报税系统Direct File:技术详解与法律依据

2025-05-30
IRS开源免费报税系统Direct File:技术详解与法律依据

美国国税局(IRS)开源了Direct File,一个免费的在线报税系统。该系统基于访谈式流程,支持手机、电脑等多种设备,并提供英语和西班牙语版本。Direct File将税法转化为易懂的问题,答案直接生成标准税表并提交给IRS。其核心是Fact Graph,一个基于Scala的知识图谱,用于处理不完整信息。Direct File还支持将联邦报税数据导入第三方工具,方便州和地方税务申报。该项目由IRS内部团队开发,并得到USDS、GSA等机构的支持。部分代码因隐私和安全原因未公开。

开发

现代CPU上更快的加减法:巧妙规避进位

2025-05-30

本文探讨了在现代CPU上加速大整数加减法运算的技巧。传统方法类似于纸上笔算,从低位开始逐位相加,处理进位,这限制了并行计算。文章提出了一种巧妙的方法:通过改变数字系统,延迟进位处理,最后统一进行,从而利用CPU的并行处理能力,显著提升速度。核心思想是将大整数分割成多个较小的数,利用x86的add和adc指令,并采用radix 251表示法,减少进位操作,最终实现比传统方法更快的加减法运算。

AI 代码生成工具的“黑暗面”:Cursor 的案例研究

2025-05-30

本文批判性地评估了 AI 辅助代码生成工具的有效性。以 Cursor 编辑器首页展示的代码修改建议为例,作者指出 AI 生成的代码不仅没有提高效率,反而引入了错误和低效的代码,例如无用的长度验证和有问题的字符串清理。作者认为,优秀的 AI 工具应该能够识别并避免这些问题,并为程序员提供做出明智决策所需的上下文信息,而不是简单地提供一个可能错误的解决方案。当前的 AI 代码生成工具,并未达到这个目标,反而降低了生产力。

开发

用软件无线电构建你的AM接收器

2025-05-30

本书《Practical SDR》第四章教你如何构建一个AM接收器。它不仅适合无线电爱好者、学习无线通信的学生,也适合工程师原型设计。通过GNU Radio Companion界面,你将逐步构建功能性AM和FM接收器,甚至设计你自己的发射器。你将学习如何处理1MHz到6GHz的射频,使用滤波器和增益控制从噪声中提取清晰信号,优化SDR性能,并处理复杂的实时IQ数据来解调实际的无线电信号。本书并非理论书籍,而是将基础教程与高级应用相结合,为学习Wi-Fi、蓝牙和蜂窝通信等现代无线系统奠定坚实基础。部分项目需要SDR硬件,例如HackRF One和兼容的天线。

开发 AM接收器

arXivLabs:与社区协作者的实验项目

2025-05-29
arXivLabs:与社区协作者的实验项目

arXivLabs是一个允许协作者直接在arXiv网站上开发和分享新功能的框架。参与arXivLabs的个人和组织都认同并接受了arXiv的开放、社区、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,只与遵守这些价值观的合作伙伴合作。如果你有想法可以为arXiv社区增值,那就了解更多关于arXivLabs的信息吧!

开发

Stack Overflow:在AI时代寻求新生

2025-05-29
Stack Overflow:在AI时代寻求新生

面对ChatGPT等AI工具的冲击,Stack Overflow访问量暴跌90%。为应对挑战,Stack Overflow正积极转型。他们重启了聊天功能,探索付费专家咨询服务,并计划打造个性化主页,整合视频、博客、问答等多种内容形式,创建更灵活的社区互动模式。同时,Stack Overflow积极与OpenAI、Google等AI公司合作,将自身高质量数据授权给AI模型训练,并将其数据集成到AI工具中,实现共赢。尽管面临巨大挑战,Stack Overflow通过多元化发展和与AI的合作,努力在AI时代寻找新的增长点。

开发

在C代码中调用Python:一份实用指南

2025-05-29
在C代码中调用Python:一份实用指南

本文提供了一个实用的分步指南,演示如何在C代码中调用Python函数。文章从基础开始,讲解了如何在Linux/Mac系统上配置环境,包括包含Python.h头文件、编译C代码以及使用Py_Initialize和Py_Finalize初始化和结束Python解释器。文中详细介绍了如何加载Python模块、获取函数属性、调用函数(包括无参和有参函数)以及清理内存。通过具体的代码示例,读者可以学习如何将Python函数集成到C程序中,实现C和Python代码的无缝交互。

人类智慧PK大模型:Redis向量集Bug修复记

2025-05-29

Redis开发者antirez在修复Redis向量集(HNSW)中的一个复杂bug时,与Gemini 2.5 PRO大模型展开了一场智力较量。bug源于数据损坏导致的节点链接不一致,直接修复的O(N²)复杂度方案效率太低。antirez先尝试了大模型建议的二分查找法,但效果不佳。随后,他独立构思出一种巧妙的基于异或累加器的方案,并进一步优化为使用MurmurHash128和随机种子,有效解决了bug,并提升了性能。整个过程展现了人类创造性思维在解决复杂问题上的优势,虽然大模型提供了辅助,但最终的突破性方案仍来自于人类的灵感。

开发

Infisical招募全栈工程师,共建AI时代开源安全基础设施

2025-05-29
Infisical招募全栈工程师,共建AI时代开源安全基础设施

Infisical,一家由Y Combinator、Google和Elad Gil投资的开源安全基础设施平台公司,正在招聘优秀的全栈工程师。他们致力于构建AI时代的开源安全基础设施,涵盖秘密管理、内部PKI、密钥管理和SSH工作流程编排等。公司提供极具竞争力的薪酬和福利,并拥有来自Figma、AWS和Red Hat等公司的优秀团队成员。此次招聘面向精通JavaScript生态系统(特别是React.js、Node.js和TypeScript),且具有强烈责任心和学习热情的工程师。你将参与开发和维护平台功能,拓展Infisical PKI、Infisical SSH和Infisical KMS产品线,并探索将AI应用于秘密管理和更广泛的安全基础设施的新方法。

开发

Rust 编写的全新 JavaScript 引擎 Nova:一个有趣的实验

2025-05-29

Nova 是一个用 Rust 编写的 JavaScript 和 WebAssembly 引擎,遵循数据导向设计原则。目前它只是一个有趣的学习实验,旨在验证此类引擎的可行性,但未来可能发展成更强大的工具。虽然目前只通过了约 70% 的 test262 测试套件,但开发仍在持续进行,引擎性能正快速提升。感兴趣的朋友可以访问 GitHub 仓库或加入 Discord 服务器了解更多信息。

开发

命令行:人人必备技能

2025-05-29
命令行:人人必备技能

还在害怕命令行?这份手册将带你快速掌握Unix/Linux命令行,无需啃食厚重的Linux宝典。它不仅涵盖了终端、shell、命令行应用程序和shell脚本等核心概念,更包含100多个带注释的shell会话和代码示例,让你轻松上手。四年打磨,2025年更新,5700+读者已受益,快来加入吧!

开发

用小型模型和合成数据构建一个自主的LLM游戏大师

2025-05-29
用小型模型和合成数据构建一个自主的LLM游戏大师

作者尝试构建一个能够运行TTRPG(桌上角色扮演游戏)的自主LLM游戏大师。起初计划使用代理方法,但为了更深入地理解模型能力的端到端开发,决定从头开始,先构建一个能够辅助GM或玩家的模型。由于计算资源有限,作者选择了Qwen3系列小型模型,并使用Shadowdark RPG的规则书作为训练数据。通过OCR技术,作者将规则书转换成markdown格式,并构建了一个Shadowdark QA Bench用于评估模型性能。作者尝试了几种评估指标,最终选择了基于关键词匹配的指标。在对模型进行预训练和知识增强后,模型在Shadowdark QA Bench上达到了60%的准确率,达到了预设目标。下一步将进行辅助模型微调。

开发 TTRPG

C3编程语言学习体验:一个实时记录

2025-05-29

本文作者记录了学习C3编程语言的实时体验。C3旨在改进C语言,添加了模块系统、运算符重载、泛型等现代特性。作者逐步探索了C3的各种特性,包括foreach循环、defer关键字、结构体、错误处理、契约式编程和宏等,并尝试编写一个简单的计算器程序。作者对C3的foreach循环、defer关键字和错误处理机制表示赞赏,但也指出了C3一些不足之处,例如包管理和语言服务器支持尚不完善。总的来说,作者认为C3是一个很有潜力的语言,但仍处于发展阶段。

有限积分整环与有限域:大小决定结构?

2025-05-29

本文探讨了抽象代数中关于域和积分整环的一些著名结果。作者首先定义了积分整环,并通过例子说明了哪些环是积分整环,哪些不是。随后,文章证明了:每个域都是积分整环;有限积分整环都是域;但无限积分整环可能是也可能不是域。文章还提供了两种证明方法来证明有限积分整环是域,并探讨了有限性和结构之间的有趣关系。

开发 积分整环

RsyncUI:macOS 的 rsync 图形界面

2025-05-29
RsyncUI:macOS 的 rsync 图形界面

RsyncUI 是一款基于 SwiftUI 的 macOS 应用,为命令行工具 rsync 提供了图形用户界面。它简化了 rsync 的使用,方便用户组织任务和设置参数。RsyncUI 支持 macOS Sonoma 及更高版本,可以通过 Homebrew 或直接下载安装。需要注意的是,RsyncUI 只是 GUI,实际同步任务仍由 rsync 执行,用户可以随时中止任务,但需等待其清理完成。

开发

VSCode 的 Magit 扩展:提升你的 Git 工作流

2025-05-29
VSCode 的 Magit 扩展:提升你的 Git 工作流

EdaMagit 是一款为 VSCode 打造的 Git 界面扩展,它模仿了备受赞誉的 Magit,提供键盘驱动的 Git 操作体验。通过简单的快捷键,你可以轻松完成状态查看、文件操作、分支管理、提交、合并等 Git 命令。它还支持 Forge 功能,方便查看 Pull Request 和 Issue。EdaMagit 提供了高度可定制的键位绑定,甚至可以模仿 Evil-Magit/Spacemacs 的风格。虽然目前还有一些功能缺失,但它已经足够强大,值得一试。

开发

开源项目NATS风波:商标之争与开放性存疑

2025-05-29
开源项目NATS风波:商标之争与开放性存疑

开源消息系统NATS的维护公司Synadia曾试图将其从CNCF移除,并更改为非开源许可证,引发轩然大波。此举威胁到NATS的长期开放性与支持。尽管最终双方达成协议,Synadia将商标转让给Linux基金会,NATS保留开源身份,但这起事件暴露了开源基金会与捐赠项目公司之间存在的权力和责任分配问题,也引发了人们对开源项目长期稳定性的担忧。这起事件突显了开源基金会在项目接纳过程中需要完善相关资产管理机制的重要性,以避免类似争议的发生。

开发 CNCF

typed-ffmpeg: 一款现代化的Pythonic FFmpeg接口

2025-05-29
typed-ffmpeg: 一款现代化的Pythonic FFmpeg接口

typed-ffmpeg 是一个用 Python 编写的现代化 FFmpeg 接口,它提供强大的功能,包括对复杂滤镜的全面支持、详细的类型提示和文档,以及 JSON 滤镜图序列化和 FFmpeg 自动验证等特性。它简化了滤镜图的构建,并提供 IDE 自动完成和内联文档。此外,它还支持图的可视化和部分评估,并计划在未来支持更多 FFmpeg 版本和滤镜。

开发

无需项目文件,直接运行C#代码:.NET 10 Preview 4 新特性

2025-05-29
无需项目文件,直接运行C#代码:.NET 10 Preview 4 新特性

.NET 10 Preview 4 推出了一个令人兴奋的新特性:可以直接使用 `dotnet run app.cs` 运行 C# 文件,无需创建项目文件或搭建整个应用程序。这使得 C# 的入门变得比以往任何时候都更容易,非常适合学习、原型设计或编写小型脚本。该特性支持使用 `#:package`、`#:sdk` 和 `#:property` 等指令直接在 .cs 文件中引用 NuGet 包、指定 SDK 和设置 MSBuild 属性,并兼容 MSBuild 概念。即使脚本发展成为完整的应用程序,也可以无缝转换为基于项目的应用程序。此功能简化了 C# 开发体验,降低了学习和使用的门槛,为 CLI 工具、自动化脚本和工具提供了便利。

微软推出Windows更新编排平台及企业版备份服务

2025-05-29
微软推出Windows更新编排平台及企业版备份服务

微软发布了Windows 11更新编排平台预览版,旨在简化应用更新流程,实现统一调度和故障排除。该平台允许开发者通过WinRT API和PowerShell注册更新逻辑,并支持MSIX/APPX和Win32应用。同时,微软也推出了企业版Windows备份服务的有限公开预览,允许备份和还原Windows 10和11设备设置,方便企业迁移到Windows 11并应对恶意软件攻击。但该服务对设备和环境有一定要求。

开发 企业备份

逼真草地渲染技术:从原理到Godot实现

2025-05-29

本文是关于逼真草地渲染的多部分系列文章的第一部分。文章首先探讨了真实草地的视觉特性,例如其光泽度、半透明性和阴影效果,然后介绍了在实时3D图形中模拟草地的几种方法,包括纹理贴图、法线贴图、以及使用billboard和几何模型来渲染草叶。文章最后指出,现代GPU硬件已经能够支持全几何草地渲染,并预告了下一篇文章将介绍如何在Godot引擎中实现全几何草地渲染。

开发

树莓派Pico上的MMBasic:一个强大的嵌入式BASIC系统

2025-05-29

PicoMite固件为树莓派Pico和Pico 2带来了一个完整的操作系统,包含一个兼容Microsoft BASIC的解释器和广泛的硬件支持,包括触摸屏LCD面板、SD卡、WiFi/互联网等等。使用MMBasic,你可以轻松地通过I2C或SPI协议从各种传感器获取数据,将数据保存到SD卡,在彩色LCD显示屏上显示信息,测量电压,检测数字输入和驱动输出引脚来控制灯光、继电器等。PicoMite固件完全免费下载和使用,并提供多种版本以适应不同的应用场景,例如嵌入式控制器、独立计算机和WiFi/互联网连接控制器。其易于使用的特点和快速的开发周期使其成为物联网和嵌入式系统开发的理想选择。

开发 MMBasic

Ruby Ractor性能提升:锁释放与并发难题

2025-05-28

本文探讨了Ruby Ractor在处理类实例变量时的性能瓶颈。由于全局锁的存在,多Ractor并发访问类实例变量导致性能下降。文章深入分析了类实例变量的底层实现,并提出了一种通过对象委托来消除锁竞争的方案,有效提升了Ractor的性能,将微基准测试结果提升了近三倍。该方案还意外解决了命名空间特性中引入的bug和性能回归问题。

开发

arXivLabs:与社区协作者共建arXiv新功能

2025-05-28
arXivLabs:与社区协作者共建arXiv新功能

arXivLabs是一个全新的平台,允许开发者和研究者直接在arXiv网站上开发和分享新功能。参与其中的个人和组织都认同arXiv的开放、社区、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,只与坚持这些价值观的合作伙伴合作。如果你有想法能够提升arXiv社区的价值,那就来了解一下arXivLabs吧!

开发

在NES模拟器上实现多线程:一个Super Mario Bros.的案例

2025-05-28
在NES模拟器上实现多线程:一个Super Mario Bros.的案例

作者通过在NES模拟器FCEUX上编写Lua插件,成功地在Super Mario Bros.游戏中实现了多线程功能。这并非通过修改模拟器核心代码实现,而是巧妙地利用模拟器的存档状态功能,将游戏进程的不同状态视为不同的线程。作者还通过游戏中的特定区域设置了互斥锁和条件变量等同步原语,让玩家可以直观地体验多线程的同步机制,例如,多个马里奥角色同时游戏,但只能一个进入管道。这篇文章不仅展示了作者的创造力,更重要的是,它以一种通俗易懂的方式解释了多线程的概念,并强调了深入理解底层原理的重要性。

开发

不可判定性:程序员的“潘多拉魔盒”

2025-05-28
不可判定性:程序员的“潘多拉魔盒”

本文深入浅出地解释了计算机科学中的“不可判定性”概念。作者以通俗易懂的语言,结合具体的例子(例如,判断一个数是否为两个素数之和),阐述了判定问题的概念以及图灵机在其中的作用。重点在于解释了“不可判定性”并非意味着无法判断程序是否停止,而是指不存在一个通用的算法能够对所有程序的停止性做出判断。这使得许多问题(例如,程序是否满足特定属性)成为需要付出大量精力甚至可能无法解决的难题,也反过来解释了形式化验证和程序分析等领域存在的必要性。

开发

LLM咒语:解锁AI编程助手潜力的秘密

2025-05-28

大型语言模型(LLM)驱动的编程助手能否真正提高效率,关键在于你如何提问。文中指出,经验丰富的工程师会使用特定的“咒语”(shibboleth)——专业术语和特定表达方式——来引导AI生成高质量代码。而新手工程师则因缺乏这种“咒语”,往往得到低效甚至错误的代码。作者以自身经验为例,阐述了如何根据自身技能水平调整提问策略,并提出了一些提高AI编程助手使用效率的技巧,最终强调了在AI时代,具备鉴别和规范AI生成代码的能力至关重要。

开发

Guile Hoot 0.2.0发布:用Scheme构建交互式网页

2025-05-28

Guile Hoot 0.2.0发布,它是一个将Scheme编译成WebAssembly GC的编译器。新版本引入了外来函数接口(FFI),允许开发者直接用Scheme编写大部分Web应用代码,从而摆脱对JavaScript的依赖。文章通过构建一个简单的“Hello, world!”程序,一个带有交互式按钮和计数器的程序,以及一个待办事项列表,逐步演示了如何利用Scheme和FFI操作DOM,构建交互式网页。其核心在于利用Scheme的强大符号操作能力,结合SXML,构建高效的虚拟DOM,实现类似React的差异化更新机制。

开发 Guile Hoot

用Git Worktrees和Tmux并行运行LLM代码生成器

2025-05-28
用Git Worktrees和Tmux并行运行LLM代码生成器

作者Nicholas Khami分享了利用Git worktrees和tmux并行运行多个LLM代码生成器(如Claude Code和Codex)的经验。他发现这种方法显著提高了代码生成的效率,即使单个LLM生成的代码质量参差不齐,多个LLM并行运行也能显著提高获得可用代码的概率。然而,手动管理多个工作区和tmux会话很繁琐。为此,作者和他的联合创始人正在开发一个名为uzi的CLI工具,旨在简化这一流程,提供更流畅的开发体验,并自动化诸如启动多个代理、发送提示、运行命令、预览、提交和创建PR等任务。该工具有望提升开发者效率,其并行处理的理念也适用于其他领域,例如法律合同审核和市场营销数据分析。

开发

Compiler Explorer:永不消逝的URL的承诺

2025-05-28

Compiler Explorer 的 URL 历经多次迭代:从最初将编译器状态直接编码到 URL,到使用 goo.gl 短链接,再到自建存储方案。由于 goo.gl 将于 2025 年 8 月停止服务,作者正在努力抢救基于 goo.gl 的旧链接,目前已恢复 12000 多个链接。这篇文章体现了作者对“永不消逝的 URL”的承诺,以及对依赖第三方服务的反思。

1 2 73 74 75 77 79 80 81 213 214