Posts

All Posts in Programming

January 22, 2012

Simple Feature Flags for Rails + Mongoid

Selectively rolling out new bits of an app using feature flags isn’t exactly a new idea. But being reminded of it during the keynote preceding the overall awesomeness of Heroku’s developer conference last week, right in the midst of my work adding more and more faster and faster to Fullscreen’s products, made me think that it was high time we got something like this hooked up.

Like any properly lazy developer, the first thing I did was search for a gem that could do this shit for me. And there were a few. And some looked pretty good. But the basic use cases for this feature were totally simple and concrete.

1. Enable and disable a feature on a per-user basis
2. Enable and disable a feature globally

And since I was looking for an easy feature to start learning TDD on (a post for another time) I figured I’d do it myself. Read more

November 16, 2011

Git: Stashing

There have been a lot of times when I’m caught in middle of getting ‘er done on some fix or feature and need to update the branch I’m working on with someone else’s work. I usually try to git pull origin whatever and then I’m rudely reminded as the merge fails that I have one or more dirty, dirty files with uncommitted changes. Read more

November 09, 2011

I Got A Lot To Teach, But Even More To Learn

TL;DR: I never remember anything, so in an attempt to stop forgetting I’m going to start posting code and design hints and hacks as I discover them, even when they’re easy or old or obvious.

I’m probably always gonna be a bit like a bull in a china shop when I run into something I don’t understand. I smash through like seventeen browser tabs and Stack Overflow and some Google Groups post and another random mailing list and I try one thing and try another and then it works. And then I forget everything just in time to do it all again then next time.

After years of hacking away with design tools and programming langages like this I know, like, just enough to be dangerous about a lot of things. I don’t want to be just dangerous enough, though: I want to be really really dangerous.

I want to know as much about the tactics and details as I do the principles of designing and building software products, and I’m lucky enough to do things that teach me something new every single day. So from now on, whenever I pick up some little hint or tip or hack, whether it’s mind-blowingly head-exploding or really obvious, I’m going to throw up a little post about it. It may or may not help someone else, but it’ll definitely help me.