Archive for May, 2006

Recent Rails Revelations & Notes

I started a new promise service Rails app a few days ago, and I’m discovering all these wonderful new features in Rails 1.1, as well as some features I didn’t properly take advantage of in the previous version.

  • There are many, many plugins, and some of them are awesome. I threw authentication together really fast with Rick Olson’s acts_as_authenticated. It feels easy and lightweight, and uses generators to create a nice starter scaffold. I think I’ll also use techno acts_as_attachment to handle user pictures.
  • I looked at the Engine plugin system, and specifically LoginEngine, but the whole Engine approach just feels too heavy and fixed for my needs.
  • Migrations are great. In addition to providing a simple schema/data versioning system, it is also just nice to take care of most of the database work without every touching sql.
  • People will sign promises to make them active, as well as to bear witness. I’m planning to use polymorphic associations to leave room for other types of models (like contracts) to be signable later. Might even pull out the code into an acts_as_signable plugin…
  • Since people can sign these signable items in different capacities (signee, witness, objector to start), this is a good place to also use the activerecord :through association.

Those are the notes for today. I’m sure I’ll have more as development of this thing progresses.

Remixing Contracts

For my Comparative Media Studies final paper and presentation I focused on the design of social, programmable contract objects that I’ve touched on in a few previous entries. This paper covers all the ideas, and I think it satisfies my overall goal of nailing down an outline of the topics. Yet I’m slightly disappointed in how it reads. it feels slightly stiff and analytic. It is a bad style habit I unfortunately picked up writing analytic papers for undergrad philosophy classes, and that I still inadvertently fall back on occasionally. My goal for my next writing is to tone down the analysis and find more rhythm.

remixing_contracts.pdf

Triplemint RDF Search & Query for Scheme

Last week Ben Wagner and I finished our work on an RDF toolkit for crawling, searching and querying RDF graphs. It’s in scheme, and uses a simple s-expression based query language that is inspired in part by SPARQL.

Download about_triplemint.pdf (120K) & triplemint.tgz (180K). Requires the 2006/04/14 snapshot of MIT Scheme as well as a copy of the W3C’s cwm.

The Sensation of Drifting and Potential

Just a few moments ago I was lying in bed with Jenn sleeping next to me, and I momentarily experienced the sensation that I was lying in an enormous space, that the bed extended outward in all directions, and that the sky was above me and open. Jenn was still there asleep with me, but nothing else was around us. It almost felt like we were upside down and weightlessly suspended from from an infinitely high ceiling.

Since arriving at MIT last August I’ve experienced this feeling a number of times, especially in the past few months. It’s a sensation I wish I could somehow capture and convey, but that is only really so wondrous because it is so fleeting and personal. I think it is a feeling of drifting, but also of potential.

A Promise Service

As an early demonstration of the social contract idea, I am considering writing a small standalone promise service in which people can create, bind, and transfer promises within an open public, community setting. I would build it around a web service API first, with a light web front end. Nothing fancy, just enough to convey the social parts of this stuff. Interesting extensions like economics and folksonomies could be layered on top later via the API.

I could see this working with OPENSTUDIO, but only via this API. I’d like to keep the code separate. At this point I think we all see the power of many useful standalone components rather than a few big, messy specialized ones.

Things are better now

The last problem set is finished, and I’m now turning my attention to the final projects. What a huge relief. I managed to get the constraint propagation working pretty well, good enough at least to apply to the father-daughter-yacht puzzle in SICP. After printing out all the code I realized that it really wasn’t all that large of a program.

6891 Problem Set 7

Failing sucks

Here at MIT and the Media Lab we are accustomed to success. So it really hurts when we rise to the challenge yet still fail.

Today we all received a rather dissatisfyingly written email that we think tells us that we didn’t place in the Prix. It’s worded so poorly that we can’t tell for sure, but that’s our impression. I checked the database to find that the invitations we had created for the Prix judges were never even redeemed.

The failure continues tonight as I struggle to complete this long overdue, horrible problem set. Several times now I’ve thought it was close, that I was nearing some easier downhill slide, only to realize that I was fooling myself. For the first time in years I’ve started to lose track of where I am in the program, what I’m doing and why.

It all starts to feel very arbitrary.