James Quigley's Blog

Written by James Quigley, a DevOps Engineer, full-stack dev, and general tech nerd. Follow him on Twitter!

Shamir's Secret Sharing

May 15, 2020

Like a concept out a spy movie, Shamir's Secret Sharing algorithm is used to recreate a secret from a combination of parts derived from it.

Node 14 New JavaScript Feature Spotlight

April 27, 2020

Nullish Coalescing and Optional Chaining were added into Node 14. What do these features do and how do you use them?

Frustrations without static types

April 13, 2020

A trivial example of some of my frustrations with a non statically typed language.

Environment Variables

April 03, 2020

I was inspired to write the post by an acquaintance who is new to the software industry. They couldn't find any good resources on environment variables that covered everything in one place. Hopefully this post can become a kind of one stop shop for an introduction into environment variables.

Merging and Overriding IAM Policies in Terraform

March 30, 2020

When creating IAM policies in AWS, it can be really easy to give too many permissions or repeat yourself a lot. When using Terraform, you can get the best of both worlds by merging policy documents to avoid repeating yourself while still limiting the permissions you grant.

Rotating Docker Logs — Keeping your overlay folder small

August 14, 2018

TL;DR Learn from my mistakes. If you are using the default json-file driver, configure and options to have Docker automatically rotate and…

MongoDB Atlas Is Awesome

August 28, 2017

Automatic setup for replica sets and role based access control

Specifying npm Version in Dockerfile

August 21, 2017

TL;DR Details Each Node.js version ships with npm. Currently the LTS Node version (v6.11.2) ships with npm v3.10.10. But what if you want to…

Everything You Wanted To Know About package-lock.json But Were Too Afraid To Ask

August 11, 2017

Introduction So you’ve updated Node Package Manager (npm) to v5.x.x, and everything seems to be going fine. But wait, what’s this? A new…