This Blog

I have a confession.

Sometimes when I find a new blog I like, or even an old favorite, I like to read the first post. The very first post. Nothing points to the truth of something quicker than its beginning.

I say all that to say that this blog never had a proper beginning. It just starts with a post about digital storytelling resources. It doesn’t give you any clues, lay any groundwork or provide any humor or suspense. You have no idea where I’m headed or what might make me get up in the morning.  Shameful, really.

So I’d like to give you a few of those in this post. Here’s goes…

The trouble with starting something is that it’s usually a good idea to know what direction you want to go in when you begin. Not necessarily where you’re going, but a direction. I had no idea when I started this blog in 2009. I have a better sense now, of course, but I won’t say that these things will never change or evolve.

From Stories to the Story of Me

I use to write stories every day as a reporter. Telling a person’s story was a privilege. One that I never took lightly. I think that’s part of what made me so bad at telling my own. I always felt uncomfortable writing about things I knew, learned or did. And I put this pressure on myself that it all had to be worth reading by even the harshest of critics. I struggled to put into words that in 2009, I was a bit lost – my story was a rough draft.

I came out of grad school at Elon, starting this blog as a class assignment (you’ll still find some assignments here). Did I want to stay in the content realm, do design or dive into development? I didn’t know and my blog content reflected that. Now, I’m a front end web developer with a passion for accessibility who thinks writing code is a lot like writing stories. I’m a new dad, a CrossFitter and addicted video gamer. And yes, I still like to write.

So where does that leave us? Me, the writer and you, the reader?

I’m getting better at telling my own story. I’ve nuked a lot of blogs over the years in doing so. Writing is a process, as they say. I feel more comfortable hearing my own words and not just my words setting the scene for someone else. I’ve realized lately that if I read this blog 30 years from now, I’d want to get a complete sense of who I am. Not just what I did at work or in the open source arena. These are my words and it’s also a privilege to publish them so I put as much of the story on the page as I can.

I’m going to post on more of a variety of subjects, from professional to personal, but only if they add value. We’ll see how it goes, but I know one thing. This is only the beginning.

WordPress as a User

I use WordPress every day, but not like your average user.

I build things with it. I write code for it. I test it. I try to push it to places it hasn’t been before. I rarely just log in, fire up a beautiful theme, download a plugin or two and start publishing. That’s sad.

So with two recent ideas, I decided to do just that. No custom development. No stretching my own skills. I set a goal to create with just words and pictures. I now have two WordPress sites that I’m really enjoying.

Case One: Baby Blog

I launched a baby log for our daughter, Skye, who was born May 17th. My wife and I wanted control over the content we put online about our daughter and didn’t want it scattered across several social networks. So we started a simple, private WordPress blog. It includes:

The theme brings a playfulness to the site that we love, plus it doesn’t hurt that we themed the nursery to be “baby animals.” πŸ™‚ The combination of plugins allows us to administer a private WordPress site for just family and friends with open registration. That means people can register, but can’t access the site unless we approve them. Not to mention, all the content sits on servers we have access to at any time.

We have more than 25 posts already and no HTML, CSS or JavaScript has been written in the process. Win!

Case Two: Code Journal

As I worked on a WordPress project a few days ago, I realized I wouldn’t need a feature I’d built any longer. No one would ever see it unless I saved it somehow. But how?

A text file would probably work, but if I added a bunch of code snippets, it would become difficult to maintain. I could use something like Simplenote, which I love, but it doesn’t deal with code well. I remembered I’d heard Alex King talk about Capsule on a recent podcast I’d listened to a few months ago. So I went through another famous, five-minute install. This time, I kept it even simpler:

That’s it! I now have a super-custom, private code journal that I can add to at any time from anywhere. Easy! I’ve already saved all the code from that almost-lost feature. Future blog post on that coming!

What I Learned

Writing and publishing on these two sites has been a freeing experience. I need to create more; write more. Period.

I’m not bogged down in making the theme or functionality perfect. My family has loved seeing all the photos of my daughter. And I’ll have those for years to come! I like that I now have a home for the bits and pieces of code that might be useful later, or helpful to someone else. I hope saving them makes me a better developer.

It also made me realize, to some degree, how lightweight WordPress really is… You can’t do much in the way of a focused blog, like these two use cases without a few plugins. That’s interesting to me.  People say WordPress is bloated, but maybe not? That doesn’t matter to me right now though. Because I’m just publishing…

Hello 2014

I realized a few days ago after listening to the Non-Breaking Space Show’s Year End Spectacular that I hadn’t posted about my new year’s goals in 2013. Lame. I did in 2011 and 2012.

A Review

So let’s fix that this year. First, a quick review of 2013.

On to the goals! I do best with goals when they’re few and focused. After all you can’t become proficient at something when you don’t work at it, and you can’t work at something if you lack the time.


  1. Keep contributing to the WordPress Accessibility team. I’m excited about all the progress we’re making.
  2. Release Accessible Alexandria and Accessible D.C. The world needs more accessible websites.
  3. Start writing a book on accessibility. I’ve always wanted to write a book.


I’m still working on these. More on those later. πŸ˜€

Now, let’s get to goal smashing!

Hello Accessible Zen

I put a new coat of paint on my site this past weekend. If you follow me on Twitter, it may look familiar. It’s my Accessible Zen WordPress Theme, something I’ve worked on a lot recently and have been writing about on my blog.

I know. I know. It hasn’t been that long since my last redesign. But here’s the thing. I had to put this theme on my site. That’s how much I like it! πŸ™‚ Plus, it’s a way for me to “eat my own dog food” as they say. If it’s good enough for the WordPress community I’m building it for, it’s good enough for me. It’s also helped me squash a few more bugs in the theme.

Some Specifics

I’m running a child theme of Accessible Zen (to help accommodate my custom post types and taxonomies), along with a bleeding edge version of the theme. So things might look a tad different here than the official demo. I’ve added some good stuff for the 0.1-alpha-3 release.

You might be wondering what will happen to my previous theme. I have big plans for it too so stay tuned.

Moving to

There’s something I’ve been thinking about recently. Moving this site to the platform.

That sounds a bit crazy, yes? Especially for a web developer like myself. Of course, the differences abound between and hosting your own installation but moving still appeals to me. Why?

  • I could focus on content more easily, instead of tweaking the site constantly. I do that a lot.
  • I’d get world-class hosting. That’s neat, and a step above my shared hosting! πŸ™‚
  • I’d join a big network of sites and bloggers. I’m liking the direction is headed design-wise and I enjoy the new reader experience.
  • It would be fun to switch themes a lot! (see item no. one)

But what are the drawbacks?

  • I’d lose ultimate control. No more custom themes or playing around with JavaScript on my own site.
  • I’d have to rearrange some content. My projects and photos are custom post types so those would have to become pages without custom taxonomies. Some URLs would break since I use a different permalink structure than the standard one.
  • Achieving accessibility might be more difficult because it often relies on custom tweaks not possible on
  • I’d have a ton of functionality at my fingertips that I wouldn’t use.
  • Potential future employers and/or other web developers might wonder why I don’t use something more custom.

All that said, I feel like it’s even. I first thought seriously about this when I read Ryan Imel’s post about his switch. It’s something I’m not ready to do, but could be in my future.

What about you? Are you a web developer or tinkerer that’s made the switch. I’d love to hear your thoughts. Comment or message me on Twitter.

So Long Gmail

I ditched Gmail this weekend. Permanently.

I had contemplated the move for a long time. One of my friends jokingly responded to my tweet about it with:


It does sound kind of crazy when you think about it, but here’s why:

  • I’d read Marco Arment’s, Let us pay for this service so it won’t go down, and was inspired to rethink how I managed my own data.
  • I liked the idea that my email was mine. No matter what happens to my provider, I can take it with me, both in name and data.
  • I wanted to make things simpler. No more multiple emails – just one for everything.

I’m now with FastMail. Funny thing: I used FastMail as my email provider before I switched to Gmail in 2008. Since then, they’ve seen a lot of changes. Opera bought FastMail in 2010 and recently redesigned the interface. Plus, now you can use your own domain.

I’m pleased with the switch. Pushing the delete button on Gmail wasn’t that hard with a bit of planning. I:

  • followed the import instructions according to FastMail.
  • set up new filtering rules.
  • waited a few weeks to make sure I changed email addresses where I needed to and let everyone know of the change.

It’s good to be in control.

Hello CrossFit, It’s Been One Year

Dave performs push presses during the 2013 CrossFit Games.
Dave performs push presses during the 2013 CrossFit Games.

I started CrossFit one year ago. I can’t believe that much time has passed already, a sign that CrossFit has stuck and changed me in a big way.

It’s given me the perfect balance between strength and cardio. It’s provided a way to satisfy my urge to compete. It’s helped me pay better attention to my health. And it’s something my wife and I can do together.

During the past year I’ve learned CrossFit isn’t so much about reps, sets or the amount of weight on the bar, but about finding your limit and pushing past it. After a recent workout, I mentioned to a coach that I felt like I wasn’t progressing enough.

“That’s because your limit changes constantly,” he said.

So far this year, I’ve already completed two of my three major goals: I did my first rope climb and I recorded a personal best in the deadlift, 235 pounds. I hope to keep pushing the limit forward in the next year and beyond.

Number 34

I turned 34 on Saturday.

That’s kind of crazy. I don’t feel any any older. I never do, but I do feel more balanced and focused. That’s refreshing. Maybe that’s what wisdom feels like?

I realized that I never wrote a New Year’s post, something I’ve done each of the last two years. Today seemed like a good time to catch up on self reflection, plus I always enjoy reading Matt Mullenweg’s birthday posts. So here goes…

Code City

Professionally, I’ve never felt so excited about what’s next than right now. I started the new year with a new job. I’m writing more code, working on two WordPress themes (to be released soon), contributing to the Make WordPress Accessible group, and diving deeper into the accessibility community.

When I first jumped into the web field I was intimidated. It looked difficult to find a niche, a place where I could make a difference. After all, the web offers a lot of opportunities to make it better, but so many talented folks are already in those spaces doing amazing things. Where does someone new fit? It takes time as I discovered. Now, I feel like I finally found my fit in the WordPress and accessibility communities.

Gutcheck Time!

What I loved most about running cross country and track in high school was the mental challenge and the camaraderie among my teammates. During tough interval workouts, I used to yell, “What time is it? GUTCHECK time!” It turned into a rallying cry for our team.

I tried to keep running after I graduated, but I never stuck with it because I missed the people. Last year I started CrossFit and have been doing it ever since.

I love how CrossFit pushes you and your body in every way possible. A few weeks ago I did my first rope climb. Plus, when your fighting your way through a workout, you always have someone over your shoulder with words of encouragement – like that rallying cry I use to yell. It’s the new cross country and track for me.

This Year

I want to build on my progress:

  • Release the two accessible WordPress themes I’m working on.
  • Finish the three goals on the whiteboard at my gym: 1. Complete my first rope climb. 2. Deadlift 225 lbs. 3. Perform my first double-under.
  • Write more on my blog.
  • Keep reading more.

That’s it. I’m trying to simplify my goals more than in years past. See you in my mid-thirties.

New Look, Same Feel

I like to tinker with my own site. I can’t help it. πŸ™‚

It has to be this way. I think a developer’s personal site should constantly evolve. It hasn’t been that long since my last site refresh, however this time I rebuilt everything from the ground up.

You’re looking at a new and improved site.


I experimented with a variety of different solutions beyond WordPress to see if anything would be a better fit. I looked at PyroCMS, Octopress, Pelican and Statamic. The whole static site generator craze has me intrigued. A few designers and developers I respect have made the switch, including Mark Boulton and Dave Rupert. Ultimately though, I stuck with what I love – WordPress. It just has so much flexibility and support that I can’t let that go. Plus, it’s just fun to develop with.


I created the last version of my site as a child theme of Duster. Child themes are awesome, but I wanted more power so I started with Underscores and went the custom route this time around.

I kept all of my existing features, including my projects custom post type and taxonomies and my photo albums and taxonomies. But this time I made a functionality plugin to store my post types and other custom theme functionality that needs to be carried over from theme to theme.

New features include:

  • mobile first design, using Fluid Baseline Grid as a starting point. Older browsers get served Respond.js to maintain the responsiveness.
  • Tim Brown’s modular scale technique. I deviated from a strict baseline grid.
  • the web font Franklin Gothic URW from Typekit. I use Open Sans for my logo.
  • icons from the icon font IcoMoon.
  • a footer background pattern from Subtle Patterns.
  • a simple set of quotes that display in the footer randomly when a page loads. Right now, all of these are from Benjamin Franklin, because his quotes always make me stop and think, or smile. I’ll add more later.


I wanted the design to reflect something new, but still feel familiar to anyone who has visited my site before. So I kept a black and white with blue color scheme and stuck with a traditional minimal two-column layout.


I’ve taken great care to make the site as accessible as possible. I have:

  • included visible skip links.
  • included invisible headings with all of the site’s navigation elements.
  • implemented ARIA roles where appropriate.
  • made sure the various color combinations pass both WCAG 2 AA and WCAG 2 AAA.
  • served up the default font size (16px) in browsers for most areas of the site. Font sizes are served in percentages and ems to maintain fluidity.
  • used JavaScript responsively. It controls the responsiveness in older browsers, the keyboard navigation in photo galleries, the main navigation on small viewports and the fallback on web fonts on older browsers. I’ve also used Modernizr for feature detection.
  • plans to make the dropdown menus keyboard accessible.


I’m sure I’ll continue to tweak things as I find bugs and ways to improve the site. After all, I did say I liked to tinker.