Git Basics - getting started on the command line

Tools like Git desktop and Acquia dev desktop allow people to use Git without understanding how it actually works. These tools are a fantastic on-ramp to the world of Git, but at some point I hope that everyone gets a chance to work with Git directly from the command line. This will complete your understanding of what happens when you push those buttons in the desktop applications, and make you better at using both! Here are some basics to get started.


My first theme for Backdrop CMS

I tasked myself with rebuilding my dad's old Durpal 6 site,, to Backdrop CMS in one weekend.

I decided to rebuild from scratch rather than upgrade so that I could test more of Backdrop, and catch and fix bugs in the process (I found a handful - all now have PRs in the queue). After the site was built, I then needed to recreate the theme.

The great cleanse: Removing features from Backdrop CMS

Today while documenting all the modules that we've removed from core in Backdrop CMS, I realized that we've also been removing a lot of other cruft that's making the system lean and mean. I'd like to document all that for you here (but mostly for myself, for future reference).

Here's the list of modules that have been removed from core:

Introducing Backdrop CMS, a Drupal fork

I love working with Drupal. I feel fortunate that I found a software and a community where I can work for work, and work for play. It's not everyone who gets to do what they love every day. I get to interact with amazing people from all backgrounds and walks of life, share what I learn, and learn from others. I especially like that this community can often agree to disagree.

Keeping your Drupal site up to date with Git and Drush

I don't recommend trying to stay 100% on top of all updates for all of your modules all the time. However, when a security update becomes available for one of your modules, you should certainly make that update as soon as is reasonable. And while you're at it, that might be a good time to bring everything else up to date as well. Below is my recipe for keeping modules on my Drupal sites up to date, by using two of my favorite development tools, Git and Drush.

Drupal, text formats, and HTML filtering

Drupal's HTML filtering is an important security feature - we wouldn't want any blogger to be able to post JavaScript tags because that's how XSS attacks - or worse - are launched. In Drupal, unlike other blog systems like WordPress, you can't assume that the people who are allowed to create content are trusted. On many Drupal sites anyone can sign up for an account and start blogging. If those sites allowed JavaScript tags or even form tags to get through the filters it would quickly become ripe with bots and bad people doing naughty things.

Using MAMP for local Drupal development

I use MAMP for my local Drupal development on my Apple computer.

If you would like to do the same, first download the most recent version of MAMP and install it locally. When you are done, you should have directories for both MAMP and MAMP PRO in your /Applications directory.

To run the application, double click inside the MAMP directory. Once it's up and running, you should see a MAMP widget with a cute elephant icon.

Effective use of the Issue Queue

I often hear from people that they are nervous about using the issue queue on This is understandable, the issue queue can be a scary place! Say the wrong thing in the wrong way, and your favorite drupal developers turn into grumpy curmudgeons and mark your issue as 'won't fix'.

Today, I walked to through the process of creating an issue with a friend over lunch, and thought it might be useful to post it here as well. Below you'll find the basic ingredients for creating an issue in the queue.