MoreRSS

site iconDavid Heinemeier HanssonModify

Made Basecamp and HEY for the underdogs as co-owner and CTO of 37signals. Created Ruby on Rails. Wrote REWORK, It Doesn't Have to Be Crazy at Work, and REMOTE.
Please copy the RSS to your reader, or quickly subscribe to:

Inoreader Feedly Follow Feedbin Local Reader

Rss preview of Blog of David Heinemeier Hansson

前提陷阱

2024-12-17 07:25:39

无论是在开源领域还是在工作中,与初级程序员合作对我来说最难的部分就是避免前提陷阱。在这种情况下,代码初稿中的基本假设就不会受到质疑,直到你花了太多时间改进实现。人工智能也是如此。

因为目前的人工智能就像一个出色的初级程序员。他对语法和应用程序接口有着百科全书式的了解,但也有同样的倾向,会产生过于复杂、有微妙缺陷的解决方案。

你可以把这理解为对人工智能编程未来的看好信号。目前的发展轨迹正与人类程序员的发展树相吻合,最终,就像最优秀的后辈一样,它将在代码美学、新问题推理和架构一致性等细节方面达到高级水平。但愿如此。

但这并不能改变一个事实,那就是到目前为止,我还没有看到我在过去一年中使用的任何人工智能模型在我非常熟悉的领域中产生出优秀的代码。就像有前途的初级程序员一样,偶尔也会有闪光点,但总体而言,这些解决方案几乎总是需要大量的返工。

这时候,前提陷阱就会响起掌声!

我在人工智能生成的 Ruby 和 JavaScript 代码中反复看到过这种情况,所以我怀疑这是否是一种语言特有的问题。但是,引入不必要的依赖关系、过于冗长的表述以及架构上的死胡同等倾向却一直存在。

这是我从那些试图使用人工智能为他们编写整个系统,而自己却不是真正有能力的程序员那里听到的。看到一个原型在短短几分钟内就栩栩如生,那真是令人难以置信的兴奋,但要真正将其推进到能够可靠运行的阶段,却往往会变成一步前进两步后退的舞蹈。(这与某些人在 Upwork 上被一个几乎不合格的初级程序员 "钓鱼 "的故事完全不同!)。

这固然令人沮丧,但如果考虑到这些模型的训练数据,就完全说得通了。层出不穷的基础在线教程、Stack Overflow 的简化答案,还有一个不幸的现实是,互联网上的编程内容有相当一部分是盲人摸象。

人类的高级程序员都是从相同的信息饮食开始的,但最终都通过在专有代码库中工作而达到了更高的理解和掌握水平。在这里,教程式代码中不存在的所有权衡取舍都会显露出来,并需要进行精细的权衡。

我认为,在当前的模式下,这些模型的下一个重大飞跃可能要等到它们接触到大量的专有、企业代码时才会发生。而如何实现这一点,目前还不完全清楚。

因此,作为高级程序员,你最好像对待初级程序员一样对待人工智能。如果你关心架构或实现的最终质量,那么让人工智能生成整个系统,甚至是子系统,很少能节省你的时间。因为要验证人工智能所做的假设,你需要花费和自己做同样多的时间来理解人工智能的选择。

我仍然看好人工智能为我们大家编写代码的前景,但也对其当前的能力保持现实的态度。同时,我也要警惕包括我自己在内的资深程序员在潦草的代码上签字的危险,因为我们过于依赖人工智能为我们编写代码,而不是教我们如何编写代码,这会消耗我们继续学习的耐力。

但愿这件作品在短短几年内就会老去!

捷豹迷失方向,沃尔沃却知道方向

2024-11-22 02:37:23

捷豹全新品牌重塑在网上遭到抨击,这是有道理的。陈词滥调层出不穷,多元化迎合已经过时。创造活力。活出活力。删除平凡。你会以为这些是威尔-费瑞尔(Will Ferrel)关于令人忍无可忍的市场营销三部曲中的口号,但不是,这是一家直到 2026 年才会出售任何汽车的汽车制造商 2024 年的宣传口号。完全不着调,与氛围转变格格不入,很有可能是这个历史悠久但濒临消亡的英国品牌的最后一搏。遗憾!

与此形成对比的是沃尔沃最新款 EX90 的广告.这是一部 3 分 45 秒的情感电影,完美诠释了拥有强大品牌的意义。代表着某种东西,而且是真心实意的。

它甚至没有那么新颖!他们异曲同工但这丝毫不影响它的辉煌。事实上,恰恰相反。品牌就像文化:它的核心是重复和真实。你说你是谁,你就是谁,一遍又一遍。

沃尔沃就是安全,安全对父母来说至关重要,因此沃尔沃就是为父母服务的。就是这么简单,就是这么有力。但这只是因为它是真实的!你不可能为丰田汽车开展这样的品牌推广活动,并取得同样的成功。丰田的根基在于可靠性。这就是他们的故事。

但沃尔沃确实在乎。他们的历史包括赠送安全带专利.在瑞典,他们有一个碰撞应急小组沃尔沃汽车研究中心(Volvo Automotive Research Center,简称 "沃尔沃汽车研究中心")将深入沃尔沃汽车事故现场,了解如何提高汽车的安全性(从上世纪 70 年代起,沃尔沃汽车研究中心就开始这样做了!)。在英国,自 2004 年推出 XC90 以来,该车没有任何官方死亡记录。至少每 2018 年).

沃尔沃在安全方面的做法也与大多数汽车制造商截然不同。他们不只是针对碰撞评级测试进行研究和优化,而这似乎是其他大多数制造商的驱动力。当测试扩展到新的场景时,他们的汽车表现非常出色,因为它旨在成为现实中的佼佼者而不仅仅是最佳测试。

这一切都说明,沃尔沃的品牌优势在于始终如一、始终如一、始终如一地做同样的事情,而且每年都做得更好一些。这是令人难以置信的激励。

坦率地说,这让我想买一辆沃尔沃!尽管根据各种自然倾向(速度/设计/传统),我应该对新款捷豹感兴趣。但是,我现在不会被捷豹吸引。这就是广告的力量:提升和削弱。

冷读是一种多动症

2024-11-21 05:19:39

我相信确实有一些病态的多动症患者,也许服用苯丙胺对某些人来说真的是灵丹妙药。但很显然,现在也出现了一整个山寨行业,让完全正常的人相信自己患有多动症,并以此来解释人类状况中许多不受欢迎的方面。

就拿我今天在 X 上偶然看到的一个 "ADHD 教练 "的主题来说吧:多动症基础知识.它列出了五种主要症状:

  • 健忘。
  • 高标准/完美主义。
  • 对新奇事物的吸引力。
  • 缺乏一致性。
  • 难以建立/打破习惯。

难怪我们看到多动症的诊断呈爆炸式增长。这份清单至少在部分时间里适用于大多数人!我甚至可以说,这五种情况在很多时候都适用于我。那么,这是否意味着我患有多动症,应该开始服用阿德拉?来吧。

这通常是挥手开始的时候:"当然,你可能认识到所有这些症状,但对于多动症患者,他们的情况更糟!"。好吧,但这算哪门子诊断标准?

"(《世界人权宣言》)多动症症状的正式表现形式维基百科上列出的 "ADHD "指标也并不比 "ADHD "教练的五个指标好多少。 它包括以下标记

  • "经常忽略细节或粗心出错"
  • "经常无法安静地从事休闲活动或玩耍"
  • "经常喋喋不休"
  • "经常难以专注于一项任务或游戏活动"
  • "经常容易被无关刺激分心"

同样,我也能时不时地从其中的几项中认出自己。如果你把 DSM-5 中的所有标记都包括在内,我肯定能把五种以上的标记都记下来,以获得多动症的正式称号。这太荒谬了。

但阿比盖尔-施里尔(Abigail Shrier)已经在《孩子们》一书中对这一主题进行了专业阐述。不良疗法所以我就不再重复了。如果只是为了感叹集体的疯狂,那就是在玩耍中大声喧哗或嬉戏打闹是孩子们的病态标记!太疯狂了

但我知道,对于很多有孩子的父母来说,这是一个敏感话题,因为他们的孩子可能在某些方面有挣扎。因此,我们暂且不谈孩子,先来谈谈成年人。

2023 年,美国共开出 4500 万张阿德拉处方。这一数字比 2019 年的 3500 万有所增加。其中大量处方肯定是开给那些相信 "健忘 "或 "被新奇事物吸引 "不仅仅是人类的一部分,而是一种需要安非他明来缓解的痛苦的人。

这让我想起了以下概念冷读数.通灵者会狡猾地向受试者询问一些细节,同时含糊其辞地向左右和中间抛出潜在的钩子。通灵者会诱导受试者忽略那些不适合他们情况的模糊信息,而把注意力集中在那些不可避免的信息上,让受试者相信他们迫切希望听到的是真的。

我认为,很多人都迫切希望听到,他们有时无法集中精力、没有动力、健忘或难以改掉坏习惯是有医学原因的(而不是像你需要更好的睡眠、定期锻炼和改善饮食那样无聊)。因此,当多动症教练出现,用医学标签来让他们感觉好一些时,参加冷读会,并得到你所希望的答案,是令人信服的。

但这是无稽之谈。有缺陷的人不需要诊断。我们每个人都有缺陷。所以,如果你想通过服用一两片安非他明来提高你早上的工作效率,那就去做吧!不要躲在一些标签后面(或者认为自己不会受到长期服用兴奋剂的影响)。

加入Shopify董事会

2024-11-20 02:15:34

我认识 Tobi 已经有二十多年了。从 Ruby on Rails 最早的时候开始,他就在构建 Snowdevil,而 Snowdevil 最终成为了 Ruby on Rails。Shopify在网上销售滑雪板。下面是他对 Rails 的首次提交从 2004 年开始,该系统改进了控制器测试的人体工学设计。只有一个他在 2004-2010 年期间对框架做出的 131 项承诺-- 这个记录仍然足以入选Rails 的前 100 位贡献者!

但 Tobi 对 Ruby on Rails 的贡献远不止他个人对框架的提交,他还创建了活跃商户和 Liquid 模板系统,或在 Rails 核心团队任职的早期。通过 Shopify,Tobi 或多或少地一手创建了扼杀了 Rails 无法扩展的僵尸论调建立了世界上最受欢迎的托管电子商务平台,并通过该平台实现了相当大比例的在线销售。

在这个过程中,Tobi 建立了一个令人难以置信的技术组织来支持这项工作。Shopify 雇用了三分之一的 Rails 核心团队成员,为 Ruby 开发了 YJIT 编译器,并在其他方面做出了无数贡献。毫无疑问,他们是 Ruby on Rails 世界中最慷慨的赞助者。

因此,当 Tobi 问我是否有兴趣加入 Shopify 董事会时,我毫不犹豫地考虑了这个邀请。我当然会!

但老实说,这不仅仅是我对Shopify多年来的感激之情的反射性回答。这也是为了满足自己的好奇心,在我的工作从未触及的范围内与问题搏斗。

无论是在处理前沿编程问题时,还是在处理巍然Shopify 的代码行数多达 500 万行,还要指导成千上万的程序员对其进行有效扩展,其规模远远超出了我在 37signals 的日常工作。这很有趣!

Shopify 对商业世界的巨大影响也是如此。当大部分网络正在衰落为遗传学在Shopify和熵技术的帮助下,Shopify商店以更快的浏览速度、更快的结账速度和更容易信任而脱颖而出。这使得大量的个人创业者和企业能够拥有与亚马逊等公司竞争的购物体验,而不需要庞大的团队来完成。

每当我找到 a 凉爽 店铺我了解到它是在 Shopify 上运行的。正如我与 Tobi 在广播节目在我开始接触机械键盘之后,我才真正意识到这一点。似乎所有的 "砰砰 "和 "嗒嗒 "键盘供应商都在使用 Shopify!看到这一点,我不仅确信购买不会很麻烦,而且还知道自己不会被骗。这就是Shopify的魔力:在一些默默无闻的键盘制造商和电子商务巨头之间建立起公平的商业竞争环境。

而现在,我可以从内部帮助推进这项使命!这真是一种享受。谢谢托比!

痴迷于解决问题,然后漫无目的地游荡

2024-11-14 02:55:08

几个月来,我再也没有对我的 Linux 设置进行修补的冲动了。在这之前,我花了大半个春天和夏天的时间,狂热而痴迷地尝试了各种 PC,以找到 Mac 的完美替代品。Omakub项目。但现在它已经完成了,我不用再做任何重复的工作,就可以享受苹果公司提供的新的更好的地方。

离开云计算的经历也是如此。几个月来,我把所有时间都花在构建卡迈勒检查服务器组件,规划我们的路径。但是我们做到了然后办到了

同上Rails 8.我们大力推动了 Solid Trifecta 的发布,其中包括 Propshaft 和认证生成器,以及我在《Solid Trifecta》一书中介绍的其他所有令人惊叹的进展。Rails World 主题演讲.现在,所有新的 Rails 应用程序都能享受到压缩后的复杂性。

在公司层面,我们的大部分工作都是马拉松式的。这就是你如何在二十年甚至更长的时间内保持业务。坚持不懈。但在高管层面,几乎所有的重大飞跃都是由预感激发的冲刺。它们必须是冲刺,因为让预感越过山丘所需的强度太高,无法长久维持(除非,我猜,你是埃隆!)。

对我来说,这就是确保我的盘子里不会装满吃了一半的承诺的最好理由。我的日程表不会被无休止的重复性会议堵塞。这样,当那些令人痴迷的机会出现时,我的头脑就会保持开放、空白的状态。飞驰而过.

你看,我已经开始接受,我最好的作品是一系列的冲刺,中间夹杂着一段时间的徘徊。这是我对App Store官僚机构的臃肿和滥用最终让我发现了 Linux。正是因为发现了 Linux,才有了 Omakub,才有了开源操作系统37signals 新技术人员的默认设置

正是对 Docker 的深入研究(最初除了好奇之外并没有任何明确的任务),才有了 Kamal,才有了我们走出云计算的道路。此外,对第 4 代固态硬盘的速度着迷,也为 Solid Trifecta 的诞生埋下了种子。

即使我想,我也不可能计划好这一切。但我也不想。对我来说,没有什么事情能比跟着直觉走,看看它能把我引向何方,而不承诺一个具体的、最终的目的地更令人满意了。

这有点像写作。写作这些段落的一半乐趣来自于在文章的发展过程中发现论点。每篇文章都是从预感开始的,但最终的形式却很少清晰,除非让头脑与文字搏斗一段时间。

这就是为什么我对 "下一步是什么?"这个老问题的回答是:"我不知道!":我不知道因为如果我知道,我就已经做了一半了。那就不是下一步了,而是现在。

寻找下一个 "现在 "是一门徘徊的艺术,而良好的徘徊需要练习和耐心。不要急于求成。

堡垒之夜》中的房屋规则

2024-11-13 03:00:52

我们玩了很多堡垒之夜在我们家。这是一个教孩子们遵守合作纪律的好游戏,而且游戏环境非常健康(没有血腥,卡通造型)。我毫不犹豫地让我们家的三个孩子从小就参加了这个家庭小队,包括我们最小的两个孩子从四岁左右就开始了。

自从我们开始玩游戏以来,我只有两条主要的家规:

  1. 待在一起
  2. 没有抱怨。

听起来很简单,但为了追求自己的目标--获得更好的装备,你总是很容易偏离队伍,而当其他队伍抓到你时,你又很容易责怪自己的兄弟。特别是当你还是个学龄前儿童的时候!

但这正是《堡垒之夜》成为纪律教育有效工具的原因。因为如果你想在这样一个以团队为基础的环境中获胜,你就必须像一个团队一样齐心协力,而你很快就会意识到,遵守规则更有可能做到这一点。

它还教你如何优雅地输掉比赛。如果你在被淘汰后还恼羞成怒、怨天尤人,那么这节课也就结束了,因为没有人愿意听你这样说(尤其是爸爸!)。所以,如果你想打得更多,打得更好,最好开始克制自己的挫败感。尽早培养这种生活技能是非常好的。

同样,它也是一款适合全家一起玩的游戏。堡垒之夜》与《马里奥卡丁车》或《大乱斗》等游戏不同,前者是全家人的对抗(也很有趣,但少了学习的乐趣!),而后者则让我们站在同一支队伍里,为同一个目标而奋斗,并在成功时一起庆祝。

总之,这是我和孩子们最喜欢的活动之一。看到他们将上述重要的人生道理以及细枝末节的战术见解(如总是寻找较高的地势、确保掩体安全以及在交战前有适当的后援)内化于心,这让我受益匪浅。

所有的屏幕时间都是不平等的。