<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Good Tech Things]]></title><description><![CDATA[Cloud and tech commentary from Forrest Brazeal]]></description><link>https://newsletter.goodtechthings.com</link><image><url>https://substackcdn.com/image/fetch/$s_!pt3-!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F53dec02b-d276-41ae-98ec-b34b1e686c78_120x120.png</url><title>Good Tech Things</title><link>https://newsletter.goodtechthings.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 24 Apr 2026 14:05:46 GMT</lastBuildDate><atom:link href="https://newsletter.goodtechthings.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Forrest Brazeal]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[hello@goodtechthings.com]]></webMaster><itunes:owner><itunes:email><![CDATA[hello@goodtechthings.com]]></itunes:email><itunes:name><![CDATA[Forrest Brazeal]]></itunes:name></itunes:owner><itunes:author><![CDATA[Forrest Brazeal]]></itunes:author><googleplay:owner><![CDATA[hello@goodtechthings.com]]></googleplay:owner><googleplay:email><![CDATA[hello@goodtechthings.com]]></googleplay:email><googleplay:author><![CDATA[Forrest Brazeal]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Paradox, Inc]]></title><description><![CDATA[exciting book news!]]></description><link>https://newsletter.goodtechthings.com/p/paradox-inc</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/paradox-inc</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Wed, 22 Apr 2026 15:38:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!RiG0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>TL;DR - you can now pre-order <a href="https://www.amazon.com/Paradox-Inc-Novel-Forrest-Brazeal-ebook/dp/B0D6BNS1SG">PARADOX INC</a>, my ridiculous novel about the Silicon Valley time travel bubble, coming in January 2027 from Ballantine Books.</em></p><p>&#8220;How a manuscript becomes a book&#8221; would be the most boring possible episode of Schoolhouse Rock, and also the longest. </p><p>I am used to things happening on tech timescales, which go like this: &#8220;Claude Code was invented two weeks ago and has $30 billion in run rate, so obviously our own product, invented three weeks ago, is obsolete; but never fear, we&#8217;ve vibe-coded a pivot to a completely different product, it releases tomorrow, can we get 100 million users by Friday?&#8221;</p><p>The timescale for the production of PARADOX INC is basically a geologic epoch by comparison and has proceeded thus:</p><ul><li><p><strong>August of 2023: </strong>Forrest thinks it would be funny to write a novel about the tech industry trying to invent a time machine.</p></li><li><p><strong>September 2023-July 2024: </strong>Forrest writes the novel, then rewrites it, then rewrites it again. It makes him laugh a lot. It&#8217;s cathartic. </p></li><li><p><strong>June-October 2024: </strong>Forrest searches for and eventually finds a literary agent who agrees to represent the book to publishers.</p></li><li><p><strong>October-December 2024: </strong>Forrest and his agent make some further edits to the book, which at this point is titled THE BLEB PROJECT.</p></li><li><p><strong>January 2025: </strong>Forrest&#8217;s agent submits the book to several publishers.</p></li><li><p><strong>February 2025: </strong>Ballantine Books/Penguin Random House <a href="https://newsletter.goodtechthings.com/p/breaking-some-huge-personal-news">purchases the worldwide rights</a> to the book. This is very, very exciting.</p></li><li><p><strong>March-June 2025: </strong>Forrest and his editor at Ballantine do several more rounds of deep edits on the book: fixing loopholes in the time-travel logic, making some characters come into focus more clearly, etc. </p></li><li><p><strong>July 2025: </strong>An &#8220;authenticity reader&#8221; appointed by Ballantine recommends a few additional tweaks.</p></li><li><p><strong>August-September 2025: </strong>A &#8220;line editor&#8221; from Ballantine makes nitpick/typo-level edits to the book. Title is changed to PARADOX INC.</p></li><li><p><strong>Fall 2025: </strong>The book design team at Penguin Random House produces the digital proofs of the book, essentially a PDF of what will go between the covers. Lots of back-and-forth here on fonts, layout, etc. You would think this is the last step before publication. It is closer to the midpoint than the end.</p></li><li><p><strong>January-March 2026: </strong>We chase &#8220;blurbs&#8221;, a humbling process of sending a bunch of cold emails to busy people who are much more successful authors than you, in the hopes that at least a few of them will take their time to 1) read your unpublished book and 2) publicly say something nice about it. Incredibly, several people have done this, not least among them ANDY FREAKING WEIR, who calls the book &#8220;funny and distressingly realistic&#8221;. I&#8217;ll take it!</p></li><li><p><strong>April 22 (today!) </strong>We have a <a href="https://bookshop.org/p/books/paradox-inc-a-novel-forrest-brazeal/4c6ef73929596bdb">preorder page</a> and a cover!</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!RiG0!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RiG0!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp 424w, https://substackcdn.com/image/fetch/$s_!RiG0!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp 848w, https://substackcdn.com/image/fetch/$s_!RiG0!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp 1272w, https://substackcdn.com/image/fetch/$s_!RiG0!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RiG0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp" width="1316" height="2000" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:2000,&quot;width&quot;:1316,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:43004,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/webp&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://newsletter.goodtechthings.com/i/194806165?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RiG0!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp 424w, https://substackcdn.com/image/fetch/$s_!RiG0!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp 848w, https://substackcdn.com/image/fetch/$s_!RiG0!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp 1272w, https://substackcdn.com/image/fetch/$s_!RiG0!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4cc21fe0-a680-400d-b473-e469afa26313_1316x2000.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I did a short interview with People Magazine, <a href="https://people.com/paradox-inc-cover-reveal-exclusive-11955668">out today</a>, explaining some of why I wrote this book and what you can expect from it. Essentially, this novel is my way of &#8220;talking about AI without talking about AI.&#8221; If you&#8217;ve been in the tech industry at all over the last few years, I hope you&#8217;ll find the story funny and thought-provoking.</p><p>Although the book is physically finished, we still have several months to go before the hardcover is on shelves. One of the things I&#8217;ve learned over the past year and change is that Big Five publishers are mostly in the enterprise sales business&#8212;a lot of the time leading up to publication is spent trying to get book distributors to purchase wholesale piles of the book and bookstores and libraries to stock it.</p><p>If I had chosen to self-publish PARADOX INC, it would have been available nearly two years ago. On tech timescales, that&#8217;s literally a lifetime. This book is older than <a href="https://www.freemanandforrest.com/">my 25-person company</a>. </p><p>But I chose to go through the traditional publishing process for a reason. I&#8217;ve met and learned from lots of interesting people, I&#8217;ve been able to see how a large, legacy industry works from the inside, and of course the finished book is also much better and more beautiful than I could have produced on my own.</p><p>I am very excited for you to read PARADOX INC. I think, if you subscribe to this newsletter, the odds are that you&#8217;ll really enjoy it. Pre-orders help a lot with convincing those bookstores and libraries to stock the book, so please do <a href="https://bookshop.org/p/books/paradox-inc-a-novel-forrest-brazeal/4c6ef73929596bdb">order from your preferred retailer</a> and tell your friends.</p><p>Thank you so much for your support!</p><p></p>]]></content:encoded></item><item><title><![CDATA[Speed Trap]]></title><description><![CDATA[a parable]]></description><link>https://newsletter.goodtechthings.com/p/speed-trap</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/speed-trap</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Thu, 19 Feb 2026 16:27:17 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!MGvG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>My most transformative experience of 2025, in retrospect, was probably taking a Waymo self-driving taxi ride &#8230; in Atlanta.</em></p><p><em>Yes, I&#8217;ve been seeing Waymos and Cruises and Robotaxis periscoping their way around city streets for what feels like years &#8230; but always when I visit San Francisco. And you have to understand that San Francisco is not a real place. It is a city-size skunkworks lab/social experiment where they cheerfully roll out things like <a href="https://www.flocksafety.com/blog/sf-takes-historic-step-to-solve-crime-with-400-lpr-cameras">LIDAR surveillance cameras</a> and <a href="https://www.wired.com/story/sam-altman-orb-store-san-francisco/">stores full of eyeball-scanning orbs</a> just &#8230; kind of to see what will happen. You accept this stuff when you go to San Francisco because, again, San Francisco is not a real place.</em></p><p><em>Atlanta is a real place. It&#8217;s just a few hours from my hometown. And a little electric Jaguar SUV-thing tricked out with Waymo cameras tooled me through the construction detours and pedestrian traffic on the 73 different Peachtree Streets of downtown Atlanta, no problem.</em></p><p><em>Self-driving cars have been a punchline for so long that it&#8217;s disorienting to see that all of a sudden they&#8217;re </em>here<em>. They&#8217;ve breached tech-hub containment and now they&#8217;re in normal places where people live. And a lot of people are going to have to update their biases in a big hurry about what this technology can do.</em></p><p><em>In the meantime, here is a little short story inspired by that Waymo ride:</em></p><h2>Speed Trap</h2><p>Greco? (said my friend); Greco, <em>Indiana</em>? Now <em>that&#8217;s </em>a story.</p><p>Of course I had <em>been </em>through Greco; everybody has. Been <em>through </em>it, you understand, not <em>to </em>it. Greco was a drive-through town if I ever saw one. Just a wide place on state route 280, about four-and-a-half blocks of turn-of-the-century brick storefront, half of it empty and falling down since they closed the furniture factory&#8211;kind of gave you a sad feeling, you know, those boarded-up windows and empty sidewalks, and every now and then you&#8217;d see a little stray cat sitting under a bus stop bench, wondering where it all went wrong. It was hard to understand, at first glance, why the place hadn&#8217;t folded up altogether and gone back to prairie in about 1980.</p><p>And that&#8217;s how they&#8217;d get you, man. Bam! Right when you were feeling sorry for them. That town didn&#8217;t have much going for it, civically speaking, but by God they did have one thing. Greco, Indiana, was the greatest natural speed trap east of the Rocky Mountains.</p><p>First of all, route 280 was the connecting link between two major highways, and so if you were trying to get to Chicago from points north and east you really didn&#8217;t have any choice. It was Greco or the back roads, so unless you wanted a thirty-minute detour, you <em>had </em>to drive down Main Street. You&#8217;d come flying off I-47 after three hours of doing 70 per, then you&#8217;ve got a mile and a half of Greco, then you&#8217;re back on another interstate. You really had to work hard not to speed through town.</p><p>But on top of that, Greco had their town speed limits cranked down as low as legally possible. It was 20 miles per hour when I got caught there, but I think for a while it was actually 15. <em>Fifteen miles per hour! </em>Not to mention the whole town is on this gentle, descending slope. Not a big theatrical hill that makes you pay attention and jam on the brakes. Just a subtle little accelerant, enough to nudge you from 30 to 32 on the speedometer&#8230;</p><p>And then whoop! Out of nowhere the cop is on you. They would have &#8216;em waiting in a parking lot that was sunk below the grade of the road, so you never saw &#8216;em coming. On summer weekends, when vacationers were zipping through all day, they&#8217;d have ten, twelve, fifteen patrol cars lined up in that parking lot. Greco hired seasonal traffic cops the way Macy&#8217;s hires temps at Christmas. Just clinically efficient. They&#8217;d pull you over, slap a two-hundred-and-fifty dollar fine on you, and be back in their lair in less time than it takes to fill up a tank of gas.</p><p>Greco had no industry, no commerce, no points of attraction, no natural beauty spots. All they had was this damn speed trap. But that was all they needed. Believe me when I tell you, <em>eighty-six percent of their municipal revenue came from traffic tickets. </em>They had the perfect golden goose out there, and I guess they figured they&#8217;d just keep collecting its eggs in their one basket until the end of time.</p><p>But then the self-driving cars showed up.</p><p>I mean. You talk about a meteor shower coming for the dinosaurs. At first it was just a smattering, you know, one or two a day, enough to point and laugh at. But you know how technology goes. One summer a self-driving car is something to exclaim over, the next year you can&#8217;t count &#8216;em, and by the year after that it&#8217;s the human drivers who catch you by surprise.</p><p>To their credit, Greco realized what the danger was. They tried early to ban self-driving cars from town entirely. That didn&#8217;t hold up in court, of course. What were they supposed to say&#8211;that the cars were making the town too safe? They couldn&#8217;t very well make their real complaint, which was that they had built their whole economy around the reliable imperfection of human drivers, and suddenly that human element was just &#8230; gone. Replaced by an orderly little line of crossover SUVs with LIDAR sensors that always knew exactly what the speed limit was.</p><p>When the speeding tickets started drying up, that&#8217;s when the town council really got scared. They fought back any way they knew how.</p><p>They tried obscuring the speed limit signs with branches to confuse the car sensors. Contradictory signage, confusing lane stripes, all that adversarial crap. But the cars were pretty hard to outsmart, and got smarter all the time. There was even talk of clawing back the lost money by making Main Street a toll road&#8211;but because it was technically a state route, they didn&#8217;t have authority. Meanwhile the speeding ticket revenue dropped&#8230;and dropped&#8230;and dropped. They had to lay off all those seasonal cops. For awhile they were down to just one patrolwoman, and her job wasn&#8217;t looking so safe. They could barely pay for trash removal, couldn&#8217;t pay at all for streetlights. The future of Greco as a going concern looked pretty short.</p><p>But then a funny thing happened.</p><p>On the way to bankruptcy, the town of Greco somehow found a new source of income. One night the streetlights came back on, and stayed on. That one patrolwoman&#8211;she didn&#8217;t get fired. She got promoted. And then the town hired another, and another. The next year they broke ground on a brand new police station. The year after that, while the self-driving cars kept chugging through town, Greco somehow found money to buy their SWAT team two tanks and a rocket-propelled grenade launcher.</p><p>I&#8217;m no expert, and I haven&#8217;t seen the books, but it sure looks to me like they&#8217;re raking in more money than they did in the glory days before the self-driving cars showed up.</p><p>The question is <em>how</em>? They haven&#8217;t changed anything. They haven&#8217;t raised or lowered the speed limit. They aren&#8217;t bothering to obfuscate the road signage anymore. It&#8217;s just this dead little town full of perfectly-behaved thru-traffic, with <em>the richest police department of its size in the world.</em></p><p>How are they doing it? I don&#8217;t know and I wouldn&#8217;t presume to say.</p><p>But I do know this: it&#8217;s a little nerve-racking at first to ride in a self-driving car, but pretty soon you just stop thinking about it. The thing is so reliable, so safe, so smooth, that you learn to let it handle the road for you. You curl up in the backseat with your phone or a good book, or maybe you drift off to sleep, and you just forget about the world outside until you come to a stop.</p><p>Until one day the car comes to a stop in a tiny town somewhere between Detroit and Chicago, a place you&#8217;ve never been and don&#8217;t know the name of&#8211;just a little bypass between two highways. The car has pulled itself over like a good little autonomous vehicle because of the blue flashing lights behind it.</p><p>A friendly policewoman taps on your window&#8211;the back window&#8211;and when you roll it down she says: &#8220;Do you know how fast you were going?&#8221;</p><p>And of course you don&#8217;t know. You don&#8217;t have any idea. You say: &#8220;I&#8217;m sure I was going the speed limit.&#8221;</p><p>She shakes her head and says: &#8220;It&#8217;s 20 through here, I had you at 32. Can I see your license and registration, please?&#8221;</p><p>Now, maybe you are pretty convinced that you weren&#8217;t going 32. Maybe you look through your car&#8217;s data history and confirm it, though I bet you don&#8217;t know how to do that. Maybe you vow to come back in six weeks to this nowhere town, in your car with the out-of-state plates, and fight the ticket in court.</p><p>Maybe, if you give off a convincing vibe that you&#8217;re thinking of fighting, the police officer might generously knock your ticket down to an &#8220;equipment malfunction&#8221; so that you&#8217;re only out eighty bucks, with no points added to your license. There&#8217;s no way you&#8217;re coming all the way back to fight that. You&#8217;ll pay it and move on.</p><p>Either way, the point is that in that crucial moment when the officer rolls down the window and asks how fast you were going&#8211;you&#8217;re not quite sure. And that little moment of doubt, repeated over thousands of traffic stops&#8230;it might, just maybe, be worth big money.</p><p>I&#8217;m not saying that&#8217;s what&#8217;s happening in Greco, Indiana. But I advise that if you do find your self-driving car taking the Greco exit on I-47 this summer&#8230;even though the place looks deserted and the buildings are falling down&#8230;look out for that shiny new police headquarters set back from the main road. And keep a close eye on your speedometer. The self-driving car can only take you so far.</p><h2>Cartoon of the day</h2><p>This should clear everything up:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!MGvG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!MGvG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png 424w, https://substackcdn.com/image/fetch/$s_!MGvG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png 848w, https://substackcdn.com/image/fetch/$s_!MGvG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png 1272w, https://substackcdn.com/image/fetch/$s_!MGvG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!MGvG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png" width="1456" height="1435" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1435,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1395225,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://newsletter.goodtechthings.com/i/184268054?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!MGvG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png 424w, https://substackcdn.com/image/fetch/$s_!MGvG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png 848w, https://substackcdn.com/image/fetch/$s_!MGvG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png 1272w, https://substackcdn.com/image/fetch/$s_!MGvG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5eb21034-5f3f-4b7c-9673-2fddc2e42431_2509x2472.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[When everybody's down, nobody is]]></title><description><![CDATA[you want a take about the AWS outage? fine, here's a take]]></description><link>https://newsletter.goodtechthings.com/p/when-everybodys-down-nobody-is</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/when-everybodys-down-nobody-is</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Thu, 23 Oct 2025 16:57:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!zC7S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>AWS us-east-1 <a href="https://www.theverge.com/news/802486/aws-outage-alexa-fortnite-snapchat-offline">went down hard</a> this week and took half the internet with it. This happens every 12-18 months or so. Amazing it doesn&#8217;t happen more frequently, tbh.</p><p>As always you have the Monday morning sysadmins chiming in with:</p><ul><li><p>This is why you use <a href="https://x.com/_Mark_Atwood/status/1981025019611267164">a different cloud</a></p></li><li><p>This is why you <a href="https://x.com/dj_goosen/status/1981177303704162316">multicloud</a></p></li><li><p>This is why you <a href="https://x.com/dhh/status/1980245233339408596">don&#8217;t cloud</a> at all</p></li></ul><p>All boiling down to: this is why you should build a stupendous edifice of technological wizardry that is IMMUNE TO AWS US-EAST-1 GOING DOWN.</p><p>You mortal fools! We are paying the price for <a href="https://www.reddit.com/r/30ROCK/comments/1ga1f4q/the_line_are_we_paying_the_price_for_our_hubris/">our hubris of science</a>. Don&#8217;t you see? It doesn&#8217;t matter what your app architecture is. If AWS falls over, you are going to be affected NO MATTER WHAT. </p><p>It&#8217;s not that AWS is too big to fail. AWS has become too big <em>for you to avoid failing</em>.</p><p>I don&#8217;t care what the uptime of your haunted palace of Kubernetes is. If AWS is down, your vendors might be down. At least some of your integrations will surely be down. A whole bunch of your customers&#8212;you know, the people who have to be online in order to use your product&#8212;are guaranteed to be down. The CEO of Vercel found out about this outage because <a href="https://x.com/rauchg/status/1980316868184535292">his bed died</a>. At some point, if you want to do business, your app has to come in contact with the real world, and the real world runs on AWS.</p><p>&#8220;But we vet our vendors / we are EU-regulated / blah blah &#8230;.&#8221;  Please. The dependencies of these systems are way beyond your ability to be confident that AWS isn&#8217;t involved somewhere up the chain. Evelyn Osman is a platform engineer in Germany. She <a href="https://bsky.app/profile/chipnick.com/post/3m3uj7b2i7c2w">says </a>&#8220;We use <a href="https://preset.io/">preset.io</a> in their Stockholm location and they were impacted because they use Docker Hub so one of the components couldn&#8217;t scale out during the outage. We&#8217;re EU regulated and yet integrations had issues.&#8221;</p><p>Let the reader understand: AWS falling over is the internet apocalypse. You people imagining hermetically-sealed no-AWS environments are doomsday preppers. Your doomsday island only protects you until you get an infected hangnail and need a doctor. Then you&#8217;re right back out in the real world, where, oops, <a href="https://www.digitalhealth.net/2025/10/aws-outage-causes-disruption-to-patient-care-across-nhs-sites/">the doctors are powered by AWS</a>.</p><p>But take heart. This is not bad news. This is joyous news. Here is the ancient wisdom, learned by all those people who didn&#8217;t get fired for buying IBM: <strong>when everybody&#8217;s down, nobody is down</strong>. </p><p>Look, <a href="https://www.freemanandforrest.com/">my whole business</a> is based on paying very close attention to what people are saying about tech companies on the internet. Were developers up in arms, furious, vengeful, because their favorite tools experienced &#8220;elevated error rates&#8221; this week? For the most part, no, they were not. Nobody experienced brand damage because of the AWS outage. Not even AWS. Honestly, it just adds to their mystique.</p><p>An AWS outage at this point is like an act of God. You sigh, you implement whatever disaster plan you have, you patch a few holes for next time, you move on to the next problem. Your customers aren&#8217;t going to leave you because AWS went down. </p><p>Where are they gonna go?</p><h2>Today&#8217;s cartoon</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!zC7S!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!zC7S!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png 424w, https://substackcdn.com/image/fetch/$s_!zC7S!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png 848w, https://substackcdn.com/image/fetch/$s_!zC7S!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png 1272w, https://substackcdn.com/image/fetch/$s_!zC7S!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!zC7S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png" width="1140" height="1140" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1140,&quot;width&quot;:1140,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Vibe Coders&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Vibe Coders" title="Vibe Coders" srcset="https://substackcdn.com/image/fetch/$s_!zC7S!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png 424w, https://substackcdn.com/image/fetch/$s_!zC7S!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png 848w, https://substackcdn.com/image/fetch/$s_!zC7S!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png 1272w, https://substackcdn.com/image/fetch/$s_!zC7S!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1c60af41-a37b-40a2-b266-3e5a7110109c_1140x1140.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Harsh truths to save you from ChatGPT psychosis]]></title><description><![CDATA[Please pass this on to that one family member who needs it]]></description><link>https://newsletter.goodtechthings.com/p/harsh-truths-to-save-you-from-chatgpt</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/harsh-truths-to-save-you-from-chatgpt</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Thu, 14 Aug 2025 20:44:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!V_Qq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I am currently dealing with multiple people in my life who seem deep in the throes of what Futurism calls &#8220;<a href="https://futurism.com/commitment-jail-chatgpt-psychosis">ChatGPT psychosis</a>.&#8221; I suspect you may know people like this as well. It is alarming and perplexing. </p><p>People have been confusing chatbots for sentient conversation partners <a href="https://en.wikipedia.org/wiki/ELIZA">since the 1960s</a>, but what&#8217;s going on here feels new. Sometimes the victims of ChatGPT (or Claude, or Gemini) psychosis <a href="https://www.rollingstone.com/culture/culture-features/ai-spiritual-delusions-destroying-human-relationships-1235330175/">come to believe that AI is a godlike entity</a>&#8212;but it never starts there. First AI makes them feel that <em>they themselves </em>are superintelligent. That their most sophomoric ideas are brilliant, that their vague prompts qualify as original thinking, or that their uninformed speculations are important contributions to scholarly fields they have never studied. </p><p>Once you come to believe that you are sort of a minor cybernetic deity, you have lost touch with reality in a subtle, terrifying way. You are at the mercy of whatever <a href="https://www.reddit.com/r/MyBoyfriendIsAI/">weird fantasy</a> the LLM spits out next.</p><p>The major LLMs are all <a href="https://openai.com/index/sycophancy-in-gpt-4o/">in a sycophantic phase</a> right now, which doesn&#8217;t help, but I doubt that &#8220;<a href="https://www.wired.com/story/openai-gpt-5-backlash-sam-altman/">make the chatbots less encouraging</a>&#8221; is an easy fix here. We are dealing with a technology uniquely suited to snipe intelligent, well-educated people into believing they are much, much smarter than they really are. That is an addictive sensation, not easily quit.</p><p>That means you, yes you, reading this, are at risk.</p><p>If you talk to LLMs at all&#8212;and at this point, who doesn&#8217;t?&#8212;it might not be a bad idea to post these reminders next to your computer, just to protect your own mind against infohazards:</p><ol><li><p><strong>AI will not make you smarter. </strong>It will make you <em>faster </em>at retrieving (possibly correct) answers to certain questions. It will not improve your reasoning, judgment, or mental processing ability. <a href="https://www.media.mit.edu/projects/your-brain-on-chatgpt/overview/">It may even degrade them.</a> Engaging in long, Socratic discussions with AI chatbots will not sharpen your rhetoric, it will only leave you screaming into your own personal void. <strong>AI will not lift you out of mediocrity.</strong></p></li><li><p><strong>AI will not make you more interesting. </strong>AI-generated words may be helpful to you in your own research. Nobody else is interested in reading them. Why should they be, when you couldn&#8217;t be bothered to write them?<strong> </strong>Assume that nothing written by AI is worth publishing. <strong>AI will not earn anyone&#8217;s respect.</strong></p></li><li><p><strong>AI will not make you more creative. </strong>Everything the LLMs tell you is summed up from a source at best, made up at worst. This can be quite useful when you are studying existing ideas. It is not to be mistaken for original insight. <strong>AI will not reveal secrets to you. </strong></p></li><li><p><strong>AI will not make you an expert. </strong>If you do not understand the subject you are prompting about, AI will happily lead you into <a href="https://en.wikipedia.org/wiki/Category_mistake">category errors</a>. Unlike a human teacher, LLMs may not tell you that you are asking the wrong questions. Language models built on producing the most plausible next word are powerless to keep you from blundering into the wrong semantic space entirely. <strong>AI will not give you any new competencies.</strong></p></li></ol><p>I&#8217;m sure there are exceptions to all those harsh generalities. It doesn&#8217;t matter. You have to live as though these 4 rules are absolute laws of the universe. The minute you start believing that your brain on ChatGPT is smarter, more creative, more interesting, more capable&#8212;that&#8217;s the minute you start <a href="https://www.nytimes.com/2025/06/13/technology/chatgpt-ai-chatbots-conspiracies.html">the spiral into madness</a>. You have to keep repeating to yourself that AI is not sentient, it is not really talking to you, and it doesn&#8217;t really have any answers. Otherwise your damn caveman brain flips into &#8220;pray to the magic oracle&#8221; mode and before you know it you&#8217;re <a href="https://www.dailymail.co.uk/femail/article-14649199/woman-left-husband-fell-love-ai-chatgpt.html">leaving your husband for a chatbot named Leo</a>. </p><p>Or you might just end up producing a bunch of AI slop instead of getting good at anything. That serves nobody well, least of all you.</p><p><a href="https://www.youtube.com/watch?v=s4Q41V1C4B4">Human friend, you will have to choose</a> - are you going to use AI or is it going to use you?</p><h3>Cartoon of the day</h3><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!V_Qq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!V_Qq!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png 424w, https://substackcdn.com/image/fetch/$s_!V_Qq!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png 848w, https://substackcdn.com/image/fetch/$s_!V_Qq!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png 1272w, https://substackcdn.com/image/fetch/$s_!V_Qq!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!V_Qq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png" width="1140" height="1140" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1140,&quot;width&quot;:1140,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;AI Juniors&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="AI Juniors" title="AI Juniors" srcset="https://substackcdn.com/image/fetch/$s_!V_Qq!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png 424w, https://substackcdn.com/image/fetch/$s_!V_Qq!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png 848w, https://substackcdn.com/image/fetch/$s_!V_Qq!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png 1272w, https://substackcdn.com/image/fetch/$s_!V_Qq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5865f382-529b-4995-87e7-ad86c0f1a14c_1140x1140.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Breaking some huge personal news]]></title><description><![CDATA[This is the biggest news I have ever put in this newsletter]]></description><link>https://newsletter.goodtechthings.com/p/breaking-some-huge-personal-news</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/breaking-some-huge-personal-news</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Fri, 07 Feb 2025 18:46:52 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!GzsB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Yesterday, this announcement went up on a website called Publisher&#8217;s Marketplace, used by agents and editors in the book industry:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!GzsB!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!GzsB!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png 424w, https://substackcdn.com/image/fetch/$s_!GzsB!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png 848w, https://substackcdn.com/image/fetch/$s_!GzsB!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png 1272w, https://substackcdn.com/image/fetch/$s_!GzsB!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!GzsB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png" width="690" height="550" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:550,&quot;width&quot;:690,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:51960,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!GzsB!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png 424w, https://substackcdn.com/image/fetch/$s_!GzsB!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png 848w, https://substackcdn.com/image/fetch/$s_!GzsB!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png 1272w, https://substackcdn.com/image/fetch/$s_!GzsB!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F14a548d5-0334-4ce9-9876-10b63642a3b0_690x550.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>In case the weird run-on sentence format doesn&#8217;t make it clear: I have sold my first novel!!</p><p>This is something I have wanted to do since I was a kid. It is a big deal for me and I am very, very pumped.</p><p>Let&#8217;s break down that blob of text:</p><blockquote><p>THE BLEB PROJECT by Forrest Brazeal</p></blockquote><p>The novel is by me and THE BLEB PROJECT is what it&#8217;s called.</p><blockquote><p>Imprint: Ballantine</p></blockquote><p>Ballantine Books is an imprint of Penguin Random House, the biggest of the &#8220;Big Five&#8221; book publishers. I have read and enjoyed many books from Ballantine over the years, and I bet you have too. Here is one set of Ballantine editions that played a formative role in my life:</p><p></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!3wI5!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!3wI5!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3wI5!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3wI5!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3wI5!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!3wI5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg" width="570" height="428" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/a75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:428,&quot;width&quot;:570,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;The Two Towers 50th Anniversary, J.R.R. Tolkien, Fantasy, Scifi, Lord of  the Rings, - Etsy&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="The Two Towers 50th Anniversary, J.R.R. Tolkien, Fantasy, Scifi, Lord of  the Rings, - Etsy" title="The Two Towers 50th Anniversary, J.R.R. Tolkien, Fantasy, Scifi, Lord of  the Rings, - Etsy" srcset="https://substackcdn.com/image/fetch/$s_!3wI5!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg 424w, https://substackcdn.com/image/fetch/$s_!3wI5!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg 848w, https://substackcdn.com/image/fetch/$s_!3wI5!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!3wI5!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fa75d3d82-013c-4144-aecd-40b7206f77cf_570x428.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">You&#8217;ve either never seen these covers, or you&#8217;ll never forget them. A lot of 80s sci-fi cover art was like that.</figcaption></figure></div><p>Publishing a book with Ballantine/PRH is a very big deal to me.</p><p>So what is this book about, anyway?</p><blockquote><p>a novel that asks what happens when Silicon Valley invents time travel</p></blockquote><p><em>Silicon Valley invents the time machine. </em>That is the elevator pitch. I started writing this in late 2023, while I was still at Google. I&#8217;d known for awhile I wanted to do a book about a tech bubble from beginning to end - I&#8217;d seen AI and crypto firsthand, and the shadow of the dot-com boom and bust still looms over the industry. Enough to see that there&#8217;s kind of an archetypal shape to these things, an almost mythic rise and fall of greed, hubris, and straight-up idiocy alongside all the technological gimcrackery.</p><blockquote><p>mixing satire and science fiction</p></blockquote><p>The tech industry is joyfully ludicrous and I wanted to do a satire, but I didn&#8217;t want to do HBO&#8217;s <em>Silicon Valley. </em>That story has been told, and updating it for the political climate of the 2020s didn&#8217;t seem worth the effort.</p><p>So I thought maybe I should mix in a science-fiction element.</p><p>I woke up one morning in a hotel in Sunnyvale, California, with a 102-degree fever, and thought: "What if there was a time-travel bubble?&#8221;</p><blockquote><p>a na&#239;ve young engineer, a crusading journalist, and a jaded big tech executive &#8230; start-up bros, predatory venture capitalists, and conscience-free billionaires</p></blockquote><p>The novel is told in mockumentary format, like an oral history&#8212;think Max Brooks&#8217; <em>World War Z, </em>but with more reply-all email threads. I tried to include some real characters, with real feelings, who grow and change in surprising ways&#8212;the silly technobabble is the least interesting part of this story.</p><blockquote><p>to Julian Pavia at Ballantine, in a preempt &#8230; (world)</p></blockquote><p>I submitted the novel to several publishers via my wonderful agent at Howard Morhaim Literary, but Julian was my first choice. He&#8217;s edited some of my favorite recent science-fiction novels, and maybe some of yours too:</p><ul><li><p>Ernest Cline&#8217;s <em>Ready Player One</em></p></li><li><p>Blake Crouch&#8217;s <em>Dark Matter </em>and <em>Recursion</em></p></li><li><p>Andy Weir&#8217;s <em>The Martian </em>and <em>Project Hail Mary</em></p></li></ul><p>Nobody&#8217;s better at books that jump the tracks from the speculative-fiction genre to general audiences everywhere. I could not be more stoked to be working with Julian and his team.</p><p>&#8220;In a preempt&#8221; means that Ballantine offered a somewhat larger advance payment on the book in exchange for signing an immediate deal, rather than the book being auctioned off between multiple competing publishers. And &#8220;(world)&#8221; means that Penguin Random House bought the worldwide publishing rights, so that maybe someday you&#8217;ll be able to read or listen to THE BLEB PROJECT in your own language, in whatever country you live in.</p><blockquote><p>Film: Michael Prevett at Circle of Confusion</p></blockquote><p>Apparently I now have a film/TV agent? Who knows what that will turn into, if anything, but I guess if you&#8217;re one of the many big-time Hollywood producers who read this newsletter, you know who to contact.</p><p>There, now you know everything about the publishing industry that I know.</p><p>The traditional publishing process is long, long, long, so it will likely be 2026 before the book is finally on shelves. For now, I&#8217;m still just in shock that this is actually happening. I&#8217;ve been scribbling stories since I was nine years old. I&#8217;ve done <a href="https://www.amazon.com/Read-Aloud-Cloud-Innocents-Inside/dp/1119677629">niche nonfiction</a>, I&#8217;ve done <a href="https://isfdb.org/cgi-bin/ea.cgi?277782">short stories</a>, I&#8217;ve <a href="https://cloudresumechallenge.dev/book/">self-published</a>, but a for-real novel with a major publisher feels like a whole different thing. I&#8217;m not going to aw-shucks about it. It&#8217;s a big deal, especially for a dude from the Carolina Piedmont with no formal writing training and no connections whatsoever in the publishing industry.</p><p>I will share more news as it happens. </p><h3>Just for fun</h3><p>But don&#8217;t worry, I&#8217;m still going to be drawing plenty of silly cartoons.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!DfN7!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!DfN7!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!DfN7!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!DfN7!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!DfN7!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!DfN7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:505312,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!DfN7!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!DfN7!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!DfN7!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!DfN7!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F94e23338-8720-463c-a8b7-dfa8dd1b429e_2050x2050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[I'm glad I took the off-ramp from software engineering]]></title><description><![CDATA[A letter to my very stupid 22-year-old self]]></description><link>https://newsletter.goodtechthings.com/p/you-get-10-years-to-be-a-software</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/you-get-10-years-to-be-a-software</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Wed, 22 Jan 2025 14:21:08 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!n_1l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Dear Stupid 22-Year-Old Self,</p><p>Congratulations on your shiny new computer science degree! You won&#8217;t be needing that anymore, feel free to forget all about it.</p><p>You like writing code, which is convenient, because all you&#8217;ve heard from your parents and teachers is that Working With Computers (tm) puts you on a steady career path that will just trend upwards over time.</p><p>They&#8217;re wrong.</p><p>You think that $500,000+ comp packages for &#8220;senior software engineers&#8221; are a law of the universe, that they&#8217;re waiting at the end of the rainbow for anybody who can crank enough leetcode to pass a technical screen.</p><p>You&#8217;re wrong about that, too, although it&#8217;ll be a few years before the tech bubble boils down enough for you to see why.</p><p>You think that you&#8217;ll never have to become a manager, because &#8220;IC&#8221; (individual contributor) tracks at the FAANG companies go all the way up to Distinguished Engineer. That&#8217;s a VP-level position! You can get paid like an executive without ever having to do anything but write code.</p><p>Except, you can&#8217;t. As in: you, specifically, probably can&#8217;t.</p><p>Your parents and teachers did a good job convincing you that it was foolish to bet on becoming a concert pianist or a major league baseball player. You have to be a genetic freak to get one of those jobs, and probably rich and well-connected too.</p><p>What they didn&#8217;t mention is that becoming a Distinguished Engineer at Amazon or Google is <em>an order of magnitude harder </em>than reaching the top as a professional musician or athlete. I&#8217;m not exaggerating. The NBA has the smallest roster sizes in North American professional sports; there are something like 500 active NBA players across all 32 teams. </p><p>Last I checked, here in the far-off future year of 2025, there are about 50 Distinguished Engineers at Google.</p><p>Your teachers tell you that you&#8217;re smart and ambitious. So be smart about this. Pulling down a 7-figure salary as a programmer is not an inevitable end result of grinding away at software engineering jobs for 30 years. It&#8217;s more like winning a Grammy: nice if it happens, but you can&#8217;t really <em>plan </em>on it.</p><p>In fact, you&#8217;re not going to have a 30-year career in software engineering at all. You&#8217;ll wash out before you&#8217;re thirty. <em>A lot of people do.</em></p><p>Sure, you&#8217;ll zoom upwards for awhile. I know it&#8217;s hard to believe, but you can be in the top quartile of professional software engineers just by showing up on time, reading the docs, and caring even a little bit about the quality of your work. That level of effort will get you a &#8220;Senior&#8221; title; a bit of job-hopping will boost you past &#8220;six figures&#8221; up toward the coveted $200K salary marker.</p><p>Then, slowly but surely, you&#8217;ll look around for the next step on the ladder and find you can&#8217;t see it in front of you. The shop across town might offer a better title, but they can&#8217;t really up your pay very much; you&#8217;re already one of the highest-paid engineers at your current job.</p><p>Dax Raad is out of line, but not wrong, when he points out that <a href="https://x.com/thdxr/status/1878495194817118617">most dev jobs have a skill ceiling</a>. At some point there is only so much marginal value your 10 years of experience can provide over a hungry 5-year veteran who will work for less. And a skill ceiling is a salary cap.</p><p>You are going to find out that the salary cap on your IC career kicks in lower and sooner than you think. You will probably learn this right about the time you realize that your family&#8217;s expenses don&#8217;t seem to have a ceiling anywhere in sight.</p><p>Want one of those $500K+ total-comp FAANG engineering jobs? They&#8217;re getting harder and harder to find and more and more competitive to win. And holy cow, the people getting those jobs are smart. Like, 99.99th-percentile smart. They&#8217;re &#8220;good at programming&#8221; the way Steph Curry is &#8220;good at shooting 3s.&#8221; Be honest with yourself, that&#8217;s not you.</p><p>Maybe it&#8217;s time to join a startup? You&#8217;ll gamble your future on a lower salary and a bunch of lottery tickets called &#8220;equity&#8221;.</p><p>Maybe you should take the engineering management track? It&#8217;s gonna start looking a lot more like &#8220;management&#8221; and a lot less like &#8220;engineering&#8221; as the years roll on. And while there are more traditional engineering VPs at Google than there are Distinguished Engineers, we&#8217;re still talking NBA roster numbers here. Not a game you want to bet 20 years of triple-booked meetings, always-on availability, and general misery on.</p><p>You are an average-to-slightly-above-average software engineer, and average software engineers don&#8217;t have a 30-year career of upward mobility in front of them. You get ten years to build a career. Max. After that, it&#8217;s just a job.</p><p>I can hear you objecting (you&#8217;re me; I know how you think). <em>But there are lots of people still doing fulltime software development after 20 or 30 years.</em></p><p>Sure, but look at what they&#8217;re doing. Are they in the same salary band, same basic job description they were in ten years ago? Are they kind of just bouncing from company to company, making lateral moves, seemingly unsure even what they want out of their job at this point? </p><p>Yes, tech is ageist and prefers to give opportunities to young people. But life is kind of ageist, too. Staying on top of all the programming languages and frameworks and new architectural frills is exhausting. To avoid burning out, you will instinctively start putting up walls in your mind to protect yourself from the neverending barrage of nonsense. And that&#8217;s how you miss out on the next hot thing, the thing that pays really well.</p><p>Oh, speaking of, that brings me to AI. Yeah, we have AI here in the future. It&#8217;s pretty magical, except when it&#8217;s totally terrifying. One thing it does is write code really, really fast. So fast that even Amazon&#8217;s CEO is now saying that <a href="https://www.businessinsider.com/aws-ceo-developers-stop-coding-ai-takes-over-2024-8">most developers won&#8217;t need to write their own code 24 months from now</a>.</p><p>Whether or not that&#8217;s true, AI will shatter your illusions about the value you think you provide to the world. It is <em>not </em>about how fast you can write clever code. It has <em>always </em>been about how well you can solve human problems, sometimes even while employing technology. AI coding tools still need a human in the loop. Are you prepared to be that human?</p><p>(By the way, nobody ever got to Distinguished Engineer by being the fastest at typing code. Being a technical person who can also make smart decisions alongside other people is highly Distinguishing.)</p><p>Stupid Past Self, you get ten years to write code as your primary thing, before AI really kicks in. Use that time to become a well-balanced human being. Give talks. Write books. Play music. Spend some time working undercover in sales and marketing. </p><p>Software-career thought leaders will warn you against taking an &#8220;off-ramp&#8221; from engineering. What they&#8217;re not incentivized to tell you is that eventually, the off-ramp comes for all of us. Take the off-ramp before it takes you.</p><p>Shed the ego that tells you only engineers are doing worthwhile work. That ego is holding you prisoner. It&#8217;s trapping you under a career ceiling that&#8217;s lower than you think.</p><p>A wise friend likes to say to fellow engineers: &#8220;If you&#8217;re not the boss by the time you turn 50, you&#8217;re *#@%ed.&#8221; Someday, Stupid Past Self, you will take the scariest step of all; you&#8217;ll <a href="https://www.freemanandforrest.com/">strike out on your own</a>, where the ceiling is limitless and the floor has no safety net. You won&#8217;t necessarily be writing a lot of code, but you&#8217;ll be solving more problems-per-hour than you ever did when you were a DevOps engineer. </p><p>I don&#8217;t know if you&#8217;ll make it or not. </p><p>But I do know this: You have only a few short years to be who you want to be. Make them count.</p><p>Sincerely, </p><p>Your Very Stupid 32-Year-Old Self</p><div><hr></div><h3>Just For Fun</h3><p>Expecto Mandatory Security Training!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n_1l!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n_1l!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png 424w, https://substackcdn.com/image/fetch/$s_!n_1l!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png 848w, https://substackcdn.com/image/fetch/$s_!n_1l!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png 1272w, https://substackcdn.com/image/fetch/$s_!n_1l!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n_1l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:934754,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!n_1l!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png 424w, https://substackcdn.com/image/fetch/$s_!n_1l!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png 848w, https://substackcdn.com/image/fetch/$s_!n_1l!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png 1272w, https://substackcdn.com/image/fetch/$s_!n_1l!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2066cb29-1d1d-410f-b75f-e014184792b0_2051x2051.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Notes on Nix]]></title><description><![CDATA[They helped me. Maybe they will help you.]]></description><link>https://newsletter.goodtechthings.com/p/notes-on-nix</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/notes-on-nix</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Mon, 20 Jan 2025 17:46:42 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!yVAn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>I have spent the last 5 years telling myself &#8220;Someday I&#8217;m going to sit down and figure out what Nix actually is.&#8221;</em></p><p><em>So I finally used the US holiday weekend to look into it.</em></p><p><em>Here is what I learned:</em></p><div><hr></div><p><a href="https://nixos.org/">Nix</a> is a set of tools for helping you configure your software environment exactly the same way every time. That is what it is. </p><p>However&#8230;</p><p>The ideas behind Nix are advanced, so much so that it started life as a guy named Eelco Dolstra&#8217;s <a href="https://edolstra.github.io/pubs/phd-thesis.pdf">Ph.D. dissertation</a><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. It has a learning curve that goes beyond &#8220;steep&#8221; and does a full loop-the-loop, like one of those fairground rides that unfolds off the back of a truck. The biggest reason Nix is still a niche technology, rather than the One True Way that we manage our software packages, is that most professional software engineers who take one look at Nix say &#8220;Dear God, no. And also, what is it? Please make it stop.&#8221; For them, the cure (reshaping their brains to speak Nix) is worse than the disease.</p><p>But those who persevere&#8212;interesting software shops like <a href="https://blog.replit.com/powered-by-nix">Replit</a> and <a href="https://shopify.engineering/shipit-presents-how-shopify-uses-nix">Shopify</a>&#8212;choose Nix for a good reason. Because there is a disease. And it lies in wait for us all.</p><h3>THE DISEASE </h3><p>The disease is software itself. Specifically, software dependencies.</p><p>All the little packages that your code imports, plus all the little packages that THEY import, right down to things like the C compiler included with your operating system (OS)&#8230; </p><p>The metadata used to compile your system libraries&#8230; </p><p>The minor version of your operating system&#8230; </p><p>All those things your code needs to run are dependencies and collectively they are known as your software environment.</p><p>(Sometimes Nix people prefer to say &#8220;the closure of your dependencies&#8221; which is a FUNCTIONAL PROGRAMMING way of saying &#8220;the whole universe of everything that you depend on&#8221; but FUNCTIONAL PROGRAMMING is one of those things a lot of us don&#8217;t feel comfortable thinking about and so we are not going to think about it.)</p><p>Any time you deploy software &#8212; to paraphrase our buddy Eelco, that&#8217;s when you move a program from computer A to computer B and it still works when it gets there&#8212;you are betting that the software environment on computer B will interact with your code in the same way that it did on computer A.</p><p>Historically, this has been a sucker&#8217;s bet. Linux uses what is called &#8220;dynamic linking&#8221; which means that the system libraries you depend on can change out from under you when your OS updates. The default package managers for your Linux distros, like yum and apt-get, like to install a single version of your dependencies GLOBALLY which means that if different apps require different versions then haha good luck.</p><p>If you have ever tried to update Python on your Macbook, you know how easy it is to end up with a nasty dirty developer environment full of broken packages of unknown origin. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!yVAn!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!yVAn!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png 424w, https://substackcdn.com/image/fetch/$s_!yVAn!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png 848w, https://substackcdn.com/image/fetch/$s_!yVAn!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png 1272w, https://substackcdn.com/image/fetch/$s_!yVAn!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!yVAn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png" width="1280" height="1280" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1280,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Ctrl-Z&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Ctrl-Z" title="Ctrl-Z" srcset="https://substackcdn.com/image/fetch/$s_!yVAn!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png 424w, https://substackcdn.com/image/fetch/$s_!yVAn!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png 848w, https://substackcdn.com/image/fetch/$s_!yVAn!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png 1272w, https://substackcdn.com/image/fetch/$s_!yVAn!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F27ef45a5-cd30-4b55-b87c-67b831e87b54_1280x1280.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>What we all want is REPRODUCIBILITY which means I want to specify EXACTLY what dependencies my software environment needs and I want them to deploy EXACTLY THE SAME WAY every time on every machine. That is the problem Nix is trying to solve.</p><p>And at the time Eelco was writing his dissertation in the early 2000s there was not really a great way to ensure this.</p><h3>THE NIX CURE</h3><p>The cure was functional programming!</p><p>This is why so many people get hung up on Nix, because functional programming hurts our brains. But the big concept is not hard to understand:</p><p>Nix wants to help you build your software &#8220;without side effects&#8221; - that is, without changing other things in your system that you didn&#8217;t specify. This is sometimes referred to as a PURE FUNCTIONAL approach. Again, all it means is that what you put in (the description of what your environment should look like) is exactly what you get out.</p><p>Nix uses several pieces to make this happen, including among others:</p><ul><li><p>A little mini-programming language that helps you say what packages you want</p></li><li><p>A package manager (a thing that downloads the packages you want and saves them in a unique location)</p></li><li><p>A special build of Linux called &#8220;NixOS&#8221; that you can put your packages in if you want to have an end-to-end Nixified software environment</p></li></ul><p>A tricky part is that people might refer to all of these things, or some of them, or just one at a time, as &#8220;Nix&#8221;. And that is why when you ask ten different Nix gurus to define &#8220;Nix&#8221; you will get ten different answers, like blind men describing an elephant.</p><p>But don&#8217;t be dazzled. Nix is a set of tools for helping you configure your software environment exactly the same way every time. That is what it is. </p><h3>THE INSUFFICIENT CURE</h3><p>Docker. Docker is the insufficient cure to the software dependency disease.</p><p>If you want to prickle the hackles on a Nix devotee, say &#8220;Why don&#8217;t you just use Docker?&#8221;</p><p>The Nix devotee will say that Docker containers do not give you truly reproducible builds in the way that Nix does. There are quite a few things that can change out from under you, even with a &#8220;pinned&#8221; Docker image. Plus, stacking Docker images on top of each other quickly leads to duplicated packages, whereas Nix hashes references to everything in the environment to avoid duplication.</p><p>The Nix devotee will also say that Dockerfiles are IMPERATIVE and Nix is DECLARATIVE. A Dockerfile says &#8220;run this command and then that command, in that order, to build the environment.&#8221; A Nix configuration says &#8220;Here is what the environment is supposed to look like, go make it so.&#8221;</p><p>That said, you can actually use Nix to generate Docker images and lots of people do.</p><p>I asked ChatGPT to give me an analogy comparing Nix and Docker, and it said if your software is a sandwich, Nix is like a recipe and Docker is like a lunchbox. </p><p>That is sufficiently insane that I&#8217;m going to roll with it.</p><h3>THE TRAGEDY OF NIX</h3><p>The tragedy of Nix is that the documentation is famously poor, the mini-language is hard to learn (it&#8217;s functional, natch), and over time other solutions such as Docker (for shipping reproducible environments) and Alpine Linux (for minimal OS builds) sprang up that were &#8220;good enough&#8221; for a lot of use cases.</p><p>That said, these days people are developing their software in cloud environments that need special automation, and the overall increase in sophistication of software infrastructure teams suggests that maybe Nix has brighter days ahead. There&#8217;s really nothing else out there quite like it. </p><p>If you want to get into the HOW of Nix, I recommend <a href="https://zero-to-nix.com/">these Zero to Nix tutorials.</a> </p><h2>Just for fun</h2><p>I drew this cartoon to help promote the fireside chat I&#8217;m doing with Rubrik next week. <a href="https://fnf.dev/40z2MSA">See you there</a>!</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!X02G!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!X02G!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!X02G!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!X02G!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!X02G!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!X02G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1236722,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!X02G!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!X02G!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!X02G!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!X02G!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe925835a-fc28-4824-86b4-e5d3ef17e72c_2050x2050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>The dissertation is actually wildly readable and informative. It is a Good Tech Thing. Bring it with you on a plane sometime. </p></div></div>]]></content:encoded></item><item><title><![CDATA[Why are tech people suddenly so into homeschooling?]]></title><description><![CDATA[I have my suspicions]]></description><link>https://newsletter.goodtechthings.com/p/why-are-tech-people-suddenly-so-into</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/why-are-tech-people-suddenly-so-into</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Tue, 14 Jan 2025 15:50:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!KNzX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It&#8217;s pretty disorienting to me that smart people, secular people, particularly people in tech, view homeschooling as <a href="https://twitter.com/EpsilonTheory/status/1676198601201004544">a high-status option</a> now.</p><p>I was homeschooled for 13 years, from kindergarten all the way through 12th grade&#8212;you can tell that about me because I have essentially the same skill stack as <a href="https://www.youtube.com/watch?v=tz6yTajsYwY">Rapunzel from Tangled</a>&#8212;and let me tell you, at no time were my six siblings and I considered the cool kids on the block.</p><p><em>&#8220;</em>Homeschooled&#8221;, <a href="https://www.youtube.com/watch?v=scxdTXrfni0">according to Lindsay Lohan in </a><em><a href="https://www.youtube.com/watch?v=scxdTXrfni0">Mean Girls</a></em>, historically meant one of two things, and I was both of them:</p><ul><li><p><strong> An academic freak who wins spelling bees.</strong><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> I was <a href="https://www.theoaklandpress.com/2005/06/03/local-speller-finishes-among-top-36-in-field/">a two-time National Spelling Bee finalist</a> in 2005-06. ESPN&#8217;s John Marvel <a href="https://www.espn.com/espn/page2/story?page=shanoff/050601&amp;num=0">once said</a> he liked my odds for two reasons: 1) I was homeschooled and 2) I had a name he couldn&#8217;t pronounce.</p></li><li><p><strong>A religious freak who believes in young-earth creationism.</strong> The earth is thankfully old enough to have forgotten the full-length country-western musical I wrote in high school called &#8220;Creation vs Evolution: The West of the Story&#8221;.</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!KNzX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!KNzX!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KNzX!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KNzX!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KNzX!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!KNzX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg" width="1456" height="951" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:951,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1352374,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!KNzX!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg 424w, https://substackcdn.com/image/fetch/$s_!KNzX!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg 848w, https://substackcdn.com/image/fetch/$s_!KNzX!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!KNzX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F319d1573-461d-40ea-a807-d184246c44b5_3021x1973.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Pictured: Natalie Portman and me, both having a good day </figcaption></figure></div><p><em>Mean Girls </em>goes on to make sure we understand that Cady Heron (Lohan&#8217;s character) defies homeschooler stereotypes: she&#8217;s a well-traveled, broadly well-adjusted child homeschooled mainly out of necessity (her parents are roving scientists or something) rather than ideology. She&#8217;s an acceptable homeschooler - a unicorn! </p><p>I don&#8217;t think a movie with this setup would make any sense today. Homeschooling is high-status now. My children&#8217;s generation is full of Cady Herons. </p><p>But why?</p><div><hr></div><p>The tactical arguments for and against homeschooling all cancel each other out.</p><p><em>Pro-homeschooling: </em>At school, you&#8217;re in danger of physical, emotional, and sexual abuse.</p><p><em>Anti-homeschooling: </em>Statistically, you&#8217;re in greater danger of all those things at home. And the risk gets bigger if you <a href="https://www.youtube.com/watch?v=lzsZP9o7SlI">eliminate outside influences</a> that might notice when something&#8217;s wrong.</p><p><em>Pro-homeschooling: </em>Kids learn faster one-on-one; <a href="https://en.wikipedia.org/wiki/Bloom%27s_2_sigma_problem">Bloom&#8217;s 2-sigma problem</a> is undefeated.</p><p><em>Anti-homeschooling: </em>Kids with learning disabilities and neurodivergence can fall through the cracks without professional involvement. Also, it&#8217;s really hard to teach your kids everything they need to know, consistently, year after year, all by yourself. And really, really expensive.</p><p><em>Pro-homeschooling: </em><a href="https://www.puritanboard.com/threads/homeschooling.49832/#post-639750">We homeschooled a family of seven on one income of $25k</a>.</p><p><em>Anti-homeschooling: </em>Homeschoolers <a href="https://insights.gostudent.org/ca/4-disadvantages-of-homeschooling#socialisation">don&#8217;t get enough social interaction</a>.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-2" href="#footnote-2" target="_self">2</a></p><p><em>Pro-homeschooling: </em><a href="https://www.time4learning.com/blog/homeschool/homeschool-myth-lack-socialization/">Yes we do</a>.</p><p>None of the arguments convince anyone. Homeschooling remains what it was in the creationism-and-spelling-bee days: an ideological choice.</p><p>So why&#8217;s it becoming so fashionable?</p><div><hr></div><p>Here&#8217;s what I think is really going on.</p><p>These tech parents are hackers by nature, and I think they&#8217;re convinced that in  homeschooling they&#8217;ve happened on <a href="https://twitter.com/HannahFrankman/status/1709473749861331174">the ultimate life hack</a>: <em>just opt out of being around average people.</em><a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-3" href="#footnote-3" target="_self">3</a></p><p>Religious convictions or not, that&#8217;s really the key motivator for homeschooling. <em>Opt out of interacting with average people. </em>Opt out of sitting in a classroom that proceeds at the average person&#8217;s speed. Opt out of socializing with losers, bullies, and malcontents. Opt out of living in a cramped city school district. Opt out - eventually - of formalized higher education, then out of a 9-to-5 job; don&#8217;t conform to the system, build your own.</p><p>In a vacuum, every one of these desires makes complete sense. History&#8217;s richest and most successful people have always tended to raise their kids this way, they just called it &#8220;tutoring&#8221; or &#8220;doing the grand tour of Europe&#8221; or something.</p><p>But I can&#8217;t help but notice that history&#8217;s richest and most successful people have raised some pretty unpleasant kids.</p><div><hr></div><p>I&#8217;m a homeschooling success story by most external measures. I did well on the SAT, I have a rewarding career, I&#8217;m not on drugs, etc. It should be noted that I&#8217;m also, as far as I know, more or less neurotypical.</p><p>Here are some things I struggle with at age 32:</p><ul><li><p>Social awkwardness and anxiety</p></li><li><p>Difficulty in forming IRL friendships</p></li><li><p>Impatience with the <em>idea </em>of connecting on a meaningful level with other people: who needs &#8216;em?</p></li><li><p>An abiding sense of detachment from reality</p></li></ul><p>This is not very bad, to be honest. I&#8217;m a perfectly functional person who is kind of arrogant and a little bit sad.</p><div><hr></div><p>The weird thing is that the smart tech people I know are mostly pretty egalitarian. They have little respect for mediocre-elitism, for traditional credentials, for master&#8217;s degrees and vice presidencies. While they may have made their own money working for Facebook or Google, they love the idea of entrepreneurship. They don&#8217;t want their kids to chase the guidance counselor&#8217;s status quo idea of prestige; they want their kids to <a href="http://www.paulgraham.com/greatwork.html">Do Great Work</a>. To <em>change the world.</em></p><p>So, in preparation, they homeschool. They teach their undoubtedly above-average kids all sorts of valuable lessons, but the most fundamental one they are teaching is implicit: <em>you can opt out of dealing with average people, because they will only hold you back.</em></p><p>Hang on a minute. </p><p>How do you expect to change the world for the better when you&#8217;ve been taught from an early age, subconsciously or not, to hold most of the people around you in contempt?<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-4" href="#footnote-4" target="_self">4</a></p><div><hr></div><p>I have three kids. And nothing stresses me out more than knowing they are exposed to stressors. There&#8217;s a voice inside me that cries out to shelter them from apathetic teachers and negative peer pressure and embarrassing public failures.</p><p>That voice likes to say: <em>You should just homeschool them. Opt out of interacting with average people, because average people will only damage your kids.</em></p><p>But I&#8217;m raising human beings, not hothouse flowers. Within reason, and with parental support, some of the less-than-ideal things that happen at school are the stressors that help kids grow. </p><p>It&#8217;s not that you can&#8217;t build that resilience in other ways. I know people who seem to be doing a great job homeschooling. They make great efforts to keep their kids grounded in the community&#8212;clubs, teams, camps, volunteering&#8212;while maintaining flexibility with their specific mode of education. They are amazing people but they always seem to be running uphill.</p><p>For now, my kids are in school. So far, they seem to be able to spell just fine.</p><div><hr></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>The spelling girl being parodied by Tina Fey&#8217;s script&#8212;uncharitably, I&#8217;ve always thought&#8212;appears to be Rebecca Sealfon, who was the first homeschooler to win the Scripps National Spelling Bee and famously screamed the letters of her winning word &#8220;<a href="https://www.thedailybeast.com/rebecca-sealfon-the-year-i-won-the-scripps-national-spelling-bee">like she was on fire</a>&#8221;. Rebecca and I both later worked at Google, though we didn&#8217;t quite overlap.</p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-2" href="#footnote-anchor-2" class="footnote-number" contenteditable="false" target="_self">2</a><div class="footnote-content"><p>I was the valedictorian of my high school class. My ten-year reunion took place in 2020, at the height of pandemic lockdown. Nobody thought of canceling it. Attendance (me) was 100%. </p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-3" href="#footnote-anchor-3" class="footnote-number" contenteditable="false" target="_self">3</a><div class="footnote-content"><p>I don&#8217;t think I&#8217;m straw-manning, because I&#8217;m pretty sure someone is going to highlight the &#8220;opt out of interacting with average people&#8221; quote on Twitter/X and say &#8220;this, but unironically.&#8221; </p></div></div><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-4" href="#footnote-anchor-4" class="footnote-number" contenteditable="false" target="_self">4</a><div class="footnote-content"><p>Robert Caro&#8217;s &#8220;The Power Broker&#8221;, frequently mistaken for inspirational reading, is a 1,000-page tragedy on this subject.</p></div></div>]]></content:encoded></item><item><title><![CDATA[What hath AWS wrought?]]></title><description><![CDATA[thoughts on a very, very strange re:Invent]]></description><link>https://newsletter.goodtechthings.com/p/what-hath-aws-wrought</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/what-hath-aws-wrought</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Tue, 10 Dec 2024 18:25:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!JHJg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>You know what struck me as the strangest thing about the 2024 edition of AWS re:Invent?</p><p>It wasn&#8217;t the giant video boards on the Las Vegas Strip that interspersed ads for topless revues with ads for PagerDuty and Cribl, although that was unintentionally very funny.</p><p>It was the fact that, as far as I can tell, AWS didn&#8217;t launch <em>a single new top-level service. </em></p><p>I could be missing something here, but check out <a href="https://aws.amazon.com/blogs/aws/top-announcements-of-aws-reinvent-2024/">the top announcements</a> for yourself. The new service I think people are most excited about, DSQL, launched under the Aurora branding. Amazon Nova is a class of foundation models on Bedrock. Other than that: it&#8217;s a lot of new AI capabilities for Q and Sagemaker, some fun new database-y enhancements for S3, etc. I don&#8217;t have to learn a single new top-level service name in order to understand why I should care about what happened at re:Invent this year.</p><p>This, to put it mildly, has not always been the case.</p><p>Let me show you something.</p><p>2014 was the first year I really paid attention to re:Invent. That was the year my CEO at the time, Charles Phillips of Infor, claimed onstage at an AWS event that &#8220;<a href="https://twitter.com/AWSonAir/status/753274823418064896">friends don&#8217;t let friends build data centers</a>.&#8221; </p><p>It was also the year in which <a href="https://aws.amazon.com/blogs/developer/aws-reinvent-2014-recap-2/">these were the big keynote announcements</a>:</p><ul><li><p><strong>Aurora. </strong>Technically released under the RDS brand. Still a stone-cold, <a href="https://newsletter.goodtechthings.com/p/the-end-of-the-everything-cloud">first-ballot-hall-of-fame</a> AWS service.</p></li><li><p><strong>KMS. </strong>Essential, bread-and butter AWS service.</p></li><li><p><strong>Config and Service Catalog. </strong>Good-enough admin services, they continue to be used and abused today.</p></li><li><p><strong>CodeDeploy/CodePipeline/CodeCommit. </strong>People have given them lots of chances over the years. CodeCommit has sadly been deprecated, the other two live on. Everybody has used them at one point or another, even if they will never be best-in-class devtools. (Foreshadowing!)</p></li><li><p><strong>ECS. </strong>Easy hall-of-famer, even if EKS has more momentum these days.</p></li><li><p><strong>Lambda. </strong>Inner-circle hall-of-famer, perhaps the most innovative cloud service of all time.</p></li></ul><p>I realize we have ten years of hindsight to look back on, but that is a <em>killer </em>set of releases, right? Aurora, ECS, Lambda, and KMS all in the same week? No wonder we all used to feel like re:Invent rewrote the software development rulebook every year.</p><p>And no wonder AWS eventually took exactly the wrong message from those glory years, which was that if you just release ENOUGH STUFF, surely some of it will be great. </p><p>Here, less gloriously, is a sampling of new top-level services announced at re:Invent between 2020 and 2022: Proton, CloudShell, HealthLake, DevOps Guru, Lookout for Equipment/Vision/Metrics, Panorama, Monitron, Security Lake, Wickr, SimSpace Weaver, App Composer, CodeCatalyst, and Omics.</p><p>As <a href="https://www.youtube.com/watch?v=rS00xWnqwvI">David S Pumpkins</a> says, it&#8217;s 100 floors of frights, they&#8217;re not all gonna be winners.</p><p>But. I mean. Here we have a collection of things that have already been deprecated (Lookout), devtools that sank without a trace (DevOps Guru, Proton, App Composer, CodeCatalyst), and business apps targeted to industry verticals so niche that I have no good intuition for whether they&#8217;ve succeeded or not. (I suspect not.)  </p><p>I&#8217;m convinced that this profusion of lame service announcements contributed to the <a href="https://twitter.com/thdxr/status/1865635421197070470">noticeable stagnation</a> of the AWS community in recent years. How do you expect to get developers excited about AWS when all the marketing dollars are going into hyping things nobody cares about?</p><p>OK, but now <a href="https://aws.amazon.com/blogs/aws/top-announcements-of-aws-reinvent-2023/">look at 2023</a>. That was the AI year, so everything was Q, Bedrock, Bedrock, Q, more Bedrock, etc. But other than that, the only new top-level service announcement I could find was B2B Data Interchange. Something was changing at AWS.</p><p>And this year: nothing. OK, not nothing. A lot of cool things. S3 Bucket Tables are fascinating. I think in 10 years we&#8217;ll look back at DSQL as a Hall-of-Fame service. But isn&#8217;t it different&#8212;and kind of refreshing&#8212;to feel like AWS is telling us &#8220;We do infrastructure primitives better than anyone, so sit back and let us delight you with our latest improvements to the primitives you already know and love?&#8221;</p><p>I&#8217;ve <a href="https://newsletter.goodtechthings.com/p/the-end-of-the-everything-cloud">loudly complained</a> about the haphazard way AWS is deprecating failed services from their David S Pumpkins years. But I walked away from this year&#8217;s re:Invent more encouraged by the overall product direction there than I have been since the pandemic. Sure, we&#8217;re all going to have to sit through plenty of garbage AI announcements for the next few years. I get it, that&#8217;s priced in. But instead of frightening us with 100 floors of duds, it really does seem like AWS is making some attempt to double down on making their good stuff better.</p><p>I don&#8217;t think it&#8217;s a coincidence that this year&#8217;s expo hall was bigger and more vibrant than I&#8217;ve ever seen it. As AWS cedes more of its dev experience story to vendors, more and more developers can use and enjoy AWS&#8217;s primitives without being Stockholm-Syndromed into pretending that Elastic CodeBlibbinator is the app development tool of the future. The whole ecosystem wins. </p><p>And I hope that we&#8217;ll soon see the vibrance of AWS&#8217;s developer community come back as well.</p><h3>Good sponsored things</h3><p>First, a shoutout to Freeman &amp; Forrest client <a href="https://shortclick.link/l5bh0n">incident.io</a> for sponsoring this issue. They are very, very good at incident management, which is a different thing than being good at sending on-call pages. But they&#8217;re good at that too. I highly recommend <a href="https://shortclick.link/l5bh0n">booking a demo</a> with them to see for yourself.</p><p>And one last time in 2024, I commend to you the educational stylings of Pluralsight, <a href="https://www.pluralsight.com/redeemlink/genericV4?redemptionId=cb1f4abb-a6fe-43bc-abbf-d1637b1fd046">free to you for 30 days</a>.</p><h3>Just for fun</h3><p>Oh boy, Reddit <a href="https://www.reddit.com/r/comics/comments/1h459ty/the_missing_chart_from_those_ai_makes_us_more/">HATED</a> this one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!JHJg!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JHJg!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!JHJg!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!JHJg!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!JHJg!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JHJg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:667848,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JHJg!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!JHJg!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!JHJg!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!JHJg!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F551c47c4-f10f-4566-a32b-634a0a1ee13b_2050x2050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[The case against living in the Bay Area, for ambitious tech people]]></title><description><![CDATA[come on, man]]></description><link>https://newsletter.goodtechthings.com/p/the-case-against-living-in-the-bay</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/the-case-against-living-in-the-bay</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Fri, 22 Nov 2024 17:34:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!faXG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Here is a tweet that made lots of people mad:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!faXG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!faXG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg 424w, https://substackcdn.com/image/fetch/$s_!faXG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg 848w, https://substackcdn.com/image/fetch/$s_!faXG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!faXG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!faXG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg" width="1170" height="658" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:658,&quot;width&quot;:1170,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Screenshot of a tweet saying \&quot;If you're in tech and not in the Bay Area, you lack either judgment or ambition.\&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Screenshot of a tweet saying &quot;If you're in tech and not in the Bay Area, you lack either judgment or ambition.&quot;" title="Screenshot of a tweet saying &quot;If you're in tech and not in the Bay Area, you lack either judgment or ambition.&quot;" srcset="https://substackcdn.com/image/fetch/$s_!faXG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg 424w, https://substackcdn.com/image/fetch/$s_!faXG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg 848w, https://substackcdn.com/image/fetch/$s_!faXG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!faXG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F88e80642-733c-4ad6-8a50-9cf1f1e1f01d_1170x658.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>First off: it&#8217;s engagement bait and probably not worth writing a whole post about. But dammit, I got baited and here I am.</p><p>Second off: I do not live in the Bay Area. I never have. I&#8217;ve had a reasonably successful career, and now co-run <a href="https://www.freemanandforrest.com/">a fast-growing tech company</a>. But by the standards of this tweet, I and many well-known tech people around the world lack either judgment or ambition. Maybe both!</p><p>What makes Flo&#8217;s tweet such perfect engagement bait is that there&#8217;s no sufficiently ambitious accomplishment that would disprove it. </p><p>Why? Because it&#8217;s tautological. Bay Area people, in the frame of this tweet, are by definition the most ambitious people in tech. Thus, ambitious behaviors are behaviors that take place in the Bay Area. Round and round we go. </p><p>It&#8217;s circular thinking, but as G.K. Chesterton liked to point out, all circles are perfect. They just may not be big enough to hold all of reality.</p><p>Look, if you want to play the Tech Industry (tm) game the way Bay Area people are playing it, you should absolutely be in the Bay Area. You will be surrounded by people who are living and breathing AI and devtools and infra and open-source. You will rub up against funders and founders and grifters and strivers of all stripes. It&#8217;s a tight-knit industry and the groupthink can be suffocating. </p><p>Here are some things it is very hard to avoid believing if you hang around ambitious people in the Bay Area:</p><ul><li><p>Taking as much money from venture capitalists as you can, as soon as possible, is a mark of success and a status symbol unto itself.</p></li><li><p>Every problem has a technical solution if you&#8217;re smart enough.</p></li><li><p>&#8220;Technical people&#8221; (software developers) are the noblest and most useful people at a tech company.</p></li><li><p>SaaS (software-as-a-service) is the world&#8217;s most prestigious business model.</p></li><li><p>Graduates from a few top schools (Stanford, MIT, etc) and people under thirty make the best employees.</p></li><li><p>Naming your company Splip.dev reflects sound judgment.</p></li><li><p>If you want to build a great tech company, you need to swarm the problem with your entire team in a physical room.</p></li><li><p>Spending all your time on a laptop in a featureless $5,000/mo studio apartment is a great way to stimulate outside-the-box thinking that will change the world.</p></li></ul><p>The TV show <em>Silicon Valley</em> lampooned all these ideas a decade ago. The weird thing I&#8217;ve noticed is that when Bay Area tech people watch that show, they don&#8217;t seem to understand that they&#8217;re being made fun of. They think they&#8217;re being celebrated. That&#8217;s how thick the bubble is.</p><p>I&#8217;m not saying the Silicon Valley zeitgeist hasn&#8217;t changed in ten years. Heck, it seems to change every five minutes. Big Tech companies are dreadnoughts one second, tottering late-stage empires the next. The podcast-industrial complex is way farther to the right politically than it was ten years ago. There seems to be some gesturing in the direction of hardware engineering that we haven&#8217;t seen in awhile.</p><p>But it&#8217;s remarkable that my list of entrenched attitudes HBO&#8217;s <em>Silicon Valley </em>was making fun of in 2014 are, if anything, more entrenched in 2024. That screams &#8220;conventional wisdom.&#8221; </p><p>If you&#8217;re an ambitious person with good judgment, wouldn&#8217;t it be smarter to disrupt that system from outside, rather than immersing yourself in it?</p><p>I know and respect many wonderful people in the Bay Area. But Emily Freeman and I have bet our business on some different ideas:</p><p><strong>Build a working business before you take funding, not afterwards</strong></p><p>Emily and I started Freeman &amp; Forrest with $1,000 each from our own pockets. We suspected the market needed a player who could sit between tech creators and tech marketing teams, building great influencer marketing programs as a service. We probably could have raised some VC funding with a pitch deck at that point and started building some sort of two-way marketplace product.</p><p>Thank God we didn&#8217;t. 6 months later, having bootstrapped a business profitable enough to fully employ a team of 7 and <a href="https://bsky.app/profile/forrestbrazeal.bsky.social/post/3lba5qjfn4c2m">share hundreds of thousands of dollars with the creator community</a>, we&#8217;ve realized that almost everything we assumed about how to solve this problem on Day 1 was wrong. If we&#8217;d spent those six months building out a product on our Day 1 assumptions, we&#8217;d be worse than six months behind; we&#8217;d have a bunch of useless technical debt to unravel too.</p><p>We may yet raise a small amount of funds later on. But it&#8217;ll be to build tools around the business model we&#8217;ve already proven, not to keep our lights on.</p><p>It seems to us that the less you need infusions of cash to survive, the more you can dictate terms when you do want to raise strategic capital. We&#8217;re ambitious enough to want control of our own destiny.</p><p><strong>SaaS is less and less interesting as a business model</strong></p><p>The pure SaaS play, as a business model, is really more set up for the tastes of VCs than for either founders or customers. SaaS follows the power law VCs crave: on long timescales, a tiny minority of SaaS investments generate ridiculous, outsized returns. And the only way for founders to hang in there long enough for that to happen is to sell huge stakes in their company to those selfsame VCs. Convenient.</p><p>Even on those terms, our view is that SaaS&#8217;s dominance in tech is expiring. Relying on self-service signups (optimistically called &#8220;product-led growth&#8221;) sounded great in 2010, but it doesn&#8217;t work for enterprise customers. To do major deals with big players, you need enterprise sales and support and customizations&#8212;all the boring non-SaaSy stuff that Microsoft and Oracle do so well. We prefer to build that into our business&#8217;s DNA from the start rather than to treat it as a necessary evil later on.</p><p>If you want smaller customers, SaaS is a race to the bottom. The more useful AI and low-code tools become, the higher the bar must be for another startup to commit $1000 or more per year to your product rather than just rolling an 80% solution with tools that are already available to them, or buying a cheaper clone of your product that someone spun up with AI in 48 hours.</p><p>At this point, I sense that a lot of tech&#8217;s institutional preference for SaaS businesses is based more on ego than anything else. Being a SaaS founder is seen as being a &#8220;real&#8221; founder, much more so than running a productized consulting business or agency. VCs encourage this attitude because it benefits them. Get out of the Bay Area, and that snobbery fades.</p><p>We are not precious about what bucket our business falls into. We may very well release SaaS tools at some point, for a use case that we determine makes sense. At the moment we are focused on &#8220;doing things that don&#8217;t scale, at scale&#8221;&#8212;which means building a cyborg amalgam of automation and amazing humans that can delight customers of any size.</p><p><strong>A corporate culture dominated by &#8220;technical&#8221; people is just as unbalanced as a team dominated by any other skillset</strong></p><p>Getting rid of my personal Software Developer Supremacy mindset has been probably the biggest step in my personal career growth over the last 5 years.</p><p>In 2020 I left a senior software engineering role to take a job reporting to the CMO of A Cloud Guru. I spent the next 2 years in a slow-rolling existential crisis of my own making. I felt humiliated by working with a bunch of marketers. My internalized arrogance told me that software developers were the people who really mattered to the business, that the &#8220;nontechnical&#8221; people on the go-to-market side of the org were second-class citizens, that I was sabotaging my own value as a human being by throwing in my lot with them.</p><p>I&#8217;m not proud of these attitudes, I&#8217;m just telling you that I struggled with them, and I know a lot of other career software engineers do too.</p><p>Again, in retrospect: thank God I went through that while I was still young enough to change. I ended up spending 4 years on go-to-market teams and learned some things that blew my little software developer mind:</p><ul><li><p>Digital marketers are tremendously &#8220;technical&#8221;, they just have way less ego about it. They automate stuff to solve problems for the business, not to flex their intellectual superiority.</p></li><li><p>It turns out that sales and marketing and customer support actually do matter to the success of the business. They matter a lot. And their jobs are not easy.</p></li><li><p>The things that bring developers a sense of fulfillment (mostly, building more and more software tools for themselves and each other) do not bear any direct relationship to things that people with budgets are willing to pay for.</p></li><li><p>Automating tasks is great, but automating human relationships is sometimes very unwise.</p></li></ul><p>All of which is to say that if you stay stuck in the Software Developer Supremacy mindset, of which the Bay Area is the central hive, you run the risk of building expensive things that nobody wants.</p><p>We started from the other end: we built a strong go-to-market motion, and are now adding in more and more automation to scale it. We&#8217;ve been profitable since Month 1, and we intend to stay that way.</p><p><strong>There&#8217;s no surplus value in hiring in the Bay Area</strong></p><p>Gotta be careful how I say this.</p><p>Again, I know GREAT people in the Bay Area. So smart, so cool.</p><p>But if you are trying to hire out there, you are going to find a lot of your options fall into two categories:</p><ol><li><p>Experienced people with big egos who cost a ton of money</p></li><li><p>Inexperienced people with big egos who cost half a ton of money</p></li></ol><p>Silicon Valley&#8217;s whole thing is supposed to be disrupting, arbitraging, exploiting inefficiency, unearthing surplus value. I don&#8217;t see how you can do that at scale by hiring in Silicon Valley. </p><p>Freeman &amp; Forrest loves hiring people from nontraditional backgrounds: moms returning to the workforce, career-changers, etc. Some are a little older and have meaningful life experience. They come from low-cost-of-living areas. I&#8217;ve been telling other people for years to hire this kind of talent via the Cloud Resume Challenge. I am putting my money where my mouth is. We are blown away by the talent, motivation, and egoless execution of the folks we&#8217;ve brought in. They are crushing it.</p><p><strong>If you want to think outside the box, it helps to live outside the box</strong></p><p>The basic insights about how to build a tech business, developed in Silicon Valley, are pretty much commoditized and available to everyone now.</p><p>If you build a strong enough reputation, the internet will allow you to work with great people no matter where you are personally based.</p><p>I live in North Carolina with my wonderful family. Emily lives in Colorado with hers. The other members of our team range from Las Vegas to Idaho to Michigan.</p><p>Speaking of ambition: one of my ambitions is to stay happily married and have kids who still talk to me when I&#8217;m 60. That means building a life that works for my whole family, and the Bay Area isn&#8217;t the right place for me to do that.</p><p>That said, I am squeezing in a quick trip to San Francisco between Thanksgiving and AWS re:Invent. I&#8217;ll enjoy hanging out with some great people, knocking out my work, and then moving on. If you&#8217;re smart and ambitious, I recommend microdosing the Bay Area. A little bit goes a long way.</p><p></p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Tech the Heck? Archera]]></title><description><![CDATA[I warned you this would be a recurring feature]]></description><link>https://newsletter.goodtechthings.com/p/tech-the-heck-archera</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/tech-the-heck-archera</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Tue, 15 Oct 2024 14:57:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!dz-X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>As you may recall from <a href="https://newsletter.goodtechthings.com/p/tech-the-heck-cloudtruth">the first edition</a>: <strong>Tech the Heck?</strong> is a recurring feature in which I try to explain in plain language what a particular tech startup&#8217;s product does - despite it being non-obvious on their own product page</em>.</p><p><em>Today&#8217;s sponsor / victim stepping into the arena is <a href="https://shortclick.link/g719ez">Archera</a>, a <a href="https://www.freemanandforrest.com/">Freeman &amp; Forrest</a> client. Kudos to them for being good sports about this - I only do these write-ups with permission, but Archera has no editorial control over what I say.</em></p><div><hr></div><p>As far as I can tell, there are two types of cloud cost management products. </p><p>The first kind, like <a href="https://tanzu.vmware.com/cloudhealth">CloudHealth</a> and its many &#8220;FinOps&#8221; alternatives, primarily focuses on planning and reporting. Their value prop is that they give you better tools to figure out where your IT budget is going, and how to allocate it, than the AWS Billing console does.</p><p>The other kind promises to <em>sell you cloud at a discount, </em>and those products tend to have a red flashing warning label on them that goes SCAM SCAM SCAM SCAM. Either they&#8217;re playing <a href="https://www.vantage.sh/blog/aws-reserved-instances-updates">weird arbitrage games with resource reservations</a>, or they&#8217;re asking you to give them way too much control over your billing accounts, or they&#8217;re charging you a massive 15-40% fee for &#8220;savings&#8221; you could probably get on your own with a few hours of effort. </p><p>There&#8217;s a reason AWS is <a href="https://twitter.com/QuinnyPig/status/1717680362267251055">cracking down</a> on some of these shady practices. Products that promise to charge a percentage of what they &#8220;save&#8221; you by booking EC2 instances on your behalf have a fundamental incentive mismatch: the more cloud you buy, the more money they make. This is the opposite of what you want your cloud cost management partner to be rooting for.</p><p>So when I landed on <a href="https://shortclick.link/g719ez">Archera&#8217;s homepage</a>, my sketchiness antennae were way, way up.</p><div><hr></div><p>At first glance, Archera looks like it could be another &#8220;we book your AWS Savings Plans and charge you a fee for it&#8221; vendor. The buzzwords are all there on their homepage: flexibility! Discounts! Usage! Commitments! Incentives!</p><p>It took me a minute to realize that Archera is not a cloud reseller at all. Actually, it doesn&#8217;t fit into <em>either </em>of the cloud cost management categories I defined up top. They do have a basic FinOps platform that can book native AWS savings plans in your own account for you, but it&#8217;s free to use, no fees at all.</p><p>Archera is up to something a lot weirder and more surprising. It turns out that Archera is an <em>insurance </em>product.</p><div><hr></div><p>This is where cloud architects get bored and tune out, because insurance is boring. But it&#8217;s where finance people should get really interested.</p><p>As I understand it, Archera&#8217;s main thing is not selling you cloud discounts, but selling you peace of mind. The founder/CEO <a href="https://archera.ai/about/">came from AWS</a> and has seen first-hand that people are understandably squeamish about ponying up tens or hundreds of millions of dollars for a three-year cloud commitment when they have <em>no idea how much cloud they will actually need by then.</em></p><p>Archera&#8217;s solution to this problem is simple, much simpler than the buzzwords on the homepage might make you think. </p><ul><li><p>Step 1: you pay Archera a premium, like an insurance premium, to book shorter-term cloud savings plans and reserved instances directly in your AWS or Azure account<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a>. Way shorter than 3 years, as low as 30 days in some cases. The shorter the commit term, the higher the premium.</p></li><li><p>Step 2: you use your committed resources.</p></li><li><p>Step 3: if for some reason you DON&#8217;T consume all your committed resources, Archera <strong>automatically pays you back </strong>to cover the difference. <strong>With real money.</strong></p></li></ul><p>Step 3 is the wild part. There are a few other cost management products out there that throw around words like &#8220;cloud commitment insurance&#8221;, but what they mean is something like &#8220;here is store credit you can use to buy even more of our knockoff savings plans, since you didn&#8217;t use all of them last time.&#8221; Archera, by contrast, puts actual dollars <em>back in your bank account. </em>I genuinely don&#8217;t think I have seen any other FinOps tool that does this.</p><p>Again, the reason they can pull this off is that they are not really a developer tooling product; they are a financial product, like car or boat insurance. Archera relies heavily on &#8220;reinsurance&#8221;, which is a jargon term meaning insurance for insurance companies. Somewhere, an actuary has figured out how likely it is that Archera will have to rebate all its customers overnight because us-east-1 got attacked by direwolves, and has spread that risk among other insurance companies so you will get your money back either way.</p><div><hr></div><p>I like what Archera is doing because I think they have fixed the incentive problem we talked about that plagues so many reseller-type companies. You are not paying Archera to &#8220;save you money&#8221;, you are paying them to take the risk out of not knowing how to forecast your cloud spend. This is a useful thing. </p><p>I do <em>not </em>particularly like <a href="https://shortclick.link/g719ez">their marketing website</a>, though. It&#8217;s long on high-level jargon (&#8220;Why Archera?&#8221;) and short on explanation (&#8220;<em>How </em>does Archera actually work?&#8221;). I would foreground the extremely clear and well-written <a href="https://docs.archera.ai/#/">docs</a> that are currently buried in the site footer, probably with an architecture diagram that shows how Archera interacts with your AWS account.</p><p>My advice to Archera is to stop using the same buzzwords that the cloud resellers do. You don&#8217;t want to be confused with those people because SCAM SCAM SCAM SCAM. </p><p>Talk about yourself like what you are: <strong>travelers&#8217; insurance for the cloud</strong>. </p><p>My wife and I took a 10th anniversary trip to Scotland recently. I bought trip insurance ahead of time. Not because I especially wanted to spend hundreds of additional dollars, but because I wanted to zero out the risk of losing the larger amount of money we spent on airline and hotel bookings if, oh I don&#8217;t know, Crowdstrike decided to push out another <a href="https://www.cirium.com/thoughtcloud/crowdstrike-it-outage-what-does-it-mean-for-airline-industry/">minor Windows update</a>. </p><p>The trip went great (thanks for asking!), and we enjoyed it even more knowing that our bookings were insured.</p><p>A product like that <em>should </em>exist for CFOs who are staring at their cloud forecasts and imagining what would happen if &#8230; well, if Crowdstrike decides to push out another minor Windows update. It seems to me that Archera has built that product. They should publish more content showing exactly how it works.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!dz-X!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!dz-X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!dz-X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!dz-X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!dz-X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!dz-X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1450265,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!dz-X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!dz-X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!dz-X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!dz-X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9d20b0b1-60d3-487a-94e0-55d846a12916_2050x2050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><em>If you would like your product explained in a future edition of Tech the Heck?, <a href="mailto:forrest@freemanandforrest.com">let me know</a>.</em></p><div><hr></div><h2>Links and events</h2><ol><li><p>I&#8217;ll be <a href="https://www.linkedin.com/posts/forrestbrazeal_just-registered-for-amazon-web-services-activity-7237564944538357761-IyLx?utm_source=share&amp;utm_medium=member_desktop">back at AWS re:Invent</a> this fall for the first time in several years. Let me know if you&#8217;d like to grab coffee!</p></li><li><p>Emily and I <a href="https://www.thecloudcast.net/2024/10/influence-marketing-in-emerging-tech.html">recently appeared on The Cloudcast</a> to explain why we started Freeman &amp; Forrest and what we have been up to lately.</p></li><li><p>It is mid-October, which means you probably have about 30 days left to accomplish whatever goals you set yourself this year before the holidays kick in. Seems like a good time to redeem your <a href="https://www.pluralsight.com/redeemlink/genericV4?redemptionId=cb1f4abb-a6fe-43bc-abbf-d1637b1fd046#/">30 free days of learning</a> from Cloud Resume Challenge sponsor Pluralsight.</p></li></ol><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>In addition to savings plans and RIs, Archera also <a href="https://archera.ai/cloud-negotiated-discounts/">insures</a> AWS PPAs / EDPs and Azure MACCs. If you don&#8217;t know what those acronyms mean, take a moment to appreciate how beautiful your life is.</p></div></div>]]></content:encoded></item><item><title><![CDATA[Knowledge Worker]]></title><description><![CDATA[Of all the creative work I've done, I think I'm most proud of this.]]></description><link>https://newsletter.goodtechthings.com/p/knowledge-worker</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/knowledge-worker</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Wed, 18 Sep 2024 16:57:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/3Pu0UNkk9bc" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Last month, I performed a 30-minute show called &#8220;Knowledge Worker&#8221; for the incredible audience at Gene Kim&#8217;s ETLS in Las Vegas.</p><p>The show included 7 songs about the past, present, and future of &#8220;knowledge work&#8221; - or, more specifically, how it&#8217;s affecting <em>us, </em>the humans between keyboard and chair<em>. </em>I poured everything I&#8217;ve been thinking and feeling about AI for the last 2+ years into this show, and I feel a great sense of peace at having said what I meant to say.</p><p>Here, for your enjoyment, are the songs (with a bit of &#8220;liner note&#8221; commentary provided in between).</p><h3>1. Hype Train</h3><p><em>They say that if you can get an audience to laugh with you, they&#8217;ll be willing to cry with you. &#8220;Hype Train&#8221; is an intentionally light, silly song to start the show.</em></p><p><em>I used to try to get audiences to sing along with some of my songs. I have learned that tech people would die of starvation before they will open their mouths to sing in public. About the most I can get you all to do is clap along.</em></p><div id="youtube2-3Pu0UNkk9bc" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3Pu0UNkk9bc&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/3Pu0UNkk9bc?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>2. AGI (Artificial God Incarnate)</h3><p><em>I had a lot of fun writing the backing tracks for this song. The &#8220;Gregorian chant&#8221; backup singing was recorded at Heartwise Records in Seattle with the help of some incredible session musicians and producer Eric Munch.</em></p><p><em>A number of people came up after the show to ask &#8220;What musical genre was that one, anyway?&#8221;</em></p><p><em>I have no idea. If you figure it out, let me know.</em></p><div id="youtube2-1ZhhO7MGknQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;1ZhhO7MGknQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/1ZhhO7MGknQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>3. What&#8217;s Left for Me? (The AI Existential Crisis Song)</h3><p><em>When ChatGPT first came out, I think a lot of us went through about 5 stages of grief:</em></p><ol><li><p><em>Shock (how is a language model this good? what the actual ***?)</em></p></li><li><p><em>Denial (it&#8217;ll never be as good at writing code / words / etc as me. look at these hallucinations! silly model)</em></p></li><li><p><em>Anger (how dare they train their models on my creative work?)</em></p></li><li><p><em>Depression (what&#8217;s left for me? Who even am I)</em></p></li><li><p><em>Acceptance (this is the new world, AI isn&#8217;t going away, let&#8217;s figure out what that means for us)</em></p></li></ol><p><em>I wrote &#8220;What&#8217;s Left for Me?&#8221; when I was personally on stage 4. I&#8217;m not saying I&#8217;m still there, but I think the thoughts in this song are ones that most of us have to grapple with at some point.</em></p><div id="youtube2-hrfEUZ0UvRo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;hrfEUZ0UvRo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/hrfEUZ0UvRo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>4. Meet The Models</h3><p><em>Claude, GPT, Gemini, and Llama act as &#8220;spokesmodels&#8221; in this song for the weird new world we live in. This song is very difficult to perform because it has to go fast enough to overwhelm you with a torrent of words, just like LLMs do.</em></p><div id="youtube2-s4Q41V1C4B4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;s4Q41V1C4B4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/s4Q41V1C4B4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>5. The RTO Tango</h3><p><em>At this point in the show we moved on to talking about what&#8217;s left for us humans to do in an AI world: for example, how weird it is that we think we can get value from AI when we can&#8217;t even figure out where our human employees should be working. </em></p><p><em>The RTO Tango is <a href="https://x.com/forrestbrazeal/status/1836385841314181120">lovingly dedicated to Andy Jassy</a>.</em></p><div id="youtube2-QrOaY4iqQaU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;QrOaY4iqQaU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/QrOaY4iqQaU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>6. The Re-Org Rag</h3><p><em>I perform this song at pretty much every live show I do, and I guess I&#8217;ll keep doing so until it stops being relevant. Maybe next quarter. Surely.</em></p><div id="youtube2-DO4T4mpy0Zs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;DO4T4mpy0Zs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/DO4T4mpy0Zs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h3>7. Legacy Land</h3><p><em>We closed with a song that I first performed last year during the developer keynote at Google Cloud Next. The point still stands: AI is exciting, but as long as we keep being human, we&#8217;re going to have our work cut out for us for a long time to come.</em></p><div id="youtube2-PSY4aZtaLf4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PSY4aZtaLf4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PSY4aZtaLf4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><h2>Links and notes</h2><ul><li><p>I will be at AWS re:Invent this year for the first time since 2018. I have some availability to partner, so if your company wants a ridiculous musical performance at your party, just let me know.</p></li><li><p>Cloud Resume Challenge sponsor Pluralsight wants you to know that if you <a href="https://www.pluralsight.com/redeemlink/genericV4?redemptionId=cb1f4abb-a6fe-43bc-abbf-d1637b1fd046#/">redeem this coupon</a>, you can get 30 days free to learn EXACTLY what all your previous skills are worth in the age of AI.</p></li></ul>]]></content:encoded></item><item><title><![CDATA[The death of the [modified] developer]]></title><description><![CDATA[It's not just juniors who've had their career yanked out from under them by AI.]]></description><link>https://newsletter.goodtechthings.com/p/the-death-of-the-modified-developer</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/the-death-of-the-modified-developer</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Fri, 30 Aug 2024 20:43:45 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/yMeApDsWDSo" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Quick thing up top: Fly.io is sponsoring the Cloud Resume Challenge in September! My buddy Jared calls them &#8220;<a href="https://x.com/ShortJared/status/1828834838486671840">the holy grail for hobby projects</a>&#8221; for a reason: they&#8217;ve been on my radar for a few years as probably the fastest, most cost-effective AWS Lambda alternative for small teams and side projects. <strong>They&#8217;ve asked me to pass along a special offer to CRC challengers:</strong> <a href="https://shortclick.link/6u57og">for a limited time, claim $50 in credits to build something on their platform right now</a>!</p><div><hr></div><p>Steve Yegge wrote a thought-provoking piece earlier this summer called <a href="https://sourcegraph.com/blog/the-death-of-the-junior-developer">The Death of the Junior Developer</a>. I&#8217;m still turning it over in my head because I heard Steve give a talk based on the article at <a href="https://twitter.com/forrestbrazeal/status/1826409093441224825">last week&#8217;s ETLS conference</a>. Let me tell you, the talk woke up everybody in the room. Steve, in person, is like an embodied version of his infamous <a href="https://gist.github.com/chitchcock/1281611">Platforms Rant</a>: he paces restlessly up and down the stage, spools out shocking opinions in a sort of breathless blurt, hurls insults at both the audience and himself, and generally comes across like a mad prophet from outer space.</p><p>That does not, however, mean he&#8217;s wrong.</p><p>Here&#8217;s the TL;DR of both talk and article: the current drying-up of the junior software engineer job market is not just a macroeconomic blip, it&#8217;s an inevitable result of AI doing all the low-level code-slinging tasks we used to give to interns and fresh computer science graduates. We still need developers, says Steve, but they&#8217;ve got to be experienced enough to keep the AI code-generators honest and on track. Juniors simply can&#8217;t keep up.</p><h3>When everyone&#8217;s senior, no one will be</h3><p>If you read to the end of Steve&#8217;s article, he suggests that many top CS graduates are effectively &#8220;already senior&#8221; by the time they graduate, because they&#8217;ve put in a ton of extra time on OSS projects, etc, to pick up relevant skills. This is your competition, he tells the artists-formerly-known-as-junior-developers; you better get good.</p><p>I find this to be a puzzling frame. If someone can be &#8220;effectively senior&#8221; without years of actual professional experience, then what the heck do the words &#8220;senior&#8221; and &#8220;junior&#8221; even mean? Are we just using them as synonyms for &#8220;skilled&#8221; and &#8220;not skilled?&#8221; Because that is not going to help all the people out there trying to break into tech jobs who can&#8217;t even get evaluated on their merits because the job req demands five years of experience. &#8220;Just get good&#8221; is not really a helpful thing to tell those people. Not at scale.</p><p>There&#8217;s another implication here, an even odder one: if there is no demand for junior developers anymore, then there can&#8217;t really be senior developers anymore either, right? &#8220;Senior&#8221; only has meaning as a contrast to &#8220;Junior&#8221;. </p><p>It seems that our terminology is failing us here. And that&#8217;s not a small point. If we can&#8217;t talk about this problem clearly, we can&#8217;t fix it. And, as thousands of frustrated entry-level job seekers can tell you, it&#8217;s a problem that needs fixing.</p><h3>Fullstack all the way down</h3><p>Now, since we&#8217;re being precise with our words&#8230; I actually think Steve doesn&#8217;t go far enough in calling out the death of the junior developer. I think that AI has killed, or is about to kill, pretty much every single modifier we want to put in front of the word &#8220;developer.&#8221;</p><p>&#8220;.NET developer&#8221;? Meaningless. Copilot, Cursor, etc can get anyone conversant enough with .NET to be productive in an afternoon &#8230; <em>as long as you&#8217;ve done enough other programming that you know what to prompt. </em>(Sorry, &#8220;juniors&#8221;.)</p><p>&#8220;Senior .NET developer&#8221;? It&#8217;s an oxymoron. If you&#8217;re senior now, your identity can&#8217;t just be &#8220;I write .NET&#8221;. AI is writing most of the actual .NET code. You have to be able to supervise and tweak a much broader set of technologies to be worth &#8220;senior&#8221; money.</p><p>For awhile I thought the only useful modifier AI has left us with is &#8220;fullstack&#8221;. For years now we&#8217;ve all been complaining about these &#8220;fullstack developer&#8221; job postings that seem to demand half a dozen skillsets in one: front end, back end, cloud, data, DevOps&#8230; </p><p>That isn&#8217;t ridiculous anymore. You pretty much have to make an impact across the full stack now because &#8220;I&#8217;m heads down on front end code&#8221; has become Claude Sonnet&#8217;s job. The AI world is a generalist&#8217;s world. Go big or go home, literally.</p><p>(Sure, there will always be a small number of very specialized, very skilled people who do nothing but optimize SQL Server query plans or whatever. This is like being that one lady who knows how to make the period-accurate soap in Colonial Williamsburg. I wouldn&#8217;t bet my career on being one of those people.)</p><p>When almost everyone is effectively &#8220;fullstack&#8221;, that&#8217;s not a useful modifier either.</p><h3>So what are we gonna do?</h3><p>I think Steve is prophetic when he tells us what&#8217;s happening to software development. But I think it&#8217;s not helpful to frame what&#8217;s happening as &#8220;the death of juniors&#8221;. <em>Junior </em>and <em>Senior </em>(and other terms designating experience level) are perhaps the only modifiers of &#8220;developer&#8221; that should always be relevant, because they&#8217;re unrelated to specific technical skills.</p><p>Perhaps we can define &#8220;junior developer&#8221; this way:  it&#8217;s <strong>somebody who needs human supervision to accomplish the things a full-fledged member of the technical staff should be able to do using only AI assistance.</strong></p><p>If we can&#8217;t make room in our taxonomy of technical work for someone who still needs human training, we are just doing the same old thing IT has been doing for decades: borrowing from our future to cash in on the current hype. AI, &#8220;chat-oriented programming&#8221;, whatever tomorrow&#8217;s buzzword is&#8212;they&#8217;re fascinating, they may be productivity enhancers, but they won&#8217;t remove the need for experienced human generalists in the loop. </p><p>And every experienced generalist starts out inexperienced. They start as a junior developer. That&#8217;s not where software engineering dies: it&#8217;s where it&#8217;s born.</p><div><hr></div><h3>Good Sponsored Thing</h3><p>Thanks as always to our flagship sponsor Pluralsight for supporting juniors and career-changers in tech via the Cloud Resume Challenge. If you really do have limited time to stay ahead of the AI reaper, it wouldn&#8217;t be a bad idea to spend a month of that time doing <a href="https://www.pluralsight.com/redeemlink/genericV4?redemptionId=cb1f4abb-a6fe-43bc-abbf-d1637b1fd046#/">a free course on the technology of your choice</a>.</p><div><hr></div><h3>Just For Fun</h3><p>Whether you&#8217;re in your 1st or 51st year in tech, you belong.</p><div id="youtube2-yMeApDsWDSo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;yMeApDsWDSo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/yMeApDsWDSo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[The end of the Everything Cloud]]></title><description><![CDATA[Why is AWS deprecating a bunch of services all of a sudden, and what does it mean for you?]]></description><link>https://newsletter.goodtechthings.com/p/the-end-of-the-everything-cloud</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/the-end-of-the-everything-cloud</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Tue, 30 Jul 2024 18:23:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Longtime customers know there are two distinct categories of AWS services.</p><p>Category 1 contains the gold-plated, inner-circle, first-ballot Hall-of-Fame services like EC2, S3, DynamoDB, etc. These are the moneymakers, the heavy hitters, the Babe Ruth and Willie Mays of the cloud. If one of them falls over, <a href="https://awsmaniac.com/aws-outages/">the entire internet has a bad day</a>.</p><p>Category 2 contains &#8230; <a href="https://www.youtube.com/watch?v=BtJAsvJOlhM">everything else</a>. </p><div id="youtube2-BtJAsvJOlhM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;BtJAsvJOlhM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/BtJAsvJOlhM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Just as Amazon is the Everything Store, AWS is the Everything Cloud. Did you know AWS has a service for <a href="https://aws.amazon.com/simspaceweaver/">spatial simulations</a> (SimSpace Weaver)? An <a href="https://aws.amazon.com/finspace/">analytics service for capital markets</a> (FinSpace)? Can you articulate the difference between Forecast and Timestream, or between CodeStar and CodeCatalyst? </p><p>For the past 10 years or so, AWS has been rolling out these peripheral services at an astonishing rate, dozens every year. A few get traction, most don&#8217;t&#8212;but they all stick around, undead zombies behind impressive-looking marketing pages, because historically AWS just doesn&#8217;t make many breaking changes. That&#8217;s been the unspoken commitment between AWS and its customers. <em>If we roll it out, no matter how silly or misguided, we will keep it running forever. </em></p><h3>Until the end of the internet &#8230; or not</h3><p>There is, however, <a href="https://www.aboutamazon.com/news/aws/aws-ceo-matt-garman-things-to-know">a new sheriff in town at AWS</a>. His name is Matt Garman, he&#8217;s got sales experience as well as engineering on his resume, and he seems to have this weird idea that AWS&#8217;s products should make money.</p><p>Sticking with the baseball Hall of Fame analogy: if S3 is Babe Ruth, these Category 2 services are more like <a href="https://en.wikipedia.org/wiki/Jim_Bottomley">Sunny Jim Bottomley</a>. Yes, he technically has a plaque in the Hall of Fame, but nobody&#8217;s paying admission to see him.</p><p>And, all of a sudden, some of those Sunny Jim-tier services are having their Hall of Fame plaques stripped. (In fairness, this started even before Garman took over.)</p><p>The estimable Scott Piper <a href="https://github.com/SummitRoute/aws_breaking_changes/">maintains a list</a> of the services to have been deprecated over the last few months. CodeStar has been memory-holed. Cloud9, AWS&#8217;s IDE in the cloud, no longer accepts new signups. Workdocs will delete all remaining data sometime next year. CloudSearch is going away. About a dozen services have been deprecated so far, and I&#8217;m hearing rumblings of more to come. All are &#8220;Category 2&#8221; services without significant adoption, and most are developer-experience services that simply aren&#8217;t competitive with more popular third-party alternatives.</p><h3>Is this betrayal?</h3><p>First let&#8217;s make it clear what&#8217;s <em>not </em>going on here. This is not an indication that AWS is turning into GCP, who has inherited from broader Google a <a href="https://killedbygoogle.com/">deserved reputation</a> for pulling the rug out from under users by <a href="https://www.theverge.com/2023/6/16/23763340/google-domains-sunset-sell-squarespace">killing services with wide adoption</a>. As a GCP user, you&#8217;ve always got in the back of your mind a suspicion that no service is too critical for Google to get bored with it and move on. If Google ran the baseball Hall of Fame, they&#8217;d have kicked out Babe Ruth by now because they were tired of dusting his statue.</p><p>I haven&#8217;t heard too many complaints from actual users of the services AWS is turning off, because in most cases, there just <em>aren&#8217;t any users.<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> </em>Nobody has chosen CloudSearch on purpose in years; it&#8217;s long since been replaced by OpenSearch. These services have been in maintenance-only mode for some time. At some point, having a glob of undernourished services that you are only pretending to offer&#8212;when every serious customer knows they are dead in all but name and will never be worth adopting&#8212;has got to be worse for AWS&#8217;s brand than just ripping off the bandaid and shutting them down.</p><p>So I get what AWS is doing. I think it&#8217;s necessary. I hope they can redirect the teams and dollars that were wasted keeping the lights on for CodeStar and Workdocs into making their Babe Ruth-caliber services even more amazing.</p><h3>The problem</h3><p>AWS made this mess for themselves by rushing all sorts of half-baked services to market. The mess had to be cleaned up at some point, and they&#8217;re doing that. But now they&#8217;ve explicitly revealed something to customers: <em>The new stuff we release isn&#8217;t guaranteed to stick around.</em></p><p>This is a problem when you are trying to sweatily convince everyone that <a href="https://aws.amazon.com/q/">Amazon Q</a> is the last best hope of mankind. Is Amazon Q like EC2, a Willie Mays-level legend that will never die? Or is it like <a href="https://www.si.com/mlb/2018/12/10/harold-baines-mlb-hall-fame-election">Harold Baines</a>, who got into the Hall of Fame via backroom shenanigans although nobody really believes he was one of the all-time greats?</p><p>I don&#8217;t know and you don&#8217;t know, because <em>AWS can&#8217;t possibly tell us. </em>It&#8217;s a prisoner&#8217;s dilemma. They need us to believe Q is here to stay, because only then will people adopt it. But if people don&#8217;t adopt it, AWS is now signaling that they will eventually be forced to kill it. Don&#8217;t forget, <a href="https://docs.aws.amazon.com/codewhisperer/latest/userguide/whisper-legacy.html">they&#8217;ve already memory-holed Q&#8217;s predecessor CodeWhisperer</a>.</p><p>Again, this isn&#8217;t as bad as GCP&#8217;s perception problem&#8212;nobody thinks AWS would kill a service capriciously if it was seeing great uptake. But it&#8217;s certainly <em>confusing</em>. AWS is dribbling out these service deprecations erratically, piecemeal, without explaining the overall rationale behind what they&#8217;re doing. And that is increasingly sowing <a href="https://twitter.com/simonw/status/1818166404308516992">doubt</a> and <a href="https://twitter.com/dvassallo/status/1818202104189575181">discord</a> in the community.</p><p>What to do?</p><h3>The Something Cloud</h3><p>I think AWS needs to express a public conviction on what kind of cloud they intend to be.</p><p>They&#8217;re not the Everything Cloud anymore. By junking this pile of failed services, they&#8217;ve tacitly acknowledged that it&#8217;s not worth their while to be in the business of running loss-leader developer tools (CodeCommit, Cloud9, Honeycode) or random business apps (Workdocs) or exotic vanity projects (QLDB) or whatever FinSpace Dataset Browser was/wasn&#8217;t.</p><p>So what <em>is </em>their business?</p><p>This would probably be a terrible PR move, but I would certainly respect it if Chief Evangelist Jeff Barr came out with a blog post saying something like this:</p><ul><li><p>At AWS, we are committed to running the best cloud primitives on the planet. That&#8217;s compute, networking, storage, data, identity. We are putting a massive amount of investment into maintaining, securing, and innovating those infrastructure-as-a-service primitives every day.</p></li><li><p>Over the past few years, we&#8217;ve also released a number of developer-experience tools built on top of our primitives. Tools like App Composer, CodeCatalyst, the Serverless App Repo, basically anything with the word &#8220;App&#8221; or &#8220;Code&#8221; in it. </p></li><li><p>This made sense in the past, but we&#8217;ve now seen that the wider AWS ecosystem is innovating beautifully on great new AWS-centric developer experiences. </p></li><li><p>So we&#8217;re going to &#8220;cut once, cut deep&#8221; and sunset {this list of 30-40 &#8220;App-&#8221; and &#8220;Code-&#8221; prefixed services} from the AWS console and APIs. It doesn&#8217;t look like very many of you are using them anyway, but if you are, here is a centralized location where you can find clear deprecation timelines and migration instructions for every affected service.</p></li><li><p>The people who were working on those services will be reassigned to help make our infrastructure even better.</p></li><li><p>We don&#8217;t expect to do this again. From now on, when we make a service or feature generally available, it&#8217;s because it fits into our core mission to be the best infrastructure cloud in history.</p></li><li><p>Oh and also Amazon Q is the last best hope of mankind. All hail Generative AI!</p></li></ul><p>That last bullet point I think is the mandated signoff for all AWS blogs. But the rest &#8230; I mean, of course AWS would never say any of that. But I think it&#8217;d be great if they said it. Because, whether they&#8217;re forthcoming about it or not, it sure looks like they&#8217;re culling their Hall of Fame to double down on what they do best. </p><p>And, to be honest, I don&#8217;t hate it.</p><h2>Cartoon of the day</h2><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!wK4P!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!wK4P!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!wK4P!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!wK4P!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!wK4P!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!wK4P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:987079,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!wK4P!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!wK4P!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!wK4P!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!wK4P!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F528e37a2-25be-4ae6-ab91-f94907eb9e2f_2050x2050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>CodeCommit, a notional git repository service, is the only service <a href="https://twitter.com/ben11kehoe/status/1818150057541054903">some people are mourning</a>. While it was never a serious competitor to GitHub, it did have a certain utility for internal plumbing in all-AWS CI/CD solutions. It probably didn&#8217;t make much money, but in my days as an AWS consultant the presence of CodeCommit in somebody&#8217;s stack was usually a signal that the customer in question was making some VERY expensive choices elsewhere on AWS.</p></div></div>]]></content:encoded></item><item><title><![CDATA[The case for conferences in 2024]]></title><description><![CDATA[COVID and the end of ZIRP weirded everything. Are companies still funding travel for professional development, and is it still worth doing?]]></description><link>https://newsletter.goodtechthings.com/p/the-case-for-conferences-in-2024</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/the-case-for-conferences-in-2024</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Wed, 17 Jul 2024 18:30:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/oF1Ex7uKqjg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I was stupid enough to make some predictions about the post-COVID world on March 13, 2020:</p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;a7e29943-af07-4564-8741-1ad875d230d4&quot;,&quot;caption&quot;:&quot;Read at forrestbrazeal.com Look, nobody wins in a global pandemic. I keep seeing these takes like \&quot;Buy $Zoom!\&quot; or \&quot;This must be a good time to work at Disney+!\&quot; and, like, no. It's not the greatest time to be working, period. I mean, yeah, Disney will pick up some streaming subscribers (offset by the increased per-user cost of serving them -- binge-watchi&#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Tech in the time of COVID-19&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:2605615,&quot;name&quot;:&quot;Forrest Brazeal&quot;,&quot;bio&quot;:&quot;Forrest is a cloud educator, cartoonist, author, and Pwnie Award-winning songwriter.&quot;,&quot;photo_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1e3ecbb4-77a3-4e86-b3e8-04b83b25d4c8_1170x1170.jpeg&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2020-03-13T16:14:29.855Z&quot;,&quot;cover_image&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/93f484b1-fd13-4dc9-9546-d58d26840986_1180x395.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://newsletter.goodtechthings.com/p/tech-in-the-time-of-covid-19&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:311820,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:null,&quot;publication_name&quot;:&quot;Good Tech Things&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F53dec02b-d276-41ae-98ec-b34b1e686c78_120x120.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Some of them have not aged well. </p><ul><li><p>The USA did not pass a public-health version of the Patriot Act with far-reaching surveillance powers.</p></li><li><p>The world&#8217;s digital infrastructure held up just fine, despite most of our COBOL programmers falling in an elevated COVID risk demographic.</p></li><li><p>Sadly, we did not come to a global long-term consensus that knowledge work is just as effectively done from home. </p></li></ul><p>But I did make one prediction that has held up: I called the end of &#8220;peak tech conference.&#8221; </p><h3>The end of frivolous conference travel</h3><p>At the time it was clear to me that a lot of tech events had become &#8220;DevRel talking to DevRel&#8221; ouroboroses that consumed wasteful amounts of time, travel, and swag for little real benefit to anyone. I suspected that marketing departments would wake up to the fact that there are better places to spend growth dollars. And I assumed that companies would become much more hesitant to send valuable engineers into crowded public places.</p><p>All of that turned out to be true. The end of the zero-interest-rate environment, and the associated tightening of budgets across the industry, only exacerbated the trend.</p><p>Over the past few weeks I&#8217;ve been asking a bunch of engineers and managers in tech about how their company policies on conference travel have changed. Here are some common themes I hear:</p><ul><li><p>&#8220;We are freezing hiring and raises across the org. I&#8217;d be crazy even to ask for budget to travel for a conference.&#8221;</p></li><li><p>&#8220;We used to have a per-person training budget, but now we just have one lump sum for all team travel. So we have to choose between getting our whole team together offsite or sending a few individuals to a conference.&#8221;</p></li><li><p>&#8220;Professional development opportunities used to be crucial for hiring and retention, but the job market is so bad that that&#8217;s not true anymore.&#8221;</p></li><li><p>&#8220;If I&#8217;m going to pay for someone to travel to a conference, I need to be convinced of a direct benefit for the whole team.&#8221;</p></li></ul><p>It&#8217;s often easier to get funding for a ticket at a local conference that doesn&#8217;t require travel, and that&#8217;s great! But unless you live in one of a few tech-hub cities, the conferences don&#8217;t necessarily come to you. You have to go to them. And that&#8217;s harder than ever to justify.</p><h3>What&#8217;s the value prop of conferences in 2024, anyway?</h3><p>Is it still personally helpful for your career to travel to tech conferences?</p><p>If you are speaking, and particularly if that talk is recorded, the answer is usually still an easy yes. Putting your expertise out there in a professional setting raises your profile and leads to better career opportunities.</p><p>But what if you&#8217;re not speaking?</p><p>As one platform engineering VP said to me: &#8220;Get a talk accepted? I&#8217;ll approve [your travel]. Going to learn? Convince me it&#8217;s high value and there aren&#8217;t better ways to learn it.&#8221;</p><p>Simply put, if you want to go to a conference to sit in a room and hear people explain subjects that somebody else has already explained on YouTube, I think fewer and fewer teams will have the budget to fund that. </p><p>However, &#8220;classroom learning&#8221; was never the value prop of tech conferences. Not the good ones, anyway.</p><h3>How do I figure out if a conference is good?</h3><p>Here&#8217;s where an example might help.</p><p>I&#8217;m speaking next month at Gene Kim&#8217;s remarkable event for IT leaders and builders, the <a href="https://itrevolution.com/articles/what-to-expect-at-enterprise-technology-leadership-summit-las-vegas-2024/">Enterprise Technology Leadership Summit</a> (formerly DevOps Enterprise Summit). I&#8217;ve attended ETLS twice before, because I believe it&#8217;s the most worthwhile independent conference in tech for professional IT/Ops people. (Use discount code REVOLUTION to <a href="https://itrevolution.com/product/enterprise-technology-leadership-summit-las-vegas-2024/">take $350 off the ticket price!</a>)</p><p>Here are three questions I use to evaluate whether a conference is worthwhile in 2024; I&#8217;ll use Gene&#8217;s event to illustrate.</p><h4>Are the speakers mostly known for doing stuff, or for talking about stuff?</h4><p>Spend some time with the conference&#8217;s published speaker lineup. Is it full of &#8220;tech celebrities&#8221; who seem to be more notable for their Twitter following than for anything they actually work on? Or does it foreground people who have done hard things in complex environments?</p><p>Take a look at <a href="https://itrevolution.com/product/enterprise-technology-leadership-summit-las-vegas-2024/">Gene&#8217;s speaker lineup</a>. These are not Twitter celebrities at the top of the card, but technical leaders at companies like Southwest Airlines, Wendy&#8217;s, Vanguard, John Deere, etc. He works hard to bring in people with battle scars who are sharing their failures as well as their successes.</p><p>That is the type of insight <em>you cannot find on the internet. </em>You will be learning things that YouTubers do not know. In many cases, these people will be publicly telling their stories for the first and only time.</p><h4>Does the event make it easy for you to meet and learn from other attendees?</h4><p>Sometimes you&#8217;ll hear people say &#8220;the best part of a tech conference is the hallway track&#8221;, by which they mean that the real value in going is not attending the official sessions, but networking with the other conference-goers.</p><p>This is a) true, and b) completely overwhelming. I know what it feels like to go to a conference where all the cool people are huddled up talking to each other. You could wander the hallways for three days and never once figure out how to get pulled into a meaningful conversation.</p><p>Gene combats the native shyness of tech nerds through a few ingenious tricks:</p><ul><li><p>Every speaker is required to end their talk with a slide listing something they need help on. That gives you a built-in opening to approach interesting people.</p></li><li><p>He schedules daily &#8220;Birds of a Feather&#8221; sessions where you are forced to talk with people who share your interests in a lightly structured setting.</p></li><li><p>He runs an active Slack workspace for past and present ETLS attendees, where absurdly overqualified people are happy to answer your questions or meet with your for mentorship 1:1 &#8212; even years later.</p></li><li><p>He creates a culture of learning and humility around the event; I&#8217;ve never once felt that someone at ETLS was &#8220;big-timing&#8221; me, even though many of them have reached the very top of their field.</p></li></ul><p>A culture like that doesn&#8217;t just happen, and many organizers haven&#8217;t given thought to it. If you are going to spend your own precious time traveling to a conference, let alone your company&#8217;s money, you need to be sure you&#8217;re making connections that will propel your career for years to come.</p><h4>Is the conference organized around ideas and practices that are not easy to learn about from online sources?</h4><p>I don&#8217;t know if I would spend my current company&#8217;s money to attend a conference about, say, serverless functions. I feel like we&#8217;ve beaten that particular technology to death over the last 10 years and most of the interesting things there are to say about it have probably already been said.</p><p>But man, in 2017-2019 when I was helping to run ServerlessConf? That event was a hotbed of fascinating people trying to build things in ways that were completely new. I personally gave what I think may have been <a href="https://www.youtube.com/watch?v=D6qV3bC4rNw">the first-ever independent talk about running a production workload on AWS Step Functions</a>. There was no other place to learn that stuff except at events like ServerlessConf.</p><p>In the same way, Gene has smartly pivoted his event away from being DevOps-centric to focus on the outer limits of what&#8217;s possible in modern cloud and IT. (Yeah, that means a lot of Generative AI stuff. But from the perspective of the people who are actually trying to run workloads on top of it, and what is or isn&#8217;t working.)</p><h3>How to convince your boss a conference is worth attending</h3><p>Once you&#8217;ve convinced yourself that you will get value out of an event, it&#8217;s time to convince your boss to agree that it&#8217;s worth spending the company&#8217;s money on it.</p><p>The time-honored way to do this is with something called a <a href="https://blog.pcnametag.com/conference-justification-letter">Business Justification Letter</a>. You could write this yourself, or get AI to do it. I was able to get ChatGPT to write me a pretty darn good letter with the following prompt:</p><blockquote><p>Write a business justification letter to help convince my boss why I, a DevOps engineer, should attend the ETLS conference in Las Vegas this year.</p><p>Include in the justification letter specific references to 3 excellent speakers at <a href="http://(https://itrevolution.com/articles/what-to-expect-at-enterprise-technology-leadership-summit-las-vegas-2024/)">the current year's event</a> that a DevOps engineer would get value from. Also, the letter should emphasize that ETLS is a practitioner's event featuring real war stories from builders at large, complex organizations. </p><p>You should also mention that the event is independent, not put on by a particular vendor, and so is able to cut through the hype to deliver real learnings on how mature teams are using (or not using) generative AI.</p></blockquote><p>That gave me about 500 words that I was able to tweak slightly to sound pretty convincing.</p><p>Your team may have constraints that prohibit them from funding travel no matter how reasonable your letter is. <em>But they may not. </em></p><p>One manager I talked to said this: &#8220;I&#8217;d find budget for some of my senior folks if they wanted to go [to a conference], just to keep them happy and engaged. [But] <em>my teams haven&#8217;t asked.</em>&#8221; (emphasis mine)</p><p>You&#8217;re not going to get fired for suggesting a professional development opportunity. The worst your boss can say is no. And you already have a no. So there is only upside.</p><p>I would love to see you in Las Vegas for ETLS next month. Again, you can use the code REVOLUTION to shave several hundred dollars off <a href="https://itrevolution.com/product/enterprise-technology-leadership-summit-las-vegas-2024/">the ticket cost</a>. Can you do two things for me? 1) if you follow the three questions above and feel ETLS or another event would be useful for you, can you generate the pitch letter and send it to your boss? and 2) can you let me know how it goes?</p><p>I&#8217;m very interested to hear your results.</p><div><hr></div><h2>Good sponsored thing</h2><p>Reminder that Pluralsight is still running their 30-day trial of their learning platform for anybody working on the Cloud Resume Challenge. <a href="https://www.pluralsight.com/redeemlink/genericV4?redemptionId=cb1f4abb-a6fe-43bc-abbf-d1637b1fd046">Use this link to claim your free month</a>. Go get a cert or something. You&#8217;ll be glad to have invested the time in yourself.</p><div><hr></div><h2>Just for fun</h2><p>If we all have to return to the office anyway, we might as well demand some training budget.</p><div id="youtube2-oF1Ex7uKqjg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;oF1Ex7uKqjg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/oF1Ex7uKqjg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[This is what software development looks like now]]></title><description><![CDATA[It's ... interesting?]]></description><link>https://newsletter.goodtechthings.com/p/this-is-what-software-development</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/this-is-what-software-development</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Wed, 19 Jun 2024 13:48:53 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!tXxV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>My old colleague and <a href="https://www.pluralsight.com/resources/blog/cloud/the-career-changing-art-of-reading-the-docs">personal hero</a> <a href="https://twitter.com/ShortJared">Jared Short</a> received a sponsorship from <a href="https://shortclick.link/nl1pce">Typesense</a> to build something interesting with their search engine. The thing he built <a href="https://twitter.com/forrestbrazeal/status/1803083019407790530">somewhat took me aback</a>. I asked him to write up his development process, stream-of-consciousness style, so we can all benefit from it. This is what the software engineering world looks like now. For better or for worse, there is no going back.</em></p><p><em>Jared&#8217;s words follow:</em></p><h3>A comical application of AI and really fast search</h3><p>I spent a couple days thinking about what to build, and after revisiting <a href="https://shortclick.link/doleof">the Typesense feature list</a> a few times, one idea stood out: semantic search using embeddings. </p><h4>Quick primer on embeddings (skip this if you already know)</h4><p>If you're not familiar with embeddings, they are a technique to represent data, especially complex or high-dimensional data, in a simpler, lower-dimensional form.</p><p>In the context of text, this means words that have similar meanings are mapped closer together in the vector space. For example, words like "vehicle,", "airplane," and "helicopter" would be placed nearer each other in the vector space, while they would be further from less related words like "pencil" or "telephone." This makes it easier for a machine to understand and process the relationships between different words. Let&#8217;s assume a 2-dimensional vector space (X, Y). Words like &#8220;vehicle&#8221; may be assigned a value like (2, 3) and &#8220;airplane&#8221; (2.2, 3.2) while a much less related &#8220;pencil&#8221; would be (5, 1).</p><p>Represented as a graph, vector search with those embeddings on the 2d space would look something like this.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!tXxV!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!tXxV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png 424w, https://substackcdn.com/image/fetch/$s_!tXxV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png 848w, https://substackcdn.com/image/fetch/$s_!tXxV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png 1272w, https://substackcdn.com/image/fetch/$s_!tXxV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!tXxV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png" width="1456" height="930" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:930,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!tXxV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png 424w, https://substackcdn.com/image/fetch/$s_!tXxV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png 848w, https://substackcdn.com/image/fetch/$s_!tXxV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png 1272w, https://substackcdn.com/image/fetch/$s_!tXxV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F6aeead2b-c6f3-45ad-821b-9a8bd8ad1ebf_1600x1022.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Fun fact: the graph above was generated completely within ChatGPT after asking it to come up with a few examples of words and their embedding values, and then graph it.</figcaption></figure></div><p>You can see then how if you took similar words and a more dimensional space, most embedding models are hundreds or low single digit thousands right now. Searching for things like helicopters, we can use the dimensions to know that semantically, results like &#8220;transportation&#8221; are more relevant than &#8220;office&#8221;.</p><h4>The project: &#8220;Relevant Brazeal&#8221;</h4><p>So I knew I wanted to use embeddings to search for <em>something</em>, but I still wasn&#8217;t sure what. While I was procrastinating, it just so happened that Forrest had recently posted one of his classic comics&#8230;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.goodtechthings.com/three-databases/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!RMAG!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e38de8e-f0fd-4119-9daa-f5670039b347_680x680.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RMAG!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e38de8e-f0fd-4119-9daa-f5670039b347_680x680.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RMAG!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e38de8e-f0fd-4119-9daa-f5670039b347_680x680.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RMAG!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e38de8e-f0fd-4119-9daa-f5670039b347_680x680.jpeg 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!RMAG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e38de8e-f0fd-4119-9daa-f5670039b347_680x680.jpeg" width="680" height="680" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9e38de8e-f0fd-4119-9daa-f5670039b347_680x680.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:680,&quot;width&quot;:680,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://www.goodtechthings.com/three-databases/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!RMAG!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e38de8e-f0fd-4119-9daa-f5670039b347_680x680.jpeg 424w, https://substackcdn.com/image/fetch/$s_!RMAG!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e38de8e-f0fd-4119-9daa-f5670039b347_680x680.jpeg 848w, https://substackcdn.com/image/fetch/$s_!RMAG!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e38de8e-f0fd-4119-9daa-f5670039b347_680x680.jpeg 1272w, https://substackcdn.com/image/fetch/$s_!RMAG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9e38de8e-f0fd-4119-9daa-f5670039b347_680x680.jpeg 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I also had been looking for one of his comics that I knew had <a href="https://www.goodtechthings.com/what-lies-beneath/">a Titanic or something on it</a> describing the hidden complexities of serverless computing. There we go. I wanted a semantic / ludicrously fast search over Forrest&#8217;s comics.</p><p>I also gave myself a side quest&#8230; since we are leaning into AI, just lean all the way in. I wanted to hand write as little code as possible to see for myself how far we really are these days with the whole &#8220;AI coder&#8221; thing.</p><p>I got permission from Forrest, he dumped me a JSON blob of his comics, and away we go.</p><h4>Problem 1: Images might be worth 1000 words, but they don&#8217;t actually have words</h4><p>The giant JSON blob mostly amounted to a title and link to an image. This turns out to be approximately zero use when it comes to any kind of search, let alone semantic search.</p><p>Well, I said we were going all in on AI. I popped open <a href="https://zed.dev/">zed</a>, my editor of choice because it is real fast and has pretty solid AI capabilities, and then prompted as follows:</p><pre><code>&gt; write a script that uses OpenAI gpt-4o to extract the captions and descriptions of a comic. </code></pre><p>It spit out some Python. I haven&#8217;t used Python for a couple years at this point. So naturally this was followed by:</p><pre><code>&gt; how do I setup a python project in 2024</code></pre><pre><code> &gt; what is poetry</code></pre><pre><code>&gt; no, i mean python poetry</code></pre><p>Eventually we got there. A few more prompts of &#8220;make this script take an argument of a file with a JSON blob with these properties&#8221;, and some fine tuning of the prompt of what parameters I wanted in the response, and we had some surprisingly solid results from nothing more than an image and fairly simple prompt.</p><p>Code / Input:<a href="https://github.com/shortjared/typesense-ai-comic-search/blob/6cac573a2f43c3b9f15b002f6748566d67da5749/actual_magic/spells/transmute.py#L38-L72"> GitHub Link</a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!gziu!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!gziu!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png 424w, https://substackcdn.com/image/fetch/$s_!gziu!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png 848w, https://substackcdn.com/image/fetch/$s_!gziu!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png 1272w, https://substackcdn.com/image/fetch/$s_!gziu!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!gziu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png" width="743" height="638" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/da551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:638,&quot;width&quot;:743,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!gziu!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png 424w, https://substackcdn.com/image/fetch/$s_!gziu!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png 848w, https://substackcdn.com/image/fetch/$s_!gziu!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png 1272w, https://substackcdn.com/image/fetch/$s_!gziu!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fda551a0b-74f3-45ca-8417-3ee2dd98a050_743x638.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Output for <a href="https://www.goodtechthings.com/engineering-jeopardy/">this image</a>:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Hvge!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Hvge!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png 424w, https://substackcdn.com/image/fetch/$s_!Hvge!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png 848w, https://substackcdn.com/image/fetch/$s_!Hvge!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png 1272w, https://substackcdn.com/image/fetch/$s_!Hvge!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Hvge!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png" width="1140" height="1140" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1140,&quot;width&quot;:1140,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Hvge!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png 424w, https://substackcdn.com/image/fetch/$s_!Hvge!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png 848w, https://substackcdn.com/image/fetch/$s_!Hvge!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png 1272w, https://substackcdn.com/image/fetch/$s_!Hvge!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F503e6278-cfcd-482e-a45f-03b354494ac7_1140x1140.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><pre><code>{
&#9;"description_environment": "The image is a parody of a Jeopardy game show with a game board and contestants.",
&#9;"description_happening": "A person stands at a podium, asleep or tired, faced with a board of 'Engineering Jeopardy' questions. The board's categories are 'Design Decisions', 'Time Estimates', 'Tool Choices', 'Best Practices', and 'Performance', with corresponding monetary values. Many of the answers on the board are 'It Depends'. Three contestants are raising their hands frantically.",
&#9;"description_humor": "The humor arises from the absurdity of engineering questions often having the vague answer 'It Depends', poking fun at the complexity and uncertainty in the field of engineering.",
&#9;"caption": "ENGINEERING JEOPARDY; COSTS; DESIGN DECISIONS; TIME ESTIMATES; TOOL CHOICES; BEST PRACTICES; PERFORMANCE; IT DEPENDS; $200; $200; IT DEPENDS; $200; $200; $400; IT DEPENDS; $400; $400; IT DEPENDS; IT DEPENDS; $600; $600; $600; IT DEPENDS; $600; IT DEPENDS; $800; $800; IT DEPENDS; $800; $800; IT DEPENDS; IT DEPENDS; $1000; $1000; IT DEPENDS; $1000; $1000; @forrestbrazeal",
&#9;"tags": ["engineering", "jeopardy", "parody", "humor", "complexity"],
&#9;"suggested_alt_text": "A parody of Jeopardy called 'Engineering Jeopardy'. The board features categories like 'Design Decisions' and 'Performance' with many answers being 'It Depends'. A tired contestant stands at a podium while three contestants raise their hands eagerly.",
&#9;"title": "Engineering Jeopardy"
  }
</code></pre><p>I was impressed, to say the least.</p><ul><li><p>It had taken me maybe 15 minutes to get to this point. </p></li><li><p>I wrote zero original code so far. I did edit the prompt a bit to add some additional properties to the response and give a little bit of extra detail in what I expected (captions to be separated by a semi-colon but still be a single string).</p></li><li><p>Heck, I didn&#8217;t even pick the language the script was written in.</p></li></ul><p>When I ran this, I realized it was going to take a little while to get a couple hundred of these images processed&#8230; so I simply prompted again:</p><pre><code>&gt; processing images is a bit slow, parallelize this to do it in batches of 10 and run all images in a batch in parallel. 

&gt; add progress tracking and time estimation so I know how long this will take</code></pre><p>On the first run, it imported some random lib and the script was crashing. Pretending I didn&#8217;t know why, I popped the error code in the chat assistant, it told me what to do and all was fixed.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="https://substackcdn.com/image/fetch/$s_!n7sr!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!n7sr!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png 424w, https://substackcdn.com/image/fetch/$s_!n7sr!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png 848w, https://substackcdn.com/image/fetch/$s_!n7sr!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png 1272w, https://substackcdn.com/image/fetch/$s_!n7sr!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!n7sr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png" width="743" height="210" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:210,&quot;width&quot;:743,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!n7sr!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png 424w, https://substackcdn.com/image/fetch/$s_!n7sr!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png 848w, https://substackcdn.com/image/fetch/$s_!n7sr!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png 1272w, https://substackcdn.com/image/fetch/$s_!n7sr!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F04a14b1a-a46a-491d-afe4-36c76cd4cbaa_743x210.png 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>Is it production-ready quality code and something I would be proud of? No. Does it work and do what I want? Seems like it. Plus it&#8217;s a script for something I wanted to tinker with. It&#8217;ll do.</p><p>Outside of the search usefulness, the AI also produced fairly good <code>suggested_alt_text</code> which could be useful for folks using screen readers to still get some of the description and possibly humor of the comic.</p><h4>Problem 2: We have the data, now how do we search?</h4><p>Popping open the Typesense documentation and searching (unsurprisingly powered by Typesense) for how to run it locally, there are a few options, and I opted for a quick <code>docker run</code>. A few moments later I had a local running Typesense instance. Refreshingly simple, and it also means I should be able run this on any container hosting platform and get an identical experience.</p><p>Now a story as a series of prompts:</p><p><strong>Creating the script to index the collection</strong></p><pre><code>&gt; Write a script that takes a JSON file path as an arg, gets the content, and writes it to a Typesense collection

&gt; Make tags a faceted property</code></pre><p>Now at this point, it worked. Simple curl requests to the local endpoint worked, but only for words really found in the text. Looking for something like &#8220;titanic&#8221; didn&#8217;t return anything. This makes sense; I hadn&#8217;t yet enabled the &#8220;<a href="https://typesense.org/docs/26.0/api/vector-search.html#hybrid-search">Hybrid</a>&#8221; search mode of Typesense, which takes both a keyword and semantic search together to produce the best results.</p><p>The weakest part of this process was that Typesense doesn&#8217;t really provide much guidance on the &#8220;best&#8221; embeddings models to use or much guidance on any of the differences in their docs. I assume this is largely because this is an &#8220;it depends&#8221; type situation on what you should pick, depending on your text domain.</p><p>I was at a total loss for which model to use. After some quick searching and finding the <a href="https://huggingface.co/spaces/mteb/leaderboard">Massive Text Embedding Benchmark</a>, I ended up going with <code>ts/gte-small</code> since it seemed like a good tradeoff of size vs quality. I have no idea if that was a good choice or not, but the results will speak for themselves.</p><p>Enabling the embeddings to be computed was incredibly simple, just a simple edit to the collection creation script (I did do this manually instead of prompting) and then recreating the index and we were ready for semantic searches.</p><pre><code>&nbsp; 'fields': [

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; // &#8230; all the other fields

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; {

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "name": "embedding",

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "type": "float[]",

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "embed": {

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "from": [

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "description_humor",

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "description_environment",

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "title"

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ],

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "model_config": {

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; "model_name": "ts/gte-small"

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }

&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }

&nbsp;&nbsp;&nbsp;&nbsp;]</code></pre><p>&nbsp;&nbsp;<strong>Creating the search &#8220;app&#8221;</strong></p><p>This is what web app development looks like now:</p><pre><code>&gt; Write a single index.html file that uses instantsearch.js and typesense to provide a search over a collection, provide some basic clean styling and present results as a grid of images using the `url` property

&gt; Add the title property to the top of each result item

&gt; Add an instantsearch faceting component for the tags property, place it to the left of the image grid

&gt; Provide a dark mode that respects the user browser / os settings

&gt; Use the Cadillac of frontend, jQuery, to make each image grow to a reasonable readable size on hover

&gt; Make each image click go to the reference url in a new tab

&gt; Add a title and sub-header tags to the top of the page</code></pre><p>I did make a few edits in the fairly readable produced code, like adding the title and links / info to the headers.</p><h4>The ridiculous results</h4><p>It turns out <a href="https://shortjared.github.io/typesense-ai-comic-search/">this all works better than I ever expected</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!AVzE!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!AVzE!,w_424,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif 424w, https://substackcdn.com/image/fetch/$s_!AVzE!,w_848,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif 848w, https://substackcdn.com/image/fetch/$s_!AVzE!,w_1272,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif 1272w, https://substackcdn.com/image/fetch/$s_!AVzE!,w_1456,c_limit,f_webp,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!AVzE!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif" width="600" height="362" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:362,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:8535015,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!AVzE!,w_424,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif 424w, https://substackcdn.com/image/fetch/$s_!AVzE!,w_848,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif 848w, https://substackcdn.com/image/fetch/$s_!AVzE!,w_1272,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif 1272w, https://substackcdn.com/image/fetch/$s_!AVzE!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F44f0b2bf-6da4-4940-ba6b-c2533b9530cf_600x362.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Not only was I able to fulfill my mission of finding the &#8220;comic with a Titanic in it&#8221;, but the semantic search is extraordinarily flexible. &#8220;Bird&#8221; picks out comics with chickens and penguins in it. &#8220;People waiting in line&#8221; picks out exactly what you&#8217;d expect. More exacting caption search is perfect. All of this searching works as quickly as I can type into the search bar, with results returning in milliseconds thanks to Typesense.</p><p>I threw everything up on GitHub Pages and <a href="https://shortjared.github.io/typesense-ai-comic-search/">you can play with it to your heart&#8217;s content</a>. Once again, Typesense was kind enough to sponsor hosting the collection in their <a href="https://shortclick.link/nl1pce">Typesense Cloud </a>offering so I didn&#8217;t need to worry about managing anything to keep the demo alive long term.</p><p>You can also view all the source code <a href="https://github.com/shortjared/typesense-ai-comic-search">here</a>. Again, this isn&#8217;t production-quality code, it&#8217;s probably barely even re-usable code. But that wasn&#8217;t the point of this exercise!</p><p>I ended up walking away fairly impressed with the current state of things in AI, as well as the speed, ease of use, and developer-friendliness of Typesense. Starting from a JSON blob with a list of URLs to comic images, I was able to get incredibly fast, semantic search over that set of images, with minimal coding required from my end. All with a couple hours of prompting and reading some docs here and there.</p><p>So what&#8217;s the takeaway? Largely, I believe there is value for a developer to spend their time to push the bounds of what they think Gen AI can add to their workflow. Pick a toy project like this one, and challenge yourself to get as far as you can with prompting and iterating, without hand-jamming much code. Find the limits of what Gen AI can and can&#8217;t do (yet), and maybe discover some responsible ways to augment your day-to-day workflows.</p><p><em>Forrest here again. Thanks, Jared! </em></p><p><em>If you would enjoy getting sponsored to hack on interesting side projects like this, my cofounder Emily and I <a href="https://www.freemanandforrest.com/join-our-influencers">would love to hear from you</a>.</em></p><h3>Links and events</h3><ul><li><p>Speaking of generative AI, I recently appeared on Rob Collie&#8217;s Raw Data podcast, <a href="https://p3adaptive.com/rawdatapodcast/episode/good-tech-things-and-the-limits-of-ai-w-forrest-brazeal/">trying to work out my complicated feelings about AI</a>.</p></li><li><p>Still speaking of generative AI, because aren&#8217;t we all, I will be premiering an absolutely ridiculous mini-musical about the types of ways AI makes us feel <a href="https://itrevolution.com/product/enterprise-technology-leadership-summit-las-vegas-2024/">at Gene Kim&#8217;s ETLS event in August</a>. I&#8217;ll be bringing a grand piano and all sorts of other nonsense to the Fontainebleau in Las Vegas. It should be &#8230; an experience. You should convince your boss to buy you a ticket. Say it&#8217;s for training.</p></li><li><p>On Monday I closed out Day 1 of the marvelous <a href="https://fwdcloudsec.org/">fwd:cloudsec</a> conference with <a href="https://www.youtube.com/watch?v=HlTBGgQgNL4">some brand-new songs</a> about RTO, AI, and other things that make us sad.</p></li><li><p>Pluralsight, the longsuffering sponsor of the Cloud Resume Challenge, asked me to tell you about a new offer for challengers: if you post about the Cloud Resume Challenge on LinkedIn using hashtag #CloudResumeChallenge, and you tag Pluralsight as your learning platform, they will reach out to give you $50 in free AWS credits. I&#8217;m also told that if they really like what you said, they might even give you $1000 in credits. This seems like a pretty good offer to me. You should take them up on it.</p></li></ul><h3>Cartoon of the day</h3><p>All this talk about Typesense and cartoons got me thinking&#8230;it&#8217;s time to bring back the Probably Wrong Flowcharts.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.goodtechthings.com/search-engines/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!vu-u!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd172ae1f-8f49-4bbe-8b41-4048d61c7fba_2940x2694.png 424w, https://substackcdn.com/image/fetch/$s_!vu-u!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd172ae1f-8f49-4bbe-8b41-4048d61c7fba_2940x2694.png 848w, https://substackcdn.com/image/fetch/$s_!vu-u!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd172ae1f-8f49-4bbe-8b41-4048d61c7fba_2940x2694.png 1272w, https://substackcdn.com/image/fetch/$s_!vu-u!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd172ae1f-8f49-4bbe-8b41-4048d61c7fba_2940x2694.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!vu-u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd172ae1f-8f49-4bbe-8b41-4048d61c7fba_2940x2694.png" width="1456" height="1334" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d172ae1f-8f49-4bbe-8b41-4048d61c7fba_2940x2694.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1334,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:2037353,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.goodtechthings.com/search-engines/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!vu-u!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd172ae1f-8f49-4bbe-8b41-4048d61c7fba_2940x2694.png 424w, https://substackcdn.com/image/fetch/$s_!vu-u!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd172ae1f-8f49-4bbe-8b41-4048d61c7fba_2940x2694.png 848w, https://substackcdn.com/image/fetch/$s_!vu-u!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd172ae1f-8f49-4bbe-8b41-4048d61c7fba_2940x2694.png 1272w, https://substackcdn.com/image/fetch/$s_!vu-u!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd172ae1f-8f49-4bbe-8b41-4048d61c7fba_2940x2694.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[I made a new cartoon thing for you to try]]></title><description><![CDATA[also, Google Cloud does something very good]]></description><link>https://newsletter.goodtechthings.com/p/i-made-a-new-cartoon-thing-for-you</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/i-made-a-new-cartoon-thing-for-you</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Tue, 28 May 2024 16:04:56 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Happy summer!</p><p>First up: In last week&#8217;s issue, <a href="https://newsletter.goodtechthings.com/p/a-tale-of-two-clouds">I came after Google Cloud pretty hard</a> for not posting a root-cause analysis of the mysterious outage that took down a large customer named UniSuper.</p><p>Credit to them, just a few days later they released <a href="https://cloud.google.com/blog/products/infrastructure/details-of-google-cloud-gcve-incident/">a statement</a> containing everything I called for and more:</p><ul><li><p>They took <strong>full responsibility</strong> for the issue without making excuses (even though, given that VMware Engine was indeed involved, I guess they could have tried to blame Broadcom).</p></li><li><p>They provided <strong>a clear technical explanation</strong> of why the outage happened. That tricky word &#8220;subscription&#8221; that confused so many of us in the initial reporting about the issue? It&#8217;s referring to their provisioned VMware tenant, which was accidentally set to expire after one year.</p></li><li><p>They laid out in reasonable detail <strong>what steps they are taking</strong> to prevent this class of incident from occurring in future, and why it was a freak occurrence unlikely to happen again: this was a config mistake during a since-deprecated setup process involving a single resource, not reflective of an underlying issue with GCP&#8217;s technical stability. Customers and investors can breathe a huge sigh of relief.</p></li></ul><p>We can nitpick about how it would have been nice to have this statement within days rather than weeks, but I was hard on GCP last week so I want to be equally generous to them here. However long it took to put together, this is an <em>outstanding </em>statement. It&#8217;s clearly worded, technically informative without overly exposing the customer, and appropriately reassuring without being glib. I&#8217;m impressed by the work of the comms team, the marketing team, and of course the engineering and support teams who put it together.</p><p>I hope this is a template for the kind of communication Google Cloud will have with its customers going forward.</p><h2>Oops, all cartoons</h2><p>I&#8217;ve gotten a little behind on sharing new cartoons with you - so here are several, as well as a small announcement you may find interesting.</p><p>I&#8217;m not sure we&#8217;ve ever talked in this newsletter about <em>why </em>I draw <a href="https://goodtechthings.com">so many weird little cartoons and flowcharts</a>. Originally I drew them with sharpie marker in my cubicle at Infor and scanned them using the office copier. Now I use an iPad, but they still help me to organize my own thoughts, like about the misaligned incentives of open source development:</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.goodtechthings.com/maintainers-vs-companies/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Ge-X!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bf5cbb8-285b-41b9-9faf-29f41f3969ce_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!Ge-X!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bf5cbb8-285b-41b9-9faf-29f41f3969ce_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!Ge-X!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bf5cbb8-285b-41b9-9faf-29f41f3969ce_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!Ge-X!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bf5cbb8-285b-41b9-9faf-29f41f3969ce_2050x2050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Ge-X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bf5cbb8-285b-41b9-9faf-29f41f3969ce_2050x2050.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1bf5cbb8-285b-41b9-9faf-29f41f3969ce_2050x2050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:693428,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.goodtechthings.com/maintainers-vs-companies/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Ge-X!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bf5cbb8-285b-41b9-9faf-29f41f3969ce_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!Ge-X!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bf5cbb8-285b-41b9-9faf-29f41f3969ce_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!Ge-X!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bf5cbb8-285b-41b9-9faf-29f41f3969ce_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!Ge-X!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1bf5cbb8-285b-41b9-9faf-29f41f3969ce_2050x2050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Anyway, I have been drawing them for years and years, there are hundreds of them now covering all sorts of tech topics, and hardly a day goes by that I don&#8217;t get requests for permission to use them in slide decks and LinkedIn posts and conference talks and O&#8217;Reilly books and on and on and on.</p><p>I&#8217;ve always been happy to give permission for folks to use the cartoons on a one-off basis, but a couple of additional needs have come up lately:</p><ul><li><p>Increasingly, the marketing teams at tech companies want commercially-licensed, high-res versions of the cartoons that they can use in their own decks and posts &amp;c</p></li><li><p>The cartoons do sometimes get out of date, and so I need a canonical place to post and let people know about updated versions</p></li></ul><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.goodtechthings.com/vulnerability-industrial-complex/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!JlWy!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617ba93-e7d6-4b75-9862-1cf06bde25f8_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!JlWy!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617ba93-e7d6-4b75-9862-1cf06bde25f8_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!JlWy!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617ba93-e7d6-4b75-9862-1cf06bde25f8_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!JlWy!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617ba93-e7d6-4b75-9862-1cf06bde25f8_2050x2050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!JlWy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617ba93-e7d6-4b75-9862-1cf06bde25f8_2050x2050.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/c617ba93-e7d6-4b75-9862-1cf06bde25f8_2050x2050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1112690,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.goodtechthings.com/vulnerability-industrial-complex/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!JlWy!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617ba93-e7d6-4b75-9862-1cf06bde25f8_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!JlWy!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617ba93-e7d6-4b75-9862-1cf06bde25f8_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!JlWy!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617ba93-e7d6-4b75-9862-1cf06bde25f8_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!JlWy!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fc617ba93-e7d6-4b75-9862-1cf06bde25f8_2050x2050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">I&#8217;m not too worried about having to update this one anytime soon, though.</figcaption></figure></div><p>I don&#8217;t think I&#8217;ve mentioned it yet in this newsletter, but to keep up with these needs I recently added <a href="https://www.goodtechthings.com/go-pro/">a subscription option</a> to the Good Tech Things site. For $5 per month, you get full access to download royalty-free, up-to-date versions of the full cartoon archive that you can use however and wherever you want. You&#8217;ll also be the first to know via email whenever a new one is published. Early responses from both individuals and marketing teams have been very positive, so I&#8217;m letting y&#8217;all know about it in case it&#8217;s helpful to you as well.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.goodtechthings.com/three-databases/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!pFPW!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!pFPW!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!pFPW!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!pFPW!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!pFPW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:802909,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.goodtechthings.com/three-databases/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!pFPW!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png 424w, https://substackcdn.com/image/fetch/$s_!pFPW!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png 848w, https://substackcdn.com/image/fetch/$s_!pFPW!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png 1272w, https://substackcdn.com/image/fetch/$s_!pFPW!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7b4b61ff-93fa-4874-b185-cd61dbb61582_2050x2050.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption">Well, okay, not ALL the cartoons are especially helpful.</figcaption></figure></div><p>One other question I hear every so often is &#8220;Are you going to open up a paid subscription option for your newsletter? Because I&#8217;d be happy to kick you a few dollars.&#8221; I&#8217;ve resisted doing that because I really want to reach as many people as possible with what I write, and putting it behind a paywall just feels kind of anti-internet to me. BUT - if you are one of those people, and would like to support Good Tech Things, <a href="https://www.goodtechthings.com/go-pro/">a GT2 Pro subscription</a> is the best way to go. And I hope you&#8217;ll find it useful in growing your own audience as well.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://substackcdn.com/image/fetch/$s_!Z-nH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!Z-nH!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png 424w, https://substackcdn.com/image/fetch/$s_!Z-nH!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png 848w, https://substackcdn.com/image/fetch/$s_!Z-nH!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png 1272w, https://substackcdn.com/image/fetch/$s_!Z-nH!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!Z-nH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png" width="1456" height="1873" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1873,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1809988,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!Z-nH!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png 424w, https://substackcdn.com/image/fetch/$s_!Z-nH!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png 848w, https://substackcdn.com/image/fetch/$s_!Z-nH!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png 1272w, https://substackcdn.com/image/fetch/$s_!Z-nH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F10cd6aeb-397f-464f-b3f1-8047df07f705_2051x2639.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a><figcaption class="image-caption"><a href="https://www.goodtechthings.com/go-pro/">Subscribe to my OnlyFunctions!</a></figcaption></figure></div><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[ A tale of two clouds]]></title><description><![CDATA[Customer obsession vs customer obfuscation]]></description><link>https://newsletter.goodtechthings.com/p/a-tale-of-two-clouds</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/a-tale-of-two-clouds</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Mon, 20 May 2024 15:08:13 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/86a9d0cb-97db-4f81-8f20-5284c8748c25_2051x2051.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p><em>OK so the big news today is that <a href="https://freemanandforrest.com">I accidentally started a company</a>. &#8220;Influencers-as-a-service&#8221; is the short version. My cofounder <a href="https://twitter.com/editingemily">Emily</a> and I have spent a lot of time on both sides of this market as underpaid tech creators and under-supported technical marketers. If you fall into either of those camps, you should definitely <a href="mailto:hey@freemanandforrest.com">chat with us</a>.</em></p><p><em>On to today&#8217;s Good (and not-so-good) Tech Things&#8230;</em></p><div><hr></div><p>Today we&#8217;re looking at two concurrent issues that affected customers on AWS and Google Cloud. The way the providers responded reflects deep differences in their DNA .. and in their trustworthiness.</p><h2>A tale of two clouds</h2><p>AWS isn&#8217;t what they used to be. &#8220;It&#8217;s feeling a lot like <a href="https://aws.amazon.com/executive-insights/content/how-amazon-defines-and-operationalizes-a-day-1-culture/">Day Two</a> over here,&#8221; friends at AWS often tell me, shaking their heads sadly. A <a href="https://aws.amazon.com/q/">sweaty pursuit of generative AI</a> has clouded their historic focus on IaaS building blocks. A myopic insistence on RTO <a href="https://justingarrison.com/blog/2023-12-30-amazons-silent-sacking/">continues to force out top talent</a>. They&#8217;re even <a href="https://twitter.com/QuinnyPig/status/1783606097175367794">deprecating services</a> now. (My 168 AWS Services song from 2020 references at least 4 services, not counting SimpleDB, that have since been or soon will be entirely scrubbed from the docs and SDKs: Workdocs, Honeycode, Snowmobile, and Alexa for Business.)</p><div id="youtube2-BtJAsvJOlhM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;BtJAsvJOlhM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/BtJAsvJOlhM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>But you know what AWS still does better than anybody else? They actually listen to their customers and bend over backwards to help them out.</p><p>Case in point: on April 29th, a software engineer named Maciej Pocwierz <a href="https://medium.com/@maciej.pocwierz/how-an-empty-s3-bucket-can-make-your-aws-bill-explode-934a383cb8b1">discovered an unusual behavior in Amazon S3</a> that left him on the hook for a $1,300 bill. </p><p>Cliff&#8217;s Notes explanation of the behavior: </p><ul><li><p>S3 buckets all exist in a single global namespace.</p></li><li><p>Anybody can try to access any S3 bucket, with or without an AWS account, if they happen to guess the bucket name.</p></li><li><p>Assuming the bucket is not publicly accessible, the unauthorized user will get a generic HTTP 4xx error code.</p></li></ul><p>In this case, the unauthorized requests (over 100 million of them!) were coming from the makers of a widely-used open-source tool, who had accidentally shipped a default configuration that collided with Maciej&#8217;s bucket name. They quickly rolled out a fix, and the problem stopped.</p><p>So far, so reasonable. What surprised Maciej was that each of those 100 million unauthorized requests <em>gets billed to the bucket owner</em>. In other words, it&#8217;s possible to perform a &#8220;denial-of-wallet&#8221; attack simply by spamming bad requests to your enemy&#8217;s bucket. And even though AWS Support was kind enough to refund this particular bill, there was <em>nothing Maciej could do to protect against this attack in future. </em>It was just a built-in risk of using S3.</p><p>Now, there were several ways AWS could have responded once Maciej&#8217;s blog about the incident gained wide attention.</p><ol><li><p>They could have said &#8220;This is expected behavior; just use randomized bucket names that are harder for attackers to guess.&#8221;</p></li><li><p>They could have pointed out that it&#8217;s quite resource-intensive to spin up enough of these requests to make a meaningful dent in enterprise wallets, so this probably isn&#8217;t going to be a big risk for big customers.</p></li><li><p>They could have just stayed quiet about the whole thing and waited for everyone to forget about it.</p></li></ol><p><em>But they didn&#8217;t do any of that. </em>Instead, AWS&#8217;s official Voice of the Customer, Jeff Barr, acknowledged within 24 hours that <a href="https://twitter.com/jeffbarr/status/1785386554372042890">people shouldn&#8217;t have to pay for unauthorized S3 requests they didn&#8217;t initiate</a>. Within a week, the S3 team <a href="https://twitter.com/jeffbarr/status/1787844682216792163">was working on a fix</a>. And as of May 13th, <a href="https://aws.amazon.com/about-aws/whats-new/2024/05/amazon-s3-no-charge-http-error-codes/">customers will no longer incur request or bandwidth charges for HTTP 403 requests initiated from outside their own environment</a>.</p><p>I just want to pause for a second on how remarkable this is. S3 is an enormous, mature product with all sorts of complex billing dimensions. Although they employ a lot of engineers, I&#8217;m quite sure everyone was busy with a full roadmap of other priorities for the quarter. And yet &#8230; they found time to roll out a nontrivial behavior change based on the complaint of one person at a small Polish consulting company who had incurred a total bill of $1300 US dollars. Elapsed turnaround time from complaint to rollout was 2 weeks.</p><p>That, my friends, is what customer obsession looks like. As long as AWS can still do that, they are the cloud to beat.</p><h2>Meanwhile, in the other cloud&#8230;</h2><p>At the exact same time all this was unfolding, Google Cloud was having troubles of its own.</p><p>On May 2nd, the CEO of a $135 billion Australian pension fund called Unisuper acknowledged a service outage affecting its 647,000 customers&#8212;many of them retirees whose life savings are tied up in the company. <a href="https://www.unisuper.com.au/contact-us/outage-update">The whole thread of outage updates</a> is worth a read. It starts out fairly generic and, as the days go by with no resolution in sight, becomes increasingly bewildering. Unisuper hastens to assure its members that ransomware is not involved, that nobody&#8217;s data is at risk &#8230; but that getting all this resolved is going to take quite a bit of time, and apparently Google Cloud is right in the middle of it all. </p><p>On the 8th of May, a full week into the outage, Unisuper issued <a href="https://www.unisuper.com.au/contact-us/outage-update#outagecause">a bizarre statement</a> on its website purporting to be from both their CEO and from Google Cloud&#8217;s CEO Thomas Kurian. The statement placed full responsibility on Google Cloud for &#8220;deleting Unisuper&#8217;s private cloud subscription&#8221; and said that the only chance Unisuper had to get things back online was that they had squirreled away some backups on an entirely different cloud.</p><p>This statement was so weird that I, among others, <a href="https://twitter.com/forrestbrazeal/status/1788361844744228885">immediately went on record</a> with doubts. For one thing, Google themselves had been completely silent on this. For another, there&#8217;s no such logical boundary in Google Cloud as a &#8220;subscription&#8221;; that&#8217;s Azure terminology. And in the ~3 years I was at Google I never once heard Thomas Kurian make a personal public statement taking the blame for a customer outage. The whole thing sounded suspiciously like Unisuper was making things up to deflect blame for their $135 billion fumble.</p><p>But then&#8212;incredibly&#8212;Gergely Orosz <a href="https://twitter.com/GergelyOrosz/status/1788531015922630877">was able to get confirmation</a> from Google Cloud PR that the Unisuper statement was legit. Google Cloud really did delete one of the the biggest pension funds in Australia, and left their customer to handle all the fallout.</p><p>Questions arise.</p><p><em><strong>In a statement presumably lawyered to death by both companies, why did Google use conspicuously inaccurate language to describe its own services?</strong></em> The only thing I can come up with is that Google Cloud preferred not to reveal exactly which of their services ate Unisuper. Given the oblique reference to a private cloud, we can speculate it might have been <a href="https://cloud.google.com/vmware-engine?hl=en">VMware Engine</a>. But other customers of that service have no way to know for sure.</p><p><em><strong>How, exactly, does a public cloud accidentally delete a major customer so irrevocably that it takes them eleven days and off-cloud backups to get back online?</strong> </em>I do not know. I do not know how this is possible. It raises all sorts of unpleasant questions about what other safeguards Google Cloud&#8217;s ops team is missing behind the scenes. This is the sort of problem that cries out for a full, detailed, public root-cause analysis. Don&#8217;t delegate to your customer to post a vague assurance that &#8220;this was a one-off mistake and we really super promise it won&#8217;t happen again.&#8221; This is a bad, bad, bad problem. A confidence-shaking, existential problem. You <em>have </em>to make a direct statement demonstrating that you know what went wrong and why it won&#8217;t happen again.</p><p>But Google Cloud didn&#8217;t. They usually don&#8217;t. And customers yet again are left wondering, waiting, and considering if they should make off-cloud backups of their own. </p><p>That is the opposite of customer obsession. It is customer obfuscation. If Google Cloud wants to be taken seriously as a competitor to AWS, they should learn the lesson of the S3 denial-of-wallet attack. Customer trust is not earned through shiny AI demos and <a href="https://twitter.com/tunguz/status/1790459713370431966">inexplicable musical performances</a>. It is earned the hard way, one support case at a time.</p><div><hr></div><h2>Cartoon of the day</h2><p>Today&#8217;s cartoon is brought to you by Tidelift. They&#8217;d love to see you at <a href="https://upstream.live/?code=fb24&amp;utm_source=forrest&amp;utm_medium=referral&amp;utm_campaign=upstream2024">Upstream</a>, their conference digging into the health and security of open source on June 5.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.goodtechthings.com/oss-sos/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!VoTV!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a1ae4a0-5f62-486f-b028-a5d335529ca9_2051x2051.png 424w, https://substackcdn.com/image/fetch/$s_!VoTV!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a1ae4a0-5f62-486f-b028-a5d335529ca9_2051x2051.png 848w, https://substackcdn.com/image/fetch/$s_!VoTV!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a1ae4a0-5f62-486f-b028-a5d335529ca9_2051x2051.png 1272w, https://substackcdn.com/image/fetch/$s_!VoTV!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a1ae4a0-5f62-486f-b028-a5d335529ca9_2051x2051.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!VoTV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a1ae4a0-5f62-486f-b028-a5d335529ca9_2051x2051.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4a1ae4a0-5f62-486f-b028-a5d335529ca9_2051x2051.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:889456,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.goodtechthings.com/oss-sos/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!VoTV!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a1ae4a0-5f62-486f-b028-a5d335529ca9_2051x2051.png 424w, https://substackcdn.com/image/fetch/$s_!VoTV!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a1ae4a0-5f62-486f-b028-a5d335529ca9_2051x2051.png 848w, https://substackcdn.com/image/fetch/$s_!VoTV!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a1ae4a0-5f62-486f-b028-a5d335529ca9_2051x2051.png 1272w, https://substackcdn.com/image/fetch/$s_!VoTV!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4a1ae4a0-5f62-486f-b028-a5d335529ca9_2051x2051.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p>]]></content:encoded></item><item><title><![CDATA[Closed as unhelpful: an elegy for Stack Overflow]]></title><description><![CDATA[It's the end of an era.]]></description><link>https://newsletter.goodtechthings.com/p/closed-as-unhelpful-an-elegy-for</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/closed-as-unhelpful-an-elegy-for</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Wed, 08 May 2024 15:43:47 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ACrL!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I posted my very-first-ever StackOverflow question on the second day of my first job after college. I really wanted to link the post here, but it was so long ago that I can&#8217;t find the question, or even the throwaway account I was using at the time. I think it was something about talking to SQL Server with PowerShell. </p><p>I do remember that I felt nervous, overwhelmed, out of my depth in my new job. I was too embarrassed to ask a coworker for help. Posting on Stack Overflow felt like a last-ditch effort, a Hail Mary pass. The next day I logged in and checked my post, hoping against hope that somebody had taken pity on my plight.</p><p>The post had been closed as off-topic.</p><p>I didn&#8217;t post again for years.</p><div><hr></div><p>Even a decade ago, Stack Overflow had already developed a reputation as kind of a prickly, intimidating place. Users weren&#8217;t shy to let you know if they thought you had posted something dumb. The top contributors (like the legendary <a href="https://stackoverflow.com/users/22656/jon-skeet">Jon Skeet</a>) were so fast at gobbling up answers to the good questions that it was hard for new contributors to amass reputation points. The system of relying on user upvotes to rank multiple answers, rather than crowdsourcing a single canonical response to each question &#224; la Wikipedia, meant that out-of-date or just plain wrong answers often appeared at the top of the page.</p><p>None of it mattered because Stack Overflow was a quantum leap in surfacing help for programmers. The upvoting system was janky, but it worked better than any previous tech forum. (Remember &#8220;Tom&#8217;s Hardware&#8221;?  The 27th page of Google search results sure does.) The userbase was polyglot and omniplatform: you could find answers on just about any<em> </em>programming topic. And it was certainly faster than reading man pages. Or, crucially, it <em>felt </em>faster. </p><p>Stack Overflow gave stumped programmers the dopamine hit of <em>looking up the solution </em>to their problems<em>, </em>rather than <em>learning how to solve them.</em></p><p>In this way, too, Stack Overflow was ahead of its time.</p><div><hr></div><p>You know something weird? When Legendary Jon Skeet <a href="https://stackoverflow.blog/2018/01/15/thanks-million-jon-skeet/">passed one million reputation points in 2018</a>, Stack Overflow celebrated by creating a Markov chain bot that spit out Skeet-shaped answers to arbitrary questions. At the time everyone seemed to think this was harmless fun. </p><p>In retrospect, it looks like foreshadowing.</p><div><hr></div><p>LLMs have not, so far, proved to be as generally useful as a lot of true believers hoped. They&#8217;re bad at surfacing insights not found in their training data, they&#8217;re asymptotically mediocre at &#8220;creative&#8221; tasks, and they&#8217;re untrustworthy in any field requiring accurate information. </p><p>But they have turned out to be reasonably accurate at producing answers to common programming questions. And GitHub Copilot and ChatGPT are much faster and easier to use than navigating the labyrinth of a question-and-answer site.</p><p>Most importantly, the thing Stack Overflow was <em>worst </em>at &#8212; providing a welcoming place to learn &#8212; is the thing LLMs are <em>the best in the world </em>at. Whereas posting on Stack Overflow can be like releasing a fragile bird into a cage full of furious snakes, ChatGPT does not care if your question is a duplicate. It does not care if you did not provide enough context. It is not hung up on parliamentary procedure. ChatGPT is infinitely patient and (more or less) constantly available.</p><p>My younger self, two days into a job I barely understood, would have greeted ChatGPT like the messiah.</p><div><hr></div><p>The people who work at Stack Overflow are not stupid. They understood immediately that LLMs were an existential threat to their business. The problem is what to do about it. They&#8217;ve tried launching <a href="https://stackoverflow.co/teams/ai/">their own AI tools</a>, but it&#8217;s not clear that they&#8217;re better than any of the other 500,000 coding-help models out there. </p><p>Instead, they&#8217;ve just announced <a href="https://stackoverflow.co/company/press/archive/openai-partnership">a wide-ranging partnership with Open AI</a>. These partnerships are sometimes public relations niceties more than they are substantive collaborations, but it does sound as though Stack Overflow is going to license its data for Open AI to train future models on.</p><p>It&#8217;s hard not to see this as anything other than an attempt by Stack Overflow&#8217;s <a href="https://techcrunch.com/2021/06/02/stack-overflow-acquired-by-prosus-for-a-reported-1-8-billion">newish corporate overlords</a> to cash in on their intellectual property before it becomes entirely worthless. </p><p>What remains of the Stack Overflow community is <a href="https://meta.stackexchange.com/questions/399619/our-partnership-with-openai">disgusted</a> by the idea that their contributions will be absorbed into anonymous AI models, perhaps devaluing their hard-won reputation points and community credibility. Some people are trying to <a href="https://x.com/nixcraft/status/1788144263928357306">delete their own questions</a> out of spite, only to discover that they don&#8217;t actually own their own content. And I don&#8217;t know why anyone would willingly submit more unpaid answers (or questions!) to Stack Exchange forums under these conditions. After all, huge pools of people in Africa and South America are being paid to write code examples for model-training companies right this minute. Why should I do it for free?</p><div><hr></div><p>When LLMs first became available, a whole bunch of people tried to use them to generate Stack Overflow answers and rack up cheap karma; the overall quality of answers, though, was low enough that Stack Overflow has <a href="https://meta.stackoverflow.com/questions/421831/policy-generative-ai-e-g-chatgpt-is-banned?cb=1">banned AI-generated content entirely from the platform</a>.</p><p>This raises the most troubling problem going forward, not just for SO but for all of us. The relationship between user-generated training data and AI-generated results so far appears to be one-way. LLMs do not add to humanity&#8217;s body of knowledge; they only synthesize and regurgitate. </p><p>Particularly in the programming world, where many questions are niche, context-specific edge cases, the only way to get high-quality answers is through a lot of net-new human experimentation. Stack Overflow, to its credit, built a community that incentivized this type of knowledge sharing.</p><p>It is not obvious that LLMs will do the same. </p><div><hr></div><p>A coda: I discovered today <a href="https://stackoverflow.com/search?q=cloud+resume+challenge">a whole trove of questions</a> on Stack Overflow related to <a href="https://cloudresumechallenge.dev">the Cloud Resume Challenge</a>. Beginning programmers, just like I was all those years ago, are crying out for help&#8212;stumped by <a href="https://stackoverflow.com/questions/75707758/route53-servfail">DNS SERVFAILs</a>, by <a href="https://stackoverflow.com/questions/74975260/error-pythonpipbuildervalidation-binary-validation-failed-for-python">Python path woes</a>, by <a href="https://stackoverflow.com/questions/70582850/my-html-css-website-is-displaying-fine-on-my-home-computer-but-terribly-on-other/70583796#70583796">responsive CSS</a>. And in almost every case, they are getting help. Real advice from real people, who are not just showing them how to solve their problems, but leaving a public record for the next new programmer to find. I saw little if any judgmental behavior&#8212;the community has matured over the years. I saw encouragement, respect, and growth.</p><p>Despite all its warts, perhaps even because of them, Stack Overflow has carried the torch for an extraordinarily <em>human </em>way of exploring technology. Open AI would do well to consider how they could put more of that into the world, rather than less.</p><div><hr></div><h2>Good Sponsored Thing</h2><p>I&#8217;m super excited to announce that <a href="https://www.pluralsight.com/">Pluralsight</a>, a leading provider of tech courses, labs, and cert prep, has signed on as the first official sponsor of the Cloud Resume Challenge. </p><p><strong>What does this mean for the CRC?</strong> I've always said that if the Cloud Resume Challenge community were to work with sponsors, it would have to be in exchange for something that would clearly benefit the community. </p><p>I believe Pluralsight has met that bar. They are offering <strong><a href="https://www.pluralsight.com/redeemlink/genericV4?redemptionId=cb1f4abb-a6fe-43bc-abbf-d1637b1fd046">30 days free on their Premium plan</a></strong> for all Cloud Resume Challengers. This is 3x longer than their standard personal free trial, and should give you enough time to study for an intro-level cert without having to worry about finances.</p><p>The link to the free 30-day offer can be found <a href="https://cloudresumechallenge.dev/docs/the-challenge/aws/">on the CRC challenge pages</a>, or you can redeem it directly <a href="https://www.pluralsight.com/redeemlink/genericV4?redemptionId=cb1f4abb-a6fe-43bc-abbf-d1637b1fd046">here</a>.</p><p>I hope this is helpful to many of you - feel free to share the redemption link with friends, and if you want to thank Pluralsight, I'm sure they'd be thrilled if you tagged them in a social post.</p><div><hr></div><h2>Cartoon of the day</h2><p>The US Department of Homeland Security&#8217;s <a href="https://www.dhs.gov/news/2024/04/26/over-20-technology-and-critical-infrastructure-executives-civil-rights-leaders">new AI Safety and Security Board</a> is stocked with a remarkable assortment of the clueless and the self-interested.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.goodtechthings.com/ai-safety-board/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!ACrL!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png 424w, https://substackcdn.com/image/fetch/$s_!ACrL!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png 848w, https://substackcdn.com/image/fetch/$s_!ACrL!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!ACrL!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!ACrL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:748168,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.goodtechthings.com/ai-safety-board/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!ACrL!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png 424w, https://substackcdn.com/image/fetch/$s_!ACrL!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png 848w, https://substackcdn.com/image/fetch/$s_!ACrL!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!ACrL!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F90148cce-efd5-4ca9-94c7-b6be33c5f436_2048x2048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div>]]></content:encoded></item><item><title><![CDATA[Why didn't one of the big clouds buy HashiCorp?]]></title><description><![CDATA[On the surface it seemed like a match made in heaven.]]></description><link>https://newsletter.goodtechthings.com/p/why-didnt-google-cloud-buy-hashicorp</link><guid isPermaLink="false">https://newsletter.goodtechthings.com/p/why-didnt-google-cloud-buy-hashicorp</guid><dc:creator><![CDATA[Forrest Brazeal]]></dc:creator><pubDate>Mon, 29 Apr 2024 15:28:02 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!0y5c!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>So, <a href="https://newsroom.ibm.com/2024-04-24-IBM-to-Acquire-HashiCorp-Inc-Creating-a-Comprehensive-End-to-End-Hybrid-Cloud-Platform">IBM bought HashiCorp</a>.</p><p>IBM has become such a shadowy afterthought<a class="footnote-anchor" data-component-name="FootnoteAnchorToDOM" id="footnote-anchor-1" href="#footnote-1" target="_self">1</a> that I don&#8217;t think too many people have strong feelings about them anymore. The big question is whether they will ditch HashiCorp&#8217;s new BUSL licensing scheme and go back to a true open-source model for products like Terraform and Vault, and I think it speaks to people&#8217;s lack of a handle on what IBM is up to these days that a plausible sentiment is &#8220;<a href="https://medium.com/@fintanr/on-ibm-acquiring-hashicorp-c9c73a40d20c">hey, they might do it</a>!&#8221;</p><p>The main reaction from the community about HashiCorp spinning an increasingly narrow set of options into a $6.4 billion exit is &#8220;<a href="https://x.com/adamhjk/status/1783527449554477227">Welp &#8230; good for them</a>.&#8221; And when a community says <em>good for them,</em> it&#8217;s quite conspicuous what they&#8217;re not saying: <em>good for us.</em></p><p>But I want to raise a different question today: how the heck did we get to this point? Why was HashiCorp not snapped up long ago by a more viable cloud provider? Specifically: why did they not get bought by Google Cloud?</p><p>On the surface it seems like a match made in heaven, doesn&#8217;t it?</p><ul><li><p>Google Cloud is the number three cloud provider; a huge slice of their competitors&#8217; customers use and love HashiCorp products every day. Seems like a chance to steal some new fans.</p></li><li><p>Google has historically cultivated a generous attitude toward open source. Hear those drums in the distance? That&#8217;s the cursed board game of Kubernetes floating down the river towards you <em>right now.</em> I bet they wouldn&#8217;t think twice about <a href="https://opentofu.org/manifesto/">donating Terraform to the Linux Foundation</a>, bringing the renegades at OpenTofu back into the fold.</p></li><li><p>Google Cloud has a long history of making large strategic ops acquisitions (Stackdriver, Mandiant, Chronicle). Adding Vault and friends to their product portfolio would not be out of character for them.</p></li><li><p>Google Cloud <em>already </em>treats Terraform pretty much as their default deployment option! (Technically they have a bespoke service called &#8220;Google Cloud Deployment Manager&#8221;, but it is deprecated in all but name and even GCP&#8217;s own evangelists will tell you to just use Terraform instead.)</p></li><li><p>I bet, if Google looked real hard under all the couch cushions, they could come up with 6.4 billion dollars.</p></li></ul><p>These are all superficially compelling reasons to go out and buy HashiCorp.</p><p>But the reasons <em>not </em>to buy it are far more compelling&#8212;and, I think, underscore what a tough spot HashiCorp was in, and why I&#8217;m sure their reaction to signing the LOI with IBM was a huge sigh of relief.</p><h3>Why buy the cow when you can get the milk for free?</h3><p>This is the cynical reason. Google Cloud is grabbing close to 100% of the value of Terraform today from the OSS version. If they want a hosted Terraform service, they can just build one themselves.</p><p>And, in fact, that&#8217;s exactly what they did. Last fall Google Cloud announced <a href="https://cloud.google.com/blog/products/management-tools/introducing-infrastructure-manager-powered-by-terraform">Infrastructure Manager</a>, a service that slips managed Terraform deployments right into your existing Google Cloud CI/CD pipelines. </p><p>I was at Google when this rolled out, and a product manager on the service told me at the time that Infrastructure Manager really wasn&#8217;t intended to compete with HashiCorp Cloud Platform&#8212;after all, it was a very Google Cloud-specific solution designed to make Terraform feel like a seamless part of the GCP deployment experience.</p><p>If you&#8217;re HashiCorp, of course, that&#8217;s the <em>last </em>thing you want: for Terraform to become an invisible substrate of the cloud providers. I happen to know that HashiCorp was NOT happy about the release of Infrastructure Manager. But there wasn&#8217;t much they could do other than change their license model.</p><h3>$6.4 billion is just the beginning</h3><p>But let&#8217;s say Google buys HashiCorp anyway, just for the PR bump and the sales talking points. That&#8217;s when you realize that $6.4 billion is just the cover charge, not the full tab. </p><p>HashiCorp Cloud Platform (the hosted Terraform, Vault, etc that HC manages themselves, their nominal secret sauce) <a href="https://developer.hashicorp.com/hcp/docs/hcp">runs on AWS</a> today. So now you&#8217;ve got to spend time and money on a huge migration, probably multiple years of planning and work.</p><p>Also, to sell HashiCorp products into large enterprises you probably need to fund lots and lots and lots more enterprise support and solutions architects, the competencies Google Cloud is persistently the worst at.</p><p>Oh yeah, plus&#8212;you&#8217;re already expending resources on the <a href="https://registry.terraform.io/providers/hashicorp/google/latest/docs">Google Cloud Terraform provider</a>. But now you&#8217;re stuck having to support and co-maintain providers for a pile of other partners, including <a href="https://registry.terraform.io/providers/hashicorp/aws/latest">your biggest competitors</a>. You are effectively paying for AWS and Azure to use your $6.4 billion dollar toy for free.</p><p>IBM might be willing to take that deal if it means a snowball&#8217;s chance of being taken seriously as a for-real cloud provider, but I don&#8217;t think it really makes sense for Google Cloud.</p><p>Which brings us to the existential question:</p><h3>Do you really, really want to be in the &#8220;hybrid cloud deployment&#8221; business?</h3><p>Like, what&#8217;s the strategic value for Google Cloud in being the Terraform fairy? People with AWS footprints aren&#8217;t going to use Google Cloud to manage state for their deployments, that&#8217;s just weird. Enormous companies have always preferred to roll their own infra platforms, meaning your real customers for managed Terraform, Consul, etc, are mostly mid-sized companies who have obnoxious price sensitivity. You&#8217;re taking on all the responsibility of keeping up with a notoriously fast-changing set of infrastructure tools while getting very unclear revenue potential in return. </p><p>Heck, I don&#8217;t even think <em>HashiCorp </em>wanted to be in the hybrid cloud deployment business. Their recent public filings make it clear that they <a href="https://x.com/adamhjk/status/1783527454323462430">couldn&#8217;t figure out</a> a SaaS business model and <a href="https://x.com/adamhjk/status/1783527460300378170">weren&#8217;t confident</a> in their ability to become a services business.</p><p>I think the only real argument for Google buying HashiCorp would come down to brand value and OSS goodwill. And as they&#8217;ve recently indicated by <a href="https://news.ycombinator.com/item?id=40171125">firing all their Python maintainers</a>, hard-to-quantify efforts to improve the OSS commons don&#8217;t carry the weight at Google that they once did.</p><p>We&#8217;ll never know for sure, but I think those are the big reasons HashiCorp was never acquired by a major cloud provider.</p><p>Anyway, HashiCorp eventually found a buyer that made sense, all these problems are IBM&#8217;s problems now, and hopefully the people who built one of the most truly remarkable and useful open-source software companies of all time can get a well-deserved night&#8217;s rest or two.</p><p>In all sincerity: good for them.</p><h2>Cartoon of the day</h2><p>I, too, have been through an acquisition.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.goodtechthings.com/acquisition-translator/" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="https://substackcdn.com/image/fetch/$s_!0y5c!,w_424,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png 424w, https://substackcdn.com/image/fetch/$s_!0y5c!,w_848,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png 848w, https://substackcdn.com/image/fetch/$s_!0y5c!,w_1272,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!0y5c!,w_1456,c_limit,f_webp,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png 1456w" sizes="100vw"><img src="https://substackcdn.com/image/fetch/$s_!0y5c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png" width="1456" height="1456" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1456,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:935354,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.goodtechthings.com/acquisition-translator/&quot;,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="https://substackcdn.com/image/fetch/$s_!0y5c!,w_424,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png 424w, https://substackcdn.com/image/fetch/$s_!0y5c!,w_848,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png 848w, https://substackcdn.com/image/fetch/$s_!0y5c!,w_1272,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png 1272w, https://substackcdn.com/image/fetch/$s_!0y5c!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F1cc46e46-6520-427d-8209-3aae55c925d6_2048x2048.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg role="img" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><title></title><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><p></p><div class="footnote" data-component-name="FootnoteToDOM"><a id="footnote-1" href="#footnote-anchor-1" class="footnote-number" contenteditable="false" target="_self">1</a><div class="footnote-content"><p>I sometimes refer to them as &#8220;<a href="https://en.wikipedia.org/wiki/Ichabod">Ichabod</a> Business Machines&#8221;. Nobody gets me.</p></div></div>]]></content:encoded></item></channel></rss>