I was worth over a million dollars when I was twenty-three, and over ten million dollars when I was twenty-four, and over a hundred million dollars when I was twenty-five, and it wasn’t that important, because I never did it for the money.
alex@alex-laptop:work$ du -sh giochi/nwn/ 11G giochi/nwn/
Posted in Virtual world | Tagged informatica, videogiochi | 2 Comments »
(Premessa: ieri ho consegnato la tesi, di conseguenza il lavoro è sostanzialmente finito, e l’appello di laurea è confermato per il 20 dicembre; è ora di rispondere ad un po’ di richieste che ho ricevuto sull’argomento del mio elaborato, premesso che per una descrizione dettagliata del lavoro e le relative conclusioni dovrete venire alla mia laurea o a scelta aspettare i giorni successivi, quando pubblicherò il PDF)
Il progetto che verrà presentato il 20 dicembre ha avuto origine da una ricerca più ampia riguardante sistemi in grado di adattarsi a runtime al contesto all’interno del quale si trovano ad operare, e possano perciò modificare il proprio funzionamento, i servizi offerti ad eventuali client o il modo in cui sfruttano servizi a loro offerti in base a modifiche dell’ambiente o delle condizioni di funzionamento proprie dei sistemi stessi considerati. Due sono stati i settori di questa ricerca su cui il lavoro si è concentrato: il primo riguarda gli stili architetturali in grado di supportare questo paradigma, mentre il secondo riguarda i linguaggi di programmazione più adatti per sviluppare programmi di questo tipo.
Per quanto riguarda i primi, la condizione è che riescano a garantire scalabilità e ad isolare quelle parti del software che effettivamente possano richiedere un aggiornamento; l’esempio primo di architettura è REST, che essendo alla base del Web di oggi è evidentemente in grado di supportare uno scenario dinamico come quello di Internet, mentre l’esempio che segue immediatamente è Computational REST, una sorta di evoluzione del primo sviluppata da alcuni ricercatori presso l’Università della California presso Irvine, il quale riprende alcuni concetti di codice mobile e li integra in un’infrastruttura costruita sul protocollo HTTP, per costruire un Web in cui l’attenzione non sia più sul contenuto ma sulla computazione: per semplificare molto (forse troppo), da un certo punto di vista potreste vedere questa visione come un AJAX “on steroids“: invece di avere semplice codice Javascript che si muove nella Rete, ci sarebbe codice vero, scritto in linguaggi di programmazione “reali” e veramente eseguito dalle macchine…
Per i linguaggi, invece, una disamina dei più promettenti è stata fatta nell’articolo scritto per il corso di “Argomenti avanzati di Ingegneria del Software“, e tra i migliori è emerso Erlang, un linguaggio di programmazione funzionale orientato alla concorrenza: esso supporta non solo la creazione e gestione di migliaia di processi leggeri, distribuiti dinamicamente sui core di una singola macchina o addirittura tra macchine di una rete, ma permette anche l’aggiornamento dinamico del codice: un applicativo può infatti subire l’aggiornamento di uno o più moduli “a caldo”, senza dover fermare il servizio e senza che le istanze del codice precedente l’aggiornamento vengano fermate o in qualche modo disabilitate.
L’idea della tesi è stata quindi di mettere insieme l’architettura CREST, in origine sviluppata in Scheme, ed Erlang, e verificare se l’utilizzo di un linguaggio di programmazione in grado di offrire numerose facilitazioni sia per la comunicazione tra processi che per l’aggiornamento dinamico del codice avrebbe ben supportato tale architettura. Per i dettagli e le conclusioni sia sul linguaggio che sull’architettura, non posso anticiparvi nulla: vi aspetto a dicembre!
P.S.: dopo l’appello di laurea seguirà un secondo post con le conclusioni ed un paio di riflessioni personali sullo sviluppo di Internet, se non doveste farcela ad essere presenti vedrò comunque di soddisfare la curiosità che questo post vi dovrebbe lasciare…
Posted in Virtual world | Tagged Erlang, informatica, Internet, laurea, università | Leave a Comment »
Ne avevamo già avuto il sentore, ma oggi c’è l’annuncio ufficiale: Dolphin in KDE SC 4.6 conterrà un pannello per la navigazione faceted! (perdonatemi se uso il termine inglese, ma quello italiano è un discreto pacco…)
Insomma, finalmente (parte dei) frutti della mia estate 2009 passata a programmare arrivano in mainstream, per quanto purtroppo (e con grosso dispiacere) io non ci abbia più lavorato praticamente da questa primavera, ovvero dall’epoca del rilascio 0.3 di Sembrowser; giusto per ripercorrere brevemente la storia:
- partecipo alla Google Summer of Code 2009, lavorando su un’interfaccia di apertura e salvataggio file prettamente semantici per KDE; lì mi viene l’idea di utilizzare le faccette nel primo dei due, ispirato da un’annetto di lavoro su questi simpatici oggetti passato in ufficio Web del poli
- al meeting Nepomuk di ottobre dello stesso anno, decidiamo di provare a portare tale barra di filtraggio dei risultati in Dolphin; con un hack al volo faccio una proof of concept, ma è troppo tardi per inserire qualunque cosa in KDE 4.4 (e, peraltro, anche in 4.5), a causa del feature freeze già in atto e del poco tempo libero del maintainer di Dolphin
- tra la fine del 2009 ed i primi mesi del 2010, scrivo un browser per KDE da usare come cavia per provare tale pannello, e ricercare quindi le modalità migliori per mostrare il tutto; nel frattempo, la libreria per le query di Nepomuk evolve alla grande e diventa molto usabile ed estremamente comoda
- a partire dalla primavera, e soprattutto poi in estate (mentre noi siamo sotto esame, maledizione!), Sebastian Trueg ed altri ragazzi coinvolti nella Summer of Code 2010 migliorano la libreria per le faccette
- questo autunno si integra il tutto in Dolphin.
Insomma, questo potrebbe essere finalmente un buon passo avanti per avvicinare gli utenti a Nepomuk e mostrare loro l’utilità di questo progetto, in attesa che arrivi un lavoro integrato anche per le activity (ed a quel punto non ci saranno più scuse!).
Edit: ecco la pagina delle API per integrare il faceted browsing in qualunque applicazione KDE!
Posted in Virtual world | Tagged informatica, KDE | 1 Comment »
Se vi è capitato di creare progetti Erlang un minimo complessi, è molto probabile che abbiate usato un makefile, più o meno complesso, con cui compilare i sorgenti, creare la documentazione e magari funzionalità più complesse.
Ebbene, finalmente c’è uno strumento adatto a questo linguaggio e framework: Rebar. Si tratta di un progetto scritto naturalmente in Erlang, di fatto è uno script di circa 85k, il quale è in grado di eseguire le richieste più comuni, ovvero la compilazione, la generazione di documentazione, la pulizia del progetto ed il lancio dei test EUnit; è supportata anche la generazione di scheletri di applicazione, dato un file template che descriva cosa debba essere copiato.
In realtà, la funzionalità più utile è la possibilità di gestire le dipendenze: ciascuno dei comandi di cui sopra, infatti, controlla se esiste una sottocartella deps, e se esiste ciascuno dei progetti lì contenuti viene a sua volta compilato prima del progetto principale; unico vincolo: sia le dipendenze sia l’applicazione principale devono essere configurate utilizzando il behaviour application, ed in particolare la soluzione migliore rimane inserire nella directory sorgente un file del tipo:
{application, myapp,
[{description, "Myapp description"},
{vsn, "x.y"},
{modules, []},
{registered, []},
{mod, {myapp_app, []}},
{env, []},
{applications, [kernel, stdlib, crypto]}]}.
con la configurazione dei moduli vuota, e questa viene automaticamente riempita dai moduli effettivamente compilati e copiata nella directory binaria in fase di compilazione; naturalmente, non è sufficiente avere tale file, servono anche i sorgenti correttamente configurati per utilizzare il behaviour. Unico bug: se una delle dipendenze non è un’applicazione, il sistema restituisce errore, mentre io personalmente avrei preferito che si limitasse ad un warning, o comunque a compilare i sorgenti da src a ebin; nulla di grave, la maggior parte dei progetti Erlang presenti online sono anche applicazioni, ed anche voi se scrivete un progetto conviene che utilizziate la medesima modalità, che vi permette anche di gestire le release e l’aggiornamento (automatico).
La configurazione avviene tramite un file rebar.config, in cui si possono specificare le directory del progetto ed alcune opzioni minori, peraltro tutte documentate nella pagina linkata sopra.
Non viene distribuito ufficialmente con Erlang, ma è decisamente un ottimo strumento, quantomeno costruito appositamente per questo linguaggio, rispetto a makefile che è sicuramente flessibile ma richiede qualche linea di codice in più per supportare bene queste applicazioni.
Posted in Virtual world | Tagged Erlang, informatica | Leave a Comment »
Un breve update al post precedente sull’argomento: ho aggiornato i pacchetti del PPA alla versione 14B di Erlang (dalla precedente 14A, un update minore dell’interprete e delle librerie), sempre con un backport da Debian, questa volta experimental; questo ha come principale conseguenza il fatto che i pacchetti potrebbero non essere stabili, per quanto dallo stato degli stessi nel sistema originale sembra che non siano emersi problemi al momento.
Naturalmente, continuerò a seguire il percorso dei pacchetti dall’altra parte, ed i backport da questa parte; vi rimando alle release notes per sapere i cambiamenti rispetto alla versione precedente, da un primo test in locale direi che le applicazioni principali non sembrano dare problemi.
Posted in Virtual world | Tagged Erlang, informatica, Ubuntu | Leave a Comment »
Vi siete mai chiesti che forma d’onda abbia un bend? Ebbene, ecco fatto:
Scoperta per caso, mentre registravo su Ardour: notate come la forma si sposti verso l’alto (rispetto allo zero) mentre la nota si alza… ah, dimenticavo, ecco cosa stavo suonando: Bend.
Se non avete mai registrato nulla, sappiate che di solito l’onda ha un picco iniziale e successivamente degrada verso lo zero uniformemente, anzichè piegare verso l’alto in quel modo. Aggiungo anche lo spettro, non tanto perchè sia altrettanto interessante (o forse lo è? E’ passato troppo tempo dall’esame di segnali…), quanto perchè è colorato e carino da vedere:
Posted in Real world | Tagged chitarra, musica | Leave a Comment »
Alcuni cantautori sono un po’ poeti, nulla da dire… alcune delle frasi migliori messe in musica, tratte da canzoni che ho or ora sottomano:
- James Blunt, Carry you home: “As strong as you were, tender you go / I’m watching you breathing for the last time”
- Ben Harper, Amen omen: “Silence is the loudest / Parting word, you never say”
- Fabrizio De Andrè, Il testamento di Tito: “E scivola il sole al di la’ delle dune / A violentare altre notti”
- Bruce Springsteen, Tougher than the rest: “The road is dark and it’s a thin thin line / But I want you to know I’ll walk it for you anytime”
- Anthony and the Johnsons, You are my sister: “You are my sister / And I love you / May all of your dreams come true”
- Bryan Adams, The best was yet to come: “What’s so good about goodbye / When the best was yet to come”
- Joan Baez, The ballad of Sacco and Vanzetti: “My father dear, I am a prisoner / Don’t be ashamed to tell my crime / The crime of love and brotherhood / And only silence is shame”
- Joan Osborne, One of us: “If God had a name, what would it be? / And would you call it to His face / If you were faced with Him / In all His glory / What would you ask / If you had just one question?”
- Dropkick Murphys, The green fields of France: “Well, the suffering, the sorrow, the glory, the shame / The killing and dying it was all done in vain, / Oh Willie McBride it all happened again, / And again, and again, and again, and again”
- Guns n’ Roses, Civil war: “We got the wall of D.C. to remind us all / That you can’t trust freedom when it’s not in your hands / When everybody’s fighting for their promised land”, “What’s so civil ’bout war anyway”
Naturalmente, alcune di queste frasi potrebbero avere poco senso fuori contesto, nel qual caso cosa aspettate? Aprite un altro tab e andate a cercarvi la canzone su Youtube!
Posted in Real world | Tagged musica, testi | Leave a Comment »
Posted in Real world | Tagged casa, musica, strumenti | 4 Comments »
”[…] nec ulla deformior species est civitatis quam illa in qua opulentissimi optimi putantur.”
Posted in Citazioni | Tagged Citazioni | Leave a Comment »


