Posted by Edd Mann on Aug 16, 2018

Mince Pie Challenge: Adding and Listing Mince Pies with Amazon DynamoDB

In the previous post we began to implement the API endpoints, starting off with creating the bootstrap response. We did this in a manor that catered for both online and offline development access. In this post we will incorporate the ability to add and list mince pies, persisting the state within Amazon DynamoDB. Following this, we will enrich our offline development process by setting up a Amazon DynamoDB Local instance using Docker.

Posted by Edd Mann on Aug 03, 2018

Setting up Caddy Server within AWS using Packer and Terraform

With the recent update to Google Chrome helping shape a more secure Web by marking all HTTP sites as “not secure”, I thought it was time that I make the necessary changes to how we host audio files for the Three Devs and a Maybe podcast. In this post I would like to discuss setting up Caddy Server (which provides HTTPS out of the box!) as a static-hosting platform on AWS - provisioning the instance with Packer and the surrounding infrastructure using Terraform.

Posted by Edd Mann on Jul 27, 2018

Mince Pie Challenge: Adding the Bootstrap Endpoint and Serverless Offline

Up until now, we have spent our time setting up the API project to provide a confident testing pipeline (with types) and Amazon Cognito authentication. We will now move on to implementing the first real API endpoint, that being the Bootstrap response. Along the way we will configure Serverless Offline, allowing us to locally interact with the API, without having to provision any online resources.

Posted by Edd Mann on Jul 20, 2018

Building a Babel Plugin: Adding a Function Composition Operator and Auto-Curried Functions to JavaScript

In a recent Software Engineering Daily podcast Henry Zhu discussed the Babel project, and shed some light into how the transpiler works under-the-hood. He touched upon how Plugins can be created to alter the resulting compiled code. I was very interested in experimenting with this capability. In this post I wish to highlight the process in which Babel transforms your code, developing several interesting plugins along the way.