Kajabity.com is my personal blog about software development, AI, and the joy of coding — a place where I share decades of experience, experiments, and a touch of humour.
Hi, I’m Simon and I’m a nerd!
I grew up in an engineering household. My mum ran an engineering drafting business, and my dad was a civil and mechanical engineer who enjoyed dabbling with electronics and, when they came along, had a fascination for computers. When I was around 6, I was given a handful of electrical components, and I remember the excitement when I made my first working radio set with them.
Dad regularly brought home electronics magazines like Practical Electronics, Wireless World (he built an oscilloscope from their schematics), Practical Computing, Computing Today, and occasionally others like BYTE. He also bought me books on binary logic and BASIC programming — specifically Commodore BASIC. I loved them!
I wrote my first program on a scrap of paper aged 10, back in 1975, when the main question people asked about computers was, “What’s it for?” Rather optimistically, I asked for a computer for Christmas — a Commodore PET. I received one… a Portable Egg Timer, a.k.a. a Commodore digital watch. Always the comedian! But I wasn’t too disappointed — I knew it was ridiculously expensive.
So imagine my shock when the following Christmas, a black bin bag I had assumed was junk turned out to be the very thing I’d asked for. I was finally able to type in my first program — and it worked!
I wrote many more but also learned a lot from other people’s code. Back then there was no usable internet — unless you were at a university connected to ARPANET or JANET — so they had to be typed in from the pages of magazines. My mum was a 100-words-a-minute typist so I pestered her to type them in. But software has far too many top-row characters, so she “helpfully” taught me to touch type myself.
It turns out I wasn’t nearly as accurate as her, and I really learned to program by fixing all the bugs my clumsy fingers added to the code. I’m pretty fast myself now… though she still leaves me standing!
I studied Engineering at the University of Aberdeen, specialising in electronics and computing. I helped so many classmates with their coursework that some tried to hand it in to me!
I wrote a few small applications to help my mum’s business (moving up to a Sinclair QL) and, inevitably, my first proper job after university was as a programmer. I’ve been programming ever since — both professionally and for fun. Over the years, I’ve worked with a wide range of programming languages and operating systems, and with an engineering background since childhood, they’ve always just made sense to me.
I found AI fascinating and started to play with some of the algorithms — even managing to pick up a project involving truth maintenance systems (TMS) for one company. At home, I experimented with other AI algorithms, writing a Prolog interpreter, for example. Now, I hope to help developers understand how they work the best way I can — with code!
I’ve been working as a Solution Architect for 20 or more years now, but I still find any excuse to get my hands on the code. I still write code for fun, and I created this blog as an opportunity to share my software and experiences.
“Kajabity”? My youngest daughter suggested it when she spotted me struggling to find a unique name for the website.
Hi,
Thanks for sharing the wikitext plugin. I was looking for this. I would liked to know if you have added the support for tables, hierarchical list which you mentioned in your plugin. If I want to use it in a commercial application what do I have to do?
Thanks
To be honest, I’ve done nothing with it for a year or so – but hope to finish the last few bits some time this year. I am more than happy for you to use it as you wish – including commercially – and it’s my intention that the Apache 2.0 licence should enable you to do so. I hope it is of use to you.
I would like to use your c# properties source code, in http://www.kajabity.com/kajabity-tools/ but you have used Studio 2013. My free MicroSoft Visual C# 2010 express doesn’t like the project file that this produces. I suppose I could make a new project file and work out how it hangs together, but this is a bit of a disincentive to clicking on a .sln or .csproj file and having it work immediately…
Actually, ignore my post. It’s easy enough to use your tools in C# 2010, and your code if full of lovely comments which is a novelty nowadays!