Archive for October, 2007

Open Social

Wednesday, October 31st, 2007

Google has launched a social network platform to encompass all social network platforms. Besides the rather meta-meta nature of this play, it’s fascinating to watch the interplay between Google and Microsoft here:

Early October: Ballmer trashes social networks like Facebook as being “fadish”.

A few weeks later: Microsoft invests in Facebook for a ginormous valuation, beating out Google. This gives the appearance that Ballmer was trashing Facebook as a ploy — to lure Google into believing that Microsoft was only mildly interested in Facebook.

Now Google’s announcement. This raises several questions:

  • Did Google lure Microsoft into over-bidding for Facebook? (The WSJ already published an article discussing the implications of the inflated valuation on stock options, i.e. Facebook’s diminished ability to use equity to lure top-notch talent.)
  • Was Open Social a part of the discussions between Facebook and Google? Did Facebook relent for fear of becoming a share-cropper, i.e. an app on top of a platform, just like apps live on its platform? (Remember, whoever successfully creates the most meta platform wins.)
  • And/or, was the loss of Facebook a huge blow to Google’s plans for Open Social?

Fascinating stuff. It does strike me that Google’s play seems incomplete without the big-gorilla Facebook. Does this now become The Law of Duality in action?

Bubble II

Sunday, October 28th, 2007

Neil’s law:

The size of the bubble is directly related to the number of experts claiming there is no bubble.

Now, I won’t say that we’re going through the exact same thing we did last time. It does appear a few lessons have been learned. But seriously, not every site that attracts a devoted following is going to be capable of generating huge returns using advertising revenues. So there’s going to be fallout. And when that happens, jobs will be lost. It’s a cycle; it’ll happen. It always does.

The amazing thing about market euphoria is the way it tricks people into thinking “This time it’s different! The rules have changed!” As if value can increase unimpeded forever.

That’s not to say we need to be all doom-and-gloom. It’s a fun ride — enjoy it! Just try not to lose your shirt over it. And if you do, enjoy it anyway! You only get a few such opportunities in a lifetime.

Neat and Neater

Sunday, October 28th, 2007

Apparently, a comet that was discovered in 1892 has taken us by surprise and suddenly become a million times brighter, visible to the naked eye. Neat! I hope to check it out tonight.

In the process of reading about this, I discovered Stellarium, which has to be one of the coolest software applications I’ve ever used. Star gazing, anywhere in the world, anytime in history, from your computer. I’ve been using it for 10 minutes and I’m hooked. Even neater!

Sucker Punch

Saturday, October 27th, 2007

What do you do if you’re standing on losing ground in a debate? One option is to bait your opponent with a blatant lie. It’s a dirty trick, but it works, especially when the lie plays into preconceived notions of the listener. Your opponent must respond — silence implies truth. But to expose your lie changes the focus of the debate — is your allegation true, or is it not? Just how true is it? Listeners tend to believe there’s a grain of truth in most any point of view, and cling to falsehoods that justify their world view. Thus you gain ground in casting doubt on your opponent, even though the doubt is entirely baseless.

If you’re lucky, your opponent will be angered by the dirty trick, and argue back with fervor. This reinforces the listener’s (mistaken) notion that reality lies somewhere in the “middle ground.” If you succeed in evoking passionate anger, you’ve maneuvered into equal, polar opposition from your opponent. You’ve gained yet more ground.

What do you do if you’re standing on winning ground and your opponent sucker punches you with a blatant lie? I’m no expert in debate (clueless really), but I decided to do a little research: don’t get angry, don’t argue the veracity of the lie. Instead, re-cast the lie in a context such that the listeners’ thought patterns lead to its dismissal. Easier said than done! But it’s the only path that leads to decisive victory.

Why is this on my mind today? There may be a storm brewing in the web world. I see two opposing entities, and an uncertain future. A shot was fired (sucker punch), and the response was passionate. I can clearly see who’s in the right; those who haven’t been paying attention will not. And thus the passion of the response, while clearly warranted, only serves to establish a firm middle ground for those who don’t care to dig beneath the surface.

Don’t take the bait.

D.R.Y. !

Saturday, October 27th, 2007

Know of a Good Startup?

Tuesday, October 16th, 2007

I have a close friend (a telecommuter like me) who’s recently decided to hit the job market. As an experiment, I figured I would put out a line to my THRONGS of readers who might be able to hook him up with a quality opportunity. (I say experiment because there’s some risk I’ll get a deluge of emails for poorly matched jobs. Or that I’ll get none at all. We’ll see.) Here’s what my friend has to say about what he’s seeking:

I’m trolling for a startup — small enough that I can make a big impact as an individual contributor, but established at least to the point where they can pay me and have benefits. Ideally, a place that needs scalability/performance work measured in orders of magnitude, that’s what really gets my pulse racing and what I’ve excelled at in the past. I’m pretty much language agnostic, but my strongest languages are C and Perl.

I can personally vouch for him as one of the best engineers I know. You’ll never find someon like him by sifting through resumes, and he’s amazing at optimization. You should hire him. If you have something that fits well with what he’s looking for, and you’re willing to hire a telecommuter (which you should be), then drop me an email (see left sidebar).

(p.s. no 3rd-party recruiters — my rule, not his.)

Ajax is…Dead?

Thursday, October 4th, 2007

One of Joel’s recent posts has been tumbling around in the back of my head. His observations are, as always, excellent. But unlike his usual posts, the conclusions drawn in this one mystify me. I see his point, but it feels…crazy.

One important truth he reveals is that software projects need not run optimally on today’s hardware; Moore’s law and the passage of time guarantee that when your product hits its prime market share, the hardware will be capable of supporting it.

Apply this maxim to development platforms, flip things around a bit, and we get this:

Any software development platform incapable of fully utilizing its hardware will surely fail.

This is true because there will always be some other platform that is capable of soaking up all that power, and that platform is going to have whiz-bang features that everyone’s gotta have right now that can’t be done in the old-fashioned turtle-speed platform.

Java is a great example. For those of us who used it back in the mid-90’s when it was brand new, it was slooooow. It was hard to believe that this was a “real” development platform. But it had some great features that outweighed the perf issues. And 10 years later, after 5 or so revs of Moore’s law and some nice optimization, Java is king. (Or at least queen.)

Case study #2: Ajax. Remember Ajax back in 2000? Yeah, I do too. If there’s a lesson to be learned from Java and Ajax, it’s this: your development platform should aim to run on tomorrow’s hardware. Worried that RoR is too CPU intensive? Relax, Moore’s Law will take care of it.

But…

Moore’s law isn’t quite the same as it used to be, now is it? As you might have heard (sarcasm), the multi-core world is coming, and a few people are a bit riled up about it.

Back to Joel and Ajax. Ajax depends on JavaScript, and JavaScript — as currently spec’d and implemented in browsers — is a single-core beast. The new version — supercharged kitchen-sink-of-features, still in its final spec’ing stages — will probably appear in the wild sometime late 2008. And what’s the new version doing to integrate well into the new multi-core world?

Well, nothing really. And it’s too late to change that.

So now we’re looking at version 3 of JavaScript before multi-core deficiencies will be addressed. Meanwhile it’s at least a few years before version 2 is established enough for Ajax apps and frameworks to depend on its features. Lather, rinse, repeat, it’s another couple years after that before theoretical multi-core Ajax apps are viable.

Repeat: the performance of Ajax apps will remain little-changed for the at least the next 3 to 5 years, unable to utilize multi-core processing power. (Same thing applies to Flash too, you’ll notice.) By that time, current processors will likely have 16+ cores. That’s a whopping amount of processing power lying dormant.

Do you think 5 years enough time for someone to build a platform that contains all the benefits of Ajax, plus some new great stuff, that lets developers soak up all the processing power in those extra cores, and deploy it to 90%+ of machines out there? Do you think maybe some of the big players have efforts in this space already underway? (hint: Gears is a start.) It’s just a question of who and how soon.

So what does this mean for Ajax? For one thing, it means that Ajax — as it currently exists is — will have to evolve for the long term. One of the major browser vendors is going to have break ranks and extend the browser platform to go multi-core (it won’t happen in lock-step — design-by-standards-committee is too slow and will inevitably lead to a back-stab). Either that or something new will emerge. (Or more likely, many new things will emerge.)

Get ready to brush up your skills…