Technical and Programming
HTTP Status Codes
Here's a cheat sheet I use to translate the official RFC HTTP code descriptions to something more understandable. It's a little sweary, but all the good things in IT are.
What Can Software Development Learn From Formula One
Surely there isn’t anything in common between software development and Formula 1 car racing.
The Importance of Build Artifacts
Without build artifacts, many deployment processes are forced to rely on 3rd party services. What happens when these are experiencing an outage?
MSA, TBD, DDD, TDD, BDD, WTF?
An introduction to microservice architecture, trunk based development, domain driven design, test driven development and behaviour driven development.
To reduce the chance of a human error affecting the a production site (especially in a team environment) it is good practice to implement a CI/CD pipeline. This post covers the implementation of a CI/CD pipeline for the AlphaGeek site. In future I will provide a more generic post about CI/CD pipelines.
When developing any dynamic functionality it is best practice to implement testing. This will ensure anytime the code is deployed it is in a working state and will provide a good user experience to the visitors/users of your service.
After implementing an AWS CloudFront distribution for serving content from AWS S3 it is best practice to prevent direct access to the S3 bucket. This will prevent duplicate content issues on search engines and will also mean your content can only be accessed by the domains you expect.
A number of months ago I was involved in the migration of a message sending system to utilise SMPP for SMS sending. During this process I sent several pull requests through to a GitHub repository, but it appears the repository has been abandoned. This post will cover the process of forking this repository, merging the Pull Requests and submitting it to Packagist.
It's very common to have some sort of test/SIT/UAT environment(s). Often this site should't be made public. When using AWS there are a number of strategies to secure the test environment(s) from limiting access by IP address (this works well if you have a static IP and/or can VPN to a fixed IP address), only permit access via a VPN connection (which can be useful in a corporate environment), or set-up the web browser and AWS WAF (works for Chrome and FireFox in a small business environment).
This post was initially going to be the first post on this blog, but during writing it became apparent that it was necessary to describe the development environment first. This post will describe the process used to create the blog and publish it to AWS. Each step will describe the process for an Apple Mac, but links will be included to enable the process to be completed on any common operating system.
This site and a number of side projects are developed on Apple Mac hardware. This post covers the hardware and software used.