Dave James Miller

Software Developer. Computer Geek. INTJ.

I’ve decided to start using WordPress again, so I’ve resurrected this old blog and upgraded it. I’ll be importing & back-dating some recent posts/photos soon.

Malcolm & Diana’s Wedding

Photos Website

This is a website I built to showcase my photos.

Bentley Drivers Club Race Meeting at Silverstone

Setting up Gitea

This is how I set up my Gitea instance on my Ubuntu server…

All posts by date in TiddlyWiki

Create a tiddler with the following content to list posts by date and time in a table (latest first)…

Back-dating Journal entries in TiddlyWiki

AKA How to override the “created” date/time.

Website Not Found

This was a holding page I put up for a while after getting bored of my old website.

Reload AutoHotkey with a keyboard shortcut

This is part of my AutoHotkey script to allow me to quickly reload the script after making changes.

Project Ideas App

This is an application I built to keep track of all my project ideas. It is built in Laravel and Vue.js.

Laravel Breadcrumbs Fork


Sheng Slogar of Diglactic has volunteered to take forward the Laravel Breadcrumbs project.

Azure Portal – First Thoughts

Today I am starting to explore Microsoft Azure, starting with the Azure Portal (equivalent of the AWS Console)…

Laravel Route Browser

A web-based route list GUI for Laravel.

Coloured Tags in Nirvana (GTD App)

Gives tags in Nirvana a solid background colour instead of a small coloured dot that is difficult to see.

Arduino randomly fading multi-colour LED

This is based on lessons 3 (LED), 4 (RGB LED) and 5 (Buttons) of the Elegoo UNO Project Super Starter Kit. I set up a multi-colour LED to fade through various colours, and a button to toggle it on or…

Arduino Hello World in Morse Code

This is only marginally more advanced than the blinking light example in my first Arduino post, but perhaps a little more interesting! Again it uses the built-in LED, so no connections are required.

Setting up CLion to work with Arduino

I already did a couple of tutorials using the Arduino IDE, but I’m used using PhpStorm and missed the interface and key bindings. So I decided to upgrade to the JetBrains All Products Pack (since I also want to learn…

Setting up a Quake III Arena private server

Server setup Set up a Linux server. I used a DigitalOcean Standard $5/mo (1GB, 1CPU) droplet with Ubuntu 18.04. A desktop machine would be fine too – even the same one you’re playing on – as long as all players…

Forwarding incoming HTTP/HTTPS connections by hostname with HAProxy

This is how I set up HAProxy to forward HTTP/HTTPS connections to our single office IP address to several backend servers based on hostname.

Fix bold titles & tags in new WorkFlowy

Fix bold styles in the new (Aug 2018) version of WorkFlowy. Titles aren’t forced to be bold #tags aren’t forced to be non-bold

Don’t grey out tags in WorkFlowy

This is a user style to make #Tags and @Tags be the same colour as the other text in WorkFlowy instead of greyed out.

Continuous Deployment Server


This is a minimal CI/CD server I wrote in PHP for automatically deploying my blog when I make changes through the GitHub / Gitea web interface.

Gist-Themed Blog

This was a very simple blog designed primarily for sharing code snippets and “how to” posts. The CSS styles were loosely based on Gist.

Using Blade Outside Laravel

Using Jens Segers’ Blade package to render Blade templates in a standalone PHP application.

Provisioning a Windows 2016 VM on Azure with Terraform

A script that creates a Standard_D2_v3 VM (2 vCPU, 8 GiB RAM, 50GB SSD temporary storage, supports nested virtualisation) in the North Europe (Ireland) region.

Using Docker Toolbox on Cygwin

Notes: Docker For Windows is newer and officially recommended over Docker Toolbox, but it doesn’t run on Windows Home edition (only Pro) because it requires Hyper-V. The following instructions may or may not apply to Docker For Windows (I haven’t…


This was a web-based GUI I started creating for Laravel as an alternative to Artisan (the built-in CLI).

AWS Route 53 white label nameserver setup

How to set up your own nameservers – ns1.yourdomain.com, etc.

Creating AWS EC2 instances with the AWS CLI

aws ec2 run-instances …

AWS IAM setup

aws iam create-account-alias –account-alias davejamesmiller…

AWS CLI setup

sudo pip install awscli…

Loading variables from .env files in Ansible

Ansible has various ways of looking up data from outside sources, including plain text password files, CSV files and INI files. But it doesn’t seem to have a lookup for .env files, as used in Laravel projects, also available for…

“It isn’t your fault, but it is your problem”


Laravel Breadcrumbs Redux

I’ve decided to start working on Laravel Breadcrumbs again…

Laravel’s Dependency Injection Container in Depth

Laravel has a powerful Inversion of Control (IoC) / Dependency Injection (DI) Container. Unfortunately the official documentation doesn’t cover all of the available functionality, so I decided to experiment with it and document it for myself.

Shooting the messenger app


"Before legislators rush in, they also need to think about unintended consequences. If internet firms are threatened with fines, they may simply remove all flagged content, just in case. Reg…

Cadbury World

Funding hapi.js maintenance


Eran Hammer, author of open source framework hapi.js, posted on Twitter about the troubles of finding funding to pay for the ongoing maintenance. It was split across several tweets - I have r…

Windows 10 Creators Update notes

Today I installed Windows 10 Creators Update on my laptop (ASUS ROG). It wasn’t as straightforward as I would have liked… I decided to keep notes, in case the same thing happens on any other computers or at the next Windows…

Play Lode Runner online


I remember playing this on the Atari as a child...

The WordPress Template Hierarchy


Visual guide to the WordPress template hierarchy.

Can we have some pizza?

Downloading old websites from Archive.org

With Wayback Machine Downloader.


The IKEA Effect


"The act of creating a thing with ones own hands increases the perceived value to the creator." "To hit the sweet spot we need to aim at creating a product where the level of effort is low …

Peer review scheduler in Prolog

Continuing my exploration of Prolog, I decided to write a program to generate a schedule for peer reviews.

Getting started with SWI-Prolog

Today I decided to learn a bit about Prolog. Here is how to start using it…

Docker Reference

This week I have been learning about Docker… Here is what I’ve learned so far.

Hot air balloon over work

Firebase Costs Increased by 7,000%


Some interesting comments about lack of support from Google. Seems to be a recurring theme in Google products. Something to consider when choosing a cloud hosting provider... They have no…

© 2021 Dave James Miller — Powered by WordPress

Theme by Anders NorenUp ↑