M—: So, my wife is working on Transformers 4. (sigh)
Me: Oh? I haven’t seen 2 or 3 yet.
M—: Me, neither. And she worked on those two also. What’s the point?
M—: So, my wife is working on Transformers 4. (sigh)
Me: Oh? I haven’t seen 2 or 3 yet.
M—: Me, neither. And she worked on those two also. What’s the point?
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:
Reference:
(OH: Any time you’re on the same list as Jay-Z, you must have made it in the programming world.)
[This post is in progress. There may be a number of errors. Please comment below with corrections and I’ll update this article.]
Facebook announced the release of HipHop for PHP today.
Since apparently, I was the first person to ever publicly spill the beans on HipHop, I need to do penance by clarifying what HipHop is and what it means for PHP.
For those of you who don’t have time to read the rest, here is what HipHop for PHP is:
If you use some open-source PHP applications on your hosted website, the answer is nothing. You don’t have the ability to compile HipHop, you don’t have access to server restricted ports, etc.
If you are developing a PHP application that currently can be run on two servers or less (or virtual servers in the cloud) the answer is nothing. You don’t have the scale for this to be worth your time.
If you do not have a separate development and deployment environment, don’t have a developer who knows C/C++, or use any PHP libraries where the source is not available (thankfully the encoded scripting market is small to non-existent in the PHP world), then the answer is nothing. You don’t have the development model that can support HipHop. Also note, HipHop has bugs, and—given the state of APC development as a model—will never have true compatibility with PHP. You’ll need some resources to either recode around those bugs or fix HipHop.
If you are a developer of an open-source PHP application, then the answer is not much. Most PHP applications will be deployed in a shared-hosted environment. They won’t be using HipHop.
If you are a shared hosting company, the answer is not much. This is because the HipHop parser needs access to all the PHP in an application in order for it to create a working project. The exception is if you provide software as a service that you maintain (say a static build of WordPress, or a custom site tool written in PHP). You can have HipHop optimize this and get the performance increase.
If PHP is not the operational bottleneck of your web application (your app spends a lot of time waiting on the database, disk, a 3rd party Web API call, etc.), the answer is not yet. At this time, there’s no point in getting a performance gain in PHP. If you don’t know what I’m talking about, your bottleneck is the database. 😉
If you have an application already scaled across many machines, a significant number of them running PHP in processor-intensive tasks, have separate development/deployment, have your entire PHP source code, have modest C/C++ resources, then the answer is possibly. It wouldn’t hurt for a developer there to try a hand at cross-compiling the PHP into HipHop and seeing if it runs. An operational deployment will return about 50% of those machines to a pool for other uses or future growth—or, put differently HipHop will basically double that processing on the same hardware/power.
If you make a turnkey application based on PHP, the answer is somewhat. These are rare, but now you can shrink-wrap PHP into a binary. This isn’t the intended use of HipHop, so some development might have to be done to get this fully supported. Also this is a true binary, not an op-code compile—it cannot run across platforms.
If you are developing a PHP framework, the answer is some. If your framework can compile and run successfully in HipHop, then it should be a good selling point to enterprises in case their application becomes bottlenecked on performance.
If you have highly-cohesive parts of your architecture that fall into above requirements and those parts are weakly-coupled (via API?) to the rest of the system, then the answer is a lot. Those parts can probably benefit from HipHop, and it should be relatively easy to try it.
If you are making a decision on which web language to build your site in, the answer is a heck of a lot. Arguing against PHP for performance reasons no longer holds water. PHP under HipHop will probably now out-benchmark Perl, Python, Ruby and possibly even Java and C#. In practice, you can get the advantages of having a scripting language without operational costs. Moreover, because the target is C++ which is more easy to integrate as a library, if you have a multi-language support, you can now provide C++, Python, and other languages with access to components that have before only been written in PHP (without resorting to a web API).
If you are making an argument to recode your entire site from PHP to some other language, the answer is you just lost that argument. (I never bought the argument of recoding an entire site from another language to PHP.)
There are language features, for better or for worse, that PHP must support and HipHop must not. Because of it’s unique approach to compiling, HipHop will never replace the Zend Engine. Because it doesn’t supersede PHP user-space syntax, HipHop does not and will never change PHP development (much).
HipHop is a showcase. With it the PHP world can point to Facebook as being the busiest site built in a scripting language in the world.
Continue reading about A deeper explanation of HipHop after the jump
I got an e-mail from a recruiter at Bebo looking to hire me into the same position I had at Tagged. This caught my eye:
ABOUT BEBO:
Bebo (www.bebo.com), Located in San Francisco; with over 40 million registered members viewing billions of pages monthly, it is the largest social networking site in the UK, Ireland, and New Zealand, and the third largest behind MySpace and Facebook in the US. Officially launched in July 2005, received the 2006 Webby Award People’s Vote as the best social networking site in the world.Our people can boast demonstrated records of success in viral online marketing and social media, having come to us from such companies as Google, Ringo, Tickle, BirthdayAlarm, Friendster, Organic, Yahoo, and MTV.
From its $15M initial round of funding back in early 2006 (from Benchmark Capital) Bebo has enjoyed positive cash flow since day one.
Our recent merger with AOL will bring tremendous opportunity by combining Bebo’s fast growing user base with the social graph of AIM and other assets.
Third place in the U.S.—really?
Depending on the metric, you might make a case for it being #4, but to displace Tagged? Really? Not to mention, completely pissing on the hard work I did there. 😉 Besides this slight isn’t exactly going to make me jump ship from my new job back to my old one—just with a different color scheme.
(Full disclosure: I work on Automattic, which makes software and services in the same space as SixApart.)
Today, TypePad announced the launch of TypePad micro, which I found out about from John Gruber’s somewhat snarky tweet.
This marks the first time (to my knowledge) that SixApart is embarking on a free hosted blogging service, so it was definitely worth a look, especially given some of the things we’ve worked on, have recently got working, and will work on at here at Automattic. Besides, free is the price I like 🙂
Registering for a new account (especially with the Facebook Connect integration) was so easy, I thought, “Wait! Where is my Staples button?”
The blog, though there is some confusion as to the URL, has an aesthetically pleasing layout. It certainly seems to share a lot of influences from Twitter, WordPress P2, Pownce, etc. but the biggest influence has to be Tumblr.
Continue reading about Thoughts about TypePad micro after the jump
(Disclaimer: I work for Automattic which contributes to the development of WordPress, WordPressMU, BuddyPress, and bbPress.)
At this month’s Bay Area WordPress Meetup, there were four interesting talks. One of which wised me up to the Zemanta WordPress plugin, which I’m using now, any content creator (or Another Search Startup) should check it out—it’s quite clever.
But the presentation I want to focus on in this article, was Annie Vranizan’s Vivanista demo.
Vivanista is a social network for women focusing on philanthropy. Even if you don’t have a passing interest in such things, the website deserves a look, it’s quite an attractive website and built in record time—a couple of months.
Being a vertical, this is mostly the territory of white-label social networks, and more recently, Facebook. In fact, if you look at their team, it reads more like a group blog than a company.
That’s because it is.
What makes Vivanista so interesting is that it is built on WordPress MU blog publishing platform in combination with Andy Peatling’s BuddyPress plugin.
Continue reading about More about how Vivanista was created after the jump
There was an interesting article in the New York Times about FarmVille. The only major error I have to comment on is that, given my experience at Tagged, saying Zynga is profitable is a massive understatement.
I think it’s instructive how companies like Slide and RockYou could have been so slow to capitalize on game designs that date back to 1980’s bulletin board systems. Perhaps they’ll study that in b-school. With 20-20 hindsight, this model does complete sense—interaction and bandwidth limitations are pretty much the same relative to the existing technology in each time period are strikingly similar in both BBSs and social networks. And just to further emphasize that it was not first mover that defined success, but rather failure to capitalize, I’ll remind the audience that neither FarmVille nor Mafia Wars were original ideas on Facebook—both were swiped from competitor products.
I will give Zynga (and the others) this. They have a far more mature understanding of social virality than the days of Plaxo, Tagged, or even RockYou/Slide. Earlier social gaming (like the first such app, Zombies) used traditional models based on optimizing signups and invites, but the Zynga model is optimizing views and clicks and they’re doing a good job. Remember, FarmVille only launched in June and now is all over the Times.
Trust me, they make a lot of money off of this.
Before any of us start rationalizing, part of learning is admitting when someone does it better than you. Hats off to Zynga.
Great news today! Halle blogs another gem about some social “research” results:
“One involved the creation of mock Facebook profiles. Researchers learned that while people perceive someone who has a high number of friends as popular, attractive and self-confident, people who accumulate “too many” friends (about 800 or more) are seen as insecure.”
High number of friends == attractive? Score! And what happens at 800? Does the Facebook CS team come and beat you with an ugly stick? I thought you’re supposed to troll their tagged pictures to decide about this one. And now that they’ve ajaxified the photos page, it’s oh so easy to do!
Unlike Halle, I’m under 800 friends, but I think it’s getting close. I better stop accepting friend requests…
Okay, maybe one more friend. 🙂