Feeds:
Posts
Comments

Archive for the ‘Virtual world’ Category

So, my first Nepomuk meeting is over (as you will probably get to know from other sources), and here there are my impressions.

First of all, it has been a real pleasure knowing Sebastian Trueg and all the other guys (and the only woman, of course!) who met in Freiburg the last weekend; the place was quite cool (especially the fact that the conference room was just below the bedroom floor), and the surroundings were really beautiful.

Three devel days

Well, actually for me they were two and a half, because I arrived on friday noon, but anyway they have been surely interesting: I have to admit that I got a little lost in the first day discussion about some ontologies details; at least now I can say that I know something more about the Nepomuk internals.

On saturday the use cases discussion about social desktop and how to integrate it with the semantic one continued from the evening before, but we also started developing some things, about which I will tell in a few lines; I especially liked the sunday: we took one of the case studies, and each of us took a piece of the necessay libraries and tools that were missing from current Nepomuk release, with the aim to be able to make that use case real; we didn’t finish it, but it has been interesting and even fun to collaborate with the others with one common target.

My place in the world

So what was my part in all this? Well, I will start with the last day’s work: the use case was about allowing users to share metadata about files from a computer to another computer, so the user of the latter would be able to see those files in his searches, and to open them (downloading them on the fly) and add more metadata; anyway, I’m sure other people from the meeting will explain all this with more details.

My task was to add a popup menu for Dolphin, so a user can right-click a document and decide to share it with friends; then a little dialog searches all the user’s contacts, allowing him to choose whom to share with and if he wants to be informed about any changes.

Konqueror plugin

Konqueror plugin

For now, I have been able to create a popup menu for Konqueror, in the form of a Konqueror plugin library, and later I will add it to Dolphin too (why Dolphin does not read also library plugins? It would be so useful…); what is missing in the plugin is just the final call to the Nepomuk service, of course through DBus, and this will be done in the next few days (and maybe I will blog about it later).

In this workshop I also wanted to share ideas about the smartsave dialog and its current status; for now, we decided to rethink about the filters UI, and put this new UI also in a Dolphin side panel, so users will start to see it and use it, and realize how useful it can be; this side panel may also be able to get into a KDE release easily.

Faceted panel - early preview

Faceted panel - early preview

So what I did on saturday was to bring the filters panel, as it is now in the semantic open dialog, into Dolphin itself: the integration is still in an early stage, there are still some bugs to be solved, but it basically works; the next step will be to change the way in which filters are shown, and this even deserves a new paragraph.

Filtering

The filter panel will become a complete faceted browsing system, and we decided to reduce filter types to three categories (at least for now): time (today, yesterday, this week, last week, this month…), “rough” document types (documents, images, media…) and tags; probably contacts/people will be the next category to make its way into the panel, but at the current status it is not a priority.

I will prepare soon two different UI layouts, because there have been some debate in how to show these facets, and I think some screenshots will be better than lots of words trying to explain it, so for this you’ll have to wait 🙂

Final words

In the end, there have been three wonderful days, lots of fun and code and chatting and pizza and things; I really liked the whole meeting, and I hope I will be able to participate to the next one, too.

Read Full Post »

Conferenza di Novembre

Conferenza di Novembre

Read Full Post »

Edit: ho aggiunto i due file audio degli esempi: non sono le canzoni complete, ma solamente qualche secondo, indicativo di quanto intendo dire.

A volte capita che mi si chieda: ma come mai non hai mai provato a scrivere un pezzo? Ed in genere io rispondo evasivamente: non ho tempo.

Questa è, in realtà, solo una mezza verità: salvo un paio di esperimenti parecchi anni fa, di cui si sono perse le tracce tra una formattazione e l’altra, in effetti non mi sono mai messo d’impegno a cercare di comporre qualcosa, e non parlo di musica classica ma di rock (naturalmente).

Il fatto è che sicuramente bisogna avere tempo e suonare spesso, ma soprattutto è necessario, secondo me, trovare quel quid che permetta ad un brano di piacere (piacermi). Ovviamente, non ho la pretesa certo di trovare i nuovi quattro accordi alla Smoke on the water, tuttavia spesso basta molto meno per far sì che un pezzo sia piacevole.

A volte, e parlo naturalmente per gusti personali, è la voglia che ti viene di suonare quando ascolti una certa musica: a me piace molto, ad esempio, Bryan Adams, anche se lo ritengo inferiore, come musicista, a mostri sacri come i Led Zeppelin o i Deep Purple, perchè quando ascolto una sua canzone mi viene una voglia terribile di cantarci sopra, o impugnare la Fender e suonare i suoi accordi.

Altre volte, è una sensazione di insieme: io adoro ad esempio un brano in cui vi sia un arpeggio lento distorto come base, e sopra una seconda chitarra che esegue un tema, o la presenza delle strings (e lo dico all’inglese perchè rende di più l’idea) ad accompagnare un assolo, lento o veloce che sia.

Ma ciò che imprime una canzone nella mente è un passaggio musicale particolarmente azzeccato, magari non trascendentale ma allo stesso tempo emozionante, e faccio due esempi su tutti: The legacy, dall’ultimo album degli Iron Maiden, ha un passaggio da brividi, immediatamente prima dell’ingresso delle chitarre elettriche: sono tre accordi estremamente semplici, ma con dissonanze e sospensioni che lasciano una certa sensazione, specie quando vengono eseguite improvvisamente da una chitarra elettrica distorta, mentre al di sotto continua l’arpeggio delle acustiche.

The legacy (excerpt)

Il secondo esempio viene da Do I have to say the words? di Bryan Adams: qui siamo nel chorus (di nuovo: terminologia inglese, ma faccio notare come se nella musica classica le indicazioni musicali sono in italiano in tutto il mondo, nella musica !classica non abbiamo che da imparare dagli inglesi/americani), e tra un verso e l’altro si collocano di nuovo quattro semplici note, che però hanno una resa eccezionale inserite in quel contesto.

Do I have to say the words? (excerpt)

Ma gli esempi potrebbero continuare basta un passaggio ben riuscito perchè una canzone resti impressa, ed è quel passaggio che a me piacerebbe trovare un giorno, così da scriverci un brano attorno e vedere cosa potrebbe uscirne.

Read Full Post »

Torrents

Torrents

Non vedo da che cosa lo si potrebbe intuire… 😀

Read Full Post »

I’m pretty excited, because my first Nepomuk meeting (and in general my first KDE meeting) is coming!

The next weekend I will be in Freiburg (my first trip in Germany) to meet with my Summer of Code mentor, Sebastian Trueg, and a bunch of Nepomuk developers: the program is quite rich and interesting, and my first purpose is to absorb all the informations that I can about the Nepomuk framework and infrastructure, and of course to be useful, if I can, in planning the next semantic desktop steps.

I also hope to plan the next steps for Smartsave: I have to admit that I haven’t worked on it since september, so I have to look at Sebastian’s modifications, to be able to resume my development in the next few days.

Last but not least, I would like to have a look at the city: for what I have read on the net, it looks like Freiburg is a nice city, so I think it will be worth going a little around… well, we’ll see what is going to happen!

Read Full Post »

Brevemente (dato che sono a lezione), giro ai lettori una “chiamata alle armi” per il desktop semantico di KDE, tema che mi sta molto a cuore, più che altro perchè ritengo la semantica il futuro dell’informatica (banalmente…), sia in ambito desktop che in ambito Web.

Insomma, come scritto qui, se siete curiosi o interessati alla semantica, se avete un po’ di tempo da spendere per interessarvi a tecnologie decisamente eccitanti (e con possibili sbocchi accademici, se vi interessa ci sono fior fior di ricercatori che se ne occupano), fate un giro su nepomuk.kde.org, curiosate ed iscrivetevi alla mailing list ufficiale.

Non è un compito semplice, e non sempre è tutto facilmente comprensibile, ma vi assicuro che è indubbiamente tutto molto divertente!

Read Full Post »

Rosegarden 2

Rosegarden 2

Ecco uno splendido screenshot della versione di sviluppo di Rosegarden, che porterà verso la 2.0, con il porting (ancora in corso) alle Qt4… così di primo acchito l’impianto grafico è sostanzialmente lo stesso, non male anche il tema dark. Inutile dire che noi musicofili del pinguino aspettiamo ansiosamente l’uscita della stabile.

Read Full Post »

Ho finalmente iniziato a programmare un po’ in Erlang, in vista di quando dovrò iniziare a scrivere codice seriamente per la tesi (di cui parlerò più avanti, ora siamo parecchio agli inizi), ed oggi ho fatto un test estremamente semplice per giocare un po’ con il codice mobile.

Premesso infatti che Erlang favorisce il codice distribuito e la comunicazione tra nodi e processi remoti, mi sono chiesto se era possibile far muovere non solo dati (quindi variabili, anche se forse il termine variabile in questo contesto non è del tutto adatto, dato che sono immutabili), ma anche codice vero e proprio, in particolare funzioni e closure. E la risposta, naturalmente (e sorprendentemente), è stata: sì.

Modulo

Modulo

Il modulo qui sopra, dal comportamento piuttosto scontato, esporta un’unica funzione che riceve due parametri: una funzione (o meglio, una fun) F ed un valore Value, e non fa altro che invocare la prima passando il secondo; se F non è una funzione, il programma va democraticamente in crash, altrimenti ritorna il risultato di F (Erlang non richiede alcuna parola chiave return).

Questo modulo, debitamente compilato, è stato copiato in due computer diversi, che ho chiamato big e little, principalmente perchè il primo è il notebook ed il secondo è il netbook 🙂

Nodo big

Nodo big

Questa è la console del notebook: assegnato un nome di rete completo al nodo ed un cookie (e segato il firewall, forse ho sbagliato ad aprire la porta giusta per far comunicare Erlang), ho lanciato l’interprete e l’ho lasciato lì: il codice visto sopra non ha bisogno, infatti di essere in alcun modo avviato (ho anche creato una versione server, lievemente più complessa, ma il risultato è lo stesso anche con 2 righe 2 di codice), basta assicurarsi che l’interprete sappia dove trovare il file compilato, se ne avrà bisogno (ovvero se mai qualcuno dovesse richiedere una delle sue funzioni): nel caso più semplice basta lanciare l’interprete erl dalla cartella dove si trova tale file.

Nodo little

Nodo little

E qui, sul nodo little, avviene il bello: anche qui è necessario assegnare un nome di rete e lo stesso cookie di cui sopra (e lanciare l’interprete sempre dalla directory contente il file compilato, debitamente copiato dal primo nodo); a questo punto, ho dichiarato una funzione Double, che altro non fa che ricavare il quadrato del parametro, lanciarla in locale e successivamente in remoto, tramite la chiamata ad rpc:call(). Ed ha funzionato!

Cos’è successo

In pratica, nel secondo nodo è stata creata una fun, ovvero una funzione anonima assegnata ad una variabile; essendo la funzione appunto anonima, il suo codice non era a priori conosciuto dal primo nodo, dato che la sua implementazione (X*X) non era situata nel modulo presentato più sopra (che costituiva l’unico listato comune ai due nodi), bensì salvata in qualche modo direttamente nella variabile Double.

Quando tale variabile è stata inviata al nodo remoto, essa ha portato con sè tale implementazione, così che il nodo remoto è stato in grado di eseguirla e restituire al chiamante il risultato (4). Spettacolare!

Read Full Post »

Oggi inizia il mio sesto anno di università, inizialmente non previso (come si può ben immaginare), ma ormai siamo in ballo…

L’anno appena conclusosi non esiterei a definirlo campale, almeno da un punto di vista universitario e dintorni: la partecipazione al Google Summer of Code ha coronato un annetto nella media, e la tesi probabilmente trasformerà in maniera simile anche quello che sta per iniziare (e che deve essere campale anche lato esami e voti).

Anyway, è uscito l’altro giorno l’articolo sui ragazzi che hanno partecipato per KDE al Summer of Code 2009: ovviamente ci sono anch’io, ma anche tantissimi altri progetti, più o meno spettacolari: leggete leggete! Intanto su Mandriva 2010 RC1 hanno integrato un sacco di migliorie di Nepomuk, e con KDE 4.3 dovrebbe essere diventato anche più semplice testare anche smartsave, vi farò sapere prossimamente.

Read Full Post »

Oggi è stata una giornata decisamente soddisfacente dal punto di vista informatico e linuxiano in generale, e non potevo non condividere l’avvenimento coi miei 15 lettori…

Erano 10 anni che non compravo una stampante: a quell’epoca infatti risale la mia HP Deskjet 710C, che a tutt’oggi funziona perfettamente; l’unico difetto è che non è qui a Milano, perciò era ora di averne una anche in appartamento. La scelta è caduta su una HP (marca che vince non si cambia) Photosmart C4580, occasione capitata quasi per caso ad un MediaWorld.

Il primo avvio

Al primo avvio, la stampante si rende del tutto autonoma: prima chiede la lingua (dal piccolo display), poi mostra come inserire le cartucce (incluse) e la carta; fatto questo, si stampa la pagina per l’allineamento delle cartucce e se la scannerizza (unico sforzo: inserire il foglio appena stampato nello scanner): già mi torna in mente la 710, per la quale bisognava stampare apposta la pagina ed inserire a mano i valori (operazione per la quale, dopo qualche anno, mi sono ampiamente stufato: ora non le allineo più 🙂 ).

Al termine dell’operazione, la stampante è pronta (e fumante) per funzionare.

Al PC

Linux mi ha reso anche più soddisfatto: ho inserito il cavo USB, e dopo pochi istanti KDE mi comunica che una stampante è stata inserita, e la sta configurando; tempo una decina di secondi (meno di quanto ci avrebbe messo XP, peraltro) afferma che la HP serie C4500 è configurata e pronta a stampare. Spalanco Okular e lancio il primo documento, e tutto va felicemente in porto.

In conclusione

Questo è quanto io chiamo “informatica al servizio dell’uomo”, e non viceversa…

Unico difetto riscontrato finora: non so se Linux supporta il Wireless della stampante: bisognerebbe infatti lanciare il software per Windows presente sul CD, con la stampante collegata, per poterla configurare alla rete di casa, e non ho ancora provato il buon Wine; la speranza però è un po’ flebile, da quel che vedo su Internet…

Non testato (yet): lo scanner.

P.S.: leggo oggi, tra le notizie dei netbook in uscita, che l’eeepc non poteva avere un hard disk più grande di 160 GB a causa delle limitazioni della licenza XP in uso, ed ora invece con Windows 7 possono allargarsi… :O

Read Full Post »

« Newer Posts - Older Posts »