RSS.Social

John Mathews Blog

follow: @[email protected]

Posts

Blog Microfeatures

How to be successful

Murphy's Laws of Combat Operations

Hacking Millions of Modems (and Investigating Who Hacked My Modem)

Running A Business Changes The Way You Think

I love my wife. My wife is dead (1946)

What factors explain the nature of software?

Understandable Software

Tooling for large teams

Tmux resurrect - restore a particular session

Life Lessons from the Death Bed

DALL-E 3 Prompt Engineering

Stories about big decisions

20 lessons from the 20th century

Free to not do a thing

Thoughts on the Fujifilm x100v

Content Creation: Things I learned The Hard Way

The Simplest Math Problem No One Can Solve

Photography

Recommended finance books

Bootstrapped SaaS

Deep Dive into GarminOS and its MonkeyC Virtual Machine

MacOS Keyboard Shortcuts for Developers

Photographer: Léonard Misonne

Interesting AI

P90x3

A short 100 question diligence checklist

Sparks of General Intelligence

AI prompt engineering

Chat GPT prompt engineering

Thinking about risk

Who becomes an entrepreneur?

Using AI for social media content creation.

Photographer: Willem Verbeek

Photographer: Esther Brown

Six Types of Wealth

The Case for Travelling More

Lessons from history in tackling climate change

Most Data Work Seems Fundamentally Worthless

High levels of bitcoin dormancy

Elitism as the mid-career growth engine

What is an engineering strategy

Childhoods of exceptional people

The sleeping beauty problem

Is success luck or hardwork?

Letter to 15 year old me

Everything you can't have

Money is a negative art

How to learn another language

My Neovim setup in 2023

Fun, Fear, Pain, Accomplishment

ZSA Moonlander Review

The Impact of a Coin Toss on Major Life Decisions

Neovim plugins I could make

Ben Howard - The End of the Affair

YAML gotchas

All that is gold does not glitter

Insanity workouts

P90x

Long Life

January Music

Small Teams

Photographer: Fan Ho

Photographer: Robert Doisneau

Three Falls in the Alps

A new blog

Learnings from 5 years of tech startup code audits

Don't avoid sunlight

Tmux tutorials

Data Science Teams

Newish Command-Line Tools

Why the past 10 years of American life have been uniquely stupid

MacOS Keyboard Shortcuts

Advanced googling

Dan Lebrero book notes

Someone else's guiding principles after 20 years of programming

Personal website as a mini-game

Staff Engineer

Founder Salaries

James' Book Summaries

Django CBV method flowchart

Tools to help children learn to code

How to size bets

Managing environment variables with Direnv

Adding italic text to iTerm2

The Psychology of Computer Programming

Moxie on web3

How to write a book

Solo founder

103 attempts to make it work

Gell-Mann amnesia effect

How to monetize a SaaS

First five minutes on a server

Adding JSON output to a CLI app

nvim.CoC

Find

Tmux sessions

Bat

Chezmoi: Part 2

Powerful Python

Multi-tenant Django webapps

The 3-2-1 backup rule

Lessons from creating a production database

Unison helper

Proxy Servers

Unison

Japanese philosophies for spending money

Uninstall all pip packages

alpine.js

Zsh commands: exec vs source

Chezmoi commands

zsh suspend or push function

Stoicism

Math explainers

Do-nothing scripts

Virtual environments and python versions

SaaS metrics that matter

Training Zones

Naming things is hard

Tove Lo - Habits

Understanding all of Python, through its built-ins

Logging Best Practices

Counter intuitive facts

How to get rich without getting lucky

Ultra-running benchmarks

Vim built-in color names

Lightning network point-of-sale

Make files

Linux performance analysis in 60 seconds

Stop reading the news

View and change settings for GCloud CLI

Google Pub/Sub

Google Cloud Storage - TTL and CORS settings

Handwritten letters at scale

The dangers of social media

Visual mathematical proofs

1 Peter 1 vs 10

9/11 and the American psyche

How doctors die

Life

Slavery

Cloud Functions Minimum Instances

nmap

1 Peter 1 vs 3

Understanding GCP charges

My dead dad's journal

1 Peter 1 vs 1

Miller CLI

Conditionally setting your git config

Daddy-Daughter To-Do List

Conway's Law

Elon Musk's Engineering Philosophy

Pen-testing web apps

Running through adversity

Starbase Tour with Elon Musk

Remote Working

Athletes, Careers, and Mental Health

WTF Python

Beach Photos

Heuristics for effective software development

Start with Finance to transform IT

The Worst Volume Control UI

Playing with Google Cloud Platform

Daughter

Moral tyranny

Upgrading Cryptographic Libraries

Startup Engineering Lessons

Poisson's Equation

Thomas Aquinas

Can an explanation of an historical event ever be completely true?

Load-testing my Web Analytics Tool

Edward Hopper's Paintings

Some experiences can be taught, but some must be lived

Georges St-Pierre Training Meta

Validating CloudFlare analytics

Proverbs 16

I would like to take some time to explore what it means to be alive

Proverbs 15

Believe half of what you see and now't of what you hear.

Django for Startup Founders

Building my own web analytics

Alfie Solomons

Bifurcation Theory

Apple's iCloud+ "VPN"

Rich

Practice

Vim Sneak

Design Patterns

Proverbs 14

Coding exercise for a technical interview

Axiom

Foxes and Hedgehogs

Pair programming using Vim

Man swallowed by whale

Git LFS

Your .bashrc doesn't have to be a mess

John Kelly finishing the 2017 Barkley Marathons.

A Project of One's Own

Proverbs 13

Choose Boring Technology

An incomplete list of skills senior engineers need

Proverbs 12

Proverbs 11

Performance Optimizations for the shell prompt

Vim spellcheck commands

Questions for good references

Lessons from 45 years in the software industry

Modeling Credit Risk

Grep only inside particular files

View a List of Keyboard Mappings in Vim

Building A Story Brand

Training → Knowledge → Confidence → Victory

Forward Email

Nested Auto Commands for Overriding Colorschemes

Vim Snippets

See where Vim is setting an option

My Life Expectancy

Globbing

More VIM Notes

Vimscript functions

Better Text Objects

Delete stuff in Vim without leaving insert mode

Global Aliases

Vim register for yanked text

ChezMoi shortcuts

Sleep

Bash Strict Mode

How to write an About Page

Domain Name Registrars

The Honest Troubleshooting Code of Conduct

Linux Filesystem Hierarchy Standard

Browser Security

Linus Torvalds

Remote Procedure Calls

An interesting blog

lsblk

Ranger File Manager

Vim Regex

Where and when will the current Bitcoin market peak?

All Known Locations of an Executable

Reading - April 2021

Learning - April 2021

Tweets - April 2021

SSH-Notes

alias to real

Chezmoi

Reorganize tmux windows

vim save sudo

The trouble with climbing higher is that eventually you lose sight of the ground.

I Leaked Credentials Onto A Public GitHub Repo

Broot

Adding Keyboard Navigation

Ansible

Github Actions

Socially Acceptable Mistakes

`du` is a tool for showing disk usage.

Safe Bash Scripting

Running a Binary in Debian

Over-Engineering this blog

Fuse Search

Creating Slowly

Arrow syntax in bash

Pretty print JSON

Vim: GoTo Tag Definition

Useful Business

Frantic Distraction

Rearrange splits in Vim

Pelican Plugin Guide

Read and Write the Same File in Bash

JSON tools

Docker Commands

Python Notes

Adding Search

Pipe a Script File into Bash

Split Long Strings

ripgrep Regret

Teaching Kids About Money

Stop Prepending sudo to Docker Commands

`cat` and a new line

Cardano: Generating Addresses

Creating Users With Sudo Permissions

Two Years Of Vim

Disk Full and Disk Usage Commands

Git LFS

Binance-Chain: Running a node

nohup

Shell Comparisons

nohup and Background Processes

File Descriptors and /dev/null

Cardano: Running a full node

Polkadot: Running and interacting with a full node

Microservices, Docker, Azure

Regrets Of The Dying

A List Of Unconnected Thoughts And Aphorisms

Notes From An Interview With Geoffrey Hinton

Questions For Interesting Conversations

Portfolio: Image Recognition

Mist

Spaarndam

Notes From "Mastering Vim Quickly"

Notes From "Powerful Python"

Mental Models I Used To Use

What's So Different About Now

Predicting the Future using Human Nature and Technology

Financial Doom And Gloom

Debugging the more_categories plugin for Pelican

Different Views For Different Users

3 Different Types Of Programming Problems

Why I Want To Write Regularly

Python: Becoming A Better Python Developer

Using Vim with large codebases

Using RSS

Notes on learning Django

Data Science vs Web Development: Larger Code Bases

Test Driven Development

Why Talk About Jesus?

API Design Principles

Principles Of Object Orientated Programming

Optimizing The Performance Of This Blog

Unix: Utilities To Analyse And Update Multiple Text Files

A New Blog Design

Product-Led Growth

The Mom Test

Obviously Awesome

How I learnt to code

Dreaming of Emacs

The 1-Page Marketing Plan

Learning to market

Pippip.Email

Founders Journal 3

Founders Journal 2

Founders Journal 1

Between Clients

Analysis of the mean and median value of transactions on 5 Blockchains

A faster zsh

Bitcoin Lightning

Sync a BTC node, quickly

Bakke-Rij

Prediction Markets

Reading: April 2018

Ry's Git Tutorial

The Bitcoin Lightning Network

How to buy Bitcoin

Live near the ocean

Pangea

Bitcoin compared to gold

Hardware Wallets

Trading digital assets

I'm a chartered accountant

Coworking in Dublin

Bitnation

Create a Multi-Signature Ethereum wallet using Parity

Macro Analysis of the Bitcoin Blockchain

Corporate London

Blockchains from the ground up: Part 2

Move

Flee

Understanding VC Investment

How to be an ambitious founder in Europe

The Lisbon Investment Summit

Blogging with Pelican: Design, Plugins, Sharing

Blockchains from the ground up: Part 1

London Rent vs. London Salaries

Introduction to the Æternity blockchain project

The Æternity ICO: My experience

Blogging with Pelican

Analysing a personal library

FakeGL: A Synthetic General Ledger and Trial Balance

Reconciliation of a trial balance to a general ledger

Spotify song history

Vim!

Autumn, BIN and $PATH

Introduction to my doctorate research - Silos

Encryption

Digital currencies: the basics

Spare time

Übersicht widget: Time Until

How to wake up early

Jupyter (iPython) notebooks + Pandas

Coursera's "Data Science Specialisation"

Übersicht widget: Time Since