GPS Running

Link to today’s run

I love running. I skip wearing headphones or listening to music because I love hearing the world race past me. Things that interfere with the actual experience of being there aren’t interesting to me.

Nike+ on an iPod (a music player first and foremost) thankfully has the option to do a workout without music (and without a headset). I’ve been using this since Christmas 2007 when my wife gave it to me. It’s great! Nike has training programs you can follow to get you the next level.

Recently discovered when I got an N82 is the Nokia Sportstracker app. It keeps track with GPS and gives an amazing amount of live metadata. Not only are you able to follow your speed, pace, average pace, distance, location, etc, in real time, you can pump the data live to the web.

There are a couple things lacking with both systems: Social interaction outside their gardens. Both offer links to back to your workout pages, but neither supports easy placement of the data elsewhere (read: No RSS feeds of the content).

An RSS feed of the workouts would be an ideal next step for either company. RSS being available would allow WordPress and TypePad widget development much more easily.

It would also be slick to have Twitter and Facebook integrations (Nike+ has some Facebook apps written by third parties – I haven’t been impressed with these since they’re all Flash).

Running profiles:

Philly Geek Dining

I’ve been wanting to organize a meet-up in Philadelphia for a while. Combine that with having a list of 30+ restaurants stored as a note on my phone, wanting and waiting to try, and you get opportunity. An opportunity for the geek in us…

So I’m finally kicking this off in an official manner. The upcoming.org page is up. Eventful, too. I’ll have a venue picked out this week.

If this works out we’ll keep it going on the first Tuesday each month.

Cheers and looking forware to meeting you!

FriendFeed’s response about del.icio.us feeds not updating

FriendFeed

Ross Miller at FriendFeed responded to my question about FriendFeed del.icio.us feeds not updating. It seems del.icio.us is blocking mass spidering of their site.

Ross’s email:

“Hi Sol, del.icio.us places restraints on our ability to crawl their site. So if for some reason the item is missed, it becomes very hard for us to retrieve the del.icio.us link. Unfortunately for now the refresh button is your best option when this happens. Sorry for the inconvenience and we hope to get this resolved with del.icio.us soon.”

Looks like this is a restriction on del.icio.us’s end.

Crossing the streams – large numbers of Twitter updates

Chris Bilson (@cbilson) had a good description regarding my post about Twitter’s scaling/architecture challenge.

Kevin Rose and Leo Laporte tweet at the same time = crossing the streams”

I dunno if Proton Packs have exponential load challenges, but the end result for a server can feel similar. Is my post I pointed out that Twitter has to determine delivery options and potentially deliver between 100 million and 1 billion updates per day.

But that’s in a day. 1 billion messages in a day are a piece of cake when spread over 24 hours. What if 1 billion messages have to be delivered in an hour? Or all at once?

Take my list of the top-10 Twitter accounts and imagine them all at TED, WWDC, Google I/O, or your local unconference. These ten users, if each sends an update around the same time create 321,928 messages that need delivery (total number of followers for top-10 accounts). This is an awesome amount of message delivery. If those ten users live-blog or get conversational and send ten updates in an hour… 3,219,280 (again, that’s from only 10 users).

I don’t illustrate this to state it’s these power user’s fault. Absolutely the opposite. They’re generating amazing amounts of traffic, which is a wonderful thing, and the algorithms are the problem.

It’s possible to optimize algorithms and modify systems for maximum performance. I bring up Twitter’s challenges because I’m wondering if this is a challenge beyond present day computing.

To open some minds, here’s an impossibility often overlooked: Huge numbers in a deck of cards (just to show impossibilities can stem from small initial numbers).

Twitter’s one-to-many scaling impossible?

Twitter has been having all kinds of scaling challenges. There have been hundreds, if not thousands, of posts on the subject. Dave Winer pushed an idea for a decentralized Twitter (and has since admitted the power of Twitter is in its centrality). There is a single, simple, reason for Twitter’s challenges – Math is against them.

The facility of communication on the Twitter service is absolutely outstanding. I’ve written extensively about using it to receive an amazing amount of quality information in my series on flow.

I originally questioned the scaling ability of the service prior to SXSW, but when the service held up I went back to the drawing board to make sure my numbers were correct.

Before continuing, let’s establish the basics about the service so the math will make sense…

  • Each Twitter account can follow any other Twitter account (bear with me and forget those accounts with private updates).
  • Messages travel in one direction, from the updater to the follower.
  • Each account has updates from other accounts it follows placed in its timeline.
  • A Twitter account can selectively receive pushed updates immediately via instant messenger and SMS in addition to having an update added to its timeline.
  • An update added to an account’s timeline may or may not be push based (lets assume it’s demand driven, or pull based).
  • An update sent to an account from an account denoted as SMS or IM announcement is push based (there is no other way to send an update – it must be actively pushed from the server).
  • The mere possibility of an update needing to be pushed requires the system to check with each follower’s settings, thus requiring analysis of each follower for each update.

A warm-up equation

If there are one hundred (100) users and each user follows ten (10) fellow users, and each user sends ten (10) updates per day, assuming all updates are push-based, how many updates are sent?

Continue Reading