Deep insights from our research and experience

Thumbnail image for Dynamic Test Servers with Salt

Dynamic Test Servers with Salt

One of the things I love about the DevOps movement is how (when done right) it empowers developers to work with infrastructure in a safe and controlled manner. Once you’ve nailed down deployments to a static set of servers (production, …
Thumbnail image for The Trouble with Thumbnails: Part 2

The Trouble with Thumbnails: Part 2

In this long overdue follow-up to Part 1, I’ll be discussing the infrastructure issues associated with creating and serving image thumbnails at scale. The naive solution to generating thumbnails is to declare the image sizes you want in your templates …
Thumbnail image for Django Patterns: Fat Models and cached_property

Django Patterns: Fat Models and cached_property

One of my favorite patterns in Django is the combination of “fat” models and cached_property from django.utils.functional. Fat models are a general MVC concept which encourages pushing logic into methods on your Model layer rather than the Controller (“view” in …
Thumbnail image for Linting SCSS with sass-lint

Linting SCSS with sass-lint

Linting SCSS with sass-lint Complex projects always require multiple developers and design heavy web sites are no exception. Sass/SCSS is still our language of choice when writing CSS, both for its wide support and flexibility. The latter can be a …
Thumbnail image for Django Anti-Patterns: Signals

Django Anti-Patterns: Signals

Django’s Signal Dispatcher is a really powerful feature that you should never use. Ok, it has valid use cases, but they may be rarer than you think. First, to dispel a misconception about signals, they are not executed asynchronously. There …
Thumbnail image for Multiple Sites with Routing in uWSGI

Multiple Sites with Routing in uWSGI

In another of our “you can do that?!?” with uWSGI posts, today I’ll show you how to use uWSGI to host multiple sites and properly route traffic based on the hostname to those sites. Multiple Sites (aka Emperor Mode) uWSGI …
Thumbnail image for 10 Years of Lincoln Loop

10 Years of Lincoln Loop

April marked Lincoln Loop’s 10th anniversary in business. As I reflect on that, I find myself going through all the typical platitudes: it’s been a roller-coaster ride, how proud I am of the team, looking forward to another 10 years, …
Thumbnail image for Serving Static Files with uWSGI

Serving Static Files with uWSGI

Serving Static Files with uWSGI As noted in a previous post, uWSGI is a Swiss Army knife of functionality. One of its features is a built-in static file server. When to Use uWSGI for Serving Static Files While it may …
Thumbnail image for Have You Heard About LXC Containers?

Have You Heard About LXC Containers?

Virtualization technologies have been around for a while in various forms and over the last several years the container style of virtualization has become popular as a complement (or replacement) to VMs (Virtual Machines / hypervisors). The first half of …
Thumbnail image for Debugging Go Code

Debugging Go Code

Four years ago, I wrote a blog post called Introduction to Go Debugging with GDB. At the time, the only option was the GNU debugger. Even the official Go documentation page on GDB doesn’t set the bar very high: GDB …