Using AWS SSM for Shell Access on EC2 Without Internet Access

I’ve recently been working on a personal project that uses a Postgres relational database for persistence. I’m running the project on AWS and using EC2 instead of RDS to keep costs down. I need shell access to the instance for inspecting configuration, but it’s attached to a private subnet and has no public IP.

Building a Chess AI, Part 1 – Game State

I’ve been saying for years that when I get a bit of spare time I’d like to build a chess AI, or chess engine as it is more commonly known. So a few months ago I set out to do just that and this post is an overview of the project’s first major milestone: modelling game state.

Puzzle Programming with Python

For the last few years I’ve been taking part in the Advent of Code programming contest. It’s been a great way to improve my problem-solving skills and can really aid in getting to grips with new languages. In 2022 I chose to solve the puzzles with Python, and having enjoyed using the language so much I decided to write about some of the features that I think make it great for this type of programming.

Value Objects as Map Keys in TypeScript

In a previous post I wrote about how JavaScript’s lack of support for value objects caused a problem when using the built-in Set class, and how it could be solved by using the idea of a Compound Set instead. In this post I’m going to describe a similar solution I’ve been using for the built-in Map class.

Handling Redirects with CloudFront Functions

Over the years we’ve seen countless methods for handling redirects in web applications. From the Apache rewrite rule to AWS ALBs, Lambda@Edge, and even with S3 object metadata. In this post I’m going to share yet another method that we’ve recently started using at MyBuilder: CloudFront Functions.

Queueing with TypeScript

I’ve recently spent more time than I’d like to admit solving programming puzzles, and the queue data structure seems to be a reoccurring theme. JavaScript doesn’t have a built-in implementation, so I find myself copy/pasting the same few lines of code everywhere. I’ve decided it’s time to put that snippet somewhere more accessible.

Solving Sudoku with C++, WASM and React

In a previous post I talked about rebuilding some old C++ projects with WebAssembly and running them in a web browser. One such project was a Sudoku solver, and I want to share some recent progress in this post.

Running C++ in a Web Browser with WASM

I recently started looking into compiling and running C++ for the web as a way to give some old projects a much-needed makeover. In this post we’ll look at some basic examples of compiling C++ and running it in a web browser.