Reducing Deployment Time Ideally deploying to prod takes 5 minutes and is just a few steps. There is high observability, useful alerts, no manual QA, master commits deploy straight to prod and it's easy to rollback. But at so many companies it is a whole lot longer
The "Microservices" Buzzword "Microservices" is a bit of a buzzword - is it just a service that is micro/small? Should it always be used? The answer to both of these questions is no. History of MicroservicesThe buzzword seems to have existed since the early 2000s, but
Estimating Work Estimating work is so crucial but is well recognised as being a bit of black magic. It's used to plan out work, ensure success and keep everyone on the same page. This post aims to break down that black magic, and bring to light
The Role of "Batman": Triaging Ad-Hoc Work Working in an agile teams, it's common to have to triage ad-hoc work, general questions and also bugs, while having regular sprint work too. In fact some workplaces might have a dedicated person on a roster to do this, to "shield" the team from
Code Review Checklist There are a lot of resources out there that are checklists for reviewing your own code, before sending it for review, such as this one. Here is another! It is split in to sections. As a priority though, before getting code free of tech
What Does "Senior" Mean in a Title? The word "senior" in a title can be a bit fluffy. Ask one person, and it differs from company to company. Ask another, and they will say it will be offered freely if the company is in a pinch. Ask another, and maybe they
How Voice Control Works The PartsVoice control is made up of a number parts, for example: a microphone senses soundthe speech recognition engine is used to transform the sound into something. Examples of speech recognition engines include the windows one, and ones called dragon and conformer.an API
How Eye Tracking Works It might seem like eye tracking is bit magical, but it's really just hardware and algorithms. The humble computer mouse is actually quite similar, in that it's also just hardware and algorithms, but we probably don't associate as much magic with it because it's
Voice Control and Eye Tracking First Impressions In my previous post I talked about ergonomics and hands. In this post I'll focus on actually not using hands at all! There's a lot of content online such as this video and this podcast which demonstrate things like this. Those links actually inspired
Data Structures - Dictionaries Dictionaries, as with so many things on this blog, are most easily understood via a series of definitions! Though in simple colloquial terms, you would think that a dictionary is like an index, at the back of a book, that tells you what page
Data Structures - Trees This post will focus on defining things and explaining how trees are applied for databases. The difference in these two definitions is interesting, with a tree (data structure) being: In computer science, a tree is a widely used abstract data type that simulates a
Data Structures Other than optimising code at a really detailed level, why would it be useful to understand data structures? At the very least, I think that learning about them is useful to: understand the implementations of things like dictionaries "under the hood" of various programming
C# Value and Reference Types It is always good to recap on "basics" - so this post is about C# value and reference types. To understand these, there are a few other things to know before that. Stack and HeapThe stack and the heap are the two places the
Algorithm Time Complexity: Worst-case, Average and Amortized Most people look up algorithm time and memory complexity, and find something like O(n) or O(nlog(n)). But what does this actually mean? There are actually quite a few finer points at play. Let's look at some definitions in this blog post
WFH and Ergonomics With 2020 having so many people working from home, a post about ergonomics makes sense. One specifically about computer use, for the keyboard and mouse! This post is about that. Disclaimer: this post is interesting information that has been collected from various sources, with
Why set up SSL This other post covers how to set up SSL for free with Let's Encrypt - and here I wanted to explain why it should be set up - even for say an innocent static html site, and simply define some terms. Why use HTTPS?
So SSL is Set Up? But Did you Remember the www Domains? So I had set up SSL for one domain, the non-www domain. Then I noticed that the www domains did not work, but only on the second and subsequent visits. This blog post explains this behaviour - and I did then get an SSL
How to Set up SSL for free with Let's Encrypt This blog is a ghost blog hosted on this Digital Ocean droplet. To set up SSL, we just need to run one magical command as there's things already built in to ghost that will do the work for us: ghost setup sslBut to get
static site generator Jekyll, GitHub pages and the JAMStack I have another blog at memoriesandrecipes.com and have always wanted to write up how it is put together behind the scenes. The end user viewing the blog is served static html and some other resources. The blogger checked in some markdown, pictures and