“Cognitive Aspects of Semantic Desktop to Support PIM” – published

Danish Nadeem has finished his master thesis on “Cognitive Aspects of Semantic Desktop to Support PIM”.

Here is his publishing post in full length:

The proper and immediate object of science, is the acquirement, or communication, of truth […]

– Samuel Taylor Coleridge, Definitions of Poetry, 1811

Inspired by the quote here i intend to publish my Masters thesis. The title of my Masters’ Thesis is: “Cognitive Aspects of Semantic Desktop to Support Personal Information Management“. It is submitted now at the Institute of Cognitive Science.

Many thanks to Leo Sauermann for his close supervision, constant support and valuable inputs to realize the work.

The abstract :

This thesis examines issues on Philosophy of Artificial Intelligence (AI), Cognitive Science and Mental Models. The research provides a philosophical grounding for the researchers in Personal Information Management (PIM). An overview is given on various philosophical aspects of computer-based activities. Discussions on the theories relevant to understand the goals for the Semantic Desktop community are elicited. The ideas discussed in the thesis are intended to emphasize a theoretical foundation, with respect to the Semantic Desktop long term goals. The goal of this thesis is to examine the theories of Philosophy and to provide a conceptual idea to design user-intuitive Semantic Desktop applications. The challenges of the Semantic Desktop evaluation are highlighted and suggestions are made based on Gnowsis evaluation. The work tries to induce scientific curiosity among the Semantic Desktop researchers.

Download as [ pdf] size ~1 MB

flickr::backup and RDF

Thanks to the CPAN Perl community, you can get all your Flickr pics as RDF-if you have linux, its just a few steps away.

The relevant documentation:

Perl documentation is excellent. I have seldomly seen such a clean
documentation as Aarons tool and the other tools used. It is minimal, it is simple, it doesn’t miss one point.
He has example RDF output and example documentation, how to tie everything together was easy to find out using CPAN.org.

You will need a flickr API key and secret.
At this point, you need also the auth_token of the key, this is trickier to do.
I moved sidewards to get the token, as I coded with flickr before,
I had a PHP application running that I used to get the auth_token.
The php-flickr API was Dan Coulter’s phpFlickr Class 2.1.0,
and it has this getToken.php file that you can tweak to do the right thing.
I am sure you can get the same with Perl. Once you got the key, secret, and auth_token, install the libs:

get Perl (well, a typical linux distro depends heavily on Perl, so you probably have it already).

get the CPAN module for Net::Flickr::Backup, I used the perl cpan shell for this (sudo is needed because it installs the perl modules in the shared libs):

> sudo perl -MCPAN -e shell

in the perl shell, install the backup module:

> install Net::Flickr::Backup

Now, it asks you many questions. In my case, pressing return most of the time did a good job.

Once you have it installed (perl will say if it doesn’t), you can run the Backup by writing a script.

I created two files, one for the config, one for the perl that runs:

flickrbackup.config: (note: the aaaaaa are used to hide my secret keys)

[flickr]
api_key=1025521456c3212a4f84032049cee7a1
api_secret=aaaaaaaaaaaaaaaa
auth_token=aaaaaa-aaaaaaaaaaaaaa
api_handler=LibXML

#[search]
#tags=cameraphone
#per_page=500

[backup]
photos_root=/home/media/photos/flickrbackup
scrub_backups=1
fetch_medium=0
fetch_square=0
force=0

[rdf]
do_dump=1
#rdfdump_root=/home/asc/photos

runbackup.pl:

use Net::Flickr::Backup;
use Log::Dispatch::Screen;
use Config::Simple;

my $cfg = new Config::Simple(filename=>”flickrbackup.config”);

my $flickr = Net::Flickr::Backup->new($cfg);

my $feedback = Log::Dispatch::Screen->new(‘name’ => ‘info’,
‘min_level’ => ‘info’);

$flickr->log()->add($feedback);
$flickr->backup();

Now run the scripts:

>perl runbackup.pl

Lean back and watch the photos + RDF manifest in your filesystem magically. In this case, RDF as a file format is helpful becaue it allowed Aaron to mix different aspects of the metadata.

You may get an error because some XML library misses, my error message contained
“Can’t locate XML/LibXML.pm in @INC”
Luckily, this mailinglist post tells you what to do:

>sudo apt-get install libxml-libxml-perl

This may fail with some weird message, I ignored this and run my backup script again.

Urban Hacking in Vienna

so it seems: 23:00, MQ vienna.

Tonight, some guys from the Vienna Metalab, in cooperation with Idontknowwhoelse, are going to do amazing urban hacking in vienna.

Once and for all: be there. At this moment they get their fuckin Laserguided Graffity System shit together, which is a hack/adaption of stuff done by the Graffitti research lab.

Also, it seems that 1000 throwies will find new plazes to stick and glow.

fuckit, and I am stuck in Kaiserslautern.


IMMMA CHARGIN MAH LAZER

irark nun auch youtube

der gute alte IRARK Film vom Grenz und mir, den er jetzt auf Youtube gestellt hat, kudos an Niko.

immer noch gültig “sie haben den verdammeten Krieg angefangen nun müssen sie ihn auch zu ende bringen”. “Es ist nur eine Frage der Zeit …”

Es ist verrückt, wir hatten in den ersten Tagen des Kriegs im Jahr 2003 gedacht das wird nichts mit Blitzkrieg, und leider ists wirklich daneben gegangen.

Creating Standards is altruistic?

update: based on the comments, I learned that the original idea “creating standards is altruistic” was wrong. It seems that altruism plays a role, but vendors gain a market advantage when implementing a standard first. Making good products that spread is another way to create a standard.

so, this is wrong for now:

Creating standards, as for example the W3C or the ISO does, is an deeply altruistic behavior and I think a hint that the people involved are altruistic.

A definition of altruistic is “Benefiting others without regard for one’s own needs or safety.”

Creating a standard is usually a process of endless and endless discussions, exchanging arguments, giving arguments for every decision, reworking drafts, fixing formulations, agreement, and discourse, and this process can last over years, and usually does last more than a year. The outcome is rather simple: a document describing the decisions in one simple manner. If you look at the HTML, HTTP and URI specs, you can read and understand them in a day. It took years from the first idea to write and improve them to their state, and it took a lot longer time, namely many years, to establish them as a standard.

Now, what is the benefit of creating a standard? For the author, nothing. The author doesn’t get paid for it (unless you charge for reading your standard, what many organisations do). You don’t get fame nor money, because you invested all your time into the standard, but not into your product, which can now by copied by everyone in the world by implementing the standard.

So, why do people do standards? I cannot say for you, but I work on them because I think that the world would suck very hard if we not had standards for some things. Think of having to switch to a different browser when looking at asian websites, like carrying around an platoon of power adapters so that you hopefully can suck electricity from whatever socket you are confronted with.

The opposite of making a standard is implementing the solution. Then you have it, your great solution, coded in executable binary, nothing can go wrong now. You are quick to do it, you don’t have to care much for documentation, and your customer is happy.

But imagine looking at a website hosted by an Internet Information Server (Microsoft) would mean that you have to use a Microsoft Operating System, or a Microsoft TV, or a Microsoft Phone. At first, there is no problem. But after others did the same, I would have to carry around many phones. So, clever people (who are often altruistic and may work for market leaders like Microsoft Corp.) see these problems beforehand and decide to sit down to make a standard, once sitting you notice that there are others seated next to you who feel the same.

Some say “the good things about standards is that there are so many of them to choose from”. This is not true, because for anyone in such situation of choosing, “good” is exactly not the way you feel, because you get this slight feeling deep inside, that your decision is shiny today, but sits down in some dark place and comes to bite your behind years later.

So, if you are stuck again while working on a standard, like me at the moment, and life is blackened by endless arguments and paperwork, think about why you started the whole thing.

And on the other hand, if you watch people like the W3C members sitting around in endless discussions about details, dissecting every piece of it and making a lot of seemingly useless paperwork, and you think to yourself “ha, I could do a better standard alone”, think twice. First of all, open your cupboard and get out your beloved assortment of travel power socket adapters for a short personal meditation about the stupidity of man. Then, think of the motivation of people writing standards: not money nor fame can be the reason, there is neither of it in it, they do it for you.

p.s. HM, the Queen of Britain, has honored Tim Berners-Lee again by giving him the Order Of Merit, putting him in one league with Florence Nightingale and Mother Theresa. I think this does not only honor him but also everyone wasting his life away for the W3C and technical standards in general. People travelling as much as the royals do, seem to know the irony of power sockets that look a bit unfamiliar compared to the plug you want to put in them, and cars that have their gear switch on the left hand side of you, adding to the irritation of driving them on the “wrong” side of the road. Feel free to comment.

p.p.s. perhaps I don’t get it because I am a complicated thinking Java programmer and not a witty Python hacker (like Gromgull), where the standard is set by best practice.

about Eclipse and other rich client GUIs for the Semantic Web

In the last year, I was involved in many discussions revolving about the question of “how to make a semantic desktop gui”. Semantic Web guis in general have to be dynamic, adaptive, generic, because the ontologies are changing and data of two ontologies can be mixed. This causes friction in software development, when all our frameworks and developers are used to relational databases or compiled Java beans that hold the information.

To gather my own thoughts for our NEPOMUK project I have prepared some slides to get an overview, a document summing up my view, and a screencast showing one framework.

If you are interested in Semantic Web guis on the desktop, have a look. If you have a similar itch to scratch and want to join our open source projects, contact me!

Reification (the other meaning)

Reification is the soul of the Semantic Web” is a good example of reification in the Marxist interpretation. Don’t believe me? Then stumble yourself accross the wikipedia article on reification (marxism).

Reification (German: Verdinglichung, literally: “thing-ification”) is the consideration of an abstraction or an object as if it had human (pathetic fallacy) or living (reification fallacy) existence and abilities; at the same time it implies the thingification of social relations.

More:
Ordinary examples of Reification

Reification occurs when specifically human creations are misconceived as “facts of nature, results of cosmic laws, or manifestations of divine will”. [3]

Reification is very visible in advertising when the advertiser or designer deliberately tries to associate a commercial product with all kinds of desirable qualities or contexts, with the suggestion that if you buy the product, that you will have access to or experience those desirable qualities. The product thus acquires an deliberately contrived imaginary status in addition to its real status.

A very graphic visual example of reification is pornography in which sexual acts are separated out from the total human context in which they occur.

Reification also frequently occurs in language and any form of communication which involves the representation of things or relationships by symbols. For example, the sentence “Make your money work for you” contains a reification, because money does not do any work at all, people do. The power to do work is falsely attributed to money.

A characteristic of mental illness can be that the mentally-ill person reifies himself or parts of the world around him, misplacing the true context of things, or attributing powers to himself and to objects in the world which they do not really have.

Because of heavily copy/pasted from wikipedia, this blog post is under available under the terms of the GNU Free Documentation License.

Semantic Web Case Studies Published by SWEO

Do you want to know what problems the Semantic Web solved?

The Semantic Web Education and Outreach (SWEO) Interest Group is pleased to announce the first set of Case Studies and Use Cases giving some examples of how the Semantic Web of machine readable data is used today. Applications are presented in areas ranging from automotive to health care, and from B2B systems to geographical information systems. The SWEO Interest Group will continue to publish new Case Studies and Use Cases in the future; an RSS feed for new submissions is available. A short overview is also available in Open Document Format, PDF, and HTML formats.

see the original post by Susie Stephens at W3C.