每日HackerNews RSS

## Bazel 宏:传统宏与符号宏 Bazel 提供两种类型的宏:**传统宏**(Starlark 函数)和 **符号宏**(Bazel 8 中引入)。现在推荐使用符号宏,以提高清晰度和控制力。它们提供类型化的参数,并允许定义目标可见性,作为 Bazel 直接理解的“一流”宏。 主要区别包括 **命名限制**(符号宏目标必须与宏的名称相关 – 例如 `macro_name_target`)、更严格的 **资源访问**(需要显式参数或公共可见性)以及 **参数处理** 的变化。符号宏不支持位置参数,默认值定义在 `attrs` 字典中,而不是实现函数中。参数的可变性也受到限制 – 禁止修改传入的字典。 像 **buildozer** 这样的工具对于重构至关重要,允许查询和修改 BUILD 文件以识别宏调用、打印属性值,甚至在迁移期间删除属性。虽然传统宏仍然受支持,但过渡到符号宏可以提供更健壮和可维护的构建系统。组织可以选择逐步迁移,根据需要组合这两种类型。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 迁移到 Bazel 符号宏 (tweag.io) 3 分,by todsacerdoti 1 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## 从犯罪分析师转型到数据科学家 对于希望转型到数据科学领域的犯罪分析师来说,SQL和Excel等核心技能是一个好的起点,但还不够。掌握一种编程语言——特别是Python——至关重要,并且展示对机器学习或大型语言模型(LLM)的了解将大大提高你的市场竞争力。目前,专注于LLM API、RAG系统和提示工程可能比传统的机器学习更有价值。 虽然通常更喜欢硕士学位,但一个强大的作品集(网站、GitHub贡献)可以弥补不足。现在就开始申请“分析师”职位,即使你没有满足所有要求——职位发布的信息通常不准确。考虑大型公司以获得更好的职业发展道路,并针对与犯罪分析相关的公司(例如LexisNexis、ESRI、Axon)。 alt-ac newsletter以及之前的博客文章(涵盖职位选择和作品集构建)可以提供进一步的指导。不要害怕利用你现有的分析背景来获得高级分析师职位,同时继续你的数据科学教育。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 犯罪分析师转入数据科学的建议 (andrewpwheeler.com) 3点 由 speckx 1小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## Go 数据竞争:深入剖析 本文深入探讨了 Go 语言中令人惊讶的常见问题——数据竞争,尽管该语言以并发性著称。当 Go 代码违反 Go 内存模型时,就会发生数据竞争,可能导致从静默失败到任意内存损坏等各种问题——尤其是在处理像 map 和 slice 这样复杂的数据结构时。 作者详细介绍了在生产代码中遇到的几个真实案例。一个常见的陷阱是在 goroutine 中意外捕获变量,导致对共享变量的并发修改。另一个涉及对看似线程安全类型(如 `http.Client`)内的字段进行并发修改,强调了仔细考虑可变性的必要性。一个特别微妙的竞争涉及一个保护全局 map 的互斥锁,但互斥锁的生命周期与数据不一致,导致同步无效。 关键要点是,Go 语言并发的简易性并不能保证安全性。作者建议使用竞态检测器进行严格测试,深度克隆数据以避免共享可变状态,并尽量减少对闭包的依赖。他们还建议进行潜在的语言改进,例如为闭包提供显式的捕获列表以及编译器生成的 `Clone()` 函数,以帮助防止这些问题。最终,警惕性和对 Go 内存模型的深入理解对于编写健壮的并发应用程序至关重要。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Go 中因数据竞争导致的百万种死法 (gaultier.github.io) 8 分,由 ingve 发表于 1 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系方式 搜索:

将 Windows 95 用户界面带到 Windows NT 4.0 是一个复杂的工程,涉及两个团队的紧密合作。虽然定期的沟通让 NT 团队了解 Windows 95 的开发情况,但 NT 团队在后期移植过程中发挥了更积极的作用。 窗口管理器很大程度上是*重新实现*的,以 Windows 95 代码为参考,因为与它们共同的 Windows 3.1 祖先相比,代码差异很大。像 Explorer 这样的组件更直接地*合并*,但需要大量的更新——特别是从 `CHAR` 过渡到 Unicode,这需要像创建 `IShellLinkA` 和 `IShellLinkW` 接口这样的更改。 至关重要的是,更改是双向的。NT 的修复程序被反馈回 Windows 95 代码库,受到 `#ifdef` 指令和巧妙的宏(如 `TCHAR` 和自定义 `SIZEOF` 宏)的保护,以跟踪兼容性验证。这确保了现有 Windows 95 用户的稳定性。 整个过程因其源代码控制系统“SLM”的限制而变得复杂,该系统缺乏分支功能,需要为每次文件更改手动进行三方合并。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Windows 95用户界面代码是如何移植到Windows NT的? (microsoft.com) 15 分,ayi 发表于 1小时前 | 隐藏 | 过去 | 收藏 | 4 条评论 JojoFatsani 发表于 22分钟前 | 下一个 [–] 真希望有人能把win95的UI代码交给LLM,让它在win11 74位内核上运行。 回复 hulitu 发表于 22分钟前 | 父级 | 下一个 [–] > 让它在win11 74位内核上运行。 它无法编译。 回复 speed_spread 发表于 16分钟前 | 上一个 [–] 我更愿意相信他们只是在SourceSafe中合并了这两个分支。 回复 plorkyeran 发表于 13分钟前 | 父级 [–] 微软内部从未对重要的事情使用SourceSafe。 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

作者探讨了近期大型语言模型(LLM)的进步,以及这如何改变了他们个人的“基准”测试。过去,在晦涩、有记录的个人身上测试模型很有启发性,但现在模型很容易通过。他们转向了更复杂的任务:生成统计物理概念的Javascript可视化图。 作者使用谷歌的Antigravity IDE(由Gemini 3 Pro提供支持),成功地在一个小时内创建了铁磁性的Ising模型的可视化图。该模型准确地生成了数学框架和使用随机扫描吉布斯采样器的模拟。 虽然OpenAI和Anthropic的先前模型也表现良好,但Antigravity的DOM检索功能被证明特别有用。作者认为一些UI元素是不必要的,但总体上赞扬了Antigravity/Windsurf团队和谷歌员工的工作,强调了LLM能力的显著飞跃。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 使用 JavaScript 中的反重力进行统计物理 (christopherkrapu.com) 3 分,由 ckrapu 1 小时前发布 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

超相机 你正在查看四维超相机的三维传感器。 WASD:向前、向侧面移动超相机 Q/E:在ana、kata方向上移动超相机 IJKL:向上/向下、向左/向右旋转超相机 U/O:在wx平面上旋转超相机 Y/P:在wy平面上旋转超相机 0-2:旋转超相机朝向物体 鼠标拖动:旋转传感器视角 鼠标滚轮:缩放 v:显示附加视图 g:切换小工具模式 x:切换体素栅格化 点击:选择顶点 已选:无 h:显示/隐藏控制 超相机 XZ投影(侧视图) YZ投影(正面视图) WZ投影(AnaKata视图) YW投影(奇怪视图) XW投影(奇异视图)

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 展示HN:Hypercamera – 一款基于浏览器的4D相机模拟器 (dugas.ch) 5点 由 chronolitus 1小时前 | 隐藏 | 过去的 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## 哈萨克斯坦的塞米亚尔卡:一个重要的青铜时代中心 塞米亚尔卡遗址位于哈萨克斯坦的额尔齐斯河沿岸,是一项重要的考古发现,占地40-140公顷,年代可追溯到晚期青铜时代(公元前1600-1100年)。初步调查显示,通过卫星图像和现场考察,发现了绵延1公里的广泛的矩形土方工程。 出土文物表明文化融合,主要属于阿列克谢耶夫卡-萨加里文化,并受到切尔卡斯库尔文化的影响。重要的是,塞米亚尔卡显示出大量现场锡青铜生产的证据——对于一个草原聚落来说,这非常罕见——利用当地开采的矿石。地球物理勘探揭示了土方工程内部的结构化布局,表明存在居住结构和一个潜在的公共中心建筑。 该遗址的规模及其对河流交通的控制表明它是一个重要的区域中心,可能是哈萨克斯坦北部草原上最大的“原始城市”。由DREAM项目资助的持续挖掘旨在进一步了解其建筑布局、冶金工艺以及在更广泛的区域网络和经济中的作用。塞米亚尔卡挑战了人们对半游牧草原社区及其金属加工能力的先入之见。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 哈萨克草原上的一个主要城市?调查塞米亚尔卡的青铜时代遗产 (cambridge.org) 11点 由 1659447091 1小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系方式 搜索:

## EDN.C:一个快速、零拷贝的EDN读取器 EDN.C是一个用C11编写的高性能EDN(可扩展数据表示法)读取器,旨在实现速度和效率。EDN是一种功能强大、可扩展的数据格式,类似于JSON,提供更丰富的数据类型,如关键字、符号、集合和带标签的字面量,用于自定义数据处理。 **主要特点:** * **性能:** 利用SIMD加速(NEON、SSE4.2、WebAssembly SIMD128)实现快速解析。 * **零拷贝:** 通过直接引用输入数据来最小化内存分配。 * **可扩展性:** 支持带标签的字面量,通过读取器函数进行自定义数据转换。 * **全面支持:** 处理所有核心EDN数据类型和可选的Clojure扩展(命名空间、元数据、扩展字符、比例等 – 编译时可配置)。 * **内存安全:** 使用竞技场分配器进行高效的内存管理。 * **跨平台:** 适用于macOS、Linux、Windows和WebAssembly。 * **经过充分测试:** 包含340多个测试。 **用法:** EDN.C提供了一个简单的API,用于读取和解析EDN数据。它可以作为静态库集成到项目中,也可以通过直接包含源代码来实现。 命令行工具也可用于解析和美化打印EDN文件。 **适用于:** 配置文件、函数式编程环境中的数据交换以及需要快速灵活的数据解析的应用程序。 更多详细信息、构建说明和示例可在[GitHub仓库](https://github.com/DotFox/edn.c)中找到。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 工作 | 提交 登录 用 C11 编写的快速 EDN(可扩展数据表示法)读取器,具有 SIMD 加速 (github.com/dotfox) 39 分,由 delaguardo 1 小时前发布 | 隐藏 | 过去的 | 收藏 | 2 条评论 Jeaye 2 分钟前 | 下一个 [–] 太棒了。感谢您制作并使用 MIT 许可。我认为它有潜力取代 jank 中的词法分析器。明年我会进行一些基准测试,拭目以待!回复 medv 56 分钟前 | 上一个 [–] 一个非常令人印象深刻的实现,具有 SIMD 和 WASM!回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## CIS531:从零开始构建编译器 CIS531是一门面向硕士级别的编译器设计课程,侧重于实际实现。学生将为一种不断发展的语言构建编译器,从简单的算术开始,逐步扩展到包含函数、递归和堆分配——最终生成x86-64汇编代码。 该课程使用Racket编程语言(易于学习,并提供相关资源),并参考Jeremy Siek的《编译原理基础》(可选购买)。项目涉及增量开发,每个阶段都建立在上一阶段的基础上,并具有全面的测试。 **课程的主要特点:** * **五个项目:** 逐步构建一个编译器,从栈解释器到支持函数和lambda表达式的语言。 * **强调测试:** 每个项目都包含一个强大的测试套件,以确保正确性。 * **清晰的结构:** 明确的项目结构,提供用于passes、IR定义、解释器和测试的代码。 * **独特的方案:** 专注于一种实用且函数式的方案,牺牲一些典型的编译器特性(如内存安全和寄存器分配),以实现快速开发和清晰度。 该课程旨在提供有益的体验,让学生能够构建一个功能齐全的编译器,并有可能通过添加类型检查或更高级的优化等功能来扩展它。资源和项目详情请访问[https://kmicinski.com/cis531-f25](https://kmicinski.com/cis531-f25)。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 用五个项目构建一个编译器 (kmicinski.com) 26 分,作者 azhenley 2 小时前 | 隐藏 | 过去 | 收藏 | 2 评论 AdityaSanthosh 10 分钟前 [–] 你好,看起来是个有趣的课程。我本科期间没有学过编译器(我是电子专业的学生),但我一直是一名程序员,学过 C 和一些底层语言。这门课程需要任何先修的编译器知识吗?回复 ktimespi 7 分钟前 | 父评论 [–] 唯一的先决条件可能是 Racket,以便跟随本书。 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

客户端挑战:您的浏览器已禁用 JavaScript。请启用 JavaScript 以继续。网站的必要部分无法加载。这可能是由于浏览器扩展、网络问题或浏览器设置造成的。请检查您的连接,禁用任何广告拦截器,或尝试使用不同的浏览器。

这次黑客新闻的讨论围绕着一项最近的说法,即美国国际开发署(USAID)停摆导致数十万人的死亡。最初的帖子质疑哈佛大学是否应该利用其捐赠基金来应对此类危机。 用户迅速辩论了这一说法的有效性,其中一人链接到FactCheck.org的一篇文章,揭穿了埃隆·马斯克对美国国际开发署内部腐败的指控——据报道,他曾向唐纳德·特朗普提出这些指控。 几位评论员表示支持哈佛大学的立场,引用了提供的证据,而另一些人则认为责任在于受影响国家的政府,将这一说法称为“情感勒索”。 对话还涉及黑客新闻上的自动标题编辑,以及对报道中死亡事件责任归属的一般性分歧。

更多

联系我们 contact @ memedata.com