Enabling Wifi in Raspbian

I’ve started playing around with a Raspberry Pi recently. It’s pretty slick, but there are a few gotchas I’ve run into, particularly regarding wifi. I’m using a Model B Raspberry Pi which came with a USB wifi dongle, since my TV and router are not in the same room. With raspbmc, it asks for your ssid and passphrase, but with an image like raspian, you have to configure the settings yourself. Read On →

Testing Salt States Rapidly with Docker

At Mediafly we have been using Puppet for a lot of our configuration management. While it does the job, it’s a little opinionated and a little more complex than I’d like. I’ve been using Salt a lot lately outside of work and I love the simplicity. I’ll save my opinions for another post, but I guess if I’m writing about it that means I enjoy using it, right? In conjunction with that, we’ve also been experimenting a lot with Docker. Read On →

Stub Remote API Calls Locally with Nginx

One of the things that makes distributed systems development somewhat of a challenge is interacting with all the remote APIs that your system requires to function properly. I find this a challenge when developing on the train (as I spend over 2 hours a day on one). 4G LTE is great and all, but there are dead zones and dropouts that make some API calls annoyingly long to respond. Lately I’ve been messing around with stubbing out the remote calls locally using nginx, so I thought I would share how I do it. Read On →

One Reason I Like LINQ in C#

This is one of my favorite things about LINQ in C#. This code: var nonBlank = false; foreach (var byteval in arrayOfBytes) { if (byteval <= 0) continue; nonBlank = true; break; } Becomes this code: var nonBlank = arrayOfBytes.Any(byteval => byteval > 0);

SQLAlchemy Deferred Column Loading

We have a small monitoring Flask web app using SQLAlchemy that we use to keep an eye on the status of some jobs in our processing pipeline. Yesterday we noticed that our DB was getting nailed everytime we refreshed the main status screen, which does NOT show the stack trace (which can be VERY large for big jobs). We needed a way to only pull those fields when they were displayed, but at the same time I didn’t want to have a seperate model just to use on the main status screen. Read On →