Notes from Checklist Manifesto

In Montreal this summer, while making idle conversation, Paul asked me if I had read anything interesting. Here was my answer…

Five years ago, I met D. Richard Hipp because my friends were thinking of bundling a database he wrote into PHP. Since that time, besides being in the PHP core and thus about 40% of the web servers on the planet, SQLite is in every smartphone, in software such as Firefox, platforms such as Adobe AIR, and operating systems such as Apple Mac OS X. It is used by Oracle and Bloomberg.

I was curious how the unassuming man I met took the new-found fame of his pet software project. This is why, despite my hatred for all things database—they’re boring and talks about them are probably what it feels like to sit through a course on actuarial accounting—I popped into his talk at OSCON.

I was glad I did. It was about, of all things, checklists.

My brother and father are much more responsible than my mom and me. One things that separates them from us was in their methodical use of checklists. Watching his talk reminded me how important they are, how they can be used for so much more than I considered, and how thankful I was that I finally made a packing checklist before going to Portland (and Montreal). :-)

Read the article, and, if that interests you, buy the book.

With a little imagination, a checklist will change your life. Continue reading my notes from the book after the jump→

Learning Programming Part 4: “Programming is Hard”

Previously: Part 1, Part 2, and Part 3.

Programming, it turns out, is hard.
Eloquent Javascript (and typical)

A few months ago, a girl expressed to me her frustrations about, in particular, the attitude expressed many engineers on her attempts to learn to programming.

“They act like learning programming is hard. They imply that if you haven’t been programming since you were seven, there’s no hope for you,” she explained.

I opined, “If someone can learn to program when they are seven, then it must not be that difficult.”

Think of all the things you couldn’t do when you were seven—programming is less difficult than all of those.

Super Tuesday

When I first moved to San Francisco, the PHP meetup group hadn’t had a meeting in a year. That was before Touge took it up, and, along with Mariano, does the hard work of actually scheduling people to come shoot the shit.

Apparently, it’s time for my shit to be shot.

Tomorrow, I’m giving a talk at SFPHP on DevOps for PHP developers. I’ve giving this talk before as the closing keynote at PHP Community Conference and to sysadmins at OSCON.

Living without Your Linemen: The Programmer Becomes System Operator in the Cloud

If a website architect is the quarterback, then site operations is the offensive line—overworked, under-appreciated, and only noticed when it fails. They make you look good. However, four years ago cloud computing networks like Amazon Web Services and Slicehost have appeared. While deficiencies in frameworks in other languages have forced those worlds to adopt Infrastructure-as-a-Service, the PHP world—with it’s ultra-cheap shared-hosting (on one end) and tradition of dominance on some of the most trafficked websites (on the other)—has been slow to move. But as the technology continues to disrupt, modern web engineers will be expected to use their programming skills to not only build, but also provision and maintain fast, scalable websites.

The efficiencies of a web-based language and experience in scalable website architecture offer a unique opportunity for programmers to transfer their skills when wearing a sysop hat. Not to mention some of the best libraries for programming them are written in PHP! When going from a small pet project to a go-live site, maybe we can learn to live without our linemen.

Trust me, you’ll like it.

Please come!

Also, If you are an American citizen, go vote! :-)

Most programmers are really Macgruber

Quote

Friend: I dunno why people need to make my life difficult with all this canned shit.

Me: Because programmers don’t know what they are doing—it’s simply about the right tool for the right job. If they found a letter opener, they think it’s fucking Excalibur. To them, the one shit framework/library/application/programming language/development environment they know is a fucking Swiss knife and they think they’re god-damn MacGuyver.

OSCON 2011

There is some irony that the two years I take a hiatus from OSCON are the two years it’s in my backyard. When I try to start speaking again, they’re back in Portland.

I’m going to be at OSCON this week giving two talks:

I’ve given these before, but one of them was a keynote (so had a different style), and other was at a private event. Unfortunately (for me) they didn’t put these talks in the PHP track as I asked. One was put in the Operations track and the other was put in the Business track. Quel désastre! I’ll try to make it worth your time, if you plan on attending. So please come see them!

If not, say hi anyway, I don’t bite, and I can hold of my alcohol down (mostly). I usually sober up before 5pm (when I’m giving these talks). :-)

MacPorts vs. HomeBrew

A friend asks whether they should use MacPorts or Homebrew.

What these are, are ways of installing Unix (Linux or BSD) software on your Macintosh in a way that they get updated. This is useful if you need to customize your (L)AMP stack, or process a document in LaTeX, or do graphing visualization or -code optimization… there are a lot of uses and having a consistent Linux-like or BSD-like tree of libraries and applications is usually the best option.

I use MacPorts and I’ve used Fink in the past. I never tried Homebrew

Continue reading more ignorant comparisons between Fink, MacPorts and Homebrew after the jump→

PHP Community Conference Closing Keynote

I submitted a couple talks for PHP Community Conference last month, of which one was accepted.

Unfortunately, it was the one I hadn’t prepared at all. The title was “living without your linemen” and was supposed to be about cloud services. A bit later, they asked if I could make it the closing keynote for the conference. This allowed me to write it from scratch and actually finish the talk (which I did about 30 minutes before I had to present it).

I’m told that they’ll eventually have a video archive of the talk at OpenEvent.tv, but in the meantime, I audio-recorded it and synced it to the slides on slideshare. (Apologies for the sound quality being poor, I recorded it from my Mac Book Air).

Continue reading about PHP Community Conference after the jump.→

Why Conde Nast hates me

Yesterday, Conde Nast finally caved in and is selling iPad subscriptions to the New Yorker at a reasonable price. Not only that, but if you get the print one, you can supposedly get the digital and iPad version for free.

The New Yorker

I say supposedly because it doesn’t work for me. Conde Nast hates me because I’ve been a loyal subscriber for six years now.

Continue reading about Conde Nast’s first iPad subscription offering after the jump.→

My beef with Quora

Last year back when Quora was beta, someone pointed this Quora entry out. I explained why this guy was mistaken and let it lie. But, since a friend sent it to me recently, I guess people are actually using Quora (or something) and this deserves a response

The page being discussed is part of a larger article I wrote (and never finished) here. In the page linked, there are almost none of my opinions, but rather a summary of what was provided by Haiping during a briefing at Facebook. The outline of the page is as follows:

  • PHP has some inherent advantages as a programming language for web development.
  • PHP has some disadvantages (for Facebook). The biggest are:
    1. High CPU
    2. High Memory usage
    3. PHP components are not easy to integrate from outside
    4. Extensions writing is not the same as PHP coding
  • There were multiple attempts at Facebook to migrate from PHP but they failed: Mainly because an re-architecture team cannot keep up with the new code that is being written by the rest of Facebook—mostly writing new PHP code. The year before the presentation alone had 4 attempts at internal migrations
  • Improving the PHP core was done at Facebook and, in fact, received a lot of mileage, but this was not felt to be sustainable vs. HipHop solution.

Continue reading about my beef with Quora after the jump→

Largest Ruby on Rails app?

Seen in a brochure at PayPal X:

LinkedIn uses Joyent infrastructure to run the largest Ruby on Rails app with over 2 billion monthly pageviews.
  • I thought LinkedIn was Java, when did they switch to Rails?
  • 2 billion monthly? When I left my last company, our (PHP) app was doing over 7 billion monthly, and wasn’t even in the top 10 PHP applications out there. Surely there are Rails apps bigger than that.