arXivLabs:与社区协作者共建arXiv新功能
arXivLabs是一个允许协作者直接在arXiv网站上开发和分享新功能的框架。参与其中的个人和组织都认同arXiv的开放、社区、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,只与遵守这些价值观的合作伙伴合作。如果你有想法能为arXiv社区增值,那就了解更多关于arXivLabs的信息吧!
arXivLabs是一个允许协作者直接在arXiv网站上开发和分享新功能的框架。参与其中的个人和组织都认同arXiv的开放、社区、卓越和用户数据隐私的价值观。arXiv致力于这些价值观,只与遵守这些价值观的合作伙伴合作。如果你有想法能为arXiv社区增值,那就了解更多关于arXivLabs的信息吧!
IndieWeb,一个致力于个人数字独立的互联网社区,其成员通过自建网站掌控自身内容。有人质疑IndieWeb尚未“起飞”,但这忽略了其核心价值:掌控数字身份、拥抱创作自由和表达个性。文章作者回顾了早期个人建站的乐趣,认为IndieWeb并非追求大众化,而是传承了早期黑客文化,通过创作和分享与志同道合者连接。IndieWeb的意义并非在于规模,而在于其对去中心化和创意的坚持,对那些珍视这些价值的人来说,它已经足够有意义。
Asahi Linux 团队发布了 6.14 版本的重大进展更新,重点是将大量下游补丁提交到上游 Linux 内核。团队克服了人员变动和自然灾害的挑战,成功提交了三个新的驱动程序(包括触控板和 ISP 驱动程序),并积极清理 GPU 驱动程序以准备提交。此外,他们还实现了大部分笔记本电脑的麦克风支持,这需要克服 Secure Enclave 的限制并开发一个 MVDR 波束成形算法。Fedora Asahi Remix 42 Beta 也已发布,并且在 SCaLE 展会上展示了 Asahi Linux 运行 Steam 游戏的成功案例。团队也通过 OpenCollective 收集到了大量资金支持,这将有助于项目的长期可持续发展。
本文介绍了一种利用PostgreSQL继承特性简化数据库调试的方法。通过创建一个公共父表,包含序列ID和时间戳,所有子表继承这些列,从而实现所有表ID唯一且同一事务中的数据具有相同时间戳。这样,只需一个SQL语句即可查询所有表中的ID及所属表名,并根据时间戳判断数据插入顺序及事务所属关系,大大提高调试效率。
GizmoSQL是一个使用DuckDB或SQLite作为后端数据库的Apache Arrow Flight SQL服务器实现。它支持通过中间件进行身份验证,并允许通过TLS进行加密连接。该项目提供了Docker镜像和CLI可执行文件,方便用户部署和使用。用户可以通过JDBC或ADBC驱动程序连接到服务器,并使用Python或gizmosql_client CLI工具进行查询。GizmoSQL支持自定义初始化SQL命令,并提供灵活的配置选项,例如选择不同的后端数据库和启用/禁用TLS。
Minimalytics是一款基于SQLite的轻量级独立分析工具,专为资源受限环境而设计。它以极小的资源占用,提供追踪和可视化事件数据的轻量级解决方案。无论是追踪内部服务还是需要简单的分析工具,Minimalytics都能高效运行,且无冗余。它支持每月超过十亿的事件,存储空间仅约20MB,并提供Web UI进行管理和数据可视化。
本文深入浅出地讲解了容器镜像的内部机制。通过从零构建一个简单的“hello world”镜像,作者详细解释了OCI镜像的四个核心组件:层、配置、清单和索引。文章阐述了层是如何创建的,如何组合形成完整的镜像文件系统,以及如何利用内容寻址技术保证数据完整性和效率。此外,文章还比较了基于scratch和基于alpine两种基础镜像的构建过程,并最终成功运行了构建的容器镜像。
AgentKit是一个用于构建多智能体网络的框架,它提供确定性路由、多种模型提供商支持以及丰富的MCP工具。通过结合Inngest开发服务器和编排引擎,AgentKit使得在云端部署Agent时具有容错能力。核心概念包括Agent(结合提示、工具和MCP的LLM调用)、网络(Agent协作的简易方式)、状态(结合对话历史和完全类型化状态机的路由)、路由器(基于代码或LLM的自主编排)和追踪(本地和云端工作流程的调试和优化)。AgentKit支持多种路由策略,包括基于代码的确定性路由和基于Agent的自主路由,并提供共享状态机制,方便Agent之间协作。
TruffleRuby,一个高性能的 Ruby 实现,发布了最新版本,带来了显著的性能提升和兼容性改进。此版本修复了大量 Bug,包括 Module#name、Module#const_added、ObjectSpace.undefine_finalizer 等方法中的问题,并提升了与 OpenSSL 3.0.x 和 3.x 的兼容性。此外,还增加了许多新方法和功能,例如 IO#{pread, pwrite}、Range#reverse_each 等,并优化了编码协商和一些 C 扩展的性能。此更新增强了 TruffleRuby 的稳定性和性能,使其更接近标准 Ruby 实现 MRI。
Ory Hydra最初是一个基于Go语言的Keycloak替代方案,旨在避免复杂的JVM依赖。在2015年发布第一个版本后,开发者发现其设计不够灵活,于是转向构建Ory Fosite库,用于构建符合OpenID Connect的OAuth2服务器。此后,他们将Ory Hydra简化为专注于登录和授权流程,并与现有用户管理系统无缝集成。如今,Ory Hydra已成为全球领先的开源OAuth2服务器,为ChatGPT等大型应用提供动力,其成功证明了选择清晰、可扩展的技术、减少复杂性以及持续优化性能的重要性。
GREASE是一款开源工具,利用欠约束符号执行技术帮助软件逆向工程师分析二进制文件并发现难以察觉的漏洞,从而增强系统安全性。它支持多种架构和格式的二进制文件分析,并可作为Ghidra的插件、独立命令行工具或Haskell库使用。GREASE 通过在完全符号化的寄存器上运行目标函数,并在出现错误时使用启发式方法来细化符号前提条件,从而迭代地发现bug。虽然存在一些局限性,例如可能出现误报或漏报,但GREASE 在提高软件安全性方面具有重要作用,尤其是在分析仅提供二进制形式的COTS软件时。
C++26即将移除或弃用多个特性。其中包括:彻底移除C++20已弃用的`std::allocator` typedef,以及`std::basic_string::reserve()`无参数重载;移除已弃用的Unicode转换工具和`std::strtok`;移除老旧的`strstreams`和`std::shared_ptr`原子访问API;以及移除`std::wstring_convert`。此外,`std::is_trivial`也被弃用,建议使用更精确的`is_trivially_XXX`替代;`std::memory_order::consume`也因规范不足和实现困难而被弃用。这些移除和弃用旨在提升语言安全性和效率,并清理已过时的功能。
Physix.go是一个用Go语言编写的简单易用、快速的物理引擎,支持基于粒子的物理模拟。它提供高效的物理计算函数,包括向量计算、物理计算、弹簧动力学等。用户可通过`go get github.com/rudransh61/Physix.go`安装,并运行示例文件进行体验。该引擎支持矩形与矩形、圆形与圆形的碰撞检测及基于动量守恒和能量守恒的反弹效果,并提供弹簧模拟功能。
Pebble团队重返智能手表市场,却面临着iOS平台开发的巨大挑战。文章回顾了Pebble一代在iOS平台上遇到的诸多限制,例如无法发送短信、回复通知、与其他iOS应用交互等,并指出这些问题在八年后甚至更加严重。苹果公司对第三方开发者设置的诸多限制,被作者认为是其为了维护自身生态系统而采取的策略,而非出于安全或隐私考虑。文章呼吁用户向苹果公司施压,并支持相关的反垄断立法,以改善第三方智能手表在iOS平台上的开发环境。
本文介绍了一种使用 GitHub Actions 和 GitHub Pages 部署完全自定义网站的极简方法。只需启用 GitHub Pages,创建一个包含构建和部署步骤的 YAML 工作流程文件(publish.yml),并将生成的网站文件放置在 _site/ 目录下即可。该方法无需复杂的配置,即可轻松部署静态网站,并可结合定时工作流程和 Git 抓取技术创建更多有趣的功能,例如发布 Atom 订阅源或自定义网站。
近年来,大型语言模型(LLM)公司的爬虫程序日益猖獗,对开源项目造成了巨大的压力。这些爬虫不仅无视 robots.txt 协议,还消耗大量资源,导致 SourceHut、KDE GitLab 和 GNOME GitLab 等项目多次宕机。开源社区被迫采取各种防御措施,例如 GNOME 使用 Anubis 项目进行验证码挑战,但这也给普通用户带来了不便。一些项目甚至不得不封锁特定国家或 IP 段。此事件凸显了 AI 公司对开源社区的不公平负担,以及维护开源软件的巨大挑战。
一位拥有20多年经验的前端工程师痛斥了前端领域沉迷于框架重写的现状。他指出,不断更迭的框架使得工程师们浪费大量时间在学习新技术上,而非专注于产品本身。与其追逐新框架,不如深入掌握Web基础技术,这才是长期发展的关键。过度依赖框架也使得新开发者难以入门,阻碍了Web技术的发展。作者呼吁大家回归Web基础,避免被框架的更迭所裹挟。
复合文件二进制格式 (CFBF) 是一种用于在单个磁盘文件中存储多个文件和流的复合文档格式。它类似于FAT文件系统,由扇区、文件分配表 (FAT) 、目录等组成,并支持多种扇区类型,例如FAT扇区、MiniFAT扇区、双间接FAT扇区、目录扇区和流扇区等。CFBF文件以512字节的头部记录开始,包含了解释文件其余部分所需的信息。理解CFBF的结构对于理解像Microsoft Office文档等文件的底层存储方式至关重要。
Icicle 是一种高级流式查询语言,它通过编译成 C 语言并利用结构体数组的方式处理数据。为了提高效率,Icicle 编译器原本会在对数组进行修改前插入复制操作。本文介绍了一种利用 Tardis Monad 和缝合图来优化 Icicle 编译器的算法,该算法能够识别并消除大部分冗余的复制操作,从而实现破坏性更新,并使查询运行时间最多减少 50%。该算法通过构建一个引用图来跟踪数组的引用,并利用 Tardis Monad 进行正向和反向遍历,判断是否可以安全地进行破坏性更新。这种方法巧妙地结合了函数式编程的思想和编译时优化技术,为提高流式查询语言的性能提供了新的思路。
arXivLabs是一个开放的平台,允许开发者与arXiv社区合作,直接在网站上开发和分享新的arXiv功能。参与者必须遵守arXiv的开放、社区、卓越和用户数据隐私的价值观。你有提升arXiv社区价值的想法吗?快来了解arXivLabs吧!
Stelvio是一个用纯Python编写的库,旨在简化AWS云基础设施的管理和部署。它使用智能默认值自动处理复杂的配置,让开发者用熟悉的Python代码定义云资源,并实现基础设施代码与应用代码的清晰分离。目前Stelvio支持Lambda、DynamoDB和API Gateway,并计划支持更多AWS服务。虽然还处于早期alpha阶段,但它已为Python开发者提供了比Terraform、Pulumi或AWS CDK更便捷的AWS云管理体验。
在网页设计中,分割线必不可少。但现有 CSS 方法(如 border 和伪元素)存在局限性,难以优雅地处理 Flexbox 和 Grid 布局中的分隔线。本文介绍了 CSS gap decorations 提案,它允许开发者更灵活地控制网格和 Flexbox 布局中的分隔线样式,包括长度、颜色、位置等,并支持跨越多行多列的复杂场景。该提案目前寻求开发者反馈,以完善其功能。
一位多伦多大学的学生在参加GenAI Genesis 2025黑客马拉松报名时,意外发现了一个漏洞。由于密码管理器未保存密码,他重置密码后,注意到重置密码链接指向Firebase应用。出于好奇,他尝试了一些常见的Firebase漏洞利用方法,最终发现网站在更新应用状态时,直接写入整个应用对象,而非只更新必要字段。通过利用这个漏洞,他成功地将自己的申请状态修改为“已接受”。此外,他还发现该网站存在信息泄露漏洞,可以提前查看审核结果、评审员信息和评论等敏感信息。该漏洞已得到修复。
Austral 是一种新型的系统编程语言,它可以被认为是 Rust 的精简版或现代化的 Ada。其设计目标是简洁和严格,通过强大的静态类型系统、线性类型、基于能力的安全性和强大的模块化来实现。线性类型确保资源的正确生命周期管理,避免内存泄漏等错误;基于能力的安全机制则防止供应链攻击。Austral 摒弃了 NULL、垃圾回收、异常等特性,力求最大限度地提高安全性及可预测性。
本文深入探讨了一个复古Pascal编译器的内存优化策略。为了适应有限的内存空间,编译器采用了标记化技术,将错误信息、保留字和源代码中的标识符等转换为字节码。文章详细列出了错误代码、源代码标记和P-代码(伪机器码)的十六进制表示及其对应的含义,揭示了编译器如何通过巧妙的标记化和字节码操作来高效地处理编译过程。这篇文章对于学习编译原理、逆向工程以及嵌入式系统编程都具有参考价值。
本文探讨了AI生成系统架构图的三个用例:通用技术图、白板图和实际系统图。实验表明,AI在生成通用技术图和白板图方面表现出色,能够根据简单的描述生成基本架构图,并接受进一步的修改和完善。然而,在生成实际系统图方面,AI表现不佳,难以从源代码中准确提取信息并生成详细、准确的架构图。这主要是因为缺乏足够的训练数据、代码分析的复杂性和AI难以理解系统设计意图等挑战。总而言之,AI辅助白板设计是可行的,但自动生成实际系统图仍然是一个有待解决的难题,人工参与仍然是不可或缺的。
Package Phobia 是一款 npm 包大小预估工具,它可以在你安装 npm 包之前预先报告其大小,包括发布大小和安装大小。发布大小指的是包源代码的大小,通常很小;安装大小则包含包本身、所有依赖项及其依赖项的依赖项等,会显著大于发布大小。这样,你可以避免不必要的磁盘空间占用和漫长的安装等待时间,从而更有效地管理项目依赖。
谷歌利用系统理论过程分析(STPA)方法,预防其庞大软件系统中的故障。文章讲述了谷歌如何从最初的外部培训转向开发内部定制培训,包括构建控制结构模型,并最终创建自学教程,以更有效地推广STPA。通过将STPA应用于实际的谷歌系统案例,培训更具吸引力,并强调了关注反馈路径的重要性,这在传统的软件设计中常常被忽视。谷歌的经验表明,STPA能够有效地识别潜在故障点,从而提高系统可靠性。
作者历经三次尝试,最终无奈回到GitHub Actions,构建复杂的CI/CD流程。过程中遭遇诸多难题:合并队列的奇怪状态检查强制执行、难以理解的安全模型(GITHUB_TOKEN权限管理)、Docker容器文件权限和路径问题、YAML工作流的复杂性和调试困难等。尽管最终成功减少了合并时间,但整个过程充满了令人沮丧的坑和不一致的行为,作者呼吁改进GitHub Actions的易用性和调试体验。
这个项目提供了一个MCP服务器,使用Playwright无头浏览器抓取网页内容。它支持单URL和批量URL抓取,可以智能提取主要内容并转换为Markdown格式。用户可以通过`npx`直接运行,并可配置超时时间、等待策略、内容提取、最大长度以及返回HTML或Markdown等参数。此外,还提供了在Claude Desktop中配置该服务器的方法,以及Playwright浏览器的安装和调试指南。