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

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

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

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

Host Hugo static website on GitHub Pages using Actions and my domain

In a cost-saving exercise I wanted to try host my personal website on a free platform, since the code repository is hosted on GitHub, I decided to look into GitHub pages. ...

March 12, 2021 · 5 min · Joe Heaton

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

October 14, 2020 · 3 min · Joe Heaton

Windows Terminal - Change default profile

The new Windows Terminal requires some manual intervention to set the default profile.

February 21, 2020 · 1 min · Joe Heaton

Useful Unixisms

Here’s a list of useful piped commands or just commands for which I need a refresher on which arguments to use. For example, using Awk to print between two known lines, or seleting a line in sed are good examples of infrequently used commands which are really useful. ...

February 17, 2020 · 2 min · Joe Heaton

Run for every updated file

Using inotifywait to watch for file changes recursively in the current directory. I use $CHECK to ignore unwanted directories and filetypes. ...

February 11, 2020 · 1 min · Joe Heaton