Photo by Austin Kirk on Unsplash

I’m currently playing around in Elm at the moment but this goes for any language with types.

In Elm you have a Maybe type that is a union of Just (it has a value) and Nothing (the value is missing). In this case I wanted to perform an action with SomeRecord only if everything I needed in my model existed.

I typically use old fashioned metasyntactic naming when I’m sketching out what I’d like to do but I’m not entirely sure where I’m going. …

Man skiing down hill
Man skiing down hill
Photo by mauro paillex on Unsplash

If you like long lists of real world learnings without all the flowery words, this is for you.

I’ve been pottering about with Elm for a few years and Go for just over a year but hadn’t had the chance to play with GitLab. I had the opportunity recently to build out an Elm SPA with a Go backend so I thought I’d give GitLab a crack to learn from their approach and baked in CI/CD.

This post is more or less a chronological list (split into Elm and Go) of all the things I got wrong (largely by skim…

At The Times we’ve been working on moving the “view layer of our clients” to React. Yes, this is happening at thousands of companies around the world but we do appear to be doing things slightly differently.

Many teams are working on the web or maybe on a cross-native solution, but we’re looking at delivering components cross-platform. The ideas and challenges around this will follow in another post but by choosing React/React Native/React Native Web a monorepo solution made a lot of sense.

These are my learnings from the experience of a component lib via a monorepo called Times Components.


This week I’ve mostly been thinking about snapshots.

Working on times-components has provided a unique and fascinating opportunity to build something different across the whole gamut of the software lifecyle. Particularly it makes you focus on the developer experience (DX), how you make cross-platform components and how you test them. AFAIK no one is doing this with this particular approach, and this affords us the ability to do things; wrong, badly and/or make a multitude of mistakes. One area we have particularly excelled in, is generating a lot of questionable Jest snapshots.

Snapping at React

Let’s take a step back and look at…

You’ll find many posts on what it is and how to Flutter, perhaps a critique of using Dart or Flutter from a certain perspective. I recommend reading them first if you want a better idea of what it is, or how to code in it.

This post is on my experience building a bit more than a todo app, from what I really enjoyed to what I didn’t like so much. Also there may be many comparisons to React Native (RN) for obvious reasons and is from more of a JavaScript (JS) world view. …

tl;dr if you’re thinking of using a “free website builder”, don’t. Pay someone to build you a good static site.

If you know someone who’s think of using one, tell them, no, and offer to build it for them if you can, or suggest someone.

If you’re a JS developer and your first thought is what framework shall I use…consider a static site, I recommend Hugo #savetheweb


When my housemate (for convenience they shall be H from now on) told me about the his new gym site, and I loaded it up on my iPhone 6 on wifi, I was…

Craig Bilner

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store