November 2009
1 post
Snarl - A JavaScript Bridge for JRuby
If you would like to use JavaScript directly from Ruby, check out Snarl. I just pushed its first public release to Gemcutter. Snarl is JRuby-only, as it uses Mozilla’s Rhino JavaScript engine to do its work. First, make sure you’re using Gemcutter: gem install gemcutter gem tumble Then, install and use: gem install snarl irb > context = Snarl::JavascriptContext.new >...
Nov 9th
1 note
June 2009
1 post
Golden Gate Ruby Conference: CloudKit Video and...
In April of this year, I had the pleasure of presenting CloudKit at the first Golden Gate Ruby Conference here in San Francisco. The videos are now online thanks to Pivotal Labs. If you’re interested in CloudKit, REST, Discovery, or the Open Stack, please take a moment to check it out. Slides are also available on SlideShare and a brief article on Composable REST Services is available in...
Jun 5th
May 2009
1 post
CloudKit 0.11.2 Released
A patch release for CloudKit, version 0.11.2, has been released. This is a recommended upgrade for those using the 0.11.x series of gems. From the release notes: Added Location header for 201s Fixed JSON response for DELETE operations Updated MD5 dependency for Ruby 1.9 (Andreas Haller) Updated spec setup for RSpec 1.2 (Andreas Haller) Updated gem dependencies for Rack, OpenID, and JSON ...
May 6th
April 2009
1 post
JSONQuery, New API in CloudKit jQuery Plugin
Upcoming  JSONQuery support was recently announced for CloudKit and there is now good news to share about the progress. A No-Dependency JSONQuery Library for JavaScript Thanks to Kris Zyp and Jason Smith, a no-dependency JavaScript library for JSONQuery is available on GitHub. I am maintaining my own fork of this library with bug fixes and a large set of tests. If you’ve been curious about...
Apr 9th
2 notes
March 2009
4 posts
CloudKit 0.11.1 Released
CloudKit 0.11.1 has just been released. This is a maintenance update for the 0.11.x series of gems. It is a recommended upgrade, containing the following changes (pulled straight from the change log): Added a block option for configuring OpenID bypassed routes (Devlin Daley) Added write locks for Tokyo Tyrant Tables Added Tokyo Tyrant Table example Fixed POST method tunneling bug (Saimon...
Mar 25th
Video for Rack Middleware Presentation Available
The Confreaks crew is lightning fast. The video from my Rack Middleware presentation at MountainWest is now available, just days after the event.
Mar 19th
1 note
Rack Middleware Slides from MountainWest RubyConf...
MountainWest RubyConf was an incredibly good experience this year. There was a high signal-to-noise ratio with great speakers stacked up on both days. I consider myself the least of these speakers, but nevertheless have posted my slides for anyone who may be interested. In a World of Middleware, Who Needs Monolithic Applications? Some of the slides won’t convey all of the intended...
Mar 17th
1 note
JSON Meets Tokyo Cabinet (and More!): CloudKit...
CloudKit 0.11.0 is out with exciting new features! Tokyo Cabinet CloudKit now supports Tokyo Cabinet as its storage system. If you haven’t checked out Tokyo Cabinet, take a moment to read Ilya Grigorik’s overview or check out its main site. You will find it to be an extremely fast and compelling storage system. While Tokyo Cabinet is impressive, it comes with the cost of a binary...
Mar 9th
4 notes
January 2009
4 posts
CloudKit 0.10.1 Released
A new 0.10.1 CloudKit gem has been released. This is the first release with patches from the growing community on GitHub. As always, a big thank you to everyone who sent feedback or code. To install: gem install cloudkit To update: gem update cloudkit From the change log: Updated oauth and sequel gem dependencies Fixed 410 responses for stale PUT operations Fixed MySQL content...
Jan 28th
A World of Middleware
What if every endpoint (or “origin” in HTTP-speak) was a 404 and everything else was middleware? In Rack-land, this can be a reality. CloudKit, for example, detects if it is the last thing in the stack, inserting a default developer page at the root and a 404 everywhere else. If it is not the last item in the stack, requests for resources that it has not claimed are passed downstream. ...
Jan 23rd
CloudKit 0.10.0 Released: Rack 0.9, Batch URI...
A new 0.10.0 CloudKit gem is out. To install: gem install cloudkit To update: gem update cloudkit This was originally going to be 0.9.2 with support for this week’s Rack 0.9 release. However, the new batch URI resolution in the REST API was too valuable to hold back for the 1.0 release so it was pulled in and the minor version number was incremented to reflect its presence. This...
Jan 10th
OAuth, Phishing, and Twitter
In the midst of what might seem like a crisis when viewed from within the web’s echo chamber, it can be difficult to sort fact from fiction, threat from hysteria. Such was the case last weekend when three terms that typically evoke passionate responses were combined in a single meme — OAuth, Phishing, and Twitter. The source of concern was a scam spreading on Twitter via fake direct...
Jan 5th
1 note
December 2008
2 posts
CloudKit 0.9.1 Released
A new CloudKit 0.9.1 gem has been released. Thank you to everyone who sent feedback via the mailing list, GitHub, Twitter, and personal email. To install: gem install cloudkit To update: gem update cloudkit From the change log: Fixed Rack::Lint/rackup errors related to Content-Type headers Patched Rack to support StringIO#string in Rack::Lint::InputWrapper Fixed server_url encoding in...
Dec 31st
Release: CloudKit 0.9 - An Open Web JSON Appliance
How many lines of code does it take to deploy a fully discoverable, RESTful, GET-optimized, auto-versioned, JSON API? Two. First, install the gem: CloudKit is Rack middleware, so let’s create a rackup file called config.ru like this: Fire it up with Thin, for example: You now have a running JSON container managing collections of “notes” and “projects.”...
Dec 22nd
1 note
November 2008
1 post
Rack::Config 0.9 Released
Smaller than its own README, Rack::Config is a straightforward method of configuring a stack of Rack middleware that needs to share information. To install: Example config.ru:
Nov 28th
October 2008
2 posts
“JSCocoa bridges Cocoa to JavascriptCore (WebKit’s JS engine). It allows...”
– JSCocoa — A bridge from JavascriptCore to Cocoa
Oct 9th
“However, the NDA has created too much of a burden on developers, authors and...”
– iPhone Developer Program
Oct 1st
September 2008
3 posts
“SquirrelFish Extreme runs JavaScript quite a bit faster than the original...”
– [webkit-dev] SquirrelFish Extreme?
Sep 8th
Sep 1st
http://joncrosby.me/ →
The new root of my digital identity.
Sep 1st
August 2008
9 posts
“We chose the term “market” rather than “store” because...”
– Android Developers Blog: Android Market: a user-driven content distribution system
Aug 28th
Vim + Scala →
Aug 28th
Gears for Safari beta - Gears Users | Google... →
Aug 26th
“By creating games and other programs for the iPhone, software developers hoped...”
– IPhone software developers stifled under Apple’s gag order - Los Angeles Times
Aug 26th
“I suspect that, in time, MobileMe will go the same way as the Newton”
– MildMannered Industries » Blog Archive » MobileMe
Aug 25th
http://liftweb.net/index.php/HowTo_do_Web_Services →
Steve Jenson’s tutorial on building web services with Lift.
Aug 25th
Songbird Blog » Songbird Beta is Released! →
Aug 21st
“With experiments on PlanetLab, a local cluster, and live downloads, we show that...”
– BitTorrent is an Auction: Analyzing and Improving BitTorrent’s Incentives
Aug 21st
Aug 21st