70's futuristic technology

Programming focused drivel

Sunday, July 29, 2007

Seattle SICP Study Group



Attention Seattle area Programmers who are interested in learning Scheme or reading SICP.

I am organizing a Structure and Interpretation of Computer Programs study group. We will working though the book, videos, etc related to the excellent book by Harold Abelson, Gerald Sussman, and Julie Sussman. The group meets up once and week as well as discussing online. We will cover roughly one section of the book per week. It should take about 16 weeks to cover most of the book. We will be keeping a brisk pace, Fall 2007 break in Nov 07 for a month and then back at it Spring 2008.

If you are a graduate or undergraduate student, this would make a good independent study class or two class series.

There is a great SICP curriculum on MIT open courseware site. PLT Scheme provides a great implementation for use during the study group.

Nothing is set in stone for the Study Group structure. I started a Google Group
initially created as "restricted" and the postings invisible to non-members. We should decide as a group what the final policies are.

Interested? Questions? Email me My email address, Sorry no link to avoid Spam
or join the Google Group:
Seattle SICP Study Group on Google Groups.

Labels:

Thursday, July 26, 2007

I gave a brown bag lunch at work yesterday on a bunch of ReST research I had done over the last few months. It went pretty well, but I didn't make it though all 34 slides.

I uploaded the slides to Slideshare.net. You can check it out Rest vs SOA(P) ... yawn. Or below I will embed the flash movie.

It was also chosen as one of SlideShare's slideshows of the day and placed on their homepage.

Friday, July 13, 2007

Smell the taint
Okay, so I just lost 2 hours of my life that I will never get back do to a Ruby language feature and the built-in rss library's lack of a warning message.

I had a test with a path to an RSS feed, RSS:Parser.parse would return a fully populated object, but once I ran the real code it failed.

So I started to isolate the problem. The value coming out of the database looked the same as my test value.... wget, yep it's there....

db_value.class # => String
str_value.class # => String
db_value == str_value # => true
db_value === str_value # => true
Wow, there are the same! Why doesn't this work?

So I had to edit rss/parser.rb as root (?!?) to add print statements to isolate where the parser was rejecting the database value... drum roll... tainted?

Doh, String values obtained from un-trusted sources such as environmental variables, http requests, or databases are flagged tainted. A tainted string is equal to an untained string if the contents are the same. All I had to do was untaint the string before passing it to the parse method, but yikes.... There goes my 10:1 productivity ratio :)

Taint is a very cool language feature. RSS parse method really should have logged a warning that it ignores tainted sources though!

Labels:

Thursday, July 05, 2007

Note to self... Pair up gps and phone with bluetooth. Add an output COM port and choose holux 240 device. Currently using COM 6. Playing with GPSDash, looking for a good way to log gps data throughout the day.

Wednesday, July 04, 2007

lifestream versus Lifestream versus ???

I am having a blast searching for a replacement to my homepage. The most promising keyword so far has been lifestream. Note small 'l'. Capital 'L' Lifestreams are heavy duty introspection machines. The history of research goes back a couple decades... Heck even back to V. Bush. It's fraught with technical and social issues. That is a very cool application space, but not what I am looking for.

These lowercase l lifestream applications are coming on fast and furious. They are much lighter weight and help aggregate already published public content into a time based feed.

What I want dips into the "attention" space, lifestreams, and page widgets, but is none of them. I want a homepage robot. I want a meta-CMS that republishes my content into a nicely formatted homepage that highlights featured content, links to less interesting content like tweets or bookmarks on slow days, and generally keeps visitors to my homepage aware of

  1. What I have done recently

  2. All the personal CMS ( other web apps ) that I use

  3. See my style applied

  4. Published to my homepage url


Imagine a magazine cover metaphor:

  1. My most recent Flick photo tagged "featured" as the whole page background

  2. Website title splash across banner

  3. A list of featured items ( with small or medium sized images ) for various UGC tagged "featured"

  4. A "plus more" box with direct links to all my sources, with favicon bullet image

  5. In config mode
    I want to be able to weight feeds, my blogs, yelp posts, and flickrs over del.icio.us, twitters, etc.

The lifestream web application will use atom / RSS as notification mechanism, but still needs to grab the original url to analyze tags and microformatted content.

I don't care about the social networking angle for this app. Each CMS that I use can and should have a social networkign aspect to it, but this is just a homepage builder and needn't have this aspect.

I don't want a small page widget ( iStalkr ), this should be a stand alone full page.

It needs to have a well implemented RSS ingestor, so that it is timely and doesn't miss any inputs, nor double post, etc.

Bottom line is I am looking for a homepage replacement and lifestreams are 85% of the way there. The search continues...

Labels:

My SugrGlu page hasn't been updating very frequently or consistently... Of course I haven't kicked in a donation, so I can't complain. It's a very cool site, but the limit to the number of feeds and Feed performance issues worry me.

Labels:

Tuesday, July 03, 2007

WhereIsMe has a different way to layout your lifestream. Instead of just chronological, it first chunks by source. It has some sophisticated feed attributes. You can limit del.icio.us feeds to just a certain tag for example. You show the last 10 posts ( or less ). Overall adding feeds is very slick and easy.

The instructions that they have for finding your flickr id or your twitter id are invaluable! This part tripped me up on other sites and I probably didn't setup some feeds correctly. For example twitter has Username and User id. Doh? Wha? But WhereIsMe shows instructions of how to locate this info. Of course this violates opaque urls, but I think rich lifestreams are going to be built on fragile links for the time being.

Where is Ozten?

Labels:

Monday, July 02, 2007



Noonhat is a great project by Brian Dorsey. Brian hosted the lightening talks at Mindcamp, and his presentation was one of the highlights. I signed up for lunch around Belltown... Let's see what kind of freaky lunch connections I make :) Try it out if you live/work in Seattle.

Labels:

Mind Camp 4

Was a lot of fun. It was my first time and I am glad I went. The I phones were well represented. I got a free copy of the myth of innovation and gave out many copies of my coloring book Understanding Terror coloring book.




Photo by Krishnan
The Saturday House was well represented and we had aa good session on it. Can't wait for Bob to open the Isaqua chapter.


I lead a discussion on meta-content management systems. We came up with some good ideas and Mikeand Zach were interested in working on project. I will keep searching a little more to make sure the semi-perfect thing doesn't already exists. My links on this topic are Under lifestream for now.

Labels: