Hello World

Welcome to heaton.dev!

I work on technology of all kinds and I try to aggregate what I learn here!

► Me, Linux, HPC Engineer, Cloud, tinkerer of things. 🌍🇺🇳🇬🇧🥐☕️ \n

Opinions are my own, not an endorsement, etc..

Folding@Home HPC for COVID-19

March 2020, news was spreading of a rapidly evolving pandemic with potentially deadly concequences and societies were struggling to slow the tide. Less than a week before working remotely was made mandatory, in an effort to reduce human contact nationwide, I saw the news Folding@home update on SARS-CoV-2 (10 Mar 2020) the Folding@Home project was rapidly onboarding COVID-19/SARS-COV-2 protein folding projects to aid with early understanding of the virus in hopes of discovering ways to block the virus from interacting with human cells, preventing infection....

July 25, 2023 · 3 min · Joe Heaton

MacOS adaption

New role, new laptop, new Operating system — Having come from Windows & Linux desktops, I found MacOS to be extremely jarring when it came to a number of simple but crucial tasks, it was time-consuming to find the equivalents and workarounds for many typicalß developer tools. I’ll summarise my approach here and update as and when I find improvements. A quick summary on what I need; Git, Code editors, Linux CLI, Linux containers, productivity shortcuts....

June 7, 2023 · 5 min · Joe Heaton

WSLg - Graphical Apps on Windows Subsystem for Linux

Windows Subsystem for Linux supports displaying graphical Linux apps, it implements this via transparent RDP which forwards the visuals to Windows. ...

February 21, 2023 · 1 min · Joe Heaton

Git config per directory

I discovered gitconfig’s includeIf feature can change your global Git config depending on which directory you are working in. This is super useful if you have different identities for different project, or you need to specify the SSH key to use, etc.. in my case I want to use my personal email address for personal projects and work email for work projects. So let’s assume a directory layout like this:...

February 9, 2023 · 1 min · Joe Heaton

Split Audio for Streaming via OBS

Streaming from your PC can be tricky, your computer makes a lot of sounds that you don’t want to be broadcast; Whether that be a video tutorial playing in the background, chat notification sounds, or even your voice calls. This setup uses VB-Audio’s VB-CABLE Virtual Audio Device, you can download it for free at vb-audio.com/Cable . For more complex setups you can incorporate multiple virtual audio adapters, up to four extra are available on the same website as donationware....

February 5, 2023 · 2 min · Joe Heaton

Git Commands

Some of my most visited Stack Overflow answers are on how to use Git! We all remember how to add, commit, push, but how often to do you rebase, resolve merge conflicts, modify old commits? Here I’m going to list out all the Git commands I usually look-up! Including any relevant updates, since Git and the way we use Git is always evolving! Commands Git config for a directory full of repositories When you have sets of git repositories with different credentials it can be useful to manage shared git configuration across them....

February 2, 2023 · 5 min · Joe Heaton

HPC Newsletter | September 2022

Keeping up with High Performance Computing’s ever-expanding horizon, with a chance of clouds. ☁️ ...

September 29, 2022 · 1 min · Joe Heaton

Ansible via Google Cloud IAP Tunnel

Ansible is a great tool for managing configuration across a fleet of compute resources, but it struggles with dynamic sets of compute that are constantly being destroyed and spawned since it the user has to maintain a static list of hostnames. ...

September 23, 2022 · 2 min · Joe Heaton

HPC Newsletter | August 2022

Keeping up with High Performance Computing’s ever-expanding horizon, with a chance of clouds. ☁️ ...

August 31, 2022 · 1 min · Joe Heaton

HPC Newsletter | July 2022

Keeping up with High Performance Computing’s ever-expanding horizon, with a chance of clouds. ☁️ ...

July 29, 2022 · 4 min · Joe Heaton

Terraform init-validate-plan-apply Bash function

Tired of typing Terraform init, validate, apply? I’ve written this bash function to speed this up and implement some good practices. ...

July 14, 2022 · 3 min · Joe Heaton

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_APP_CRED_PROJECT=my-project GCP $GCP_CONFIGURATION=my-project GCP $GCP_PROJECT=my-project ...

June 21, 2022 · 2 min · Joe Heaton

Export a Vroid Avatar to VRChat

Vroid Studio is a quick & easy 3D character editor which can export to the Unity game engine and from there, integrate into metaverse platforms; in this tutorial we will take our Vroid model and import it into VRChat , a platform for socialising in virtual reality with user-generated worlds. ...

June 1, 2022 · 4 min · Joe Heaton

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! ...

May 17, 2022 · 2 min · Joe Heaton

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. ...

May 13, 2022 · 2 min · Joe Heaton

Use Terraform Graph in MermaidJS

Terraform has a built-in command to generate a Graphviz digraph representing the output of terraform plan, but this output is pretty messy and can’t render in MermaidJS. ...

May 11, 2022 · 2 min · Joe Heaton

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. ...

May 2, 2022 · 3 min · Joe Heaton

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. ...

April 6, 2022 · 3 min · Joe Heaton

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. ...

February 24, 2022 · 3 min · Joe Heaton

Monitor Internet Health with FluentBit & Grafana

I want to keep an eye on my Internet service provider after a series of prolonged outages, to that end I setup a Grafana dashboard to monitor my connectivity to various online services. ...

February 21, 2022 · 2 min · Joe Heaton