« September 2009 | Main | November 2009 »

October 29, 2009

Facebook Architecture and Scaling

Dare Obasanjo has a great (long) post about the Facebook Engineering Roadshow he attended in Seattle on 10/28/2009.

I particularly liked the level of detail Dare provided in his write-up. He discusses the evolution of the Facebook architecture from a sharded-by-school approach to today’s much more demanding requirements.

Dare’s description of how the FB News feed is assembled via their “Multifeed” service is incredible:

Multifeed is a custom distributed system which takes the tens of thousands of updates from friends and picks the 45 that are either most relevant or most recent. Bob updates status to DB and then Scribe pushes this to a Multifeed server which is a cache of the most recent 50 items the user has performed. This caches data for every user in the system. When a user shows up, the user hits an aggregator which takes the list of friends and then each leaf node does some filtering then gets back to the aggregator which then does some filtering and returns story IDs. Then the aggregator fills out the data from memcache given the story ID.

Facebook’s use of memcache is well-known but I wasn’t aware of some of the changes they have introduced including:

Dare notes that these changes have increased the throughput 5x. Hopefully FB will be contributing these changes back to the memcache project.

The money quote for me was

Huge Impact with Small Teams – Most features and underlying systems on the site are built by teams of one to three people.

Great news for FB that they are able to remain so entrepreneurial and innovative even as the company experiences incredible growth. Not an easy task and something I really miss on a personal level.

Facebook is a large-scale, transaction-intensive service. Learning about how they are working to keep up with the demands of a growing service is fascinating. It is also a great way to leverage what they’ve learned and apply it to your world.

Posted by davehod at 03:58 PM | Comments (0)

October 26, 2009

What Startups Are Really Like - Paul Graham

Paul Graham has posted a new "essay", entitled "What Startups Are Really Like". He aggregates feedback he's received from some YCombinator companies and created a list of 19 "surprises" people encountered when starting a company. I saw Paul discuss some aspects of this list a month or so ago at the fbFund offices and thought he had some great insight into startups.

His list (and some of my commentary):

  1. Be Careful with Cofounders
    Couldn’t agree more – it is like a marriage so choose wisely.
  2. Startups Take Over Your Life
    As much as you let them anyway; somewhat counter-intuitive, but I think the 37 Signals guys are onto something with their “do less” mantra. Working hard is a requirement, but don’t waste time on nonsense features.
  3. It’s an Emotional Roller-coaster
    Absolutely – the IPO process at iPrint and the Microsoft acquisition process at Messagecast had huge highs and lows. As did every round of venture we raised. It is really important to try and buffer the highs and lows by keeping some perspective.
  4. It Can Be Fun
    Why do a startup if it isn’t?
  5. Persistence Is the Key
    You have to be the biggest believer in your startup – if you aren’t who will be? If I had a nickel for every time someone told me that a bunch of companies had already done ‘x’ and we wouldn’t be successful…
  6. Think Long-Term
  7. Lots of Little Things
  8. Start with Something Minimal
    Especially in today’s world of constant iteration. I know a company that was run straight in the ground because they wouldn’t release until they could be better than a competitor that had released a year ahead of the them. They never did find that killer feature and actually ran out of money before they ever launched.
  9. Engage Users
  10. Change Your Idea
    Or put another way, evolve your idea – constantly. Strive to be a voracious consumer of feedback. Seek out what people think and pro-actively address. This really is a never ending task.
  11. Don’t Worry about Competitors
    Can’t say I really agree with this one; I think only the paranoid survive.
  12. It’s Hard to Get Users
  13. Expect the Worst with Deals
  14. Investors Are Clueless
    If you expect a venture capitalist to know how your product works down to a detailed level, you don't understand what it means to invest in a sector. No one will know more than you do about your product. It is in your best interest to seek out investors that can help move the ball forward, but be realistic in what you expect them to know.
  15. You May Have to Play Games
  16. Luck Is a Big Factor
    Maybe, but I wouldn't say Google, Yahoo, eBay or Facebook were "lucky". They were all smart, committed people that worked extremely hard. I can't think of any companies that were successful because they were "lucky".
  17. The Value of Community
  18. You Get No Respect
    Perhaps this is true on the East Coast, however, in Silicon Valley, I find it to be quite the opposite. Risk-taking is not that unusual as even the mainstream press reports on startups on a regular basis.
  19. Things Change as You Grow
    You will probably have a ton of hats to wear when things get rolling. If the company grows, you will want to/have to give up some of these hats as more people are hired and the responsibilities of each hat grow. Do yourself (and your co-founders) a favor and try to anticipate when you need to hand-off something; if you miss the signs it might be painful for everyone.

Posted by davehod at 01:57 PM | Comments (0)

October 19, 2009

Des Moines Marathon Finish

The Des Moines Marathon is a Top 30 race (we ran the Half a few years ago) according to Runner’s World.

This year’s race had a bit of a different finish than previous years:

Sawe was leading fellow countryman David Tuwei by 10 seconds when, after a left turn onto the final stretch on Southwest Fourth, he stared right at a train passing on the road.

“Nobody is prepared for that scenario,” said Sawe, the inaugural champion in 2002. “I couldn’t believe it. It was a long train.”

Tuwei caught the 40-year-old Sawe and the two waited ... and waited ... and waited for the train to pass. Third-place Geoffrey Birgen had nearly caught the two leaders when the train finally crossed the street about 40 to 50 seconds later.
A 26.2-mile race came down to a 400-meter sprint, and Sawe used his speed as a former 1,500-meter runner to pull away and win the $3,000 top prize in 2 hours, 24 minutes, 50 seconds. Tuwei finished 5 seconds back.

Maybe they’ll change the course next year…

Posted by davehod at 04:15 PM | Comments (0)

Twitter and Highly Invested Users

Steven Levy has an interesting article up on the Wired website “Mob Rule! How Users Took Over Twitter”.

Levy’s story is about how a portion of the Twitter user base is helping to innovate and drive the platform forward. He covers things like retweets (“RT”) and hashtags (“#”). Levy’s article is hardly the first to point out the world that is Twitter, but it is an interesting read nonetheless.

As an early Twitter user, it has been really interesting to watch the platform evolve. Like many social platforms, Robert Scoble has been in the thick of it, helping to make people more aware of innovation.

From an entrepreneur’s perspective, having such an engaged group of users is about as good as it gets. Probably a two-edged sword sometimes (when you do something they don’t like) but a great way to innovate in the open.

Some other services (off the top of my head) that have had similar user “investment”:

Interestingly in the case of Friendfeed, the Facebook acquisition seems to have caused a big drop in traffic. The user investment level has dropped quite a bit; early adopters have left before the platform achieved more mainstream usage.

Posted by davehod at 02:58 PM | Comments (0)