Understand Chia Pools and Farming your NFT Plots

Chia (XCH) is a cryptocurrency based on Proof of Space-and-Time rather than the much more familiar Proof of Work that plagues our efforts to decarbonise our energy grid. Chia was initially developed by @BramCohen , known for developing the BitTorrent protocol. ...

July 10, 2021 · 4 min · Joe Heaton

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

June 25, 2021 · 2 min · Joe Heaton

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

June 4, 2021 · 6 min · Joe Heaton

Automatically set your github.io domain in GitHub Actions

Collaborative websites need to be forked, but if you set a hostname variable, such as baseURL in Hugo, the forked website will load resources from the original.. Not ideal. The fix I applied to my GitHub Actions CI to work around this: ...

April 20, 2021 · 1 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

Remote PostgreSQL using local PgAdmin inside Docker

PostgreSQL management is a never-ending rabbit hole and in my case I just want to create a user, a database and set up some ownership.. without resorting to SQL or complex configuration frameworks. ...

September 29, 2020 · 2 min · Joe Heaton

SSH port forwarding

The following command connects to our server and forwards a specific port on our local machine to the server. In this case we forward port 5432 which belongs to PostgreSQL, so when we connect to localhost:5432 on the desktop, the connection is forwarded through the secure tunnel to the server. ...

September 29, 2020 · 1 min · Joe Heaton

Supercomputers in media

I thought it would be fun to gather together all the amazing looking fictional supercomputers! ...

September 23, 2020 · 2 min · Joe Heaton

Dynamically load fonts

I’ve added a Dyslexia accessibility feature to my website which loads a Dyslexia-friendly font, woo! This involved creating a small toggle function to turn the feature on and off, but when I reload the page it’s gone, so I had it bake a cookie so the function could trigger automatically on-reload. This still wasn’t enough I didn’t want every visitor to load the font, only users who click the toggle button, so I added a section to dynamically load the font. ...

August 26, 2020 · 1 min · Joe Heaton

Windows 10 Revamp

My notes on wiping Windows 10, which configuration options to watch out for and a list of useful programs. The whole process of wiping, installing and provisioning with a basic set of programs can be complete in an hour with a fast Solid-State Drive and modern hardware. ...

June 26, 2020 · 3 min · Joe Heaton

BeatSaber mods (Custom songs & Third-Person)

More fun with BeatSaber! Mods provide more stats, effects and even allow a third-person mode for streaming. ...

May 4, 2020 · 1 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

Package Management for .deb & .rpm for Debian, Ubuntu & Red Hat, CentOS, Suse

A smattering of useful commands for dealing with package managers! ...

February 11, 2020 · 3 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

Telegraf & OhmGraphite on Windows 10

Download the Telegraf client from influxdata.com , extract the telegraf directory to a sensible place and edit telegraf.conf. ...

February 10, 2020 · 2 min · Joe Heaton

TimescaleDB SQL in Grafana

Grafana supports SQL through MySQL/MariaDB, PostgreSQL & SQL Server. Additionally Grafana supports the PostgreSQL extension TimescaleDB, this database is the best fit of all the SQL databases for Grafana since it is built specifically for large-scale time-series datasets. ...

January 15, 2020 · 1 min · Joe Heaton

SFTP instead of SCP

SCP suffered from weak input validation for decades until CVE-2019-6111 , the maintainers recommended using SFTP until patched versions can be deployed. I, like many others, were reminded SFTP existed! ...

April 23, 2019 · 1 min · Joe Heaton

Git feature branch & merge

Start with your master branch git checkout master git fetch origin If your local master has been modified, you can reset its state. git reset --hard origin/master Checkout a new feature branch. git checkout -b my-feature Make changes in this branch, committing as usual. git add file.txt git commit -m "add my file.txt" You can push your branch to allow others and yourself to evaluate and commit further to it....

April 9, 2019 · 1 min · Joe Heaton