Writing on software design, entrepreneurship, and whatever else is on my mind.

My ramblings on programming, product development, and more, collected in chronological order.

Introducing a Fresh New Look

This past weekend, I finally decided it was time to refresh things around here. Despite the fact that I still felt the old design looked pretty good, I didn't feel that the underlying technology and overall feel were particularly reflective of how I (or, increasingly, anyone) build sites these days.

JavaScript Sorting Algorithms

I had the privilege of attending jsDay last week in Verona, Italy. One of my favorite talks during the two-day event was titled...

WordPress Multisite Architecture with the Theme Features API

Lately I've found myself working with an ever increasing number of WordPress multisite installations, each built with a slightly different approach than the others. As a result, I've spent a lot of time thinking about how to architect these networks to maximize code clarity and maintainability.

Separation of Concerns

In short, separation of concerns is a guiding principal in software development centered on the idea that programs should have distinct sections, with each section being responsible for its own concern.

Turning Passions Into Side Projects

Up until recently, I've never been great at launching my side projects, though... they were always something I just toiled away with until I had the knowledge I wanted, then I'd ditch them.

Managing Critical CSS

When it comes to optimizing performance, there are a ton of little things that we, as developers, can do to squeeze every last ounce of speed out of our sites. One of these methods involves inlining the CSS for elements that appear.