This blog is a collection of tips, pointers and general thoughts about
Enterprise IT Architecture. It contains discussion of techniques, proof of
concepts, and some more general points. If you are interested in DevOps, API
Management, Microservices, Frontend Development then you should find something
of interest here.
Breadth First Graph Traversal in Clojure (Kiwiland Example)
Saturday, 11 May 2019
In my previous article, I looked at how to create a graph in Clojure, and find the length of various journeys within it. I will now move on to look at how to search the graph, to solve some of the other questions in the Kiwiland Trains Programming Challenge. This will focus primarily on the implementation of a breadth first search.
Building a Graph in Clojure, for the Kiwiland Railway
Tuesday, 9 April 2019
I was recently looking at a programming test, where the challenge is to represent a railway system (called “Kiwiland”) and then deduce various facts about it (for example the distance for a certain route). I wanted to develop this in Clojure, and thought it would be an interesting thing to work through on my blog.
Enabling https with Nginx, Docker, and LetsEncrypt
Thursday, 22 November 2018
As more and more attention is paid to https (for example, with increasing levels of warning from Google Chrome on plain http sites), it becomes more and more important to ensure our websites are protected accordingly. Fortunately, Let’s Encrypt offers a free way to obtain certificates for our websites, and works simply with many standard web servers.
This article shows how we can configure Nginx to use Let’s Encrypt to provide certificates, and demonstrates how to automatically update the certificates when they expire. For flexibility, I have also put all the things in containers.
Using AWS Cognito to Secure an ExpressJS API
Sunday, 8 July 2018
Sunday, 17 June 2018
Introduction to Json Web Tokens
Monday, 4 June 2018
In my previous article, I showed how to create a login page using AWS Cognito. At the end of that article, we landed on our desired web page, but with an access token appended to the URL. This article follows on from that stage, looking at the structure of the URL, and the Json Web Token (JWT) contained within it.
AWS Cognito User Pool
Tuesday, 22 May 2018
AWS Cognito offers the ability to manage a set of users in its user pool capability. I was looking for a way of controlling access to a web site, and Cognito seemed an ideal way of achieving this. This articles shows how to set up a user pool, how to add users to it, and how to display a login screen for your users.
Automated Tweets with AWS Lambda and DynamoDB
Wednesday, 15 November 2017
Another article about Amazon Web Services (AWS), this time creating a Lambda (or Serverless or Function as a Service) which tweets about this very blog at regular intervals, using DynamoDB as its data store. I also use AWS Simple Notification Service (SNS) to trigger an e-mail to let me know the tweet has happened.
A Clojurescript API Server in Docker using ExpressJS
Wednesday, 11 October 2017
A CD Pipeline in Amazon Web Services
Friday, 1 September 2017
In a previous article, I described serving a website from an S3 bucket, with CloudFront allowing us to apply SSL. This article looks at the other side of the process — how we populate the S3 bucket in the first place. I would typically use Jenkins to set up a build and deploy pipeline for this, but here I look at using the build tools AWS provides.