<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>thoughtwax</title>
		<description>A weblog by Emmet Connolly.</description>
		<link>http://thoughtwax.com/</link>
		<atom:link href="http://thoughtwax.com/feed/index.xml" rel="self" type="application/rss+xml" />
		
			<item>
				<title>Oats</title>
				<description>&lt;blockquote&gt;
  &lt;p&gt;One way to think about the industrial revolutions is every time you figure out the industrial revolution, you’re finding some way of bypassing a constraint or bypassing a bottleneck. The bottleneck prior to what we call the Industrial Revolution was metabolism. How much oats can a human or a horse physically digest and then convert into useful mechanical output for their peasant overlord or whatever?&lt;/p&gt;

  &lt;p&gt;Nowadays we would giggle to think that the amount of food we produce is meaningful in the context of the economic power of a particular country. Because 99% of the energy that we consume routes around our guts, through the gas tanks of our cars and through our aircraft and in our grids.&lt;/p&gt;

  &lt;p&gt;Right now, the AI revolution is about routing around cognitive constraints, that in some ways writing, the printing press, computers, the Internet have already allowed us to do to some extent.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;– &lt;a href=&quot;https://www.dwarkesh.com/p/casey-handmer&quot;&gt;Casey Handmer&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This is an excellent analogy, but perhaps only partially complete. We’ve been externalising bottlenecks since forever.&lt;/p&gt;

&lt;p&gt;When humans got smart enough to start cooking food they were &lt;a href=&quot;https://en.wikipedia.org/wiki/Catching_Fire:_How_Cooking_Made_Us_Human&quot;&gt;externalising digestion&lt;/a&gt;, which led to smaller guts and jaws, which in turn freed up energy for even larger brains to develop. Modern humans are the only animals that require their food to be cooked, but are also the smartest; an evolutionary tradeoff that turned out to be a winner.&lt;/p&gt;

&lt;p&gt;So now we can try to fill in the blanks:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Cooking (&lt;em&gt;2M years ago&lt;/em&gt;): Externalise digestion → energy surplus → bigger brains&lt;/li&gt;
  &lt;li&gt;Industrial Revolution (&lt;em&gt;250 years ago&lt;/em&gt;): Externalise metabolism → energy surplus → bigger economy&lt;/li&gt;
  &lt;li&gt;AI Revolution (&lt;em&gt;2 years ago&lt;/em&gt;): Externalise cognition → cognitive surplus → ???&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If externalising digestion gave us intelligence, and externalising metabolism gave us industrial civilization, what does externalising intelligence give us? And if each of these steps bootstraps the next, and are apparently happening exponentially faster, then…?&lt;/p&gt;

&lt;p&gt;Just as it would have been impossible to predict the impact of cooking or the steam engine (the OG &lt;a href=&quot;https://en.wikipedia.org/wiki/General-purpose_technology&quot;&gt;GPT&lt;/a&gt;!), we have no way of imaginging what will happen as a result of AI. The main difference is that this time we seem capable of seeing the thing coming, but still have no way of remotely knowing &lt;a href=&quot;https://substack.com/home/post/p-176010505&quot;&gt;what it is&lt;/a&gt;.&lt;/p&gt;
</description>
				<pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
				<link>http://thoughtwax.com/2025/10/oats/</link>
				<guid isPermaLink="true">http://thoughtwax.com/2025/10/oats/</guid>
			</item>
		
			<item>
				<title>Recent reckons</title>
				<description>&lt;p&gt;For the third time in as many years, I sat down with Intercom’s Chief AI Officer &lt;a href=&quot;https://x.com/fergal_reid&quot;&gt;Fergal Reid&lt;/a&gt; to discuss the current AI landscape. Here’s the full episode:&lt;/p&gt;

&lt;iframe width=&quot;628&quot; height=&quot;353&quot; src=&quot;https://www.youtube.com/embed/8ISy0PswHvE?si=aOrePViLxw8M7aIN&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;br /&gt;
It’s fun to have had these “state of AI” type chats at different points in the history of this all unfolding. Give me a half-wrong contemporaneous take any day; hindsight is for the low rollers. Previous episodes in what you could now call a series: &lt;a href=&quot;https://www.youtube.com/watch?v=G8W6YqDsjhg&quot;&gt;June 2023&lt;/a&gt;, &lt;a href=&quot;https://www.youtube.com/watch?v=KYBQzO2u1Xs&amp;amp;t=430s&quot;&gt;August 2023&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I was also on Ridd’s mighty &lt;a href=&quot;https://www.dive.club/&quot;&gt;Dive Club&lt;/a&gt; podcast recently, talking about how the role of design in tech companies is evolving:&lt;/p&gt;

&lt;iframe width=&quot;628&quot; height=&quot;353&quot; src=&quot;https://www.youtube.com/embed/rRljig2AS0g?si=lRdfCjF9wKuGiMNy&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;
</description>
				<pubDate>Mon, 15 Sep 2025 00:00:00 +0000</pubDate>
				<link>http://thoughtwax.com/2025/09/recent-reckons/</link>
				<guid isPermaLink="true">http://thoughtwax.com/2025/09/recent-reckons/</guid>
			</item>
		
			<item>
				<title>2027: Race to AGI!</title>
				<description>&lt;p&gt;I made a game! &lt;strong&gt;&lt;em&gt;&lt;a href=&quot;https://thoughtwax.com/2027-race-to-agi/&quot;&gt;2027: RACE TO AGI!&lt;/a&gt;&lt;/em&gt;&lt;/strong&gt; is a satirical game about the wild world of Artificial General Intelligence research: where good intentions meet impossible choices, and the future of humanity is at stake!&lt;/p&gt;

&lt;p&gt;You are the fresh-faced CEO of OpenBrain, a leading AI lab. Can you navigate a series of near-impossible decisions to achieve ALIGNED SUPERINTELLIGENCE, or will it be GAME OVER for humanity?&lt;/p&gt;

&lt;p&gt;👉 &lt;a href=&quot;https://thoughtwax.com/2027-race-to-agi/&quot;&gt;Play it now!&lt;/a&gt; 👈&lt;/p&gt;

&lt;iframe width=&quot;628&quot; height=&quot;353&quot; src=&quot;https://www.youtube.com/embed/g9v7klcryqY?si=0UjD58Cv2PM2tXIL&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;

&lt;p&gt;I designed and coded this over a total of about 20 hours using mostly Claude Code and Midjourney. The bulk of the time was spent on playtesting the game itself and fixing small UI issues.&lt;/p&gt;

&lt;p&gt;That might sound pretty chill, but the last mile problem for production-ready UI is still very real. User expectation for game UI performance is high, and getting rid of web jank was a pain. Just like in the real world, 90% of the work happens in the last 10% of the project.&lt;/p&gt;

&lt;p&gt;Like many people I have a digital junk drawer full of half-finished vibe-coded experiments. Here I mostly wanted to learn by forcing myself to actually complete something bigger than a one-day project. Vibe coding sometimes reminds me of the the observation about modern art: “I could have done that” + “Yeah, but you didn’t.” (The source code is &lt;a href=&quot;https://github.com/thoughtwax/2027-race-to-agi&quot;&gt;on Github&lt;/a&gt;).&lt;/p&gt;

&lt;p&gt;Finally, I wanted to explore the topic of the game, AGI research.&lt;/p&gt;

&lt;p&gt;During testing I only managed to reach the successful end state of “&lt;em&gt;Aligned AGI&lt;/em&gt;” a couple of times. (There are several unique game over states.) I realised that my game was clearly too hard, and made a note in my TODO.md file to revisit the difficulty curve.&lt;/p&gt;

&lt;p&gt;But as I continued testing, I noticed myself making in-game choices that were &lt;em&gt;only&lt;/em&gt; to the end of winning, as opposed to making the correct choices. That is, I wasn’t making decisions as much as I was simply trying to beat the game. I wondered how powerful that pull must be for a real person in real life.&lt;/p&gt;

&lt;p&gt;And so I mostly left it as it was. More than attempting to model reality, the best cautionary lesson here may be that in games like the one we’re currently playing, there are many ways to lose, and very few to win.&lt;/p&gt;

&lt;p&gt;That said, if you do manage to beat the game, take a screenshot and send it to me! I’d love to know that at least one of us can do it.&lt;/p&gt;
</description>
				<pubDate>Mon, 14 Jul 2025 00:00:00 +0000</pubDate>
				<link>http://thoughtwax.com/2025/07/2027-race-to-agi/</link>
				<guid isPermaLink="true">http://thoughtwax.com/2025/07/2027-race-to-agi/</guid>
			</item>
		
			<item>
				<title>Live-coding music with AI</title>
				<description>&lt;iframe width=&quot;628&quot; height=&quot;353&quot; src=&quot;https://www.youtube.com/embed/fViH4AY5O3U?si=xnt5E97WtCL9IcAI&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;br /&gt;
Here’s a little piece of music that I co-created with AI.&lt;/p&gt;

&lt;p&gt;First, I prompted Claude with a description of the style I had in mind, and asked it to write some Strudel code. &lt;a href=&quot;https://strudel.cc&quot;&gt;Strudel&lt;/a&gt; is a simple web-based REPL for live coding; &lt;a href=&quot;https://en.wikipedia.org/wiki/Live_coding&quot;&gt;live coding&lt;/a&gt; is where you play music by editing code in real time, and as you type the music being played updates accordingly.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://thoughtwax.com/uploads/2025/strudel.png&quot; alt=&quot;Prompting Claude for Strudel code&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I’d never used Strudel before, but soon figured out that the code from Claude wasn’t perfect, e.g. it had hallucinated some sample filenames that don’t actually exist. But overall it was a great start, especially considering there is probably very little Strudel-related training data in the world to draw upon. So while each line of code needed to be tweaked manually in some way to dial it in, and a bunch of them were rejects, it was like choosing from a curated bank of samples that I could then whittle down.&lt;/p&gt;

&lt;p&gt;Once I started to figure things out, I realised I was mostly commenting in or out chunks of code to build or reduce the mix. So I pasted my latest version back into Claude and asked it to restructure the code for easier live performance.&lt;/p&gt;

&lt;p&gt;I ran the Strudel output through an audio interface, into the lovely &lt;a href=&quot;https://www.hologramelectronics.com/chroma-console&quot;&gt;Chroma Console&lt;/a&gt; effects pedal to add some texture and swoosh (also operated in real time; need more hands!), then back into my computer to record.&lt;/p&gt;

&lt;p&gt;I should also give an appreciation for Strudel’s cool little visualisations that you can turn on or off for each sound. It’s fun and novel to see the output interleaved with the code that creates it, and they reminded me of &lt;a href=&quot;https://worrydream.com/ExplorableExplanations/&quot;&gt;Bret Victor’s explorable explanations&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The video above was my second attempt at actually recording anything. Would I claim this music to be of distinct artistic merit? No. Would I listen to this at home? Also no. But that’s got more to do with the dilettantism of the human involved (~4h total effort, including this post) than the fault in the machines. I play music regularly and I’m intigued to keep noodling here.&lt;/p&gt;

&lt;p&gt;The clacking of the mechanical keyboard was a mistake, but then seemed appropriate, so I left it in. The Strudel code used in the video above is &lt;a href=&quot;https://github.com/thoughtwax/music/blob/main/02.strudel&quot;&gt;on GitHub&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is where I’ve found AI to be most useful creatively: you can parachute directly into the middle of someplace you’ve no real business being, and then just start breaking things to see what happens.&lt;/p&gt;
</description>
				<pubDate>Wed, 18 Jun 2025 00:00:00 +0000</pubDate>
				<link>http://thoughtwax.com/2025/06/live-coding/</link>
				<guid isPermaLink="true">http://thoughtwax.com/2025/06/live-coding/</guid>
			</item>
		
			<item>
				<title>Cursor's MAMP moment</title>
				<description>&lt;p&gt;I bear no ill will towards my fellow nerds who treat their little computer setup as some sort of shrine, a little bonsai project in your laptop to be lovingly tended. Tend on, friend. I am with you in spirit.&lt;/p&gt;

&lt;p&gt;But! I am a designer, and thus I take joy in finding faults in all things. And since I’ve been spending much of my free time prodding at the New Thing just to see what it does, I can no longer avoid the fact: while AI-assisted coding products are indeed marvels, using them still kinda sucks.&lt;/p&gt;

&lt;p&gt;I’m not talking about the true vibe coding products like Lovable, Bolt, V0, Figma Make. These are great from what they are trying to do. But in real use I have so far found them to be much more about the ✨vibes✨. The code in these products is secondary, presented like more of a progress indicator than anything you’re seriously expected to interact with.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://thoughtwax.com/uploads/2025/cursor-hovering-art-director.gif&quot; alt=&quot;Hovering art director&quot; /&gt;
&lt;em&gt;Vibe coding: the return of the notorious Hovering Art Director.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The “last 20%” problem for these tools will therefore likely persist for a little while at least, and I have not yet managed myself to use them to create anything that feels finished to me. Bad vibes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Complexity as a feature&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I am rather talking instead about using Claude Code to work on code locally on my own computer. Claude Code’s Opus 4 is a beast. It can handle everything from &lt;em&gt;“Read this detailed PRD and start building”&lt;/em&gt; to &lt;em&gt;“Fix this bug.”&lt;/em&gt; It goes beyond code generation: it has an almost unnerving levels of root access to your computer, it runs scripts, pushes to GitHub, controls tools via MCP, etc. It’s a natural language interface to the command line. Plus it has a charming and clever ASCII interface that makes me smile.&lt;/p&gt;

&lt;p&gt;I am, as stated up top, a nerd. But I’ve never had this level of ability. I have some preexisting knowledge of code, and I generally enjoy doing things on the computer. I’ve done a bunch of tweaking to get my setup just the way I want it. In that spirit, here is my current setup, with Claude Code running &lt;em&gt;inside&lt;/em&gt; of Cursor:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://thoughtwax.com/uploads/2025/cursor-with-claude.png&quot; alt=&quot;Screenshot of Claude Code running inside Cursor&quot; /&gt;
&lt;em&gt;(To set this up: run &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;claude&lt;/code&gt; from the terminal inside of Cursor, which will install Cursor’s native Claude Code plugin. Alternatively you can just run Claude Code directly from Cursor’s terminal.)&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Isn’t this fun? I mean sure, it’s kind of a lot! But feels powerful and complete: like a single-window power-user cockpit for doing pretty much anything. Everything is in one place (that’ll be the I in IDE): my project on the left, the open subject in the middle (often just the PRD), my AI Agent on the right, and a terminal for running servers at the bottom. This is kinda what I imagine a future agentic operating system might feel like: a command centre for managing and observing multiple parallel tasks.&lt;/p&gt;

&lt;p&gt;But/and. Isn’t this also kind of… &lt;strong&gt;bad&lt;/strong&gt;? Look at it! Complex, intimidating, inscrutable. A normal person would never figure it out. It looks like an airplane cockpit for god’s sake!&lt;/p&gt;

&lt;p&gt;(War story: I once travelled all the way to Mountain View to nervously present my early design proposal for Google Flight Search in a design review with Marissa Mayer, who was running Search back then. Her very first comment was, “Well, I guess it’s appropriate that this looks like an airplane cockpit!” followed by several minutes of hysterical laughter.)&lt;/p&gt;

&lt;p&gt;How is this apparent contradiction possible? Why is the design of Cursor both perfect and terrible?&lt;/p&gt;

&lt;p&gt;It’s because the TAM for “people who might reasonably be considered programmers” has grown orders of magnitude overnight, and in the process that group has suddenly transformed a radically more diverse group. Lots of new and different-thinking people are here now. The discipline of software engineering is about to experience its own version of &lt;a href=&quot;https://en.wikipedia.org/wiki/Eternal_September&quot;&gt;Eternal September&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This newly misshapen market is therefore massively over-served with complex incumbent power user tools like Cursor. If this is already your natural habitat: as you were, this product is already highly optimised for neckbeards like you (and me). You are like a pilot who already knows how to fly the plane, and for whom an airplane cockpit is therefore the optimal interface.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Here comes the new guard&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;But lots of people just want to fly drones without needing to train as a pilot.&lt;/p&gt;

&lt;p&gt;This new market will soon see new, more accessible IDEs that abstract away a bunch of the plumbing and constant breakage – all of the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;npm package update&lt;/code&gt; this and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;node server start&lt;/code&gt; that – and make it simpler and better. We have already established that there is a time and place for hobbyist tinkering, but it is not fixing package management when you’re just trying to get on with the pressing business of the day (an app that adds googly eyes to pictures of dogs).&lt;/p&gt;

&lt;p&gt;The whole stack is a lumpy contradiction: incredibly powerful, impossibly fragile.&lt;/p&gt;

&lt;p&gt;PHP and MySQL had a similar problem back in the day. Web designers could see that adding a bit of extra code to their HTML looked pretty easy. But setting up the LAMP stack was hard too. The coding part felt achievable, it was the infrastructure that was the hard part.&lt;/p&gt;

&lt;p&gt;Then along came &lt;a href=&quot;https://en.wikipedia.org/wiki/MAMP&quot;&gt;MAMP&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://thoughtwax.com/uploads/2025/cursor-mamp.png&quot; alt=&quot;Screenshot of MAMP&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ahh, that’s better. Look at the friendly little traffic lights there. And actual buttons for common tasks like starting and stopping your server.&lt;/p&gt;

&lt;p&gt;Here’s what the equivalent task looks like today 25 years later, in Cursor (latest valuation: a cool $10b):&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://thoughtwax.com/uploads/2025/cursor-terminal.png&quot; alt=&quot;Screenshot of Claude Code running inside Cursor&quot; /&gt;
&lt;em&gt;Running a couple of local servers should be easier than this.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Cursor needs its MAMP moment.&lt;/strong&gt; MAMP made web development accessible to people who didn’t want to wrestle with system config files or error messages. The power is there but the ease-of-adoption is exactly what most non-vibe AI coding environments are still missing. Coding remains very unevenly distributed for now.&lt;/p&gt;

&lt;p&gt;Some of the things I’d like to see in a better IDE are practical: ability to manage multiple projects, an easy way to see and manage local development servers, automatic or simple source control wrapping, better native support for image and voice input.&lt;/p&gt;

&lt;p&gt;But also, if you’ll allow me, the vibes could also be better. Think of a local, cozy, joyful, friendly studio space where ideas can manifest and break without consequence.&lt;/p&gt;

&lt;p&gt;The models and vibes are here. What’s missing is the scaffolding that makes building feel like play again.&lt;/p&gt;
</description>
				<pubDate>Mon, 16 Jun 2025 00:00:00 +0000</pubDate>
				<link>http://thoughtwax.com/2025/06/cursor-mamp/</link>
				<guid isPermaLink="true">http://thoughtwax.com/2025/06/cursor-mamp/</guid>
			</item>
		
			<item>
				<title>Automating Yourself Out of a Factory Job</title>
				<description>&lt;p&gt;Anthropic co-founder &lt;a href=&quot;https://conversationswithtyler.com/episodes/jack-clark/&quot;&gt;Jack Clark on Tyler Cowen’s podcast&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;COWEN: Silicon Valley up until now has been age of the nerds. Do you feel that time is over, and it’s now era of the humanities majors or the charismatic people or what?&lt;/p&gt;

  &lt;p&gt;CLARK: I think it’s actually going to be the era of the manager nerds now […] We’re going to see this rise of the nerd-turned-manager who has their people, but their people are actually instances of AI agents doing large amounts of work for them.&lt;/p&gt;

  &lt;p&gt;COWEN: It’s still like the Bill Gates model or the Patrick Collison model.&lt;/p&gt;

  &lt;p&gt;&lt;strong&gt;CLARK: The “people who have played lots of Factorio” model, yes.&lt;/strong&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I haven’t played &lt;em&gt;lots&lt;/em&gt; of Factorio, but I’ve played a little! Not sufficient to become the next Collison or Gates. But comfortably enough to opine about it on my blog.&lt;/p&gt;

&lt;p&gt;A brief explainer. &lt;a href=&quot;https://www.factorio.com/&quot;&gt;Factorio&lt;/a&gt; is best described as an automation simulator meets survival strategy game. You’re a little guy who has crash landed on a planet, and you have to build machines that in turn build more complex machines, until you can eventually build a rocket and fly home. You’re basically trying to speedrun the bootstrapping of industrial production. Think &lt;em&gt;The Martian&lt;/em&gt;, but instead of growing potatoes, you’re growing an entire technology tree until you get to interplanetary travel.&lt;/p&gt;

&lt;p&gt;This requires a lot of resource-gathering. However unlike games like Minecraft, the only reasonable way to do that is to automate absolutely everything by constructing increasingly complex production lines.&lt;/p&gt;

&lt;iframe width=&quot;628&quot; height=&quot;353&quot; src=&quot;https://www.youtube.com/embed/J8SBp4SyvLc?si=hdacqdX2ZfU50G6s&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;br /&gt;
It’s similar to “engine building” board games like &lt;em&gt;Wingspan&lt;/em&gt; or &lt;em&gt;7 Wonders&lt;/em&gt;, where you start with a small set of resources that you must combine into an interlocking flywheel of ever-increasing value. Here the engine is literal (conveyor belts, refineries, lab) but the underlying dynamics are the same. Factorio is ultimately a game about system design.&lt;/p&gt;

&lt;p&gt;You have likely by now decided whether Factorio meets your own personal criteria for “fun.” I get it. The pleasure of the endeavour is in the immense satisfaction to be had when your entire Rube Goldberg-like construction finally clicks into place, inputs and outputs whirring away in perfect equilibrium.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://thoughtwax.com/uploads/2025/factorio.png&quot; alt=&quot;Factorio screenshot&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The frustration is that it’s &lt;em&gt;really, really hard&lt;/em&gt;. A few hours in and I’m still on the tutorial, and possibly stuck there. Simple designs quickly sprawl into unknowable spaghetti. Parts break down unexpectedly. Every fix leads to a new error elsewhere. If you don’t plan carefully things can get brain-breakingly complex fast.&lt;/p&gt;

&lt;p&gt;It is, in other words, an ideal metaphor (and perhaps training ground) for the wonder and frustration of wrangling AI. Especially for AI-assisted code generation.&lt;/p&gt;

&lt;p&gt;Firstly, your simple plan can often feel like it’s teetering on the brink of some unexpected cascading failure. You’ll sometimes find yourself debating whether you’re better off salvaging your current efforts of just starting over from scratch.&lt;/p&gt;

&lt;p&gt;But Factorio also pushes you towards a mindset that prioritises automation over manual work.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;One of Google’s many aphorisms in mid-2000s was that you should try to “automate yourself out of a job.” This probably sounds trite now but was a genuinely subversive idea to me at the time, and part of what made the version of Google such a fun and mind-expanding place to work. “Automate yourself out of a job” was a reminder to focus on your outcome, not your output, and what’s more it was permission to approach everything through that lens.&lt;/p&gt;

&lt;p&gt;The irony today is that many people are now discovering that they have not only permission but a mandate to figure out how to, well, automate themselves out of a job. In a &lt;a href=&quot;https://knowyourmeme.com/memes/leopards-eating-peoples-faces-party&quot;&gt;stunning turn of events&lt;/a&gt;, software development is one of the first areas of the economy being dramatically changed by AI, and we all have to figure out how to adapt.&lt;/p&gt;

&lt;p&gt;Much of the energy and discussion has naturally centred around the tools. What coding capabilities wiil the next models have, how will the designer workflow change, which hot new product do I have to learn? It’s hard to just keep up.&lt;/p&gt;

&lt;p&gt;But the real shift isn’t in the tools, it’s in how you &lt;em&gt;think&lt;/em&gt;. :mindblown:&lt;/p&gt;

&lt;p&gt;It’s not unlike the shift that happens when a designer “switches track” to become a design manager. Whereas before their job was to design stuff directly, now their job is to somehow wrangle and steer the work of other designers towards a decent outcome. You can be a force multiplier for sure, and that’s part of the appeal. But at first it can be tricky to figure out how to work the controls, so to speak. It’s a skill you need to develop.&lt;/p&gt;

&lt;p&gt;I used to think “prompt engineering” was a temporary hack–a crutch while we waited for better UIs for controlling LLMs. I’ve since changed my mind. Now I can see that it’s an enduring part of how we’re going to use computers. And in that sense, it’s not unlike running a great design crit. Just like your team, you’re going to have to get to know these AI Agents and how to tailor your approach to cajole the best results from these new team members.&lt;/p&gt;

&lt;p&gt;Interestingly, many &lt;a href=&quot;https://x.com/daniel_mac8/status/1878283032215408886&quot;&gt;best practices in prompting&lt;/a&gt; should already look very familiar to anyone who has spent time &lt;a href=&quot;https://mikeindustries.com/blog/archive/2017/06/how-to-give-helpful-product-design-feedback&quot;&gt;giving design feedback&lt;/a&gt; in a crit: in both cases you’re critically analysing what you’re seeing, providing context, making appropriately specific constructive suggestions, etc.&lt;/p&gt;

&lt;p&gt;Leaders sometimes say their job is to manage “the machine that builds the machine.” We are now entering a kaleidoscopic era of machines that build machines, agents that control agents, inputs and outputs, systems and feedback loops. Lucky you to have all that relevant experience!&lt;/p&gt;

&lt;p&gt;This is the planet we have crash-landed on. The manager nerds have begun building factories.&lt;/p&gt;
</description>
				<pubDate>Sun, 08 Jun 2025 00:00:00 +0000</pubDate>
				<link>http://thoughtwax.com/2025/06/factorio/</link>
				<guid isPermaLink="true">http://thoughtwax.com/2025/06/factorio/</guid>
			</item>
		
			<item>
				<title>Designers will Inherit the Frontend</title>
				<description>&lt;p&gt;&lt;em&gt;I posted &lt;a href=&quot;https://www.linkedin.com/posts/emmetconnolly_last-week-after-ten-years-at-intercom-i-activity-7336000287649767424-DrUk/&quot;&gt;this&lt;/a&gt; and a &lt;a href=&quot;https://www.linkedin.com/posts/emmetconnolly_the-design-team-at-intercom-are-developing-activity-7336441146304331777-nmSI?utm_source=share&amp;amp;utm_medium=member_desktop&amp;amp;rcm=ACoAAABEXGwB7X9VnQU4mrnenO1yPB55jjz463Y&quot;&gt;related post&lt;/a&gt; on LinkedIn and they did numbers, as they say, so I’m replicating here for posterity.&lt;/em&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Last week, after ten years at Intercom, I shipped my first code change to production. Just a little UI tweak. But it helped crystallise a major belief I’m developing about how design roles will evolve.&lt;/p&gt;

&lt;p&gt;I now think that in the near future designers will basically be responsible not just for designing the UI, but for both designing and building the entire frontend. &lt;strong&gt;Designers, not Engineers, will inherit product UI.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;The old days of designers drawing convincing pictures of user interfaces, which are later recreated by someone else in code, are over. And good riddance: it was inefficient, frustrating, and is thankfully no longer necessary. Soon most frontend engineering tasks will be carried out by designers, with the “handoff” or primary interface between Design and Eng being at the front/back end distinction.&lt;/p&gt;

&lt;p&gt;Here’s how I think we’ll get there.&lt;/p&gt;

&lt;p&gt;At companies like Intercom today, designers are already approaching frontend ownership from two directions:&lt;/p&gt;

&lt;p&gt;1 &lt;strong&gt;Ideation.&lt;/strong&gt; Lots of designers have started vibe coding throwaway prototypes in Lovable et al. This is great! Prototypes are the new wireframes. There is almost zero technical barrier here, every designer can do this today.&lt;/p&gt;

&lt;p&gt;2 &lt;strong&gt;Dev Mode.&lt;/strong&gt; A bit better than drawing all your own redline annotations onto static mockups and logging P3 bugs… but only a bit.&lt;/p&gt;

&lt;p&gt;You can easily imagine a tool-driven acceleration of each of these:&lt;/p&gt;

&lt;p&gt;1 &lt;strong&gt;Early build.&lt;/strong&gt; Instead of a throwaway prototype, vibe coding tools now ingest your Design System, and spit out something built with your actual product components that can be iterated into the final UI.&lt;/p&gt;

&lt;p&gt;2 &lt;strong&gt;QA and polish.&lt;/strong&gt; Instead of describing changes in Dev Mode, designers use Cursor etc. to make simple changes to production code, submitting PRs.&lt;/p&gt;

&lt;p&gt;(This is the type of change I made this week, and it’s eminently doable for non-Engineers, even in a large/mature codebase like Intercom’s. Every designer at Intercom is going to ship code to production this quarter.)&lt;/p&gt;

&lt;p&gt;These two trends-—starting to generate the first build of the UI from one side, and nibbling away at quality-of-life changes from the other—-are converging at the same place: designers will be responsible for the end to end design and build of the user interface.&lt;/p&gt;

&lt;p&gt;Like all predictions this one will be wrong in some very specific ways. But I believe this is directionally what will happen, or at least where an ambitious next generation of designers will gravitate—especially those who value quality, speed, and self-determination. Prepare accordingly!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://thoughtwax.com/uploads/2025/frontend.png&quot;&gt;&lt;img src=&quot;http://thoughtwax.com/uploads/2025/frontend.png&quot; alt=&quot;Evolution of the design role diagram&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
				<pubDate>Sat, 07 Jun 2025 00:00:00 +0000</pubDate>
				<link>http://thoughtwax.com/2025/06/frontend/</link>
				<guid isPermaLink="true">http://thoughtwax.com/2025/06/frontend/</guid>
			</item>
		
			<item>
				<title>Abundance and Atrophy</title>
				<description>&lt;p&gt;Three related links, and the risk they point to.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;In the scenario I mentioned before, where humans become part of a stable but competitive ecosystem populated by intelligences of various kinds, one thing we humans must do is become fit competitors ourselves. And when the competition is in the realm of intelligence, that means preserving and advancing our own intelligence by holding at arms length seductive augmentations in order to avoid suffering the amputations that are their price.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;— &lt;a href=&quot;https://nealstephenson.substack.com/p/remarks-on-ai-from-nz&quot;&gt;Neal Stephenson&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;But now, when my brain spontaneously forms a tiny sliver of a potentially interesting concept or idea, I can just shove a few sloppy words into a prompt and almost instantly get a fully reasoned, researched, and completed thought. Minimal organic thinking required. This has had a dramatic and profound effect on my brain. My thinking systems have atrophied, and I can feel it–I can sense my slightly diminishing intuition, cleverness, and rigor. And because AI can so easily flesh out ideas, I feel less inclined to share my thoughts–no matter how developed.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;— &lt;a href=&quot;https://dcurt.is/thinking/&quot;&gt;Dustin Curtis&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;But we should also consider a warning from Herbert, the central commandment he chose to enshrine at the heart of future humanity’s key religious text, a rule meant to keep us from becoming subservient to the products of our reason, and from bowing down before the God of Logic and his many fearsome offspring:&lt;/p&gt;

  &lt;p&gt;Thou shalt not make a machine in the likeness of a human mind.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;— &lt;a href=&quot;https://harpers.org/archive/2024/07/the-gods-of-logic-benjamin-labatut-ai/&quot;&gt;Benjamín Labatut&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Just like an abundance of food, conveniences, entertainment, etc. all brought their own challenges (poor nutrition, inactivity, chronic distraction), an abundance of intelligence may ironically degrade our own human intelligence. Information consumption and intellectual development are not the same thing.&lt;/p&gt;

&lt;p&gt;You might already look after your physical health, mental health, financial health… add intellectual health to that list. I’ve been very intentionally making sure I &lt;a href=&quot;http://thoughtwax.com/reading/&quot;&gt;read&lt;/a&gt; a book a month in a possibly vain attempt to keep that part of my brain capable and fit.&lt;/p&gt;

&lt;p&gt;I’m generally optimistic about the future, but even assuming AI works out well (whatever that means) we should get ready to be disciplined about the insidious side effects. Now, can I publish this without asking Claude for feedback?&lt;/p&gt;

&lt;p&gt;Every augmentation is an adaptation.&lt;/p&gt;
</description>
				<pubDate>Tue, 27 May 2025 00:00:00 +0000</pubDate>
				<link>http://thoughtwax.com/2025/05/ai-atrophy/</link>
				<guid isPermaLink="true">http://thoughtwax.com/2025/05/ai-atrophy/</guid>
			</item>
		
			<item>
				<title>Terminal velocity</title>
				<description>&lt;p&gt;I tooled around with a couple of command line AI things this weekend.&lt;/p&gt;

&lt;p&gt;For context, your narrator knows basic command line stuff from the old days, but inevitably gets stymied in the end by relentless errors about things like dependencies and package management that I don’t really understand, and frankly don’t care to.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://www.anthropic.com/news/claude-3-7-sonnet&quot;&gt;Claude Code&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Pretty incredible. I prompted with a short paragraph about a Pinterest-style app that accepts many different media types, and uses AI to analyse and tag all of the content. It basically noodled away for a couple of minutes and essentially got it right first time. (I had some OpenAI API key issues I had to resolve before the AI-powered tagging worked.)&lt;/p&gt;

&lt;p&gt;This immediately feels way more capable than using 3.5 Sonnet and Artifacts in the Claude web app. It stepped through everything in a sensible, confident way, and made intelligent proactive choices. It iterated from there in large, meaningful chunks at a time.&lt;/p&gt;

&lt;p&gt;The UX is interesting and fun. Claude Code is trying to be a software application of sorts, with things like navigable menus and loading states–but it’s running inside a text-only Terminal. Maybe this feels more familiar if you’re used to things like Vim, but for me it was novel. The little text-only menus were light and fun to use. The colour-coding, one of the few design options available, is clear and tasteful. Also it’s got a sweet ASCII art logo and animated unicode loading spinners, all of which succeeded in making me feel like a cool AI hackerman.&lt;/p&gt;

&lt;iframe width=&quot;628&quot; height=&quot;353&quot; src=&quot;https://www.youtube.com/embed/AJpK3YTTKZ4?si=WTtpE_qIQIetg3RH&quot; title=&quot;YouTube video player&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share&quot; referrerpolicy=&quot;strict-origin-when-cross-origin&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;
&lt;p&gt;&lt;br /&gt;
That said, I did really want it to be able to do more at times. It can’t &lt;em&gt;see&lt;/em&gt; the UI it’s building, and you can’t even paste a screenshot into the Terminal; you have to type in a description of the problem. You can’t point to a specific element and talk about it. That UX with this capability seems like a point of no return, and a big shift for how we design and build software.&lt;/p&gt;

&lt;p&gt;Note that Anthropic already have a lot of the necessary parts here, with tech like &lt;a href=&quot;https://www.youtube.com/watch?v=vH2f7cjXjKI&quot;&gt;Computer Use&lt;/a&gt; available but not integrated. It will just be a matter of product development time until this is all stitched together, and despite these temporary gaps we can see the overall shape now.&lt;/p&gt;

&lt;p&gt;Speaking of gaps, I found myself using Anthropic’s rival ChatGPT as a copilot of sorts alongside Claude Code. This is because some of the workflows around the core task writing code (e.g. running a local server, installing databases, source control, etc.) still require complex shenanigans in the Terminal, and currently only ChatGPT can “observe” my Terminal window. Claude Code writes the code, but for now I still needed ChatGPT for easier setup and troubleshooting.&lt;/p&gt;

&lt;p&gt;Finally, a broader realisation was that this didn’t just cut out Stack Overflow or Google from my workflow, it completely cut out THE WEB for a couple of hours. That’s the longest time in many years that I’ve used a computer without using the web or in some way feeling online.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;https://ollama.com/&quot;&gt;Ollama&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;This is more of a fun curiosity. I recently got a new Macbook Pro and had wanted to see what I could run locally on it when &lt;a href=&quot;http://www.jmmcd.net/&quot;&gt;James&lt;/a&gt; told me about Ollama. It’s simple, basically a single command to download and immediately run a Terminal-based chat with a model entirely on your computer.&lt;/p&gt;

&lt;p&gt;The most amazing thing to me here is how compressed the information in these models is. I can’t quite fathom it.&lt;/p&gt;

&lt;p&gt;The default model is Llama 3.2 3B, and is only 2GB in size. Two gigabytes. The first ever iPod could hold twice that. And yet it’s a fully legit model to converse with about any topic in the entire world.&lt;/p&gt;

&lt;p&gt;You can go into Airplane mode and ask it for a plan to terraform Mars or the causes of the Persian Wars and it will generate complete Wikipedia-style answers. You can explain how transformers and on-device inference work all day long, and yet this will remain bewildering and magical to me on some fundamental level.&lt;/p&gt;

&lt;p&gt;Ollama has much more capable models available to run on your computer: Llama 3.1 405B is 231GB, and bad-boy newcomer DeepSeek-R1 671B is there weighing in at 404GB. Still, it’s insane to think that these world-changing models fit on a cheap thumb drive and run on a regular laptop.&lt;/p&gt;

&lt;p&gt;I am a designer by trade, I’m only semi-technical, and am just kicking the tyres on these things. &lt;a href=&quot;https://x.com/fergal_reid/status/1898514414061375862&quot;&gt;Other people who I trust&lt;/a&gt; on such matters also seem convinced.&lt;/p&gt;

&lt;p&gt;The ups and downs of tracking this technology continue. It’s still not clear if the entire tech industry is about to ride the next big rollercoaster, or if it’s lying on the track of a trolley problem of their own making. How much further will this accelerate?&lt;/p&gt;
</description>
				<pubDate>Sun, 09 Mar 2025 00:00:00 +0000</pubDate>
				<link>http://thoughtwax.com/2025/03/terminal-velocity/</link>
				<guid isPermaLink="true">http://thoughtwax.com/2025/03/terminal-velocity/</guid>
			</item>
		
			<item>
				<title>Prompt flags</title>
				<description>&lt;p&gt;A good chunk of time spent LLM prompting goes into patiently cajoling it to use the appropriate response format: &lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;“Write an exhaustive response in detailed, clear prose.”&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;“Make it a concise bullet point summary; use multiple levels of nesting if needed.”&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;“Ask me any clarifying questions that will help improve your response.”&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Repeatedly appending output instructions at the end of each prompt like this reminded me of &lt;a href=&quot;http://www.catb.org/esr/writings/taoup/html/ch10s05.html&quot;&gt;Unix command line flags&lt;/a&gt;: short codes that you tack onto the end of your command to tell it how to format the output. For example, if you want to simply list the contents of a directory you’d use the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ls&lt;/code&gt; command:
&lt;img src=&quot;http://thoughtwax.com/uploads/2025/ls.png&quot; alt=&quot;Unix command: ls&quot; /&gt;
But if you add some prompt flags the output will be modified. Adding the &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-l&lt;/code&gt; and &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-a&lt;/code&gt; flags (which you can express together as &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;ls -la&lt;/code&gt;) combines two features: &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-l&lt;/code&gt; shows a detailed list format, while &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;-a&lt;/code&gt; includes hidden files in the list:
&lt;img src=&quot;http://thoughtwax.com/uploads/2025/lsla.png&quot; alt=&quot;Unix command: lsla&quot; /&gt;
I’ve found that this concept translates well to LLM prompting.&lt;/p&gt;

&lt;p&gt;I asked ChatGPT to remember some prompt flags that represent the common things I find myself typing out again and again (you can just paste them into any chat and ChatGPT will remember these commands):&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;-s (short): Concise, clear responses.
-l (long): Detailed, in-depth responses.
-b (bullet points): Organized, bullet-pointed responses.
-q (clarifying questions): Ask any questions needed to provide a complete response.
-m (add to memory): Saves relevant context or information to ChatGPT&apos;s Memory.
-8 (explain it to an eight-year-old): Use simple and accessible language and concepts.
--help (help): Display this list of commands.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;So now I can write LLM prompts that include handy little command-line flags:
&lt;img src=&quot;http://thoughtwax.com/uploads/2025/prompt1.png&quot; alt=&quot;Prompt example with flags&quot; /&gt;
Once committed to muscle memory I’ve found these very useful. It’s also smart enough to recognise standalone flags as a follow up to the previous command; so if you don’t like the output you just got, you just reply with a flag for a revised version. I find this is how I use these flags most often so far, when I want to interrupt a response and ask for a revision.
&lt;img src=&quot;http://thoughtwax.com/uploads/2025/prompt2.png&quot; alt=&quot;Prompt example with follow up flags&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The received wisdom at the moment is that we’ll soon get new more powerful user interfaces for working with AI. In the meantime, there’s fun to be had with existing chat paradigms, including ideas from Command Line Interfaces. LMK if you come up with your own useful prompt flag ideas!&lt;/p&gt;
</description>
				<pubDate>Sat, 18 Jan 2025 00:00:00 +0000</pubDate>
				<link>http://thoughtwax.com/2025/01/prompt-flags/</link>
				<guid isPermaLink="true">http://thoughtwax.com/2025/01/prompt-flags/</guid>
			</item>
		
	</channel>
</rss>