Skip to content

Instantly share code, notes, and snippets.

View patio11's full-sized avatar

Patrick McKenzie patio11

View GitHub Profile
@patio11
patio11 / bam_subscriptions.rb
Created January 29, 2026 04:43
Bits about Money subscription management logic, substantially authored by Claude Code. I do not recommend using this
# patio11 notes: This file was substantially authored by Claude Code.
# I do not recommend using it; it is extremely customized to particular requirements of my own business.
# My purpose for publishing it is to show technologists (and others) an actual sample of non-trivial live
# code authored by a modern coding tool, so they can get a bead on code quality, style, and similar.
# Spoiler: this is a lot of boilerplate and bookkeeping to solve a task which this engineer
# would also tell you is dominated by boilerplate and bookkeeping.
# Code substantially similar to this runs in production.
@patio11
patio11 / markdown_export_plugin.rb
Created December 31, 2025 22:54
Jekyll plugin to enable publishing Markdown for LLM accessibility.
# Jekyll plugin to generate .md versions of posts for LLM consumption
#
# For any post not opting out via `no_markdown_export: true` in frontmatter,
# generates a .md file at the same URL path with .md extension.
#
# Only includes allowlisted frontmatter fields to avoid exposing sensitive
# internal fields like noindex, seo settings, etc.
#
# (Claude Code wrote most of this, FWIW.) I release this work into the public domain. -- patio11
@patio11
patio11 / nixie-console-copypasta.lua
Created February 13, 2024 15:43
Monkeypatching Factorio mods for compatibility
-- Thanks to ChatGPT for improving my lua ability
local player = game.player
local surface = player.surface
local sprite_names = {'SNTD-nixie-tube-small-sprite', 'SNTD-nixie-tube-sprite'}
local all_nixie_sprites = surface.find_entities_filtered{name=sprite_names}
local known_sprites = {}
@patio11
patio11 / monte-carlo-that-perl.rb
Created October 28, 2019 07:55
monte carlo simulation for perl random line generator
NUMBER_OF_BUCKETS = 100
EXPECTED_BUCKET_SIZE = 100
file = "1-to-#{NUMBER_OF_BUCKETS}.txt"
f = File.open(file, "w")
contents = (1..NUMBER_OF_BUCKETS).to_a.map(&:to_s).join("\n")
f.write(contents)
f.close()
command = "cat #{file} | perl -e 'while(<>){$x=$_ if rand()<=(1/$.)}print $x'"
@patio11
patio11 / bitfinex-03152019.md
Created April 26, 2019 00:29
`shasum bitfinex-03152019.md` is 938d939059a23aa84ce493db0c4d542748f849a7

Prediction as of 3/15/2019 JST:

  • Bitfinex is insolvent, for the Bitcoin economy's usual quixotic definition of insolvent.
  • This happened as a result of collateralizing Tether with BTC and other cryptocurrencies during the run-up.
  • Bitfinex / Tether treat whether Bitfinex held the collateral or Tether held the collateral as a material distinction, but that's ridiculous due to common control. The important fact: in 2018, ground truth diverged from "There is $1 in a bank account for every tether outstanding" to "There is $1 in a bank account and/or $1 worth of Bitcoin at prevailing prices available to Bitfinex for every tether outstanding."
  • This makes Tether synthetically long Bitcoin, via a receivable from Bitfinex. Bitfinex took the newly issued Tether and then, since this accounting shellgame appears to balance its books and leave it with surplus Bitcoin, either sold or lent the Bitcoin to short sellers during the run-up.
  • If Bitfinex simply sold the Bitcoin, they're doing relatively well for themselve
@patio11
patio11 / app_controllers_slack_controller.rb
Created November 26, 2015 09:01
Implementing a /healthcheck endpoint in Slack to read out consul status in a human-readable fashion
class SlackController < ApplicationController
skip_before_action :verify_authenticity_token
@@slack_security_tokens =
["copy-paste-the-token-you-get-from-Slack-when-configuring-the-integration-here"]
before_filter :bounce_access_not_from_slack
def healthcheck
services = SystemStatus.list_services
@patio11
patio11 / borked.html
Created November 23, 2015 15:56
Minimal repro case of stylesheets not loading on Firefox with wrong MIME specified
<!DOCTYPE html>
<html lang='en'>
<head>
<link rel="stylesheet" type="css/text" href="https://dwpnibhogf8y5.cloudfront.net/static/css/bootstrap.min-f04b517b.css" />
<body>
<div class="alert alert-danger">This text should be styled.</div>
</body>
</html>
@patio11
patio11 / samples.js
Last active October 30, 2015 20:14
Starfighter REST API request and response JSON samples
//JSON to POST to /venues/FOOEX/stocks/BAR/orders
{
“symbol”: “BAR”,
“venue”: “FOOEX”,
“direction”: “buy”,
“qty”: 20,
“price”: 5100,
“type”: “limit”,
“account” : “OGB12345”, // your trading account (game gives you this)
@patio11
patio11 / untrusted-lvl13-solution.js
Last active August 29, 2015 14:25 — forked from anonymous/untrusted-lvl13-solution.js
Patio11's solution to level 13 in Untrusted: http://alex.nisnevich.com/untrusted/
/*
* robotMaze.js
*
* The blue key is inside a labyrinth, and extracting
* it will not be easy.
*
* It's a good thing that you're a AI expert, or
* we would have to leave empty-handed.
*/
@patio11
patio11 / ansible-snippet.yaml
Created July 9, 2015 02:44
Create an account on every box using the list of employees; initialize with their Github SSH keys
vars:
starfighters:
- username: patrick
github: patio11
name: "Patrick McKenzie"
- username: thomas
github: tqbf
name: "Thomas Ptacek"
- username: erin
github: boboTjones