每日HackerNews RSS

这个 Rust 项目展示了三种不同的光线追踪实现:基于 CPU 的渲染器、离线 GPU 渲染器和实时交互式 GPU 光线追踪器。 **CPU 光线追踪器** 执行软件渲染,将场景输出到 PPM 图像文件。**GPU 光线追踪器** 利用计算着色器实现显著更快的渲染速度,达到与 CPU 版本相当的质量,同样输出到 PPM。 最后,**实时 GPU 光线追踪器** 提供实时、交互式体验,具有相机控制。用户可以在具有光照/阴影的完整光线追踪和法线可视化调试模式之间切换。 所有版本都支持网格 (.obj) 和球体图元,GPU 版本需要兼容的 GPU(Vulkan、Metal 或 DirectX 12)。该项目使用最新的稳定 Rust 版本构建,并为每种实现提供清晰的构建/运行说明。 还有一个实时、基于 Web 的演示。

## Rust 光线追踪器总结 一位开发者在Hacker News上分享了一个基于Rust的光线追踪器项目,灵感来自Sebastian Lague的图形教程。该项目使用`wgpu`和WebAssembly构建,旨在渲染具有逼真光照效果(包括直接和间接照明)的3D场景,并且可以在本地和Web浏览器中运行。 该项目利用边界体积层次结构(BVH)进行性能优化,并提供免费的Web演示。虽然仍在开发中,但开发者寻求反馈,特别是那些具有`wgpu`或Rust光线追踪经验的人,并计划探索Rust用于机器学习项目。 然而,用户报告在不同浏览器和硬件上运行演示的成功率各不相同,在Firefox、Safari以及一些报告中存在不稳定问题。尽管存在这些兼容性障碍,许多人赞扬了项目的可读性以及调整渲染参数(如弹跳次数)所产生的迷人视觉效果。一些评论员指出,类似的项目已经存在多年,但此实现展示了Rust在图形编程方面的能力。 [GitHub 仓库](https://github.com/tchauffi/rust-rasterizer) [Web 演示](https://tchauffi.github.io/rust-rasterizer/)

## pgvector:炒作之外 pgvector 提供了一个引人注目的想法——利用现有的 Postgres 基础设施进行向量搜索,但其生产就绪程度往往被高估。许多教程展示了简单的演示,掩盖了重大的扩展挑战。 主要问题包括复杂的索引管理(IVFFlat 与 HNSW,各有优缺点)、内存密集型索引构建可能扰乱生产数据库,以及难以在持续数据摄取的情况下保持实时搜索。更新需要仔细规划,以避免停机或性能下降。 此外,使用过滤器优化查询(对于实际应用至关重要)需要深入的 Postgres 专业知识,因为查询计划器难以处理向量特定的成本。混合搜索(结合向量和文本搜索)需要自定义实现。 虽然 Timescale 的 pgvectorscale 等解决方案解决了一些问题,但它们增加了复杂性。专用向量数据库(Pinecone、Weaviate 等)提供诸如智能查询计划、内置混合搜索和可扩展的实时索引等优势——在考虑工程时间和基础设施开销时,通常具有可比或更低的总体成本。 最终,pgvector 是一个有用的扩展,但团队应仔细权衡其操作复杂性与专用向量数据库的优势。

## PGVector 的质疑:总结 这次 Hacker News 的讨论围绕一篇质疑在生产环境中实际使用 PGVector 进行向量搜索的文章展开。文章承认 PGVector 的便利性,但核心论点是它常常低估了在 PostgreSQL 中扩展向量搜索所涉及的运营复杂性。 主要担忧包括:索引构建期间的高 RAM 消耗、管理并发更新的困难、查询计划的复杂性(预过滤与后过滤)以及对大量 PostgreSQL 专业知识的需求。多位评论员,包括来自 Discourse 和 Halcyon 等公司的具有生产经验的人员,证实了这些挑战,尤其是在大规模(数万亿嵌入)的情况下。 讨论了替代方案,例如专用向量数据库(Vespa、Chroma、Milvus)和 Timescale 的 pgvectorscale 解决方案,它们提供更好的可扩展性和自动化管理。然而,引入额外服务的权衡也得到了承认。 最终,对话强调 PGVector 可以是小型数据集和简单用例的可行解决方案,但团队在依赖它进行大规模、实时向量搜索应用程序之前,应仔细考虑运营开销和潜在的扩展限制。讨论还涉及了更大的 LLM 上下文窗口对专用向量数据库需求的潜在未来影响。

该项目旨在创建一个完全可运行的 Linux 系统,该系统可以在 Web 浏览器中执行,并使用原生 WebAssembly (Wasm)。它通过将 Linux 内核 (6.4.16)、musl libc (1.2.5) 和 BusyBox (1.36.1) 编译为 Wasm 来实现,同时使用修补后的 LLVM 工具链 (18.1.2) 实现 Wasm 链接。 该脚本支持在主机上或在 Docker 容器中构建和运行该系统(提供了基础构建环境和隔离的构建过程)。关键修改包括用于 Wasm 架构支持和 Wasm 控制台的内核补丁,以及允许 musl 和 BusyBox 与 Wasm 工具链编译的修改。 创建了一个最小的 initramfs 来启动系统进入 shell。一个基本的 JavaScript 运行时演示了如何托管 Wasm Linux 环境。请注意,由于 Wasm 的限制,Linux 系统以 NOMMU 配置构建。该项目包含一个 `linux-wasm.sh` 脚本,用于管理下载、构建和使用。

## 浏览器中的 Linux 与 WebAssembly 一个新项目允许使用 WebAssembly (WASM) 直接在网络浏览器中运行完整的 Linux 发行版,实现接近原生速度。这是通过将整个系统编译为 WASM 来实现的,每个进程作为一个 Web Worker 运行。 初步测试表明,与以前的模拟方法相比,性能有了显著提升——一项基准测试实现了 170 倍更快的成果。虽然目前仍存在一些错误,但该项目展示了轻量级 WASM 基础操作系统运行时在云终端和增强型科学计算环境(Jupyter notebooks)等应用中的潜力。 仍然存在挑战,包括 Firefox 中的调试以及潜在的网络限制。然而,这种方法绕过了传统的模拟,提供了一种潜在更快、更有效的方式,可以在网络浏览器中直接运行 Linux 应用程序。 诸如 container2wasm 和 WebCM 之类的相关项目提供了替代方法,而这种新的实现侧重于消除 ISA 转换层以提高速度。

## 海鱼幼体瓶颈:海鲜的未来 鳀鱼、沙丁鱼和鲱鱼——曾经丰富的“海鱼幼体”,构成了太平洋食物网的基础——现在却被大量研磨成鱼粉,用于饲养鲑鱼和虾等养殖海鲜。这种做法虽然促进了水产养殖业的发展,却造成了一种危险的悖论:我们正在剥夺海洋的基础来*构建*其表面,威胁着野生生态系统和长期的粮食安全。 最近鳀鱼种群的崩溃,与过度捕捞和海水变暖有关,这表明了其脆弱性,导致了海鸟和海豹的大规模饥饿,以及渔民的经济困难。认识到这种“海鱼幼体瓶颈”,诸如F3挑战等倡议正在激励替代鱼饲料的创新。 新的突破正在出现——从植物性混合物和藻类衍生的omega-3脂肪酸到昆虫和细菌蛋白——为野生捕捞鱼类提供了可行的替代品。这种转变不仅仅是寻找替代品;而是关于重新构想营养,类似于农业革命。开源合作和潜在的“无鱼饲料”标签正在进一步推动这一变革。 最终,确保海鲜的未来——以及养活不断增长的全球人口——取决于减少我们对野生海鱼幼体的依赖,并拥抱可持续的创新饲料解决方案,从而使海洋和水产养殖业都能蓬勃发展。

作者对Nextcloud的性能感到沮丧,尽管欣赏它的一体化功能(文件、日历、笔记等)。核心问题是过多的JavaScript——初始页面加载需要下载15-20MB,即使经过压缩。这严重影响了响应速度,即使在良好的硬件上也是如此,在移动设备上尤其缓慢。 “core-common.js”包和各个应用程序脚本(日历、文件、笔记)都加剧了这种臃肿,一些应用程序仅需基本功能就需要几兆字节的JavaScript。虽然缓存有所帮助,但巨大的体积仍然会影响执行时间。 因此,作者正在迁移一些功能——任务到Vikunja(一个更精简的1.5MB),照片到Immich——同时勉强保留Nextcloud的全面功能。他们将问题归因于Nextcloud的架构,并提倡更好的Web性能实践,引用了Alex Russell在这方面的工作。最终,这种性能差异导致了用户体验的下降。

``` 错误 403 403 403 古鲁冥想: XID: 221118569 Varnish 缓存服务器 ```

## SSLMate 与 Google Cloud 可靠性问题的持续斗争 SSLMate,一项证书管理服务,反复面临未经通知的 Google Cloud 访问暂停——仅在过去几个月就发生了三次,此前还在 2024 年发生过。这些暂停中断了允许 SSLMate 验证证书和监控客户域名的集成,迫使其在安全性和易用性之间做出艰难的权衡。 SSLMate 当前的系统基于 Google 自身的文档设计,利用客户特定的服务帐户进行安全访问,而无需长期凭证。然而,Google 不可预测的暂停使得必须在安全、用户友好的方法和不太安全的选择之间做出选择。 恢复访问是一个令人沮丧的过程,通常涉及无响应的支持和不合逻辑的要求。虽然 Google 提供了 OpenID Connect (OIDC) 作为替代长期密钥的更安全选择,但其实现过于复杂,与当前的服务帐户方法相比,需要许多步骤。 最终,SSLMate 发现自己处于一个岌岌可危的境地:Google 的系统不允许同时实现安全访问、简易设置和防止任意暂停。由于 Google Cloud 的不可靠性,该公司现在被迫考虑不太理想的解决方案。

## Google Cloud 账户暂停与客户沮丧 最近的 Hacker News 讨论强调了 Google Cloud Platform (GCP) 账户暂停的持续问题。发帖人 (agwa) 报告称他们的公司 GCP 账户已被暂停三次,尽管他们遵循了 Google 的推荐做法。 该帖子揭示了一种普遍情绪:Google 的账户暂停政策不透明且容易出错,这给依赖其服务的企业带来了重大风险。许多评论者分享了类似的经历,提到了任意暂停和难以解决的问题。 一些用户建议采取法律行动或加强监管,而另一些人则指出 Google 将利润置于客户支持之上。一个关键问题是,当服务与 Google 其他产品深度集成时,迁移离开 GCP 的难度。尽管许多人希望避免该平台,但由于客户需求,他们感到被锁定。 这场讨论强调了对依赖大型科技公司以及由于不可预测的政策和不足的支持而可能造成的破坏的更广泛担忧。一些人建议探索替代云提供商,例如 Microsoft Azure,作为潜在的解决方案。

糟糕!访问被拒绝:错误代码bf584155dcd667f7。 由Anubis From Techaro保护。 🇨🇦制造,充满爱❤️。 吉祥物设计由CELPHASE完成。 本网站运行Anubis 1.22.0版本。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 [重复] Linux 移植到 WebAssembly (kernel.org) 37 分,由 naves 1 天前发布 | 隐藏 | 过去 | 收藏 | 3 条评论 Fire-Dragon-DoL 6 小时前 | 下一个 [–] 这有意义吗?每个应用都在浏览器中运行,所以从我的角度来看,Linux 已经是一个“webos”。我意识到这一点是在安装 omarchy 之后,我没有使用任何 gtk 和 kde 应用。我只使用终端和浏览器(将 electron 算作浏览器)回复 imglorp 1 天前 | 上一个 | 下一个 [–] kernel.org 被拥抱了一分钟。以防万一:https://web.archive.org/web/20251101204818/https://lore.kern... leshokunin 1 天前 | 上一个 [–] 所有 Web 2.0 时代关于 web OS 的梦想(我也参与过一个!)都实现了,所以这才能运行! 考虑申请 YC 的 2026 年冬季批次!申请截止日期为 11 月 10 日 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

Vim 是一款备受推崇的文本编辑器,以其模态编辑而闻名——在普通模式下,某些键被映射到移动到最近的模式,减少了击键距离,并实现了无需鼠标的快速编辑。以下支持简单的 Vim 移动:快捷键移动描述h / l同一行向左/右移动一个字符k / j向上/向下移动一个字符;如果目标行短于当前水平位置,则跳转到目标行末尾w / b跳转到下一个/上一个单词的开头,跨行e跳转到下一个单词的末尾,跨行^/$移动到当前行的开头/结尾ResourceFunction["VimGraph"] 允许选项“IncludedVimMovements”、“StringPattern”和“CustomPatterns”,可以分别限制为特定的 Vim 移动或定义新的移动。还支持图形选项。

## VimGraph:可视化 Vim 移动 VimGraph (wolframcloud.com) 是一种工具,它可视化在 Vim 中在文本中两点之间导航的可能按键序列,使用像 'k'、'l' 和 'w' 这样的按键显示路径。 该项目在 Hacker News 评论中引发了争论。虽然有些人觉得它“很酷”,但许多人质疑它的实际用途,认为它更像是一种对图论和 Vim 效率的有趣探索,而不是一个真正有用的工具。有人推测它可能有助于训练编码代理,但也有人指出代理不需要人类界面方法。 讨论还涉及该项目的语言“奇怪”且可能缓慢,以及在不考虑编辑器模态系统和个性化配置的情况下分析 Vim 移动的实用性。 几位评论者建议了潜在的应用,例如 VimGolfing 或创建可视化作弊表,而另一些人则强调了通过这种图形表示理解 Vim 效率的价值。

## 将 MathJax 转换为独立 SVG 与 `mathjax-embed` Pandoc 的 `--mathjax` 选项用于 LaTeX 数学渲染,依赖于 CDN,这会导致离线访问和兼容性问题(例如,许多 ePub 阅读器)。虽然 MathML 提供了一种现代、浏览器兼容的解决方案,而 SVG 提供了可移植性,但将现有的 MathJax HTML 转换为完全独立格式需要额外的步骤。 `mathjax-embed` 脚本通过解析使用 `--mathjax` 生成的 HTML,并用 SVG 图像替换 MathJax 跨度来解决这个问题。它避免了 JavaScript 依赖和外部资源。 该脚本利用 jsdom 加载 HTML,在环境中配置 MathJax,然后提取渲染的 SVG。最近的改进使 jsdom 的性能足以完成这项任务,克服了以前的速度限制。该过程涉及自定义资源加载器和对 jsdom URL 解析的仔细处理。 生成的 HTML 是自包含的,可以在离线状态下工作,并消除了对外部服务器的依赖。它被设计用于管道:`echo '...' | pandoc -s -f markdown --mathjax | mathjax-embed > output.html`。完整的源代码可在 Github 上获取。

更多

联系我们 contact @ memedata.com