Joel Spolsky once called it "the single worst strategic mistake that any software company can make", and not for nothing:
"When you throw away code and start from scratch, you are throwing away all that knowledge. All those collected bug fixes. Years of programming work."
Even twenty years into my career, despite understanding, both logically and from experience that a rewrite is a high-risk move with limited chance of success– I am still often tempted.
Coding assistants are making it more tantalizing than ever, and maybe, just maybe, even attainable.
Once again found myself needing to create a bootable Windows USB stick on macOS, once again surprised at how fiddly it was.
This time, though, I made an app.
Claude is changing how I write software dramatically.
My biggest worry, as someone who's been writing software for a long time, is that I will be so blinded by my hard earned intuition on complexity that I will subconsciously be less ambitious than the moment calls for – that some treacherous part of my mind stubbornly knows it's too hard.
When I was 25 I thought it was a given that I would just never stop learning. Back then the risk, from what I could see of middle aged developers, was clownishly bungling your way into some obvious technological cul-de-sac. The intervening 15 years have tested it at times, but I had not considered that the raw intuition itself might end up the problem.
Putting together a little desktop notifier for new Stripe subscribers using Rust! 🦀
Yesterday I was looking at the zclaw project, and I thought it would be cool if the ESP32 could run an actual language model.
Then I remembered that Andrej Karpathy had dropped microgpt a couple of weeks ago, and thought it might be fun to try and get a GPT running on the ESP32. I've got a couple of them lying around from a few other tinkering projects, as well as a functioning ESP32 Rust project to base it on.