Skip to content

Instantly share code, notes, and snippets.

View quad's full-sized avatar
🏴‍☠️

Scott Robinson quad

🏴‍☠️
View GitHub Profile
@quad
quad / 1-the-false-application-library-dichotomy.md
Created June 14, 2023 18:55
(DRAFT) The false Application / Library dichotomy
  • "Libraries need to be semver"
  • "Libraries need to have shallow dependencies"
  • "Libraries need to protect their abstractions / not expose their internal implementation details"
@quad
quad / 0-modular-errors-with-rusts-thiserror.md
Last active July 10, 2025 13:25
Modular Errors with Rust's thiserror

I've been writing Rust full-time with a small team for over a year now. Throughout, I've lamented the lack of clear best practices around defining error types. One day, I'd love to write up my journey and enumerate the various strategies I've both seen and tried. Today is not that day.

Today, I want to reply to a blog post that almost perfectly summarised my current practice.

Go read it; I'll wait!


@quad
quad / update.sh
Last active May 21, 2025 07:31
Idempotent macOS development meta-environment configuration
#!/bin/zsh
set -euo pipefail
SOURCE=${BASH_SOURCE:-$0}
start_sudo_session() {
sudo --validate
while :; do
@quad
quad / fix.py
Last active August 12, 2020 14:21
OPERATORS = "+-"
def simplify_parens(expr):
"""
Remove all unnecessary parenthesis for a simple algebra-like string. It maintains the brackets, so any operator can be swapped for any other and the resulting expression will have the same results before and after parenthesis reduction.
>>> simplify_parens('a')
'a'
>>> simplify_parens('a + b')
@quad
quad / Makefile
Last active January 22, 2019 16:15
Make macOS (OSX) Greyscale from the terminal (CLI)
tgray: tgray.c
clang -g -std=c11 -Wall -framework ApplicationServices $^ -o $@
@quad
quad / Makefile
Last active August 3, 2018 03:16
Find a cycle in a linked list, for all your tech interview problem needs.
CFLAGS=-Wall -Wextra -Werror -std=c99 -O
all: cycle
./cycle
cycle: cycle.c
@quad
quad / keybase.md
Created April 11, 2017 02:06
Keybase Proof

Keybase proof

I hereby claim:

  • I am quad on github.
  • I am quad (https://keybase.io/quad) on keybase.
  • I have a public key ASBxDFR1P5fGthosSBX-iUd18uAFSCpNZdqCY0yE0QaPvQo

To claim this, I am signing this object:

@quad
quad / zoe-text.html
Created April 3, 2017 09:55
An incomplete labour of impermanent love
<html>
<meta charset="utf-8" />
<style>
body { background-color: white; margin: auto; text-align: center; }
p { writing-mode: vertical-rl; }
span { font-size: 3vh; }
#off { color: white };
</style>
@quad
quad / usaa_to_ledger.py
Last active January 23, 2020 18:25
Convert USAA Bank Statements to Ledger Transactions
import datetime
import enum
import re
import sys
import types
from collections import namedtuple
from decimal import Decimal
from operator import attrgetter
@quad
quad / icake.py
Created December 14, 2016 01:18
Interview Cake Solutions
import typing
import unittest
class TreeNode:
def __init__(self, left=None, right=None):
self.left = left
self.right = right
def is_superbalanced(self):