June 30th and July 1st 2012 is the first ever Vancouver WordPress Theme Weekend. I’m part of the organizing team and I’m giving a quick intro to Github, which is where we’ll be hosting all of the teams’ themes. You can check out the slides of the GitHub intro below or download them as a PDF.

Please check out all details for the event at wpyvr.org/theme-weekend

Developer Tools

The WordPress.com VIP team released a set of very useful developer tools. If you’re a WordPress developer, you absolutely should run this.

Enterprise WordPress hosting, support, and consulting - WordPress VIP

One of the great things about developing for WordPress is the number of tools available for developers. WordPress core ships with a bunch of useful features (e.g. WP_DEBUG) with many more built by the community (like our own Rewrite Rules Inspector and VIP Scanner) that make development and debugging a breeze. The hardest part is getting your environment set up just right: knowing what constants to set, what plugins to install, and so on.

That’s why we built-in the Developer plugin. It’s your one-stop resource to optimally configure your development environment by making sure you have all the essential settings and plugins installed and available.

If you’re a WordPress developer, we highly recommend installing this plugin in your development environment. You can download the plugin from the WordPress.org Plugins Directory or directly from your WordPress Dashboard (Plugins > Add New).

Here’s a quick walk-through:

If you’d like…

View original post 45 more words

Theme Weekend

Twenty design­ers, devel­op­ers, and Word­Press enthu­si­asts will gather at The Net­work Hub in down­town Van­cou­ver for a two-day week­end event on June 30th and July 1st, 2012 to col­lab­o­rate and build Word­Press themes. I’m helping organize and run the event. We’re calling it Theme Weekend and you’re invited!

Take a look at the details on the WP YVR community website.

Great article by my coworker Daniel Bachhuber on how Automattic can open source more of its work.

I liked this comment by Mark Jaquith, which summarizes pretty well how I feel about it personally:

“What I’d like is for more future Automattic projects to be designed to be Open Source. Even if not completely. There are ways of designing things so that the base code (the framework) is Open Source, but the things you privately build on top of it don’t have to be. Doing things this way will likely lead you to design better frameworks that will not only be externally useful, but will serve the company better. Underscores is a great example.”

Daniel Bachhuber

I’d like to identify ways in which Automattic can release more code as open source by default.

In the WordPress.com repository, there’s a fair amount of code in use that’s never seen the light of day. Bits and pieces of this code would probably be useful to other people, and subsequently be improved as more developers read, implemented, and found new uses for it.

Open source is a unique and tremendously important phenomenon because it enables people to create more economic value than they could with previous collaborative frameworks. It’s “one of the most important ideas of our generation.” Automattic as a company believes this too; on the first page of our internal company documentation, Matt Mullenweg says, “I’m fine with releasing basically any code on WordPress.com that isn’t our password files.”

However, we don’t release as much code as we could be releasing, nor do we go about many…

View original post 339 more words

How I see Vancouver

I made an intro video for my coworkers at Automattic. This is the video w/out the speech. Shows Vancouver “in my eyes” 🙂

My current status: hanging out at the beach in sunny hot Vancouver

Polyglot (un)conference #polyglotconf

Today I attended the first annual Polyglot (un)conference in Vancouver.


Unconferences are similar to traditional conferences; the main difference being that all the sessions are voted upon by the attendees and decided day-of. The last unconference I attended was not very well organized and took too long to get going. I was pleasantly surprised that this wasn’t the case today. Part of the voting was done online ahead of time using uvoice and organizers really took charge in getting things going in the morning.

In computer lingo, polyglot is the concept of writing programs in several different programming languages. The polyglot conference brought together developers from all kinds of backgrounds. Lots of ruby, .net, JavaScript, and erlang folks were in attendance. To my own surprise, not many people at the event work with PHP.

I also got the impression that many of the web developers who were here see WordPress as more of an amateur and hackish platform. I’m obviously deeply entrenched in the WordPress community so it’s interesting and even somewhat refreshing to get different perspectives; regardless whether the feedback is good or bad. That being said, most people I spoke with individually were actually really interested in the work we do at Automattic and WordPress.com, especially in terms of scaling.

I always love going beyond my comfort zone and learning new things. Highlights for me today were:

  • A really great presentation on various open-source mapping technologies chiefly Mapbox. I’m a huge fan of open data and tools that help developers work with it so this was a great learning experience for me.
  • Several great presentations and breakout discussions on open source vs. proprietary code.
  • Fun lunch on a bright, sunny , warm patio; with discussions on general programming idioms.
  • In-depth introductions to Erlang and Ruby languages; both of which I only had limited experience with.
  • Long coffee break facilitated by a fire alarm at the venue.

Overall a really great event that I was happy to be part of.


Maps presentation by Talyor Sherman


From consultant to product by Boris Mann


Great lunchtime chats

PS: this was the first time I wrote a blog post from the WordPress iOS app on my iPhone. Really slick experience, and a new version was just released, go check it out 🙂

Beautiful Vancouver Sunset

Vancouver Sunset

Went out on a stroll with Amy and the dogs tonight to watch the sunset. In the process, we gathered some video footage for the video I am preparing this weekend to introduce myself to my new colleagues at Automattic.

How does Evernote know where I am?

Yesterday, while I was at WordCamp Seattle (which was a blast by the way!), I wanted to quickly jot down some notes. I opened up Evernote on my iPhone, and clicked on new note, and the title of the note auto-completed to “Note from WordCamp Seattle”.


Some clues as to how this may have happened (I don’t know the actual answer):

  • I did have WordCamp Seattle in my calendar for that day
  • I checked in on Foursquare, but tagged my checkin as #wcsea not the words “WordCamp Seattle”
  • Other people there likely were also using Evernote and maybe they called their notes “WordCamp Seattle”

In any case, the app never prompted me to access any of my data from an external application, so I’m very curious how they were able to do this. I don’t really mind, because it was convenient to have that auto-filled and it amazed me at first; but at the same time, I really wonder how it knew, and how much of my data Evernote can access. Does anyone know how Evernote knew where I was?

Querying Posts Without query_posts

Really good explanation of why you shouldn’t use query_posts; a function I know I’ve used in the past but definitely stay away from now 🙂

Developer Resources

Here at WordPress.com, we have over 200 themes (and even more plugins) running inside the biggest WordPress installation around (that we know of anyway!) With all of that code churning around our over 2,000 servers worldwide, there’s one particular WordPress function that we actually try to shy away from; query_posts()

If you think you need to use it, there is most likely a better approach. query_posts() doesn’t do what most of us probably think it does.

We think that it:

  • Resets the main query loop.
  • Resets the main post global.

But it actually:

  • Creates a new WP_Query object with whatever parameters you set.
  • Replaces the existing main query loop with a new one (that is no longer the main query)

Confused yet? It’s okay if you are, thousands of others are, too.

This is what query_posts actually looks like:

Rarely, if ever, should anyone need to do this. The most…

View original post 749 more words

%d bloggers like this: