Hi, I'm Mike! I'm a web nut and Drupal expert at Phase2.

I also do Drupal site audits and Drupal consulting on the side. Shoot me an email!

How Drupal 7 Works, Part 3: The Router

This is a chapter out of my in-progress book, Drupal Deconstructed. You can read it online for free, download it as a PDF/ePUB/MOBI, or contribute to it on GitHub. Alright! Now we're getting...

How Drupal 7 Works, Part 2: The Bootstrap

This is a chapter out of my in-progress book, Drupal Deconstructed. You can read it online for free, download it as a PDF/ePUB/MOBI, or contribute to it on GitHub. So George's request for /about-us...

How Drupal 7 Works, Part 1: The Request

This is a chapter out of my in-progress book, Drupal Deconstructed. You can read it online for free, download it as a PDF/ePUB/MOBI, or contribute to it on GitHub. Have you ever wondered how Drupal...

Drupal 7 Deconstructed

For years now I've wanted to dig through Drupal core, line by line, and understand how the big pieces do what they do. I'm finally doing that, and writing up my notes as I go. Drupal 7 Deconstructed...

Always Be Respondin'

My #1 absolute top priority as tech lead for any given project is to make sure everyone else has everything they needed to be as productive as possible. A huge part of this just means answering every...

I wrote a book for O'Reilly: "Responsive Theming for Drupal"

My book "Responsive Theming for Drupal" has been released! O'Reilly Amazon Barnes & Noble In it, you'll find: An introduction to responsive web design A simple process for adding...

Lean Drupal breadcrumbs

Ah, breadcrumbs, how I hate you. Such a tiny little piece of a site, yet so much complexity and time spent. For some clients, you would think this is their number one must have feature based on how...

Tinkerers, freedom fighters, and trusters

Being a Linux fanboy, I've done my fair share of thinking about my choice in OS, particularly when defending it. Just yesterday, my wife not so subtly hinted that I should just be using Windows or a...

Drupal and “Invented Here”

We’ve all heard the term Not Invented Here (NIH) thrown around. It refers to a phobia of using technologies that weren’t developed in-house. What some of us might be a little less familiar with is...

Marking Gmail read with Apps Script

Recent versions of Android give you the ability to Archive an email right from the notification bar: I use this like 30 times a day, for emails that I can tell from the subject that I don't need to...

Making a Drupal bookmarklet

Last weekend I built/launched Frugalzon, which is a little hand-curated list of cool stuff on Amazon for $10 or less. (It's still new and fairly empty, but give it time!) The Drupal site itself is...

My email workflow

(This is a follow up on my post about being a good coworker in which I discuss a method for dealing with email efficiently. If you don't have trouble keeping up with emails and replying quickly, then...

Take advantage of Drupal upgrades

Drupal's upgrade mantra has always been "we will break your code but we won't break your data" and for that reason, Drupal core and contrib maintainers typically spend a lot of time and effort in...

AngularJS's declarative markup

Every time a discussion of AngularJS pops up, someone inevitably brings up the fact that Angular wants you to add custom ng-* attributes to your markup. They say that we worked so hard to get away...

Debugging Drupal emails

So your Drupal site doesn't seem to be sending any email. Bummer. Here are some steps to debug the issue you're having. Step 0: Check your spam folder As always with email related...

Hire me!

One of the parts of the Drupal dev process I've always really enjoyed is the planning phase. Usually, this includes two parts: Auditing the current state/code of the Drupal site (if there is an...

The professional coworker

I tried to keep this post as ranting-free and preaching-free as possible but it was difficult, so please try not to complain about that. I did my best. In my line of work I've met a lot of great...

Converting Drupal data to Mongo

Converting an existing Drupal site to MongoDB All the cool kids lately are using MongoDB field storage to scale their Drupal sites. That’s all fine and dandy if you use it from the get go...

Drupal's Golden Handcuffs

Drupal's main draw is that it gives you the power to do an insane amount of work with zero coding. This is both its blessing and its curse. The blessing Drupal is great for developers for exactly...

Nerf guns don't matter

I'm seeing it more and more--job descriptions with perks about nerf guns and happy hour, or new grads who joined a startup and are bragging about ping pong tables and free coke. This is apparently...

Coding skill vs. employee skill

At the extremely basic level, there are basically two good qualities that each programmer should strive for: programming skill and employee skill. Programming skill is basically the ability to write...

Switching to Arch Linux

So you're thinking about switching to Arch. Here are some things you should probably know first. (I'm assuming you already know all the great things about Arch -- otherwise, you wouldn't be thinking...

Taco Bell Programming

If you haven't read Ted Dziuba's post on Taco Bell programming, go do that now. It's really a great post. The gist is basically that we can and should be writing programs using the stuff that's been...

My minimalist setup

I recently completely changed the setup on my main laptop to something much more minimal than what I was running before (vanilla Ubuntu). I decided to post this braindump here just as a way of...

Tiling window managers

I've never used a tiling window manager before, but lately I've been doing more and more with the command line, and I've been using vim-only for almost a year now, so it seems like a natural next...

Why would anyone use vim?

(Note: this is a post for vim newbies. If you're an experienced user, you won't find anything new here) I recently switched to vim full time after years of asking myself that question. It seemed...