Skip directly to content

Order the Octopus

When I lived in South Africa, I was immersed in a culture very much unlike the one I grew up in. I knew I wouldn't be there forever, so each time I went to the grocery store, I made it a point to pick up something I had never tried before. Because of this, I got to try Ostrich, Koeksisters, Samosas, Maltabella, Astros, Weet-bix, Litchi... even Chicken Feet. To me, it was just one small way I could intentionally step outside my comfort zone.

A few months ago, (now in Washington DC) I was sitting in a restaurant and while looking down the menu I saw an item labeled "Charred Octopus." My first thought was "why would someone order 'charred' anything?" But after that, I thought about my time in South Africa… and then I ordered the octopus.

Trying new food, when you get the opportunity, is a trivial thing, but the principle behind it is important to me. In the few short years that I'm on this earth, I want to drink deeply from the well of life. I want to understand this world I'm living in and where I fit in and how I can make it a better place. It's in pursuit of this understanding that I find myself trying new things for the sake of trying new things. It's about embracing change in life. Breaking out of routines. Keeping yourself on your toes. In this way, my life is more interesting, my conversations are more rich, and I become less resistant to change.

Next time you think about calling the same people, watching the same television show, taking the same route to work, eating the same breakfast… just don't.

Order the octopus instead.

Usability 2.0

With the proliferation of apps and a new generation of web services, the bar for software usability has been raised.

If your software isn't simple enough to use, it will be replaced and obsolete in a few short years.

Some used to believe that the complexity of the task being done (accounting, 3D Modeling, statistics, etc.) forced the software to be complex. That was before products like Mint, iMovie, and Mailchimp proved them wrong.

How simple is good enough? If it requires to user to read documentation, it isn't good enough.

This is an Amazing World

Last month I made my first open source contribution. You can read about the project in detail here, but I just wanted to point out something amazing.

I wrote most of the code in November and submitted it for review in December. It was first tested by a guy in Pakistan, and with his feedback I made changes. Then it was tested by a guy in Boston. Once again, feedback and changes. Finally, it was tested and approved by a guy in Austria, and promoted to full project status by a guy in Germany.

While I waited to get feedback, I also tested code for a guy in Spain, a guy in San Francisco, and a guy in the United Arab Emirates.

When was the last time you collaborated with 7 people from 6 different countries, ad hoc, over a two week period, to bring forward some common work?

This is an amazing world we live in.

Writer: A Blogging Theme for Developers

I'm happy to introduce Writer, a Drupal theme designed for developers who blog.

The story is quite simple. I am a front-end developer who blogs. I searched the Drupal theme repository, but I was unable to find a blogging theme designed specifically for developers. So I made one.

This theme was designed using three driving principles:

  • Brutally simple design
  • Fantastic typography
  • Support for code snippets

These principles guided me through the trade-offs and helped me make various design decisions. Let's get into the details.

Brutally simple design

Developers have different needs than other bloggers. They don't need sponsors or advertisements. They don't need dancing emoticons or pink text on a purple background. They need... well, I wasn't exactly sure what they needed. So I began asking them.

Design-wise, the answer was always "something simple." Basic. Clean. As I continued my research, I looked up the blogs of many prolific developers to see what designs they used. Lo, and behold, the pattern was the same: "something simple."

... and others like the blogs for Armin Ronacher, Brandan Lennox, Wynn Netherland, Daniel Eden, Brandon Keepers, Frank Chimero, and Geoff Greer.

After checking out those designs and being sufficiently inspired, I brought my favorite attributes from all of them into Writer. Some of those attributes were:

  • Three-tone color Palette: #F7F7F7, #888888, #292929 (There's just something nice about nearly-black on nearly-white)
  • Single column layout. Say no to sidebars.
  • The golden ratio (1:1.62) was used for font and line-height relationships.

Fantastic Typography

On a design this simple, the typography is extremely important. This theme uses three fantastic fonts:

These fonts are all hosted by Google Fonts and it's almost embarrassing how much time I put into finding and selecting them. Huge thanks to these font builders who chose to share their craft free of charge. I'm really pleased with the result.

Support for Code Snippets

If you had 4 hours to dig around through Drupal contributed modules and third party libraries, you could figure out a way to get styled code snippets on your site. But you don't have that kind of time, so Writer comes with 4 code styles out of the box. Just go to the theme's settings (at /admin/build/themes/settings/writer for Drupal 6, and /admin/appearance/settings/writer, for Drupal 7) and select the one you want.

Image showing theme settings for code snippets

This table shows what each style looks like for blocks of code (left) and for inline code (right).

Image showing examples of the four code snippet styles

You can also see the live demo here.

To invoke the style when you are blogging, wrap blocks of code in "pre" tags or wrap inline code with "code" tags.

Image showing examples of how to render styled code snippets

That's all there is to it.

A higher purpose.

There are many great Drupal developers who continue to use Garland or Bartik (the default Drupal themes) as the theme for their blog. These themes are fine but they were never designed to be used for a blog (not to mention that some would say their overuse has made them tacky). I don't blame them too much... their alternative options are often bleak. Sometimes when I browse themes at Drupal.org, I feel like I'm browsing the web in 1994.

We developers deserve better.

What does RTBC mean?

If you ever spend time in the Drupal.org issue queues, the Drupal forums, or Drupal-centric IRC chatrooms, you'll see people mentioning RTBC. But what does RTBC mean?

RTBC means "Reviewed and Tested by the Community"

Let me use an example. Lets say you have made changes to a file and you submit those changes for inclusion in Drupal in the form of a patch. That patch is uploaded through the issue comments on Drupal.org where other people can see it. This begins a process whereby people try out your patch and set the issue status as "Needs Work" whenever the patch needs more work, or "Needs Review" whenever the patch has been updated and needs to be reviewed again. If the patch is reviewed and the reviewer finds it in good working condition, then that reviewer can set the status to "Reviewed and Tested by the Community."

Other information about RTBC:

  • Anybody with a Drupal.org account can set a ticket to RTBC.
  • RTBC status should be set by the person who tests the update and finds that it passes all relevant criteria.
  • The person who updated the code should not set their own ticket status to RTBC.
  • Once an issue has the status of RTBC, somebody with 'commit access' gives it another review and, if it is good, commits it to the project.

Pages