网络文章@202402


编译历史:C 编译器简介 — Compiling History: A brief tour of C compilers


为什么 Go 是我最喜欢的编程语言 (2017) - Michael Stapelberg — Why Go is my favorite programming language (2017) - Michael Stapelberg

Go 用于编写开发和运行速度都比较快的应用程序。


软件成品 — Finished software

To me, the clearest example is Dropbox. I’ve used Dropbox since the earliest days, and I love it. Nothing has ever come close to providing the speed, reliability, and cross-platform compatibility for file synching of Dropbox. Even though I technically get iCloud File Storage “for free” as part of some broader package, I still pay for Dropbox with a smile. But man do I wish they would just leave it the hell alone. 对我来说,最明显的例子就是 Dropbox。我从一开始就使用 Dropbox,并且非常喜欢它。 Dropbox 的文件同步速度、可靠性和跨平台兼容性无与伦比。尽管从技术上讲,我“免费”获得 iCloud 文件存储作为某个更广泛的套餐的一部分,但我仍然微笑着为 Dropbox 付费。但我真希望他们别管它。

Over the years, Dropbox has tried a million different things to juice upsells, seat expansions, and other ways to move the needle. There’s been a plethora of collaboration features (when all the collab I ever need is those magic links to files I can send over any wire!) and more and more pushy prompts to, say, move pictures and videos straight from the camera into the cloud. Along with pleas not to store the files I have in the system on my local computers (presumably so the transfer costs they pay are less). It’s exhausting. 多年来,Dropbox 尝试了上百万种不同的方法来促进追加销售、扩大席位以及其他推动发展的方式。有大量的协作功能(当我需要的所有协作只是那些我可以通过任何线路发送的文件的神奇链接时!)以及越来越多的强制提示,例如将照片和视频直接从相机移动到云中。另外,请不要将我系统中的文件存储在我的本地计算机上(大概这样他们支付的传输费用会更少)。这很累。

I just want to pay for the original premise: All my files synched between all my computers, with a backup in the sky. That’s a beautifully, simply solution to a surprisingly difficult problem. And Dropbox absolutely nailed it. 我只想为最初的前提付费:我的所有文件在我所有的计算机之间同步,并在空中有备份。对于一个极其困难的问题来说,这是一个完美而简单的解决方案。 Dropbox 绝对做到了这一点。

It didn’t used to be this way. Back when I got started with computers, all software was assumed finished once it was put on a floppy disk or CD. You literally burnt the bits into a hard surface, and they weren’t going to magically change after that. Even if nostalgia tinges that memory with a certain rose-colored hue, I still think there’s also some objective value in constraints like that. 过去不是这样的。当我刚开始使用计算机时,所有软件都被认为一旦放入软盘或 CD 上就完成了。你确实将这些碎片烧成坚硬的表面,之后它们不会神奇地改变。即使怀旧给这段记忆染上某种玫瑰色的色调,我仍然认为这样的限制也有一定的客观价值。


致力于来年的能力 — Commit to competence in this coming year

So what does that actually look like? Let’s take programming. I write a lot of code that’s just meant to solve some problem or implement some feature. There’s usually a quick way to do that by following the path and patterns I already know. That’s the dividend of experience. You’ve done something before, so you can do it again. But it’s also a potential trap. 那么它实际上是什么样子的呢?让我们以编程为例。我编写了很多代码只是为了解决某些问题或实现某些功能。通常有一种快速的方法可以通过遵循我已经知道的路径和模式来做到这一点。这就是经验的红利。你以前做过某件事,所以你可以再做一次。但这也是一个潜在的陷阱。

See, experience will give you a leg up on doing the same things you’ve done before in the same way. But it’ll also raise the price of trying something new, since that might take longer. This is why so many of the big paradigm shifts that happen across disciplines often come from outsiders or even novices. Once you’ve been cooked in experience for too long, the cost of trying something new can seem prohibitive. But spend you must, if you aren’t to stagnate. 看,经验会让你在以同样的方式做同样的事情时占据优势。但这也会提高尝试新事物的成本,因为这可能需要更长的时间。这就是为什么跨学科发生的许多重大范式转变往往来自局外人甚至新手。一旦你积累了太长时间的经验,尝试新事物的成本就会显得令人望而却步。但如果你不想停滞不前,就必须花钱。

So with programming, I try to make it a point of frequently taking the longer route. First, I don’t just want the thing I’m working on to merely work. I mean, that’s step one, but we can’t stop there. As the saying goes: make it work, make it right, make it fast. And then, let me add one more: Make it beautiful. 因此,在编程时,我尝试经常采取较长的路线。首先,我不只是希望我正在做的事情能够发挥作用。我的意思是,这是第一步,但我们不能就此止步。俗话说:让它工作、让它正确、让它快速。然后,让我再补充一点:让它变得美丽。

If there’s anything I see juniors often miss, it’s this. Careful, repeated, hell, even obsessive, study of their own work. For programmers that means poring over that pull request of theirs over and over again until it’s as aesthetically pleasing as it is functionally correct. To the level of every line break, every new domain word, every expansion of existing classes or methods. 如果说我看到后辈们经常错过什么的话,那就是这个了。仔细、重复、地狱般、甚至痴迷地研究自己的工作。对于程序员来说,这意味着一遍又一遍地研究他们的拉取请求,直到它在美观和功能上都正确为止。到每个换行符、每个新域单词、现有类或方法的每个扩展的级别。

“But I don’t have time!”, is what I often hear. Or, even worse, “it doesn’t matter, just ship it!”. But it does matter. Because your career, and even your business, is not a single sprint. It’s an intellectual iron man repeated until you’re in the ground. Whatever time you take to refine your technique now will be paid back to you for the next 20-40-60 years of your career. Getting your posture right early is how you reap those dividends of good form. “但是我没有时间!”这是我经常听到的。或者,更糟糕的是,“没关系,发货就行!”。但这确实很重要。因为你的职业生涯,甚至你的企业,都不是一次冲刺。这是一个智力钢铁侠的重复,直到你入土为安。无论你现在花多少时间来完善你的技术,你都会在接下来的 20-40-60 年的职业生涯中得到回报。尽早采取正确的姿势才能获得良好形式的好处。

It’s the same thing with writing. Not just for public consumption, like this, but for internal communication as well. Every comment, every proposal, every bug report is an opportunity to become a little better, a little clearer, and a little more persuasive. But you have to work on it, it doesn’t just happen. 写作也是一样。不仅仅是为了公共消费,像这样,而且也为了内部沟通。每一个评论、每一个建议、每一个错误报告都是一个变得更好一点、更清晰一点、更有说服力一点的机会。但你必须努力,它不会自然发生。

I love that loop. Write, revise, write, revise. It’s like doing reps in a gym. You can’t expect that 10 pull-ups will add any discernible new muscle. But 30 pull-ups, across three sets, done thrice a week, for a year? Yeah, you’re going to notice the cumulative results of that. 我喜欢那个循环。写,修改,写,修改。这就像在健身房里做重复动作一样。你不能指望 10 次引体向上就能增加任何明显的新肌肉。但是一年做 30 个引体向上,分成三组,每周做三次?是的,你会注意到它的累积结果。

But you have to decide that this matters. The incremental but relentless pursuit of betterment. Taking two beats to get it right, not just getting it working. To slow down, so that you can do it smoothly, so that you can eventually become quicker than you ever imagined. 但你必须决定这很重要。渐进但不懈地追求进步。花两步才能把事情做好,而不仅仅是让它发挥作用。放慢速度,这样你才能顺利地完成,这样你最终才能变得比你想象的更快。


挑战范式的守护者 — Challenging the guardians of the paradigm

Because intellectual arguments can always be countered in the abstract realm of the debate. But shipping proof isn’t so easily refuted by clever rhetoric or calls to authority. Even if the shipping thesis is limited in scope, it still has the quality of a black swan against the postulate that “all swans are white”. It takes just one flapping bird of the wrong color to undermine a categorical premise. 因为理智上的争论总是可以在抽象的辩论领域中被反驳。但运输证据并不那么容易通过巧妙的言辞或对权威的呼吁来反驳。即使航运论的范围有限,它仍然具有黑天鹅的性质,反对“所有天鹅都是白色的”假设。只要一只颜色错误的振翅鸟就能破坏一个绝对前提。

That’s why you see such furious activity around policing the borders of the paradigm. Why the goal posts are constantly moving to ensure no striker can ever be said to have scored. Like going from “of course the cloud is cheaper!” to “okay, maybe it’s not cheaper all the time, but it is for most!” to “whoever said the cloud was cheaper? It’s about agility!”. 这就是为什么你会看到围绕范式边界进行如此激烈的活动。为什么球门柱不断移动以确保没有前锋能够进球。就像从“云当然更便宜!”开始一样到“好吧,也许它并不总是便宜,但对大多数人来说都是如此!” “谁说云更便宜?这是关于敏捷性!”。


丹麦童话的现实 — The reality of the Danish fairytale

That free education? Yes, it’s great, but it’s also fiercely guarded by meritocratic access. Every in-demand field of study is guarded by the all-important grade-point average from High School. If yours is too low, well, sorry, you’re just not going to study psychology or become a midwife. It doesn’t matter whether you came from an underprivileged background, did a million extracurriculars, or hail from an ethnic minority. You either make the grade for your first choice or you pick something else to study. 那个免费教育?是的,这很棒,但它也受到精英准入的严格保护。每个热门的学习领域都受到最重要的高中平均成绩的保护。如果你的分数太低,那么,抱歉,你就不会学习心理学或成为一名助产士。无论你是否来自贫困家庭,参加过一百万次课外活动,还是来自少数民族,这并不重要。你要么为你的第一选择取得成绩,要么选择其他东西来学习。

Almost all of higher education is of course also state run, and on a strict budget. Many American colleges more closely resemble a 4-year luxury vacation than they do the often dreary Danish experience (and I’m not just talking about the lack of sunlight for months in the winter!). Last I looked, I think the Danish government spent something like $13,000 per student per year. The teaching itself is usually fine, but the experience overall is rather barebones compared to what many Americans would imagine (but Danish students do compensate in part by consuming record levels of alcohol!). 当然,几乎所有的高等教育都是公立的,并且预算严格。许多美国大学更像是四年的豪华假期,而不是通常沉闷的丹麦经历(我不仅仅是在谈论冬天几个月没有阳光!)。我上次查了一下,我认为丹麦政府每年为每个学生花费大约 13,000 美元。教学本身通常很好,但与许多美国人想象的相比,总体体验相当简陋(但丹麦学生确实通过饮酒创纪录水平来部分补偿!)。

Healthcare is also state run, and access is fiercely guarded by financial constraints too. You need a referral for all specialties, the wait may be substantial, and usually when you go to the doctor, you’re treated to a strict 15-minute slot, that’s it. Such efficiency has its price. Just in my immediate family, I’ve witnessed at least three faulty diagnosis, two of which had serious consequences. 医疗保健也是国有的,而且医疗服务也受到财政限制的严格保护。所有专业都需要转诊,等待时间可能会很长,而且通常当您去看医生时,您会被严格限制在 15 分钟内,仅此而已。这种效率是有代价的。仅在我的直系亲属中,我就目睹了至少三个错误的诊断,其中两个造成了严重的后果。

But much of the time the system is fine, and I’d say for routine stuff, I even prefer the brutal efficiency. Several times while living in Copenhagen from 2020-2023, I’d literally be in and out of the doctor’s office in less than twenty minutes. There’s no paperwork, you just scan your yellow health insurance card, and you never see any of the bills. Nobody has to worry about going bankrupt from becoming seriously ill. 但很多时候系统都很好,而且我想说,对于日常工作,我什至更喜欢残酷的效率。 2020 年至 2023 年住在哥本哈根期间,我有好几次在不到二十分钟的时间内进出医生的办公室。没有任何文书工作,你只需扫描你的黄色健康保险卡,你就看不到任何账单。没有人不必担心因患重病而破产。

But if you’re used to being able to easily select your own doctor, and expect treatment in a few weeks at most, not months, you’d probably be in for a surprise as a consumer of the Danish healthcare system. Everything is run with an eye on the economics, even if the bill isn’t sent to the patient. 但是,如果您习惯于能够轻松选择自己的医生,并期望最多几周而不是几个月内得到治疗,那么作为丹麦医疗保健系统的消费者,您可能会感到惊讶。即使账单没有发送给患者,一切都会着眼于经济。

Perhaps the most shocking example of this to me was the maternity ward in Copenhagen’s prestige hospital, where new mothers are customarily discharged a mere four hours after delivery. 也许对我来说最令人震惊的例子是哥本哈根著名医院的产科病房,新妈妈通常在分娩后仅四个小时就可以出院。

That is to say that care is heavily rationed. Doctors usually default to a walk-it-off or wait-and-see diagnosis, and while that’s clearly the only way to constrain costs in a state-run system, it’s certainly not without it’s trade-offs. Any American who’ve been fortunate enough to enjoy a good health insurance package would see this setup as a serious reduction in care. 也就是说,护理是严格配给的。医生通常默认采取“走开”或“观望”诊断,虽然这显然是限制国营系统成本的唯一方法,但它肯定不是没有权衡的。任何有幸享受良好健康保险计划的美国人都会认为这种设置严重减少了护理费用。

But it is egalitarian. You’ll get the same cancer treatment at the state-run hospitals, broadly speaking, whether you’re a lawyer or a street sweeper. Same too with education where if you put in the work to get good grades, there are no legacy admissions to outrun or donor wheels to grease. That still doesn’t guarantee equal outcomes, of course, but it really is remarkably fair in its equality of opportunity for both treatment and learning. 但它是平等的。一般来说,无论您是律师还是街道清洁工,您都会在公立医院获得相同的癌症治疗。教育也是如此,如果你付出努力以获得好成绩,那么就没有遗产录取可以超越,也没有捐赠轮子可以润滑。当然,这仍然不能保证平等的结果,但在治疗和学习机会均等方面确实非常公平。

Neither is the fact that when you do all of this in a country with a GDP per capita only 2/3s that of the US, you’re not going to live lavishly in a material sense. The average apartment size in Denmark is just 850 sq feet, the average row house just 1100 sq feet. Most people in Copenhagen get to work by taking the bus, the metro, or their bike. Whether rain or shine (and for about half the year, it’s usually rain!). It’s a national sport to save as much as possible on groceries. It’s common not to have your own washer and dryer. 事实上,当你在一个人均国内生产总值仅为美国 2/3 的国家做这一切时,你不会在物质意义上过上奢侈的生活。丹麦的公寓平均面积仅为 850 平方英尺,排屋平均面积仅为 1100 平方英尺。哥本哈根的大多数人乘坐公共汽车、地铁或自行车上班。无论晴天还是雨天(大约有半年的时间,通常都是下雨!)。尽可能节省食品杂货是一项全民运动。没有自己的洗衣机和烘干机是很常见的。

But don’t you for a second think this unity isn’t contingent on the homogeneity of ethnicity, values, norms, and perhaps even religion. And if you sit over here, in America, pining for those Danish benefits, you should have the intellectual honesty to wrestle with whether you’d be able to stomach a society built on the same compromises and obligations. I rather doubt that most arm-chair social revolutionaries could or would. 但你是否想过,这种团结并不取决于种族、价值观、规范甚至宗教的同质性。如果你坐在美国这里,渴望丹麦的好处,你应该有理智的诚实来思考你是否能够接受一个建立在同样的妥协和义务基础上的社会。我相当怀疑大多数纸上谈兵的社会革命者能够或愿意。

In the end, I’ve come to develop a deep appreciation for everything that makes Denmark work for the Danes. It’s a rare achievement in our time, or any time, for that matter. But I’m equally in awe of what I now accept as the exceptional achievement of multiculturalism in America. 最后,我对让丹麦为丹麦人服务的一切产生了深深的感激之情。就这一点而言,这在我们这个时代或任何时代都是一项罕见的成就。但我同样对我现在所接受的美国多元文化主义的非凡成就感到敬畏。

And know too, that almost any Dane, with the right will and gumption, could make it in America. Even become American. But almost no American, regardless of their honest intentions to integrate, will ever be able to truly become a Dane in the eyes of the Danish. 还要知道,几乎任何丹麦人,只要有正确的意志和进取心,都可以在美国取得成功。甚至成为美国人。但几乎没有一个美国人,无论他们是否真诚地想要融入社会,都无法真正成为丹麦人眼中的丹麦人。


离开云端时保持灯亮 — Keeping the lights on while leaving the cloud

The magic of Basecamp 2’s incredible two-year 100% uptime, as well as all the other applications hitting 99.99%, come in part from picking boring, basic technologies. We run on F5s, Linux, KVM, Docker, MySQL, Redis, Elastic Search, and of course Ruby on Rails. There’s nothing fancy about our stack, and very little complexity either. We don’t need people with PhDs in Kubernetes or specialists in exotic data stores. And neither do you, most likely. Basecamp 2 令人难以置信的两年 100% 正常运行时间以及所有其他应用程序达到 99.99% 的正常运行时间的魔力部分来自于选择无聊的基础技术。我们在 F5、Linux、KVM、Docker、MySQL、Redis、Elastic Search,当然还有 Ruby on Rails 上运行。我们的堆栈没有什么特别之处,也没有什么复杂性。我们不需要 Kubernetes 博士学位的人或奇异数据存储方面的专家。你很可能也不知道。

But programmers are attracted to complexity like moths to a flame. The more convoluted the systems diagram, the greater the intellectual masturbation. Our commitment to resisting that is the key ingredient in this uptime success. 但程序员却被复杂性所吸引,就像飞蛾扑火一样。系统图越复杂,智力自慰就越大。我们致力于抵制这种情况,这是正常运行成功的关键因素。

Now I’m not talking about what it takes to run Netflix or Google or Amazon. At that kind of scale, you hit truly pioneer-level problems to which there are no tried-and-true solutions to pull from. But for the other 99.99% of us? It’s a siren song to model our infrastructure in their image. 现在我不是在谈论运营 Netflix、谷歌或亚马逊需要什么。在这种规模下,你会遇到真正的先驱级问题,而没有经过验证的解决方案可供借鉴。但对于我们其他99.99%的人呢?以他们的形象来塑造我们的基础设施就像是一首海妖之歌。

You don’t need the cloud to get good uptimes. You need mature technologies run on redundant hardware with good backups. Same as it ever was. 您不需要云来获得良好的正常运行时间。您需要在具有良好备份的冗余硬件上运行成熟的技术。和以前一样。


谷歌云削减出口并促进云退出 — Google Cloud cuts egress and promotes cloud exits

Now I don’t know how many people will actually buy the idea that Google is just doing this out of the goodness of their heart. I have two other theories: 现在我不知道有多少人会真正相信谷歌这样做只是出于善意。我还有另外两个理论:

  1. The European Union has been looking at cloud egress fees as an anti-competitive practice, which they may well seek to regulate to improve competition in public clouds. Given how much other anti-trust scrutiny that Google is under, it makes sense for them to get ahead of regulations for once. Especially if it helps deflect attention from their search or ad monopolies. 欧盟一直将云出口费视为反竞争行为,他们很可能会寻求监管以改善公共云的竞争。考虑到谷歌还受到多少其他反垄断审查,他们这次领先于监管机构是有道理的。特别是如果它有助于转移人们对搜索或广告垄断的注意力。
  2. Google is a distant third in the cloud wars, and they stand to gain far more from goading competitors into following suit than they’ll lose on their end. For Google to win more cloud business, they probably realize they have to start stealing marketshare from Azure and AWS, and that’s just hard to do if egress fees spoil the pitches. 谷歌在云计算战争中远远落后于第三,他们从刺激竞争对手效仿中获得的收益将远远超过他们最终失去的损失。为了让谷歌赢得更多云业务,他们可能意识到他们必须开始从 Azure 和 AWS 窃取市场份额,而如果出口费用破坏了宣传,那么这就很难做到。

没有秘密了 — There are no secrets left

First-time entrepreneurs are often insecure about all the things they believe they don’t know. Maybe if they just get this one investor involved, they’ll know everything they need to do to crack product-market fit. Maybe if they just compose a board full of smart people, they’ll avoid all the common mistakes. If only it was so, but it ain’t. Everything worth knowing is already public. 初次创业的人往往对他们认为自己不知道的所有事情都缺乏安全感。也许如果他们让这位投资者参与进来,他们就会知道打破产品市场契合度所需要做的一切。也许如果他们组成一个由聪明人组成的董事会,他们就能避免所有常见的错误。如果真是这样就好了,但事实并非如此。一切值得知道的事情都已经公开了。

That is to say that great general business ideas and concepts don’t stay private. Anyone who believes they’ve found a novel angle of analysis is out there sharing it in books, podcasts, blogs, and twitter. You couldn’t make most business advisors shut up about their best ideas if you paid them! 也就是说,伟大的一般商业想法和概念不会保密。任何相信自己找到了新颖的分析角度的人都会在书籍、播客、博客和推特上分享它。如果你付钱给大多数商业顾问,你就无法让他们闭嘴不谈他们最好的想法!

This is wonderful news for entrepreneurs. A million lifetimes of entrepreneurial learnings have already been compressed for you by people eager to share. Every metric you could possibly measure has been defined and benchmarked. Every marketing trend has been dissected. Every personnel perspective illuminated. 这对企业家来说是个好消息。渴望分享的人们已经为您压缩了一百万辈子的创业经验。您可能衡量的每个指标都已定义并进行了基准测试。每一种营销趋势都经过剖析。每个人员的观点都得到了启发。

Which brings me to the real scarce insight Jeff gave Jason and I early on: What entrepreneurs need most is confidence, not advice. He’d always preface any advice with “you know your business better than I do” and “just keep doing what you know is right”. 这让我想到了杰夫早期给杰森和我的真正稀缺的见解:企业家最需要的是信心,而不是建议。他总是在任何建议前加上“你比我更了解你的业务”和“继续做你认为正确的事情”。

So realize Jeff’s wisdom: Nobody will know your business better than you do, if you’re attempting anything novel. Accept that general business advice can bring another perspective, but you’ll ultimately have to develop your own. 因此,请体会杰夫的智慧:如果您尝试任何新颖的事物,没有人会比您更了解您的业务。接受一般的商业建议可以带来另一种观点,但你最终必须发展自己的观点。


敢于将服务器连接到互联网 — Dare to connect a server to the internet

But it applies particularly well when it comes to cloud computing, and connecting your own application to the internet. It used to be common place for people to run applications on servers sitting in the closet of their company. At a time when locking these boxes down and making them secure was actually rather tricky business. But now, a couple of decades on, it’s never been easier to confidently connect a computer to the internet, and have it serve up a web app securely on port 443. Yet the FUD trying to dissuade you from doing this is as thick as ever. Don’t listen. 但它特别适用于云计算以及将您自己的应用程序连接到互联网。人们过去常常在公司柜子里的服务器上运行应用程序。当时,锁定这些盒子并保证它们的安全实际上是一件相当棘手的事情。但现在,几十年过去了,自信地将计算机连接到互联网并让它在端口 443 上安全地提供 Web 应用程序从未如此简单。然而,试图阻止您这样做的 FUD 一如既往地多。别听。

Tools like Docker have made it trivial to create closed and isolated systems that can be easily updated and kept secure. Gone are the days of manually tinkering with a box, trying to harden it down. Now all that work has been distributed, and most people run the same handful of base images that have been hardened by a million eyeballs looking in the same place for the same trouble. This is a golden age of secure, baseline computing. We should be celebrating! Docker 等工具使得创建封闭且隔离的系统变得轻而易举,这些系统可以轻松更新并保持安全。手动修补盒子、试图加固它的日子已经一去不复返了。现在,所有这些工作都已分发,大多数人都运行相同的少量基本映像,这些映像经过一百万个眼球在同一个地方寻找相同的问题而得到强化。这是安全、基线计算的黄金时代。我们应该庆祝!


原谅人类比原谅机器人更容易 — It’s easier to forgive a human than a robot

What’s a tolerable error rate for having a robot tell your customers some nonsense about your product? That might make them upset enough to tell another 10 people never to try your product again? I don’t know! But it’s probably not 5%. Maybe it’s not even 1%. Maybe the customer service robot actually has to get to 0.01% error rate before it’ll beat a human that gets it wrong 100x more often (1%) before the psychology of the equation works. 让机器人告诉你的客户一些关于你的产品的废话,可以容忍的错误率是多少?这可能会让他们心烦意乱,告诉另外 10 个人不要再尝试你的产品?我不知道!但可能不是5%。也许连1%都不到。也许客户服务机器人实际上必须达到 0.01% 的错误率,才能击败出错率高出 100 倍 (1%) 的人类,然后等式的心理学才会发挥作用。

I find that fascinating. That we humans can look at two situations where answer A is clearly better than answer B on a litany of objective measures, and then we’ll still go with B, because it’s psychologically compatible with our mental constitution. 我觉得这很有趣。我们人类可以考虑两种情况,在一系列客观衡量标准上,答案 A 明显优于答案 B,​​然后我们仍然会选择 B,因为它在心理上与我们的心理构造相容。

Maybe this is just a phase. Maybe once AI is adopted widely enough, we’ll learn to love our robot helpers, and we’ll start showing them some semblance of the sympathy we would their human counterparts. 也许这只是一个阶段。也许一旦人工智能得到足够广泛的采用,我们就会学会爱我们的机器人助手,我们会开始向他们表现出我们对人类同行的同情心。

But also, maybe not. Maybe fallible humans have an inherent advantage over AI by being forgivable? We’ll see. 但也可能不是。也许容易犯错的人类比人工智能具有天生的优势,因为他们可以被原谅?我们拭目以待。


我希望有人告诉我的话 - 萨姆·奥尔特曼 — What I Wish Someone Had Told Me - Sam Altman

  1. Optimism, obsession, self-belief, raw horsepower and personal connections are how things get started. 乐观、痴迷、自信、原始动力和人际关系是一切的开始。
  2. Cohesive teams, the right combination of calmness and urgency, and unreasonable commitment are how things get finished. Long-term orientation is in short supply; try not to worry about what people think in the short term, which will get easier over time. 具有凝聚力的团队、冷静与紧迫感的正确结合以及不合理的承诺是事情得以完成的方式。长期导向供不应求;尽量不要担心人们短期内的想法,随着时间的推移,这会变得更容易。
  3. It is easier for a team to do a hard thing that really matters than to do an easy thing that doesn’t really matter; audacious ideas motivate people. 对于团队来说,做一件真正重要的困难事情比做一件不重要的简单事情更容易;大胆的想法能够激励人们。
  4. Incentives are superpowers; set them carefully. 激励是超能力;仔细设置它们。
  5. Concentrate your resources on a small number of high-conviction bets; this is easy to say but evidently hard to do. You can delete more stuff than you think. 将您的资源集中在少量高可信度的赌注上;这说起来容易,但做起来显然很难。您可以删除的内容比您想象的还要多。
  6. Communicate clearly and concisely. 沟通清晰简洁。
  7. Fight bullshit and bureaucracy every time you see it and get other people to fight it too. Do not let the org chart get in the way of people working productively together. 每次看到废话和官僚主义时都要与它作斗争,并让其他人也与之作斗争。不要让组织结构图妨碍人们高效地合作。
  8. Outcomes are what count; don’t let good process excuse bad results. 结果才是最重要的;不要让好的过程成为不好的结果的借口。
  9. Spend more time recruiting. Take risks on high-potential people with a fast rate of improvement. Look for evidence of getting stuff done in addition to intelligence. 花更多的时间去招聘。为那些进步速度快的高潜力人才承担风险。除了智力之外,还要寻找完成任务的证据。
  10. Superstars are even more valuable than they seem, but you have to evaluate people on their net impact on the performance of the organization. 超级明星比他们看起来更有价值,但你必须根据他们对组织绩效的净影响来评估他们。
  11. Fast iteration can make up for a lot; it’s usually ok to be wrong if you iterate quickly. Plans should be measured in decades, execution should be measured in weeks. 快速迭代可以弥补很多;如果迭代速度很快,犯错通常是可以接受的。计划应该以几十年来衡量,执行应该以几周来衡量。
  12. Don’t fight the business equivalent of the laws of physics. 不要违背相当于物理定律的商业法则。
  13. Inspiration is perishable and life goes by fast. Inaction is a particularly insidious type of risk. 灵感易逝,生活过得很快。不作为是一种特别隐蔽的风险。
  14. Scale often has surprising emergent properties. 规模常常具有令人惊讶的突现特性。
  15. Compounding exponentials are magic. In particular, you really want to build a business that gets a compounding advantage with scale. 复利指数是神奇的。特别是,您确实希望建立一家能够通过规模获得复合优势的企业。
  16. Get back up and keep going. 重新站起来并继续前进。
  17. Working with great people is one of the best parts of life. 与优秀的人一起工作是生活中最美好的部分之一。

创业7年复盘,中美企业服务市场差异浅析

一站式 vs 专业分工

这是感悟最深的一点。投资人经常问我们竞争对手是谁,或者对标美国哪个公司。过去我们一直说我们对标 Snowflake or Databricks,尤其是 Snowflake 上市后(大部分投资人无法判断技术,所以只能对标知名公司来理解)。而很多时候,客户的领导或者决策者,也往往是靠这样的对比,才能了解我们的能力和应用场景。但深入看一下,就知道我们不一样,更重要的是,中美客户的需求非常不一样。

美国市场专业化分工非常细致且完善,ETL 是 ETL,DW 是 DW,BI 是 BI,基本上每个领域都有几个上市公司,大家只要有差异化,基本上都能赚钱,而且卖得不便宜。这就是为什么之前美国市场讲“现代数据栈”/Modern Data Stack 非常有用,一看就知道某个技术属于哪个部分,而且各层之间的接口都相对规范。但显然在国内这个行不通,技术栈的差异非常大还算好,碰到个魔改的环境对接起来苦不堪言,大量人力和时间被浪费掉。

而中国客户,往往付一笔钱就想要全部,最近有个头部公司给我们提的需求,涵盖了 OLAP、ETL、联邦查询、实时查询等,但问愿意付多少钱的时候,却表示没多少钱——就如极客公园创始人张鹏之前说的:**“客户提的都是登月的需求,但愿意付的只是一个同城快递的钱”**——这是现状,我们需要的是去适应,而不是去改变(我们当然想去改变,但教育成本非常大,需要一个渐进的过程),当然我们也不是去妥协,而是要找到平衡。

管理 vs Operation

数据与分析,从更大范围来说,属于决策支持系统(DSS, Decision Support System),来自维基百科的内容:Beginning in about 1990, data warehousing and on-line analytical processing (OLAP) began broadening the realm of DSS. (Decision support System, Wikipedia)。而决策支持系统,是帮助人类进行决策和管理的软件。

**但软件仅仅只是工具,是术,这背后更重要的是管理的思想和方法论,这是道和法。而这,才是中美软件(至少是管理软件)最大的差异:不同的人文环境,不同的发展阶段造就了非常不同的管理理念和方法论**。 不管是生产系统的 ERP,还是销售营销的 CRM,再到基础的人力资源、薪资系统等等,都有着非常大的不同。咨询大咖陈果曾经写文章说过,他工作过的几家外企,人力和薪资软件的基本理念和操作都非常一致,即使是不同供应商提供的。据他总结是因为背后的管理理念一致,似乎更多是按照同一种方法/handbook 来运营组织(Operation)完成工作从而达到目标。类似于一个只要按照飞行手册,经过一定培训的飞行员就能驾驶飞机(下面的手册在美国沃尔玛都可以买到)。

反观国内,在几个群里讨论过最多的一个结论就是:几乎每个稍微上点规模的公司都有着定制化 CRM 等各种软件的冲动(但从来不考虑是否要付钱),几乎每个老板、领导都有自己的“方法论”,极难说服他们按某个“理论”行事,而且都有着极强的管理欲望。

一个粗浅的理解,是因为西方现代化公司运营已经近百年,大量的实践和长期的积累,已经逐渐形成体系,而且大量的商学院、培训机构、咨询公司等,在过去几十年改造了大量的公司,培养了大量的专业管理人才。久而久之,大家都习惯于使用一个体系的工具和流程来完成同样的工作,所以可以看到美国的软件业非常发达,几乎每一个细分的赛道,都有非常多的上市公司或者独角兽。而国内改革开放也就这几十年,整个社会和经济也还在剧烈的调整和变化中,**大量的企业业务虽然非常好,但管理本身,可能并是不特别出众,往往都是“人”的能力更突出**。故而对软件本身,背后的管理方法论,以及价值都非常模糊,甚至低估。这也是今天企业服务行业面临的挑战。

国内的部署环境非常复杂,我们大量的成本花费在对接各种系统和测试上。在美国,基本上只有三家云基础设施,大部分创业公司在很长一段时间都只支持一朵云,例如 Snowflake 很长时间只支持 AWS;Databricks 是微软投资后花大力气帮助 Databricks 跑在 Azure 上。而国内我们要面对各种“稀奇古怪”的底座,最近有个客户的 Spark 还是 2.x 的版本,居然要我们修改我们的产品,还好最终客户被我们说服,把他们的 Spark 升级到 3.x 版本。如果每个这样的情况都需要定制、适配,势必是要耗费大量的人力和物力的。

试想,如果客户直接在 SaaS 上试用,在 PaaS 中完成他们自己数据的 PoC,签订合同后再部署到生产环境,中间都用 ZenML 进行流转,这样的效率提升,不仅仅方便我们,也将大大降低客户的工作量,他们的工程师等会更愿意和我们合作。**注意,当我们强调“用户体验”的时候,不是只是 GUI、运维、命令行、导入导出、文档,甚至我们每个人的形象、态度、沟通和专业能力等等,对客户来说,都是一种“体验”。**


日本往事:决定国家命运的往往是SB

原因说穿了也很简单,SB们敢“不怕牺牲,排除万难”地搞暗杀——哪个聪明的人不按照他们的想法来,他们就敢“灭了”他——刚开始日本还有一些聪明的杂音,甚至法院也判处SB暗杀有罪,但是架不住SB们人太多,前仆后继地扑过来——杀首相,杀大臣,杀知识分子、杀精英……甚至杀军中有异议的军官。卧槽,这种情况下,如果还有人跟SB抬杠的话,那就是最大的SB了。


互联网公司管理神话的破灭

站在这个时间点去回顾互联网公司曾经沉淀下的那些方法论,我们会发现无论是阿里巴巴、腾讯、字节跳动,还是 Google、Amazon 和 Netflix。他们的企业管理方法论可能都存在错误归因——低估自己所乘着的时代东风,高估了自身的努力(管理行为)。

从社会学的角度讲,现代企业的本质是个体分工协作的产物。它的作用是将一群人以特定的社会关系结合在一起,实现一个人无法实现的伟业。这意味着巴别塔可以有很多种建成方式,只要没有上帝来捣乱,任何一种方式都可以通天,而“上帝来捣乱”的方法,就是让每个人都觉得自己的方法是对的。

是因为各种眼花缭乱的在线文档不够“先进”吗?不,是因为太过先进了,与落后的现实世界并不匹配。

除非你假定一个 35 岁全员退休的社会,否则向落后兼容,就是一个先进管理工具与生产力工具的最重要基础要素。

这个事情在 SaaS 市场其实被反复验证,所有人都说中国的 SaaS 市场不好做,然后找了许多许多理由。但时至 2024 年,就没有几家企业开门做公司敢不买 Microsoft Office,连免费的 WPS 都是因为和 Microsoft Office 做的“一模一样”,才能抢到这部分市场。以至于我之前和@汐笺 聊 SaaS 的时候说:

你如果做了一个办公三件套,觉得自己很创新,和 Office 长得不像。那一定是你做错了,因为微软办公套件里的每个按钮都有一个你们整个团队那么多的产品和研发,还对应了 0.x%~x% 的市场份额。

不仅在工具层面如此,在管理工具层面也是如此,OKR 是一个所谓“面向创新”的管理工具。但即便是在人类密集创新的最近半个世纪里,创新也并非企业的常态。创新带来的是新增长点,但这个点一旦被创出来了,后面的增长工作无一例外是由海量的人与资金在枯燥的日常工作中驱动的。


何时获得GMU经济学博士学位 - 作者:布莱恩·卡普兰 - 押注吧 — When To Get a GMU Econ Ph.D. - by Bryan Caplan - Bet On It

Suppose, however, that the student can win admission to a top-25 program, is willing to suffer, but correctly believes that Masonomics is intellectually superior to mainstream economics. What then? My answer: Go to the top-25 program anyway. You can absorb everything that GMU economists know by reading our work and asking us questions via email and Zoom. We’re highly responsive to curious minds. Indeed, if you fit the preceding profile, you’d probably be welcome to spend your summers hanging out in my office building and joining us for lunch every day. A true scholar knows at least 10x as much about his subject as he learned in his official coursework, so don’t worry too much if your official coursework is a vast wasteland. I ought to know; after all, I went to Princeton.

然而,假设学生能够被录取进入排名前25的项目,愿意承受一些困难,但正确地认为梅森经济学在学术上优于主流经济学。那又如何呢?我的回答是:无论如何去那个排名前25的项目。你可以通过阅读我们的作品并通过电子邮件和Zoom向我们提问来吸收乔治梅森大学经济学家所知道的一切。我们对好奇的思维非常积极回应。实际上,如果你符合上述条件,你可能会被欢迎在我的办公楼里度过夏天,并每天与我们一起吃午餐。一个真正的学者对自己的专业至少了解比他在正式课程中学到的多10倍,所以如果你的正式课程是一片荒地,也不要太担心。我应该知道;毕竟,我曾就读于普林斯顿大学。

If you’re curious about getting a Ph.D. at GMU, I’m always happy to chat. Before we talk, however, please take everything above to heart. To wit: 如果你对在GMU获得博士学位感兴趣,我很乐意聊聊。然而,在我们交谈之前,请牢记上述所有内容。简言之:

Know your career goal.  了解你的职业目标。

Know why the intermediate option of the masters is almost always imprudent. 知道为什么硕士的中间选项几乎总是不明智的。

Know your preference for short-run suffering versus long-run career success. 了解你对短期苦难与长期职业成功的偏好。

Know you can learn all the Masonomics you desire while attending a competing school. 你可以在就读竞争学校的同时学习你想要的所有Masonomics知识。

And for God’s sake, if you want a Ph.D., apply to at least 15 schools! 求上帝的恩赐,如果你想要博士学位,请至少申请15所学校!