Moohar Archive

A new blog

14th January 2024

I've been procrastinating about this for years. I've got excuses and a pile of false starts but this time it might be different, I hope. I've decided to write a blog.

I have things I want to say, things that might be interesting to others, but mostly things I need to get out of my head so they stop using up space. I've written a few blog posts before, my most successful attempts being a few articles I wrote for dev.to. I was happy with those articles and I may revisit those topics here. However, I want a place to call my own, where the posts can be a mix of journal entries and technical articles and cover non-technical topics. So a blog of my own it is.

Let me start by introducing myself, I'm TC and I'm a nerd. I work with computers and I play with computers. When I'm not computing I'll be building LEGO, or enjoying sci-fi, solving a Rubik's cube, playing D&D, dabbling with electronics, playing board games, drinking a Coca-cola, training at the gym, or thinking about that one time a year I get to go skiing.

Professionally I'm a senior manager and digital workspace architect. What that practically means is I do some consulting and designing. I do a lot of hand waving and attempt to manage a small group of analysts and developers to turn grand ideas into practical IT solutions. Sometimes though, I get to do some actual coding, and that is the bit I love.

I started my career as a systems administrator, all the time aspiring to be a developer, looking for any opportunity to code my way round problems. After several years I switched jobs and spent the next six glorious years as a bonafide application developer, great times. I then accepted a promotion and I've spent the last ten plus years with one foot in application development and one in all the other stuff I am supposed to do.

As I have moved up through the ranks, I get a decreasing amount of time to do the fun coding part. It annoys me that to progress my career I've had to take a managerial path and not a purely technical one. I have to keep reminding myself that I knew what I was accepting, it was my decision, it's a job after all and not a hobby. Yes I'm grumpy, but it really is my own fault.

For me coding is the ultimate puzzle. I enjoy the process, I enjoy the satisfaction of solving a problem. I like the way it opens up my mind, the sense of clarity it brings. I like that brief moment after solving a problem where I understand everything and anything is possible.

I've been chasing that feeling ever since the first time I experienced it decades ago in a maths lesson. We were exploring triangle numbers and asked to develop a formula to calculate the Nth triangle number. I'm sure we were guided towards the answer but I remember arriving at the visual solution quite independently. What previously seemed like random chaos, now had a pattern and order and a neat little formula describing it. Crucially though, I understood it. I experienced a genuine buzz.

That type of maths outside the classroom is way too difficult for me. I did however discover I have a knack for programming. Solving problems with logic and code is my happy place, it makes me laugh like a cartoon villain. Now I'm doing less coding at work, I really should do more of it at home, I should make it my hobby again.

The problem is one of motivation. While I have several coding projects I would like to start (or re-start), there is one idea that is consuming most of my thoughts. It's a huge, complicated and probably stupid idea that I don't really have the skills or time to complete. However every time I sit down to work on something else, it gets in the way.

I can't overstate the level of procrastination. The idea has been running around my head for over a decade now. I've spent entire evenings staring at the wall stuck in a mental loop. I have free time so I should start my project, but I've convinced myself I'll fail so why start. If I try to do something else I feel guilty for not at least trying to work on the project. I don't want to start, but I don't want to do anything else either. Before I know it, the whole evening is gone, it's time for bed and I've done nothing but brood.

It's unhealthy, it's getting worse and I need to break the cycle. Either dismiss the idea and move on or start the damned project.

I can't dismiss the idea because a tiny part of me thinks that it could be the best work I do and I need to find out if I'm up to the task. So I should start. And I should start by explaining what the idea is. For anyone who knows me, it won't be a surprise, I've been "joking" about the idea for years.

I've been using HCL Domino to develop applications since it was called Lotus Notes. Despite its bad reputation I think it's a solid development platform with excellent features, just wrapped in an ugly neglected shell. I don't understand why it has no real competitors, not ones with feature parity anyway. I'm constantly surprised by modern platforms that claim to be its equivalent, missing what makes Domino unique. I'm also frustrated with the direction that HCL seems to be going in with the development of the product, focusing on features that I don't use and ignoring problems that irritate me daily.

It's entirely possible I'm using Domino incorrectly, or simply using the wrong platform. But I can't seem to find one that meets my needs. Which brings me to the idea I can't seem to dismiss. I should build my own. How hard can it be?

Initially this will be the primary topic of this blog, an exportation of how I use Domino and what it would take to build a replacement suited to me. To be clear, this is a learning exercise. I've been thinking about the internals of something like Domino for a long time and I want to see and understand what makes it work. I am a realist, I don't expect to end up with a commercial product at the end, I'm making a toy I can play and experiment with. Ultimately I just want to code and this is the thing I want to code today.

TC.