All posts by ajohnson

Who Needs Resolutions

From Java Developer’s Journal: “Who Needs Resolutions“:

1. Read Thinking in Java cover-to-cover.
Now in its third edition, Thinking in Java by Bruce Eckel (Prentice Hall) continues to fill my head with all things new. It’s a good reminder of how Java programs should be constructed and how programmers should approach programming problems in general. It touches on design patterns and how they’re used and also things like integrating Ant and JUnit.

Anyone read that book? Good?

Notes on blogging meeting at Harvard

Hung out with Dave Winer and about 50 other people tonight at the Lewis International Law Center on Harvard’s campus. I would have blogged it live had I gotten the cahones to purchase the IPAQ but the notes I took on my Palm will do for now:

First question was from a law student named Jith on the ramifications of the permanence of law students blogging (ie: if I blog my experiences and thoughts as a law student at Harvard, will that come back to bite me in during interviews? will I / could I say something that might implicate me in a lawsuit or discredit me in some way in my future jobs?). IMNSHO, sure, it might, but I think in this case the good will far outweigh the bad. Blogging will certainly lead to greater visibility within your own community of knowledge, will probably result in greater knowledge retention and so on… Driving can kill you but it sure beats walking on a rainy day.

Charles Nesson was there with his dog. He left early.

Ian Blanton had alot to say. He works for a Mac Reseller.

Derek Slater (who apparently was recently /.ed for his interview with Jack Valenti) was there. He writes for the Harvard Political Review and was wearing an EFF hat. Derek has a personal website with stuff already written up about tonight.

I sat a couple feet from John Robb, COO of Userland. At one point we got on the topic of weblogs being ephemeral, which I agree with in that weblogs are constantly changing, although I brought up the point that there are websites that retain a knowledge of the content of public websites for certain periods of time (ie: wayback machine, google’s cache. What’s to say that there aren’t other companies out there maintaining copies of various sites? … ) John mentioned something about “… somethings will be remembered forever.” I tend to agree. The price of disk space is and will continue to go down, google will eventually have competitors that do the same thing they, other companies will realize that google’s cache is a business opportunity (pay us $10 a month and we’ll make a copy of your site every 10 days, restore over the internet…)

Short discussion on on RSS and the various ways in which it has branched. Check out of the end of the above mentioned Oreilly article for a list of the RSS specifications and sample news feeds.

Dave transitioned the RSS discussion into a discussion of Really Simple Discovery (or RSD) which was written by this guy (I think, I didn’t get his name). RSD is “.. a way to help client software find the services needed to read, edit, or “work with” weblogging software.” The way I heard it described is that these guys thought it would be a great idea to create software that allowed you to do “File –> Save As” to your weblog (via xml-rpc) instead of having to type into a browser textarea or a custom weblogging client.

Dan Bricklin (who created VisiCalc and founded Trellix Corporation) was there taking pictures and picking fights with Dave. He brought up an iniative that he’s been working on at Trellix that I found really interesting called SMBmeta: “…an open, distributed way for small and medium-sized businesses to communicate information such as the physical location of the business and the area it serves, as well at the type of business, to search engines and other services.” Read more about it here… I think Diane Betsy (thanks Betsy!) brought up vindigo as an example of how smb meta would work. I agree that Vindigo is an example implementation, but it’s weakness is that you can’t (as a small business owner) update your information and as a developer, you can’t access any of that information. Plus it costs $25 bucks or something like that… SMBmeta seems like it would be a killer app in combination with location based wireless services (ie: auto discovery of all open late night diners with 2 blocks of my current location)

Bob Doyle, CEO of skyBuilders was there. He’s also on the CMS list.

Interesting though: MIT is putting its’ courses online, Harvard is putting its’ people online… Point being that anyone can read the same textbook as the kids attending MIT and not learn a thing, much of ‘learning’ comes from being a community of thinkers.

Pete, all the way from PEI said no one has ever linked to him. Boy is he going to get flow today.

Donna Wentworth was there and already has notes up as well.

And that’s all for now… Sorta felt like drinking from a firehose, hopefully Dave does it again.

Amazon.com Recommendations: Item-to-Item Collaborative Filtering

Amazon.com Recommendations:
Item-to-Item Collaborative Filtering
: “Recommendation algorithms are best known for their use on e-commerce Web sites,1 where they use input about a customer’s interests to generate a list of recommended items. Many applications use only the items that customers purchase and explicitly rate to represent their interests, but they can also use other attributes, including items viewed, demographic data, subject interests, and favorite artists.

At Amazon.com, we use recommendation algorithms to personalize the online store for each customer. The store radically changes based on customer interests, showing programming titles to a software engineer and baby toys to a new mother. The click-through and conversion rates—two important measures of Web-based and email advertising effectiveness—vastly exceed those of untargeted content such as banner advertisements and top-seller lists.

Using the Decorator Pattern

Using the Decorator Pattern: “The main difference between subclassing and the Decorator pattern is this: with subclassing, you work with the class, whereas in the Decorator pattern, you modify objects dynamically. When you extend a class, the change you make to the child class will affect all instances of the child class. With the Decorator pattern, however, you apply changes to each individual object you want to change.” [onjava]

One of the comments at the end of the article mentions that the Decorator pattern is always illustrated using UI components (and, in fact, the first couple pages of Design Patterns uses only UI type examples, Design Patterns also mentions using the Decorator pattern with streams). What other uses can the Decorator pattern be put to? Better, in what ways have you used the Decorator pattern?