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).
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.
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.
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.
Tales of Virality. It should be a fun little talk about viral marketing (from an engineering perspective).
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).
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
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).
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
PHP has some inherent advantages as a programming language for web development.
PHP has some disadvantages (for Facebook). The biggest are:
High Memory usage
PHP components are not easy to integrate from outside
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.