Archive
All :: Dev :: Mgmt :: Blog :: Links
Everything I’ve posted here.
2024
- Oct 04: ~/.ssh/authorized_keys on OPNsense
- Sep 13: Let’s Encrypt and Emby
- May 29: Public IP lookup from CloudFlare DNS
- May 23: Safe terminal escape codes [Link]
- May 18: Signing Git commits in 2024
- May 14: POSIX Shell Tutorial [Link]
- Mar 10: ChatGPT, write a parody of The Raven starring my cats
- Mar 10: Quartz for Obsidian
- Mar 03: CSS for printing [Link]
- Mar 03: Using Jekyll plugins with GitHub Pages in 2024
- Feb 29: ABCs of Unix
- Feb 27: Please Make Your Table Headings Sticky [Link]
- Feb 15: The Three Virtues of a GREAT Programmer [Link]
- Jan 20: textart.sh [Link]
2023
- Dec 23: PagerDuty’s Incident Response docs [Link]
- Dec 04: Hidden secrets of the FN key [Link]
- Nov 29: Writing Documentation for your House [Link]
- Nov 29: Automate updating custom Homebrew formulae with GitHub Actions
- Nov 28: Reorganizing my ~/Sites directory
- Nov 25: My home network
- Nov 20: The Bluffer’s Guide to The Mythical Man-Month [Link]
- Nov 13: Somehow, I Manage: Setting Expectations When Asking For Something [Link]
- Nov 02: Tracking sqlite3 changes in git [Link]
- Oct 28: Custom iOS Wallet passes [Link]
- Sep 15: A deep dive on credit card debt collection [Link]
- Sep 14: milliondollarhomepage.com [Link]
- Aug 18: oo - open recent Obsidian files with FZF
- Aug 05: RIP Bram Moolenaar [Link]
- Aug 03: Thoughts on Laravel from a Rails veteran
- Jul 26: Sharing git repos between two system users
- Jul 19: Hello from my Q2 Pro
- Jul 10: Easy SVG sparklines [Link]
- Jul 08: Nginx proxy for Slack Webhooks
- Jul 07: Launched - A launchd plist generator [Link]
- Jul 07: CIDR subnet mask chart [Link]
- Jul 05: 2FA hellscape
- Jul 03: SvgPathEditor [Link]
- Jun 30: My favorite shell aliases
- Jun 27: macOS defaults list [Link]
- Jun 27: macOS CLI Commands [Link]
- Jun 23: New keycaps
- Jun 20: Style your RSS feed [Link]
- Jun 17: Using Direnv to set PHP versions
- Jun 01: Detect in-progress git cherry-pick, merge, rebase, or revert [Link]
- May 12: The Legend Of Zelda: Tears Of The Kingdom Haul
- May 03: Creating a wedding photo gallery
- May 02: Somehow, I Manage: 1-on-1s [Link]
- Apr 29: My bin: license
- Apr 07: The songs that got me into heavy metal
- Mar 29: AWK technical notes [Link]
- Mar 23: Somehow, I Manage: Why We Pair Program
- Mar 18: gh-prq - open GitHub Pull Requests with your $EDITOR
- Mar 18: My bin: headers
- Mar 05: New computer
- Mar 05: Universal Control on macOS
- Mar 02: I Will Fucking Dropkick You If You Use That Spreadsheet [Link]
- Feb 20: Apple Studio Display First Impressions
- Jan 31: How I do my first commit for a new project
- Jan 23: Star Wars in telnet or bash
- Jan 23: Git commands you do not need [Link]
- Jan 20: Get a random devops_borat or sadserver tweet in Obsidian
- Jan 10: Get Calendar.app week number via CLI
- Jan 09: My horrible Pixelmator creations
2022
- Dec 29: Speed up ZSH compinit on slower systems [Link]
- Nov 20: Hacker News Parody Thread [Link]
- Oct 31: Josh Lasso
- Oct 31: Selenized theme [Link]
- Sep 12: GitHub profile tricks [Link]
- Sep 09: Using Vim to convert MySQL output to CSV
- Sep 07: Facebook Engineers Don’t Know Where They Keep Your Data [Link]
- Sep 06: AppleScript
- Sep 06: Work From Home Things: The Lunch Minute
- Sep 06: HTML capture attribute [Link]
- Sep 01: Setting up my PiBox
- Sep 01: My Git+Synology setup
- Aug 31: How to setup a git server
- Aug 30: The Oregon Trail’s Origins [Link]
- Aug 30: Slack’s scrollbar [Link]
- Aug 30: Don’t think to write, write to think [Link]
- Aug 30: The Rails Attributes API [Link]
- Aug 29: 90s cursor effects [Link]
- Aug 27: The seventy thousand
- Aug 26: rsync compression is slow afterall
- Aug 26: Linux Sticky Bandits (the sticky bit and friends)
- Aug 25: Heroku killing free accounts [Link]
- Aug 24: Accounting for Developers [Link]
- Aug 23: Signing git commits with SSH keys
- Aug 19: airport cli [Link]
- Aug 19: LackRack [Link]
- Aug 19: whytheluckystiff.net [Link]
- Aug 19: Silencing “last login” message on macOS terminals
- Aug 17: `~/.ssh/config` includes
- Aug 16: Efficient Pagination Using Deferred Joins [Link]
- Aug 12: Trying to fix my Audioengine A2+ woes
- Aug 10: 2Advanced Studios gallery [Link]
- Aug 09: Pi-hole/DNS configuration gotcha
- Aug 05: Let’s Encrypt for Pi-hole
- Jul 15: PHP’s null coalescing operator vs elvis operator [Link]
- Jul 05: EU to require sideloading on iOS [Link]
- Jul 04: Red Dead Redemption 2
- Jul 04: Keep calm and use the runbook [Link]
- Jul 01: What’s the deal with all those weird wrong-number texts? [Link]
- Jul 01: Spectrum, this is why we all hate you
- Jun 30: OSI Layer Mnemonic [Link]
- Jun 29: My favorite Bash resources
- Jun 28: Getting stuck [Link]
- Jun 27: How to review code links [Link]
- Jun 27: The book that taught me MySQL
- Jun 26: Jekyll image galleries in 2022
- Jun 25: Jekyll cheatsheet [Link]
- Jun 24: Hardening macOS [Link]
- Jun 21: Running queries against CSV with sqlite3 [Link]
- Jun 20: Amdahl’s Law
- Jun 18: Getting a new game sucks today
- Jun 17: macOS Screenshot Tricks [Link]
- Jun 17: Pull Requests start conversations
- Jun 16: Somehow, I Manage: Everyone Wants to Sell You Something
- Jun 16: Did you know: wildcard SSL certificates and subdomains
- Jun 16: That XOR trick [Link]
- Jun 13: Five steps to take after making a mistake [Link]
- Jun 11: dns.toys [Link]
- Jun 10: If OpenSSL were a GUI [Link]
- Jun 10: I’m a fucking webmaster [Link]
- Jun 10: Zsh Plugin Standard [Link]
- Jun 10: Geekboards 8-key macropad [Link]
- Jun 10: Raspberry Pi Zero W Webcam Server [Link]
- Jun 10: Litestream - Streaming replication for SQLite [Link]
- Jun 09: SiriMote [Link]
- Jun 07: Q2 “mods”
- Jun 01: ffmpeg buddy [Link]
- May 30: Hello from my Keychron Q4!
- May 25: Making macOS behave itself [Link]
- May 14: Cursor Dance Party! [Link]
- May 03: Preventing burnout [Link]
- Apr 21: alerter: CLI notifications on Mac OS X [Link]
- Apr 19: Somehow, I Manage: 11 Promises of a Manager
- Apr 12: -h, –help, help, -?, –? [Link]
- Apr 11: macOS App icons [Link]
- Apr 04: Those HTML Attributes You Never Use [Link]
- Mar 16: gh-render-markdown extension
- Mar 03: 5 things you don’t need Javascript for [Link]
- Feb 23: Stats – macOS system monitor in your menu bar [Link]
- Feb 23: Somehow, I Manage: Work/Life Balance
- Feb 16: Some web color tools
- Feb 16: Does my GitHub Pages site need a Caching Plugin?
- Feb 15: Hilarious South Park metal reference [Link]
- Feb 15: Micropub Test
- Feb 15: Random old designs
- Feb 15: Two Weeks With Leopard
- Feb 14: 2022 Universal Orlando Trip
- Feb 08: My recipe site
- Feb 08: Vim Tips: Writing ASCII lines quickly
- Feb 08: Shell Tricks: Better Bash debug
- Feb 07: Micropub
- Feb 07: Updated permalinks
- Feb 07: Obsidian Nirvana
- Feb 02: Simple PHP/SMTP mail script
- Feb 01: Pure bash markdown table generator
- Jan 28: Merging git repos with git-filter-repo
- Jan 27: Dump Calendar.app events to JSON
- Jan 27: Shell Tricks: Pretty Printing the name of your program
- Jan 27: Shell Tricks: Detecting if your script is being piped
- Jan 27: A solution for git repos and iCloud?
- Jan 26: You can’t parse HTML with regex [Link]
- Jan 25: Fun with jq and Tautulli
- Jan 24: Responsive CSS Gallery [Link]
- Jan 24: Dev Shower Thought: Webmaster
- Jan 24: 37
- Jan 22: The Web Is Fucked [Link]
- Jan 22: lsusb on macOS
- Jan 21: An old WordPress hack I found
2021
- Oct 02: How to Mount a USB Drive on Linux
- Oct 01: How to generate a simple calendar
- Sep 21: Viewing and killing MySQL queries
- Sep 20: Reverting a Git Pull
- Jul 26: 1Password Classic Extensions [Link]
- Jul 12: Somehow, I Manage: Disagreement is a Healthy Part of Collaboration
- Mar 24: What does it take to be a good programmer? [Link]
- Mar 24: Using direnv to set a custom git email for work projects
2020
- Oct 23: Somehow, I Manage: The Ten Slack Commandments
- Jun 05: Warn when macOS adds path_helper to zprofile and profile on OS updates
- Apr 10: Ruby 2.3.2 on macOS 10.15
2019
- Dec 13: Vim cheatsheets
- Oct 30: Useful git configs and aliases
- Aug 06: Using Let’s Encrypt for local servers
- Aug 06: Deluge and OpenVPN on a Raspberry Pi 4
- Jul 26: I’m Comic Sans, Asshole [Link]
- Feb 05: Signed commits with GitX
- Feb 03: How to print help text in shell scripts
2018
- Oct 11: Hello, macOS!
- Mar 23: vnStat on RasPlex
- Mar 09: Vim Registers
- Feb 28: Generate Password LaunchBar Action
2017
- Jul 20: The One Where I Got A New iMac
- Jul 19: Stupid things I had to Google
- Jul 19: My Vim Setup
- Jul 14: Procrastination
- Jul 12: Using Nginx as an SSL proxy to GitHub Pages
- Mar 02: Running PHP’s CLI Server with launchd on OS X
- Mar 01: Better local GitHub Pages with Pow
- Feb 28: The time I ran `rm -rf /`
- Feb 28: Shell Tricks: Colorized output
- Feb 19: Shell Tricks: Custom ruby shebangs for speed
- Feb 11: Shell Tricks: Showing help in a script
2016
- Jul 09: Disabling bottles in Homebrew with custom formulae
- May 03: Introducing `wp-cli-tgmpa-plugin`
2015
- Dec 23: A Simpler Homebrew Formula for WP-CLI
- Dec 07: Running WordPress on OS X
- Dec 04: wp-cli on a shared host
- Dec 03: Convert GitHub repo links to GFM in Vim
- Dec 02: Viscosity CLI
- Nov 24: Linux Signals
- Aug 18: Copy screenshots to Dropbox Public folder on OS X
- Aug 10: Running vim plugin commands from the command line
- Apr 08: Bootstrapping your development setup with Homebrew
- Feb 28: git pr: push current branch and open pull request
- Feb 12: Customizing the Rails Console
- Feb 12: Launching IRB from your RubyGem
- Feb 12: Another New Layout!
- Feb 10: Building GitHub Pages Locally
2013
- Jul 16: Documenting with TomDoc and GitHub Pages
- Jun 17: Tomy Racing Turbo [Link]
- Jun 16: Why Blacksmiths are Better at Startups than You [Link]
- Jun 11: Designed by Apple in California
- May 31: A look inside Gears, the Final Fantasy VII game engine [Link]
- May 30: RSpec and vim-dispatch
- May 28: How We Hack At Site5
- May 16: SSH Escape Sequences
- Apr 22: A Year Without Smoking
- Mar 19: Bash Arguments with $* and $@
- Mar 09: More OS X Hints [Link]
- Feb 23: Xcode 4.6 and ruby-build
- Feb 19: The One Where I Got A New MacBook Pro
- Feb 08: Running RSpec in Vim
- Feb 05: Running Vim commands from stdin
- Feb 05: Fun With Jekyll Posts and Vim Macros
- Feb 02: All programming languages need a REPL
2012
- Oct 02: NiGHTS into dreams on PSN
- Sep 21: Validating Serialized Attributes in Rails
- Sep 05: Restoring files from OS X Time Machine with Terminal.app
- Aug 30: Credit Card Number Generator [Link]
- Jul 26: Upgrading to OS X Mountain Lion
- Jul 06: Font Bomb [Link]
- Jun 26: Three Avatars Coming? [Link]
- Jun 21: 99 Problems [Link]
- May 29: Design Principles [Link]
- May 25: Animate.css [Link]
- May 03: iOS Text Editors Compared [Link]
- Apr 26: Railsconf Links
- Apr 22: Railsconf, ho!
- Apr 19: Prince of Persia Open Sourced! [Link]
- Apr 10: All the reasons PHP sucks [Link]
- Apr 09: TIL gifs can have more than 256 colors [Link]
- Apr 08: Fun with vector icons [Link]
- Apr 05: A Test, from Heroku!
- Apr 04: Building a single sign on solution [Link]
- Apr 03: The key to Web 2.0 success is… [Link]
- Apr 03: Splitting git repos with git filter-branch
- Apr 02: This is how design works [Link]
- Mar 29: ZSH Tab Completion for Bundler Binstubs
- Mar 26: Graphical Vim Cheat Sheets [Link]
- Mar 21: Splinter, the Capybara Ninja
- Feb 23: Emoji cheat sheet [Link]
- Feb 17: Basecamp Next is crazy fast [Link]
- Feb 15: So You Want To Be A Developer [Link]
- Feb 14: Patched ruby 1.9.3-p0 is sexytime
- Feb 12: Removing Finder from the OS X Application Switcher [Link]
- Feb 10: Vim 7.3 on a shared host
- Feb 10: The Twiddle Wakka [Link]
- Feb 10: Teach Yourself Programming in Ten Years [Link]
- Feb 10: Being 5 Years Ahead [Link]
- Feb 10: Allow binding ctrl-s and ctrl-q in Terminal.app
- Feb 09: MakeTi makes Titanium suck less in the CLI [Link]
- Feb 09: LiveReload on GPL [Link]
- Feb 08: Vim anti-patterns [Link]
- Feb 07: marked.vim
- Feb 06: Marked
- Feb 04: The Paradox of Choice [Link]
- Feb 03: Why Jekyll pwns WordPress
- Feb 02: CSS Font Stack [Link]
- Feb 01: Typechart - typography gallery [Link]
- Feb 01: Subtle Patterns [Link]
- Feb 01: More CSS3 generators [Link]
- Feb 01: CSS Gradient Generator [Link]
- Jan 30: Rainman is a very good driver
- Jan 30: Jekyll and Vim
2011
- Dec 07: 2011 Retrospective
- Dec 06: Six Months at Site5
- Oct 31: On Perfection
- Oct 04: Modern Ruby Development [Link]
- Sep 01: Pow and Apache, kissing in a tree [Link]
- Aug 31: The Million Dollar Question [Link]
- Jul 25: vim stripper
- Jun 16: Snuggie: a ruby gem for the Softaculous API
- May 27: FannyPack: Ruby bindings for the Fantastico API
- May 11: iDium mod for Adium
- May 01: HP All In One Printing with Snow Leopard [Link]
- Apr 27: Top 10 Myths about Introverts [Link]
- Apr 22: Theming Liberty Sports Group with WordPress
- Apr 21: MiniDB, a cute little wrapper for PHP’s PDO
- Apr 04: Jekyll TextMate Bundle
- Apr 02: Two Weeks With Leopard
- Mar 31: Fireworks Icons using alpha transparency [Link]
- Mar 30: A good read about NDAs [Link]
- Mar 04: WHMCS API Bindings
- Feb 27: Wage intergalactic war on your Titanium Mobile apps with TiFighter
2010
- Nov 16: Setting up a Ruby production environment on a DotBlock VPS
- Sep 01: Hosting Private Gems
- Aug 05: Rake tasks to build Titanium Mobile Apps
- Jul 25: Capistrano: Send Jabber alerts on deploy
- Jul 25: A few Rails Plugins
- Jul 23: API authentication in Sinatra with Clearance or Authlogic
- Jul 14: Writing an API with Clearance
- Jul 05: Jekyll Pagination Gotcha
- Jul 05: `git browse` alias
- Jun 14: Managing TextMate bundles with git submodules
- May 11: Deploy with git
- Apr 15: ActiveRecord Migrations - integer limit gotcha
- Mar 14: CodeIgniter Database Library Extraction
- Mar 13: Formatting MySQL Queries For Asterisk
- Mar 04: gem install without sudo
- Mar 01: Fetching Emails with Redmine
- Mar 01: Forcing SSL with Apache
- Feb 28: jQuery Autocomplete for Jekyll
- Feb 28: Oh Hai, Jekyll
2009
2008
- Jul 26: Asterisk Manager Commands
- Jun 29: I (still) hate IE.
- Jun 10: OS X: Fixing the Terminal
- Jun 09: OS X - A Month Later
- May 03: OS X First Impressions
- May 02: Hurray Mac mini
- Apr 13: jQuery, nothin’ but love for ya
- Apr 02: FTBS… I’m getting a Mac
- Mar 12: Movierack (again)
- Mar 04: Asterisk on Ubuntu Server
- Feb 17: Random Date Helpers
- Feb 12: Stuff I need to do
- Feb 05: Kate Project Manager Plugin on Kubuntu
- Jan 02: Oh, how I love you Kate…
2007
- Dec 30: Oh yeah…
- Dec 30: New Development(s)
- Dec 26: Merry Christmas!
- Dec 26: Das Keyboard
- Dec 10: Recently.
- Oct 06: AIM Web Presence API
- Oct 04: voipninja.net
- Sep 29: Ogle that <BODY>…
- Jul 05: Code Folding in Vim
- Jul 03: Calling Dell Support
- Jul 02: tar over ssh
- Jul 01: Rock the Bells 2007 at Randall’s Island
- Jun 23: Vim 7 on a Shared Host
- Jun 05: I love/hate KDE
- May 28: Linux finally sounds good
- May 26: Good times with rar
- May 21: ITT Really Sucks
- May 09: Pidgin/Gaim Contacts
- May 06: New Motherboard
- May 06: Linux - unzip
- May 01: Fireworks CS3
- Apr 27: Mozilla Thunderbird 2 on Ubuntu
- Apr 10: Password Protect Directory (Manually)
- Mar 04: Twilight Princess (Part 4)
- Mar 01: Recent Developments
- Feb 19: Twilight Princess (Part 3)
- Feb 18: Twilight Princess (Part 2)
- Feb 18: The Legend of Zelda: Twilight Princess
- Jan 27: Compiz on Ubuntu Edgy
- Jan 08: Trixbox
- Jan 01: Happy New Year!
2006
- Dec 25: Christmas
- Dec 03: Asterisk on Ubuntu 6.06 TLS
- Nov 22: A New Home
- Nov 15: IT216 - The final word
- Nov 13: Other Small Tweaks
- Nov 13: .htaccess goodness
- Nov 12: Hacking Wordpress
- Nov 11: Updates
- Nov 11: News Upgrades
- Nov 10: New Stuff
- Oct 15: Asterisk Goodness
- Oct 02: New Apartment
- Oct 02: IPTV Project
- Sep 28: Moving on Friday
- Sep 10: Resident Evil 4 (part 5)
- Sep 01: Resident Evil 4 (part 4)
- Aug 28: Resident Evil 4 (part 3)
- Aug 28: Resident Evil 4 (part 2)
- Aug 28: IMDB Lookup
- Aug 28: Don’t wanna go to school/work…
- Aug 27: Resident Evil 4
- Aug 25: The night shift…
- Aug 20: Linux Experiences
- Aug 19: It’s been a long time
- Aug 06: The company party…
- Jul 28: Projects
- Jul 02: Fuck the beach
- Jul 01: Vacation
- Jun 25: Finally, vacation
- Jun 10: Upcoming projects
- May 29: Downtime
- May 28: Damn Honda
- May 06: New keyboard
- May 02: Grrr ITT
- Apr 22: MxO One More Time
- Apr 09: Ninety-nine is always fine
- Apr 08: My poor neglected
- Apr 03: Work school work work work school work school work
- Mar 14: So tired…
- Mar 06: I win the spirit award!
- Feb 27: Finally made the switch…
- Feb 26: So much work…
- Feb 22: Year 1: ITT
- Feb 21: Lack of updates
- Feb 18: ViaTalk: Week 1
- Feb 17: Server migration successfull
- Feb 16: Server Migration
- Feb 09: It’s been a while…
- Jan 24: 21
- Jan 13: Episode 3
- Jan 08: Badass mofo
- Jan 04: The Forty Grand
- Jan 02: ITT Tomorrow
2005
- Dec 17: Tales of Symphonia
- Dec 11: Honey I Shrunk The Kids
- Nov 30: Back to school