July 15th, 2007
Rails stopped routing http requests the morning after everything was working fine. I was running demo exercises from the Agile Rails book and didn't seem to do anything that could have messed up the installation. Downloading and symlinking to the books own app code didn't fix the problem.
"no route found to match "/store" with {:method=>:get}"
attempting to debug:
>> rs = ActionController::Routing::Routes
>> rs.recognize_path "/store"
=> {:controller=>"store", :action=>"index"}
routes.rb seems fine:
ActionController::Routing::Routes.draw do |map|
map.connect ':controller/:action/:id.:format'
map.connect ':controller/:action/:id'
end
Everything looks good where is the problem? I googled and found a post pointing out spurious routing problems in Rails 1.2.3 and a suggestion to change boot.rb to remedy it:
root_path = Pathname.new(root_path).cleanpath(true).to_s
to
root_path = Pathname.new(root_path).cleanpath(true).realpath().to_s
That suggestion did not work for me. Desperate to get my Rails show back on the road, I did the obvious:
gem uninstall rails
gem install rails
Bingo!
4 Comments » | Posted in software
July 13th, 2007
MySpace's effort to emulate the distinguishing status updates feature of Facebook went down quickly after introduction and remains down:
The function that you are currently trying to use is disabled and will be back shortly.We are making some minor changes to this section so please bear with us until we can get it back online.Please do NOT email me about this. Just wait it out. Jul 13, 2007 -Tom
While the typical MySpace user surely hasn't noticed the blip, social networking observers are keen to see whether Facebook has any enduring competitive advantages over MySpace. The friend status feed has been a unique feature for the upstart network, and according to the FB corporate blog, a technological achievement. How well MySpace makes the shadowing move will reveal the depth of their technical bench. Are they a decent media company first but far second as a technologist to the leader as Yahoo is to Google, or is that characterization false?
MySpace has never made any deep innovations. Their technical competitive strength in the war against Friendster was the ability to engineer scalability. While Friendster choked on their open source platform, MySpace outran them with ColdFusion on steriods. Friendster couldn't deliver pageviews or messages and had to cap the friend list at 500, while MySpace's scalability allowed it to foster a laissez fair environment that placed few bounds on the creativity of its users, who under this liberal regime made the system a runaway success.
In this round against Facebook, scaling the mundane -- delivering page views and messages -- is now a problem widely solvable. The magic is in the innovations that require mathematics and computer science, problems that cannot be solved with simple algorithms and by eliminating bottlenecks or throwing more commodity machines into the webfarm. Facebook makes much of the social graph, and I suspect the term is more than a mere metaphor. The innovations on Facebook probably rely much on graph theory and other beyond engineering domains.
Anybody can put computer scientists or mathematicians on staff but is that enough against a technocracy running on all cylinders? The technology gap between Yahoo and Google is probably two years or so -- and never narrowing -- and worth billions and billions in market cap. How MySpace recovers from this stumble will indicate the size of their gap.
(Initial coverage of the MySpace stumble)
Leave Comment » | Posted in facebook, myspace, social networking
July 10th, 2007
There's plenty of unofficial APIs for MySpace floating around but despite acknowledgement from MySpace management of Facebook's powerful interface and its popularity with developers and meek promises to counter with a similar move, we haven't seen anything yet... until now.   The web album services interface on http://media.myspace.com/services/media/albums.asmx gives a hint of a fuller API. The following operations are supported for web albums:
GetAlbums
GetAlbumsSlideShow
GetImagesCount
InsertAlbum
To give you a taste and to have an archival excerpt in case the page disappears, the following is a sample SOAP 1.2 request and response for GetAlbumsSlideShow:
<pre>POST /services/media/albums.asmx HTTP/1.1
Host: media.myspace.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: <font class="value">length</font>
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetAlbumsSlideShow xmlns="http://myspace.com/services/media">
<friendId><font class="value">int</font></friendId>
<token><font class="value">string</font></token>
</GetAlbumsSlideShow>
</soap12:Body>
</soap12:Envelope></pre>
<pre>HTTP/1.1 200 OK
Content-Type: application/soap+xml; charset=utf-8
Content-Length: <font class="value">length</font>
<?xml version="1.0" encoding="utf-8"?>
<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap-envelope">
<soap12:Body>
<GetAlbumsSlideShowResponse xmlns="http://myspace.com/services/media">
<GetAlbumsSlideShowResult>
<MiniAlbumSlideShow>
<AlbumId><font class="value">int</font></AlbumId>
<Hash><font class="value">string</font></Hash>
<Title><font class="value">string</font></Title>
</MiniAlbumSlideShow>
<MiniAlbumSlideShow>
<AlbumId><font class="value">int</font></AlbumId>
<Hash><font class="value">string</font></Hash>
<Title><font class="value">string</font></Title>
</MiniAlbumSlideShow>
</GetAlbumsSlideShowResult>
</GetAlbumsSlideShowResponse>
</soap12:Body>
</soap12:Envelope></pre>
(via)
3 Comments » | Posted in myspace
July 5th, 2007
In another example of cooptition, the niche social network / food & entertainment review site has established a presence on Yelp with its Hangouts application. The app is not much to write home about but it is a good example of outside companies finding value in joining the Facebook ecosystem -- and integrating in a complementary way. Yelp is well-focused on reviews and Facebook won't be stealing any of their users. Rather the move is a recognition that Facebook is the becoming a requisite part of online identity and so members of the Yelp tribe should connect there too. Facebook also a makes a good venue for passive marketing though we don't expect the growth to be anywhere as explosive as iLike's because of the local and physical nature of hangouts.
Hangouts creates a widget that tells profile readers where you'll be and your favorite hangouts based on your inputs. In this way, Hangouts is a profile extension much like the events calendar on MySpace. Scenesters use the calendar on MySpace to bolster their status by announcing the stream of shows they plan to attend. I also expect Hangout to be more a status tool than a form of passive invitation.
The venues listed in Hangouts derive from entries in the Yelp database. Clicking them on the Facebook profile leads to a Facebook landing page with ratings, venue information, and other app users / members with the same interest, in similar fashion to iLike. The venue links on the landing page lead back to the Yelp mothership. The integration of the two platforms is quite natural.
Hangouts seems to be someone's side project at Yelp because it bombs with an error when I try to make entries or often when I click anything on the profile. I'm sure they'll get it right. However, given the open field and relentless introduction of new applications everyday, they should get it right sooner than later. Hangouts is gravy to the loyal Yelp user base, but the real danger of complacency is someone coming out of nowhere iLike-style to take the local space on Facebook.

2 Comments » | Posted in facebook, social networking