Database Indexes

One of the most important concepts in database design is Indexes. But don’t I mean Indicies? No. Indexes. That’s how I roll. Fundamentally, Indexes are like pointers to locations. To make things findable fast, in any situation, it helps to be able to point to the exact location you need to go to get whare […]


Why is MySQL with JSON Support “Fucking Tight”?

Earlier this month, I wrote about MySQL with JSON support being “fucking tight”. This might be the first time I can recall quoting myself, but fair warning… I kind of like it. Allow me to elaborate. When you process form data through HTTP’s POST protocol for example, to get it into a MySQL database previously, […]


MySQL w/ JSON Support

Man… MySQL with JSON Support is fucking tight! Pull out the keys and save the rest as JSON. It’s that simple.


First Principles

First to give you some context, I only became aware of the phrase “First Principles” recently. I don’t quite know everything there is about it, but I have started to look at this from a software development perspective in the work I create and I can tell you how I am applying what I know […]


Bad Defaults

It happens to the best of us. In development, everything has to land somewhere. There has to be default behavior where a user experience can be optimized. One example of default behavior is Google search results. The result is that you get the exact pages you want on the first page of Google’s results. I […]


Tesla Next Batch Algorithm

//If you are reading this, I suggest you skip it. You have been warned. At some point, Tesla will face the decision: [which car to make next?] Hardware specifics that exist tangibly including paint colour, # motors, performance, battery size, r/l hand drive etc. need to be built in batches. Tesla will want to minimize […]


Minimising Points of Failure

When it is right, it is right. Code behaves as intended when implemented correctly. One of the best courses to get closest to right as fast as possible is to minimise the points of failure. By focusing on reducing the number of things that can go wrong, you will inherently reduce how much testing is […]