Information


Blog Posts


Collections



Contact


Things Ian Says

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.

A CD Pipeline in Amazon Web Services

Building a Stopwatch using only HTML and CSS

Secure hosting using SSL and AWS CloudFront

Using Traefik Proxy with Docker Compose and LetsEncrypt

Reducing Docker Image Size

Letter to my Younger Self

Dear Ian,

You are sitting there uncertain about your future direction, trying to decide what your next step should be. You have doubts about what you should be doing and whether you are able to do it. Just remember that there is no single path to follow, you will have a variety of different jobs through your career and things will usually work out okay.

To help you as you go, here is some advice I (and therefore you) have picked up along the way …

Cross Framework Messaging

With the proliferation of Javascript frameworks, I found myself in the situation where I needed two different UI elements — built with two different Javascript frameworks — to communicate with each other.

Rather than choosing to migrate one onto a different framework, I looked at a way of allowing them to send messages to each other using the Mediator Design Pattern.

Using this pattern, I have an example of an Angular app, a React app, and a plain Javascript app communicating.

Very Light Javascript

I recently needed to put together a quick proof of concept for a small project and decided to use this as an opportunity to try out a lighter than light approach to Javascript I’d been thinking of for a while.

Whilst frameworks like Bootstrap are already quite light, I wanted to see if I could remove even more. With all the Angular 2 kerfuffle, I wanted to look for another framework which I can use instead. I also wanted to drop gulp and just try using npm instead.

Memoization

Functional Example