Vagrant, Time Machine, and waiting forever for a backup

For some reason, moving to the new MacBook Air hasn’t been very successful. My Alfred spotlight is broken, Apple Mail slows to a crawl for no good reason even though everything is in the cloud, and I have a \<50% success rate of backing up my Time Machine during my workday. Basically if it doesn’t complete before lunch, it isn’t going to finish at all.

That last one seems to be well within the realm of what’s feasible. I mean why is it backing up 15GB of new files each day and why is it when I really get working the last 2GB never seems to complete? Not to mention that this 5TB drive I purchased four years ago to back up what is only a 500GB SSD (was smaller in years back) is now starting to appear full.

Well I think I figured it out. I’ve been using Vagrant for the last 5 years to build out virtual machines for development and each of them is a single (very large) virtualbox file that needs to be re-imaged every time and is constantly changing if the machine is up during the backup process.

After some research here are some suggestions on what to exclude from your time machine backups

Working scratch folders:

Things like ~/.Trash and ~/Library/Caches should automatically be excluded by Time Machine in general, but for me, I use ~/Downloads as scratch space for stuff that I don’t care if I lose. If it’s important, I usually drag that to desktop, so I added that. You can add something similar

Cloud files

I added ~/Dropbox because that stuff will be built from Dropbox, and Time Machine or migration restores will just confuse the backup system. If I used Google Drive, I’d probably add that too.

Virtual machines and other dev related environments

For me that’s ~/.vagrant.d and ~/VirtualBox VMs where vagrant downloads the boxes and where, by default, it puts the VirtualBox VMs. The actual boxes that I might image to do Windows/IE development are manually created and imaged in ~/Documents so there is no need to exclude those. If you want to keep your plugins then save ~/.vagrant.d/boxes only.

I also added ~/Library/Containers/com.docker.docker because sometimes I did Docker development and that’s where those instances are.

Also if you have a standard place where you put Python virtual environments with virtualenv you should probably add that too. I don’t develop on localhost anymore so that isn’t the case for me.

Local software caches

I added ~/.gem for Ruby and ~/.npm for NodeJS. I’d probably look into what I can torch from rbenv and rvm but I no longer do local Ruby development, but if you do, add those to your checklist.

Games

I don’t have this on my work computer, but on my home one, I added ~/Library/Application Support Steam/steamapps because those are big files that are downloaded from the internet anyway. When I get home, I’ll have to make sure that sort of thing wasn’t moved into /Users/Shared.

Unknown unknowns

I probably should figure out where Ulysses puts its files because every time I do Migration Assistant I have unresolved conflicts which take forever to clean up. It’s not a big deal though since almost all copies are actually the same file.

Know of any other things I need to add?

I’m speaking again!

If you haven’t been paying attention, I’m starting to speak again at PHP conferences. The first one is SunshinePHP in Florida. (I figured I needed to see the Sunshine State again before it all goes under water.)

My talk is going to be a case study on recommender systems. It’s a bit of an odd-ball because it’s not PHP-specific, but that’s because the company I worked at was a Ruby-on-Rails shop. It’s okay, it will still have application and ironically the heavy lifting is done in Python and Go. Lol! Trust me, it’ll be a good talk. Data is an important part of any website and this gets you going into how you can use it without all the bullshit “big data” buzzwords.

I really think you should register for the conference and come see the talk. If you are already going, please stop by and say “hi!” I promise, I won’t bite too much. I’ll be there for the entire event and this time I already have my talk 95% done so I won’t be holed up in the hotel room finishing slides. It’s been much too long since I’ve seen anyone in the community, and I’ve got to earn my place on the PHP terrorist deck.

See you in February!

What’s something very few people know about PHP?

Answered in Quora:

Q: What’s something very few people know about PHP?

It is mind-bogglingly popular for web development. That popularity hasn’t diminished even though conventional wisdom says otherwise…

Over a decade ago, I said about 40% of the top 100 websites use PHP — a number I pulled out of my ass — but nobody (not even the Ruby on Rails developers I pissed off) argued with that spurious claim. In 2009, Matt Mullenweg, the creator of WordPress became curious with my claim and did a survey of Quantcast’s top 100 sites — he got almost exactly 40. Even today, among the 10 most important websites, four use PHP as their language of choice — 40% again.

Overall, almost 80% of the internet is powered by PHP, and that has held steady for years! Newer web languages such as Ruby or NodeJS have only grown at the expense of other languages such as ASP, Java, or Perl.

Just one single application written in PHP, WordPress, is used by over 30% of all websites on the entirety of the internet. That’s more than double the market share since back when I last worked at Automattic/WordPress in 2011! It grew until it saturated its entire market — over 60% of all CMSs. In the CMS market as a whole, PHP-based CMSs occupy positions 1, 2, 3, 6, 7, and 8 in the top 10. The most popular non-PHP-based CMS is both closed source and sitting at only a 2.5% share.

It was estimated back in 2009 that there were 5 million PHP developers worldwide. It’s difficult to make this estimate today, but it’s obvious that that number has also held steady or grown.

These last few years, I’ve been commercially working in Ruby (on Rails), GoLang, NodeJS (for static servers), and Python (Django), but PHP is still also my love in that love/hate relationship.

Come see my talk in February 2019 at SunshinePHP in Florida!

Executive Decisions

Some changes are happening at my last company and someone pointed me to this timeline a Wikipedian compiled of it, on which, I’m an early entry.

Despite understandable omissions and commissions , what a huge effort that must have been! I continue to be impressed with the dedication of the Wikipedian community.

The other day, a friend and co-worker wondered, “Could you imagine what would it’d be like if we were still there?” I responded, “I don’t since I would have resigned long before.” So I had only enough overlap with the outgoing Executive Director to form some suspicion, but not enough to say anything beyond what I’ve already said.

Instead I want to use this moment to comment on her predecessor, someone I did work long enough under long enough to form an opinion, Sue Gardner. I’ve never met anyone who can read so much about an organizational issue from such a small clue as Sue to the point where I chose intentionally each of my interactions with her. She was extremely thoughtful—as in putting a lot of thought into something—and expected and appreciated the same from others. Sometimes she’d make an observation in an area that I, who was working daily on it, had missed. When you are a chief executive who has less time for anything than anyone else, I learned from her these are essential skills to being a good one.

When she left she spent a number of hours with us to discuss hiring practices. One thing she said then was you should check yourself in a new hire because there will be no time you’ll feel better about your hire than the day you hire them.

That’s something that can be applied directly to replacing someone and indirectly through the ripples created by any hire. Too often people get excited about what a new person brings or might bring instead of wondering what will be lost by people leaving or being displaced. Instead of focusing in what you’ll be gaining with a new hire, ask, “What skills did the outgoing person have that they were great at?” Those are the ones your organization will definitely be losing with the person incoming.

The Innovator’s Dilemma and the impossibility of remaking an organization

One year ago today (2014-03-03):

During Tech budget and resourcing meeting for the 2014-2015 Annual Plan, one of the ideas proposed was possibly sourcing an incubator group to (re)“build Wikipedia or other major project in line with the Vision from the ground up, without prior constraints from existing technology, processes”, or communities. The idea was, even if it didn’t succeeded it would cause the organization “to think differently, to create energy around being BOLD,” and catalyze the movement.

This had some currency from many of the participants1, even the C-level2 involved, that was until a director argued that this was infeasible due to the Innovator’s Dilemma. Ignoring the obvious misreading of the book, he argued that because this might destroy the existing order inside the organization, it couldn’t be done by the organization itself, and thus the proposal died despite never going up for consensus consideration.3

Deciding that it is politically stupid to point out their Readers’ Digest understanding of a deeply-flawed business text, I instead argued that an organization built around vision, rather than profits, does not have the same constraints that allow disruptive technologies to spell their undoing.

That argument didn’t carry weight because people with more experience than me were sure that this initiative would be defunded in the next annual plan and that no one would ever get behind a project that is a direct threat to them. Incubation outside the WMF is only possibility.

It’s sad that people don’t bother to know the most basic lived history of their own industries (or have a terribly short memory).

I give you the history of Firefox:

The Mozilla Firefox project was created by Dave Hyatt and Blake Ross as an experimental branch of the Mozilla browser.

The Phoenix name was kept until April 14, 2003, when it was changed because of a trademark dispute with the BIOS manufacturer, Phoenix Technologies (which produces a BIOS-based browser called Phoenix FirstWare Connect). The new name, Firebird, met with mixed reactions, particularly as theFirebird database server already carried the name.

The project which became Firefox started as an experimental branch of the Mozilla Suite called m/b (or mozilla/browser). After it had been sufficiently developed, binaries for public testing appeared in September 2002 under the name Phoenix

Hyatt, Ross, Hewitt and Chanial developed their browser to combat the software bloat of the Mozilla Suite (codenamed, internally referred to, and continued by the community as SeaMonkey), which integrated features such as IRC, mail and news, and WYSIWYG HTML editing into one software suite.

Dave Hyatt would leave Netscape4 for Apple in 2002 and go on to architect the number one competitor to Firefox, Safari and WebKit (the core of Safari and Google Chrome). Blake Ross would work at Netscape/Mozilla until 2004 and be nominated the next year for Wired magazine’s top Rave Award, Renegade of the Year as all of Mozilla’s resources had were redirected to Firefox, a project started internally by two employees to combat the poor direction of original Mozilla project.

So yeah, Fuck you.

One Year later

It really is astounding when you think about the level of incompetence that was on display.

There are only two large-scale consumer-facing Internet non-profits: The Wikimedia Foundation and Mozilla Foundation (which owns Mozilla Corporation). Someone makes a statement that everyone accepts and affects the entire annual budget. Meanwhile, the only other company that shares organizational affinity with yours is a living counterfactual to the statement.

I didn’t say anything as I was sitting on my resignation letter and didn’t want to humiliate my colleagues, but the disappointment I had back then was immense. Now that I’m gone, that disappointment has turned into relief.


  1. In the months since this time whenever I mentioned this to a WMF staff member, often you’d pretty much have to hold him or her back from wanting to switch into this team if it were to exist. 
  2. Chief level, as in CEO, CTO, Vice President, etc. 
  3. Not that it would have won that given that this would have required a resource sacrifice among all the Directors… Still, it would have been worth it just to see who cared more about the mission and who more about their fiefdom (or their job). :-) 
  4. Mozilla Foundation before it was separated in from Netscape in July 2003. 

Fair winds and godspeed, me hearties

Avast ye landlubbers!

It be Talk Like A Pirate Day, an’ in (dis)honor of me fav’rite day o the year, I be givin’ meself the black mark, an’ be walkin’ th’ plank off th’ ship o’ the Wikimedia Foundation a fortnight hence, on the 3rd of October.

Th’ scurvy dog Jared demands a parrrrrrrrlay of a photo of each of me sprogs after I shanghai ‘em onto the Foundation. In keeping with that grand pirate tradition (and because I suspect the scallywag hornswoggl’d me cloak of invisibility), I’ll appease thee with a last glimpse of me visage on the crew page before I visit Davy Jones’ Locker. Now maybe ye won’t be confus’d betwix’t me an’ me powder monkey, Howie.

I’ll leave ye buccaneers t’ fight over me booty1 an’ give no quarter as ye guide the Wikimedia Foundation t’ safe haven. Aye, she be a leaky old hulk, but take the light and liver of any a’ addled bilge-sucking blaggard that try an’ scuttle her!

In the meantime, you c’n read about me plunders on th’ seven seas on me blog. Here be the UarrrrrrrrL: http://terrychay.com/.

So let’s raise the Jolly Roger and drink some grog!

Arrrrrrrrrrrrr!

the dread pirate terry

Pirate to English translation: I’m leaving the Wikimedia Foundation. My last day is Friday, October 3. A more official email will follow with background on the logistics surrounding my departure. (I also finally posted a staff photo.) Arrrrrr.

(Dread Pirate) Terry Chay (WMF)

~~

terry chay  최태리
PHPirate
Wikimedia Foundation
“Imagin’ a world in which ev’ry single lad and lass c’n smartly plunder in the sum of all intellectual booty. That’s our commitment.

i: http://terrychay.com/
w: http://meta.wikimedia.org/wiki/User:Tychay


  1. All me vested WMF options. I be addin’ a treasure map to the Wiki, but it be revert’d. 

TechCrunch dreams

In 2008, I had a friend who was the co-founder and CTO of a startup. He was getting a lot of pressure from the other co-founder to get into TechCrunch. I said, “Why the fuck does anyone want to be in Techcrunch?1 The only people who read it are your competitors.”2

This morning just before I woke up, I dreamt that I found out that TechCrunch had made it into the top ten most popular websites.

In my dream, Michael Arrington still owned them and through a systematic analytically-driven approach of A-B testing subject lines, content, and marketing, they had applied it to an entire network of blogs to make it very popular. Michael had picked up ballroom dancing as a hobby and even his ballroom dance blog, through this approach, had become far more popular than it deserved to be.

I started thinking, “Wow, that’s crazy. I remember back in 2005 when TechCrunch was so unknown Michael had to comment on Scoble’s blog to get traffic.3 Who would have thought it could become so popular?”

Then I woke up and remembered that nobody reads TechCrunch.4


  1. Usually it’s because they have a tiny ego and need to be a big fish in a very tiny, tiny pond. BTW, I remember at the time Tagged was really obsessed with TechCrunch. 
  2. I suppose given the big Valley circle jerk, another valid reason is if you are seeking funding from investors. 
  3. This part is true
  4. Not even your competitors. Because even if TechCrunch does write about you, they won’t catch it before it scrolls off the front page an hour later. 

LinkedIn and the dangers of A-B Testing

LinkedIn brags about their use of A-B testing.1

Here is a fucking clue, guys. When you vary where a mail header (from:2, to:, subject: line, etc.), you bypass peoples’ mail filters and of course e-mail open rates will test higher.

Fuck you, LinkedIn

So many companies don’t know the limits of analytics. To those idiot business analysts that are data-driven instead of data-informed: please DIAF. ktnxbai!


  1. Never mind the fact that LinkedIn took years to go viral and only after Reid Hoffman became on Tagged’s Board of Directors. 
  2. invitations@linkedin.com, member@linkedin.com, invitations-noreply@linkedin.com, communication@linkedin.com, messages-noreply@linkedin.com, updates@linkedin.com, communication@linkedin.com, connections@linkedin.com, …