每日HackerNews RSS

## CI现状:为什么GitHub Actions不足 作者广泛使用过几乎所有可用的CI系统,尽管GitHub Actions因其与GitHub仓库的便捷集成而占据市场主导地位,但作者强烈反对使用它。核心问题在于令人沮丧、缓慢且经常崩溃的用户体验,特别是其日志查看器——调试的关键组件。 作者推崇**Buildkite**作为更优的替代方案,强调其速度、稳定性以及对开发者工作流程的尊重。主要优势包括一个实用的日志查看器、专注于编排而非复杂逻辑的YAML配置,以及对计算资源的关键控制。 对于Nix用户,**Garnix**提供了一个更简单、无需配置的解决方案。然而,对于大多数人来说,作者详细说明了GitHub Actions的陷阱:复杂的YAML、存在风险的Actions市场,以及与系统抗争的总体感觉。作者承认Actions的便利性,尤其是在小型项目上,但强调对于严肃的生产系统,长期的时间、挫败感和潜在安全风险使得Buildkite成为一项值得的投资。最终,作者提倡一种*支持*开发者的CI系统,而不是成为持续斗争的根源。

## GitHub Actions 疑虑与替代方案 一则黑客新闻讨论围绕着使用 GitHub Actions 进行 CI/CD 日益增加的复杂性和缺点。原始帖子认为 Actions 对工程团队产生了负面影响,尤其是在大型项目中。 一些评论者表示同意,而另一些人则为 Actions 辩护,指出 CI 工具已经从专门的系统发展为通用的工作流编排器——这是一个积极的转变。一位用户强调,Actions 让他们能够*从*一个存在问题的 CI 系统(CircleCI)迁移,正是因为这种通用性。 主要担忧包括难以管理复杂的配置(YAML 的特殊性)、有限的日志浏览以及缺乏对计算资源的完全控制。**Buildkite** 经常被建议作为一种潜在的替代方案,它提供动态管道和自托管的能力,但也有人认为 Buildkite 也并非完美解决方案。 最终,讨论指出了一种权衡:Actions 对于许多人来说“相当不错”,尤其是开源项目,但拥有复杂需求的较大组织可能会受益于探索那些优先考虑控制和可扩展性的替代方案。 几位评论员也指出,所有 CI 系统最终都归结为运行 bash 脚本。

## 人工智能的隐性成本:印度的内容审核 数百万人工智能的突破依赖于由人工标注的大量数据集,而这些标注工作往往不为人知。在印度,越来越多的劳动力——主要来自农村和边缘化社区的女性——正在执行这项至关重要但又具有心理伤害性的内容审核工作。 像蒙苏米·穆尔穆这样的工人花费数小时审查算法标记的令人不安的图像和视频,识别暴力和虐待以“训练”人工智能。虽然这项工作提供了收入机会,但它也带来了沉重的代价。审核员报告称,他们经历了创伤、焦虑、睡眠障碍和情绪麻木,一些人甚至出现了侵入性思维和解离症状。 尽管存在明确的风险——被比作“致命行业”——但心理支持往往不足。公司经常逃避责任,而印度的劳动法对心理健康几乎没有保护。严格的保密协议进一步孤立了工人,阻止他们寻求支持甚至讨论他们的经历。 这项“幽灵工作”是由低成本和现成、通常是第一代受教育者组成的劳动力推动的。虽然这对于许多人来说代表着一种进步,但它常常强化了现有的不平等,对感恩的期望会阻止人们对有害工作条件提出投诉。最终,人工智能的进步是以巨大的、且很大程度上不为人知的代价实现的。

## 印度人工智能训练劳动力:复杂局面 一篇近期文章强调了印度一些训练人工智能的劳动者面临的困境:内容审核工作涉及接触令人深感不安和辱虐的材料。虽然这份工作提供的薪资相对具有竞争力——大约每月350美元——与当地的服装业或农业劳动等替代选择相比,但争论的中心在于薪酬是否充分反映了其心理影响。 一些人认为,这项工作在贫困地区提供了重要的经济机会,带来了独立性和摆脱更糟处境的途径。另一些人则认为,它应该获得*高额*报酬,并建议需要根据候选人对这类内容的承受能力进行筛选。 这场讨论涉及更广泛的主题:人工智能创造的“新工作”的本质、外包困难任务的伦理影响,以及自动化最终可能消除这些岗位的可能性。最终,评论表明,在承认这项工作固有危害与认识到它可能是许多人(特别是弱势社区的女性)“最不坏”的选择之间存在着紧张关系。

## CORS 解释:快速总结 CORS(跨域资源共享)是一种 Web 安全策略,规定了来自一个源(协议、域名和端口)的网页何时可以请求来自另一个源的资源。 这是 Web 开发人员常见的错误来源,源于浏览器保护用户免受潜在恶意脚本的侵害。 本质上,浏览器会强制执行同源策略,限制请求与当前页面相同的源。 CORS 提供了例外情况,*如果*服务器通过其响应中的 `Access-Control-Allow-Origin` 标头显式允许,则允许跨域请求。 主要有三种场景:**预检请求**(使用 `OPTIONS` 在主请求之前检查权限)、**简单请求**(方法和标头有限,无需预检)和**凭据请求**(包括 cookie/身份验证,需要更严格的服务器配置)。 **解决 CORS 问题**通常涉及配置服务器以包含适当的 `Access-Control-Allow-Origin` 标头。 对于开发,可以使用 Webpack 的代理功能在本地绕过 CORS。 最终,解决 CORS 往往需要在前端和后端开发人员之间进行协作,以确保为生产环境正确配置服务器。 虽然存在解决方法(例如带有 `no-cors` 的 `img` 标签),但它们不允许 JavaScript 访问响应数据。

一个黑客新闻的讨论围绕着一篇名为“即使阅读文档后仍然难以理解CORS”(evan-moon.github.io)的文章展开。最初,一位评论者指出文章缺乏文本换行,难以阅读,但作者很快解决了这个问题,并解释说自己受到韩文写作习惯的影响,导致了这一疏忽。 该讨论还包括用户分享了与文章主题——跨域资源共享(CORS)——相关的经历,其中一位表示目前正在为此苦恼。另一位用户开玩笑地预测未来的LLM会直接提供CORS问题的解决方案。最后,一位用户分享了一段用于处理CORS请求的标准Nginx配置片段。文章和讨论强调了开发者们即使有可用文档,仍然面临着CORS的挑战。

## 幻塔驱动程序漏洞:摘要 一位研究人员尝试删除其幻塔账号,导致对游戏内核驱动程序的安全审计,揭示了重大漏洞。该驱动程序 `GameDriverX64.sys` 令人惊讶的是,即使作为安全关键组件,也缺乏混淆,这可能是由于与Windows的Hypervisor-Protected Code Integrity (HVCI)兼容所致。 该驱动程序的身份验证依赖于一个简单的硬编码“魔术数字”,允许攻击者利用两个主要缺陷:任意进程终止和任意进程保护。通过使用特定的IOCTL代码,攻击者可以杀死*任何*进程,甚至包括具有更高安全性的进程,如Protected Process Light (PPL),并限制对任何进程句柄的访问。这本质上允许一种“自带易受攻击驱动程序” (BYOVD)攻击,类似于过去其他游戏反作弊驱动程序中的事件。 讽刺的是,该驱动程序甚至没有被游戏本身主动加载,使其在玩家的系统中处于休眠状态。尽管如此,滥用的可能性仍然存在。一个概念验证已被创建,证明了这些漏洞,并且已提交了一个CVE (CVE-2025-61155)。该研究人员强调了编写不当的内核驱动程序的危险性以及即使启用HVCI,强大身份验证的重要性。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 我逆向了幻塔的反作弊驱动:一个从未加载的BYOVD工具包 (vespalec.com) 8 分,来自 svespalec 38 分钟前 | 隐藏 | 过去 | 收藏 | 2 条评论 bri3d 13 分钟前 [–] 这是一篇很棒的报告。看起来这个驱动也在被恶意软件积极使用:https://www.fortinet.com/blog/threat-research/interlock-rans... 回复svespalec 5 分钟前 | 父评论 [–] 谢谢!我不知道它已经在野外使用了。这是一个很好的案例,说明了发布带有暴露 IOCTL 和弱身份验证的签名驱动程序是多么具有风险,即使(尤其是)开发者从不费心加载它们。 回复 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:

## Calfkit:构建可扩展、分布式 AI 智能体 Calfkit 是一个 Python SDK,旨在简化异步、分布式 AI 智能体的创建。它解决了传统智能体架构中固有的可扩展性问题,这些问题源于同步 API 调用和紧密耦合——这些问题与早期微服务面临的挑战相似。 Calfkit 不采用直接通信,而是利用异步流的事件驱动方法,从而可以独立扩展智能体组件,例如聊天、工具和路由。这种松散的耦合允许轻松添加新功能,而无需修改现有代码,并促进将通用数据流传输到 CRM 和数据仓库等系统。 主要优势包括横向可扩展性、通过事件持久化实现可靠的消息传递、高吞吐量以及开发期间的团队独立性。Calfkit 利用 Kafka 作为其事件代理,抽象了管理事件驱动基础设施的复杂性。 借助 Calfkit,开发者可以构建健壮、可扩展的 AI 智能体——为更复杂的“AI 员工”和完全由 AI 驱动的公司铺平道路——而无需复杂的编排开销。它需要 Python 3.10+、Docker 和 OpenAI API 密钥才能开始使用。

Hacker News 新闻 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Show HN: Calfkit – 构建分布式、事件驱动型 AI 代理的 SDK (github.com/calf-ai) 4 分,ryanyu 发表于 1 小时前 | 隐藏 | 过去 | 收藏 | 讨论 我认为代理应该像真正的团队一样工作,具有独立的、不同的角色、异步通信以及在不重构整个组织的情况下 onboarding 新的团队成员或工具的能力。我在 Yahoo 和 TikTok 构建后端系统,所以事件驱动型代理感觉很自然。但没有代理 SDK 使用这种模式,所以我制作了 Calfkit。 Calfkit 将代理分解为独立的 services (LLM 推理、工具和路由),通过 Kafka 异步通信。代理、工具服务和下游消费者可以独立部署、添加、删除和扩展。 如果对此感兴趣,请查看!我很想知道大家的想法。 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系方式 搜索:

## ESP32-S3 作为软件摄像头 本项目演示了将 ESP32-S3(和其他 Espressif 模块)变成一个功能性的 USB 摄像头,*无需*物理摄像头。它利用了 ESP32-S3 原生的 USB 支持和 Espressif 的 UVC(USB 视频类)组件,将生成的视频帧发送到计算机。 该项目分阶段进行:首先,流式传输静态 JPEG 图像以验证功能;然后,解码动画 GIF,重新编码为 JPEG 并流式传输;最后,实时渲染 Pong 游戏并将其作为实时视频流式传输。视频以 MJPEG 形式传输——一系列单独的 JPEG 图像。 ESP32 处理 USB 枚举和协议细节,而开发者提供视频数据。ESP32-S3 上的 JPEG 编码性能足以实现近乎实时的流式传输,为 Pong 游戏实现大约 30fps。虽然初步测试遇到同步模式问题,但切换到批量模式解决了帧稳定性问题。 该项目展示了 ESP32 的功能,并为未来的开发打开了大门,例如集成真实的摄像头传感器以实现传统的网络摄像头应用。源代码是公开可用的。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 Pong 相机 – 我的 ESP32S3 认为自己是网络摄像头 (atomic14.com) 8 分,iamflimflam1 1 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## 比特币价格目标为零:Seeking Alpha 摘要 Seeking Alpha 报道了 Pivotus Partners 的 Richard Farr 的严峻预测:比特币 (BTC-USD) 的价格目标为零。Farr 认为比特币无法作为美元对冲工具,缺乏真正的机构支持,存在交易效率低下和环境问题,并且本质上是投机性的——与传统市场高度相关。 这种看跌观点与 Michael Burry 的担忧相呼应,Burry 将比特币视为纯粹的投机性资产,不同于黄金等传统对冲工具。他们都警告了潜在的“死亡螺旋”风险以及进一步价格下跌带来的重大后果。 潜在影响包括比特币矿商的破产、代币化金属市场的混乱、贵金属持仓的强制清算,以及对大量投资比特币的公司(如 MSTR)的威胁。该报告强调,如果比特币价格继续下跌,数字资产和相关股票 ETF 的波动性将进一步加剧。

## 比特币价格目标与讨论总结 近期一篇预测比特币价格为零的文章,以及投资者伯里的警告,引发了Hacker News上的讨论。许多评论者认为比特币*一直*都是一种投机性资产,驳斥了这是一种新的认识的说法。 人们对数字货币的能源消耗(“工作量证明”被视为一种负担)以及与人工智能等新兴技术相比,其缺乏实际效用表示担忧,目前投资正在流向人工智能领域。 几位用户注意到情绪的转变,越来越少的人假装比特币具有实际应用。 对话还涉及比特币储备公司正在清算持仓,以及如果核心算法发生变化,其可能解体的风险。一些人指出了原文中的不准确之处,而另一些人则幽默地提到了比特币的早期阶段和难以捉摸的“更大的傻瓜”理论——即总会有人愿意以更高的价格购买。 最终,普遍情绪倾向于由于投资转向人工智能等更有生产力的事业而导致下跌。

本地LLM驱动的智能任务路由编排器演示。 # 创建虚拟环境 python -m venv .venv .venv\Scripts\activate # 安装依赖 pip install -r requirements.txt # 下载本地LLM模型 python models/download_model.py # 启动LLM服务 (端口8000) uvicorn app.local_llm_service.llm_app:app --host 127.0.0.1 --port 8000 --reload # 启动编排器 (端口8100) uvicorn app.main:app --host 127.0.0.1 --port 8100 --reload # 启动UI (NiceGUI) python ui/nicegui_app.py ------------------------------------------------------------------------------------------- ## Windows批处理脚本选项 (替代方案) download_model.bat # 一次性设置脚本 install_and_run.bat run_llm.bat # 启动LLM服务 run_api.bat # 启动编排器API run_ui.bat # 启动NiceGUI界面

## 弹性工作流哨兵:本地AI任务管理 Shubham_Amb,一位3D艺术家和IT毕业生,开发了“弹性工作流哨兵”,这是一款完全离线的AI代理,旨在根据紧急程度(低、中、高)对任务进行分类和分派。该系统旨在解决数据隐私问题以及Jira和Slack等云解决方案相关的成本问题,将敏感信息保存在组织的基础设施*内部*。 该代理运行在RTX 3080上,避免了对Ollama等工具的依赖,并使用Qwen2.5-7b-instruct模型,结合Python、PyTorch和Fast API。初步提示速度较慢(每项任务70-90秒),因此开发者实施了批处理、JSON约束和“转向向量”——用于优化模型注意力和输出的技术,将处理时间缩短至15-30秒。 该项目旨在为每次token的API费用提供一种经济高效且可靠的替代方案,从而为初创公司和企业节省大量开支。代码和演示可在GitHub上找到:[https://github.com/resilientworkflowsentinel/resilient-workflow](https://github.com/resilientworkflowsentinel/resilient-workflow)。

A.E. 豪斯曼在1892年于伦敦大学学院的开讲词中,论证了知识的内在价值,反对将学习的理由建立在实际效用或社会效益之上。他批判了优先考虑基于感知有用性的学科的倾向——科学服务于商业,人文学科服务于道德修养——认为这种做法优先考虑期望的结论,而非真正的探究。 豪斯曼认为,人类的基本驱动力*就是*知识本身,一种与基本需求相似的自然渴望。虽然他承认科学可以帮助实际生活,但他断言大多数人并不需要深厚的专业知识,即使需要,也不是主要目标。同样,古典研究可能提升鉴赏力,但并不能保证大多数人获得内在的转变。 最终,豪斯曼倡导为了知识本身而学习,呼应了亚里士多德的观点,即知识本身就是善的。他将追求知识描述为与宇宙之间快乐的“捉迷藏”,一项无限的努力,提供持久的满足感,不同于短暂的快乐。他鼓励学科之间的合作精神,团结一致地拓展理解的边界,而不是争夺合理性。

黑客新闻 新 | 过去 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 豪斯曼的入门讲座 (1892) (worrydream.com) 3 分,来自 coloneltcb 1 小时前 | 隐藏 | 过去 | 收藏 | 讨论 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请 YC | 联系 搜索:

## C协议问题 作者认为C的真正问题不在于其技术缺陷(未定义行为、整数问题),而在于它作为一种*协议*的普遍影响,这种协议决定了所有编程语言如何与操作系统和其他语言交互。由于C成为了通用语言,像Rust和Swift这样的新语言不得不实现复杂的外部函数接口(FFI)来“说C”——即使它们更愿意避免这样做。 这种对C的依赖造成了兼容性问题的噩梦。与操作系统API交互需要处理定义不明确的C头文件和ABI,即使在clang和gcc等主要编译器之间也存在不一致。解析C语言以其难度而闻名,并且具有不同ABI的平台/编译器组合数量(目标三元组)非常庞大。 作者用`intmax_t`等例子来说明,即使是对C类型看似微小的更改,也可能由于广泛存在的、通常未记录的假设而破坏现有软件。虽然存在前向兼容性技术,但它们很复杂,并且不能保证无缝集成。最终,C的统治地位意味着语言被其遗留问题所困扰,阻碍了创新并创造了一个脆弱的生态系统。作者得出结论,C的成功可能具有讽刺意味,因为它阻止了自身的改进,因为任何重大更改都有可能破坏它所建立的协议。

一个黑客新闻的讨论围绕着C编程语言持久的相关性。最初的帖子,标题为“C不是一种语言”,引发了关于它在更新的替代方案出现后,是否仍然有用的争论。 一个关键论点集中在C无与伦比的稳定性和长期可用性上。与Rust等语言不同,其惯用代码迅速发展,C99在数十年的系统和代码库中始终保持功能性——这种质量被比作维护几个世纪的建筑。虽然现代C通常包含扩展和宏,但核心语言提供了一个可靠的基础。 一位评论员将C视为教育的踏脚石,回忆起它在早期的计算机科学课程中与Pascal一起使用。另一位评论员戏谑地认为Pascal过于限制。最终,这场讨论突出了C作为一种语言的独特地位,它提供了卓越的耐用性和可预测性,表明在竞争对手能够匹配其长期稳定性之前,它不会轻易被取代。

更多

联系我们 contact @ memedata.com