You Can Just Do Things
Retro Computing
I have been very excited with where we are as an industry right now. To me it feels like how computing felt when I was a kid and getting into computers. In the late 80s I started exploring computers with Apple Basic on the Apple IIc and IIe computers available at school and our public library. That was my first taste of programming.
When I got into 9th grade my parents got me an old IBM PC with a 20MB hard drive and 640KB of RAM and MS-DOS 5.0. They also got me a copy of Turbo Pascal 7.0. Turbo Pascal had this great framework for building text-based user interfaces, called Turbo Vision. It was pretty exciting to be able to build out something that felt like a real application with very few lines of code. Even the IDE for the language itself was all done in Turbo Vision.
I later got a job at a restaurant and saved up for a year to be able to buy a 486. Turbo Pascal worked great on that machine as well. I remember in this early time it felt like there were just so many possibilities and computing just seemed wide open.
Later computing
Of course DOS faded away into Windows and then in University I started using Linux. Here once again was a very terminal focused computing experience. Even the university systems were tilted towards terminals, when we had to register for classes, we had to sign into some old system that required us to have a VT220 terminal emulator. I had one under windows, as well, but Linux often was just easier. I ended up loving it for a programming environment to do all my course work in, and at that time I probably used Linux more than Windows. I would boot into Windows for Microsoft Money and gaming, or occasionally for Word Perfect or Lotus 1-2-3. But the rest of the time I was just in Linux. It probably helped that the networking was so much better than what Windows 95 had to offer too, and I was finally getting Ethernet connections right onto the internet in University housing.
Career
When I started my development career we were typically issued Windows machines, and then we would deploy on Unix servers. Solaris at first and then later Linux. I was working in Java development at the time so time was spent in some primitive IDEs but most of the terminal heavy stuff faded away. Apart from normal SSHing into a machine to check on a server things mostly stalled.
Mid 2010s
Somewhere around 2014 or 2015 I started using a Mac. At that point I liked that they were running ona Unix base so it seemed like a better setup for a programming machine, but at the same time you had the plug and play friendliness of Windows, so I didn’t have to spend a ton of time just configuring my computer like you would have to do with Linux at that time. Especially on laptops in that era where the Linux support for Wifi and sleep was terrible and the battery life wasn’t great. At that point I didn’t want to spend time administering my computer I wanted to code and get things done.
Now
Now with the way things have tipped in the last couple of months it feels like the late 80s/early 90s again with things being wide open. We have seen amazing investment in Terminals to deliver a first class experience with things like Ghostty which I love. You combine that with Agentic AI (Claude Code is what I am playing with) and it feels like a perfect time to just make fun apps. All around are great TUIs lazy git is a great example. For fun over Christmas I decided to play around with building a Microsoft Money style application that was TUI based using Go and Bubble Tea. I had it aesthetically look like it was done in Turbo Vision for fun. I have that probably 90% built where I wanted it and it was a blast. If you look at Modern TUIs though they look much better than Turbo Vision so I would probably clean it up and make it more of the style of Lazy Git if I were to release it. I want to build out a security master for it as well to track investments too so a few features are remaining, and Mouse support would be nice.
Once you learn to drive the AI it feels like you can do things that would have taken Months or longer in a weekend. I was thinking about an old dos game I used to play back in 1994. And I was like I wonder if it has ever been updated. I looked into it, and it hasn’t, but it was available on the EA store for $2.50. I got to thinking I wonder if I could reverse engineer it and play the original data files in a new engine that ran natively on Mac and Windows. I was sitting around last Friday and I started riffing with Claude and by Sunday I had pretty close to a working engine. I had Claude try to 4x upscale the sprites and they look horrible. And it has issues where it isn’t transitioning scenes correctly yet. But when I think about the work of all these old and somewhat propriatary data formats. Just figuring out how to unpack the game file would have taken months and months of work. It is all sorts of crazy packed in data. Then as someone with no video gaming programning experience trying to figure out how you make an engine would have been months and months of work. But I am at a point now that I think another weekend or 2 of testing and iterating on this and I could have a playable system. It even coded the engine in Zig with the SDL library which I have never really written any production Zig before (I played around with the Ziglings stuff a bit once).
Conclusion
This gets me back to the title of the post. It used to be oh I would love to code my own personal finance application and not use Quicken, but with kids and work I have no time for that. Or something like reverse engineering an old game would have felt out of reach it would have taken so long and now it feels like the constraint is coming up with good ideas and how well you can actually drive the AI (which is a skill in and of itself). But at the end of the day you can just do things. And it is amazing, what a great time to be alive, I don’t think I have had this much fun with computers in 35 years.