~ Archive for Code ~

Nutch: an Alternative to Google


The latest issue of MIT’s Tech Review has a great article on the future of web search engines. It mentions Nutch, an effort spearheaded by Doug Cutting (creator of Lucene) that is implementing an open-source web search engine. “The Nutch Organization is a public-benefit non-profit corporation”, that seeks to provide a window onto the proprietary algorithms used by engines such as Google. In so doing, the project provides a standard that can be used to expose for-profit search engines that are indexing content based on payments, or incentives unrelated to page merit or relevance, and provides us with high quality source that anyone can use.

Who wants their search engine to be an indirect form of advertising? Wouldn’t we like to know why search results are ranked the way they are? I’m not alone in feeling nervous about Google’s power. Anyone who wants an alternative, can donate to the Nutch project, or write some code.

WebGUI SQL Report


WebGUI is really an application server dressed up like a content management system. Lots of content management systems offer the ability to manage little bits of functionality (discussion, syndicated feeds, etc) in addition to static content, but the range of functional objects is generally relatively small and difficult to build upon. In contrast, WebGUI offers a broad range of functional objects in addition to the static content stuff (inluding discussion, syndicated content, blogs, calendars, link lists, and lots more). And just as importantly, the WebGUI architecture is specifically designed to make it easy to build an plug in new objects of these sorts, as well as to edit the existing objects. Almost every site we develop at the center needs to do something interactive in addition to its static content, so WebGUI was a good choice for us.

This week I used the WebGUI SQLReport wobject for the first time. The user didn’t like the way the standard user management screen was laid out for our ILAW site and wanted additional fields added. I could have mucked with the code that drew that list, but instead I spent about an hour building a custom page that performs its own query using the SQLReport object. Easy as pie, integrated painlessly into the existing site, and will be trivially easy to update as the user’s needs change. The SQLReport feels like a widget built by a programmer to scratch an itch, which is the best way to build things as long as the programmer is good (which this one was, I’m happy to say!).

I also mucked around with the layout of the Digital Media Project site to make the main navigation menu more clear. It seems to have turned out well and was not too much of a pain (it was a bit of a pain, but that’s because I spent half an hour trying to figure out why a macro wouldn’t work only to finally figure I was typoing the url of the page the macro referred to — ugh).

History of Intellectual Property in the U.S. Online Reading Group


The Berkman Center is hosting an online reading group on the History of Intellectual Property in the U.S. The group will loosely mirror a reading group led by Professor Lewis Hyde meeting in-person at the Berkman Center. We will generally read what the in-person group is reading the week after they read it. There will be about one reading per month, with 3 weekly rounds of discussion after the reading is posted. Readings will be chosen by the in-person reading group, and posted as the semester progresses.

To participate, click below:


Here is Lewis Hyde’s invitation to the reading group:

My own interest in this history began with the surprising lack of debate some years ago when copyright term extension was pending. There seemed to be almost no public sense of why it might matter to preserve a lively public domain. One was led to wonder if there weren’t historical roots to the public domain’s lack of presence in our political and economic discourse. If that is the case, might not an understanding of this history be a useful tool for those of us trying to shape current policy?

For a reading group I propose an initial meeting in February where we talk about the scope of our interests, and make a list of what we might read. I suggest one short first reading (Carla Hesse’s “The Rise of Intellectual Property, 700 B.C.–A.D. 2000” (Daedalus, Spring 2002)). As for other readings, we will decide these together but at the moment my own list would include works such as Mark Rose’s “Authors and Owners,” Siva Vaidhyanathan’s “Copyrights and Copywrongs,” and Edward Walterscheid’s recent book on “The Nature of the Intellectual Property Clause.”

emacs vs. vi


Do this with vi.


Digital Rights Expression Language (DREL)


This morning I revisited the IEEE Learning Technology Standards Committee (LTSC) working group page, and found a request for comments on a standardized Digital Rights Expression Language:

“We invite you to submit comments and (especially) specific areas and scenarios that you feel a standardized DREL should support. Please submit your information in email form to juadams@scholastic.com or LTSC-DREL-COMMENTS@ieee.org

To read more about the LTSC DREL working group follow this link.

Technology Attachment Disorder (TAD)


I saw the following in someone’s sig and loved it:

“TAD (Technology Attachment Disorder) is an unshakable, impractical devotion to a brand, platform, product line, or programming language. It’s relatively harmless among the rank and file, but when management is afflicted the damage can be measured in dollars. It’s also contagious — someone with sufficient political clout can infect an entire organization.”

–“Enterprise Strategies” columnist Tom Yager.

Pioneer DVR-810H — TiVo meets DVD burner


Say goodbye to your VCR! Pioneer is coming out with an 80GB, and 120GB TiVo + DVD burner this month.

Apparently, you can’t edit out commercials before transferring programs to disc, but an extrafine recording quality is available. It’ll be interesting to see how much of a dent this puts in DVD sales. Early adopters will need to invest at least $1200 for the device, and then there’s still the regular monthly TiVo service fee…

Pioneer DVR-810H — TiVo meets DVD burner


Say goodbye to your VCR! Pioneer is coming out with 80GB, and 120GB TiVo + DVD burner this month.

Apparently, you can’t easily edit commercials before transferring programs to disc, but an extrafine recording quality is available. It’ll be interesting to see how much of a dent this puts in DVD sales. Early adopters will need to invest at least $1200 in the device, and then there’s still the regular monthly TiVo service fee…

Project Skins for H2O?


As fall courses are entered into the H2O system, we are discovering what we knew already: it’s unclear how to use H2O for syllabus construction. The projects/topics/resources nomenclature in its generality and inclusiveness is unfortunately obtuse in an academic setting — not only for instructors, but more importantly for students. I’ve heard concern expressed that when students visit the site they won’t know what they’re looking at, or where to find certain information. Course websites such as Jonathan Zittrain’s old Torts website have 4 simple links: home, syllabus, courseware, discussion. These links make it clear where to find information. Of course, it remains to be seen how confusing the current system will be to students — perhaps concern is premature.

We already have plans to add a tutorial page to the site explaining how to enter a syllabus, but this doesn’t address the problem students face in making sense of the syllabus once it is entered.

Here’s a crazy thought: we could offer an academic “skin” for projects — a feature that project leaders could turn on/off to substitute academic nomenclature such as course/syllabus/readings, for the current, more general projects/topics/resources nomenclature. Optionally, this academic skin could be made visible only to project participants, with guests seeing the more generic skin lessening the system wide impact of the different look.

ASP Sleep


I’ve spent several hours now trying to make what should be a trivial change in an asp script. Some of the wasted time is just my lack of knowledge — having to look up functions and syntax to do basic stuff. But the process is made much, much worse by my inability to get any kind of debugging info back from the server. If there’s any kind of syntax or run time error, I just get a 500 error back. I spent an hour trying to get the MS script debugger to debug the script as it is supposed to do, but even after following the convoluted instructions, it just won’t fire up to debug the asp script. So I’m reduced to inserting response.write/response.end statements at incrementing lines until I find where the problem is. Bleh.

Now I need to make the script sleep for a second, and it turns out there’s no way to do this out of the box with ASP. How the hell do you forget to (or worse decide not to) put a sleep function into a programming language? The helpful advice from the aspfaq.com suggests either downloading an add on component from a third party or connecting to an MS SQL server and asking the server to sleep for you (?!?!?!?!).

Log in