Use simple .txt files for organising tasks

I am so sick and tried of changing task management systems, I will just be using plain .txt files from now on. In the last 10 years, I have tried so many different systems for organising my work and my personal life and yet I’ve not been able to keep using one of them after a few weeks or months. After all this time I think I’ve finally come to the realisation that they all suffer from the same inadequacies.

Continue reading...

Live reload Go with air

It can be a real effort to bring yourself to write articles to maintain a healthy blog, and sometimes the simple articles are best. Therefore, I just want to take a quick few moments to talk about a tool that I just cannot live without now-a-days, when writing Go code, I am always live-reloading with Air in the background. It’s really valuable for developers to be able to get fast feedback on the code that they are writing.

Continue reading...

Bridging fault domains

A fault domain (or failure domain) is essentially a set of resources, or components that share a common point of failure. One example of this is an Azure Availability Zone, or your own single Data Center. Typical points of failure for a fault domain are power (with no backup generator), or cooling, or a datacenter is served by a single network connection. The term “fault domain” could theoretically be applied to smaller areas of an application architecture, like a single network, or a rack of servers, but this article considers a fault domain more from a cloud architecture definition.

Continue reading...

Freedom from Google Photos: taking 18 years and 80gb out of the cloud

Google Photos, the free, easy to use, on-for-many-android-users service has been the single Photo backup strategy for many of those who have used it, since it was released in 2015. I, for one, was amazed to discover that I have uploaded photos dating as far back as 2005, totalling over 80Gb. Initially, Google photos seemed like that ultimate, hassle-free, cloud backup service that would never be replaced…. However, as time went on, I found myself growing increasingly concern about cloud services that “own” my personal data.

Continue reading...

GitHub may replace DockerHub

It’s been interesting to witness the meteoric rise of “Docker” over the years, and it is undoubted that the technology that was pioneered and popularized by Docker (more correctly called “Linux Containers”), is here to stay for the long run. The rise of the technology was partially due to the ease of publishing containers, enabled by free DockerHub service. However, in this article, I propose that DockerHub as a single repository of container images is becoming less and less important than it once was, and in it’s place, GitHub is a strong contender to take over as the 1 repository for containers — as it has its sights on being everything a developer needs.

Continue reading...

Use Firefox as a universal web chat app

Chat that is always compatible, updated, and integrates with browser extensions. Too many chat apps — can’t change that. The amount of chat applications and protocols out there now-a-days is getting absolutely crazy. It’s like in the 1990s, when we had ICQ, AIM, IRC, and others. For a little while, I felt like things were getting better — I got down to just 2 chat apps!… Fast-forward to today — the chat apps I need are unfortunately even more than in the 90s.

Continue reading...

How to properly archive a project

The TURTLES model. How many times have you seen projects abandoned on GitHub, or internal Wikis, with no explanation, no “next steps”, no follow-up or notes? How many hundreds of hours were lost to that project, and what was learned? This article proposes a model (“TURTLES”), or more simply, a checklist, of how to properly archive a project. Is now the right time to archive this project? T — Technologists: Do enough people contribute to maintaining this project?

Continue reading...

Use a httputil reverse proxy to host grpc, rest and HTML on a single port

This helps you use Go to power the next generation of APIs+PWAs. Prerequisites; This article assumes you know what protobuf and gRPC are, and have set up the grpc-gateway for REST already for your app. The context gRPC has become the default standard for modern Cloud Native RPC in Go. And gRPC is fine for backend service-to-service communication that can speak gRPC. To support older services, and the web, REST still reigns supreme.

Continue reading...

Read the source, Luke

Reading the source code is a pathway to many abilities that some consider… unnatural. Luke’s original strategy was to attack the death star via SQL injection, but in the end he went for an X-Wing based buffer overflow. I want to encourage you to actually read through the open source code for the software that you’re using. Doing so has many potential benefits, and skills like this can give you a real edge and advantage in your team.

Continue reading...

About James Read

Picture of James Read James is a "full stack" Open Source enthusiast, who enjoys creating no-nonsense open source software.

Dad, hobbyist developer, open-source enthusiast and Red Hatter.