I can’t be the only programmer who does this. You’re looking for an online service to fill some need in your life. You look at three or four competing products and they all get close but none of them do everything you want. Or maybe they do tick all the boxes but they cost that little bit more than you’re comfortable paying. After spending a few hours on your search that little voice pops up in your head with that phrase that you really don’t want to hear:
Maybe you should just write your own version. How hard can it be?
A couple of hours later, you have something that vaguely works, you’ve learned more than you thought there was to learn about some obscure corner of life and you’re the proud owner of another new domain.
Please tell me it’s not just me.
So today I’ve been working on my Linktree clone.
Honestly, I can’t remember what it was about Linktree or its existing clones that I didn’t like. I suspect it’s that I just wanted more control over my links page than a hosted service would give me. All I can be sure of is that in September 2022 I made the first commit to a project that, eighteen months later, I’m still maintaining and improving.
To be fair to myself, I didn’t buy a new domain. That means I’m getting better, right? The output is hosted at links.davecross.co.uk. I’m not even paying for hosting as it’s all hosted on GitHub Pages – it’s a static site that has occasional changes, so it’s perfect for GitHub Pages.
But I have spent quite a lot of time working on the code. Probably more than is reasonable for a web site that gets a dozen visits in a good month. Work on it seems to come in waves. I’ll go for months without touching it, and then I’ll spend a week or so working on it pretty much every day. Over the last 24 hours or so, I’ve passed an important milestone. Like all of these little side projects, this one started out as a largely unstructured code dump – as I worked to get it doing something that approximated the original goal. Then I’ll spend some time (months, usually) where fixes and improvements are implemented by hacking on the original horrible code. At some point. I’ll realise that I’m making things too difficult for myself and I’ll rewrite it (largely from scratch) to be better structured and easier to maintain. That’s where I got to today. The original single-file code dump has been rewritten into something that’s far nicer to work on. And as a side benefit, I’ve rewritten it all using Perl’s new, built-in object orientation features – which I’m loving.
Oh, and I guess that’s the upside of having little side projects like this – I get to try out new features like the new OO stuff in a no-pressure environment. And just spending time doing more programming has to make you a better programmer, right? And surely it’s just a matter of time before one of these projects takes off and turns me into a millionaire! I’m not saying for a minute that having pointless side projects is a bad idea. I’m just wondering how many pointless side projects are too many π
So, that’s my guilty secret – I’m a serial writer of code that doesn’t really need to be written. What about you? How many pointless side projects do you have? And how much of your spare time do they use up?
I keep meaning to write something some day about the code that generates my browser homepage from link data in some postgresql tables…
http://obsidianrook.com/spots/mah_moz_ohm.html
You are doing most of us are unable to do — you completing your projects. You get them to the point its a usable product. Me, and many people I know drop ideas once most interesting technical part is implemented π
You’re absolutely not alone and I’m not convinced you’re sick either. Of course, it’s all relative to how much time you have available. Unfortunately, web browsers have not improved default bookmark handling for over a quarter century. Meanwhile sites are bloated, making them harder to archive and there’s no real good, universal archive standard either. Is it any wonder people are having to write their own code for trying to make some sort of sense of the plethora of data dumped into our lives over the last 25+ years?
Meanwhile everyone tries to make their little passion hobby effort available to others … via Docker. *sigh*. I know I’m not the only person who doesn’t want to touch Docker. Although to be fair I don’t fully understand why.
If you use it yourself and enjoy it, it is never pointless. Just the luxury to drive around in a self assembled car is priceless. My current one is: https://github.com/lichtkind/App-Goto-Dir
I used to have pointless side projects in tech, but since I’ve been involved in community theater, most of my pointless side project time has been consumed with that.
I miss having coding pointless side project time.
I wouldn’t say pointless, but I have built simple web apps for running polls to select a date (Pick a Date) and managing bookmarks in one place (Viking Mind). I enjoyed building them and I learnt a few things about a PHP framework which are useful in my commercial work. I don’t spend much time on them as they are intentionally simple and more or less feature-complete – the only thing I do every few weeks is bump any third party dependencies with updates.
I built both apps because I was fed up with the alternatives not respecting privacy or accessibility and taking ages to load (massive amounts of unnecessary JavaScript, HTML and cookies, dozens of requests for a simple poll). I have a few other ideas for similar simple apps.