• Latest Articles
  • Atom Feed
  • About
  • Life Is Never Finished Tommie's blog

    Sometimes I wonder if I do anything at all. While working for Spotify and Google, I was told some things I did were useful. Most of them never felt “done” to me, though. Privately, I know I rarely tell anyone about hobby projects (though, trying to get better at sharing.) But even so, I never feel I accomplish much, which makes day-to-day rather dull. Today I had a thought. The following is a letter to myself, trying to work out why I’ve been thinking about project goals the wrong way.

    Let’s look at the hot air soldering station that suddenly wiped its own microcontroller program memory! Ever had Flash ROM turn into RAM? The apparatus’ displays started to flicker, and power-cycling it made it worse, until everything just stopped. Re-programming the chip seemed to work, but power-cycling would wipe it. Yeah, that happened. And so I started creating a custom firmware for the AT860d soldering station.

    It’s an almost finished project, writing a firmware from scratch in PIC16F887 assembler. But it’s been almost finished for a few years now. The last thing I did was adding a front panel module to tie together the displays, button states, etc. into a cohesive user interface. That was in August 2023. Before that, I hadn’t worked on it since late 2021. I just need to write a PID controller and fix various timer issues. It feels like a never ending story.

    And perhaps that’s my problem. I’ve been told I should finish what I start, mostly by my father throughout childhood. But so many things can never be finished. It’s a matter of perspective, and likely up to personal interpretation. However, finishing isn’t the goal.

    It’s quite possible that the AT860d will start working again at some point. But even then, there are things I could do to continue on the project. Like releasing the firmware, writing blog posts, adding features, or making it more robust. There is no end, only milestones that have higher or lower priority/urgency than milestones in other projects. Imagination is good, but is endless.

    “Perfect is the enemy of good” is completely true, but I’m not considering this to be about perfection. It’s about dividing work into milestones, and be happy to re-prioritize unrelated work at these milestones. “Perfect” is always two milestones away, and that’s fine. However, that also means I’ll never finish, because there is always something more that could be done. Stopping my imagination, and dreams, and placing a project in the archive is not what I should aim for.

    If I design and build a mechanical keyboard just the way I want it, I could offer it to others. And if others want it, I could build a business around it. The point of doing work is to leverage that work in the future, and that’s (hopefully) a never ending chain of milestones.

    If I build a database engine, I could set up a SaaS, or run an open-source project. Either way, I should hope that work continues, not that I can be done with it.

    Update Perhaps that’s why I like fixing things for others. Repairing it means restoring to a known previous state. This is something that can be finished. When I fixed my wife’s sewing machine, there was nothing more I wanted to do with it. It was completed and handed back to her. (Textiles as a craft is too unpredictable to me.)

    Conclusion

    The natural state of affairs is an ever increasing pile of prospects and tools at various milestones. Will that provide satisfaction? Work that begets work is the meaning of life? Life seems to be about self-replication, so perhaps that is exactly the point. Perhaps a project is life, and the achievements are its individuals.

    I should be thankful I have a vivid imagination, not be overwhelmed by it.