Up in the Air

This blog is now running in the cloud. That’s not very special in itself; lots of other blogs and web sites run on cloud servers. It’s running on Debian Linux; that’s not very special either. But this blog is built with Nu and Objective-C.

I’ve been working for a while to get Nu running in the cloud, and although the iPhone has been a distraction, it’s also been a motivation. Running Nu cloud services means that I can take some of the same components that I use in my iPhone apps and use them in my cloud services as well. That means less to learn, less to write, and less to maintain. It also means that some of the same advantages of Objective-C on the iPhone can be available on my servers – without the excessive cost and lack of flexibility of running on Xserves.

The software serving this blog is a complete rewrite of its predecessor, which was also written in Nu but used Core Data and a few other Apple proprietary components. Now everything in my stack is open source, and that’s a big relief! No more opaque components, and no more single-vendor lock-in.

The main components are
  1. Nu, my Lisp built on Objective-C
  2. Nunja, a libevent-based http server
  3. NuCURL, an Objective-C wrapper that allows libcurl to be called from Nu.
  4. NuJSON, a Nu-oriented revision of SBJSON
  5. NuPostgreSQL, an Objective-C wrapper that allows Nu code to call the PostgreSQL C API (I’m using PostgreSQL for all blog data storage).

Most of these components are open source (soon probably all of them will be) and available from my github account.

Working together, Jeff Buck and I have gotten all of these components running on Debian 5 (aka Lenny), and this blog server is running on a Rackspace Cloud Server (which is costing me a full 1.5 cents per hour).

What’s the point?

There are plenty of other blogging tools available already, but there’s more to sharing on the internet than just posts and comments. Locations, links, pictures, and twitter status posts are a few examples. I’ll be working over the next few months to integrate more of these and other items into my blog. Running in the Rackspace cloud means that the work on this will scale.

OAuth

One of the first integrations is a login system that uses OAuth and Twitter. Visitors can now log in with their Twitter ids to post comments and access special personalized features. I’m using Twitter’s “read only” authorization (you’ll see this confirmed on the signin screen), so that you don’t have to worry about me writing anything spammy to your Twitter stream. Please try it!

5 comments ↓

#1Grayson on 2009-08-29 at 21:02:31 America/Los_Angeles

Creating a blogging platform using Nu is pretty cool. Using Twitter to authorize comments is incredibly cool. Now I’m curious if you use NuMarkdown. :)

#2jimfenton on 2009-08-29 at 21:36:54 America/Los_Angeles

The OAuth/Twitter login system is pretty nice. But I’m confused by what it says it wants to do. “The application neontology by Tim Burks would like the ability to access your data on Twitter.”

Access my data on Twitter? Not that much of my data on Twitter is private, but some people have locked Twitter feeds. What you really want to do is associate comments on your blog to my Twitter identifier. Is there a way to make this clearer, or is this wording that comes from Twitter because they don’t have any finer-grained authorization?

#3timburks on 2009-08-29 at 22:02:38 America/Los_Angeles

Hi Jim, right now the only distinction that I can make is that my blog only wants “read-only” (vs. read-write) access to visitor’s Twitter accounts. I’m not calling any Twitter APIs yet (although it’s tempting to get and display avatars), so if Twitter offered a third “authenticate-only” category, I’d gladly switch to that.

Grayson, since my old posts are all in Textile, I’m currently calling out to a script to do formatting. But for the future, NuMarkdown is definitely a possibility. Thanks!

#4drbarnard on 2009-09-29 at 15:10:16 America/Los_Angeles

Very cool stuff!  It was great chatting with you at Gino's about all the great tools you're working on.

david

App Cubby

#5brendanrankin on 2009-11-23 at 16:57:35 America/Los_Angeles

Very, _very_ nice!  I'll have to see if it will work with what my provider (Webfaction) gives me.


Cheers,


- Brendan

Leave a Comment (sign in with Twitter)