Dev Posts
All :: Dev :: Mgmt :: Blog :: Links
Programming/developer related stuff I’ve written about.
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: 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]
2023
- Dec 23: PagerDuty’s Incident Response docs [Link]
- Dec 04: Hidden secrets of the FN key [Link]
- Nov 29: Automate updating custom Homebrew formulae with GitHub Actions
- Nov 28: Reorganizing my ~/Sites directory
- Nov 20: The Bluffer’s Guide to The Mythical Man-Month [Link]
- Nov 02: Tracking sqlite3 changes in git [Link]
- Oct 28: Custom iOS Wallet passes [Link]
- Aug 18: oo - open recent Obsidian files with FZF
- Aug 03: Thoughts on Laravel from a Rails veteran
- Jul 26: Sharing git repos between two system users
- 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 03: SvgPathEditor [Link]
- Jun 30: My favorite shell aliases
- Jun 27: macOS defaults list [Link]
- Jun 27: macOS CLI Commands [Link]
- 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 03: Creating a wedding photo gallery
- Apr 29: My bin: license
- Mar 29: AWK technical notes [Link]
- Mar 18: gh-prq - open GitHub Pull Requests with your $EDITOR
- Mar 18: My bin: headers
- Mar 02: I Will Fucking Dropkick You If You Use That Spreadsheet [Link]
- 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 10: Get Calendar.app week number via CLI
2022
- Dec 29: Speed up ZSH compinit on slower systems [Link]
- Nov 20: Hacker News Parody Thread [Link]
- Oct 31: Selenized theme [Link]
- Sep 12: GitHub profile tricks [Link]
- Sep 09: Using Vim to convert MySQL output to CSV
- 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: Slack’s scrollbar [Link]
- Aug 30: The Rails Attributes API [Link]
- Aug 29: 90s cursor effects [Link]
- 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: Silencing “last login” message on macOS terminals
- Aug 17: `~/.ssh/config` includes
- Aug 09: Pi-hole/DNS configuration gotcha
- Aug 05: Let’s Encrypt for Pi-hole
- Jun 29: My favorite Bash resources
- Jun 26: Jekyll image galleries in 2022
- Jun 20: Amdahl’s Law
- Jun 17: Pull Requests start conversations
- Jun 16: Did you know: wildcard SSL certificates and subdomains
- Mar 16: gh-render-markdown extension
- Feb 16: Some web color tools
- Feb 08: My recipe site
- Feb 08: Vim Tips: Writing ASCII lines quickly
- Feb 08: Shell Tricks: Better Bash debug
- 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 25: Fun with jq and Tautulli
- 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
- Mar 24: Using direnv to set a custom git email for work projects
2020
- 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
- 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 19: My Vim Setup
- 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: 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 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 10: Building GitHub Pages Locally
2013
- Jul 16: Documenting with TomDoc and GitHub Pages
- May 30: RSpec and vim-dispatch
- May 28: How We Hack At Site5
- May 16: SSH Escape Sequences
- Mar 19: Bash Arguments with $* and $@
- Feb 23: Xcode 4.6 and ruby-build
- 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
- Sep 21: Validating Serialized Attributes in Rails
- Sep 05: Restoring files from OS X Time Machine with Terminal.app
- Jul 26: Upgrading to OS X Mountain Lion
- Apr 26: Railsconf Links
- Apr 03: Splitting git repos with git filter-branch
- Mar 29: ZSH Tab Completion for Bundler Binstubs
- Mar 21: Splinter, the Capybara Ninja
- Feb 14: Patched ruby 1.9.3-p0 is sexytime
- Feb 10: Vim 7.3 on a shared host
- Feb 10: Allow binding ctrl-s and ctrl-q in Terminal.app
- Feb 07: marked.vim
- Feb 03: Why Jekyll pwns WordPress
- Jan 30: Rainman is a very good driver
- Jan 30: Jekyll and Vim
2011
- Jul 25: vim stripper
- Jun 16: Snuggie: a ruby gem for the Softaculous API
- May 27: FannyPack: Ruby bindings for the Fantastico API
- Apr 22: Theming Liberty Sports Group with WordPress
- Apr 21: MiniDB, a cute little wrapper for PHP’s PDO
- Apr 04: Jekyll TextMate Bundle
- 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
2009
2008
- Jul 26: Asterisk Manager Commands
- Jun 10: OS X: Fixing the Terminal
- Apr 13: jQuery, nothin’ but love for ya
- Mar 04: Asterisk on Ubuntu Server
- Feb 17: Random Date Helpers
- Feb 05: Kate Project Manager Plugin on Kubuntu
2007
- Dec 30: New Development(s)
- Oct 06: AIM Web Presence API
- Jul 05: Code Folding in Vim
- Jul 02: tar over ssh
- Jun 23: Vim 7 on a Shared Host
- May 26: Good times with rar
- May 06: Linux - unzip
- Apr 10: Password Protect Directory (Manually)