matthewtyler.io

Matthew Tyler

I've recently started to learn the internals of Kubernetes. I've settled on building an operator ; which is essentially a means of extending functionality in a Kubernetes cluster by implementing a Kubernetes controller with storage backed by Custom Resource Definitions. This touches on a lot of concepts that are reused in multiple areas in the Kubernetes code base, and requires covering a large surface area of the Kubernetes golang client. It's a great way to slowly unravel the Kubernetes code…

Kubernetes is popularly known as a way to manage container workloads across a cluster of machines. To the administrator, this is mostly done by invoking commands using the excellent 'kubectl' tool - typically defining collections of containers, services and other resources in declarative yaml files. I am an unabashed fan of this style of declarative resource management for several reasons. From an end-user perspective, it is easy to reason about why should be running at any one time - it's all…

I had the arduous/priviledged task of repurposing an ARM-based device over the last couple of weeks. On the negative side, I made a few silly mistakes that would've been obvious to someone more seasoned. On the other hand, I learnt a lot about various tools that can help with debugging that in many cases cross over to general x86 work. The idea itself was simple enough; to interface to another device over serial; I'll call this the recbox for brevity. I would send commands to the recbox which…

Long ago, in a time when you had nothing but mechanical systems, condition monitoring was much simpler. You had the benefit of being able to physically inspect such a a system for wear and tear to work out whether the particular component was degraded. Unfortunately, we aren't afforded this luxury with many electronic systems (though if you can sense defects by looking at silicon I think you are probably going to be very rich). As we move to using more and more electronic condition monitoring…

There are probably few C/C++ programmers that haven't heard of Doxygen. It would have to be the most well known documentation generator for those two languages. For me, my first experience with documentation systems was Java's humble javadoc. Whilst I've written a fair amount of C/C++ code (and document'd it), and hadn't really bothered to learn too much of the underlying documentation system. Recently I was documenting some code I had written and wanted to add a seperate tab to show some…