分类: 开发

突破性成果:高效构造 Ramsey 图

2025-06-09
突破性成果:高效构造 Ramsey 图

Eshan Chattopadhyay 和 David Zuckerman 因其在 2016 年 STOC 和 2019 年 Annals of Math 上发表的论文“显式两源提取器和弹性函数”获得了 2025 年 Gödel 奖。该论文的核心成果是改进了一种构造 Ramsey 图的方法,其构造的 Ramsey 图大小达到了指数级别,远超之前的构造方法。这一突破不仅在去随机化领域具有重要意义,也为 Ramsey 理论提供了新的见解,引发了关于其在伪随机性和 Ramsey 理论中的双重价值的讨论。

欧盟开源操作系统:并非欧盟项目,却应成为欧盟项目

2025-06-09
欧盟开源操作系统:并非欧盟项目,却应成为欧盟项目

EU OS并非欧盟官方项目,但其概念意义重大。它是一个基于Fedora Linux、KDE Plasma桌面环境和可启动容器技术的开源操作系统,旨在为公共部门机构提供一个通用的操作系统基础。EU OS 的价值在于提供一个通用的Linux操作系统作为所有用户的基准,并允许在其之上添加修改层(国家层、地区或部门特定层、组织特定层),实现桌面环境、用户和数据管理方法的统一。它还参与了HackDays黑客马拉松和endof10.org活动,旨在推广Linux操作系统。

开发

软件即承诺:一个个人图书馆软件的案例研究

2025-06-09
软件即承诺:一个个人图书馆软件的案例研究

本文探讨了软件开发中“承诺”的重要性。作者认为,软件开发者对用户做出的承诺,如同产品说明书一样,应清晰、可测试。文章以一个名为“Your Commonbase”的个人图书馆软件为例,阐述了如何将软件功能(存储、搜索、综合、分享)分解成具体的、可实现的承诺,并根据资源优先级进行开发。通过这个案例,作者强调了清晰的承诺能够保护开发者、用户和软件本身的完整性。

开发 承诺

Go语言高性能网络负载测试工具tcpulse

2025-06-09
Go语言高性能网络负载测试工具tcpulse

tcpulse是一款用Go语言编写的用于生成TCP/UDP连接负载和测量性能的高性能工具。它支持服务器模式和客户端模式,可以进行负载测试、连接建立性能测试、持续连接性能测试、协议比较和基础设施验证等。客户端模式下,tcpulse提供两种连接模式:持久连接和短暂连接,以模拟不同的应用场景。它可以输出实时指标,例如延迟百分位数、吞吐量和连接数,并支持速率限制、多目标支持、TCP和UDP协议以及平台优化等功能。其结果以JSON Lines格式输出,方便与监控和分析工具集成。

Zig编译器:自研x86后端大幅提升编译速度

2025-06-09

Zig编译器团队宣布其自研的x86后端已达生产可用状态,并显著提升了编译速度。相比LLVM后端,Zig后端在编译速度上提升了70%,在大型项目中,编译时间更是从75秒缩短至20秒。团队表示,这得益于对代码生成的优化和并行化处理,未来还将支持aarch64架构。此次更新还包含改进的UBSan错误信息,增强了调试体验,并提升了跨平台编译支持,涵盖FreeBSD和NetBSD系统。

开发 x86后端

OpenBSD磁盘I/O性能测试:多线程并非越多越好

2025-06-08
OpenBSD磁盘I/O性能测试:多线程并非越多越好

这篇博文通过fio(1)基准测试,评估了OpenBSD 7.7系统上1TB Crucial P3 Plus SSD的随机读写和延迟性能。结果显示,OpenBSD在I/O方面具有良好的可扩展性,但在达到最佳性能(6-8个并发作业)后,增加作业数量反而会因竞争和CPU开销而导致性能下降。与Linux相比,OpenBSD在高并发下的NVMe写入性能更敏感。测试还发现,过多的线程会严重影响桌面系统的响应速度。后续测试计划将扩展到USB存储设备。

开发 fio I/O性能

零基础三周速成iOS应用:AI赋能的开发之旅

2025-06-08
零基础三周速成iOS应用:AI赋能的开发之旅

作者从零基础开始,借助AI工具Gemini,仅用三天时间就开发出一款iOS照片管理应用。过程中,他利用Gemini辅助代码编写、调试和学习,克服了包括Apple CLGeocoder在中国地区的限制等难题。最终,他决定以低价一次性付费的方式发布应用,避免了行业内普遍存在的订阅模式,并对当前iOS应用市场营销模式进行了反思。

(mgx.me)
开发

Android的以太网适配器之谜:一个愚蠢的正则表达式

2025-06-08
Android的以太网适配器之谜:一个愚蠢的正则表达式

本文讲述了作者尝试在Android手机上使用USB以太网适配器却失败的经历。深入调查后发现,问题并非驱动程序缺失,而是Android系统中的`EthernetTracker`服务使用了一个正则表达式`eth\d`来匹配以太网接口名称,而CDC以太网适配器创建的接口名称为`usbX`,导致无法识别。作者详细描述了排查问题的过程,包括获取内核配置、分析Android源码等,最终揭示了这个令人哭笑不得的根本原因:一个简单的正则表达式限制了功能。这篇文章既展现了作者强大的问题解决能力,也暴露了Android系统设计中可能存在的缺陷。

开发 USB以太网

futa:一个功能性无用的终端助手

2025-06-08
futa:一个功能性无用的终端助手

futa是一个基于qwen3大型语言模型的终端助手,它以极度浪费资源的方式执行简单的命令。用户输入任何文本,futa都会调用语言模型进行分析,然后执行它认为合适的命令,这可能包括(但不限于)启动docker容器、执行git命令等。futa的特点是过度自信、冗长的解释和极低的生产力,甚至可能损坏文件系统。开发者明确声明futa功能性无用,并对任何由此造成的损失不承担责任。总之,futa是一个用于娱乐和体验AI奇葩应用的工具,不适合实际生产环境。

开发

Compiler Explorer:每年9200万次编译背后的故事

2025-06-08

Compiler Explorer,这个在线编译器探索网站,每年处理9200万次编译请求。文章揭秘了其幕后架构:基于Monaco编辑器的前端,CloudFront和负载均衡器,以及使用nsjail进行安全沙箱的编译过程。为了应对海量编译请求,Compiler Explorer采用AWS自动伸缩,并存储了近4TB的3000多个编译器版本,支持81种编程语言。文章还分享了其在安全防护、版本管理、跨平台支持(Windows、ARM和GPU)以及成本控制方面的经验和挑战,展现了这个项目从一个简单的周末项目发展为服务数千开发者的强大平台的历程。

开发

用 Nginx 替代 Restic REST 服务器进行备份

2025-06-08

作者巧妙地利用 Nginx 替代了 Restic 的 REST 服务器备份方案,创建了只追加的和管理员两个 Nginx 虚拟主机。只追加主机防止数据删除,管理员主机允许管理操作。配置中使用了 Nginx 的 DAV 和 LUA 模块,通过一些技巧处理了 HTTP 方法和响应代码,并利用正则表达式修改了 autoindex 的 JSON 输出。虽然方法略显 hacky,但有效且高效。作者还讨论了安全性问题,并提到了未来简化配置的计划。

开发

AI赋能:超越现实的打印机

2025-06-08
AI赋能:超越现实的打印机

一个普通的IT部门遭遇了一台神奇的打印机:它能打印来自平行宇宙的文件,操控非欧几何空间的纸盒,甚至能修改数学定律!这篇文章讲述了作者与AI模型Claude的对话,从最初的LPR打印系统谈到最终构建出一个拥有星际之门、亚特兰蒂斯防御系统和全维度武器库的超现实打印机。整个过程展现了AI强大的创意生成能力和作者引导AI的巧妙方法,最终的代码更是充满了奇思妙想,令人忍俊不禁。

开发 奇幻故事

binfmtc: 用 C 语言编写 shell 脚本

2025-06-08

厌倦了为 shell 脚本编写 Makefile?binfmtc 让你可以直接用 C 语言编写脚本!它通过 Linux 的 binfmt_misc 机制,在运行脚本时自动编译并执行 C 代码。只需在 C 脚本中添加一个特殊的注释,赋予执行权限,即可享受 C 语言的效率和 shell 脚本的便捷性。目前已支持 GCC、G77 和 GPC,未来计划支持更多编译器,例如 GNAT、Gobjc 和 Mono。

开发 binfmt_misc

大型语言模型驱动的自主编码:炒作还是现实?

2025-06-08
大型语言模型驱动的自主编码:炒作还是现实?

本文作者回顾了其在大型语言模型(LLM)领域的经验,并对所谓的“自主编码”进行了批判性评估。作者指出,尽管LLM能够生成可用的代码,例如SQL语句,但构建完整的软件项目,例如HTTP/2服务器,需要极其细致的微观管理和算法监督。LLM容易卡住,需要人工干预和上下文调整。作者认为,目前的“自主编码”工具更像是过度炒作,其成功依赖于经验丰富的工程师的付出,而非LLM的自主能力。只有解决LLM上下文管理问题,才能真正发挥其潜力。

开发

高斯求积:高效数值积分的利器

2025-06-08

本文介绍了一种高效的数值积分技术——高斯求积,特别是切比雪夫-高斯求积法。它通过在特殊节点上评估函数值并进行加权求和来逼近定积分。与传统方法相比,高斯求积法只需较少的节点就能达到更高的精度,尤其适用于[-1,1]区间上的积分。文章还讲解了如何将一般区间和函数形式转化为切比雪夫-高斯求积法适用的形式,并通过实例演示了其应用和优势,最终在海平面变化率估计中得到应用。

Cloudflare的AI生成的OAuth库:惊艳与隐忧并存

2025-06-08
Cloudflare的AI生成的OAuth库:惊艳与隐忧并存

Cloudflare使用Anthropic的Claude LLM几乎完全编写了一个新的OAuth提供程序库。虽然代码结构良好,测试也通过了,但作者发现了一些安全问题,例如过于宽松的CORS设置、缺少标准安全头以及一些OAuth规范的错误实现。虽然工程师们对Claude的输出进行了审查,但一些关键的安全漏洞仍然存在,这突显了即使在严格审查下,AI生成的代码也可能存在风险。这引发了人们对AI辅助编程的可靠性和安全性,以及对人类专业知识在安全关键型系统中的重要性的思考。

开发

从Emacs到Obsidian:一位开发者对个人知识管理的探索

2025-06-08

一位开发者分享了他从Emacs转向Obsidian的经历。Emacs功能强大但维护成本高,最终他选择了更易用的Obsidian,并结合PARA方法管理笔记、任务和资源。作者认为,在AI时代,拥有并维护个人知识库至关重要,这能帮助他更独立思考,避免过度依赖AI工具。Obsidian成为他独立思考的工具,而非AI的附属物。

开发

Fray:Java 并发测试利器

2025-06-08
Fray:Java 并发测试利器

Fray是一个用于Java的并发测试工具,它能帮助开发者发现和调试那些难以捉摸的竞态条件,这些竞态条件可能表现为断言违规、运行时异常或死锁。Fray使用先进技术(如概率并发测试或偏序采样)进行受控并发测试,并提供确定性重放功能来调试特定的线程交错。它易于使用,可以集成到现有的测试框架中,支持JUnit 5和其它测试框架,并提供Gradle和Maven插件简化集成。

开发 竞态条件

Claude Code:安全优先的代价

2025-06-08

本文深入探究了Anthropic的Claude Code代码助手的工作机制。作者通过mitmproxy拦截Claude Code与Anthropic API的通信,发现其运行速度较慢且成本较高,原因在于其严格的安全策略和多层工具调用。Claude Code会对每个Bash命令进行安全评估,并使用多个工具(如View、GlobTool、Bash等)处理用户请求,这导致了额外的LLM调用和成本。虽然这种方法确保了安全性,但牺牲了效率。与Cursor等工具相比,Claude Code在UX上更胜一筹,但其成本和速度需要进一步优化。

开发 安全策略

Android应用开发的维护噩梦:为什么Google Play商店应用数量骤减?

2025-06-08
Android应用开发的维护噩梦:为什么Google Play商店应用数量骤减?

一位拥有五年Android开发经验的开发者分享了他维护MusicSync应用的艰辛历程,并解释了Google Play商店应用数量下降47%的原因。文章指出,维护Android应用比维护后端项目困难得多,主要挑战包括:Java与Kotlin的兼容性问题、Google频繁更改库导致的破坏性变更(例如ExoPlayer和Google Auth库)、对旧版Android系统的支持下降、升级的强制性以及UI设计指南的不可预测性变化等。开发者还列举了Picasso、Glide、OkHttp和EventBus等关键第三方库的弃用或维护不足,以及Android版本和API版本号的双重版本控制方案带来的混乱。最后,作者总结道,与服务器端开发相比,Android应用的维护成本更高,需谨慎考虑。

开发 应用维护

LLM:便捷的代码助手还是扼杀创造力的元凶?

2025-06-08

本文作者表达了对LLM过度依赖的担忧。他认为,虽然LLM可以辅助编程,提高效率,但过度依赖LLM会削弱程序员的独立思考和问题解决能力,特别是对于初学者而言,这将阻碍他们对编程基础知识的掌握和编程思维的培养。作者还指出,LLM生成的代码质量参差不齐,容易出现错误,且缺乏创造性和艺术性,最终可能会导致代码质量下降,甚至引发学术不端行为。作者呼吁对LLM的使用进行规范和限制,尤其是在教育领域,避免其对学生学习和创造力的负面影响。

开发

DOSBox-X硬盘镜像创建指南

2025-06-08

本文档介绍了如何在DOSBox-X中创建硬盘镜像。你可以通过菜单或命令行工具IMGMAKE创建不同大小的硬盘镜像,支持FAT12、FAT16和FAT32文件系统。 需要注意的是,Windows 98的内置驱动程序对大于128GB的硬盘支持有限,创建更大的硬盘镜像可能需要第三方驱动程序。文章中提供了使用预设模板和自定义大小创建镜像的命令示例,并指出了创建大于32GB的FAT32分区在Windows 98及更高版本中可能遇到的限制。

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

2025-06-08
arXivLabs:与社区协作的实验项目

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

开发

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

2025-06-08
arXivLabs:与社区协作者合作的实验项目

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

开发

告别“氛围编程”:使用Claude进行高效代码交付的实战指南

2025-06-07

这篇文章分享了作者团队如何利用Claude提升软件开发效率的经验。文章批判了单纯依赖AI“氛围编程”的风险,强调了良好开发实践的重要性,并提出了三种AI辅助开发模式:初稿撰写、结对编程和验证。文章重点阐述了CLAUDE.md文档和锚点注释在大型项目中的作用,以及编写测试用例的重要性。作者指出,AI不能编写测试,测试是人类意图的体现,也是防止AI引入错误的关键。文章还探讨了如何管理token、使用新的Claude会话以及团队文化建设等方面,并给出了具体的实践建议。

开发

告别「感觉」编程,拥抱 AI 赋能的「半机械人」编程

2025-06-07
告别「感觉」编程,拥抱 AI 赋能的「半机械人」编程

本文批判了依赖直觉和灵感的“感觉编程”方式,认为这种方式在软件开发领域已过时且危险。作者提出“半机械人编程”的概念,主张程序员应与 AI 工具协同工作,利用 AI 辅助编码、调试和构思,而人类则专注于设计、伦理和方向判断。文章指出,新一代 AI 工具并非作弊手段,而是能够提升效率的加速器,关键在于程序员如何有效地运用这些工具,将 AI 作为合作伙伴而非替代品,最终目标是构建更强大、更可靠的软件系统。

开发

算法模拟的内存突破:空间复杂度的新里程碑

2025-06-07

一项令人震惊的研究成果颠覆了我们对算法模拟的认知。Ryan Williams 的最新研究表明,所有算法都可以在远小于其运行时间(内存)的空间内进行模拟,这比以往的最佳结果有了显著提升。这项突破性成果利用了 Cook 和 Mertz 提出的高效树评估算法,通过巧妙地将图灵机计算分割成片段并利用有限域编码,实现了近乎二次方的空间复杂度改进。虽然该方法并未保持时间复杂度,但这项成果对复杂性理论具有里程碑式的意义,并为未来的研究方向指明了道路,例如进一步缩小空间复杂度的界限,甚至可能最终分离 P 与 PSPACE 复杂度类。

开发

网页版Macintosh 1-bit 滤镜:像素级黑白魔法

2025-06-07

这个网页应用重现了经典Macintosh 1-bit 滤镜,类似于Hyperdither和HyperScan最初使用的滤镜。它将每个像素与50%灰度进行比较,然后将其更改为黑色或白色。输入和输出之间的差异然后按如下方式分布到相邻像素:中心像素周围八个像素,每个分配1/8的差异值。生成的图像可以右键保存。该代码使用了Canvas、拖放事件、Web Workers和FileReader API,需要使用最新版本的浏览器才能运行。

开发 滤镜

PyOpticL:基于代码的CAD光学系统工程利器

2025-06-07
PyOpticL:基于代码的CAD光学系统工程利器

PyOpticL是一个强大的Python库,它彻底改变了光学系统的设计流程。通过模拟光束路径和动态路由,PyOpticL允许用户以模块化的方式轻松搭建光学元件,无需预先设定坐标,从而实现高效灵活的光学布局。该库支持反射、透射、折射和衍射计算,并已成功应用于离子阱量子比特实验。其模块化设计,结合FreeCAD平台,简化了从代码到CAD模型的转换,为光学工程师提供了一种全新的工作范式。

开发

自托管与科技独立:我的开源之旅

2025-06-07
自托管与科技独立:我的开源之旅

受PewDiePie学习Arch Linux和DIY项目的启发,我开始探索自托管和科技独立之路。这篇文章分享了我多年来自托管博客、构建家庭服务器以及使用开源工具的经验。从搭建个人网站到构建家庭实验室,我经历了从最初的迷茫到最终的成就感。开源软件和Markdown成为了我的核心工具,并让我体会到技术独立的乐趣和知识共享的价值。

开发 科技独立
1 2 3 5 7 8 9 150 151