Archive for October, 2006

Why so quiet?

I somehow found myself working round the clock on a project that's going to launch on Wednesday. So I'm going to be in radio silence for a few more days and then I'll share it with you. Hint: It's actually quite saucy! ;)

RSS, copyright, and licenses

I stumbled upon a site called CSS Galleries and saw a blog post there dating back from August of this year:

CSSMania have ordered that their site be removed from both CSS Galleries and MostInspired. The request came via one of Feedburner’s representatives (a little heavy-handed!) and not personally from CSSMania. After e-mailing a CSSMania representative, they were still unable to justify the request.

I immediately thought that they had been screen-scraping a site or hijacking it in a frame or something but was shocked to learn that CSS Galleries had merely been aggregating the RSS feed from CSSMania.

That's really interesting and brings up the issue of ownership and usage restrictions on RSS feeds. Specifically, who owns an RSS feed and what (if any) are the default usage rights for RSS feeds?

I looked at the RSS feed from CSS Mania and couldn't find a copyright notice or license. In the absence of these, what are we to assume?

With regards to ownership, I would assume that copyright functions as it normally does: RSS feeds should automatically be copyrighted by their authors. Thus, can we also assume that RSS feeds, by default, have all rights reserved? And, if so, does that mean that RSS feeds may only be used under "fair use".

Which brings us to: What constitutes fair use for RSS feeds? Is it limited to personal consumption with an RSS reader? What about aggregators?

RSS feeds are heralded as one of the big success stories of "Web 2.0" and open data. How can this be the case when they are, in their default form anyway, essentially closed? (All rights reserved.)

This really took my interest because, until now, I had assumed that making an RSS feed available was like placing an open invitation for anyone to take that feed and use it. Giving it further thought, I see how, in as far as IP law is concerned, that may not be the case at all. Which brings me back to licensing and RSS.

Doing a Google search on this topic brings up posts from 2005 dealing with an issue that Cory Doctorow had with the BBC regarding the license terms of their RSS feed. In it, he asks:

Why do we need a license for this at all? If you look at a web-page, no one argues that you need a "license" to read it. The act of putting it on the web implies a license to read it in a web-browser. RSS aggregated on other web-sites is what RSS is for, it's (partly) why it was invented. When you put up an RSS link, why shouldn't we all assume an implied license to aggregate, read, download, spindle, fold and mutilate it just the same way that we assume a license to download web-pages, view their source, cache them, block their popups and images and so forth?

It appears plain to me that, given how copyright works, we definitely need licenses for RSS feeds. Furthermore, we need the various RSS formats to support the license as an integral part of the format. The copyright field was added in the RSS 0.91 specification and this could be used for this purpose but I much prefer the RSS extension proposed Creative Commons for adding a Creative Commons RSS Module. Here's an example of an RSS feed with a Creative Commons license.

Clearing the gem source_cache in Ruby

I was trying to install a Ruby Gem when I got the following error message:

ERROR:  While executing gem ... (Gem::GemNotFoundException)
    Could not find xhtmldiff (> 0) in the repository

Googling around, I found out that this error may mean that the source cache is corrupt. Sure enough, that was the problem.

To fix it, under Locomotive, I deleted the following file:

/Applications/Locomotive2/Bundles/rails112.locobundle/i386/lib/ruby/gems/1.8/source_cache

And that fixed it! :)

MAX 2006 To Break Attendance Records

I was delighted to hear on Ben Forta's blog that Adobe's main conference, MAX 2006, will be breaking attendance records this year with more than 3,000 people attending. Hopefully, this will mean that next year they'll be able to afford to pay speaker's expenses! :)

Micro Soft launches net surfer browser

bs headline

or "Why interns shouldn't write headlines." It all makes sense, though, when you read the byline!

Full article at the Business Standard.

Facial expressions ‘hereditary’

Hereditary Expressions

The faces we pull when we are happy, sad or angry may be passed from generation to generation, according to researchers.

Full article on BBC News.

Simple is beautiful

Complexity happens. Simplicity, you have to strive for. Here's a blog post titled Simple is beautiful, written two years ago by Noel Llopis, that includes some gems of wisdom, including several quotes that I absolutely love.

Edsger W. Dijkstra in his lecture The Humble Programmer:

The competent programmer is fully aware of the strictly limited size of his own skull; therefore he approaches the programming task in full humility, and among other things he avoids clever tricks like the plague.

Brian Kernighan:

Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.

The one bit that I want to add to is the "Timings, logging, and error handling" section. In it, Noel asks:

Ideally, I'd like my code to be really small, simple, and to the point so its meaning is always clear and obvious. Unfortunately, in the real world, that's is not always possible. We can start with a very clean 5-line function, but then we add timings around it to get an idea of its performance, and logging statements to know what is going on, and error handling code to deal with the unexpected, and before we know it, we have a monster function whose meaning is lost in a mass of details. . . What can we do about it?

The solution is to implement these cross-cutting concerns using Aspect-Oriented Programming (AOP).

Read Noel's full post here.

N.Korean government uses Dreamweaver

Went on a tangent (as you do) from Google News and ended up viewing the source of the official homepage for the N.Korean government. Hmm, what's this? function MM_preloadImages()... Looks like Kimmy boy's a Dreamweaver man!

I'd love to see the registration information for this one:

Name: Kim Jong Il
Email: lil_kim {at} korea-dpr(.)com
Company: North Korea
Role: THE GREAT LEADER
Notes: i want on the beta. don't make me nukez you!! haha just kidding!!!!!! kthxbai

Turkey warned on freedom of speech by EU

Turkey warned on freedom of speech by EU

Turkey was told on Monday by the European Union that it had to safeguard freedom of expression in the country as a “matter of urgency” amid diminishing expectations that Ankara’s stalled membership bid can be revived.

Link to article.

ActionScript 4 feature request: interfaces with events

Interfaces in AS2 and AS3 are only half-baked. You can place methods in an interface but that's only half the equation. The other half, for applications that use the event model, is events. As it stands AS2 and AS3 do not support a method of defining the events that an interface must implement. Going forward, this is essential to have in ActionScript if interfaces are to be useful in the event model. It is not enough to know which public methods an interface supports but which events you can listen for on instances that implement a given interface.






Bad Behavior has blocked 0 access attempts in the last 7 days.