Taming AppEngine Projects with Buildout
AppEngine's Python dependency management amounts to "throw everything into the 'lib' directory," which can lead to environments which are difficult to maintain and even more difficult to setup in the first place. In this guide, I show how Buildout can be used to tame AppEngine projects and bring automation and maintainability back to a project's development, deployment, and dependency manangement.
Auto-completing Google Contacts in Vim
Use this vim omnicomplete function to auto-complete your Google contacts' e-mail addresses when composing messages in mutt.
On Taking Care
In a recent posting, Ryan Dahl, creator of Node.js, wrote about how he hates "almost all software" and the pointlessness of taking care when writing it, customizing our environments, etc. His main thesis--that only the user experience matters--is an easy one to agree with, but it's not the whole story.
Thinkpad T420 Review
The new Thinkpad T420's cutting-edge specs, competitive price point, functional design, and magnificent keyboard make up for a few shortcomings. I chose the T420 loaded with Fedora to replace my MacBook Pro and I've never been happier with my computing environment. In this post I review the laptop itself and how it stacks up against last year's MacBook Pro; a later post will discuss the switch back to Linux.
Applying to YCombinator: Tips for Standing Out
This year I've had the opportunity to read through quite a few YCombinator applications. This article takes you through what I consider to be the important parts of the application and tips for standing out in them.
TDD: For a Better, Happier Developer
Test-Driven Development (TDD for short) is a software development methodology that says, "Thou shalt test before implementing." TDD is something that requires a bit of practice and understanding to really grasp; this post aims to explain why that effort is worth your while.
Keeping Up With The Pythonistas
Learning a programming language is easy; becoming adept enough to wield it in an efficient, maintainable manner in a professional setting is a never-ending journey. Along this journey, I've gained knowledge and insight from the Python community that no book could possibly provide--and aggregated some highlights in the form of community members here. I hope they help you as much as they have me!
Hell, It's About Time.
Wherein I describe the purpose of this site. Riveting stuff.