Generative AI tools are getting multi-file editing capability. It recently got introduced to GitHub Copilot. It's already in Cursor and my current favorite, Cline. It can implement a feature across multiple files, but it's still bound to the token limits that the LLM it's using has. Adding a parameter to an API response and modifying a few files to pass it along is cool, but forget about building the whole application from a prompt. (For all but the most simple apps) The limiting factor is my...
1 day ago • 1 min read
Do you know why velocity slows down when you add more people? If I do it myself, I just open the editor and go. If I have to explain what I want to you, my words are being transmitted to you at 120 bits per second (at a normal speaking pace). And that assumes I made it clear on the first go and that's just not how human conversation works. We're going to have a bit of back and forth. You'll ask me if you understood me correctly, I'll explain more, bitrate drops. And this works fairly well. As...
2 days ago • 1 min read
There's no way around maintenance. You build. It becomes messy. You have to do maintenance. You build more. It becomes messy. You have to do maintenance. This is not a problem, it's just the way software development is. But it does become a problem if you don't plan for any maintenance as you evolve your app. You'll eventually end up with a software system that's impossible to change and frustrating to work on. Tight coupling everywhere. You can't change one part without the others breaking....
3 days ago • 1 min read
It's December 9, 1968. A thousand computer professionals were about to be blown away by a presentation that showcased many of the fundamentals we still use more than half a century later. Douglas Engelbart set up on stage to demonstrate the oN-Line System. Until then, computers were room-sized machines doing boring work like payroll crunching, complex missile trajectories, and cryptography. His idea was to build a machine that a person could use interactively to augment their intelligence....
4 days ago • 1 min read
If you want to prototype extremely fast with generative AI, small files are the way to go. Wouldn't it be great if only we could do structure, presentation and logic all in one file without messing with a complicated build system? Well, it's 2024, we can. Ask your LLM to assemble the app you want feature by feature as web components! Modern vanilla JS, no build system, just what current browsers support. I got so used to complicated TypeScript setups, multiple frameworks, that I didn't even...
5 days ago • 1 min read
Your architecture needs to be extremely clean to move fast with generative AI coding tools. They have limited context windows, so if you want them to implement a simple API change that requires manipulating 10 functions spread over 5 files, it will keel over. That's why you can ask Claud for any kind of app that fits within 300 lines of code, and it just gives it to you. And it works, often on the first try. It feels like magic. Yet, when you start to expand by adding extra features that you...
6 days ago • 1 min read
I've learned the hard way that it's better to search for longer than to settle too fast and hire someone who's just okay. The thing is, when the right person comes along, they won't be 10% better. They'll probably be 20x better in the potential impact they can have in the team. Choosing wrong has a double penalty. First you invest time and money into finding if there's a fit and if it doesn't work, you'll still have to search for someone new. There's also another nugget hidden there. If the...
7 days ago • 1 min read
JavaScript is not going away anytime soon, it's too deeply ingrained in the fabric of the internet. So until we all jump ship to somewhere else, server-side JS still has a place. Fortunately for us, there's recently been a renaissance in runtimes. Bun and Deno 2 are now challenging the monopoly that Node had. I've played around a bit with Deno and compatibility is great. It's also TypeScript by default which means no headaches. Have you tried using them in production? Let me know your...
8 days ago • 1 min read
The honeymoon I first wrote some node.js code back in 2010 when still smelled fresh and I was excited to use the same language on the front and back end. It introduced me to sockets and I build a fun little browser game with it, but I went back to good old PHP pretty fast. The problems After landing on a node project in 2015 in a professional capacity, I found out what a pain in the ass it can be. First, in the early days a typical node app was callback hell with zero type safety. Runtime...
9 days ago • 1 min read