Skip to content

Instantly share code, notes, and snippets.

View sixfeetover's full-sized avatar

Jeff Fraser sixfeetover

View GitHub Profile
@sixfeetover
sixfeetover / prodigal-developer.md
Created May 6, 2025 21:14
The Prodigal Developer

The Prodigal Developer

Generated by asking Claude Sonnet 3.7: "Rewrite the Prodigal Son parable from the Bible to instead be about clean code changes"

There was a development manager who had two developers. The younger developer came to the manager and said, "Give me my portion of the codebase that I'm assigned to maintain." So the manager divided the responsibilities between them.

Not long after, the younger developer committed all his code without review, took a backup of his work, and departed to a remote repository where he squandered his inheritance with messy, uncommented code and duplicated functions. After he had spent everything on bloated libraries and inefficient algorithms, a severe production incident occurred throughout the company, and he began to be in need.

So he went and took a contract with a company in that remote repository, and they sent him to their fields to manage legacy code. He longed to refactor even the most deprecated functions that the legacy systems were using, but no o

@sixfeetover
sixfeetover / Brewfile
Created July 6, 2021 11:52
My Brewfile
# taps
brew tap shopify/shopify # toxiproxy
# build
brew 'jemalloc'
# infrastructure tools
brew 'ansible'
brew 'awscli'
brew 'azure-cli'
AllCops:
TargetRubyVersion: 2.3
Metrics/LineLength:
Max: 200
Metrics/MethodLength:
Max: 20
Metrics/ClassLength:
@sixfeetover
sixfeetover / notes.md
Last active October 21, 2019 03:52
MacOS Sierra upgrade for Rubyists

Upgrading to Sierra for Ruby Devs

Often when upgrading to the latest OS X MacOS you have to do a few things to account for changing to underlying libraries. Here are the post-upgrade steps I took to get back to a fully operational state. I use homebrew and rbenv to manage my environment.

1. Get your Developer Command line tools upgraded.

To do this just run

$ xcode-select --install
@sixfeetover
sixfeetover / macos_setup.sh
Last active June 17, 2016 13:13
macOS Setup
#!/usr/bin/env bash
# Instructions: Just run ./osx_setup.sh. Answer the prompts as needed.
touch ~/.bash_profile
# Show the full URL in the address bar (note: this still hides the scheme)
defaults write com.apple.Safari ShowFullURLInSmartSearchField -bool true
# Enable the Develop menu and the Web Inspector in Safari
local application = require "mjolnir.application"
local fnutils = require "mjolnir.fnutils"
local hotkey = require "mjolnir.hotkey"
local window = require "mjolnir.window"
local alert = require "mjolnir.alert"
hotkey.bind({"cmd", "alt", "ctrl"}, "D", function()
local win = window.focusedwindow()
local f = win:frame()
f.x = f.x + 10
@sixfeetover
sixfeetover / output
Created May 28, 2015 17:07
Oj vs Yaml
Oj: 2.12.8
YAML: 2.0.8
user system total real
json 0.400000 0.000000 0.400000 ( 0.405347)
json symbolize keys 0.480000 0.000000 0.480000 ( 0.475922)
Yaml 31.110000 0.050000 31.160000 ( 31.177862)
@sixfeetover
sixfeetover / lazy_product.js
Created March 13, 2015 19:03
Lazy cartesian product
// From http://jsperf.com/lazy-cartesian-product/33 and http://stackoverflow.com/questions/9422386/lazy-cartesian-product-of-arrays-arbitrary-nested-loops
function lazyProductMZ2(sets, block, _context) {
var n = sets.length,
carets = [],
args = [];
function init() {
for (var i = 0; i < n; i++) {
carets[i] = 0;
@sixfeetover
sixfeetover / init.lua
Created November 24, 2014 15:40
Mjolnir config
local application = require "mjolnir.application"
local fnutils = require "mjolnir.fnutils"
local hotkey = require "mjolnir.hotkey"
local window = require "mjolnir.window"
local alert = require "mjolnir.alert"
hotkey.bind({"cmd", "alt", "ctrl"}, "D", function()
local win = window.focusedwindow()
local f = win:frame()
f.x = f.x + 10
@sixfeetover
sixfeetover / init.lua
Created July 29, 2014 00:16
Hydra config
-- refers to grid.lua in this directory, taken from the Hydra wiki: https://github.com/sdegutis/hydra/wiki/Useful-Hydra-libraries
require "grid"
hydra.alert "Hydra, at your service."
pathwatcher.new(os.getenv("HOME") .. "/.hydra/", hydra.reload):start()
autolaunch.set(true)
menu.show(function()
return {