James Turnbull


If I had my hand full of truth, I would take good care how I opened it

The fuck

So I am notorious as a clumsy typist, especially in instances like demos or on stage at conferences. I’ve also been known to comment indelicately about my mistakes in front of large audiences. So when I stumbled across The Fuck it was like I had found my keyboard people. Note Yes. I know. To some of you “fuck” is a bad word. It’s not to me but see later about how you can alias it if you’re concerned.

The shopt built-in

I recently posted some Bash tips, a couple of which used the shopt built-in command. The shopt, or shell optional, built-in is interesting. It allows you to configure some additional, optional, shell behavior. You can use the command for the current session or you can use it in the ~/.bashrc file to configure options for every session. Let’s take a quick look at how to use the shopt built-in and some of the available options you can try.

Old skool Bash tips

Here are some old skool Bash tips and tricks that I think I wrote for someone about ten years ago. Extended globbing… The first function we’re going to look at is extended glob matching. This nifty option allows you to do more sophisicated glob matching than provided in standard Bash, for example match all files except those with a suffix of .tmp. Extended globbing is enabled via the shopt, or shell options built-in:


I’ve been planning to take a look at Ballerina for a year or so now. Ballerina bills itself as a “Cloud Native Programming Language”. It is designed to make it easy to write microservices with integrated APIs. Ballerina is an open source, compiled, statically and strongly typed, language. If you’ve written any Java and, to a lesser extent, Go, it’s going to feel familiar. It comes with a concurrent execution model and is built with a set of pluggable imports for systems integration, for example plugging in third-party APIs like Twitter or adding a database backend.

Working with Yakuake

In the great Linuxification of 2018 I played around with a bunch of desktops. I eventually settled on KDE’s Plasma (don’t @ me), of which the new 5.13 release is very shiny. Naturally, I also spent in an inordinate amount of time looking at terminals. I spend a lot of my life in one and on OS X I really only had time for iTerm2. I’m pretty picky about UI/UX and have some specific layouts I want like split windows and multi-tabs.