无系统调用:一个基于 io_uring 的高性能 Web 服务器

2025-08-22

本文讲述了构建高性能 Web 服务器的演进历程,从早期的 pre-forking 到 select/poll,再到 epoll,最终利用 io_uring 技术实现零系统调用。作者开发了一个名为 tarweb 的实验性 Web 服务器,它利用 io_uring 将所有操作异步地添加到内核队列中,从而避免了频繁的系统调用开销,并结合 kTLS 和无描述符文件等技术进一步提升性能。虽然目前仍存在一些挑战,例如内存管理和 io_uring 的安全性问题,但该项目展示了在高并发场景下显著提升 Web 服务器性能的潜力。

阅读更多

Lua 游戏脚本教程:打造星际任务

2025-03-23

本教程详细讲解如何使用 Lua 脚本语言为 EmptyEpsilon 游戏创建自定义星际任务场景。从创建基本场景文件,添加太空站、星云和陨石,到设计敌我双方舰船、设置任务目标和触发事件,教程循序渐进,并附带完整代码示例。玩家将学习如何利用 Lua 函数操控游戏元素,构建引人入胜的星际冒险故事,例如营救被困外交官的任务。

阅读更多

游戏画面HDR技术:为什么看起来这么糟糕?

2025-07-25
游戏画面HDR技术:为什么看起来这么糟糕?

本文探讨了游戏画面中高动态范围(HDR)技术的应用及其缺陷。许多游戏虽然画面精美,但却缺乏电影或照片的真实感,呈现出过度的对比度和不自然的色彩饱和度。作者分析了游戏引擎中使用的色调映射函数(tone map)以及查找表(LUT)的问题,指出这些技术的使用方式不当导致画面失真。作者以《塞尔达传说:旷野之息》和《极限竞速:地平线3》为例,展示了如何通过避免过度对比度和谨慎运用色彩来获得更佳的视觉效果。作者认为,解决这个问题需要从技术和艺术两个层面入手,需要游戏开发者重视色调映射在视觉设计中的重要性。

阅读更多

Ruby 3.4 默认冻结字符串字面量的过渡计划

2025-07-09
Ruby 3.4 默认冻结字符串字面量的过渡计划

Ruby 3.4 开始逐步实施默认冻结字符串字面量的计划,此计划将分三个版本完成。目前,Ruby 3.4 仅在启用弃用警告时发出警告,不会改变现有代码的行为。未来 Ruby 3.7 将默认启用警告,Ruby 4.0 将默认冻结字符串字面量。冻结字符串字面量可以提高性能,减少垃圾回收,节省内存。文章详细介绍了如何启用警告、修复问题以及迁移策略,建议开发者逐步升级并修复警告。

阅读更多
开发

惊人的语言支持!

2025-06-05
惊人的语言支持!

这段文字列出了令人印象深刻的语言列表,涵盖了全球大部分地区的主要语言,数量超过60种。这表明某种技术或产品拥有强大的多语言支持能力,可能是一个翻译工具、一个全球化平台或一个大型语言模型。其广泛的语言覆盖范围预示着巨大的潜在用户群体和市场前景。

阅读更多
杂项

神秘的无名杰作:国家美术馆的200周年献礼

2025-05-03
神秘的无名杰作:国家美术馆的200周年献礼

英国国家美术馆为庆祝其200周年,斥巨资购入一幅神秘的祭坛画,画中描绘圣母与圣子和两位圣徒,创作年代为1500-1510年间。这幅画的作者身份不明,甚至国籍也存在争议,可能是尼德兰或法国画家。画作中充满幽默感和奇特的意象,例如放屁的小天使、带有钉子的阶梯等。这幅画作的出现,为艺术史研究增添了新的谜题,也成为了国家美术馆的珍贵藏品。

阅读更多
设计

macOS ARM64 架构下 NULL 指针解引用漏洞已不再可利用

2025-03-21
macOS ARM64 架构下 NULL 指针解引用漏洞已不再可利用

本文探讨了 macOS 在 Apple Silicon (ARM64) 架构下,NULL 指针解引用漏洞为何不再可被利用来进行权限提升攻击。历史上,攻击者曾通过各种技巧,例如在 32 位系统上映射 NULL 页,来利用此类漏洞执行恶意代码。然而,macOS 经过多年的安全增强,特别是引入 SMEP、PAN、PXN 和 PAC 等硬件和软件保护机制,以及移除 32 位支持和强化内核内存管理后,使得这类攻击变得极其困难,甚至不可能。如今,在现代 macOS 系统上,NULL 指针解引用漏洞几乎只能造成拒绝服务 (DoS) 攻击,无法再被用于权限提升。文章详细分析了这些安全增强措施,并总结了报告此类漏洞前的必要检查清单。

阅读更多

Bolt:一款极速嵌入式编程语言

2025-08-11
Bolt:一款极速嵌入式编程语言

Bolt 是一款轻量级、超高速、类型安全的可嵌入式编程语言,专为实时应用而设计。它具有闪电般的速度,优于同类语言;紧凑的实现,对构建大小的影响极小;极快的编译速度,每秒可处理超过 50 万行代码;易于嵌入,只需少量代码即可上手;丰富的类型系统,可在运行前捕获错误;以及优先考虑跨语言性能和灵活性的嵌入式优先设计。目前 Bolt 支持 x64 架构,并在 MSVC、GCC 和 Clang 编译器上测试通过,但仍处于不稳定状态。

阅读更多
开发

Helm 依赖更新漏洞:精心设计的 Chart.yaml 文件可能导致本地代码执行

2025-07-09
Helm 依赖更新漏洞:精心设计的 Chart.yaml 文件可能导致本地代码执行

近日,Helm 项目发现了一个安全漏洞:攻击者可以通过精心构造的 Chart.yaml 文件和符号链接的 Chart.lock 文件,在更新依赖项时执行本地代码。当更新依赖项时,Chart.yaml 文件中的字段会被写入 Chart.lock 文件。如果 Chart.lock 文件被符号链接到可执行文件(例如 bash.rc 文件或 shell 脚本),更新依赖项将会把 Chart.lock 文件的内容写入符号链接的文件,从而导致恶意代码执行。Helm v3.18.4 已修复此漏洞,建议用户升级至最新版本,并检查 Chart.lock 文件是否为符号链接。

阅读更多

基于开源地图库的EPANET-JS水力模拟神器

2025-07-08

EPANET-JS是一款结合现代网络地图和EPANET水力模拟算法的网络应用,专为水务系统规划和更新人员设计。它由Iterating团队开发,利用作者之前开源的Placemark地图编辑工具代码构建。EPANET-JS不仅在浏览器中运行完整的模拟,还以开源方式回馈社区,为水力模拟领域带来革命性改进,挑战昂贵的传统软件。

阅读更多
开发 水力模拟

最小布尔公式:算法的优雅与挑战

2025-06-23

本文讲述了计算五变量布尔函数最小运算符个数的历程。起初,作者使用Floyd-Warshall算法的变体,但效率低下。后来,作者与Alex Healy合作,利用函数对称性等特性,大幅优化算法,最终计算出结果为28。文章详细介绍了算法优化过程,包括利用函数的对称性和等价类减少计算量,以及从自底向上构建到自顶向下搜索的转变。最终算法将计算时间从预计的数月缩短至半天。

阅读更多
开发 布尔函数

从零开始理解可微编程

2025-04-17

本文深入浅出地讲解了可微编程,从微积分中的导数定义出发,逐步解释了梯度、方向导数和雅可比矩阵的概念。文章详细阐述了数值微分、符号微分和自动微分(正向模式和反向模式)三种微分方法,并比较了它们的优缺点。最后,文章通过一个图像去模糊的案例,演示了如何利用反向模式自动微分结合梯度下降法解决实际优化问题。

阅读更多
开发

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

2025-05-23
arXivLabs:与社区协作的实验性项目

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

阅读更多
开发

解密沃尼奇手稿:AI助力结构分析

2025-05-18
解密沃尼奇手稿:AI助力结构分析

一位非语言学家和密码学家利用现代自然语言处理技术(NLP)对神秘的沃尼奇手稿进行结构分析,而非试图进行翻译。通过词干提取、SBERT嵌入、马尔可夫转移矩阵等方法,研究者发现手稿中存在类似语言的结构,例如词类区分、句法结构以及章节间的语言变化。虽然无法破译其含义,但该研究证明了利用AI工具分析手稿结构的有效性,为未来研究提供了新的方向。

阅读更多

Neurite:基于分形的无限创意工作空间

2025-04-19
Neurite:基于分形的无限创意工作空间

Neurite 是一款开源的创意工作空间,它将分形的迷人复杂性与现代思维导图技术相结合。用户可以在一个无限大的空间中,通过交互式界面,创建文本、图像、视频、代码和 AI 代理节点,构建个人思想和灵感的微观世界。Neurite 支持多种分形类型,并集成了 AI 功能,例如 FractalGPT,允许用户与 AI 进行非线性对话,并利用其生成内容。此外,Neurite 还支持与 Wolfram Alpha 和 Wikipedia 等外部知识源集成,并提供强大的自定义功能,例如自定义节点创建和格式化。

阅读更多
开发

互联网怎么了?科技巨头扼杀用户体验,流媒体平台摧毁电影业

2024-12-22
互联网怎么了?科技巨头扼杀用户体验,流媒体平台摧毁电影业

一篇博客文章探讨了互联网的现状,指出科技公司为了迎合投资者和内部利益相关者,牺牲用户体验,通过各种手段操纵用户行为,例如设计令人沮丧的APP界面,故意降低搜索结果质量,以及利用广告追踪软件无休止地收集用户数据。与此同时,流媒体平台Netflix的商业模式则被批评为摧毁了电影行业,其对电影质量的忽视以及对观看数据的操控,导致劣质内容泛滥,而看似庞大的观看数据实则虚假。文章总结了当前人们对互联网普遍存在的“垃圾信息充斥,价格上涨”的不满情绪,并指出智能手机和社交媒体的现状也亟待改进。

阅读更多
科技

树莓派打造Stratum 1精准时间服务器:Time Pi项目

2025-03-28

作者开源了一个名为Time Pi的项目,使用树莓派5构建了一个Stratum 1级的PTP和NTP时间服务器。该项目利用TimeHAT扩展板,包含Intel i226 2.5Gbps网卡,支持PTP硬件时间戳,并可通过M.2接口连接GPS模块实现高精度时间同步。项目面临的挑战包括Intel i226网卡的驱动问题,但作者已通过Ansible配置Chrony、NTP和PTP软件,并在工作室稳定运行数月。未来计划包括安装室外GPS天线、测试不同设备的PTP同步、以及与Masterclock公司合作探索更高级的时间同步方案。

阅读更多

苹果新短信过滤功能或将重创美国政治竞选筹款

2025-07-30
苹果新短信过滤功能或将重创美国政治竞选筹款

苹果iOS 16新增的垃圾短信过滤功能,将未识别号码的短信自动归类到“未知发件人”文件夹,引发美国共和党担忧。国家共和党参议员委员会(NRSC)在一份备忘录中预测,此举可能导致其损失2500万美元的筹款,整个共和党竞选活动可能损失高达5亿美元。他们认为,70%的小额捐款来自短信,而iPhone占美国移动设备的60%。虽然部分人士认为此举有助于保护用户隐私,但NRSC认为这等同于剥夺选民的知情权,并呼吁苹果推迟该功能的上线。民主党方面则认为,该功能主要影响的是那些通过欺骗手段进行筹款的竞选活动。

阅读更多
科技 短信过滤

超越楔积:一种分解几何积的新方法

2025-05-23

本文介绍了一种名为“transwedge积”的新运算,它可以将几何积完全分解为外代数的基本运算:外积、左右补和度量应用。作者证明,transwedge积可以生成从外积到内积(收缩)的各种乘积,并能替代交换子积,从而更简洁地计算几何积。这不仅适用于三维空间,也适用于更高维度的几何代数,并在共形几何代数中具有实际应用,例如计算正交相交的圆。

阅读更多

1953年伊朗政变:一场由美国和英国策划的石油争夺战

2025-06-17
1953年伊朗政变:一场由美国和英国策划的石油争夺战

1953年,伊朗首相穆罕默德·摩萨台因试图将英国石油公司国有化而被推翻。美国和英国,为了保护自身石油利益,秘密策划了这场政变,推翻了民选政府,扶持了亲西方的巴列维国王。这场政变不仅终结了伊朗的民主进程,也为中东地区未来的动荡埋下了种子,其影响至今仍深刻地影响着美伊关系。

阅读更多

Git 子模块克隆漏洞:CRLF 注入导致远程代码执行

2025-07-08

一个 Git 漏洞允许攻击者通过精心构造的 .gitmodules 文件,利用回车符 (CR) 和换行符 (LF) 的处理差异,在 Unix-like 系统上执行远程代码。攻击者可利用 CRLF 注入,修改子模块的路径,从而将子模块克隆到意想不到的目录,实现代码执行。该漏洞已修复,建议更新 Git 及其嵌入式版本。

阅读更多
(dgl.cx)

湖仓一体架构下的分层存储策略:共享分层还是物化?

2025-08-21
湖仓一体架构下的分层存储策略:共享分层还是物化?

本文探讨了湖仓一体架构下数据分层存储的策略选择。直接访问共享层存在可靠性问题,API访问更可取。数据生命周期管理需要一个规范的元数据服务,协调主存储和二级存储的数据位置和布局。Schema管理需要主系统控制,确保与二级存储兼容。共享分层与物化策略的选择取决于拼接/转换逻辑的位置(客户端或服务器端),以及各自的优缺点。客户端拼接时,两种策略差异不大;服务器端拼接则需考虑元数据维护和实时数据处理的衔接。

阅读更多

Radar如何用Rust构建高性能地理空间数据库HorizonDB

2025-08-09
Radar如何用Rust构建高性能地理空间数据库HorizonDB

Radar公司每天处理超过10亿次API调用,其地理位置服务面临巨大的性能挑战。为了解决这个问题,他们用Rust开发了HorizonDB,一个高性能的地理空间数据库,取代了之前的MongoDB和Elasticsearch架构。HorizonDB整合了多种位置服务,并利用RocksDB、S2、Tantivy、FSTs、LightGBM和FastText等技术,实现了毫秒级的响应时间和线性扩展性。该系统显著降低了运营成本,并提升了开发效率,为Radar未来的发展奠定了坚实的基础。

阅读更多

16英镑的USB-C智能手表:超乎预期的惊喜

2025-08-09
16英镑的USB-C智能手表:超乎预期的惊喜

这款售价仅16英镑的Colmi P80智能手表最大的亮点在于其USB-C充电接口。作者出于对USB-C接口的偏爱购买了这款手表,并对其性能进行了全面的测试。测试结果显示,这款手表不仅充电速度快,续航能力也令人满意,可以持续使用5天。此外,其心率监测、睡眠监测等功能也表现出色。虽然存在一些不足,例如App功能较为简陋,但考虑到其价格,这款手表已超乎预期。

阅读更多

利用Shapley值解释大型语言模型决策

2024-12-28
利用Shapley值解释大型语言模型决策

大型语言模型(LLM)在模拟人类行为方面展现出巨大潜力,但其决策机制的透明度有待提高。本文提出了一种基于Shapley值的新方法,用于解释LLM的决策过程,量化提示词中每个组成部分对模型输出的贡献。通过两个应用案例,研究发现LLM决策容易受到“token噪声”的影响,即模型对信息量低的token过度敏感。这引发了对LLM在模拟人类行为方面的可靠性和普适性的担忧,并强调了在使用LLM进行研究时,需要谨慎对待提示词设计,并关注其结果的局限性。

阅读更多

一位天使投资人15年后暂停投资:深度思考与未来规划

2025-05-03
一位天使投资人15年后暂停投资:深度思考与未来规划

一位天使投资人回顾了15年投资54家公司的经历,最终决定暂停投资。他发现过度分散投资导致与创业者互动浅薄,学习效率低下,且天使投资的回报率难以覆盖时间成本、风险和机会成本。他将转向更专注的方式,例如加入成长型公司的董事会、创建播客和教学,以及成为风险投资基金的有限合伙人。他认为,有时候最好的投资决策就是不投资。

阅读更多
创业 天使投资

JAX 中的快速扫描法求解 Eikonal 方程

2025-05-11

本文介绍了使用 JAX 实现快速扫描法求解 Eikonal 方程,该方程在界面演化和图像处理等领域应用广泛。文章首先解释了水平集方法和 Eikonal 方程的概念,然后详细阐述了快速扫描法的算法原理,包括网格设置、迭代更新以及 Godunov 上风差分格式的使用。最后,作者提供了基于 NumPy 和 JAX 的代码实现,并进行了性能比较,结果显示 JAX 版本显著提升了计算效率。此外,文章还探讨了并行化快速扫描法的尝试及遇到的挑战。

阅读更多

HTAP数据库:从辉煌到消亡,以及湖仓一体的崛起

2025-05-29
HTAP数据库:从辉煌到消亡,以及湖仓一体的崛起

本文回顾了HTAP数据库(混合事务分析处理)的发展历程。从70年代单一数据库处理所有事务和分析到80年代的工作负载隔离,再到90年代的存储架构分裂,以及2010年代NewSQL和云数据仓库的兴起,HTAP数据库曾一度被寄予厚望。然而,由于替换现有OLTP系统难度大、大多数工作负载无需分布式OLTP、云原生架构偏好共享磁盘而非共享无以及团队利益不一致等原因,HTAP数据库最终未能广泛普及。如今,数据栈转向模块化湖仓一体架构,通过组合而非整合数据库来实现HTAP的功能,这标志着HTAP数据库作为一种独立数据库的消亡,但其理念在湖仓一体架构中得到了延续。

阅读更多
数据库 HTAP

在NES模拟器上实现多线程:一个Super Mario Bros.的案例

2025-05-28
在NES模拟器上实现多线程:一个Super Mario Bros.的案例

作者通过在NES模拟器FCEUX上编写Lua插件,成功地在Super Mario Bros.游戏中实现了多线程功能。这并非通过修改模拟器核心代码实现,而是巧妙地利用模拟器的存档状态功能,将游戏进程的不同状态视为不同的线程。作者还通过游戏中的特定区域设置了互斥锁和条件变量等同步原语,让玩家可以直观地体验多线程的同步机制,例如,多个马里奥角色同时游戏,但只能一个进入管道。这篇文章不仅展示了作者的创造力,更重要的是,它以一种通俗易懂的方式解释了多线程的概念,并强调了深入理解底层原理的重要性。

阅读更多
开发
1 2 795 796 797 799 801 802 803 1084 1085