Clicca qui per iscriverti.
Mi sto rendendo sempre più conto che i sistemi ibridi saranno decisamente il futuro dei sistemi informatici.
Prima nello studio di processi e thread, all’interno dei sistemi operativi, ci si è resi conto che la realizzazione ibrida a livello kernel ed a livello software è la soluzione maggiormente utile, e non posso non pensare ad Erlang ed alla sua gestione interna dei processi, a sua volta poi ripartita su thread distribuiti sulle CPU esistenti.
Spesso e volentieri inoltre si parla della pesantezza del kernel Linux, che è costruito in modo monolitico, rispetto a come potrebbe essere invece un microkernel; forse, tuttavia, anche qui la soluzione alla fine si rivelerà essere in un qualche modo ibrida (e non sono un profondo conoscitore dell’ambiente, quindi non so se esistano veramente dei progetti in tal senso o sia solo una mia idea): d’altronde, i microkernel non sono usati (almeno, così come stanno) in nessun sistema operativo “di produzione”…
Ed infine, anche i progetti software di questi anni sono sempre più orientati verso l’uso di sistemi misti di programmazione/esecuzione, e lampante è una presentazione recente sul sistema di chat di Facebook, che usa C/C++ per la parte di logging, Erlang per gestire i canali di comunicazione, PHP/JS per la parte di presentazione (AJAX, naturalmente). Di fatto, ogni linguaggio e runtime ha le sue peculiarità, e sempre più spesso si utilizza un determinato linguaggio solo per la parte in cui risulta maggiormente performante o più semplice da usare.
Insomma: sistemi ibridi a tutti i livelli, penso saranno inevitabili.
The exam session is almost over, so I’m getting back to development, after more than a month without any activity…
I already have a TODO list for Sembrowser, so expect some new features soon; in the meantime I have added a small utility, which you can find in the misc/ subdirectory on Git, useful for testing the application itself: if you are like me, and you create detailed directory trees for your files, then with the Python script that I have added (which, by the way, has been also an interesting experiment with KDE bindings under Python) you can specify a directory (say: /home/user/Documents/University/Some course name) and all the files found under that directory will be tagged with each fragment of their path (or part of it, for example Documents, University and Some course name will be tags applied to all files under that path). Check the script options for a more precise usage example.
This can be useful for having a bunch of tags automatically associated to some files, so you can then try Sembrowser itself having something to browse, if you don’t usually use tags.
See you soon!
Sono stato un po’ incerto se valesse la pena scrivere qualcosa in proposito, ed alla fine ho deciso che due righe vanno citate: i giudici italiani hanno condannato tre dirigenti di Google riguardo il caso del 2006, quando alcuni ragazzi di Torino (peraltro già condannati) hanno filmato un episodio di bullismo verso un ragazzo Down ed hanno postato il video su Youtube.
Si tratta solo del primo grado, e speriamo vivamente che nei gradi successivi la sentenza venga ribaltata, dato che si tratta veramente di una sentenza assurda: come non ribadire, infatti, nuovamente che gli Internet Service Providers non possono assolutamente essere ritenuti responsabili di tutto quello che viene pubblicato, specie quando questi provider offrono hosting a piattaforme di social networking; non è pensabile un monitoraggio completo di tutti i contenuti, così come non è pensabile togliere all’utente la possibilità di poter inserire del contenuto: di fatto, si perderebbe la natura stessa di Internet.
Come ben specificato da Google stesso, la procedura corretta è sicuramente quella seguita: Google ha eliminato detto video, non appena è stata informata della sua presenza, ed ha aiutato la polizia a rintracciare i colpevoli; questo è il comportamento da seguire in questi casi, non certo condannare una manciata di dirigenti, oltretutto muovendosi in direzione contraria a quanto legifera l’Unione Europea (per non parlare della Net Neutrality, per cui tutti ci battiamo).
Insomma: l’ennesimo passo indietro di un Paese che non riesce a comprendere praticamente nulla delle nuove tecnologie e di Internet. Siamo un Paese vecchio, troppo vecchio…
Negli ultimi due giorni mi sono sparato i primi 14 capitoli di “Agile Web development with Rails“, arrivato mercoledì a tempo di record dall’Inghilterra (con Amazon, naturalmente), e dopo aver ricostruito (sì: copiato riga per riga) l’applicazione di esempio (una semplice libreria online), posso dare un primissimo giudizio al tutto, anche se sto ancora rileggendo il codice scritto di corsa in due pomeriggi, principalmente blind write, per capire che cosa è successo.
Direi, comunque, che l’impressione è finora positiva: da un punto di vista di ingegneria del software, sono estremamente felice della forzata separazione MVC, così come delle facilitazioni per il testing: le user stories, in particolare, sono veramente spettacolari (lo unit test o il functional test non è così diverso da JUnit (ovviamente, essendo la base di partenza la stessa), quindi cose che avevo già visto (ed accuratamente evitato) fino ad oggi); la possibilità infatti di definire un percorso di navigazione di test, per verificare se effettivamente questo viene rispettato, è sicuramente molto utile, specie tenendo conto che siamo in un contesto Agile, quindi se non si scrivono test sicuramente si rischia di rendere il tutto immanutenibile (neologismo?).
Per il resto, non posso che confrontarlo con PHP, unico altro linguaggio con cui ho scritto siti Web (se escludiamo una breve parentesi con J2EE, ma troppo breve per essere rilevante): alcune cose sono secondo me più semplici, mi vien da dire la funzione h() per fare escaping di schifo, in PHP non mi ricordo mai quale delle due/tre funzioni serve allo scopo; anche la scrittura di XML (RSS) è decisamente carina, così come altri particolari che non sono comunque mai troppo lontani da PHP stesso (in cui non ho mai usato un framework, peraltro, quindi…).
Sicuramente una killer feature è la possibilità di ottenere un form AJAX con cinque righe di codice, ed io avevo finora solo visto applicazioni AJAX e temevo vivamente il momento in cui avrei dovuto tentare di scrivere io del codice, ma mi devo ricredere. In particolare, la possibilità di scrivere un Javascript in Ruby è magnifica (oltre che un po’ un ossimoro)…
Ora devo tornare ai miei esami, finita la sessione dovrei scrivere un sito in autonomia, per mettere effettivamente le mani nel framework come si deve; per il momento, comunque, direi che lo promuovo a pieni voti.
If you are using Ubuntu 9.10 (Karmic) and the Kubuntu Beta repository, you may have noticed that the release of 4.4 RC2 broke the PyKDE bindings, which were left at version 4.3.x; for (temporarily) solving the issue, I have rebuilt the 4.3.95 packages from Ubuntu 10.04 (Lucid) to Karmic, without any modifications, and you can find them on my PPA. I don’t know if the Beta PPA will provide the final 4.4.0 bindings, mine are just for the RC2 release.
Please notice that they are absolutely not to be considered as stable or widely tested or any of this; they just Work For Me, and they may work for someone else, but I cannot guarantee anything on that.
Ho letto gli ultimi due numeri di Ubunchu, il manga giapponese su Ubuntu (non sanno più cosa inventarsi), e dato che l’ho già citato in precedenza (no, non sto linkando il vecchio post, mi ci vuole una vita per ritrovarlo…), lo ri-cito, riproponendo questa immagine veramente carina…
Sto guardando il video dell’intervista di Youtube con il presidente americano Obama: Youtube ha chiesto ai cittadini degli Stati Uniti di pubblicare domande da fare ad Obama, testuali o tramite video (naturalmente), successivamente sono state votate e le migliori per le varie categorie (economia, politica estera, whatever) sono state effettivamente chieste ed hanno ricevuto risposta.
Ve li immaginate i nostri politici fare una cosa del genere? E non parlo di quei pochi (giovani per lo più) che già ora lo fanno, ma della stragrande maggioranza, Governo in testa. Ma se nel momento in cui Grillo chiede a Schifani (presidente del Senato, ricordiamolo, seconda carica dello Stato se ben ricordo) di poter avere un incontro trasmesso su Internet, lui rifiuta… altrochè trasparenza!
Aaaaaahhhh!!! C’è l’ADSL di Telecom a Corbola!!! Ed infatti nevicchia, per confermare la rarità dell’evento…
Dopo svariate release di Pulseaudio, lo strato software che di fatto dovrebbe fungere da una sorta di “megamixer” per tutte le applicazioni che necessitano di uscite (o ingressi) audio, il cui il funzionamento rasentava il penoso (ricordo quando la prima cosa che si faceva in un PC appena installato era rimuoverlo), ora finalmente pare che il tutto inizi ad avere un senso.
Mi sento di dire questo dopo la spettacolare serata UrbanTerror di ieri sera, in cui tutte le applicazioni audio si univano armoniosamente senza scatti e gracchiare vario: KDE su pulseaudio, Skype su pulseaudio (ingressi ed uscite) e UT stesso su pulseaudio (da notare che per fare questo bisogna installare la libsdl compilata con pa, disinstallando quella con alsa), ed in cuffia si sentivano chiaramente tutti i suoni, provenienti dai diversi programmi; volendo sperimentare un po’, il buon pavucontrol dovrebbe anche permettere di gestire al meglio le fonti, decidendo ad esempio quali volumi massimi assegnare a ciascuna di esse, ma ammetto di non essermici soffermato troppo.
Unico neo, Flash ogni tanto pare fare le cose a modo suo, e sfortunatamente Firefox, una volta chiuso, non elimina l’istanza che ha creato del player (npviewer.bin sul mio sistema), e questo crea un po’ di problemi in merito (a differenza, ad esempio, di Rekonq, che chiude tale istanza in uscita), in particolare con UT stesso. Ma insomma, non è un mondo perfetto (e, soprattutto, Flash è proprietario).
Offtopic: prezioso è stato anche il suggerimento di lanciare UrbanTerror in una seconda istanza di X, come suggerito dal wiki di Arch Linux; su Ubuntu è necessario editare il file /etc/X11/Xwrapper.config, per permettere a tutti gli utenti di creare sessioni di X, e poi finalmente Kopete non lancerà più le sue notifiche in sovrapposizione col videogioco (specie se usate, come me, Colibrì come notification system).
Stanotte sono incazzato, e forse questo post farà incazzare qualcun altro, ma onestamente è ora di dire quello che va detto.
Due anni fa abbiamo iniziato, qui al Politecnico, una nuova esperienza: uno Student Branch di IEEE (la più grande associazione di divulgazione scientifica in ambito tecnologico, attiva da 125 anni in tutto il mondo). Al primo incontro saremo stati almeno una quarantina, entusiasti di partecipare ad un gruppo internazionale di questa portata; ci siamo iscritti, pagando dei soldi, direttamente all’associazione internazionale, questo per dimostrare l’impegno iniziale non solo di “volontariato”.
L”emozione di quei primi giorni era palpabile: abbiamo creato un giornalino (addirittura rischiando uno scisma tra noi stessi), collaborando perfino con un’università francese, e ricordo che si pensava in grande: la possibilità di invitare personaggi famosi, poter usare il nome di IEEE per dare peso alle conferenze; avevamo addirittura pensato di riunire lo Student Branch con il POuL.
Poi, così com’è nato, il gruppo è morto.
Dopo i primi diciamo tre mesi? Quattro? Non c’è stato più un incontro, un evento organizzato, nulla: io ed altre persone, attive nelle associazioni studentesche, eravamo presi a dare nuova linfa al POuL stesso, e nessun altro è stato in grado di motivare adeguatamente l’interesse verso le opportunità offerte dal gruppo, vuoi per un motivo vuoi per l’altro (salvo riproporre ogni tanto iniziative esterne supportate attraverso IEEE, più come manovra pubblicitaria che per altre motivazioni).
La cosa incredibile è che veniamo addirittura pubblicati sul giornalino della regione 8, e parlo di qualche mese fa, come se portassimo ancora avanti qualche attività, e per cosa poi: per aver celebrato il 125mo anniversario di IEEE. In un evento con conferenzieri importanti, tra cui addirittura la persona che ha portato il primo calcolatore nella nostra università, un momento che avrebbe dovuto riunire secondo me come minimo l’intero dipartimento, dato che tutti lì dentro devono qualcosa a questa persona, in termini di eredità storica, ebbene in questo evento 20 persone si sono presentate come pubblico. Venti.
Ed è questa la cosa peggiore: vedere un’iniziativa iniziata sotto i migliori auspici, con un nome alle spalle, ottime possibilità “logistiche”, insomma un potenziale notevole, essere stata prima proposta con entusiasmo, poi abbandonata non appena gli interessi sono cambiati, estratta dalla naftalina solo quando fa comodo ed infine lasciata definitivamente a marcire.
E sì, sicuramente ognuno si prenderà le sue responsabilità, ma è una cosa veramente triste, e che provoca un certo dispiacere. E già vedo i miei detrattori, che magari mi chiederanno cosa ho fatto io per essa: io ho scritto per l’unico numero del giornalino, ci sono stato quando c’era bisogno per dare una mano in giro per Milano, e ci sarei stato in qualunque evento organizzato, in qualunque momento; allo stesso modo, potrei ancora esserci: la domanda da porci, tuttavia è se veramente c’è gente disposta a sbattersi adeguatamente o meno per questa iniziativa. E leggendo la mailing list del gruppo, forse non è più così.
Tanto per inanellare il quarto post di giornata, ma non potevo non scrivere di questo fatto: oggi passo davanti ad un’edicola, mentre ritorno a Milano, e leggo la pubblicità di un manuale per utenti, che suona più o meno così: “Garageband: impara a suonare senza conoscere la musica!”.
Ora, a me sinceramente sono cadute le braccia (eufemismo) di fronte ad uno slogan che non esiterei a definire disarmante: promuoviamo l’ignoranza musicale? Facciamo passare l’idea che scrivere brani (anzi, “brani”) senza conoscere la musica, il suo linguaggio e le sue tecniche, sia una cosa buona? Ed è così che produciamo una massa di dilettanti allo sbaraglio, che mettono in fila tanti samples uno dietro l’altro e sono convinti di aver fatto l’opera della vita, magari la portano anche alle feste degli amici.
Poi vengono a lamentarsi che la cultura musicale è sempre in calo: per forza, di fronte a fatti del genere onestamente non vedo come possa essere diversamente. E non mi si venga a dire che poi magari uno, dopo un po’ che sperimenta col programma, si incuriosisce e decide di imparare veramente a suonare: primo, non è assolutamente detto; secondo, è lo stesso modo con cui un ragazzo inizia a suonare uno strumento seguendo pedissequamente una tablatura, senza avere la più pallida idea di cosa ci sia dietro (e davanti, e sopra e sotto e dappertutto).
Estrema delusione…
Just a brief update: for those who follow the development of Sembrowser, I did not write a single line of code after the release of 0.1, and that’s because I have been a little busy during the Christmas holidays, for a university homework with today as the deadline. Also, the winter exam session will start in a couple of weeks, so don’t expect big surprises for a while.
In the meantime, if you use Ubuntu, finally the RC1 landed in the beta repository, so now Sembrowser can be packaged, and it is: the 0.1 can be found in my personal PPA (for Karmic, of course); I don’t know how often I will update it, I mean if I will create debs only when I will do an official release or more often. I’ll let you know when I will decide
P.S.: as a side note, I use(d) my PPA for personal experiments, so I suggest you to install Sembrowser only; any other package may mess up everything
Con l’acquisto che ho fatto questo Natale, ed imitando un po’ la colonna di Dave Phillips su LinuxJournal, posso ora dire che Studio Siv apre i battenti!
Studio Siv altri non è che il mio set di apparecchiature per fare musica: computer e accessori, strumenti musicali ed accessori per registrare, riprodurre, remixare, etc etc etc. E’ da un po’ che raccolgo il necessario, e già un assaggio c’era stato la primavera scorsa (vero Nick?); ma solo ora che posso registrare la chitarra direttamente con il computer, sotto il diretto controllo di Jack, posso dire di poter iniziare a fare sul serio.
La qualità non è eccelsa, ma il mio cellulare non è certo la fine del mondo; sulla sinistra, ecco il Behringer UCG102, un pratico ed efficare preamplificatore (totalmente compatibile con Linux, ofc) chitarra-USB, che viene visto e riconosciuto dal sistema come una scheda audio normale (ha anche un’uscita cuffie); l’ingresso, tuttavia, non accetta un microfono bensì il classico jack mono da 6.3″ comunemente usato dalle chitarre elettriche/elettrificate/amplificate/whatever (e peraltro anche l’uscita audio ha il medesimo jack, procuratevi un adattatore da 3.5″ stereo.
Il buon jackd viene efficacemente configurato per leggere da questa scheda e scrivere in quella audio standard del vostro PC (se volete usare la solita uscita audio del computer), e da lì a lanciare un buon set di effetti audio (Rakarrack) e/o un DAW (Ardour), il passo è breve…
Il primo esperimento, lì inquadrato, è una cover degli Audioslave, “I am the highway”: non male, ma qualcosa di più impegnativo si prospetta all’orizzonte! In attesa di scrivere qualcosa di mio…
Ah, dimenticavo: buon 2010 a tutti! (primo post dell’anno )
Ladies and gentlemen, Sembrowser 0.1 is out for testing!
Have you noticed the version number? It is not that low for nothing: the application (which is a prototype for a faceted side panel) is far from finished and not guaranteed to be stable/scalable/with good performance; anyway, the main feature, that is the faceted panel itself (with basic functionality) is ready for some comments. I want to add that this app is not and will not be a replacement for Dolphin: the idea was and is to create a testing file manager for faceted browsing; Sembrowser has way less features than Dolphin (and I don’t want to copy all of them or port all of them), even if some things are similar (like the places side panel). The new panel itself may be, at some point, taken and ported to Dolphin, but it is too early to talk about this…
So, get the sources and give it a try: you will need KDE 4.4 from trunk (no, beta2 is not enough) and a working Nepomuk installation (with Virtuoso); the facet at the bottom is about tags, so if you don’t use them, well it may be the right time for you to start
Side notice: when you select some tags, only files (and not directories) are shown; comment below if you think that it may make sense in your opinion to show them, too, but for now it is not a bug, it is a feature
Side notice 2: if you want to stay on the “bleeding edge”, you can get the sources from Gitorious.
Ho pubblicato nel mio repository su Launchpad una versione moddata di Yakuake, la nota applicazione per avere terminali scorrevoli alla Quake in KDE, cui ho aggiunto un’opzione per configurare il numero di sessioni con cui il programma viene lanciato: di fatto, all’avvio potrete avere più di un terminale già aperto (il minimo è, naturalmente, uno).
Non so se tale patch verrà integrata nel mainstream del programma, dato che l’autore ha già un’idea per un sistema di configurazione più preciso delle sessioni di avvio, quindi al momento la versione nel mio repo è assolutamente non ufficiale e non supportata dall’autore, ma solamente da me
Se siete interessati a detta patch, mandatemi una mail in privato e ve la giro.
I am not here to talk about the little semantic browser thing, which I know all of you are expecting (and I promise a first test version of the app in the next few days, Christmas holidays should help in giving me some time to prepare it right); I’m here to discuss some impressions on the Microsoft Semantic Engine presentation.
Yes, I said “Microsoft”, and I’d like to survive to that phrase, and no, I did not change to the dark side of computer science; it happened that, a couple of weeks ago, I was browsing the sessions of this year’s Professional Developers Conference, when I found this one, about a so-called “Microsoft Semantic Engine”: as a semantic maniac, I had to download the video and see what the “enemy” is preparing in this field, especially because I think that KDE is the first desktop environment to introduce semantics for its apps, and if a new player is coming into the field, then it’s good to see what he is doing. So, finally today I found some time to take a look at it, and here are some impressions.
In general
It looks like a technology introduced especially for business users, which is a good place to start: if the semantic desktop works (and here I’m talking about Nepomuk itself: Microsoft never used the term “semantic desktop”), it could really help Linux itself in becoming a business player heavier than how it is now.
For evidencing even more the business aspect, they built their engine on a relational database, which is pretty shocking IMHO: yes, in this way you can integrate with data warehouses, but the underlying code is a hell if you do not use any of the semantic languages/engines/technologies and their facilities (RDF(S), OWL, Jena, Virtuoso, Pellet). Triples, anyone?
Clustering
This engine also uses clustering and data mining techniques, together with (un)supervised learning algorithms, to deal with all the metadata that various crawlers pick up from documents (more on this later), and this reminded me of a discussion we had in Freiburg, about clustering for obtaining meaningful facets and terms for the semantic browser: for now, that prototype application will work with just three facets, but when that number will grow, things will surely become interesting…
File crawler
The crawling part is quite straightforward: each document is analyzed many times, at different levels, for getting keywords or other meaningful informations; there is an OCR part for images, as Scribo does, and a really interesting audio analyzer, which tries to extract also the tempo and the key from the music (if it is a music audio file, of course), and that’s really interesting from a technical point of view, at least for a musician like me.
Conclusions
In the end it has been an interesting video, with some really interesting informations on how other software vendors are dealing with the semantic technologies; I think we (as KDE) have a great advantage on these “competitors” in this field, and we need to keep up the good work and integrate Nepomuk more and more into all the applications: the future is coming, and we are right on the bleeding edge.
Matlab & Octave
Oggi si è svolta la conferenza sul software libero, organizzata da Ingegneria Senza Frontiere – Trashware, cui abbiamo partecipato io e Sante per conto del POuL; la partecipazione non è stata molto ampia, tuttavia direi che i talk sono andati bene.
Pubblico uno screenshot di uno dei miei desktop di oggi, che ho mostrato al pubblico, con Matlab ed Octave entrambi in esecuzione con un grafico 3D di una funzione (scelta a caso, si trattava semplicemente di mostrare come entrambi i programmi siano intercompatibili (almeno fino ad un certo punto)): era troppo carina per non mostrarla…
Non posso non linkare un articolo su KDE Dot riguardante le features di Nepomuk: per chi pensa che non esista ancora, che sia inusabile e/o che Strigi si limiti a rubarvi cicli di CPU, bè ravvedetevi
iCTF 2009 - Desktop
Ingegneri! Preparate la colazione e mangiate tanto, perché domani sera ceneremo nell’Ade!