Building a VVV Distribution for WordPress Contributor Days

For WordCamp Europe 2015, I was given the opportunity to help a large number of developers get set up for contributing to WordPress Core quickly.

The most cross-platform and standard way of doing this is with VVV — with the only problem being large download size and conference Wi-Fi. Thus, we needed a packaged way to distribute a development environment using flash drives or Adhoc networking.

If you’re in a situation where Wi-Fi won’t be a problem on contributor day, great! If you need a solution for this, read on.

Contents for Contributors

Building a base VVV package

Using a ZIP for VVV is important because otherwise the checkout will have too many files to quickly copy from a flash drive or a local. To build the VVV ZIP package, follow these steps:

  • Clone VVV:
    git clone
  • In the newly-minted VVV directory:
    vagrant up --provider virtualbox

    This will download the box file and also download all of the dependencies upon first provision. That’s important because they’re about as large as the box file, and account for almost a gigabyte of data.

  • To create a base box that includes provisioned packages, run:
    vagrant package --output
  • Zip the entire VVV folder, including the newly-minted box, using either the command line or your favorite file manager.

Contributor Steps to Get Started

  • Install VirtualBox
  • Install Vagrant
  • Copy to local drive and extract
  • Add pre-provisioned box to Vagrant:
    vagrant box add ubuntu/trusty64
  • Optional, and will download, but manages hosts file:
    vagrant plugin install vagrant-hostsupdater
  • Start up Vagrant:
    vagrant up --provider virtualbox


  • Once a VirtualBox base box has been added manually from a system, it can’t be automatically updated without removing it, and adding it directly from the web. This means that updates to the Ubuntu base box would need to be done manually by contributors if they want to update later.
  • This will not solve all potential Windows issues. While it worked with the majority of machines, there were some Windows users who could not unzip the file with native file ZIP utility, or had other incompatibilities with Vagrant.


Have any questions or suggestions? Let me know in the comments!

A Year in Core at WordCamp LA

At WordCamp LA, I had the opportunity to share a retrospective on the happenings in WordPress core throughout the last year, and a short look into a possible future for WordPress in 4.4, coming in early December!

Thanks to the organizers and volunteers for an excellent event, and to everyone who came by to learn and chat about WordPress core!

You can find the slides in PDF here, or embedded below the break: Continue reading A Year in Core at WordCamp LA

Connect the Dots at WordCamp Ventura 2014

Thanks to Konstantin Obenland, Alicia St. RoseErick Hitter, and Andrew Behla for the invitation to speak!

I gave a satirical talk called “Connect the Dots” at WordCamp Ventura about the WordPress community and its connections, whose slides you can see below.

Yes, it’s silly. Yes, I hope you enjoy it. I’ll post a link to the video when it lands on

If you’d prefer a download, you can find the PDF Here.

Have a favorite WordPress conspiracy theory?  Feel free to share it below!

Heartbeat + WP REST API at WordCamp NYC

Thanks to the organizers, volunteers, and everyone attending WordCamp NYC for a great event!

Below, you can find the slides and code for my talk on the Heartbeat API for WordPress.

In this presentation, I also included a sample for a custom WordPress API endpoint (hat/tip Ryan McCue) for causing the WordPress admin to honk via a GET request (which is decidedly unRESTful, but equal to the way the Tesla Model S API works). I then provided this URL to the audience prior to discussing the code for much hilarity.

The code’s after the break. But think twice about deploying it on a production server, since it allows others to annoy you with unauthenticated requests. The JSON REST API plugin is required prior to the JSON API’s introduction in WordPress Core itself.

You can download the slides in PDF, and see the slides inline from Speaker Deck below.

Continue reading Heartbeat + WP REST API at WordCamp NYC

Heartbeat API Jumpstart – WordCamp Seattle 2014

I had the pleasure of being invited to give a quick introduction to the Heartbeat API at WordCamp Seattle!

Thanks to the organizers for the opportunity, and everyone who showed up to listen to me speak very rapidly about polling awesomeness.

You can download the slides in PDF, and see the slides inline from Speaker Deck after the break.

This is just an introduction — For a deeper dive, check out this talk that was done in a longer form, and has example code attached.

If you have any questions, comment here, and I’ll happily update the post with further info!

Continue reading Heartbeat API Jumpstart – WordCamp Seattle 2014