Microdot:为微型设备打造的轻量级Web框架

2025-09-07

Miguel Grinberg在EuroPython 2025上介绍了他的最新作品Microdot——一个轻量级的Web框架,可在MicroPython和CPython上运行,适用于从物联网设备到云服务器的各种系统。其灵感源于Flask,但规模更小,更适合资源受限的环境。Microdot的诞生源于Grinberg在爱尔兰家中智能恒温器故障的经历,他最终用MicroPython编写了一个小型系统来控制加热,并使用Microdot构建了一个简单的Web界面来监控温度和湿度。Microdot的核心代码精简,仅765行,同时支持异步操作和常用功能,并通过扩展模块提供更高级的功能。其设计理念注重简洁明了,避免复杂性,使其成为微型设备上构建Web应用的理想选择。

阅读更多
开发 Microdot

开源软件的权力博弈:Rug Pulls、Forks与权力转移

2025-09-06

在2025年欧洲开源峰会上,Dawn Foster探讨了开源软件开发中权力动态的复杂性。大型云提供商通常拥有主导地位,这可能会导致他们利用权力损害小型公司。一种策略是“抽屉式撤回”(Rug Pulls),即公司重新许可软件以限制竞争对手的盈利能力。这常常会导致“分叉”(Forks)的出现,即社区为了重新掌控代码而创建项目分支。演讲者分析了Elasticsearch、Terraform和Redis等项目的案例,比较了不同项目在分叉前后贡献者的构成变化,并指出中立治理和多元贡献者基础的重要性。最终,Foster强调,虽然分叉是维护者和贡献者对抗权力失衡的一种手段,但项目应更注重中立治理和广泛的贡献者参与,以减少“抽屉式撤回”的风险。

阅读更多
开发 分叉

Linux内核32位支持的终结?

2025-09-02

在2025年欧洲开源峰会上,Linux内核架构维护者Arnd Bergmann发表演讲,讨论了移除32位系统支持的可能性。虽然桌面和服务器系统早已过渡到64位,但嵌入式系统中仍有大量32位设备。Bergmann指出,虽然内核仍在添加一些32位板的支持,但64位板的支持数量已大幅超过32位。他认为,移除32位支持是一个循序渐进的过程,需要考虑现有硬件和软件的支持情况,并通过分析用户数量来决定何时移除对特定架构的支持。此外,演讲还讨论了高内存支持、year-2038问题、大端支持等与32位支持相关的挑战和解决方案。最终,Bergmann表示,内核将至少保留十年对armv7系统的支持,而其他32位架构的支持可能会逐渐消失。

阅读更多
开发 32位系统

Debian 13 Trixie 发布:稳定性优先的 Linux 发行版

2025-08-29

经过两年多的开发,Debian 13 “Trixie”稳定版终于发布。它升级了大量软件包,新增超过14000个软件包,并默认使用APT 3.0作为包管理器,还支持64位RISC-V架构。Trixie 秉承 Debian 一贯的稳定性优先原则,虽然软件版本并非最新,但足够满足大多数用户的需求,包括 GNOME 48、KDE Plasma 6.3 等。安装方面,虽然传统安装程序对新手略显复杂,但提供了 Calamares 图形化安装程序作为替代方案。此外,Trixie 还解决了 32 位系统中的 Y2038 问题,并移除了对 i386 和部分 MIPS 架构的支持。

阅读更多
开发 稳定版

Python:一部编程语言的传奇史诗

2025-08-29

纪录片《Python:The Documentary》现已上线YouTube!这部90分钟的影片讲述了Python编程语言的传奇故事:从阿姆斯特丹的一个业余项目,到如今驱动人工智能、数据科学和全球最大公司软件的基石。影片采访了Guido van Rossum、Travis Oliphant、Barry Warsaw等核心人物,揭秘了Python的崛起、社区驱动的演变、差点导致分裂的冲突以及它对世界的影响。EuroPython大会上已提前放映部分内容。

阅读更多
开发

Linux云栈中的机密计算:性能与安全的博弈

2025-08-23

在公共云环境中,Linux虚拟机(VM)的隐私存在固有限制。机密计算技术通过保护虚拟机的内存,即使针对管理程序也能提供更高的隐私保护。然而,为了支持机密VM,Linux云栈需要重新思考,在性能和安全之间取得平衡。文章探讨了硬件隔离、软件安全机制以及机密计算如何影响Linux云栈的启动过程、安全启动、远程证明等方面,并分析了在扩展性和性能方面面临的挑战,例如DRAM加密解密、内存页面接受过程、ASID限制等。最终,文章指出,虽然机密计算提升了安全性,但同时也加深了对硬件和固件的依赖,并呼吁关注开放架构的重要性,以减少对第三方信任的依赖。

阅读更多
开发

内核社区对AI代码补丁的谨慎态度

2025-08-23

随着AI辅助编程工具的兴起,Linux内核社区内部就如何处理由大型语言模型(LLM)生成的代码补丁展开了激烈的讨论。一部分开发者提交了使用LLM生成补丁的案例,并提出了添加新标签以标识LLM使用情况的建议。然而,许多开发者对LLM生成的补丁质量、版权问题以及维护者负担的增加表示担忧,甚至有人建议禁止LLM生成的补丁。目前,社区尚未形成共识,但讨论已扩展到制定更全面的AI政策,这将在12月的维护者峰会上进一步讨论。

阅读更多
开发 代码补丁

ArchWiki:一个成功的开源维基的秘诀

2025-08-14

Arch Linux的ArchWiki以其高质量文档闻名Linux社区。DebConf25上,ArchWiki维护者分享了其成功的经验,包括内容策略、贡献指南和社区管理。ArchWiki使用MediaWiki,其优势在于全面、高质量和最新的内容,但同时也面临着MediaWiki标记语言复杂、贡献门槛高等挑战。未来,ArchWiki计划改进社区参与、开发更多编辑工具,并谨慎利用AI技术,以应对AI生成内容和爬虫带来的威胁。此次分享也激励了Debian项目对其维基进行改版,采用了MediaWiki。

阅读更多
开发 ArchWiki

Nyxt浏览器:Emacs理念的极客浏览器

2025-08-14

Nyxt是一款非同寻常的浏览器,它将Emacs的理念融入其中,打造了一个高度可定制、键盘驱动的Web体验。由Common Lisp编写,Nyxt优先考虑Linux用户,并鼓励开发者对其进行扩展。虽然最初受Emacs启发,但Nyxt独立于Emacs运行,并支持vi和CUA按键绑定。当前版本3.x使用WebKitGTK渲染引擎,即将推出的4.0版本将支持Electron,以提升性能并扩展到macOS和Windows。Nyxt以其极简的界面和强大的自定义功能吸引着追求极致效率的开发者,但其较高的学习曲线和有限的社区资源也构成一定的挑战。

阅读更多
开发

StarDict字典软件默认启用安全漏洞:用户文本选择被泄露

2025-08-12

StarDict,一款流行的跨平台字典软件,被发现存在严重安全漏洞。在X11系统下,其默认配置会将用户选中的文本通过未加密的HTTP协议发送到两个远程服务器。该漏洞源于其默认启用的“扫描”功能,该功能会实时监控用户文本选择并自动提供翻译。尽管维护者认为禁用扫描功能或YouDao插件即可解决问题,但安全专家指出,存在隐私风险的功能不应默认启用。此漏洞并非首次出现,此前也曾有类似报告,但修复不彻底,导致部分用户多年来可能一直面临文本泄露风险。Debian系统中StarDict的安装量虽不高,但这凸显了开源软件维护中安全问题的长期存在和修复的滞后性。

阅读更多
科技 StarDict

Python 性能的真相:神话、现实与 SPy 项目

2025-08-06

EuroPython 2025 大会上,Python 性能工程师 Antonio Cuni 揭示了关于 Python 性能的诸多误解。他指出,Python 并非一味地慢,其性能瓶颈并非仅仅是解释型语言的特性,而是内存管理和动态特性带来的开销。Cuni 认为,目前的 JIT 编译器虽然能提升性能,但难以彻底解决问题,并提出了一个名为 SPy 的项目,旨在通过修改语言语义,在不破坏兼容性的前提下,提升 Python 的性能,最终实现媲美 C/C++ 的速度。SPy 项目已在 GitHub 上开源,并提供了一些易于上手的 issue 供开发者参与。

阅读更多
开发 SPy项目

Linux内核迎来QUIC协议支持:速度与性能的博弈

2025-08-01

历经十余年,QUIC协议终于迈向Linux内核主线。该协议旨在解决TCP协议在现代互联网中存在的延迟、拥塞和安全性问题,通过UDP实现更快速、更安全的数据传输。然而,目前的内核实现版本在性能测试中表现不及预期,与TCP相比存在差距。开发者表示,这与缺乏硬件卸载支持和优化有关,未来性能有望提升。QUIC的内核集成将为更多应用程序提供支持,但完整的代码审核和合并过程预计需要较长时间,可能要到2026年才能正式进入主线版本。

阅读更多
开发

GrapheneOS:增强安卓隐私安全的利器?

2025-07-25

GrapheneOS是一个致力于增强Android系统安全性和隐私性的开源项目。它基于Android开源项目,去除了大量代码,并增加了许多安全特性,例如强化malloc库和控制流完整性功能。虽然GrapheneOS仅支持部分谷歌Pixel设备,但其提供的硬件内存标记功能可以有效保护系统免受攻击。作者亲身尝试安装GrapheneOS,发现虽然初期配置耗时,但最终获得了更安全、更私密的Android体验,并对系统中内置的众多隐私保护功能赞赏有加。然而,要完全抛弃专有应用并维持正常功能仍然存在挑战。

阅读更多
开发

PyCon US 2025:Python 音频处理库 pedalboard 深入解读

2025-07-22

PyCon US 2025上,Spotify机器学习工程师Peter Sobot介绍了其开发的Python音频处理库pedalboard。该库基于Python,利用NumPy等库实现高效的音频处理,支持多种音频格式转换和特效添加,并能与VST3插件无缝集成。Sobot在演讲中深入浅出地讲解了数字音频的基础知识,并演示了pedalboard的强大功能,例如实时音频效果处理和高效的音频流处理。他特别强调了在Python中进行音频处理时,应避免将整个音频文件加载到内存中,而是采用流式处理的方式,以避免内存溢出问题。pedalboard为Python开发者提供了强大的音频处理能力,为音频相关的应用开发提供了便利。

阅读更多
开发 pedalboard

Linux Secure Boot 的微软密钥即将过期:一场与时间赛跑的更新战

2025-07-19

Linux Secure Boot 系统依赖于一个即将在9月过期的微软密钥。此密钥用于签名引导Linux内核的第一阶段UEFI引导加载程序(shim)。虽然微软自2023年提供了新的密钥,但许多系统可能尚未安装,甚至可能需要硬件厂商更新固件。这将给Linux发行版和用户带来额外的工作。一些系统可能需要通过LVFS和fwupd更新固件,但这并非总是有效,一些老旧的BIOS可能存在空间不足的问题,甚至需要重置BIOS才能成功更新。厂商提供的更新也可能存在问题,例如某些厂商丢失了平台密钥。最终,禁用Secure Boot可能是某些情况下唯一的选择。

阅读更多
开发

Secure Boot证书即将过期:Linux面临启动难题

2025-07-18

微软将于9月停止使用其用于签署Linux Secure Boot启动加载程序的密钥,这将导致许多Linux系统无法启动。虽然微软自2023年起提供新的密钥,但许多系统尚未更新,甚至可能需要硬件厂商更新固件。这给Linux发行版和用户带来了额外的工作。解决方法包括通过LVFS和fwupd更新固件,但一些旧固件可能存在兼容性问题,甚至可能需要禁用Secure Boot。厂商更新也可能存在问题,例如丢失平台密钥等。最终,这凸显了Linux在依赖Windows主导的硬件生态系统中所面临的挑战。

阅读更多
开发

Btrfs文件系统性能改进:基于设备角色的块分配

2025-07-11

Btrfs文件系统迎来重大性能升级!新的补丁引入了基于设备角色的块分配机制,解决了现有方法中块分配仅基于可用空间导致性能不均衡的问题。通过定义五个设备角色(metadata_only, metadata, none, data, data_only),并结合角色优先级和剩余空间的策略,系统可以优先将快速设备分配给元数据,慢速设备分配给数据,从而显著提升读写性能。这项改进无需复杂的设备速度测量,并利用了已有的磁盘格式,为Btrfs文件系统带来了更智能、更高效的存储管理。

阅读更多
开发

Thunderbird 140 发布:暗色模式、简易设置同步及 Exchange 支持

2025-07-09

Thunderbird 邮件客户端发布了 140 版本,带来了诸多新特性。其中最引人注目的是“暗色消息模式”,可使邮件内容适应暗色主题;此外,该版本还支持轻松将桌面设置传输到移动版 Thunderbird 客户端,并提供对 Microsoft Exchange 的实验性支持,以及全局的消息线程和排序控制。此版本为扩展支持版本 (ESR),将获得 12 个月的支持,但 Thunderbird 项目鼓励用户采用每月更新的 Release 版本。为了在广泛部署前捕获重大错误,项目正在分阶段为现有 Thunderbird 用户升级到 140 版本,但用户也可以通过“帮助 > 关于”菜单手动升级。

阅读更多
开发 ESR

Linux内核开发者与bcachefs文件系统开发者决裂

2025-07-05

Linux内核维护者Linus Torvalds拒绝合并bcachefs文件系统的6.16-rc3版本代码,并暗示在6.17版本中将不再接受该项目的代码贡献。这源于双方在代码审核过程中的严重分歧,Torvalds认为bcachefs开发者Kent Overstreet拒绝接受任何对其代码的质疑和修改。双方私下沟通后,最终决定停止合作。

阅读更多
开发 开发纠纷

Rust内核驱动开发:简洁的AX88796B以太网控制器驱动示例

2025-06-28

本文讲述了使用Rust编写Linux内核中AX88796B嵌入式以太网控制器驱动程序的经验。作者将Rust版本与C版本进行了对比,重点介绍了Rust在语法、类型和API上的差异。Rust版本代码简洁,仅100多行,利用宏简化了驱动注册过程,并通过trait和vtable宏实现了与C代码的无缝集成。文章深入浅出地讲解了Rust在内核驱动开发中的优势,例如通过引用保证内存安全,使用Result和try操作符简化错误处理等,为Rust内核驱动开发提供了宝贵的参考。

阅读更多
开发

开源项目维护者的呐喊:libxml2 的困境与未来

2025-06-26

历经25年,广泛应用于开源项目、商业软件和政府部门的XML解析器libxml2,正面临着维护者的困境。长期以来,各大公司依赖libxml2却未积极回馈,导致维护者Nick Wellnhofer不堪重负。他最终决定放弃安全漏洞的保密处理,将安全问题与普通bug同等对待,并呼吁公司停止依赖,或积极参与维护。此举引发了开源社区关于项目维护和企业责任的广泛讨论,也凸显了开源可持续发展面临的挑战。

阅读更多
开发

Rust编写的Linux兼容内核Asterinas:挑战传统内核设计

2025-06-20

来自中国南方科技大学的研究人员开发了一个名为Asterinas的新型Linux内核,它使用Rust语言并采用“framekernel”架构。该架构结合了单内核和微内核的优点,将需要使用Rust不安全特性的代码封装在一个库中,其余内核服务则使用安全抽象开发。这提高了内核安全性,同时保留了单内核的高性能。Asterinas的目标是创建一个具有小型可形式化验证的TCB的系统,同时具有Linux ABI兼容性和简单的共享内存架构。目前,Asterinas支持x86和RISC-V架构,并正在积极开发中,未来计划扩展对更多架构的支持,并将其应用于云计算领域。

阅读更多
开发 framekernel

Linux内核6.16修复核心转储漏洞:告别“愚蠢”的API

2025-06-14

Linux内核6.16版本对核心转储处理机制进行了重大改进,修复了长期存在的安全漏洞。以往的API设计存在诸多缺陷,例如核心转储处理程序以root权限运行,容易成为攻击目标,且存在竞争条件导致漏洞。新的改进方案引入了pidfd机制,确保处理程序操作的是正确的崩溃进程,并允许处理程序绑定到socket接收核心转储,降低权限提升风险,从而有效防范攻击。

阅读更多
开发 核心转储

开源软件:科学研究的基石

2025-06-04

本文探讨了开源软件在科学研究中的关键作用。作者指出,开源软件的自由性和可复制性对科学研究至关重要,它能有效解决科学研究中数据处理、模拟、文档准备和保存等方面的挑战。相比之下,专有软件则带来诸多风险,例如软件许可限制、软件老化以及无法复制结果等。文章最后推荐了若干常用的开源软件,例如GCC、GFortran、Julia、Typst和Pandoc,并强调了开源软件对科学进步的重大意义。

阅读更多
科技

科技巨头“屎化”互联网:政策失误还是技术缺陷?

2025-05-28

科幻作家Cory Doctorow在PyCon US 2025的主题演讲中,探讨了互联网平台的“屎化”现象。他将这一现象归因于科技公司为追求利润最大化而采取的三阶段策略:锁定用户、损害用户体验以利于商业客户,最终榨干平台价值。他以谷歌为例,指出其通过“微调”(twiddling)算法,操纵搜索结果、广告投放等,损害用户利益。Doctorow认为,“屎化”并非技术问题,而是源于放松反垄断监管、忽视隐私立法等政策失误。他呼吁通过加强反垄断、促进互操作性、完善隐私保护等措施来扭转这一局面,构建一个“新的好互联网”。

阅读更多
科技

Flatpak项目发展受阻:维护者短缺导致创新停滞

2025-05-23

尽管Flatpak应用打包格式在开发者和用户中很受欢迎,并在Fedora等发行版中被采用,但其核心项目却面临发展停滞的困境。主要原因是核心开发者流失,导致代码审查和合并缓慢,许多新功能和改进提案迟迟无法落地。文章探讨了Flatpak在OSTree和OCI支持、权限细化、网络命名空间以及与NVIDIA驱动程序集成等方面的挑战,并提出了基于OCI的重构方案,以期借力更广泛的容器生态系统解决现有问题。

阅读更多
开发 应用打包

bpfilter:提升网络过滤性能的利器

2025-05-23

bpfilter项目旨在提升Linux内核网络过滤性能。它通过将iptables/nftables规则转换为BPF程序来实现,避免了传统方法的性能瓶颈。bpfilter由三个组件构成:守护进程、库和命令行工具,支持用户自定义规则并与iptables集成。测试表明,bpfilter在处理大量规则时的性能远超iptables和nftables,未来计划进一步完善nftables支持并集成用户自定义BPF程序。

阅读更多
开发

Home Assistant:一个内核开发者的居家自动化体验

2025-05-17

一位内核开发者花费一年时间体验Home Assistant,这款开源的居家自动化系统。文章探讨了Home Assistant 的项目健康度,包括其商业模式与开源社区的平衡,以及活跃的开发者社区和向Open Home Foundation的转移。安装方面,虽然官方推荐使用专用操作系统,但在普通Linux系统上的安装也相对简单,但需要一定的动手能力。Home Assistant 通过集成来连接各种家用设备,其质量参差不齐,但整体功能强大。安全性方面,文章指出虽然存在潜在风险,但项目本身的安全策略和审计机制在一定程度上降低了风险。总而言之,Home Assistant 为用户提供了对家庭网络和设备的掌控,是云服务之外的一个优秀替代方案。

阅读更多

开源家庭自动化系统Home Assistant:掌控你的智能家居

2025-05-17

一位内核开发者分享了使用Home Assistant开源系统管理其智能家居的经验。文章讲述了如何利用Home Assistant解决实际问题,例如:替代SunPower破产后失效的太阳能面板监控系统,自行收集和分析数据;通过“Helper”功能创建虚拟传感器,计算家庭能耗;集成Mitsubishi热泵,实现本地控制,摆脱对云服务的依赖;使用Refoss电力监控器,精准追踪家用电器能耗,及时发现问题。Home Assistant赋予用户对智能家居的完全控制权,但同时也需要一定的技术门槛。

阅读更多
开发
← 前页 1 3 4