- Consul leader election issues
- Nix
- A risk-based approach to open source strategy
- SREcon 2023 trip report
- Understanding Etsy's search service migration
- Feature Flags, Dynamic Config and Experimentation (oh my!)
- Git pre-receive hooks for deployment
- re: Zettelkasten concerns
- An attempt at defining an ideal pipeline
- My thoughts on crypto: 2022
- the function '..' is not known to be defined
- Governance versus Stewardship
- Federated GraphQL Ops with Apollo Studio
- Learning from Production Incidents
- First and Second order metrics
- Is web scraping ethical?
- Biogas Digestion system.
- How to make a font on Ubuntu with PPAs
- Whiteboard photo snapper
- Serene Lake
- Stub Stewart Bike Ride
- Software engineering vs other engineering
- Understanding the formal definition of Big-O
- What is an algorithm?
- Will binary always be the lowest level way to program?
- An overview of Guice
- Nifty tools for my system
- X.org
- Literate API Testing with Dredd
- Altruism in the job hunt
- MicroConf 2015 Recap
- Real-time code coverage analysis
- My Emacs Configuration
- Inheritence versus Composition
- New programmers shouldn't learn vim or emacs.
- Imhotep helps you enforce your styleguide during code review
- Meaning of Community
- Why a community might want a Python Software Foundation
- Thinking like a programmer: Inputs & outputs
- Setuptools Entrypoints Explained
- PyCon 2014 was awesome
- Pull request templates make code review easier
- NodeConf 2014: A story of aspiration and community
- Node Knockout: A chance to play & experiment
- Obseletion through Programming
- Book Review: Backbone.js Testing by Ryan Roemer
- Selenium's Page Object Pattern: The Key to Maintainable Tests
- Javascript Refactoring without an IDE
- A list of scary topics.
- Pricing books as a function of risk
- Big-O is easy to calculate, if you know how
- Thinking of Databases as an Excel file
- The State of GitHub's Code Review
- Big-O notation explained by a self-taught programmer
- Finding Unused files with Require.js imports
- PyATOM for static site syndication
- PyATOM for static site syndication
- setup.py, distutils and testing.
- Why Pisces?
- Securing your email
- Meaning is not zero-sum
- Converting from MySQL to Postgres
- Ignore Django, write testable code
- Converting from MySQL to Postgres
- Project Structure for Advanced Beginners
- Why I changed my name
- Cellphone Plans for Geeks
- Gittip: New, Interesting, Important
- Personal Philosophy
- Literate programming with org-babel
- Tools I use: Git
- Things I Use: Zsh
- Tools I use: Tmux
- EasyMock for mere mortals
- Django at 30,000ft: A Manager's View
- Vim & Python: Making yourself at home
- Writing a static site generator using org-mode.
- Bash: Your forgotten friend (part 1)
- Bash: Your forgotten friend (part 2)
- Bash: Your forgotten friend (part 3)
- Emacs: Being Productive
- Emacs: Introduction & Installation
- Emacs: The Mindset, A contextual shift
- Developing a Personal Brand
- Google account suspended: A post mortem
- Importance of Documentation
- Javascript unit tests with JS Test Driver
- Most Used Programs: An Index
- Top 5 Bookmarklets
- Versioning Production Settings
- Using Database views with Django
- Customizing Django Forms Multiwidgets
- Django Portfolio Application
- django-voting: A brief tutorial
- Django, PyISAPIe and IIS
- Domain Sniffing Middleware
- Emacs and Transmit: Remote edit Fix
- Fixing your models subdirectory
- Speedy Google Code Checkouts
- Macports and PYTHONPATH
- NameError: global name 'log' is not defined
- psycopg2 Internal Error
- Piping to stdout when using BuildBot
- Vim: My new IDE
- Vim Screencast: An Introduction
- Vim Screencast: Macros
- Vim Screencast: % Operator
- Vim Screencast: Selections
- 6 things I learned about setuptools
- Using test generators to save time
- Virtualenv Wrapper Helper
- My motivations for choosing emacs
- GTD Excel File