Sharing in the Groove

Interesting web log entries from Scott Andrew LePera and Shannon Campbell. They are both musicians but didn't know each other until Scott downloaded one of Shannon's mp3s and added backing to it in the form of bass, harmony vocals, drums and some reverb. He then e-mailed it to Shannon and got her reaction. She loves it and Scott has posted the final product. Surely this is what the RIAA is afraid of when people "steal" mp3s.

Tversky on Basketball

Stuart Buck puts Amos Tversky's and Thomas Gilovich's timeless hot hands article (here is a follow-up also by Tversky and Gilovich and discussing the same data in Chance) back in play at Stuart's great The Buck Stops Here web log.


Stuart says of a 17 in a row three-point streak he once shot:



Perhaps you could say that it was chance that all of those factors came together at that moment -- but still, if I had been in a game right then, my teammates would have been wise to pass the ball my way, Tversky notwithstanding.

And, that is precisely what Tversky is saying is not true.


My take on it:


  1. People who believe in hot hands think that they can see Stuart's 17 3-point streak in progress and pass it to you. The most basic point Tversky et al are making is that that is not true in a statistical sense. No previous shot's success or failure better predicts the next over a player's overall success or failure.

  2. Tversky et al are not making any comment on hot hands as a feeling you might get or even as a cause of anything in particular. It is possible that "hot hands" exists but is counter-acted exactly by some other phenomena.

  3. Tversky (and Kahneman) are interested in how people make decisions and judgments under uncertainty. Subjective evaluation of probabilities is one of their focuses. (see 1).

This article always provokes good discussion, so let's have at it!

Public Domain, but not here

Aaron Swartz [via the Lessig web log] points to a list of public domain works that are not public domain in the U.S.


Now consider whether we three web loggers are contributory copyright infringers. And remember that there is no fair use defense to contributory copyright infringement, only to the underlying direct infringement. Let me know what you think.

Aggregator Etiquette

Aggregator etiquette is important. Mark Pilgrim dives into why and how.

ADA Does Not Apply to Web Sites

Southwest Airlines won its motion to dismiss a lawsuit attempting to apply the American's with Disabilities Act ("ADA") to web sites. Judge Seitz's (Southern District of Florida) ruling is available in PDF [not viewable through screen readers -- I wonder if the Court understands this addition of insult to injury].


The plaintiffs in this suit alleged that Southwest's web site was unreadable to blind people (even using screen readers). Among other things, plaintiffs alleged that Southwest didn't use ALT tags for image elements. As a result, plaintiffs argued that Southwest's web site violated the ADA's anti-discrimination provisions for "places of public accommodation."


The Court ruled that it could not construe the ADA concept of "places of public accommodation" to include web sites. Regarding plaintiffs alternative argument, that Southwest's web site's faulty construction denied them access to a physical space other than the web site itself, the Court ruled that plaintiffs had not established any relationship between the Southwest web site and denial of access to a physical space. [In a footnote, the Court notes that aircraft are explicitly exempt from Title III of the ADA. See fn 12 (citing 42 U.S.C. 12181(10)).]


The design of accessible web sites is incredibly important and yet very few people / corporations / educational institutions do it well (or even passably). As the web becomes an increasingly essential facility to living -- from books only available online, to travel deals requiring online purchase, to university application, enrollment or classes available only online -- lack of universal accessibility is one of the widening divides that more investment in infrastructure cannot bridge. No amount of donated computers will rewrite popular web sites in a way in which all can access. And, since accessibility engineering gets harder as time progresses, doing it right the first time is very important.


I am an offender myself and am trying to mend my ways, but do as I say not as I do. In that respect you should:



  1. Separate format from content. Content management systems, such as Moveable Type, help because they force people to concentrate on content and format separately from the content of their sites. Also they make updating a site's format easier even for older content. Ideally though, content should be transformed for different user agents. This does not mean that accessible sites have to be boring, only that their functionality should degrade gracefully.

  2. Don't rely on your audience having a particular client, or sense. The Microsoft-critical horde is quick to understand that control of the platform allowed Microsoft to "break" competing applications and ensures that Microsoft applications are very tough to "port" to other OSes. The same is true of sites that rely on proprietary browser extensions to standards or on particular senses. If you rely on Internet Explorer's special mark up to make your web site's readable, you will "break" Mozilla users' experience. If you rely on sight by not providing ALT tags, visually impaired users will have a very tough time using their "porting" tools, such as screen readers, to "port" your site so that they can experience it. In both cases, it is not just your potential users who are losing, you are also diminishing the universality of access to information. You are becoming the Microsoft that the DOJ has been chasing for years. Validate, validate, validate.

  3. Go low tech. The best way to fix your site is to try to think about it from the point of view of each of your potential users, including those who are visually or otherwise impaired. That can be very difficult, but a good proxy is to try viewing your site with a text based browser such as Lynx. Lynx is freely available on a multitude of platforms and it will only take a few seconds for you to have a better idea of how your site looks to others. You can also use the lynx web viewer.

  4. Listen carefully. If someone takes the time to tell you that your web site is hard for them to use, there are probably hundreds of people that had the same reaction but, instead of telling you, just stopped using your site.


For further reading consider:



The Court's final footnote is worth repeating here:



Given the number of visually impaired persons who utilize the Internet for commerce, and the significant amount of business that Southwest obtains through its Internet website, it is unfortunate that that parties have not cooperated to develop a creative solution that benefits both parties and which avoids the costs and polarizing effects of litigation. It is especially surprising that Southwest, a company which prides itself on its consumer relations, has not voluntarily seized the opportunity to employ all available technologies to expand accessibility to its website for visually impaired customers who would be an added source of revenue. That being said, in light of the rapidly developing technology at issue, and the lack of well-defined standards for bringing a virtually infinite number of Internet websites into compliance with the ADA, a precondition for taking the ADA into "virtual" space is a meaningful input from all interested parties via the legislative process. As Congress has created the statutorily defined rights under the ADA, it is the role of Congress, and not this Court, to specifically expand the ADA's definition of "public accommodation" beyond the physical, concrete places of public accommodation, to include "virtual" places of public accommodation.

Eminently reasonable advice. Each web site ought to address accessibility. Industry as a whole ought to develop better standards, or more reliably implement the standards that already exist. And, if neither of those happen, then Congress ought to find some consensus and act.

Lessig's Notes

Imagine telling your diary:


Dear Diary

Today I argued in front of the Supreme Court that the future ought to have the benefit of an expanding public domain...

from the front line is Professor Lessig's impassioned account of the Eldred v. Ashcroft oral arguments.

What Law?

My principal legal interests are all forms of intellectual property law and internet issues (such as access, speech, etc.). These issues are the reason that I went to law school and, so far, I haven't been able to shake my interest in them.


I work as an attorney at Wilson Sonsini Goodrich & Rosati in Palo Alto, California (though recently I have been working in the San Francisco office). There I do intellectual property litigation and internet counseling.


My clients at WSGR have included Napster, Google, Borland, StreamCast Networks (also known as MusicCity), Canal+, Inktomi, the Project to Promote Competition and many lesser known companies.


Two recent public pleadings in which I had a hand are:



WSGR's clients have great, interesting, highly technical, unique and fun legal issues to confront. They are what make me enjoy my work.


I also provide counselling to Creative Commons, the Online Policy Group and the Media Awareness Project. I am a sometime contributor to Chilling Effects and an editor at GrepLaw.

GrepMoodMusic Screenshots

Here are some screenshots of GrepMoodMusic that will let me talk a little about functionality before I get more actual documents up (such as source code).


First off, the object of GrepMoodMusic is to manage a large music collection and enable playlists to be automatically generated based on a person's mood, how much the person likes different recordings and whether the person has recently listened to particular recordings. The other goal of the system is to do all of this with as little human rating of recordings as possible.






This is the main interface to GrepMoodMusic. GrepMoodMusic is a combination of several layers of functionality. The database layer (not pictured) stores all the information relating to the recordings, ratings and listenings. The database access layer (not pictured) performs the appropriate queries on the database and returns objects. The interface layer and the layout/format layer (pictured here) displays the information for a user and allows for streaming of the music.
The database and database access layer are the base of the system which can be used with many different interfaces, such as SliMP3, web, winamp, shoutcast or portable device, such as the diamond rio.




Artist Screen

Storing information in a normalized relational database with indexes makes retrieving the data easy. There are indexes for genres, artists (pictured here), albums and songs. Each index can be used to look up recordings, stream recordings or shuffle and stream recordings. (Yes, I know the color scheme is horrible).




Session Screen

This shot shows the session specification. The listening user is "macgill", the sample rate is "medium" and the mood is "Wake Up". Everything in GrepMoodMusic is keyed to individual users. It is currently a personal jukebox though I would like to add the ability to have small groups listen and their ratings be combined. It can resample (the code was borrowed from Apache::MP3 as were many of the ideas and the inspiration for this program). Finally, and most importantly, the mood is "Wake Up". Moods can be defined by the user and can be anything the user chooses. Mine are "Wake Up," "Work," "Party," "Mellow" and "Snooze."




Recent Tunes Screen

This is the Recent Tunes box, which shows the recent tunes played (the last three were part of the randomly generated "Wake Up" setlist that GrepMoodMusic created on the fly based on my preferences. Each of those were rated highly in that mood. This is not always the case. GrepMoodMusic makes educated guesses based on what it knows about the ratings of songs on the same album, by the same artist or of the same genre (it also discounts songs that were recently listened to often). I would like to add tempo to the mix as well but haven't found a good tempo calculator that works in batch mode.


My current to dos are:



  1. Squash the remaining little bugs

  2. Clean up the code

  3. Make an installer

  4. Release it

  5. Write some external docs

  6. Make improvements including:


    • Multiple concurent users
    • Other interfaces
    • Editing MP3 Tags
    • XML feeds and interactions

What to Code?

I program mostly on the side, for fun. However, from time to time coding projects are directly useful to doing my job.


For the moment, my principal coding projects (links to come) are:



  1. GrepMoodMusic: The idea here is to be able to have playlists generated on the fly based on a listener's mood and listening history.
  2. NewsGet: An RSS feed reader on steriods. It remembers what you read and can accept any feed defined by perl regexes and a uri.
  3. Fun with the patent databases:The USPTO database contains lots of juicy information that ought to be extracted.

I'd also like to learn python and lisp. I still maintain Public.law and HLSNet. And, I am a tester for the h2o Project and the Creative Commons license chooser.

Why Bricoleur?

The simplest answer is because that is how I would describe myself, and there don't seem to be any better words in english.


According to pages found through google's glossary (where else would one turn?), "bricoleur" is:


A French word with no exact English equivalent used as a term by Seymour Papert to describe the style of approach exemplified by a tinkerer or a jack of all trades. Bricoleurs are comfortable in unfamiliar realms of learning and experience because they learn best by using indirect connections to known information, even if the details of the skills are not exactly related. They try things out until they figure out how to do something.

Courtesy of the Tech Learning Link Glossary. Also check out the google glossary entry for bricolage


I first heard of this characterization of what I think is my approach to learning from Sherry Turkle's great book The Second Self: Computers and the Human Spirit .


In our post-DMCA world the positive benefits of being able learn through tinkering is a hot topic. Ed Felton's excellent web log called "Freedom to Tinker" and the Yale web log called "LawMeme: Legal Bricolage for a Technological Age" are but two examples.