John James Jacoby

Lead developer of BuddyPress and bbPress. Lover of naps.

Updates

Watching

History

Instant queue

Posts

May 18, 02:38 PM


May 08, 03:55 PM

bbPress – Simply Advancing Everything

bbPress is forum software (with a twist) from the creators of WordPress. It’s been rewritten from the ground up to integrate seamlessly with any existing WordPress.org powered site. In this session, I’ll unveil bbPress 2.1, and talk about advanced developer topics such as: sub-hooks, theme-compatibility, BuddyPress and Akismet integration, data migration, plugins-for-plugins, wp_rewrite, wp_query, and stacking post-types.

Hope to see you there!


May 02, 09:37 PM

This past Sunday, Paul and I took part in Automattic’s second annual wwwp5k. We walked all around the east side of Providence for a total of 4.7 miles. Paul met a bunch of new puppy friends, the weather cooperated, and we had a lot of fun!


April 03, 05:59 PM

Rarely anymore do I sit down and type code out at a keyboard. Most of the typing I do happens on my iPhone or iPad via SMS or email. Typing new things at a computer is not particularly effective for me, and it’s generally not directly related to whatever task is currently at hand.

When I do need to type, it’s usually code of the PHP, JS, or CSS varieties, which means more reviewing and testing than it does actually typing things out. Lots of thought, then copying code I know does something similar, iterating on it, testing it, reviewing it, and committing to the result.

More often than not (let’s say 80% of the time) I copy and paste most of the code that I write. The original code comes from some other functionally proven, correctly working method that I either wrote myself or I’m already familiar with from some another project I’m involved in, and it gets iterated on over time to become something else.

The argument for this, is we avoid human typing mistakes and reinventing proverbial wheels.

The argument against this, is we run the risk of copying an existing, potentially hidden bug.

It’s more important to review and test existing code, than it is to write new code. Before writing something from scratch, be sure to budget time according to a ratio of: reviewing, to testing, to time spent actually coding. My rough guess is that the code review and application hardening processes should take at least 10 times longer than the time it took to write new code, and about half that for code that’s been copied from existing trusted and known-working sources. Maybe longer, exponentially so if this new masterpiece is a large addition to an existing project.

By copying existing code, you automatically inherit the labor that went into forging it to begin with. Each time a new file is created and code is written from scratch, potentially thousands of costly man hours are being completely disregarded. It’s an arrogant way to get things done, and a method/mindset usually better avoided in most circumstances.

There will be times where it’s nose down, neck deep, headphones in, write-new-code-mode. When that rare opportunity arises, be sure to budget the appropriate time to reviewing and testing it.


March 09, 10:10 PM

Reblogged from Matt Thomas:

Jolie O’Dell at VentureBeat: Apple’s press conference showed a brand unraveling

While today’s Apple event unveiled a couple new improvements to an expected lineup of products, it also revealed a certain sloppiness that was absent from former, Steve Jobs-led launches.

[…] I think today’s Apple event shows that perfectionism fraying a bit around the edges. The bad pun, the goofy logo, the weird product name — all of it pointed to a leadership that either didn’t understand or didn’t care about consistency in iconography.

Read more… 116 more words

March 06, 05:18 PM

Hi, my name is John, and I’m an Open Source Software workaholic. I touched on it a bit in my WPCandy interview, and I thought I’d finish the story here with a few added thoughts.

I live in a great neighborhood on the east side of Providence, RI. I work from home, rarely drive my car (ignore the frequent road trips), and enjoy the luxury of being walking distance from food, laundry, spirits, and anything else I might need to live a happy and comfortable life.

By day, I work for Automattic. I love my job. I love my colleagues. I love everything about what I do. To say it’s a dream job is an understatement. I work on some really awesome stuff going on around WordPress.com, Jetpack, Gravatar, and try to poke my head into other interesting social bits as much as possible.

By night, I’m the lead developer of bbPress, BuddyPress, and maintain both of the bbPress.org and BuddyPress.org sites. I believe both projects are two of the strongest spokes attached to the WordPress hub, and it’s my pleasure and privilege to be so closely involved with them. I am passionate about their success and enjoy iterating and improving them both equally, and love to help their users whenever I can.

That said, I’m in a unique and misunderstood position.

I work 40+ hours at a job that I love. Most days when I’m done with work I switch gears to my hobbies; usually that’s bbPress and BuddyPress. Other days, I enjoy going to the park with my dog Paul, watching Netflix, or enjoying a nice meal with friends.

In 2010 and 2011, I had the pleasure of mentoring some really bright individuals as part of the Google Summer of Code and the Google Code In projects. Gautam Gupta, a 15 year-old student from India, placed 6th by working closely with me contributing to the first major release of bbPress in two years; helping to totally refactor bbPress into a plugin for WordPress, skyrocket its popularity, and reinvigorate something great that hadn’t had much attention in a while.

My point, is that working on the bb’s is not something I am directly paid by Automattic to do. Instead, my job at Automattic enables me the means to keep my skills sharp *and* work on the software that I love, at the same time; it allows me to spend my free time giving as much back to the community as I am willing and able to. I choose to concentrate on bbPress and BuddyPress.

While Automattic does donate the time of several full-time people directly back into WordPress, and while it benefits Automattic as a business to be coupled so closely to its active development, it is not Automattic’s responsibility to staff anyone to contribute back to any open source project anymore than it is your own to do the same.

WordPress is free and open for anyone to build off of and dedicate resources towards. The bb’s are both free and open like WordPress is, with a lower barrier of entry to make a a much larger impact. If you’ve ever been intimidated by the amount of activity happening around the development of WordPress, or have been afraid your contributions aren’t good enough: 1. you’re wrong; 2. use the bb’s as your training ground.

If you choose to stick around and help work on the bb’s, your influence carries more weight because there are fewer people contributing. Dedicated contributors walk up the ranks quickly, earning core commit access like Boone Gorges, Paul Gibbs, and I with both BuddyPress and bbPress. We’re not the founding developers, we’re the currently active ones, and we would love to have your help. From code to codex, everything is an iterative work-in-progress.

Who knows, maybe eventually you’ll be an open source workaholic, too.


February 20, 08:23 PM

Watching this video about Automattic from 2010 reminded me how much I miss our old office at Pier 38.


February 14, 01:32 AM

At the time of this writing, MAMP Pro 2.0.5 comes with a corrupted pear.conf file for PHP version 5.3.6, so I had to do some digging to install PHPUnit. You should be able to open up terminal and safely run the following commands to get PHPUnit installed and working correctly:

rm /Applications/MAMP/bin/php/php5.3.6/conf/pear.conf
/Applications/MAMP/bin/php/php5.3.6/bin/pear channel-update pear.php.net
/Applications/MAMP/bin/php/php5.3.6/bin/pear upgrade pear
/Applications/MAMP/bin/php/php5.3.6/bin/pear channel-discover pear.phpunit.de
/Applications/MAMP/bin/php/php5.3.6/bin/pear channel-discover pear.symfony-project.com
/Applications/MAMP/bin/php/php5.3.6/bin/pear install phpunit/PHPUnit

Now that it’s installed, give it a try and see if it responds:

/Applications/MAMP/bin/php/php5.3.6/bin/phpunit --version

To run phpunit directly:

mv /Applications/MAMP/bin/php/php5.3.6/bin/phpunit /usr/local/bin/phpunit

Note: *you may need to sudo to run the mv command, like so:

sudo mv /Applications/MAMP/bin/php/php5.3.6/bin/phpunit /usr/local/bin/phpunit

* after which you will be propted for you password

One last test for good measure:

phpunit --version

Great! You’ve successfully installed PHPUnit in OS X using pear bundled with MAMP Pro 2.0.5. What about Netbeans integration?

  1. Open Netbeans and visit your Preferences
  2. Select: PHP
  3. Select: Unit Testing
  4. Click: Browse
  5. Navigate to: /usr/local/bin/
  6. Select: phpunit

Boom. From here on in you’re all setup with Netbeans talking to PHPUnit safely installed via MAMP Pro’s pear. For more information on what Netbeans can do with PHPUnit, check out the knowledgebase page over at Netbeans.org.


Map

Upcoming Trips

Upcoming

abcdefghijklmnopqrstuvwxyz abcdefghijklmnopqrstuvwxyz