Changes should happen in Code, not in UI

If you are deploying your WordPress site, it generally doesn’t make much sense to have to go in and setup changes when you push the newest version live. When you push to production, production should have all your changes.

One more benefit of this method is that you never need to be signed in with a user who can change settings, change plugins, or change themes. Being signed in as a user with as few capabilities as possible is a one part of limiting your vulnerability in case of attack

This is what I use to stop the majority of activities from happening in the UI.

tl;dr; Don’t Update Options in the admin, update them in the code.

Hello iPhone 6

On a winter night in late 2011 I picked up a zipcar and drove to Best Buy to take the Android plunge, picking up the Galaxy Nexus. It was the first time I had a top of the line smartphone.  For the previous few weeks, I was using an old iPhone 3g a coworker had given me.  And for the last almost three years I’ve loved my Galaxy Nexus.  But my phone was showing it’s age.  For the last few weeks it’s been held together by duct tape (pink zebra stripe) and had started to random power cycle.  It was time for an upgrade.

Two things really sealed the decision to switch to the iPhone 6 for me.

  1. Size. All of the top of the line Androids are way too big. The iPhone 6 is virtually the same size as the Galaxy Nexus.
  2. TouchID.  After seeing multiple people use this (and rave about it), I really felt that it would make my use of a phone simpler.

The hardest part was porting over all my two factor authentication accounts.  The second hardest is now needing to find new apps for just about everything.  If you are a current iPhone user, what’s the one app you recommend I check out?

The one article every WordCamp organizer should read

Too many conferences focus on the mechanics and skimp on the up-front editorial strategizing, shaping, and planning. It is not enough to simply hire people because they are respected in the industry, or because they are in demand, or because their name sells tickets, or because they are available.

via On Design Conferences | Jeffrey Zeldman Presents The Daily Report: Web Design News & Insights Since 1995.

I think too often as WordCamp organizers we forget that we are curating an experience and as such we need to think about what we want the attendees to walk away with.  We need to strategize, shape, and plan.  Planning doesn’t mean figuring out where to setup registration tables (though that does matter), it means planning what people will be talking about when they walk away from the event.  If they aren’t talking about something they learned, or some new way to think, the event wasn’t a success.  Go read the rest of Zeldman’s article so you can understand that “A trained ape can invite the same speakers who speak everywhere else.” and why you can do better.

Challenge Accepted

At WordCamp Lancaster 2014, I set out to challenge myself with a crazy idea. Overall, I think it went pretty well. At least the tweets seemed to be positive


I’ve opened up the source on both the slides and voting front end along with the voting backend. Neither are especially good code, but they worked.

Over the coming weeks I’m going to refine some of the talks into blog posts. Stay tuned!

For those of you wondering, I used a bit of browser fingerprinting so votes only were counted once per browser (or ideally only once per browser).

Accessability Camp Bay Area 2014

I’m excited to announce that I’ll be a part of the inaugural Accessibility Camp Bay Area 2014.  I’ll be leading a session entitled “Web Accessibility on a Time Budget”.  We will be discussing how to prioritize and implement accessibility improvements in the real world where time is a common concern.

If you are in the Bay Area, you should absolutely come on down. Registration is Free!. The event is coming up on March 15. I hope to see you there!

Show a notice when changing a multisite’s site admin email. props jorbin

Four years ago today, change set #13446 landed in WordPress core. It was a day that changed my life. The patch landed while I was sitting at Java Shack in Arlington, VA. I went back to my then girlfriend’s place and exclaimed “You won’t really understand this, but I just had a patch added to WordPress”. From that day forward, my code was going to be used by millions of people. Yes, this change wouldn’t affect most of them. It was a small incremental improvement. But it’s small incremental improvements that make good projects great.

My first Code Changes in WordPress
My first Code Changes in WordPress

In May, I celebrated WordPress’s 10th Anniversary and noted all the friendships I made because of WordPress. That remains even more true today. I moved to NYC late last year and the person here who I’ve become closest with is someone I first met at a WordCamp. I found my apartment because of a friend that I made at a WordCamp. My involvement with WordPress even got me the job that I have.

WordPress isn’t a perfect project. If It was, I wouldn’t want to work on it as much as I do (that is a somewhat paraphrased quote I originally heard Andrew Nacin say). We have a lot of code to improve. The diversity of our contributor community needs improvement. We also need to do a better job of going outside of our community and bringing others into it. But hopefully in the next four years, I’ll have a chance to help improve all of it.

I’m Speaking at WordCamp Lancaster

This coming weekend I’m presenting at WordCamp Lancaster. This is where I proposed the crazy idea of doing back-to-back-to-back lightning talks that are voted upon by the audience. It’s a challenge to myself (which is the theme of my introduction talk). I’ve built a little node app to handle the voting and selecting of my next set of slides for me. This is the first time I’ve been nervous about a presentation this far in advance as far back as I can remember.

There are about 30 tickets remaining right now. You should go and snatch one up before they are all gone. You might just see me make an idiot out of myself.