Opened up irb and had a little fun this morning:
%w(good morning dary).each {|w| system("say -v Victoria #{w}")}
Awww. Good morning to you too Victoria ![]()
MySpace will launch its Data Availability later today (see here and here), beating Google and Facebook to the punch.
Unfortunately all three will be pretty much useless to us.
First, there are legal issues with sharing data, which I wrote about previously.
But that's not the biggest problem. None of these services will allow you to store anything beyond simple ids (no social graph, photos, etc). In MySpace's case, a developer can't even cache this data.
So every time we render a page, we'd be calling out to MySpace. The performance implications of doing this would relegate potential asewome data to a buried link, like "See my MySpace data". Vomit.
Let me know when we can sync. That's what data portability really is. I want to be able to upload a photo, add a friend, remove a friend, write a comment or change my first name, and have it appeaer across all my social networks. I want to see relationships. What team is most popular among MySpace users? Between MySpace and Facebook users, who is more accurate at picking scores and winners?
Sure, this may be a boon for sites that don't have any compelling user data of there own and get virtually no traffic, but those sites aren't relevant anyway.
Until we can sync data across social networks, all this "Data Portability" is just PR.
Sometimes, people in our industry never cease to amaze me with how myopic they are. Couple quick points. When we say newspapers are dying, are we talking about the physical paper we hold in are hands or are we talking about the industry itself? Both are fairly ridiculous, but I would be willing to entertain the notion that the physical paper may be on its way out with this green movement and technology shift. But to assume that, say, the nytimes.com will be replace by a network of blogs is patently absurd.
Sure, blogs like techcrunch, mashable and the usual suspects often scoop traditional media, but technology is one of hundreds of topics newspapers cover.
When blogs start covering local townhall meetings and writing features and ride-alongs, then we can talk.
Just checked out this video (links directly to m4v file) that someone forwarded to me earlier today.
Basically when trying to scale a rails app (or really any web based app) there are three core rules to live by.
1) Spindles = Bad. Talking to databases and/or file systems are slow.
2) Dynamic to static. Dynamic content is your enemy.
3) Push to the edge. Push everything as close to the client as you can.
"Rails scales exactly like any other web application... You need to take into account all the components, from the moment the request is received into the load balancer, all the way down, and all the way back again."
We're constantly working on improving performance on Fan Profiles as it continues to grow and have learned that these core rules are indeed the way to live by when working on scaling issues. Our work is far from done and likely will never be, but it's cool to see another sucessful rails team discuss these issues and how they tackled them.
Sunday provided a wonderful conclusion to RailsConf 2008. Here are some brief notes for the sessions I attended to whet your appetite with links to their RailsConf pages (where you can grab slides).
Waxing Ballroom Floors on the Titanic (and Other Less Seaworthy Vessels) - Rick Bradley, Yossef Mendelssohn, Kevin Barnes (OG Consulting) (RailsConf page)
Plugins:
object_daddy
timely
shmemeter
autochronic
freshtrack
nihilist_bot
flame
Genomes on Rails - Matt Wood (Wellcome Trust Sanger Institute) (RailsConf page)
Frequently and rapidly changing data
They specify task the same way and allow users to create pipelines for various projects
Throughput: Data → 320tb/450 cpu cluster → Archive (2 Petabytes of data)
The Profitable Programmer: Creating Successful Side Projects - Geoffrey Grosenbach (Topfunky Corporation), Tom Preston-Werner (Powerset, Inc.), Chris Wanstrath (Err Free), PJ Hyett (Err Free), Ben Curtis (Catch the Best) (RailsConf page)
Project Ideas:
Implementation:
Promotion:
Success:
Notes:
That's it. What an amazing conference. Can't wait until next year!
RubyGems 1.2 is available now. Everyone should update. In addition to a few bug fixes, it also removes the need to bulk update (which I think is pretty sweet).
Safari Books is a pay-site that allows you to "check out" technical books up to a certain limit.
Every one in our group has an account, and we love it.
Unfortunately, the site, which O'Reilly runs, suffered from horrible usability issues.
Basically, they overdosed on Ajax, Ajaxifingy everything from search to flipping pages. Interestingly, the site used classical techniques for things that could have benefited from Ajax such as sign in and adding books to your self.
The new interfaced made searching and browsing for books a lot easier, but reading an individual book is still a chore and referring back to a specific spot in a book still requires an advanced degree.
And how about a social aspect to the site? I'd like to know what others are reading and see a break down of categories.
Still, it's a great site, and I'll continue to use it.
I was at the 2008 US Open's 18-hole playoff at Torrey Pines between a gimpy Tiger and the blind optimist Rocco Mediate. I was there. For all of it. And it'll probably go down as one of the better days of my life.
My story begins at midnight. I loaded my backpack up with an amazing book, a water bottle, my shuffle loaded up with Radiolab podcasts, and my light blue Montauk sweatshirt. With the bare necessities in hand I jumped in my totally sweet ride and hit the road. It was a quick 10 minute drive to the Hollywood and Highland lot and after parking my pride and joy I raced to the metro station and caught the 1:02 - the last train - to Union Station. There I hopped on the 2:50 bus, which proved to be the least comfortable part of my journey, and arrived in lovely San Diego at around 5:30. Two trolleys and a shuttle later and I was walking to the entrance of Torrey Pines.
I'm not sure I'll ever get over that first sweeping impression of Torrey Pines. I walked in next to the 12th, a tough par 4 that plays towards the coastline. The fairway crew was out in force, rolling the short stuff. And it should be noted that these fairways are the softest and spongiest I have ever felt. I can only imagine how good it must feel to hit off of them. And after walking the 12th all by myself with the rumble of the mowers and a soft mist over the course, I arrived at the 13th. It's hard to appreciate the grandeur of this hole until you actually see it in person. To the left is a huge canyon filled with thick foliage. Behind is a cliff overlooking the Pacific ocean. And the hole itself is just gorgeous - a straight par 5 with fairway bunkers down the right, leading to a symmetric green surrounded by bunkers on all sides that funnels shots towards the middle and back down the fairway. It's really a sight to see, especially with no one around at 7:15 in the morning.
After walking these two holes solo, I headed over to the practice green and followed Tiger through his entire warmup. On the green he started with short putts and proceeded outwards to lengthier ones. He had two Nike balls which he retrieved himself - just Tiger on the green. At the end he began rolling downhill putts of various lengths so he could get a feel for the pace of the testy downhillers he was sure to face. It was amazing on the 5 footers that he would barely tap the ball and it would track all the way to the hole. Those greens were fast. Then Tiger moved to the practice tee and the fun really got started. He began with a wedge, hitting 50 yarders to a front pin. After landing half a dozen of those within 5 feet of each other, he took out an 8 iron and began piercing shots to one of the intermediate pins. He wasn't really shaping shots at this point, just hitting high sweeping fades and surrounding the pin with golf balls. Then he took out his 5 iron and really started getting ready. He hit balls with a variety of ball flights - a few with a draw, a few with a high fade, a few that flew on a line. As I watched him hit I noticed the balls landed neatly in a line, left to right, across the green. His distance control was epic; the line was almost straight across. After that he took out his 3 wood and played around with some more shots - again a draw and a high fade, but also his legendary punch, which is something to see in person. The ball flies for literally 100 yards without getting more than 15 feet off the ground, then takes off slightly and raises to maybe 40 or 50 feet, and then it just goes. Absolutely amazing to see. Then he brought out the big stick and, of course, killed them. He hit probably half with a draw, half with a sweeping power fade. And after that he went back down the line - a few 5 irons, a few 8 irons, a few wedges. And he ended in a really interesting way. Stevie tossed him one ball. Tiger picked up a tee and teed it up. Then he approached it like it was the opening tee shot at 1. He stepped back, took a few practice swings, stood behind the ball and visualized the shot, and ripped it... dead left... like he has on that hole every day. Whoops. (And it should be noted that his actual tee shot at 1 turned out much, much better leading to his first par on that hole the entire tournament.) After that he went to pitching area and hit a couple 30 yard pitches and sand shots to various flags - with a lot of green, short-sided, and in between. And that was it. A warmup routine to emulate. Then the tournament began
For the first hole I started walking down the fairway and noticed that I had been walking alongside Tiger's wife Elin Nordegren. Kinda cool. Then I bumped into Adam Hodge, a good friend of mine from Wesleyan, who works in San Diego and made it out. It was great to catch up and we caught the first 3 holes together. By the second green we had front row seats and Tiger chipped right towards us. So that was awesome. Then I peeled off and began to follow the group from the tees - watch them tee off, hang around the tee box, get a long-range view of them playing the hole. There are worse ways to watch a golf tournament. On the 10th Rocco bogeyed and Tiger moved up 3 and everyone thought it was over - including, probably, Rocco Mediate. But he strung together 3 birdies to pull even and after a Tiger blip was 1 up. The crowd was going nuts! Chants of "Rocco" were echoing around the entire course. One of the amazing things that happened this tournament is that Rocco became the overwhelming crowd favorite. If I had taken a straw poll I would imagine maybe 80 percent of the people there wanted Rocco to win. And from the tee box on 18 I had a really cool view of his putt to win that he completely yanked. And then Tiger closed it out on the 91st hole of the championship for one of the all-time greatest victories in the history of golf.
So after 19 holes of playoff golf, a moving trophy presentation (that also had hilarious speaker hiccups... oh well), and almost 8 hours of near-constant walking, I hopped a shuttle, 2 trolleys, 2 trains, and in my car and got home around 10. A 22 hour mecca to see one of the greatest Opens in the history of golf. It'll be pretty fun to say I was there. And it was pretty fun to be there too.
I've recently been tearing through various video tutorials that are out there including the ones produced by the fine folks over at railscasts.com.
A recent favorite that I've watched and implemented on Fan Profiles is the one about Site Wide Announcements. This is something that is pretty essential to any growing online community. Sooner or later you're going to want to message all your users about something, whether it be scheduled maintenance, new features, or other bits of info that may be relevant to the community as a whole.
One of the many cool projects that we've been working on is a killer new game available on Facebook. It's call Fight for the Top and it's probably the best Facebook sports app evar.
Today we launched the announcement system and have more than doubled the number of Fight for the Top users we had prior to today in a short few hours. We haven't done any promo for the app up to this point and it hasn't been available for very long but it was nice to see that the announcement system had an immediate effect on its user base.
I made a few tweaks to fit the code that Ryan covers in his screencast to make it work within Fan Profiles but for the most part kept it pretty much the same. Another great thing about these screencasts is that many others from the community offer up their input and/or improvements in the comments section. In this episode there was some good stuff added to railsforum.com and geoff.evason.name that is worth a look. In particular, the Geoff Evanson tips included using a cookie to track wheather a message has been hidden instead of a session which I found to be handy.
Yesterday we got the opportunity to take a tour of the new ESPN broadcast center that is being developed downtown. It is located in the LA Live area which sits across the street from the Staples Center.
After having lunch at the Palms restaurant, where we sat a few tables down from NBA Commish David Stern no less, we walked down the street, put our hard hats on, and took walk around the new facilities under the guidance of ESPN's Rob Hunter.
It was great to meet Rob and get the opportunity to spend the afternoon chatting with him about the new digs. He has done many immeasurable things in his time at ESPN and his current task of overseeing this development project is just the latest. Rob took us to lunch and gave us a personal tour of the new facilities, so needless to say, we're very thankful to him and all the time he gave us.
The whole place is going to be amazing. From a technological standpoint, the amount of electrical power and fiber optic cable is mind boggling.
When complete, there will be an ESPN SportsZone restaurant, a broadcast facility with two studios, and general office space for ESPN personnel.
While on the tour I snapped a few photos with my iphone which you can check out here.