James Turnbull


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

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.

Dell XPS 13 AKA 2018 is the year of Linux on the desktop

Back story… I’ve owned and used Apple laptops for over ten years now. I spend a lot of time writing code and prose and I need a reliable platform that runs something Unix-like and just works. I’ve regularly upgraded to newer devices to take advantage of better performance and new capabilities. The last upgrade I undertook was to the new Macbook Pro with a touch bar. My initial reaction was pretty poor.