Making your own software for fun
Jan 24, 2026Recently, I wrote my own static site generator and ported my blog to it. Was my current framework, Jekyll, not good enough? Were the countless other static site generators missing features my blog needed? Did my blog get too complicated for plain HTML? The answer to all of these is “no”! They all would have worked great.
Instead, I did it because it was fun!
Fun?
Programming is fun to me! There’s a lot that goes into programming–designing, abstracting, testing, actually coding–and I find most of it pretty fun. But I think the funnest part of all is building something for just you. I got to decide how my static site generator should work, and I got to pick choices that made me, and no one else, the happiest.
For example, a pretty core design decision of Flora, my static site generator, is that Ruby is central. The config is in Ruby, HTML is generated with a custom Ruby DSL, and if you want any supporting code, it needs to be in Ruby as well.
A custom Ruby DSL to generate HTML may not be everyone’s cup of tea, but I like it and that’s what mattered.
Fun!
I thought I’d be the sole user of Flora, but a friend of mine started using it too. This, it turns out, has also been fun! There’s been some hard problems to solve and some easy problems to solve, but it turns out, helping your friends is pretty fun.
Fun!!!
The moral of this story is that programming is fun for many reasons, and you should try programming things for fun.