Archive for the ‘informatica’ Category

A chi utilizza Wine con programmi che riproducono audio: finalmente Pulseaudio gestisce anche questo!

Seguendo le istruzioni contenute in questo post, è possibile ricompilare Wine e poter scegliere il noto layer audio come uscita predefinita: in questo modo, si evitano gracchiamenti vari che a volte si sentono ad esempio in videogiochi o altri applicativi. Da notare che esistono un paio di problemi in fase di compilazione, in particolare

  1. nel file dlls/winepulse.drv/Makefile.in, dopo il patching, va rimossa la riga @dependencies@, che non viene risolta dalla fase di configurazione
  2. se su un sistema a 64bit, e se state compilando con il supporto agli mp3, ad un certo punto vi verrà restituito un errore in una chiamata alla libmpg123: tale chiamata va modificata aggiungendo _64.

Insomma, pur restando del parere che è Flash che incasina le cose di solito quando altri programmi cercano di accedere ad Alsa, posso comunque confermare il mio apprezzamento a Pulseaudio, che si sta sempre di più dimostrando in questi ultimi mesi un prodotto maturo e funzionante.

7
Mar

L’insostenibile ibridezza del bit

   Posted by: Siv Tags:   PDF version Pdf version

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.

25
Feb

Getting back to development

   Posted by: Siv Tags: ,   PDF version Pdf version

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!

25
Feb

L’Italia non si smentisce

   Posted by: Siv Tags: ,   PDF version Pdf version

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…

14
Feb

Ruby on Rails: prime impressioni

   Posted by: Siv Tags: , ,   PDF version Pdf version

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.

9
Feb

KDE SC 4.4

   Posted by: Siv Tags: ,   PDF version Pdf version

KDE SC 4.4

8
Feb

KDE 4.4 bindings & Ubuntu

   Posted by: Siv Tags: , ,   PDF version Pdf version

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.

26
Jan

ADSL

   Posted by: Siv Tags:   PDF version Pdf version

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ì.