分类: 开发

Rust 的 `Any` 特性终于支持向上转型

2025-03-30
Rust 的 `Any` 特性终于支持向上转型

Rust 1.86 版本终于修复了 `Any` trait 的一个长期存在的问题:无法对 `dyn Any` 进行向上转型。这意味着开发者现在可以使用 `Any` trait 的方法,例如 `downcast_ref`,在继承自 `Any` 的 trait 上。这项修复使得过去需要使用 hack 方法才能实现的功能,现在可以直接通过标准的方式实现,提升了代码的可读性和维护性。这对于长期以来依赖于 hack 方法的 Rust 开发者来说是一个好消息。

Kalua:轻松构建网状网络

2025-03-30
Kalua:轻松构建网状网络

Kalua是一个简化网状网络构建的工具。它提供了一套脚本,可以轻松地在OpenWrt路由器上构建和配置网状网络,支持多种硬件和用例。只需几条简单的命令,即可下载、构建并安装Kalua,实现轻松便捷的网状网络部署。

Rust如何引导我走向正确的道路

2025-03-30

作者在为Rust项目bors贡献代码的过程中,发现一个SQL迁移导致部署故障。问题源于在已填充表中添加非空列而未提供默认值。作者不仅修复了bug,更利用Rust和sqlparser crate编写了一个集成测试,自动检测此类问题,体现了Rust在鼓励编写高质量代码和预防错误方面的优势。整个过程高效便捷,突显了Rust强大的类型系统和IDE自动补全功能带来的便利。

开发

rr调试器迎来重大更新:软件计数器模式

2025-03-30
rr调试器迎来重大更新:软件计数器模式

rr调试器新增软件计数器模式,无需访问CPU硬件性能计数器即可运行,突破了云VM和容器环境的限制。该模式通过轻量级动态和静态检测实现记录和回放功能,让调试工作更便捷。作者在博客中详细介绍了记录和回放技术的原理以及rr调试器的优势,并分享了其开发历程。

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

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

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

开发

开源笔记本电脑设计:挑战与机遇

2025-03-30

一位工程师计划设计一款完全开源的笔记本电脑,旨在分享其设计过程中的经验和知识,并推动可修复、可升级和可持续的电子产品发展。他认为,现有的消费电子产品中蕴藏着丰富的知识,而开源项目可以降低进入门槛,促进学习与创新。该项目将涵盖电子设计、热管理、机械设计以及高速PCB设计等多个领域,并提供完整的源文件、文档和社区支持。这不仅是一项技术挑战,更是一次推动行业可持续发展的尝试。

PG-MCP:增强型PostgreSQL模型上下文协议服务器

2025-03-30
PG-MCP:增强型PostgreSQL模型上下文协议服务器

PG-MCP是一个为PostgreSQL数据库设计的模型上下文协议(MCP)服务器,它为AI代理提供了增强的功能。它构建在PostgreSQL MCP参考实现之上,增加了对多数据库支持、丰富的元数据信息(包括PostGIS和pgvector扩展)、查询计划分析工具以及强大的连接管理等功能。开发者可以使用Docker或虚拟环境部署PG-MCP,并通过提供的Python客户端与之交互,甚至可以结合Claude等大型语言模型实现自然语言到SQL的转换。

开发

Rust SIMD编程:七年前的愿景与今天的现实

2025-03-30

七年前,一篇博客文章提出了Rust成为编写高效SIMD程序的理想语言的愿景。如今,虽然取得了一些进展,但Rust的SIMD编程体验仍然很粗糙。本文探讨了SIMD编程中的安全问题、多版本化策略以及对未来方向的展望,包括对`std::simd`、`pulp`以及作者提出的`fearless_simd`原型等方案的比较分析。作者希望Rust社区能够共同努力,构建出与Highway库竞争的优秀SIMD编程基础设施。

开发

msgpack23: 一个现代化的C++ MessagePack库

2025-03-30
msgpack23: 一个现代化的C++ MessagePack库

msgpack23是一个轻量级的C++库,用于MessagePack格式数据的序列化和反序列化。它采用现代C++(C++20及以上)编写,利用模板和类型特性,提供了一种灵活、零依赖的解决方案,支持多种数据类型。该库是头文件式的,易于使用,支持STL容器、时间点对象、自定义类型等,并具有良好的性能和可扩展性。

开发

告别“氛围编程”:AI辅助编程的效率与成本思考

2025-03-30

作者尝试了几个月“氛围编程”(依靠AI辅助,凭感觉编码),发现其效率低下且成本高昂。起初,AI工具能快速生成代码,但缺乏结构化规划和测试,导致后期大量返工,token消耗巨大。作者对比了vibe coding、AI聊天、网络搜索三种方式的优劣,最终选择结合Gemini Code Assist(免费,上下文窗口优秀)和Open WebUI(可定制,成本低)来提高效率和降低成本,并考虑未来付费使用更经济的AI工具。

开发

RISC OS“登月计划”:64位架构迁移

2025-03-30

RISC OS Open Limited (ROOL) 发起了“登月计划”,旨在将 RISC OS 移植到64位 Arm 架构。这标志着该老牌操作系统从增量式开发转向大规模工程的战略转变。由于 Raspberry Pi 等平台转向 64 位处理器,此举对于 RISC OS 的未来至关重要。ROOL 寻求资金、工程师和社区支持来完成这一雄心勃勃的项目,所有成果都将开源发布。

开发 RISC OS

AI 代码编辑器 Cursor:10 倍生产力是幻想?

2025-03-29
AI 代码编辑器 Cursor:10 倍生产力是幻想?

一位 Dolt 数据库的开发者尝试使用 AI 代码编辑器 Cursor,亲身检验其是否能提升 10 倍的开发效率。起初,在大型代码库中使用 Cursor 让他倍感失望,调试过程异常繁琐。然而,在创建新项目时,Cursor 表现出色,几小时内就能完成一个 Factorio 模组。在工作中使用 Cursor 开发一个小工具时,它在生成基本功能代码方面表现良好,但代码质量有待提高,重构工作依然耗时。最终,作者认为 Cursor 提升了约 50% 的效率,远低于宣传的 10 倍,并指出其在处理复杂代码和理解现有代码库方面仍存在不足。

开发

Wine-based Linux发行版:解决二进制兼容性难题,对抗封闭操作系统

2025-03-29

本文提出一个大胆的想法:创建一个基于Wine的Linux发行版,默认运行Windows二进制文件。作者认为,Linux的二进制兼容性问题严重,现有解决方案(AppImage、Flatpak、Snap等)都存在不足。而Win32的稳定性,以及Wine对Windows应用程序的出色兼容性,为解决这一问题提供了可能。该发行版将预装Wine,并对Linux内核进行少量修改,实现无缝运行Windows应用程序。这不仅解决了Linux的二进制兼容性问题,也为日益封闭的Windows和macOS用户提供了一个便捷的迁移路径,对抗日益增长的操作系统厂商对用户自主性的限制。

xan:命令行CSV神器,速度与效率的极致追求

2025-03-29
xan:命令行CSV神器,速度与效率的极致追求

xan是一个命令行工具,用于快速处理大型CSV文件。它使用Rust编写,支持多线程并行处理,能够轻松应对数GB的CSV文件。xan不仅可以预览、过滤、切片、聚合、排序和连接CSV文件,还拥有强大的表达式语言,可以执行复杂的自定义数据处理任务,速度超越Python等动态类型语言。它源于xsv项目,但经过重新编写,以满足社会科学数据分析的需求,并扩展了词频统计、图论和网络爬取等功能。xan支持多种安装方式,包括cargo、Homebrew、pacman和Nix,并提供预编译二进制文件。

开发 CSV处理

Atop 2.11 存在堆溢出漏洞:CVE-2025-31160

2025-03-29

Atop 2.11 版本中发现了一个堆溢出漏洞(CVE-2025-31160)。该漏洞源于 Atop 在初始化时尝试连接 atopgpud 守护进程的 TCP 端口。如果其他程序监听了该端口,Atop 可能会连接到该程序并接收恶意字符串,导致解析失败、堆溢出和段错误。此漏洞自 Atop 2.4.0 版本引入 atopgpud 以来就存在。解决方案包括:默认情况下不再连接 TCP 端口,仅在使用 '-k' 标志时才尝试连接;改进字符串解析以避免堆溢出;默认情况下不再查找 netatop 或 netatop-bpf,仅在使用 '-K' 标志时才查找。

开发 Atop

使用符号距离函数生成令人惊叹的点云几何图形

2025-03-29
使用符号距离函数生成令人惊叹的点云几何图形

本文介绍了一种使用符号距离函数(SDF)生成点云几何图形的创意编码技术。作者以粒子碰撞球体为例,解释了如何利用SDF高效地检测粒子与球体碰撞,并扩展到更复杂的几何形状。文章还提供了Processing代码示例,包括Point、Vector、Ray和Tracer等类,以及SphereSDF和BoxSDF等SDF实现,展示了如何利用SDF进行球体追踪,最终生成精美的点云图像。

Ubuntu 24.04用户命名空间限制的三种绕过方法

2025-03-29
Ubuntu 24.04用户命名空间限制的三种绕过方法

Qualys安全团队发现了Ubuntu 24.04中未特权用户命名空间限制的三种绕过方法。攻击者可利用默认安装的工具(如aa-exec、busybox)或通过LD_PRELOAD技术,在命名空间内获得管理员权限,从而绕过安全限制,这引发了对系统安全性的担忧。该漏洞利用了AppArmor配置文件中允许创建具有完全功能的命名空间的程序,从而使攻击者能够利用需要CAP_SYS_ADMIN或CAP_NET_ADMIN等权限的内核漏洞。

JobHuntr: LinkedIn 自动求职神器,告别简历投递疲劳

2025-03-29
JobHuntr: LinkedIn 自动求职神器,告别简历投递疲劳

JobHuntr 是一款 macOS 桌面应用,利用 Ollama 驱动的 AI 自动化申请 LinkedIn 上的工作,全天候 24/7 运行,无需 OpenAI API 密钥。它支持“轻松申请”选项的职位(约 70%),每天最多可申请 25 个职位。AI 会根据你的简历和 FAQ 填写问题,并谨慎检查信息准确性。如有不确定问题,会保存到 FAQ 并跳过该申请。该应用模仿人类行为,并使用你的 IP 地址发送请求,降低 LinkedIn 检测到自动化的风险。

开发

LVGL:轻量级嵌入式图形库,打造惊艳UI

2025-03-29
LVGL:轻量级嵌入式图形库,打造惊艳UI

LVGL是一款流行的开源嵌入式图形库,它轻量、灵活,能为各种MCU、MPU和显示器创建漂亮的UI。它拥有30多种内置小部件、强大的样式系统和Web风格的布局管理器,支持多种语言和丰富的功能,只需极少的资源即可运行。LVGL团队还提供图形设计、UI实现和咨询服务,帮助开发者轻松创建高质量的GUI。

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

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

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

开发

“身体替身”:提升专注力的新型生产力工具

2025-03-29

“身体替身”是一种新兴的生产力策略,通过与他人(线上或线下)一起工作来提升专注力,尤其对患有注意力缺陷多动障碍(ADHD)的人群有效。其原理在于,他人的存在能提供一种外部激励,减少分心,并营造安全感,从而帮助个体完成任务。虽然缺乏长期研究,但其有效性已在一定程度上得到证实,并被认为是药物治疗的补充手段,也适用于患有自闭症或焦虑症的人群。

开发

RTABench:一款针对实时分析应用的全新基准测试工具

2025-03-29
RTABench:一款针对实时分析应用的全新基准测试工具

传统的分析基准测试往往忽略了实时应用的需求,例如针对特定用户、设备或交易的快速、目标明确的洞察。RTABench应运而生,它采用规范化的模式、真实的数据集大小和与现实世界使用模式相符的查询,更准确地反映了应用内实时分析的特性。该基准测试包含33个查询,涵盖了原始事件查询、选择性过滤、多表连接和预聚合查询,从而评估数据库在处理规范化模式、选择性过滤和增量物化视图方面的性能。RTABench支持多个数据库,并欢迎社区贡献,以扩展其支持的数据库和优化。

将显卡VRAM化身RAM盘:vramfs项目详解

2025-03-29
将显卡VRAM化身RAM盘:vramfs项目详解

vramfs是一个利用FUSE库将显卡VRAM转换为文件系统的实用程序。它类似于RAM盘,但使用的是独立显卡的显存。虽然不适合高强度使用,但在拥有4GB或更大显存的消费级GPU上表现良好。开发者的测试中,连续读取速度约为2.4 GB/s,写入速度约为2.0 GB/s,约为RAM盘的1/3。该项目使用OpenCL进行内存管理,并通过FUSE库简化了开发过程。未来改进方向包括提升性能,以接近PCI-e带宽限制。

开发 VRAM

用TypeScript学习日语语法:Typed Japanese项目详解

2025-03-29
用TypeScript学习日语语法:Typed Japanese项目详解

Typed Japanese是一个利用TypeScript类型系统表达完整日语句子的库。它基于日语语法规则创建了一个领域特定语言(DSL),允许使用TypeScript编译器编写和验证一部分语法正确的自然语言。该项目还探索了AI在语言学习中的中间格式,例如,大型语言模型可以使用此格式返回日语句子的语法分析,而不是JSON,从而通过TypeScript的类型检查器进行验证,提高正确性。该系统支持动词、形容词的各种活用形式,并支持短语和句子的构建,最终目标是创建一个用于学习和验证日语语法的类型系统。

开发

LaTeX 到 HTML 的转换:让数学教材更易访问

2025-03-29
LaTeX 到 HTML 的转换:让数学教材更易访问

LaTeX 是许多理工科领域的首选排版平台,但其 PDF 输出存在可访问性问题。本文探讨了将 LaTeX 文档转换为 HTML 的方法,以提高可访问性。文中介绍了三种替代 LaTeX 的方案:Pressbooks、PreTeXt 和 Markdown,并重点介绍了 LaTeXML 和 BookML 这两种 LaTeX 到 HTML 的转换工具。作者以一个逻辑学教材的案例,详细描述了转换过程中的挑战和技巧,例如处理数学公式、图片替代文本和屏幕阅读器兼容性等问题,最终实现了更易访问的在线教材。

开发

微软封堵Windows 11绕过微软账户登录的漏洞

2025-03-29
微软封堵Windows 11绕过微软账户登录的漏洞

微软最新Windows 11 Dev频道预览版移除了名为bypassnro.cmd的脚本,该脚本此前允许用户绕过强制微软账户登录的要求。微软表示此举是为了增强安全性,确保所有用户在联网状态下使用微软账户登录。此举将给那些希望在无网络连接或使用本地账户的用户带来不便,虽然微软账户有其益处,但本地账户能减少Windows 11的通知和升级提示。

开发

微服务讨论的终结:一场徒劳的架构辩论

2025-03-29
微服务讨论的终结:一场徒劳的架构辩论

作者在一次架构评审会议上,因微服务讨论陷入无休止的争论而感到厌倦。他认为,微服务定义模糊,讨论脱离实际业务目标,且忽视了组织变革的重要性。许多人谈论微服务时,实际上是追求技术上的前沿感,而非解决实际问题。作者建议停止对微服务的空洞讨论,转而关注具体的挑战,例如加快新功能部署、降低耦合度和解决系统瓶颈等。只有在组织结构和流程适应微服务架构的前提下,微服务才能发挥其作用,否则只会徒增复杂性。

开发

Ubuntu用户命名空间安全漏洞:三种绕过方法

2025-03-29
Ubuntu用户命名空间安全漏洞:三种绕过方法

Qualys研究人员发现了Ubuntu 23.10和24.04中三个绕过用户命名空间限制的安全漏洞。攻击者可利用这些漏洞,通过aa-exec工具、busybox shell以及LD_PRELOAD技术,创建具有完全管理员权限的用户命名空间,从而利用内核组件中的漏洞。Canonical承认这些问题是AppArmor防御机制的局限性,而非漏洞本身,并建议管理员采取措施加强AppArmor防护,例如启用kernel.apparmor_restrict_unprivileged_unconfined=1等。

开发 AppArmor

bknd:轻量级全功能后端,简化应用开发

2025-03-29
bknd:轻量级全功能后端,简化应用开发

bknd是一个轻量级的后端解决方案,它提供数据库管理、身份验证、媒体处理和工作流等全套功能,基于Web标准构建,几乎可在任何地方部署,包括你选择的框架内部。它简化了应用开发流程,无需再部署多个独立服务。bknd 提供了REST API、React SDK、以及用于身份验证和媒体组件的React元素,并具有易于使用的管理员UI。目前仍处于积极开发中,尚未达到1.0.0版本,因此不保证完全向后兼容。

开发
1 2 125 126 127 129 131 132 133 213 214