Patrick Smith @royalicing.com · 28/09/2026Writing code is now easy, but it remains hard to encode people’s needs (product design) and decode people’s minds (marketing). 000
Patrick Smith @royalicing.com · 27/09/2026I mocked up if the Finder _was_ the Siri app and I think it could work pretty great! The name is a natural fit. 000
Patrick Smith @royalicing.com · 26/09/2026Steve Jobs likened computers to a bicycle for the mind. AI is a rocket for the mind. Directed, it can accelerate you to the moon. Undirected, it can noisily consume energy and explode into nothingness. 000
Patrick Smith @royalicing.com · 25/09/2026Much of the appetite for agents exists because the web added so much friction like Subscribe to Our Newsletter, Accept All Cookies, Open in App, Enable Notifications, Share on X, Your Session Has Expired, Sign In With Google, Verify It’s You. We desire that friction gone. 000
Patrick Smith @royalicing.com · 25/09/2026Good software helps people make order from chaos. Unconstrained coding agents create chaos from orders. 011
Patrick Smith @royalicing.com · 10/09/2026help me I’m addicted to social media posts turning 90s games into pastries. It’s got me DOOM scrolling 010
Patrick Smith @royalicing.com · 10/09/2026I hope the iPhone Duo supports Sidecar — the feature that lets you use an iPad as Mac’s external display. I currently carry around a MacBook Air and iPad Pro. Being able to use my iPhone as an external display would be a killer feature. 020
Patrick Smith @royalicing.com · 26/08/2026The fallacy of agentic coding is believing you don’t need to understand the fallacies of distributed computing. 021
Patrick Smith @royalicing.com · 22/08/2026Prototype in one programming language, ship in another. A great way to make state smaller, APIs more obvious, implementations simpler. 010
Patrick Smith @royalicing.com · 20/08/2026Coding agents are infinite state machines. Your job is to make them produce useful finite state machines. 010
Patrick Smith @royalicing.com · 18/08/2026Henry Ford supposedly said: “If I had asked people what they wanted, they would have said faster horses.” Faster pull requests sounds to me like a faster horse. We need to find the automobiles for the agentic coding age, and master their manufacturing. royalicing.com/2026/faster-...royalicing.comFaster pull requests are faster horses 120
Patrick Smith @royalicing.com · 17/08/2026Markdown specs are a laundering scheme for decision-avoidance. 000
Patrick Smith @royalicing.com · 16/08/2026“Nothing is overdue.” A perfect example of how fewer features can make a better product. marco.org/2026/08/14/u...marco.orgUnforgetful – Marco.org 010
Patrick Smith @royalicing.com · 14/08/2026Making informed decisions is the bottleneck, and you can use AI either to help make informed decisions, or clog the bottleneck with even more decisions. 000
Patrick Smith @royalicing.com · 14/08/2026Being a systems programmer is a bit like being a crackpot dictator Finally you get to run the state Only to be brought down by resource management 000
Patrick Smith @royalicing.com · 11/08/2026Reading “Steve Jobs in Exile” what’s surprised me most is how he doesn’t sound too different to the post-1997 Jobs from “Apple in China”. There’s still obsessiveness that leads to people endlessly toiling. It’s not until iPod on Windows that his approach seems to succeed! 000
Patrick Smith @royalicing.com · 10/08/2026(Someone looking at my PR) “Maybe she’s born with it. Maybe it’s Fable-line” 010
Patrick Smith @royalicing.com · 09/08/2026Everyone talks about web scale but not enough people talk about web rotate 010
Patrick Smith @royalicing.com · 09/08/2026Is Google Gemini the Macintosh, Google Search the Apple II, Jeff Dean akin to Woz or Bill Atkinson, and Discovery Loop like General Magic? 000
Patrick Smith @royalicing.com · 21/07/2026QIP lets you write cross-platform components in Zig or C, which are imperative languages. But I love opening a file and seeing how declarative it feels. Here we see clearly what the memory capacity is and what the input/output types are. 000
Patrick Smith @royalicing.com · 15/07/2026Indispensable atoms of the computing universe: - Transistor - Datagram - TCP segment - Transaction - URL - S3 object - Token Each invention carefully draws a boundary around essential complexity, encapsulated as a dependable unit with a stable contract and clear failure modes. 000
Patrick Smith @royalicing.com · 11/07/2026I think the BEAM really excels at I/O. If an Elixir process crashes you can be assured any files and sockets it has will be cleaned up for you. And Zig and WebAssembly excel at pure computation. If you constrain the contract you get determinism and this makes testing and composability easier. 000
Patrick Smith @royalicing.com · 10/07/2026Article link: royalicing.com/2026/agents-...royalicing.comAgents of Our Own Illiteracy 010
Patrick Smith @royalicing.com · 10/07/2026I’m concerned our software industry is drifting towards illiteracy. 100
Patrick Smith @royalicing.com · 08/07/2026I think wasm is a perfect target for coding agents because of its determinism and portability. Making the module interface constrained is key: qip.devqip.devQIP: reproducible rendering 110
Patrick Smith @royalicing.com · 08/07/2026The official sqlite3.wasm takes 146ms, my custom WebAssembly module takes 3.5ms. And one is 849 KB, the other is 19 KB. 110
Patrick Smith @royalicing.com · 08/07/2026Here are the numbers running in Chrome to convert a SQLite table to CSV: 110
Patrick Smith @royalicing.com · 08/07/2026Yes I think there’s been a mistake where the language features that authors want (I want to import a JSON file from disk and have it be inlined) and that browsers need have been conflated. The import spec should be broken into multiple levels or be its own thing IMO. 000
Patrick Smith @royalicing.com · 08/07/2026Like with REST it would seem ambiguous to me if the endpoint wasn’t found (as it not known by the server) or the resource wasn’t found (as it might have been deleted). I personally think using HTTP status for extra meaning is a leaky abstraction 100
Patrick Smith @royalicing.com · 08/07/2026Isn’t the point of these import assets to be a common syntax bridge for build tools that would load from disk? And if the file was missing it would be build error? 110
Patrick Smith @royalicing.com · 08/07/2026Is the “proper rest way” documented in an official specification? 100
Patrick Smith @royalicing.com · 08/07/2026I’m exploring reading SQLite databases via custom WebAssembly vs using the official sqlite3.wasm 100
Patrick Smith @royalicing.com · 07/07/2026Ask not what your country can do for you, ask Claude what you can do for your country when you’ve been replaced by AI 000
Patrick Smith @royalicing.com · 24/06/2026If programming languages are said to be Turing-complete, are coding agents Turing-autocomplete? 030
Patrick Smith @royalicing.com · 24/06/2026Instead of primarily more code what about using coding agents to reduce state? Less state means fewer moving parts, fewer possible failure modes, and fewer bugs. The code will be easier to digest and understand as a reviewer. 000
Patrick Smith @royalicing.com · 18/06/2026Coding agents offer a reset of software orgs. Over years we’ve separated frontend from backend, devops, ux, etc. Zoom out and you’ll see latency, durability, consistency & simplicity are what makes good software. We can bypass silos that lead to these qualities being worse. 431
Patrick Smith @royalicing.com · 16/06/2026Getting excited by coding agents because they’ll let you write way more code is a bit like flooding a lake and getting excited because you’ll be bit by way more mosquitoes. 010
Patrick Smith @royalicing.com · 31/05/2026QIP Components: - Quick for AI to make & quick for users to run. - Isolated sandbox with no file system, network, or environment access. - Portable components that work identically on web, server, and native. 010
Patrick Smith @royalicing.com · 04/05/2026Agree with this. The everything upfront spec approach just doesn’t sense to me. I need to run and use what I’ve made to know to do next. youtu.be/IZRWzXjaXxMyoutu.beSculpt, not SpecYouTube video by Scott Hanselman 010
Patrick Smith @royalicing.com · 02/05/2026What if the power of AI-generated UIs is not in assembling bespoke UI components on the fly, but in accelerating the user to navigate and knowing which parts to *remove* to help them focus? 010
Patrick Smith @royalicing.com · 13/04/2026AI coding agents can add more entropy to your project. The hard things are: - Adding value for users. - Removing entropy. 110
Patrick Smith @royalicing.com · 13/04/2026Bragging about your AI token spend is like boasting how much fuel you used driving to the gym. 000
Patrick Smith @royalicing.com · 04/04/2026The purpose is not to make the world more complicated. We don’t want to be a parasite that the user wants to remove. We don’t want to use ever more resources because it allowed us a shortcut. It’s to simplify and ease. To one day be happily removed because the job is done. 001
Patrick Smith @royalicing.com · 04/04/2026The purpose of my software is to remove entropy from the world. A person uses my software and their life is simpler so they can focus on what matters to them. We do this by consuming a little electricity and a little storage space. This is design *and* engineering of systems. 110
Patrick Smith @royalicing.com · 27/03/2026I’ve been over time rethinking opinions of event systems and observable property pubsub as now being overkill. Rather than adding an immediate-mode API over a retained-mode API like React does over the DOM, let’s start with immediate-mode. youtu.be/2Tjh3cr_8d4youtu.beJonathan Blow on event systemYouTube video by Jonathan Blow highlights 010
Patrick Smith @royalicing.com · 26/03/2026- Avoid caching, just recompute by default and try to make that fast. - Strong invariants where you assert on function inputs are crash fast when they fail. No clever error recovery. - Iterating towards the simplest contracts I and the agent can design. 010
Patrick Smith @royalicing.com · 26/03/2026More constraints for me at the moment looks like: - Static memory allocation, so avoiding dynamic allocation especially based on inputs. - Linear flow of code, reducing control flow, conditional edge cases, many granular states. Try to put everything through the same general path. 110
Patrick Smith @royalicing.com · 21/03/2026Increasing constraints is the best way to maintain momentum long term. Fewer, more-focused features. Fewer edge cases due to stricter data communication and reduced state. Improved security from simpler overall system design. We can use AI to help with these things! 110
Patrick Smith @royalicing.com · 21/03/2026Fewer constraints sounds freer: we can build whatever we like! As fast as we can! But that freedom then restricts what you can do later. More features to support. More edge cases to consider. Greater chance of security holes or data corruption. Each entangling one another. 110
Patrick Smith @royalicing.com · 21/03/2026AI coding presents us a fork in the road to increase or decrease constraints. More constraints means stricter security, tighter tolerances, fewer lines of code, less moving parts and state. Reduced constraints means more lines of code, laxer security, more state and complexity. 220