This bit me in the rear end again today. Had to reinstall mysql-server-5.7 for other reasons.

You just installed mysql-server locally for your development environment on a recent version of Ubuntu (I have 17.10 artful installed). You did it with a blank password for root user. You type mysql -u root and you see Access denied for user 'root'@'localhost'.


Continue Reading ...

Well, it is a new year and I’ve started a new job. I am now a Senior Software Engineer at True Link Financial.

true link financial logo

After interviewing with the co-founders Kai and Claire and their team, I knew I wanted to work here.

TL;DR: True Link: We give elderly and disable (really, anyone) back their financial freedom where they may not usually have it.

Longer Version: Imagine you have an elderly family member who may start showing signs of dimensia. You can give them a True Link card and administer their card. You link it to their bank account or another source of funding and you can set limitations on when, where and how the card can be used. The family member feels freedom by not having to continually ask for money but is also protected by scammers and non-friendly people (yep, they exist).

The customer service team, the marketing team, the product team, the engineering team and everyone else at True Link are amazing.

For any nerd readers, the tech stack is currently Rails, React, AWS, Ansible. We’ll be introducing Docker and Kubernetes soon hopefully, but always ensuring the right tools for the right job.

Looking forward to 2018.


docker why

TL;DR Make sure you don’t have any old mounted volumes around if you see the error below.

I just got the following error when trying to run docker-compose up -d

ERROR: Couldn't connect to Docker daemon at http+docker://localunixsocket - is it running?

If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.

Please note I have a database using a mounted volume. The issue was that the previous mount was still present. Once I deleted that, docker-compose up -d would work jut fine.

If anyone knows a more elegant way to handle this, I’m open to it.


I just got a new laptop. It is a Lenovo Thinkpad X1 Carbon 5th Gen.

Ubuntu 17.10 16 GB RAM 1 TB SSD 64-bit i7 Pentium USB-C power

I’m in love.

lenovo thinkpad box

lenovo thinkpad

lenovo thinkpad fn ctrl keys

My only gripe is that the Fn key is on the far left bottom of the keyboard. I prefer that to be the Ctrl key due to copy/paste and other keyboard commands I use often. I also have very big hands and my pinky isn’t made to “find” the Ctrl key to the right of the Fn key.

I currently use Dconf for mapping of keys in Ubuntu (currently using 17.10). I learned today that the fn key on keyboards is not managed by the operating system, which makes sense. Lenovo in all of its glorious-ness has a BIOS option to swap the Fn and Ctrl keys.

lenovo bios fn ctrl swap

Thank you Lenovo.


I just got a new laptop and had to google again on how to set caps lock key to escape (I’m a Vim user).

sudo apt-get install dconf-tools
dconf write /org/gnome/desktop/input-sources/xkb-options "['caps:escape']"

To know your options, use the following command:

man xkeyboard-config

(MAN pages are your friend; man is short for manual)

You can also now use the Dconf GUI editor if you must (SHAME! ;) )

Type Dconf in Unity or Gnome app opener and go to the following location:

`org` →- `gnome` → `desktop` →  `input-sources` →  `xkb-options`

Add ['caps:escape'] to Custom Value textbox.

dconf caps lock to escape