Some Rules of Thumb for Complex Solutions and its' Management - Ideal Cone of Software

Over my relatively short tenure as a software engineer so far, I’ve had a few thoughts on how to deal with “efficiency” and “maintainability” across multiple facets within my teams’ estate. It’s lead to a useful4 rule-of-thumb1 when trying to design/make decisions about systems in a way that balances efficiency and maintainability.

Inversion of Control, by any other name...

We often hear (at every bloody interview) about the SOLID Principles. It’s regarded by some as the major driving force of good software. But why do so many engineers get (at the very least) 1/5 of the principles wrong at a fairly consistent rate?

Thoughts On - Hyper-modular UX Layers - Utilizing Web Components

WARNING: Work in Progress

ABC’s - Deploying Front Ends (featuring EC2)

With Cloud infrastructure becoming ultra-available, deploying apps have become super easy and as such the deployment/devops space (in my opinion) is going to get pretty interesting in the next few years (since I believe that trivializing the basics makes a breeding ground for creativity). I wanted to document how I’ve been deploying my side projects (very basic apps, prototypes and POCs) for posterity.

Novel Techniques - Curriculum Learning

In Neural Network Optimization, most academics have moved on to more novel methods such as Deep Neural Nets and Cascading Networks. However, some techniques can be used to optimise more basic Simple Neural Networks that fall in line with Occam’s Razor. One of them is Curriculum Learning.

Starting from Scratch - Fluent Validation

In an attempt to further understand how fluent validation works in javascript, I tried to recreate an extremely basic chain-able system from scratch.