分类: 开发

KDE Plasma 终止长期支持版本发布

2025-05-04
KDE Plasma 终止长期支持版本发布

KDE社区决定停止Plasma的长期支持(LTS)版本发布,转而延长错误修复和功能版本的支持周期。此举旨在解决社区期望不一致、开发者不愿维护旧版本以及 Frameworks 和 Gear 应用的 LTS 支持不一致等问题。未来,Plasma 将每年发布两次功能版本,并增加一个错误修复版本,以提高稳定性。此举旨在为用户提供更好的桌面体验。

开发 Linux 桌面

Google Zanzibar:可扩展的全局授权系统

2025-05-04

Google于2019年发布的Zanzibar系统,是一个兼具灵活性和可扩展性的全局授权系统。它解决了Google庞大应用场景下的授权难题,启发了众多公司开发类似产品。Zanzibar的核心在于其灵活的访问控制模型和强大的分布式一致性保证。它利用Google Spanner数据库和TrueTime技术确保数据一致性,并通过巧妙的架构设计(例如zookies和Leopard索引系统)提升可扩展性。虽然其分布式架构和高一致性要求对普通应用来说可能过剩,但其API设计理念值得借鉴,许多公司都致力于构建更简洁易用的Zanzibar替代方案。

开发

非标准分析:用代数方法重新审视无穷阶

2025-05-04
非标准分析:用代数方法重新审视无穷阶

本文探讨了使用非标准分析来研究渐近符号和无穷阶的全新方法。传统分析中,处理无穷阶需要复杂的ε-δ论证。然而,非标准分析通过引入超滤器,巧妙地隐藏了大量的量词,使得分析问题转化为更具代数性质的问题。文中证明了在非标准框架下,无穷阶构成一个全序向量空间,并具有类似于实数完备性的完备性性质。这种代数化方法简化了渐近符号的计算,尤其在符号计算方面具有优势,但同时也牺牲了获取显式常数的能力。

别让AI替你写作!你的想法更精彩

2025-05-04

作者痛批学生和研究人员过度依赖大型语言模型(LLM)写作,认为LLM生成的文本冗长、乏味且缺乏原创性。他认为LLM写作并非出于诚实或公平,而是因为人们误以为LLM能提高效率或写作质量。作者指出,真正有价值的是表达个人思想,LLM生成的文本只是对已有文本的拼凑,缺乏个人体验和独特见解。他以自身教学和阅稿经验为例,阐述了LLM写作的弊端,并通过一个实验展示了LLM生成的文本如何缺乏深度和创意。最终,作者呼吁大家拒绝LLM写作,用自己的声音表达独特的思想。

开发 原创性

zymtrace: 解锁GPU潜能的无摩擦GPU性能分析器

2025-05-04
zymtrace: 解锁GPU潜能的无摩擦GPU性能分析器

zymtrace是一款轻量级、生产级的持续GPU性能分析器,它能够无缝追踪GPU性能瓶颈,例如内核停滞、内存竞争或调度延迟,并将这些问题直接追溯到引发它们的PyTorch代码、CUDA内核、原生函数或调度线程。与其他解决方案不同,zymtrace能够提供全面的系统可见性,关联GPU追踪和触发它们的CPU代码路径,帮助AI/ML工程师优化CUDA内核启动、确定最佳批量大小以及解决GPU利用率低下的问题,从而最大限度地提高GPU性能并降低成本。

开发

3D打印设计指南:超越基础,深入探讨可打印性

2025-05-04
3D打印设计指南:超越基础,深入探讨可打印性

本文深入探讨了3D打印的设计哲学,超越了基本的打印知识,涵盖了强度、公差、工艺优化、功能集成、机械元件、外观以及花瓶模式设计等方面。作者总结了大量经验规则,并辅以实际案例和图片说明,例如如何选择最佳打印方向以提高零件强度,如何利用倒角和圆角改进零件精度和表面光洁度,以及如何避免使用支撑结构等。文章还介绍了多种功能集成技术,例如拉链槽、挠性结构、卡扣、活页铰链、嵌入式轴承以及套印机构等,并深入分析了螺纹连接、嵌入式五金件和织物打印等方面。这是一篇极具价值的3D打印设计指南,适合有一定3D打印基础的工程师和爱好者阅读。

开发

编译器优化与Load-Store冲突:一个性能悬崖的故事

2025-05-04

本文讲述了一个令人意想不到的性能问题:一个简单的几何数据解码器,在不同编译器版本下的性能差异巨大。究其原因,竟是微架构中鲜为人知的Load-Store冲突。GCC-14版本通过巧妙的向量化操作,实现了性能提升。然而,GCC-15却因为编译器优化策略的改变,导致Load-Store冲突频发,性能大幅下降。而Clang在ARM架构上的表现则出人意料地优秀,得益于其对ARM架构Load-Store特性的充分利用。这篇文章提醒我们,编译器优化并非一劳永逸,需要密切关注编译器生成的代码,以及底层硬件的微架构特性。

Feather:Rust 的轻量级 Web 框架,开发者体验优先

2025-05-04
Feather:Rust 的轻量级 Web 框架,开发者体验优先

Feather 是一个为 Rust 打造的轻量级 Web 框架,其设计理念源于 Express.js 的简洁性,但同时又兼顾了 Rust 的性能和安全性。它采用中间件优先架构,所有组件(路由处理器、身份验证、日志记录等)都是可组合的。新版本引入了 Context API,简化了状态管理。Feather 的 API 简约易用,模块化设计允许按需选择功能,并提供开箱即用的优秀工具。总而言之,Feather 致力于为 Rust 开发者提供高效、安全的 Web 开发体验。

开发 Feather

FSF四十周年庆:全球自由软件线上黑客马拉松

2025-05-04

为了庆祝成立四十周年,自由软件基金会(FSF)发起了一场为期三天的全球线上黑客马拉松,邀请自由软件项目和个人贡献者参与改进重要的自由软件项目。无论项目归属或许可证类型,所有自由软件项目均可参与。活动将于2025年11月21日至23日举行,项目提交截止日期为5月27日。FSF将为做出最杰出贡献的项目和贡献者颁发奖项。

开发 FSF

Sanctum:一款安全且可审计的VPN守护进程

2025-05-04
Sanctum:一款安全且可审计的VPN守护进程

Sanctum是一款为OpenBSD、Linux和macOS设计的安全、可审计、功能强大且具有后量子安全性的VPN守护进程。它采用特权分离设计,将关键组件与网络交互和非加密相关进程隔离。Sanctum还支持基于NAT的点对点隧道,无需打开防火墙端口或配置转发规则即可实现设备间的直接通信。该项目采用多个进程协同工作,每个进程都沙盒化并以独立用户运行,增强安全性。Sanctum支持多种加密算法,并使用混合的密钥交换机制,确保后量子安全性。

Cjam: 一款轻量级MP3编辑器

2025-05-04
Cjam: 一款轻量级MP3编辑器

Cjam是一款运行于Windows系统的轻量级MP3编辑软件,它允许用户通过拖放导入MP3文件,并使用文本命令进行编辑,例如剪切、合并、添加淡入淡出效果和静音间隔等。无需解码和重新编码,Cjam能够快速编辑音频文件。软件支持多种文件格式,包括MP3、CUE、M3U以及Cjam自定义格式。最新版本1.9.6.0已于2025年5月3日发布,体积仅1.31MB。

开发 MP3编辑器

sxwm:极简、快速、可配置的X11窗口管理器

2025-05-04
sxwm:极简、快速、可配置的X11窗口管理器

sxwm是一款轻量级的X11窗口管理器,以其极简的设计、快速的运行速度和高度的可配置性而著称。它支持平铺和浮动布局,拥有9个工作区,并允许用户通过简单的文本配置文件sxwmrc进行自定义配置,无需C语言编程经验。sxwm还支持鼠标操作、多显示器以及与sxbar等工具的集成,旨在为用户提供高效、流畅的窗口管理体验。其核心优势在于其极低的资源占用和出色的性能。

开发

重现辉煌:Niklaus Wirth的Modula-2编译器源码重见天日

2025-05-04

近日,Niklaus Wirth教授设计的Modula-2编译器源码,包括Lilith工作站的编译器、操作系统等,以及为IBM-PC适配的M2M-PC系统,均已公开发布。这些代码历经多年沉寂,最终被Lilith模拟器EmuLith的设计者Jos Dreesen寻回。其中包含多版本编译器,从早期的多遍编译器到后来的单遍编译器,以及为Macintosh平台的版本。这一事件不仅让开发者有机会学习经典编译器设计,更展现了编程史上的珍贵遗产,值得业界关注。

开发

Elvish:一款强大的静态链接脚本语言

2025-05-04
Elvish:一款强大的静态链接脚本语言

Elvish 是一款功能强大的脚本语言,兼具交互式 shell 的特性,并以静态链接二进制文件的形式提供给 Linux、BSD、macOS 和 Windows 用户。虽然目前仍处于 1.0 版本之前,但其稳定性足以满足脚本编写和交互式使用的需求。用户文档可在 elv.sh 网站上找到,其中包含安装教程、使用指南和新闻等信息。开发文档则位于 ./docs 目录下。此外,还有许多优秀的 Elvish 包和工具可供使用。

开发 Elvish

用C#开发SNES游戏:DotnetSnes框架详解

2025-05-04
用C#开发SNES游戏:DotnetSnes框架详解

DotnetSnes是一个令人兴奋的项目,它允许开发者使用C#编写真正的SNES游戏ROM!它通过一个.NET库抽象SNES游戏开发中常用的函数和全局变量,将编译后的DLL转换为C代码,再使用PvSnesLib SDK工具链编译成可运行的ROM。虽然SNES的限制(如缺乏动态内存分配)使得C#代码无法完全保持惯用风格,但该框架仍然允许创建功能完整的SNES游戏。文中详细介绍了开发流程、依赖项安装、项目创建和构建步骤,并提供了两个示例项目:HelloWorld和LikeMario,展示了如何使用该框架创建简单的文本输出和更复杂的基于地图的游戏。

Common Lisp Web 应用开发教程:一个留言板示例

2025-05-04
Common Lisp Web 应用开发教程:一个留言板示例

本文通过构建一个简单的留言板Web应用,详细介绍了使用Common Lisp进行Web开发的流程。作者指出Common Lisp缺乏完善的文档是其普及率低的原因之一。教程涵盖了项目搭建、数据库连接、模板渲染、路由定义等方面,并对比了Common Lisp和Python Flask的代码量差异。最后,作者总结了Common Lisp在Web开发中的优缺点,认为其更适合低层级任务和高性能计算,而在普通的Web后端开发方面优势有限。

开发

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

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

arXivLabs是一个开放平台,允许开发者直接在arXiv网站上开发和分享新功能。参与者均认同arXiv的开放、社区、卓越和用户数据隐私的价值观。你有提升arXiv社区价值的想法吗?快来了解arXivLabs吧!

开发

PostgreSQL CTE 与 DELETE ... RETURNING 和 LIMIT 的意外行为

2025-05-04
PostgreSQL CTE 与 DELETE ... RETURNING 和 LIMIT 的意外行为

作者在使用PostgreSQL的Common Table Expression (CTE)结合DELETE ... RETURNING和LIMIT处理队列式表中的批量项目时,发现了意外行为。预期只删除一行,但实际却删除了多行。通过EXPLAIN ANALYZE分析,发现查询计划使用了嵌套循环半连接,导致LIMIT 1被多次执行。解决方法是将CTE中的子查询直接嵌入DELETE语句的WHERE子句中,避免查询计划的优化策略导致意外行为。这提醒我们,CTE并非总是优化屏障,在关键操作中应仔细检查查询计划。

开发

Google Gemini:强大的模型,糟糕的开发者体验

2025-05-04
Google Gemini:强大的模型,糟糕的开发者体验

Google Gemini在模型能力方面处于领先地位,拥有强大的编码、推理、多模态能力以及超长上下文窗口。然而,其开发者体验却令人失望。API分散在Vertex AI和Google AI Studio两个平台,功能不一致;文档混乱且过时;Vertex AI SDK不支持API密钥认证和微调模型;前缀缓存机制也极其不友好。尽管如此,Gemini模型在长上下文和多模态方面具有成本优势,开发者可能仍需使用它,并借助第三方工具如Vercel AI SDK来改善体验。

开发

提升你的GRUB启动器主题:一个精选主题列表和自定义指南

2025-05-04
提升你的GRUB启动器主题:一个精选主题列表和自定义指南

厌倦了千篇一律的GRUB启动界面?本文提供了一些高质量的GRUB主题资源,并指导你如何轻松自定义它们。从更换背景图片和字体,到调整颜色方案,甚至创建循环背景效果,你都可以随心所欲地打造个性化的启动体验。文中还推荐了几个有用的工具,例如用于下载Github文件和调整GRUB设置的工具。

保障公共 API 可靠性的利器:Binary Compatibility Validator 和 Metalava

2025-05-03
保障公共 API 可靠性的利器:Binary Compatibility Validator 和 Metalava

本文介绍了如何利用 Binary Compatibility Validator 和 Metalava 这两个插件来追踪公共 API 的兼容性变化,从而保障公共 API 的可靠性。这两个插件能够自动追踪 API 的变更,并在出现可能破坏兼容性的修改时发出警告,避免因意外的 API 变更而导致依赖项目中断。文章还以 RevenueCat 的 Android SDK 为例,详细讲解了这两个插件的集成方法和使用方法,并强调了在 CI/CD 流程中集成 API 检查的重要性,从而确保公共 API 的稳定性和可靠性。

计算科学与信息工程中的数值线性代数课程速览

2025-05-03

这是一门为计算科学与信息工程专业学生设计的数值线性代数课程,共18讲。每讲都包含理论讲解和作业题,大部分还包含Julia语言编程作业。课程涵盖线性代数基础、浮点数运算、直接法、稀疏数据结构、迭代法、Krylov子空间方法、多重网格法、随机数值线性代数以及通信规避算法等内容,并配有丰富的学习资源,包括幻灯片和Jupyter Notebook等。

J 编程语言速成指南

2025-05-03
J 编程语言速成指南

这是一份针对有一定编程经验的程序员编写的 J 编程语言入门指南。它简洁明了地介绍了 J 语言的核心概念,包括数据类型、函数、修饰符、数组、控制结构和错误处理等。指南鼓励读者运行示例代码并阅读注释,并提供了 J 语言的重要链接和资源,帮助读者快速上手 J 编程。

开发 J语言

DuckDB空间扩展:让地理空间数据触手可及

2025-05-03
DuckDB空间扩展:让地理空间数据触手可及

将地理空间能力嵌入通用数据工具会发生什么?更多人开始使用地理数据!最近的云原生地理空间会议上,一个核心问题是如何扩大地理空间用户群体。DuckDB的空间扩展降低了使用地理数据的门槛,只需简单的两行代码即可安装和加载。这使得非专业人士也能轻松处理地理空间数据,极大地促进了生态系统的增长,Overture Maps Foundation的成功可能也与其密切相关。

开发

业余程序员的逆袭:Kintoun文档翻译器超越谷歌翻译和DeepL

2025-05-03

一位业余程序员仅用两周业余时间开发的文档翻译器Kintoun,在翻译质量和布局保持方面超越了谷歌翻译和DeepL。文章作者分享了开发过程中的经验教训,包括产品比预期更好、产品分发与开发同等重要以及技术选型(Inertia.js和Svelte)的成功。Kintoun不仅在准确性上胜出,更能完美保留文档原始排版,例如脚注和Ruby文字。作者强调了产品推广的重要性,并分享了其成功的推广策略,即关注目标用户需求并提供实际帮助。

开发 文档翻译

从Next.js到Ruby on Rails:Hardcover的架构迁移之旅

2025-05-03
从Next.js到Ruby on Rails:Hardcover的架构迁移之旅

Hardcover团队分享了他们从Next.js迁移到Ruby on Rails和Inertia.js的经验。由于Next.js的缓存机制不明确、成本高昂且开发速度缓慢,他们决定迁移。选择Ruby on Rails和Inertia.js后,Hardcover的性能显著提升,页面加载速度更快,Google Pagespeed得分也提高了,访客停留时间延长。迁移过程中,他们也遇到了挑战,例如布局共享和SSR调试等,但整体效果令人满意。

开发 架构迁移

无服务器DNS解析器:serverless-dns横空出世

2025-05-03
无服务器DNS解析器:serverless-dns横空出世

serverless-dns是一个类似于Pi-Hole的无服务器DNS解析器,支持DNS-over-HTTPS (DoH)和DNS-over-TLS (DoT),可在Cloudflare Workers、Deno Deploy、Fastly Compute@Edge和Fly.io等平台上运行。它使用简洁的Radix Trie高效地管理1300万条来自190多个黑名单的条目,并提供毫秒级的响应速度。该项目开源,支持自定义配置和日志上传,为用户提供了一个轻量级、高性能的DNS解决方案。

Pandoc:LaTeX 到 MathML 的高效转换

2025-05-03
Pandoc:LaTeX 到 MathML 的高效转换

博主尝试多种方法将LaTeX公式转换为MathML,最终发现Pandoc最为高效。Pandoc轻松处理单行和多行公式,包括复杂的矩阵和分段函数。虽然发现Pandoc在处理包含极限和求和的公式时存在一个小bug,但整体表现优秀,并提供Python脚本清理Pandoc输出的MathML代码,提高效率。

开发

你真的拥有你的网站吗?控制权的迷思

2025-05-03

2020年封锁期间,一家餐馆的网站成为其生存的命脉。店主将网站维护外包,结果“维护人员”失联数月,网站无法更新。这引发了对网站控制权的思考:从简单的联系维护人员修改内容,到复杂的直接修改服务器文件、DNS甚至更换服务器,各种方法层层递进,展现了网站控制权的复杂性。文章指出,真正的控制权取决于你是否拥有相关账户和权限,例如注册商账户、DNS管理权限、服务器访问权限等。这提醒我们,在将网站维护外包时,需要充分了解潜在风险,并确保拥有必要的控制权。

开发 网站控制

PostgreSQL 多 AZ 集群中的事务可见性问题

2025-05-03
PostgreSQL 多 AZ 集群中的事务可见性问题

Jepsen 的一篇报告揭示了 Amazon RDS for PostgreSQL 多 AZ 集群中存在一个长期存在的事务可见性问题:在主节点和副本节点上,事务可见的顺序可能不同。这并非数据丢失或损坏,也不会影响单 AZ 部署或 Aurora 数据库。该问题与数据库文献中已知的“长分叉”异常有关,它违反了快照隔离。文章详细解释了该问题的原因(与 ProcArray 和 WAL 异步更新有关),并举例说明了它如何导致不一致的结果(例如,Alice 和 Bob 对 Hacker News 上文章排名的不一致观察)。虽然此问题很少影响应用程序的正确性,但修复它对于 PostgreSQL 集群的企业级功能至关重要。AWS 正在与 PostgreSQL 社区合作解决此问题,并提供了变通方案,例如审查应用程序对事务排序的假设,并使用显式同步机制。

1 2 97 98 99 101 103 104 105 213 214