Archive for May, 2007

I HAS 1337 CODE. LOL!!1

LOLCODE: “HAI! This site provides community documentation of the emergent LOLCODE language. It is our hope that the examples can grow in a way that is both internally consistent and suggest a real, feasible computing language.”

Some people definitely have too much time on their hands ;). The examples are hilarious, anyway.

HAI
CAN HAS STDIO?
PLZ OPEN FILE "LOLCATS.TXT"?
	AWSUM THX
		VISIBLE FILE
	O NOES
		INVISIBLE "ERROR!"
KTHXBYE

Mac fan gone

fan speed.pngA few days ago I started noticing that my MacBook Pro was running hotter than usual, even when not doing any particularly intensive task. Turns out that apparently one of the fans got stuck.

Couple this with a failing magsafe connector, a battery that needed replacement and a hard disk with some kind of defect, and I’m really starting to think this machine needs to be seriously serviced, if not entirely replaced.

On RDF as a storage medium

I think this comment that Danny Ayers left on my In defence of the RDBMS post deserves to be discussed in a post of its own:

The point about relational databases as an integration technology is well made, but I’m curious to know why you consider RDF worse as a storage medium. It has definite advantages over OO/RDBs when it comes to integration on the web (thanks to the use of URIs as keys, and the open world model).

For persistence I can’t see any way it’s worse than OO/RDBs (in fact quite a few RDF stores use RDBs for persistence under the hood). What’s more, RDF has well-defined serializations (such as RDF/XML) which means that not only is the data portable between stores, it can also be dumped in a *standard* form. (For persistence it’s perfectly reasonable to divide the data up into manageable chunks and distribute them across RDF/XML files).

If “data lives much longer than applications”, then isn’t it better to take advantage of a clear standard, rather than the quasi-standards found in SQL implementations, or for that matter the more proprietary models found in OO DBs..?

Well… yes and no.

Let me first point out the fact that I wrote about “using RDF as a persistent storage medium just because it’s more flexible than a RDBMS”. That’s what I was objecting to (and before you ask: no, it’s not a hypothetical scenario) and not the usage of RDF per se. As Gavin King wrote in the post I was responding to: “Database refactoring is possible and practical.” and you shouldn’t be using some new, unproven technology just because refactoring and maintaining SQL databases is hard.

Second, RDF data might be portable when it is serialized as XML or N3, but once it is persistently stored, it is usually in a proprietary format that can only be accessed with a proprietary API. If I have, say, a Jena model stored in an RDBMS, all I have is a essentially a single table with three columns (subject, predicate and object) where all values have been mangled so much that the number 42 becomes Lv:0:42:http://www.w3.org/2001/XMLSchema#nonNegativeInteger4 and so on.

Contrast that to an SQL database schema where, if the designer didn’t purposefully obfuscate it, it’s usually possible to reverse engineer it, sometimes just by looking at the names of tables and columns, and at foreign keys to infer relationships. There are also mature tools to move data between different databases.

You could argue that I am comparing things that are at different levels, that I should be looking at N3 serialization format as an equivalent of SQL, and that complaining about the non-portability of Jena models is equivalent to complaining about not being able to move MySQL data files to Oracle. If you did that… well, I’d concede you have a point ;)

But the fact remains that, as long as I have my data served by a reasonably well-known RDBMS and I am using a reasonably well-designed schema, I’ll be able to find a (oftentimes cheap or free) tool that allows me to make sense of that data, analyze it, transform it, plot it, report it, you name it.

Without even much thinking about it, I can fire up mysql, psql or sqlplus from the comman line and type:

select avg(salary) as a from person
  group by age having avg(salary) > 50000
  order by a desc;

I’m not really up to speed with SPARQL, but I don’t think it’s able to do that just yet. Not to mention how efficient it would be, whereas RDBMS have been optimized for 30 years in order to be blazingly fast at doing joins, sorts, groupings, projections, and the like. You know, the kind of things business people tend to ask from a data store.

So, to sum it up, RDF does really shine “when it comes to integration on the web”, especially when we are doing integration between really heterogeneous systems, without much in the way of predefined agreements between them. But I wouldn’t right now, given the maturity of tools, design a system that had an RDF storage system at its core, unless I had some compelling, specific reason for doing so.

Small is beautiful

macmini.jpgI’m adding my voice to the chorus of people asking Apple to please not discontinue the Mac Mini.

OK, it’s underpowered and it’s not very expandable, but it’s the best home computer around, especially for children, and it works great as a media center, and it’s cheap to boot.

What I want is a Mac Mini with a 2GHz+ CPU, at least 1GB of RAM and a largish HD (make it 250GB at least)! If it cost around €600, it would be just perfect.

Technorati Tags: , .

I am a Scientific Atheist

You scored as Scientific Atheist, These guys rule. I’m not one of them myself, although I play one online. They know the rules of debate, the Laws of Thermodynamics, and can explain evolution in fifty words or less. More concerned with how things ARE than how they should be, these are the people who will bring us into the future.

Scientific Atheist
92%
Apathetic Atheist
58%
Spiritual Atheist
58%
Angry Atheist
50%
Agnostic
42%
Militant Atheist
33%
Theist
8%

What kind of atheist are you?
created with QuizFarm.com

More space for Sourcesense

Sourcesense OfficeWe finally have a new office, as we had quickly outgrown our previous one. Don’t be fooled by the apparent emptiness of it: most people today were traveling or at a customer’s. However, we do have space for growth so, if you are interested in working for a cool company on Open Source projects, get in contact.

Re: In defence of the RDBMS

Gavin King: “If you think that relational technology is for persisting the state of your application, you’ve missed the point. The value of the relational model is that it’s democratic. Anyone’s favorite programming language can understand sets of tuples of primitive values. Relational databases are an integration technology, not just a persistence technology. And integration is important. That’s why we are stuck with them.”

Amen to that. If there’s one thing that we need to learn is that data lives much longer than applications.

“ORM makes it easy to work with objects and databases most of the time. Compared to five or six years ago, ORM has solved most of the problems of data access in online applications. It is no longer anywhere near as painful as it used to be.”

I have to admit I haven’t been using Hibernate or any other ORM solution for the past year or more, but some of the pain is still there, and sometimes the pain makes you think that you’d be better off with plain, old SQL rather than a full-fledged ORM.

In any case, there is probably something that is even more painful than either plain SQL, an ORM or an object database: it’s using RDF as a persistent storage medium just because it’s more flexible than a RDBMS. Trust me, you don’t want to do that ;).

In Praise of Prokudin-Gorskii

View of the Saint Nil Stolbenskii Monastery from Svetlitsa Island, The Online Photographer: “His work has surprisingly modern sensibilities. Prokudin-Gorskii understood the subtle interplay of luminosity and chroma that make up the totality of visual experience. He didn’t see color and tone as disconnected elements but as part of an integrated whole”

If you didn’t know better, would you say that the image on the right (click on it to see an enlargement, from gridenko.com) was taken almost a century ago? And no, it’s not a colorized B&W image, but a real color one.

Technorati Tags: .

Lucene GdataServer

GdataServer - Lucene-java Wiki: “GData-Server is a lucene sandbox project started in June 2006. The first 2 1/2 month of the project this has been a one man show due to Google’s SummerOfCode. In fact of that the server is still in high development status but offers all features described in the GData protocol. Generally speaking, the Lucene GData Server is an extensible syndication format server providing CRUD actions to alter feed content, authenticaton, optimistic concurrency and full text search based on Apache Lucene.”

Nice!

Who Cares About Sun Open-Sourcing Java?

James Gosling: “There are real wars. And it’s really hard to be friendly to the open-source community because if you’re friendly to this camp then you’re viewed as an enemy by that camp. And one of the things we got stuck on was that we really like the Apache folks, but we also rather liked the GPL guys. And the Apache folks were very angry at us for picking GPL. But we had to pick something. If we’d picked the Apache license, the GPL crowd would be upset with us.”

I’m with Geir on this one: Sun could be friendly to everyone. It’s not like “the enemy of my enemy is my friend”. Moreover, painting the relationship between the ASF and FSF as a kind of war is a bit over the top, isn’t it?

Gosling confirms again that he’s not particularly smart when talking about Open Source, as already mentioned here and here. However I’m happy to learn that he changed his stance from this:

We’ve got several thousand man-years of engineering in [Java], and we hear very strongly that if this thing turned into an open source project—where just any old person could check in stuff—they’d all freak. They’d all go screaming into the hills.

to this:

But it feels like we’ve gotten to a point where the developer community is strong enough and feels strongly enough about consistency and interoperability and quality that market pressures will keep things on track. And those that try to misbehave will have issues with the market.

even though it took almost exactly two years.

75 posts a month

Kent Newsome: “TDavid says you need at least 75 posts a month to be in growth mode. Historically, I would have disagreed with that, but I come from an old media perspective, having written for newspapers and trade journals for years (where a coveted monthly column became burdensome to the point of impossibility). But having been involved in the blogosphere for a few years, I think he’s probably right. If not for the content itself, for the content and the embedded links to draw other writers to your site, and to seed the reciprocal links which are, for better or worse, one of the established measuring sticks for blog readership.”

75 posts a month? I made just 35 posts in all of 2007 (36 with this one). I only came near that in March 2005, with 73 posts.

Actually, what TDavid says is:

The sweet spot for a blog is 75-150 quality posts per month. That should be the goal number of posts for most (but not every) blogger wanting to grow their traffic. Notice I threw the word “quality” in there.

It would be easy for me to say that I’m happy with my readership levels (around 260 visitors a day, on average) but who am I kidding?. Of course I, like everybody else who keeps a blog, would like to have a thousand daily visitors, and then 2000, and then more. If that takes 3 to 5 quality posts a day, there’s no way I can make it, but at least I can try raising my pathetic average of 7-8 posts a month.

You can take this very post as the first step towards that goal.

Flickr = Censorship

Flickr = Censorship

Just when the outrage over the theft of Rebekka Guðleifsdóttir’s photos by Only-Dreeming was beginning to calm down, Yahoo/Flickr finally reacted.You’d expect that they stand by their paying customer, who got her pictures stolen precisely because she decided to use Flickr to showcase her work, enriching the Flickr website in the process and ultimately benefiting Yahoo as a corporation. But no, instead they behaved just like you’d expect a soulless, gutless, dumb corporation to behave: they stood by another corporation, who probably had its lawyers send Flickr a nasty letter, and screwed the individual customer!

They might have later apologized for this, but what’s a private apology worth, especially considering that Rebekka’s original post, with 450+ comments attached to it has been deleted, apparently forever?

I think Flickr should realize that only by protecting, as much as possible, their users’ expectations of copyright enforcement, they can have their community grow beyond amateurs like me, whose pictures nobody would ever think of stealing and reprinting, into the realms of professionals and semi-professionals, like Rebekka. Maybe they aren’t interested in this kind of audience, but while it’s true that 99% of pictures on Flickr are of the users’ cats, it’s probably people like Rebekka, with millions of views on her photostream, that draw interest, attention and traffic.

Digital photography is a revolution, and Flickr is at the forefront of this revolution. They should do whatever is in their means to make it even bigger. This does not mean that they should start scouring the interwebs for evidence of theft, but when such evidence is presented to them (and admitted by the thieves themselves), they shouldn’t just hide it.

As a paying member of Flickr myself, I am going to write them a polite letter, asking them to restore the original picture page with all its comments, and to do a public apology. If you use and love Flickr like I do, you should do the same.

Update: a public apology by Stewart Butterfield has been posted here. I would have preferred a more prominent place and it still looks like in won’t be possible to restore the original picture, but I commend Flickr for admitting they did the wrong thing this time.

Technorati Tags: , , , , , .

Atom Publishing Protocol Plugin for Confluence

Joe Gregorio: “Zohar Melamed just pointed me to his APP Plugin for Confluence. Check out the screen shot of it working with the APP Test Client.”

More adoption of APP is good!

Rebekka’s pictures

I’m posting this as a token of support to Rebekka, who writes:

I have a LOT on my mind right now.. to be honest, i’ve rarely been so royally pissed off as i am today.

The photos shown above all have one thing in common (besides being rather lovely landscape photos):

They were all taken , without my permission, by the London based print-selling company Only-Dreemin. This company prides itself on offering its customers only the best quality canvas prints of the finest photos , by top artists.

What they fail to mention is that some of the photos they’re selling prints of have been illegally obtained, and are being sold without the artists consent or knowledge.

In my case, a friend of mine came across their store on ebay and recognized one of my prints. (this was way back in january i think)

I looked into the matter and discovered 7 more of my photos being sold there. In the case of pictures 1, 2, 6 and 7, the image had been divided up into 3 vertical panels. ( Something i would never DREAM of doing myself. ) Furthermore, the images had been given new and exciting titles, like “Seraque II” and “Attica”, “Dawn expander II” and ” Joga” (barf)

I spent a good many days researching, going back thru their customer feedback, and was able to track back the sales of at LEAST 60 prints made from my images. These prints sold for a total sum of 2450 british pounds (around 4840 US$)

Read the rest on Flickr and draw your own conclusions about this issue, but personally I wouldn’t buy anything from Only-Dreemin until the issue is clarified, and I would let them and eBay know what I think about it.

In the meantime, I suggest that you browse around Rebekka’s pictures. They’re just beautiful. Maybe it’s time for Rebekka to start selling prints by herself and make some money rightfully. I reckon she could gain some extra income, which she could then use to sue the bastards ;).

Update: The photo page has now more than 14,000 views and it has been dugg 869 times, all of this in a little more than three hours. Many of the commenters wrote that they mailed the offending company, who are probably by now bitterly regretting their actions.

Introducing Buildr

Assaf Arkin: “That, in a nutshell, is how we went from the deeps of frustration to a build system that … hold on a second … is actually fun to use. And dead easy to customize. And works repeatedly.”

I don’t hate Maven with the same passion as Assaf has, but that’s probably only I haven’t yet used Maven in anger for a big project. My latest big project started with Maven, but moved quickly to Ant+Ivy.

Still, Ant is not at all fun to use. I find most of our Ant scripts unreadable (pointy brackets don’t help) and the maze of includes that were put in place to provide some kind of code reuse too confusing and impossible to debug.

Mind you, this is not an indictment of the fine people who wrote those scripts. They did the best job possible, given the limitations of the tool.

Anyway, neither Ant nor Maven seem to be any fun to use, so I’d welcome anything that promises to bring back some fun to the process. We all know that writing stuff in Ruby can be fun—again—but my worry is that adopting a build system that nobody else uses is bound to give you problems, like not being able to find people who are already expert with your tool of choice.

However, if nobody ever tried anything different, we’d be stuck with make, I think.

(Via Tim Bray.)

Introduce yourself

On May 2, 2007, at 11:03 AM, grumpy66 grumpy66 wrote:

Hi,
Would you mind sending me an invitation to join Joost please,
regards,
grumpy

No, sorry but I won’t. I usually never reply to anonymous, unsolicited mails. I usually just drop them in the spam folder.

I replied to yours just because I get so many of them these days that yours was just the straw that broke the camel back.

Next time you ask something from someone you don’t know, try at least to be polite and introduce yourself first.

Technorati Tags:
, , ,