Reflections on AI progress (1995-2023)

25 Dec, 2023 - 6 minutes
Back in 1994, during my M.Sc. in Computer Science, my research topic for my thesis was exam timetabling. Initially, I explored various heuristic algorithms to address the graph colouring problem. However, as you add more complex constraints for optimisation, it became evident that traditional heuristics weren’t quite cutting it. This led me to a shift towards genetic algorithms. At that time, they stood out as the superior strategy for tackling such multifaceted optimization challenges, offering a more dynamic and effective solution.

Are compiled languages making a comeback?

1 May, 2021 - 6 minutes
I started my career as a C++ developer. At the time, it was more or less considered the ‘default’ choice for software development. PERL was the new kid on the block for web application development. Python was just a scripting language pretending to be object-orientated and with a quirky way to delimit code blocks using indentation. JavaScript was brand spanking new, uncool, but the idea of running code in a browser was at least somewhat interesting.

Technical debt considered useful revisited

24 Apr, 2021 - 5 minutes
In 2013 I wrote a blog post titled “Technical debt considered useful” in response to what I saw as an increasing trend by colleagues working in agile teams to see tech debt as a strictly “bad thing”. More recently, the DevOps movement (which is entirely positive for the software industry at large) has prompted some to adopt the idea that tech debt must be avoided at all costs. A post titled “Technical Debt - The Anti-DevOps Culture” inspired me to return to this topic - after all, a lot can change in 7 years.