Times are changing
It’s been nearly a decade since I last wrote something for this blog, and the software engineering industry has undergone such profound change since then. As 2025 comes to a close, and I have some time to reflect, I thought it fitting to refresh the blog and write out some thoughts.
In 2016, when I took a hiatus, I was writing about the coding I did for lirc_web and lirc_node, two npm libraries I created to help control IR devices via an HTTP-based API running on a Raspberry Pi. I used these libraries to enable controlling IR devices in my home using novel human-computer interaction devices. While I’d never published these experiments at the time, they included:
- Using an EEG headset to control devices with my thoughts
- Using an EMG armband to control devices with arm gestures
- Using a Leap Motion to control devices by adjusting the position of my fingers
Each of these experiments felt like a glimpse of a future that was rapidly approaching and going to unfold soon: novel human-computer interaction devices would unlock a more nuanced and expressive way to interact with the digital world. I felt like this was all on the verge of becoming reality. I couldn’t wait to see these new types of interaction paradigms arrive.
But they didn’t.
It seemed that the existing human-computer interfaces we had (trackpads, keyboards, and touch screens) were enough for people, or perhaps these novel ones just weren’t compelling enough to emerge beyond their novelty.
Instead, though, a different computing revolution started picking up steam - deep learning. Eventually, sometime in 2022, large language models boiled over from being a research topic into something usable and, honestly, truly incredible. I’ll never forget the day that ChatGPT launched - November 30th, 2022 - and just spending hours exploring what had suddenly become possible.
It feels like, in many ways, the novel human-computer interface I was hoping for has arrived - but it’s nothing like what I had expected. It’s just language. Using this new interface, I’m now able to build higher-quality software faster than ever, juggle several projects at once, learn new technologies and become proficient with them in record time, and I feel like the acceleration has just begun.
I’d written about this idea of “Time to Information” - where the internet put the world’s information at our fingertips, and questions could be answered immediately - but now we’re confronted with a new metric that I don’t feel has a great name. I think of it as “Thought to Action” - a way to measure the time between having a thought or idea and being able to begin taking action on it. While, previously, it may have taken me hours to build a functional prototype of an idea I had, now I can build a functional prototype in mere minutes. I think the societal implications of that are just beginning to be felt, but they will be just as profound as when the world’s information became available at a moment’s notice.
Ten years ago I was strapping sensors to my head and approximating neuron action potentials in Python, looking for a better way to interact with computers. It turns out the human-computer interface revolution I was waiting for was natural language: now I just need to express my ideas clearly to begin building. That has rekindled my love for tinkering and experimentation, and I’m building and exploring new concepts more than ever. Times are changing, and I’m excited to see where this exponential curve takes us.