分类: 开发

arXivLabs:与社区协作者一起进行实验性项目

2025-05-17
arXivLabs:与社区协作者一起进行实验性项目

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

开发

OBNC:一款Oberon语言编译器

2025-05-17

OBNC是一款用于编译Niklaus Wirth的Oberon编程语言的编译器,实现了2016年最终版本的语言规范。它将Oberon源代码转换为C语言,然后使用宿主机操作系统的C编译器和链接器进行编译和链接。OBNC编译器遵循GNU通用公共许可证,而库则遵循Mozilla公共许可证,方便项目发布。该软件包包含编译器、构建工具、文档生成器和一个小型基础库,还包含一个扩展库ext,增加了访问命令行参数、环境变量等功能。OBNC支持POSIX兼容操作系统,需要Boehm-Demers-Weiser垃圾收集器。Windows用户可下载预编译版本。

开发

N64上的实时光照和法线贴图:一个令人惊叹的逆向工程

2025-05-17

本文介绍了作者在任天堂64上实现实时光照和法线贴图的惊人技术。通过巧妙地利用调色板纹理和CPU端着色,作者绕过了N64硬件的限制,实现了令人印象深刻的视觉效果。该技术涉及将漫反射和法线信息压缩到共享调色板中,并在运行时通过CPU更新调色板以模拟光照效果。虽然该方法存在一些局限性,例如不支持点光源和阴影,但其创新性令人瞩目,为N64平台上的图形渲染开辟了新的可能性。

开发

Meta开源Pyrefly:Rust打造的Python类型检查器

2025-05-17
Meta开源Pyrefly:Rust打造的Python类型检查器

Meta发布了Pyrefly的alpha版本,这是一个用Rust编写的开源Python类型检查器和IDE扩展。Pyrefly旨在提高Python代码的类型一致性,并在运行前尽早发现错误。它支持IDE集成和命令行使用,并注重性能和类型推断,即使对于未加类型注解的代码也能有效工作。Pyrefly是Meta在Pyre基础上改进而来,目标是打造一个更强大、更易扩展的类型检查器,并与Python社区共同改进Python类型系统。

开发

NixOS:完美主义的Linux发行版?我的血泪教训

2025-05-17
NixOS:完美主义的Linux发行版?我的血泪教训

我曾痴迷于NixOS,它承诺通过一次性代码配置实现完美的系统可复现性。然而,一年后,我放弃了它。NixOS的学习曲线陡峭,文档不足,错误信息晦涩,配置方式繁多。虽然它能创建稳定的系统,但我不得不花费大量时间解决各种问题,例如Thunderbolt坞站的兼容性问题以及跨技术栈开发环境的搭建。最终,我转向基于Fedora Silverblue的Bazzite和Bluefin,它们通过Flatpak、Homebrew和Distrobox提供更便捷的应用管理和开发环境,保留了系统不变性的优点,同时显著提升了易用性。NixOS适合追求极致可复现性的服务器环境,但对于普通桌面用户而言,其高昂的学习成本和复杂性并不值得。

提升代码效率的两个实用技巧

2025-05-17

本文介绍了提升代码效率的两个实用技巧:将if条件上移和for循环下移。将if条件上移到调用函数处,可以减少代码分支,简化控制流程,并提升代码可读性。将for循环下移到处理批量数据的地方,可以利用批量处理的优势,提升性能,并可能开启向量化操作。这两个技巧互相补充,可以有效提高代码效率,尤其在处理大量数据时效果显著。

开发

七十五个计算几何学的开放性问题

2025-05-17

一个名为“开放问题项目”的网站汇集了超过75个计算几何及其相关领域的未解难题。该项目始于2001年,最初发表了30个问题,现已涵盖多个类别,例如凸包、图论、Voronoi图等。网站允许用户更新现有问题,特别是已解决(部分或全部)的问题,鼓励研究者参与解决这些挑战性的问题,推动计算几何学领域的发展。

开发 开放问题

在Starina操作系统中构建RISC-V虚拟机:从Hello World到Linux内核启动

2025-05-17
在Starina操作系统中构建RISC-V虚拟机:从Hello World到Linux内核启动

本文记录了作者在Starina操作系统中构建一个基于RISC-V H扩展的轻量级虚拟机的历程。作者首先利用QEMU模拟RISC-V H扩展进行测试,逐步实现了进入访客模式、处理系统调用、运行简单的Hello World程序以及最终启动Linux内核。过程中,作者克服了页面映射、设备树、定时器支持以及MMIO等挑战,并详细介绍了解决这些问题的步骤和方法,最终成功在Starina虚拟机上运行Linux。

开发

开源语义模型服务器Publisher:让你的数据更有意义

2025-05-17
开源语义模型服务器Publisher:让你的数据更有意义

Publisher是一个开源的语义模型服务器,它使用Malloy数据语言,为你的数据构建丰富的语义模型,定义数据背后的含义、关系和上下文。它通过服务器接口公开这些模型,允许应用程序、AI代理和用户以一致可靠的方式查询数据。Publisher解决了现代数据和AI系统中日益增长的一个问题:如果数据背后的含义不明确,你将无法信任答案。它利用Malloy查询,在幕后将其编译成SQL,从而获得可靠的答案,无需在每个工具中重新定义数据的含义。Publisher由服务器、SDK和应用程序三个主要组件组成,支持多种数据库和AI应用。

Popcorn: 在浏览器中运行 Elixir 代码

2025-05-17

Popcorn是一个新颖的库,允许在Web浏览器中执行Elixir代码。它利用AtomVM运行时在客户端执行编译后的Elixir代码,并提供API来处理Elixir和JavaScript之间的交互、序列化和通信,同时确保浏览器响应速度。该库目前仍在开发中,API尚不稳定,但已经提供了三个可运行的示例,包括一个简单的Elixir REPL、一个交互式教程和一个生命游戏示例。通过在mix.exs文件中添加依赖项并设置JS和Elixir WASM入口点,开发者可以开始使用Popcorn。Popcorn利用消息传递机制连接JS和Elixir代码,并允许从Elixir直接执行JS代码。Elixir端使用Popcorn.Wasm模块处理与JS的通信,而JS端则使用Popcorn类。

开发 AtomVM

MCP协议:快速发展中的挑战与机遇

2025-05-17
MCP协议:快速发展中的挑战与机遇

本文作者就MCP协议(一种用于LLM工具调用的协议)的批评文章进行了回应。作者认为,批评文章过分关注传输方式(例如WebSockets),而忽略了MCP协议的核心价值——通过OAuth 2.0实现身份验证,并允许LLM与真实世界交互。作者承认MCP存在一些问题,例如工具安全性和多租户服务器的兼容性,但也强调了MCP协议的快速发展和广泛采用,以及社区在解决这些问题上的努力。作者最后呼吁开发者积极参与,确保MCP协议安全可靠地发展。

开发

新兴操作系统目录:一场对计算未来的探索

2025-05-17
新兴操作系统目录:一场对计算未来的探索

在大型语言模型热潮过后,一股创造新型操作系统的浪潮悄然兴起。本文列举了一系列新兴操作系统,例如基于UXN/Varvara堆栈的个人计算系统、面向Web研究的Nette.io操作系统、以及使用Lisp语言构建的Interim和ChrysaLisp操作系统等。这些项目展现了对操作系统设计理念的创新探索,例如DesktopNeo对桌面界面的重新思考,以及MercuryOS基于意图的操作系统设计。这些尝试,如同对计算未来的一次次大胆探索,重燃了人们对操作系统创新和发展的热情。

开发

Fahmatrix:Java 的轻量级 Pandas 替代品

2025-05-17
Fahmatrix:Java 的轻量级 Pandas 替代品

Fahmatrix 是一个轻量级的现代 Java 库,用于处理表格数据,其灵感来自 Python 的 Pandas,旨在简化 JVM 上的数据理解。它提供直观的 API,支持 CSV 读取和预览、行过滤和列选择,以及聚合、分组和排序等功能(即将推出)。Fahmatrix 没有外部依赖项,可以直接从 GitHub 下载 JAR 文件使用,或通过 Maven/Gradle 使用(未来版本添加)。它支持 CSV 文件加载、数据打印、head()/tail() 函数、多种聚合函数、行过滤和列选择、分组和透视表、数据导出以及类型推断和转换等功能。Fahmatrix 为 Java 开发者提供了一个高效处理表格数据的工具,无需离开 JVM。

开发

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

2025-05-17

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

rapidhash:速度与质量兼备的新一代哈希函数

2025-05-17
rapidhash:速度与质量兼备的新一代哈希函数

rapidhash 是一款极速、高质量且跨平台的哈希函数,是 wyhash 的官方继任者,在速度、质量和兼容性方面均有所提升。它在 SMHasher 和 SMHasher3 的所有测试中均通过,碰撞概率极低,接近理想值。性能测试显示,其速度在各种 CPU 架构上均表现出色,例如在 Apple M4 芯片上超过 70GB/s。此外,它支持多种编译器和架构,无需依赖特定指令集,兼容性极佳。

开发

跨平台 Xcode 替代品:xtool

2025-05-17
跨平台 Xcode 替代品:xtool

xtool 是一款跨平台工具,可在 Linux、Windows 和 macOS 上使用 SwiftPM 构建和部署 iOS 应用,无需 Xcode。它提供了 Xcode 的核心功能,例如构建 SwiftPM 包、签名和安装 iOS 应用,以及以编程方式与 Apple 开发者服务交互。xtool 还包含一个名为 XKit 的库,可方便开发者在自己的应用中与 Apple 开发者服务和 iOS 设备进行交互。

开发 SwiftPM

微软全新命令面板:PowerToys Run 的进化版

2025-05-17
微软全新命令面板:PowerToys Run 的进化版

微软悄然发布了 Windows 系统的全新命令面板应用——Command Palette,它作为 PowerToys Run 的升级版,提供对命令、应用和开发工具的快速访问。Command Palette 不仅能够搜索应用、文件夹和文件,执行计算和系统命令,还能快速打开网站、进行网络搜索,甚至切换窗口。更重要的是,它支持扩展,允许用户自定义添加更多命令和功能,使其成为开发者和高级用户的强大工具。

开发

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

2025-05-17

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

开发

Rustls:高性能、内存安全的TLS实现再升级

2025-05-16
Rustls:高性能、内存安全的TLS实现再升级

Rustls,一个注重性能的内存安全TLS实现,近期发布了重大性能改进。通过优化会话恢复机制,特别是替换了互斥锁以减少并发连接握手中的竞争,以及减少默认发送的无状态恢复票据数量,Rustls 0.23.17 版本在多核服务器上的性能得到了显著提升,几乎实现了线性扩展,且握手延迟比OpenSSL低约2倍。这使得Rustls成为一个更具竞争力的TLS解决方案,为互联网带来更安全、高效的连接体验。

开发 Rustls

用 94 行 Ruby 代码构建一个代码编辑代理

2025-05-16

作者挑战了构建代码编辑代理的难度,并使用Ruby和RubyLLM gem在短短94行代码内实现了这一目标。该代理通过与大型语言模型(LLM)交互,并利用三个工具(读取文件、列出文件和编辑文件)来完成代码编辑任务。文章详细介绍了每个工具的实现过程,并通过一个构建ASCII扫雷游戏的例子展示了代理的能力。最终,作者还添加了一个执行Shell命令的工具,进一步增强了代理的功能,并成功地构建了一个可以自我测试的代码编辑代理。

开发

Solidis:高性能、SOLID 原则设计的 Redis RESP 客户端

2025-05-16
Solidis:高性能、SOLID 原则设计的 Redis RESP 客户端

Solidis 是一个现代化的 RESP 客户端,遵循 SOLID 原则,零依赖,并注重企业级性能。它支持 RESP2 和 RESP3 协议,并针对现代 JavaScript/TypeScript 应用程序进行了优化。Solidis 提供了两种客户端实现:基础客户端和特性客户端,前者体积小,后者预加载所有 RESP 命令。它还支持事务、管道、发布/订阅、自动重连等高级功能,并具有强大的类型安全性和可扩展性。

开发 RESP

Google Closure Library 的重生:ClojureScript 的稳定性守护者

2025-05-16

自2019年以来,Google Closure Library(GCL)的稳定性持续下降,最终Google停止了对它的维护。为了维护ClojureScript的生态系统,一个团队接管了GCL的维护,回退了一些破坏性改动,并使其与最新的Google Closure Compiler版本兼容。这使得许多旧的ClojureScript库恢复了运行,并为ClojureScript在各种JavaScript环境(不仅仅是浏览器)中的应用提供了坚实的基础,使其成为一个无需依赖大型框架即可完成各种任务(例如DOM操作、国际化、动画等)的强大工具。

KVSplit: 苹果硅芯片上的差异化KV缓存量化

2025-05-16
KVSplit: 苹果硅芯片上的差异化KV缓存量化

KVSplit 是一种针对苹果硅芯片优化的工具,通过对大型语言模型 (LLM) 的注意力机制中的键值缓存 (KV cache) 应用不同的量化精度(键和值分别量化),从而减少内存使用并提高推理速度。研究表明,键比值对量化更敏感,K8V4 配置(8 位键,4 位值)在内存节省 (59%) 和精度损失 (0.86%) 之间取得了最佳平衡,并能提升推理速度。KVSplit 提供易于使用的安装程序和基准测试套件,方便用户评估和应用不同的量化配置,从而在苹果设备上运行更长上下文窗口和更大型的 LLM。

开发

PostgreSQL批量插入性能优化:从2k到92k每秒

2025-05-16

Hatchet团队通过一系列优化,将PostgreSQL的插入速度提升了31倍,从每秒2000次写入提升到92000次。他们发现,连接池、批量插入和COPY命令是关键。连接池数量并非越多越好,需要找到最佳平衡点。批量插入显著提高吞吐量,但也会增加延迟,需要调整批量大小和刷新间隔以优化性能。COPY命令则在不需要返回数据时效率更高。文章还提到了其他高级优化技巧,例如多表事务插入和UNNEST的使用,将在后续文章中详细介绍。

开发

Workflow Use:无需编程的自动化工作流

2025-05-16
Workflow Use:无需编程的自动化工作流

Workflow Use是一个革命性的项目,旨在通过录制浏览器交互来创建确定性、可自我修复的工作流。用户只需向录制器展示工作流程,系统便会自动生成可重复使用的自动化脚本。该项目目前仍处于早期开发阶段,但其目标是让计算机能够一次性学习任务,并无限次地执行,无需人工干预。未来规划包括改进LLM回退机制、实现自我修复功能以及与其他工具集成。

开发 RPA

别再构建GPT包装器了,构建世界模型吧!

2025-05-16
别再构建GPT包装器了,构建世界模型吧!

Foundry公司正在构建用于浏览器代理的核心基础设施,而不是构建GPT包装器。他们认为,未来所有没有API的SaaS应用和企业工具都将由浏览器代理自动化,而目前的浏览器代理技术还处于早期阶段。Foundry的目标是构建超现实的确定性Web模拟、全面的标注框架、可靠的基准测试以及强大的强化学习训练环境,以提高浏览器代理的可靠性和效率。他们正在寻找一位资深的软件工程师,能够从零开始构建核心机器学习系统和强化学习基础设施。

开发

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

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

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

开发

LPython:一款将Python代码编译成机器码的编译器

2025-05-16

LPython 是一款能够将带类型注解的 Python 代码编译成优化后的机器码的编译器,支持 LLVM、C、C++、WASM、Julia 和 x86 等后端。它具有快速编译和运行速度的特性,在基准测试中表现出色。LPython 还支持即时 (JIT) 编译,并能与 CPython 无缝互操作。目前已发布 alpha 版本,用户可能遇到 bug。

rv: 一种可重复、快速且声明式管理R包的新方法

2025-05-16
rv: 一种可重复、快速且声明式管理R包的新方法

rv 是一种革命性的 R 包管理工具,它以可重复、快速且声明式的方式管理和安装 R 包。通过配置文件(rproject.toml)指定 R 版本、仓库和依赖项,rv 的 `sync` 命令即可同步库、配置文件和锁文件,而 `plan` 命令则提供预览。它支持自定义包和仓库设置,例如,安装特定包及其建议的包。rv 使用 Rust 编写,并提供详细的安装和使用文档。

开发 R包管理

Rust编译器错误信息进化史:十年磨一剑

2025-05-16

本文作者通过分析历代Rust稳定版本的编译器错误信息,展现了Rust编译器错误信息十年来的进化历程。从Rust 1.0到最新版本,错误信息在清晰度、可读性和用户体验方面都有了显著提升,这离不开数百位贡献者持续的设计、实现、审查和测试工作。文章特别指出1.26.0版本引入的彩色错误信息和`rustc --explain`提示功能,以及错误信息在不同版本间细微变化的趣闻。作者的分析生动地展现了Rust社区对细节的极致追求,以及持续改进的决心。

开发
1 2 85 86 87 89 91 92 93 213 214