Skip to content

Instantly share code, notes, and snippets.

tomdavidson /
Created May 24, 2024 04:45
idea to use ramdisk for workspace
# create ram disk
sudo mount -t tmpfs -o size=8G tmpfs /mnt/ramdisk
# initial sync without --delete
rsync -avP /path/to/your/workspace/ /mnt/ramdisk
# keep in sync with 5 sec delay to min overehad
chokidar "**/*" --delay 5000 \
--command "rsync -avP --delete /path/to/your/workspace/ /mnt/ramdisk"
tomdavidson / dns-record.schema.json
Last active September 28, 2023 03:25
A draft DNS record JSONSchema
"$schema": "",
"$id": "dns-record.schema.json",
"$title": "DNS Record Schema",
"type": "object",
"oneOf": [
"$ref": "#/components/records/A"
tomdavidson /
Created May 7, 2023 04:15
gen and trust local ssl cert - wip
#!/usr/bin/env bash
# $1 : relative filename
file_path() {
echo "$(cd "$(dirname "$1")" && pwd)/$(basename "$1")"
output() {
tomdavidson /
Last active January 30, 2024 08:11
snapd liberation without waiting for 24.04
#!/usr/bin/env bash
# Ditch snap on kubuntu - including the bs ubuntu does
# Run on a new systems without downloading by
# `$ wget -O - | bash`
sudo systemctl disable snapd
sudo systemctl disable snapd.service
// @ts-nocheck
import { env } from 'node:process';
import comments from 'eslint-plugin-eslint-comments';
import imprt from 'eslint-plugin-import'; // 'import' is ambiguous and prettier had trouble
import jest from 'eslint-plugin-jest';
import jestFmt from 'eslint-plugin-jest-formatting';
import n from 'eslint-plugin-n';
import nextjs from '@next/eslint-plugin-next';
import prettierConfig from 'eslint-config-prettier';
tomdavidson / dependabot-pr-body.txt
Created September 20, 2022 02:41
dependabot PR body
commit efcfd6e9de598a8fc151d25afed99c479760ed3c
Author: dependabot[bot] <49699333+dependabot[bot]>
Date: Wed Jun 29 04:31:48 2022 +0000
Bump turbo from 1.2.9 to 1.3.1 (#17)
Bumps [turbo]( from 1.2.9 to 1.3.1.
e notes</summary>
<p><em>Sourced from <a href="">turbo's releases</a>.</em></p>
tomdavidson / .kodiak.toml
Created September 20, 2022 02:38
kodiak, semantic pr, and dependabot
# yaml-language-server: $schema=
version: 2
- package-ecosystem: 'npm'
directory: '/'
interval: 'daily'
versioning-strategy: increase-if-necessary
tomdavidson /
Created June 2, 2022 15:48
k8s socat service to port fwd db access
#!/usr/bin/env bash
get_kubeconfig() {
mkdir -p "$HOME"/.kube
ssa-pg/scripts/ kubecfg > "$HOME"/.kube/config
tomdavidson / output.txt
Created May 4, 2022 21:58
gcp analyze-entities example
$ gcloud ml language analyze-entities --content="Adt Security Systems bankruptcy dept 1501 Yamato Rd. Boca Raton, FL 33431"
"entities": [
"mentions": [
"text": {
"beginOffset": 21,
"content": "bankruptcy dept"
tomdavidson /
Created January 6, 2022 06:12
moving forward trunk based workflow

Trunk-based Workflow

Multiple "right ways" to implement trunk-based delepment and workflow. For more info checkout Tom's "right way" emphisies forward moving flow and deploying from artifacts rather than git SHAs:

  • All code change starts and ends with the single, long-lived trunk, main. There are no release, prod, or other long-lived branches. Releases are cut from the trunk.

  • Code review will utilize GitHub PRs from short-lived branches targeting the main trunk. We call these short-lived branches, working branches, to avoid conflating feature-based workflow with our trunk-based workflow.

  • Prior to integration, the proposed change is fully tested, even deployed when end-to-end or manual acceptance tests are needed. Git Hooks are used to run unit tests and static analysis prior to pushing.