Skip to content.

Google Cloud CLI 'gcloud' Variables

I find it useful to frontload my terminals with context about my environment; You wouldn’t want to deploy to the wrong environment now would you?

Here I extract information from Google Cloud CLI and print it at the start of every new terminal tab in order to understand exactly where my Google Cloud API requests will go by default.

GCP $GCP_PROJECT=my-project
Read more β†’

Understand MermaidJS; Concepts & Syntax

MermaidJS is great because it brings graphs-as-code to the web! No longer do we need to run graphviz from the commandline to generate static image files each time we make a change; Now we see changes instantly, embed graphs with ease in source repositories and track their changes, etc..

The trouble I’ve had with Mermaid is figuring out the syntax, there are quite a few gotchas which don’t advertise themselves very clearly, such as it not tolerating blank lines, or spaces are comma-deliminated lists.. I’ll list these here so you can get graphing quicker than I did!

Read more β†’

Styling MermaidJS

What’s better than a graph? A graph with style!

Using Mermaid’s class definitions we can style blocks and subgraphs to reflect the ecosystem they belong to; In this case I want to style my infrastructure diagrams to Google’s branding.

Read more β†’

My VSCode

Visual Studio Code, “VSCode”, is the hugely featureful successor to projects like Atom & Visual Studio itself, the extensibility of VSCode is key to this success and I’m going to share what I do to make VSCode work for me.

Read more β†’

Cray HPC

On the 50th Anniversary of Cray Research Inc.’s founding by Seymour Cray, I thought I’d summarise my brief but intensely interesting experience with the last crop of Cray Supercomputer systems.

Read more β†’

Working with Gnome 3

I’m back on Ubuntu with the Gnome 3 desktop environment and here are a few customsations to make it more productive and make moving between Gnome 3 & Windows simple.

Read more β†’

Bash opinions

Everyone has their own preferences when it comes to writing Bash scripts, I prefer very high safety & syntax consistency. A good example of both is variables, ${USER} can be shortened to $USER, but any following characters could be interpreted as part of the variable name. The longer syntax is also more powerful, enabling small conditional checks, which means we’ll likely end up using the longer syntax somewhere in our script, so why not keep it consistent and use it everywhere! Read more β†’

Try out Spack on Arm HPC | CP2K

Diverse users running across a diverse set of architectures, it seems Spack was built just for this! I want to share my experiences with Spack, here my focus is on CP2K. My build environment is a Cray XC50 running Thunder X2 Arm CPUs. Spack is a source-based package manager and build system, all builds take place in self-contained environments. Every installed package is defined by a spec, the spec is a string that represents the enabled features, compiler, etc. Read more β†’

my Vim

This is my .vimrc, I find it benefitial to use this where I do development to normalise my editor across different operating systems, and to enable some useful untapped features to make Vim feel a bit less prehistoric.

Read more β†’
Joe Heaton
Cloud HPC Engineer

Joe Heaton’s technology-focused murmurings.


Reveal the cookie consent prompt

Use Dyslexia-friendly font OpenDyslexia

Toggle advertisements