Using HTTPS certificates with Traefik and Docker for a development environment

Traefik is a great “cloud” router that is perfect for use in a development environment to route traffic to different Docker hosts, but when I came to try and add some self-signed certificates to it so that my development environment more realistically mirrored the staging and production environments I ran into some problems and the Traefik documentation, whilst good, unfortunately, is a little vague around the subject of certificates in a general, so it took some Googling and putting various different things together to come up with a final solution that works well.

Read More

Insulin Therapy with Loop

Disclaimer: I am not a medical professional and everything in this article is based on personal experience and is for informational purposes only.

Introduction

My son, Jamie (aged 9), is a type 1 diabetic. He was diagnosed 3 years ago, just before his sixth birthday, and ever since then, we’ve been learning everything we can about it, the treatments and the technology that can help. The standard therapy for Type 1 Diabetes (T1D) is multiple daily injections (MDI), where the patient takes two different types of insulin, long-lasting insulin taken once a day and fast-acting insulin taken with meals, so for most patients, this means at least four injections per day.

Read More

Looping over dates in CFML

A question came up on the CFML Slack a couple of days ago where someone was asking about looping over a date range, e.g. from 1st August 2018 to today. He suggested he was going to “do it the old fashioned way using DateDiffs and DateAdds” so he could do it with “regular numbers”. In CFML, however, looping over dates is possible, like this:

Read More

Functions without parameters in CFML

I’ve been programming in the ColdFusion Markup Language (CFML) since 2000 and every now and again I find out something which I didn’t know, which always surprises me. Yesterday, while working on something I accidentally found out that in CFML you can pass parameters to a function without those parameters actually being defined in the parameter list of the function.

Read More