每日HackerNews RSS

Akvorado 是一款网络流量处理工具。此前,由于互联网路由表规模庞大(包含数百万条路由)且锁竞争严重,其 BGP 监控协议(BMP)组件难以扩展。 为解决这些瓶颈,开发者实施了两项重大优化: 1. **RIB 分片(Sharding):** 通过将路由信息库(RIB)拆分为多个分片,每个分片拥有独立的锁,系统实现了并发更新,从而显著降低了路由处理过程中的竞争。 2. **无锁读取:** 通过利用写时复制(copy-on-write)前缀树和代际跟踪机制,Akvorado 消除了对全局读写锁的需求。这使得读取器在访问路由数据时,不会被并发的写入操作阻塞。 这些改进避免了因处理缓慢导致的“停滞”问题,使系统能够应对海量且高突发的 BGP 更新。基准测试结果显示,读写延迟均有大幅改善,推动 Akvorado 向更稳健的最终一致性架构迈进。这些优化已集成在 2.2 和 2.4 版本中。

对不起。

传统的 *vi* 编辑器由比尔·乔伊(Bill Joy)于 1976 年开发,最初受限于商业 Unix 许可证。2002 年,Caldera 公司以 BSD 风格的许可证发布了其源代码,使其最终成为自由软件。 此版本保留了原版极简、轻量化的设计,没有语法高亮或多窗口等现代功能,但引入了对包括 UTF-8 在内的国际字符集的支持,并同步了来自 System V 和 POSIX.2 的更新。 该项目提供源代码发布,用户可通过 CVS 访问开发代码库(但一般建议使用稳定版)。项目中包含详尽的文档,包括安装指南、更新日志、名为《Vi 显示编辑入门》(An Introduction to Display Editing with Vi)的教程,以及 *ex* 和 *vi* 的手册页。该版本由贡纳·里特(Gunnar Ritter)维护,确保了经典的 Unix 编辑体验能够在现代系统上继续使用。

Hacker News 最新 | 往期 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 The Traditional Vi (sourceforge.net) 4 个积分,由 exvi 于 1 小时前发布 | 隐藏 | 往期 | 收藏 | 讨论 帮助 准则 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

凭借在 Citadel Securities 担任做市商四年积累的经验,我致力于帮助独立交易者将原始想法转化为稳健的专业级策略。通过管理大规模期权投资组合和自动化高频交易柜台的背景,我将教会你如何以交易对手方——即机构“做市商”的视角来审视你的交易。 我的方法专注于三个核心支柱: 1. **验证优势:** 确定你的交易是基于真正的市场低效,而非对竞争格局的误解。 2. **优化仓位规模:** 摒弃直觉,根据你的优势与市场波动率之间的关系来计算仓位规模。 3. **执行现实:** 确保你的理论优势能够经受住成本、滑点和流动性摩擦的考验。 带着你的直觉或市场观点来找我,我们将根据专业标准对其进行压力测试。你将获得一份基于数据、客观公正的策略报告,以及将你的想法付诸实践的可操作步骤。 *免责声明:仅供教育使用,不构成投资建议。*

这篇 Hacker News 帖子讨论了一个名为“Sean-but-AI”的项目,该项目让用户有机会与一位模仿前 Citadel 交易员风格的 AI 一起构思交易策略。 社区对此反响不一。虽然一些用户觉得该产品很有趣,但也有人持怀疑态度,将其称为收集用户交易思路的“蜜罐”。批评性的讨论主要集中在散户能否在现代市场中竞争这一可行性问题上;参与者质疑散户是否具备获取高质量数据管道的能力,从而在与机构巨头的博弈中找到盈利优势。 该项目的创建者 Entropnt 为工具的实用性进行了辩护,认为市场在某种程度上仍然存在惊人的低效。他们以印度期权市场为例,指出散户的行为造成了定价错误的波动率,精明的交易员可以据此获利。归根结底,这场辩论的焦点在于:量化交易的门槛对散户来说是否过高,还是说利基市场的不完善之处依然能为小型参与者提供可行的机会。

8086 的分段内存架构常受诟病,但从 1970 年代的视角来看,它是解决 64KB 内存限制的一种巧妙方案。英特尔将段设计为“不透明选择器”(即隔离的 64KB 块),旨在允许程序员在扩展内存容量的同时,保持原有 8080 代码的兼容性。从理论上讲,这种设计本可以扩展以支持更大的地址空间。 然而,开发者的做法破坏了这一愿景。他们发现可以通过操作段寄存器来进行地址算术运算,从而迫使分段变成了“平坦”的内存空间,而非隔离的区块。这种指针使用方式的普及意味着任何架构上的变更(例如移动段偏移量)都会导致现有软件崩溃。 英特尔因此陷入了僵局;若不破坏兼容性,他们就无法升级架构。尽管作者指出强制实现分段隔离需要更复杂的硬件,但教训很明确:一旦开发者找到了非预期的功能用法,这种行为往往会成为一种僵化的硬性要求,使未来的硬件世代背负过去遗留的技术债务。

Hacker News 上的一场讨论探讨了 8086 分段内存的历史影响。原发帖者认为,考虑到 20 世纪 80 年代的局限性,该架构是一个合理的解决方案,特别是在既需要扩展内存访问,又必须保持与 8080 代码向后兼容的前提下。 评论者们对其实际执行效果看法不一。批评者认为这种实现是一个“死胡同”,阻碍了软件开发,指出有限的段寄存器数量和缓慢的加载过程使该功能变得极其繁琐,最终导致大多数开发者选择避开它。然而,支持者则强调这一概念本身具有价值,并列举了它在 Multics 等系统以及后来谷歌 Native Client 等应用中的成功使用。归根结底,这场争论的核心在于:基于分段的“窗口”方法究竟是那个时代无可避免的妥协,还是一个人为增加了 x86 编程多年复杂度的缺陷设计。

为了规模化生产智能体应用,组织必须解决“预期负担”问题——即在管理高速产出答案的 AI 智能体时所需的认知负荷。当复杂性向人类操作员压迫时,平台必须承担起技术和运营负担,让业务团队能够专注于特定领域的意图。 通过将**团队拓扑(Team Topologies)**应用于智能体环境,我们可以分担这种负荷: * **流线型团队(Stream-aligned teams)**(通常为非技术业务单元)负责智能体的“做什么”(意图和上下文),而平台负责“怎么做”(部署和可靠性)。 * **平台团队(Platform teams)**将系统性的护栏、工具和记忆功能工业化为自助服务能力。 * **赋能团队(Enabling teams)**弥补技能差距,在平台成熟前促进团队实现自主。 * **复杂子系统团队(Complicated subsystem teams)**管理深入的技术挑战(如模型效率),并将其输送至平台。 这种模式改变了开发者的角色:他们从构建单一应用转变为构建赋能业务团队的**智能体平台**。通过“即服务”(X-as-a-Service)的交互方式以及针对重复性护栏的“进阶路径”,这种结构不仅能防止影子 IT 的出现并确保可靠性,还能通过调节认知吞吐量(而非仅仅是简单分配负荷)来实现组织的规模化生产。

```Hacker News 最新 | 往日 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 谁在做什么?面向代理平台的团队拓扑 (owulveryck.info) 8 点 | owulveryck 发布于 4 小时前 | 隐藏 | 往日 | 收藏 | 讨论 | 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:```
绘图库 Plotnine 2 小时前

最后,自定义主题以匹配您的个人风格或组织品牌。 ``` ( ggplot(anscombe_quartet, aes("x", "y")) + geom_point(color="sienna", fill="orange", size=3) + geom_smooth(method="lm", se=False, fullrange=True, color="steelblue", size=1) + facet_wrap("dataset") + labs(title="Anscombe’s Quartet") + scale_y_continuous(breaks=(4, 8, 12)) + coord_fixed(xlim=(3, 22), ylim=(2, 14)) + theme_tufte(base_family="Futura", base_size=16) + theme( axis_line=element_line(color="#4d4d4d"), axis_ticks_major=element_line(color="#00000000"), axis_title=element_blank(), panel_spacing=0.09, ) ) ``` 就是这样,我们从一行代码开始,逐步改进并自定义了数据可视化效果。想知道如何利用自己的数据开始创建这类可视化吗?在下一节中,我们将介绍如何安装 Plotnine。

```Hacker News最新 | 过往 | 评论 | 提问 | 展示 | 招聘 | 提交登录Plotnine (plotnine.org)6 分,作者:tosh,1 小时前 | 隐藏 | 过往 | 收藏 | 2 条评论 帮助 jstanley 10 分钟前 [–] 利用“+”运算符重载来配置绘图……这真是一个“选择”。回复jamessb 0 分钟前 | 父评论 [–] Plotnine 受 ggplot2 库的启发很大,而 ggplot2 也以同样的方式使用 + 运算符:https://ggplot2.tidyverse.org/#usage回复 准则 | 常见问题 | 列表 | API | 安全 | 法律 | 加入 YC | 联系 搜索:```

C++26 为 `<format>` 库引入了几项重大改进,提升了易用性与性能: * **简化打印:** `std::println()` 现在支持无参重载,可直接打印换行符。 * **指针直接格式化:** 指针现在无需转换即可直接格式化,并支持针对大小写 (`p`/`P`)、填充和对齐的自定义说明符。 * **改进路径处理:** `std::filesystem::path` 获得了原生的 `std::formatter`,支持带引号 (`?`) 和通用 (`g`) 格式化。关键点在于,它现在可以正确处理 Windows 系统下 UTF-16 到 UTF-8 的转码,从而避免编码问题。 * **`constexpr` 格式化:** 大多数格式化函数(如 `std::format`)现在均为 `constexpr`,支持在编译期生成整数、字符串和指针等类型的字符串。虽然浮点数和区域设置相关类型暂不支持,但这对于模板元编程和诊断信息而言是重大的进步。 * **动态格式化:** 原先称为 `std::runtime_format` 的工具更名为 `std::dynamic_format`,为使用编译期未知的格式字符串提供了更简洁的语法。 这些更新共同使 C++ 格式化库变得更加稳健、兼容跨平台,并在运行时与编译期应用中更加强大。

```Hacker News新帖 | 往期 | 评论 | 提问 | 展示 | 招聘 | 提交登录C++26中Std::Format的改进 (mariusbancila.ro)3 点 由 jandeboevrie 1 小时前发布 | 隐藏 | 往期 | 收藏 | 讨论 帮助 准则 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:```

**ymawky** 是一款轻量级 Web 服务器,完全使用 ARM64 汇编语言为 Linux 编写,并采用每个连接派生一个进程(fork-per-connection)的架构。它不依赖 libc,仅使用原始系统调用,可提供静态文件服务,并对 CGI 脚本提供实验性支持。 **主要特性:** * **协议支持:** 支持 GET、PUT、DELETE、OPTIONS、HEAD 和 POST 方法,包括用于媒体拖拽播放的字节范围(byte-range)请求及 MIME 类型检测。 * **安全性:** 包含路径遍历防护、符号链接阻止、原子性 PUT 文件操作,以及 10 秒请求超时机制,以减轻 Slowloris 类型的拒绝服务(DoS)攻击。 * **配置:** 可通过 `config.S` 高度自定义,允许用户定义文档根目录、CGI 目录、超时时间及进程限制(默认并发上限为 256 个进程)。 * **使用方式:** 通过 `gcc`/`binutils` 编译,默认监听 `127.0.0.1`。支持调试模式(单进程),并可从 `err/` 目录提供自定义的 HTML 错误页面。 尽管 ymawky 的初衷是展示汇编语言的能力,但它作为静态托管服务器具备了相当完善的功能集。不过,作者提醒这是一个实验性项目,建议不要将其用于生产环境,尤其需注意其 CGI 实现可能带来的安全隐患。

**ymawky** 的开发者宣布了该项目的重大更新。这是一个完全用纯 ARM64 汇编语言编写的 Web 服务器。该服务器最初仅限于 macOS,现已移植到 Linux 并增加了对 CGI 脚本的支持。这些新增功能使服务器除了现有的 GET、PUT、HEAD、DELETE 和 OPTIONS 方法外,还能够处理动态内容、查询字符串和 POST 请求。开发者已更新了相关文档以反映这些变化。社区反馈表明,该项目可作为嵌入式系统、救援环境的实用工具,或作为学习 ARM64 汇编的教育资源。

RFC 10008 引入了 **QUERY** HTTP 方法,旨在解决现有方法在处理复杂数据检索时的局限性。 传统上,开发人员使用带有 URL 参数的 **GET** 方法,但在面对复杂、嵌套或大型查询时,由于字符限制和可读性差,这种方式会产生问题。虽然从技术上讲,在 **GET** 请求中发送请求体是可能的,但通常不建议这样做,因为许多服务器和代理对这类请求的处理方式不一致,甚至会拒绝此类请求。另一方面,将 **POST** 用于查询在语义上是不正确的;作为一种非幂等方法,它阻碍了自动缓存和安全的重试机制。 **QUERY** 方法通过提供一种支持请求体的安全、幂等替代方案弥补了这一空白。它允许进行复杂的过滤,且没有 POST 的语义负担,也不受 GET 的约束。 然而,其普及仍面临挑战。目前,浏览器、代理服务器和 Web 服务器对该方法的支持有限;而且与 GET 不同,QUERY 请求无法轻松地通过 URL 进行收藏或共享。因此,对于简单的、可共享的请求,标准的 GET 方法仍然是最佳选择;而 QUERY 则应保留用于现有方法无法满足的复杂用例。

Hacker News 最新 | 过往 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 HTTP QUERY 方法详解 (kreya.app) 7 点积分,由 CommonGuy 发布于 55 分钟前 | 隐藏 | 过往 | 收藏 | 2 条评论 | 帮助 ktpsns 10 分钟前 | 下一条 [–] HTTP QUERY 过去曾多次在此讨论: https://news.ycombinator.com/item?id=48568502 (4 天前,173 条评论) https://news.ycombinator.com/item?id=29794838 (4 年前,125 条评论) 回复 hparadiz 12 分钟前 | 上一条 [–] 这感觉就像在 JSON 已经存在的情况下又有人折腾出 XML 一样。 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

**Lume** 是一款基于 Rust 开发的开源混合搜索引擎,专为那些对智能体检索系统(agentic retrieval systems)透明度有高要求的开发者而设计。与“黑箱”搜索方案不同,Lume 的构建原则是可审计性:每一个排序得分都是可计算、可命名且可调节的。 该引擎采用分层架构,利用三个独立的基元: 1. **字段感知 BM25 (Field-aware BM25):** 一个高度可调的词法核心,能够区分标题与正文,并支持长度归一化和平滑得分选项。 2. **稠密向量 (Dense Vectors):** 通过本地 GTR-T5 嵌入(使用 Shivvr)进行语义搜索,为词汇鸿沟提供召回扩展。 3. **显著性评分知识图谱 (SKG):** 一种结构化信号,使用基于 z-score 的显著性而非简单的共现关系来映射实体关联,从而有效地优先考虑有意义的关联,而非“杂乱”的中心节点。 Lume 通过两阶段剪枝过程优化性能:使用 **Roaring Bitmaps** 进行快速收集,以及使用 **质因数哥德尔签名 (prime-factored Gödel signatures)** 进行高效的实体过滤。 通过公开整个检索流水线(从查询规划到最终混合评分),Lume 允许用户诊断“失败”的搜索(如由专有名词偏差或上下文压力引起的搜索),用户可以通过调整特定参数并实时检查引擎的决策逻辑来解决这些问题。

Hacker News 最新 | 过往 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Lume 如何运作:检索原语 (deepbluedynamics.com) 3 积分,作者 kordlessagain,1 小时前 | 隐藏 | 过往 | 收藏 | 讨论 | 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

更多

联系我们 contact @ memedata.com