I’ll write and maintain (to a point of absurdity) a plugin that has less than 6,000 downloads because my sense of ownership over the project is strong. I feel attached to Subtitles because it has my name on it and I’m responsible for it. I take strong pride in taking leadership over work and especially avoid projects or codebases that have no clear direction or accountability. There’s no sadder sight than the plugin or theme that dissolves into dust due to a lack of ownership.

When you give someone ownership over their work wonderful things can happen. Midday showers will create beautiful ideas and coders won’t mind sleepless nights dreaming up solutions that they are proud of. Pride and owning one’s work are what keep me going. Having space to make mistakes without judgment or overly-controlling rules also keeps me going. Being told not to do something or being hampered down by talking about coding rather than coding are what stops me in my tracks.

In my heart I am a developer. If not more than 80% of my time is being spent on the writing of code, the closing of tickets, the squashing of bugs, and the creation of things that make others go “Wow” then I feel myself losing happiness. I just want to make stuff and help others make stuff.

I think a lot of us are like this; let us always remember how beautiful coding feels when we find ourselves with an impulse to erect guidelines, standards, procedures, or rules. Let us remember how good we felt when we had our first pull request or Trac patch accepted when newcomers come along. Let us be careful with our words and gracious with others who want to help and give us their time at no cost.

Let us not push those away who would take agency and ownership over our work. It means that we’ve done something right.

WordPress is Weird

From 2003 until around 2005 WordPress was something that I used to run a makeshift blog that I updated daily during my breaks between classes and work at Rice. It was a tool like any other tool; I wasn’t interested in anything other than whether or not it would allow me to write on the web.

Soon after graduating in 2006 I learned that WordPress was a way for me to put food on the table. Until around 2009 I was an independent contractor who spent every waking moment learning the platform in earnest and hoping to make a career out of it. WordPress was a permanent way out of the United States for me; it was a vehicle.

When Graph Paper Press happened in 2009 I learned that WordPress was friendship. Those two-plus years with Thad and Chandra were among the best of my life. My father died immediately after I started working at Graph Paper Press and Thad was supportive, understanding, never bossy, and never unreasonable. I was able to work when I wanted to work and I felt like the two were more than colleagues. They still are. I miss it and make a point to visit Chandra in Nepal as much as I can. I’ve never felt as valued as I did then.

Automattic was as much about making a massive impact on the web as it was feeling validated about my skill set as a developer. For as long as I live I will never doubt myself again. I worked with the best and brightest in the world and held my own, taught others, and changed lives. WordPress became social and political during these years. It was a hard balance to maintain being a pure developer and managing the corporate side of life.

It was a stressful time and I was always sick. I failed at maintaining a balance in my life and felt massive pressure at all times to perform at a high level. I was unhappy and especially unhappy at myself for not being able to find a balance with the company.

The last year WordPress was community. I spent a lot of time on _s, building up the WordPress meetup group in Hanoi, developing the first WordCamp in Vietnam, and, when time allowed, advising premium theme shops on how to develop themes the right way. Last year was about taking back control over my life, appreciating community, growing my personal roots in Hanoi, and spreading the gospel of WordPress to a new place.

For the last few months WordPress has become software to me again, a tool. For the next few years it will continue to be a tool. Just software, nothing more. Sure, we’ll have the meetups in Hanoi and possibly another WordCamp, if the community wants it. But for the most part it will be code to me. That’s it.

It won’t be news or drama or politics or this or that. It will quite literally just be code. I’ve found that when I’m able to do nothing but stare a computer screen with lines of poetry on it I’m able to do beautiful things.


Last month we had Vietnam’s first ever WordCamp in Hanoi. It was a large, 100-ticket event that took months of planning and hours of time to get right. Sponsors and a rigid schedule were needed. Food and beverages were needed. It was work to get right. After WordCamp I remember thinking to myself, “This was amazing. I’m so happy with what we’ve accomplished during the last several years here in Hanoi, but I’m also glad that WordCamp only happens once per year. It’s too much.”

We had a meetup yesterday. Nearly 90 people registered for it and only 12 people, nearly half who had never been to a meetup, came. And yet I felt so fulfilled and so very happy with the turnout. Big never mattered to me as much as making connections, and the connections that I made at yesterday’s meetup were deeper than the connections that I made at WordCamp. No rigid schedule was needed. Chats happened organically. Everyone had a chance to introduce himself and share what he was working on. It felt like a small community.

WordCamp San Francisco 2011 changed my professional life. I was just ending my time with Graph Paper Press and thinking about what would happen next. I volunteered at a Happiness Bar, met Lance, immediately hit it off with him, and decided to apply to Automattic because he seemed like someone who I’d get along with. It was a very random, very destiny-filled encounter with another weird soul who had traveled the world, grown up in another country, and clicked with me well. We got each other.

But if I had not met Lance I would have probably thought that WordCamp San Francisco was exhausting and something that I could only physically and mentally bring myself to do once per year. I am an introvert. Large groups and large social gatherings bring me great stress. I’m socially adept, warm with others, and very personable, but only when groups are small. When they are large, like at a party or company meetup, I clam up, want to hide away in my room, and stay away from everyone. I don’t know why this happens but this is how I’ve always been. Give me a dinner table with 4 seats only, please. 6 is too much.

The way forward for me is small. Small numbers of friendships. Small gatherings. Small meetups. 1-hour phone conversations with 1 person rather than 3-hour social gatherings where I connect with no one and feel exhausted at the end of the night. I’m tired of feeling like big is a good thing. It’s simply not, especially when it comes to maintaining relationships in our lives that act as bouys and bedrocks. A girlfriend, a small handful of friends, my nuclear family, and a few extremely close professional colleagues. What more could I truly need?

This doesn’t mean cutting myself off from new relationships or communities. It doesn’t mean overlooking the value of networking. It mostly just means that if I have to do those things, I’ll remind myself that it’s okay I don’t like them very much and prefer dinner for two over dinner for twenty.

Subtitles v2.0.0 Released

Subtitles v2.0.0 is now available in the WordPress.org repository. The primary change in this version is how front-end CSS is handled. It was previously output via a call to a separate enqueued stylesheet but that wasn’t very sound for performance. In this version styling is sent via wp_head to avoid the additional CSS file mucking things up.

The reason for the version bump is because ditching styling is now done differently from how it was done in v1.0.0+. Previously it was handled in the following manner:

function ditch_subtitle_styling() {
	wp_dequeue_style( 'subtitles-style' );
add_action( 'wp_enqueue_scripts', 'ditch_subtitle_styling' );

It’s now handled like this:

if ( class_exists( 'Subtitles' ) &&  method_exists( 'Subtitles', 'subtitle_styling' ) ) {
	remove_action( 'wp_head', array( Subtitles::getInstance(), 'subtitle_styling' ) );

Download your copy of Subtitles today. Pretty soon here I’ll be adding in a way to remove all subtitles from a site, as there’s currently no way to easily do that.

Subtitles v1.0.7: Jetpack Support & Better Editing

Subtitles v1.0.7 has just been released on WordPress.org. The two major changes in this release are default support for the Jetpack Portfolio custom post type and a better out-of-the-box editing experience on Add New Post screens (see issue).

Download your copy of Subtitles today, read over the documentation GitHub if you have any questions, and feel free to get in touch with me if you notice anything buggy about the plugin.