每日HackerNews RSS

所有主题GitHubShadCN 主题发现并创建适用于 shadcn/ui 的精美主题导入新主题按颜色筛选:红色橙色黄色绿色青色蓝色紫色粉色灰色黑色白色加载主题中...创建、自定义和分享适用于 shadcn/ui 的精美主题。使用我们直观的主题编辑器构建您完美配色方案。GitHubGitHub新主题服务条款隐私政策联系我们© 2025 ShadcnThemer.com。保留所有权利。

## Shadcn/UI 主题编辑器:摘要 Mike Tromba 构建了 [ShadcnThemer.com](https://ShadcnThemer.com),一个用于设计和分享 shadcn/ui 组件库主题的 Web 应用。该工具使用 Next.js 15、Tailwind CSS 4、Drizzle ORM 和 Supabase 构建,允许视觉主题创建、实时预览和项目导出选项。它基于 Tromba 此前在 VS Code 的 Theme Studio 方面的经验。 最初的反馈指出,链接被实现为按钮导致可用性问题,该问题已得到修复。讨论还集中在身份验证上——最初需要注册,但现在提供本地主题创建和编辑,无需注册。用户们争论了基于电子邮件的魔术链接与更安全的选项(如密码密钥)的必要性。 该工具与 Tweakcn 进行了比较,ShadcnThemer 旨在采用以社区为中心、免费和开源的方法。虽然因其简洁性而受到赞扬,但一些用户希望在颜色调整之外,拥有更多细粒度的自定义选项。Shadcn/UI 本身被描述为一种流行的组件库,经常出现在现代 SaaS 应用程序中。

## Zig 语言获得 Synadia 和 TigerBeetle 的 512,000 美元投资 Synadia 和 TigerBeetle 联合承诺在两年内向 Zig 软件基金会投资 512,000 美元,表明了对新兴系统编程语言的强力支持。TigerBeetle 在 2020 年选择了 Zig,而非 Rust 和 C,原因是需要与安全关键设计原则相符的显式内存管理——优先考虑正确性和可预测性,而非无畏并发。 作者强调了 Zig 在安全性方面的独特方法,它提供了一系列保证,而不是在有限领域追求绝对的完美。关键特性,如 comptime、缺乏隐藏的分配/控制流以及默认检查算术,都是至关重要的因素。Zig 的简洁性使得开发者能够快速上手,并促进了严格的测试,包括广泛的模糊测试和冗长的 Jepsen 审计,证明了该语言的健壮性。 尽管 Zig 是一种相对年轻的语言,但它已经驱动了 TigerBeetle 在大型金融机构的成功部署。这项投资反映了对 Zig 长期潜力的信心,赞扬了 Andrew Kelley 强大的领导能力和该语言的减法设计理念。这些公司鼓励其他人向 Zig 软件基金会贡献,以确保其持续的独立开发和成功。

## 虎蜂与Synadia向Zig软件基金会捐赠51.2万美元 虎蜂和Synadia联合向Zig软件基金会捐赠了51.2万美元,两家公司分别贡献25.6万美元,为期两年。 这笔重要捐款旨在支持Zig编程语言的开发和维护。 支持Zig的决定源于它适用于构建高完整性、关键任务系统,尤其是在Rust生态系统和形式化验证工具不足的领域。 虎蜂特别强调Zig在复杂内存管理方面的易用性及其与他们数据库开发“Power of Ten”方法论的兼容性,从而实现更快、更可靠的生产发布。 虎蜂的Joran指出,Zig的设计允许自然表达侵入式内存模式,并在他们的使用场景中简化了与Rust相比的开发。 两家公司已经开始捐赠,并希望鼓励更多对基金会的贡献。 他们强调Zig的潜力及其对系统编程的独特方法带来的好处。

## 从Execve到Main:程序启动之旅 本文概述了程序在Linux上实际*开始*运行的过程,连接了请求执行(通过`execve`)和`main()`第一行之间的桥梁。 过程从`execve`系统调用开始,向内核提供可执行文件路径、参数和环境变量。Linux上的可执行文件通常采用ELF格式,包含代码、数据以及加载所需的必要信息。内核解析ELF头,记下入口点——执行开始的地址。 在跳转到`main()`之前,内核会设置程序的运行环境。这包括将ELF文件中的必要部分加载到内存中,应用安全措施(如ASLR和NX),以及至关重要的是,构造堆栈。堆栈接收参数和环境变量,以及包含系统信息的辅助向量。 最后,内核跳转到ELF的入口点,通常是一个名为`_start`的函数。这个函数由像glibc或musl这样的库提供(或自定义编写),初始化运行时环境——处理全局构造函数、线程局部存储,并最终调用用户定义的`main()`函数。 即使是一个简单的“Hello, World!”程序,也涉及大量的幕后工作,展示了成功启动程序所需的复杂机制。

## Hacker News 讨论总结:main() 之前 这个 Hacker News 帖子讨论了 Amit Prasad 的博客文章,探讨了可执行文件在 Linux 系统中被加载和运行的过程。最初的帖子详细介绍了涉及的步骤,引发了评论者的讨论和更正。 主要讨论点包括:动态链接过程(一位评论者更正了内核的角色和动态链接器的责任)、将代码打包到“main() 之前”的可能性,以及由于 Glibc 等依赖项而创建替代加载器的挑战。 许多评论者强调了与动态链接和 C 运行时库相关的复杂性和潜在的膨胀。 讨论还涉及使用 shebangs (#!) 来指定解释器、理解小端字节序的重要性以及操作系统之间 syscall 接口的稳定性。一个反复出现的主题是实现真正的二进制兼容性的困难,以及系统设计中灵活性和安全性的权衡。最后,包含了一个申请 YC 2026 年冬季批次的呼吁。

## 瑞士翻新冷战时期防空洞 瑞士正在大力投资升级其庞大的民防防空洞网络,该系统源于其历史上的中立立场和应对冲突的准备。虽然地点通常保密——居民可能知道附近有避难所,但在需要时才会被告知具体位置——但该国正在用钢筋混凝土、空气过滤系统和必需品来改造这些空间。 Hacker News上的讨论强调了与其他国家的不同。芬兰公开在地图上标出避难所,并强制建筑物配备,而美国历史上依赖疏散计划(被认为效果不佳)或过时的“掩蔽躲避”演习。现代芬兰的避难所还包括逃生口。 评论员指出机械通风和紧急出口等功能的重要性,以及瑞士对严格标准的承诺。讨论还涉及大规模疏散的后勤挑战,认为瑞士的防空洞系统是保护公民免受核污染和常规攻击更可信的方法。瑞士的“自由港”——用于安全储存贵重艺术品的场所——也被提及,作为潜在的冲突威慑,但其有效性存在争议。

一个关键漏洞(CVE-2025-62518)已在Rust中广泛使用的TAR归档解析库`tokio-tar`中被发现,影响了uv(Python包管理器)和testcontainers等项目。该漏洞是一种在处理具有不一致头部信息的嵌套TAR文件时出现的反同步问题,允许攻击者走私额外的归档条目,可能导致文件覆盖、供应链攻击和安全扫描绕过。 问题在于`tokio-tar`似乎已被废弃,需要通过多个分支进行分散的修复工作——`async-tar`、`tokio-tar`、`krat-tokio-tar`和`astral-tokio-tar`。补丁已成功应用于`astral-tokio-tar`等积极维护的分支,`krat-tokio-tar`已被归档,转而支持Astral分支。 修复方法包括升级到已打补丁的版本或迁移到`astral-tokio-tar`。解决方法包括使用标准的`tar` crate或实施运行时缓解措施,例如文件计数验证。此事件凸显了依赖未维护的开源依赖项的风险,并强调了即使在像Rust这样内存安全的语言中,也需要强大的安全实践和纵深防御策略。

## Tarmageddon:开源漏洞与废弃软件问题 最近在 Rust 包 `async-tar` 系列中发现了一个 RCE(远程代码执行)漏洞,被称为“Tarmageddon”,这突显了与未维护的开源项目相关的风险。Edera 研究人员在调查 NVIDIA 容器镜像中的意外文件内容时发现了该漏洞。该漏洞源于解析器差异,允许恶意 TAR 归档文件可能覆盖文件。 虽然 Python 生态系统中的风险已得到缓解,因为 `tar` 用于源代码发行版(这已经在安装过程中允许代码执行),但该事件凸显了更广泛的担忧。讨论的重点是项目废弃时补丁的脆弱性,以及对开发人员和包维护者固有信任。 贡献者指出,虽然 Rust 的打包系统使得识别废弃项目更容易,但依赖项激增以及创建小型包的简易性也加剧了问题。该事件还引发了关于包维护者的责任、集中式安全保障的作用,以及私有包管理是否可以提高安全性的争论。最终,该漏洞提醒我们,安全风险存在于软件堆栈的所有层级,即使是在设计时考虑到安全的语言中。

## 重新思考SQL与关系模型 关系模型仍然强大——它能够实现跨系统的数据协作,通过规范化简化更新,并提供物理数据独立性。然而,其主要的实现方式SQL,严重阻碍了这种潜力的发挥。 SQL **表达力不足**,缺乏诸如总和类型和强大的递归等基本特性,迫使人们采用复杂的变通方法。它也**难以压缩**,使得查询冗长且脆弱——微小的改动可能需要大量的重构。这种复杂性拖累了整个行业,影响了实现质量、创新和可移植性。 核心问题不仅仅是程序员的负担,而是一个系统性问题:SQL的局限性需要一个庞大的应用层来处理数据库*应该*管理的任务。这导致了重复劳动、潜在的错误和失去优化机会。 更好的方法是构建一种基于现代编程原则的新语言:表达力强、可压缩、可扩展(具有良好的扩展性),并具有清晰、明确的规范。这种语言应该拥抱诸如一流函数和类型等特性,并优先考虑库生态系统,从而超越SQL的单一且常常不一致的实现。虽然具有挑战性,但重新思考数据库、查询语言和编程语言之间的关系,可以释放巨大的价值。

## 反对SQL:摘要 这次Hacker News讨论围绕一篇2021年的文章,尽管SQL在数据库领域占据主导地位,但文章对其进行了批评。评论者们承认关系模型的强大之处,但一致认为SQL本身存在缺陷——复杂、冗长,并且由于标准化问题和厂商锁定而缺乏强大的生态系统。 一个关键点是SQL的巨大惯性;取代它需要“10倍”的改进,并克服围绕它建立的根深蒂固的基础设施(ODBC、JDBC)。较新的技术,如Arrow和GraphQL也被提及,但尚未获得足够的吸引力。 对话强调了可扩展性和可移植性之间的张力。许多人认为理想的解决方案可能是允许客户端直接提交查询计划的数据库,从而绕过对通用查询语言的需求。另一些人则提出了替代方案,如PRQL,旨在简化SQL的语法。最终,讨论表明SQL的普遍性并非源于其优越性,而是其既定地位以及颠覆基础技术所面临的困难。

本文详细介绍了一种高效计算二维圆扇形包围矩形算法,这种形状在游戏中(例如攻击或法术)表示作用区域非常有用。圆扇形由其顶点(中心)、方向、半角和半径定义。 核心思想是找到沿X轴和Y轴的极端点,这些点定义了包围矩形的最小和最大角点。最初,顶点和两个“边缘点”(使用方向和半角计算)被考虑在内。然而,这些并不总是足够的。 该算法通过检查位于主轴半径距离的四个附加点(-X、+X、-Y、+Y)来扩展,*仅当*它们落在扇形的角度范围内时才进行检查。然后,最终的包围矩形由所有考虑点的最小和最大坐标确定。 重要的是,该算法避免直接使用`atan2`等三角函数,而是依赖于向量运算以提高性能和稳定性。预先计算正弦和余弦值可以进一步优化该过程。 可以在[shadertoy.com/view/w3jcRw](https://www.shadertoy.com/view/w3jcRw)处找到实时演示。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 计算圆弧的包围矩形 (asawicki.info) 29 分,ibobev 1 天前 | 隐藏 | 过去 | 收藏 | 1 条评论 optiot 1 天前 [–] 哦,很酷!几年前,当我试图计算圆形表盘圆周上弧线的包围框时,我做过类似(但不同)的事情:https://www.desmos.com/calculator/4e5c41c2ab 我不记得我具体在做什么,但我想你也许可以通过使用模或 floor/ceil 直接计算轴上的点来跳过 for 循环。回复 考虑申请 YC 的 2026 年冬季批次!申请截止日期为 11 月 10 日 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

巴尔的摩一名青少年塔基·艾伦,因人工智能武器检测系统错误地将他口袋里的薯片袋识别为枪支,而被警方短暂戴上手铐。在足球训练后,艾伦将空的Doritos薯片袋放进口袋,触发了警报,导致大量警察出动,并指枪对着他。 尽管人工审核员最初将警报标记为无威胁,但学校校长还是联系了校警,校警随后报了警。警方确认没有发现武器,艾伦被无罪释放。 这起事件引发了对学校程序和人工智能安全系统的可靠性的批评。人工智能供应商Omnilert声称其系统“按设计运行”,通过快速的人工验证来优先考虑安全,但承认了错误。当地政界人士呼吁对该系统的实施进行审查,强调了对准确性的担忧,尤其是在类似技术过去受到审查之后。艾伦现在在训练后不敢出门。

Jacqueline是一个用Free Pascal为i386架构创建的业余启动加载程序,纯粹是为了个人挑战而构建。作者无意在成功创建一个可在模拟器中启动的镜像之外积极开发它。 尽管Pascal传统上不用于低级系统编程,但Free Pascal提供了使其成为可能的功能——包括指针、内存地址访问和内联汇编——与C、C++和Rust等语言相匹敌。Free Pascal编译为标准目标文件(PE/ELF),允许与用其他语言编写的代码互操作。 该项目需要一个i386-elf工具链、一个32位Free Pascal发行版(ppc386)和一个构建系统(如Make),最终利用QEMU来测试内核。它展示了Free Pascal在裸机开发方面的惊人能力。

## Jacqueline:一个基于Pascal的i386内核 一个名为Jacqueline的极简i386内核,用Pascal编写,最近在Hacker News上重新出现。该项目由danirod于2019年创建,旨在展示直接启动PC进入非C/Rust环境。作者解释说,这是一个原型,用于证明概念——需要控制符号导出和链接——并在显示“Hello World”后即被认为完成。 这次讨论引发了其他用户对类似操作系统项目的回忆,包括用Pascal编写的引导加载程序和早期操作系统,突出了Pascal在操作系统开发中的历史用途(如早期的Mac OS和Unix系统)。一些评论员辩论了Pascal相对于C的优点,引用了Brian Kernighan在1981年的批评以及Modula-2和Turbo Pascal等后期方言提供的改进。 最终,Jacqueline作为一个低级编程的有趣实验,并提醒人们操作系统开发并不局限于C或Rust。i386架构也被赞扬为爱好操作系统项目的良好平台。

## Libera.Chat 与英国在线安全法案 - 最新情况 Libera.Chat 已就英国在线安全法案(OSA)的适用性咨询了法律意见。律师事务所的意见是,Libera.Chat 可以合理地辩称,尽管提供“受监管服务”且存在用户生成内容,但其与英国的“联系不足以”适用该法案。这主要是因为其英国用户群可能太小,不足以被视为“重要”,并且他们并未专门针对英国市场。 尽管 Ofcom *可能* 不认同,但执法行动的风险似乎较低,特别是由于 Ofcom 目前专注于风险较高的平台(如图片/文件托管)。Libera.Chat 正在准备一份详细的风险评估,并主动与 Ofcom 分享。 至关重要的是,Libera.Chat **无意实施用户身份验证要求**,认为隐私风险大于潜在收益。他们仍然致力于维护安全网络,同时反对过度扩张的立法,并将继续关注局势,反对会损害用户隐私的措施。他们强调保持互联网自由开放的重要性,并认为屏蔽英国用户——一些社区正在采用的策略——是有害的。

## Libera.chat 与英国在线安全法案:摘要 Libera.chat,一个IRC网络,已发布一份基于法律建议的声明,关于英国的在线安全法案(OSA)。他们的律师认为,他们可以论证他们与英国的“联系不足”,因此不受该法案约束,主要原因是相对较小的英国用户群体。 核心问题在于OSA中“显著”的模糊定义——多少英国使用量会触发监管。Libera.chat 认为Ofcom的门槛高于他们目前的英国用户估计。虽然承认未来可能的变化(英国用户增加或“显著”门槛被重新定义),但他们目前没有计划实施身份验证。 讨论强调了对Ofcom对法律的宽泛解释和潜在的执法策略(边境逮捕、ISP封锁)的担忧。一些评论员建议作为回应,全面屏蔽英国IP地址,而另一些人则指出该法律对数字自由的潜在影响以及合规风险。该帖子引发了关于英国过度管辖以及全球在线监管日益增加的趋势的辩论。

更多

联系我们 contact @ memedata.com