Skip to content

2024

HTTPS

Glance at the URL bar at the top of this post, notice that there is a little padlock 🔒 next to the address. Next, click on the bar to bring up the address of the post and notice how the address starts with the letters: “https”.

By now, most people know that this means that the connection between your computer and the website is secure. It’s especially noticeable when a connection is not secure and a warning in your browser appears – see for examples check out this and this webpage.

In this post, I go over what this secure connection, known as https, is and how it works! Brew a cup of coffee and strap in for the most widely used cryptography ever devised...


SOLID Design Principles

I recently embarked on a painful software refactor. Just a few months ago, when we began building our application at ChaseLabs, our codebase was clean and efficient. Every function was documented, and data flowed elegantly through our system.

But working in a nascent start-up has its own demands. The need to rapidly demonstrate a proof-of-concept and outperform competitors led to some quick and dirty solutions. A hack here, an anti-pattern there, and soon codebase started to degrade. It became rigid and fragile. Minor changes triggered a cascade of subsequent changes, causing our application to break often. Design preserving methods became harder to write than hacks, and with that our codebase was well and truly rotting.

I decided I was going to do this refactor properly and re-read Mariano Anaya’s Clean Code in Python for some inspiration. It was there in Chapter 4 that I discovered the SOLID Principles.


MIME

Strap in, this might just be the most thrilling blog post ever written, because today I am writing about internet standards.

Multipurpose Internet Mail Extensions (MIME) is an internet standard specified in a series of Request for Comments (RFC) written by the Internet Engineering Task Force. It was proposed by Nathaniel Borenstein in 1991, to allow people to send and receive emails that contained images, videos, documents and non-ASCII characters – šüçħ åş ťħęßē fâňčÿ ċħàřáćțęřş. It also allows people to transport different data representations in a single message – such as plain text and HTML – and does not impose restrictions on the length of the message.

Although, MIME was designed mainly for the Simple Mail Transfer Protocol (SMTP), it is important in other communication protocols. For example, in HTTP, a MIME header is inserted at the beginning of any web transmission. The purpose of MIME is to ensure interoperability across different email clients and systems (such as Gmail, Yahoo, Outlook, etc.). In fact, if you view the raw source of an email, you’re guaranteed see many of MIME header fields described in this post.


How To Hire Great Software Engineers

In a recent post about leadership, I emphasised that the goal leadership is to build and maintain effective teams. Your employees are your most valuable resource, and your success ultimately depends on theirs. It's crucial to provide them with the necessary tools, a comfortable work environment, quality mentors, and a clear, compelling vision that highlights the importance of their efforts. However, their ability to achieve both current and future goals also depends on their talent and skills.

I recently lead on the recruitment efforts at ChaseLabs and wanted to write this post to share some of my experiences and learnings from this undertaking. A lot of the ideas in this post are taking from McCuller’s (2012) book How to Recruit and Hire Great Software Engineers: Building a Crack Development Team. Rather than re-hash the structure of this book, I have written out five lessons to help guide your decision making.


What We Know About Leadership

What frustrates me about business books is that they tend to make generalisations based on anecdotal evidence or observations. Their claims often boil down to the logic of: “Here is what I think is correct. This rich and successful person did it, and so to be rich and successful you should too”.

These books start with an agenda, then cherry-pick evidence in support of it. When really it should be the other way around: evidence first.

In the spirit of an evidence first approach, Hogan & Kaiser (2005) published a paper titled What We Know About Leadership. In their paper they reviewed the scientific literature on leadership to make an empirically grounded claims about the consequences of leadership and offer a straightforward summary of the characteristics of good and bad leaders.

I really like this paper, and despite its age, I believe that the claims about leadership hold water today. So, I am writing this post to summarise the main points of their article, providing readers – and perhaps more so myself – a condensed version that can be read in just five minutes.