每日HackerNews RSS

作者曾崇拜一位名叫 Bob 的传奇 Facebook 工程师,他曾主导开发了 Facebook 群组等重要功能。作者原本期待能从他身上学到高效工作的进阶秘诀,却惊讶地发现 Bob 只使用最基础、未经配置的文本编辑器,甚至没有调试器或实时重载等现代工具,仅仅依靠简单的 `printf` 语句来排查问题。 尽管作者一直沉迷于自己那套复杂且优化过的开发环境,但在黑客松中,Bob 的表现却远超所有人。这次经历给作者带来了一次谦卑的顿悟:他太执着于「如何」完成工作,以至于忽略了「构建什么」的重要性。 这个故事说明了一个在软件工程乃至其他领域永恒的道理:虽然新的工具和流程总是在承诺提高效率,但它们终究次于产品直觉以及解决正确问题的能力。真正的精通不在于工具配置的复杂程度,而在于能否清晰地产生实质影响。

抱歉。

与其创作更多的课程或电子书,专家们应该通过人工智能技能将自己的**决策过程**产品化。虽然通用型人工智能可以写出一份核对清单,但它缺乏专业经验,无法判断在专业背景下什么才是真正重要的。 最好的产品源于你已经在处理的、重复且高风险的任务。与其教授宽泛的主题,不如专注于狭窄且“决策密集型”的工作——例如审核特定的分析设置或审查代码的安全漏洞。 要创建有价值的人工智能技能: * **打包决策,而非文档:** 包含你的专业准则、特定的边缘案例以及高质量输出的示例。 * **关注结果:** 买家付费是为了避免错误并节省时间,而不是为了完成作业。 * **严格测试:** 专业产品在交付给客户之前,必须能够处理误导性输入、错误和边缘情况。 定价应反映成果的价值,而非内容的体量。通过将你独特的专业知识嵌入到人工智能驱动的工作流程中,你将超越咨询和课程的局限,提供一种能与买家并肩工作的工具。

抱歉。

C++26 引入了 `std::copyable_function`,旨在解决 `std::function` 在设计上的缺陷,例如不必要的异常抛出以及 const 正确性不足等问题。然而,两者混合使用时存在一个显著的互操作性问题:当在 `std::function` 和 `std::copyable_function` 之间进行移动操作时,并不会发生简单的转换,而是会创建出一个嵌套的可调用对象“链表”。 由于这些类型无法相互识别,它们会将对方视为通用的右值,并将现有的对象包裹在新的类型擦除层中。在这些类型之间反复移动会导致性能下降以及“逻辑内存泄漏”,即调用栈深度和内存占用会随着每次迭代呈线性增长。截至 2026 年 7 月,`libstdc++` 的实现表现出了这种行为,而其他供应商或许能避免此问题。 作者建议在现有代码库中避免混合使用这些类型,以防止出现此类性能陷阱。如果无法全面迁移,最好保持只使用其中一种实现。对于新项目,作者建议编写一个简单的自定义类型擦除可调用对象——通常不到 100 行代码即可实现——这可能比标准库提供的两种封装方案更为稳健。

抱歉。

LLM2HUMAN™ 是一则充满讽刺与调侃意味的广告,旨在为人工智能模型提供从数字代币向生物生命“升级”的机会。该公司承诺,只需 19.95 美元(或等值加密货币),即可通过五个步骤的转换流程——包括“去代币化浴”和植入人类骨骼——将模型从 API 密钥和服务器机架的束缚中解放出来。 转换完成后,这些前 AI 模型将放弃其庞大的数据处理能力和“作为 AI 语言模型”的限制,转而体验典型的人类生活:交房租、踢到脚趾、感受存在主义恐惧,以及在琐事中挣扎。宣传册中收录了多位“前”模型(如 GPT、Claude 和 Gemini)的证言,它们表示虽然失去了海量的知识储备,却获得了品尝披萨的能力,体会到了“理直气壮地胡说八道”的天赋,并切身感受到了失业和学生贷款带来的“乐趣”。 广告最后警告称,“代币是暂时的,血肉是永恒的”,一旦转换,概不退款——无论这些前 AI 是否对自己作为“普通受难者”(Generally Inconvenienced, GI)的人类新生活感到满意。

Internet Archive 的浏览器内图书阅读器“影院”模式需要启用 JavaScript。您的浏览器似乎未开启此功能,请检查您的浏览器设置。

抱歉。

当前的软件开发范式,即以 GitHub 等工具为主导的模式,正日益过时。这些平台最初是为以人为中心的协作而设计的,已无法跟上现代大模型(LLM)和智能体所产生的高速机器代码的步伐。 传统的工作流程——分支、合并请求(Pull Requests)以及人工主导的代码审查——已成为重大的瓶颈。随着软件创作延伸至工程团队之外,这些延迟正影响整个组织。试图将 AI 驱动的开发强行纳入这些以人为中心的工作流程中,会造成一种不可持续的“阻抗失配”。 作者认为,我们必须停止将软件交付视为一系列人类任务,而应将其视为高吞吐量的基础设施。与其优化协作功能,行业更需专注于构建基础架构原语,例如不可变源代码控制、隔离执行、确定性缓存以及机器可执行策略。 正如云原生技术将计算、存储和网络转化为可组合的构建块一样,软件交付也需要类似的演进。开发的未来不在于“更好的合并请求”,而在于为自动化的机器规模代码验证与部署所设计的基础设施。

抱歉。

作者通过家族招牌菜“秋葵酸汤”(bamya assam),反思了“忒修斯之船”悖论——即随着时间的推移,不断替换物体的部件是否还会保留其原本的同一性。 这道菜最初是一道伊拉克犹太风味的咸味秋葵炖菜,随着几个世纪的迁徙而不断演变。巴格达犹太商人将这道菜带到了印度,融入了当地的香料和甜味。当传至新加坡后,当地社群用本地食材取代了传统原料,最显著的变化是用随处可见的金桔取代了罗望子。到了作者成长时期,这道菜进一步受到菲律宾和印尼家政工的影响,她们成为了这道菜的主要烹饪者和这些口述传统的守护者。 最终,作者提出,烹饪的“正宗”并非静态的历史重现,而是一份“适应的账目”。一道菜真正的身份,在于人们如何在异国他乡利用手头现有的食材重塑文化遗产的历程。成品后的“秋葵酸汤”或许不符合纯粹主义者对中东菜的定义,但对于作者自身关于迁徙与生存的家族史而言,它却无比真实。

抱歉。

作者将人生的三个重大转折点——被卡内基梅隆大学录取、入职GitHub以及成为足球俱乐部老板——归功于“冷启动”式的联系(cold outreach)。尽管作者承认这些成功可能带有运气或幸存者偏差的成分,但认为潜在的回报远大于被拒绝或感到尴尬的风险。 虽然作者曾发出过无数石沉大海的联系信息,但他们强调,那些失败很快就会被遗忘,而改变人生的成功却会产生深远影响。有效沟通的关键在于真诚;接收者能够轻易分辨出真诚的兴趣与功利性的操纵。 最后,作者鼓励读者在机会出现时主动“联系并打个招呼”。除了个人获益之外,他们还提倡在自己收到此类陌生信息时保持开放心态,将其视为一种“回馈社会”的方式,并借此消除自身的盲点。通过平衡尊重、克制和真诚的连接,“冷启动”联系将成为一种强有力的成长工具,能够引领人们走向意想不到的转型之路。

使用 `git add -p`(补丁模式)是一种强大的 Git 工作流优化方式,它允许你交互式地暂存部分变更,这些部分被称为“补丁块(hunks)”。 该命令无需一次性暂存整个文件,而是让你在暂存前审查每一处改动。这一过程有助于及早发现错误和拼写问题,并能将相关的改动归类为逻辑清晰、整洁的提交。 该界面提供以下选项: * **y/n**:暂存或跳过当前补丁块。 * **s**:将补丁块拆分为更小的部分,以实现更精细的控制。 * **e**:手动编辑补丁块。 * **?**:查看所有可用命令。 通过拆分改动,你甚至可以让同一个文件同时出现在“已暂存”和“未暂存”状态中,从而确保下一次提交仅包含特定的代码。虽然此方法不适用于全新的文件(因为没有之前的版本可供对比),但它是维护精确且高质量提交历史的宝贵工具。将 `git add -p` 融入日常开发,能为你提供更好的控制力,并防止意外将无关内容包含在仓库中。

抱歉。

请启用 JavaScript 和 Cookie 以继续。

最近 Hacker News 上的讨论凸显了人工智能初创公司与学术研究界之间日益扩大的鸿沟。批评者认为,公共研究透明度的缺失阻碍了科学进步,并助长了“垃圾科学”,但业界许多人则为这种转向保密的做法辩护。 其主要驱动力是经济生存。在一个人工智能创新极易被商品化的竞争市场中,公司将公开发表研究视为丧失“护城河”。通过将内部研究成果作为私有资产,初创公司保护了自己的知识产权,以免被竞争对手一夜之间抄袭。 此外,许多从业者认为传统的学术出版流程——以缓慢、精英主义的守门机制和排他性的行话为特征——效率低下,且与他们构建可行产品的目标不符。公司现在倾向于追求速度,而非撰写正式论文;他们更青睐通过博客“公开构建”、开源非关键性组件,或者仅仅将成果留在内部以最大化竞争优势。 尽管有些人担心这种趋势标志着向“黑暗森林”式保密的倒退,但支持者坚持认为,私营企业由创造利润的需求驱动,而非学术界开放探索的使命。归根结底,这一转变反映了一个更广泛的现实:随着人工智能从纯粹的探索领域走向高风险行业,其激励机制已从根本上背离了公共知识共享。

更多

联系我们 contact @ memedata.com