Category Archives: Open Source

Tuntun GNio Branch

Dopo aver rotto a destra e a manca, finalmente tuntun abbandona snul per abbracciare il fantastico mondo di GIO e GNio.

Il tutto per ora sta avvenendo in un branch separato, fra qualche problema di comunicazione con Jurg (dannato inglese!) e qualche problema di compilazione di vala (dannati cast & delegati).

GNio Branch

Parlando di altro, perSbaglio diventa serio e ricambia vestito!

Tuntun verso la versione 0.2.0

Anche se me la sono presa comoda, c’è stato un po’ di movimento per quanto riguarda tuntun e sono quasi pronto per un nuovo rilascio.

A parte il bug fix e l’aggiornamento del sito non ho intenzione di introdurre nuove funzionalita’, tuttavia non sono ancora sicuro se rimandarne ulteriormente l’uscita al 2 di giugno in sincronia con la versione 0.3.3 di vala o meno.

Differentemente da quanto preventivato nella roadmap (che quindi ho di conseguenza modificato) non sono riuscito a togliermi di torno snul, ma ho comunque introdotto qualche nuova e comoda features.

L’indirizzo ip assegnato è visualizzato nella notifica di avvenuta connessione:

Notify IP

La finestra di dialogo delle preferenze è stata arricchita con informazioni:

  • sullo stato della connessione
  • sull’indirizzo IP assegnato
  • e con una nuova spunta ‘quick connect‘ che permette si specificare fra le connessioni disponibili quali attivare / disattivare con un semplice shift + click.

Sono state razionalizzate le icone di stato connessione, connetti / disconnetti ed inoltre l’immagine nel pannello si anima in caso di attività nel canale di controllo di openvpn.

Per ora è tutto!

Appena alzato

Ieri prima di addormentarmi avevo sentito degli strani rumori in soffitta… questa mattina ho ricevuto questa email:

This is an automatically generated mail message from mdadm
running on persbaglio

A Fail event had been detected on md device /dev/md0.

It could be related to component device /dev/hda2.

Faithfully yours, etc.

P.S. The /proc/mdstat file currently contains the following:

Personalities : [raid1]
md0 : active raid1 hda2[2](F) hdc1[1]
4104960 blocks [2/1] [_U]

unused devices: none

Se per qualche giorno perSbaglio rimmarrà inattivo sapete perche’. Se al ritorno non ci sara’ piu’ questo post saprete che e’ andato tutto storto ed ho dovuto ripristinare il backup di qualche minuto fa.

Il tutto dopo soli:

persbaglio:/# uptime
12:01:50 up 54 days,  9:54,  1 user,  load average: 0.06, 0.03, 0.01

P.S.

Anche /dev/hdb1 contiene errori, ma non facendo parte del raid è piu’ discreto e non manda email.

Solo un blackout tecnologico?

Sono passati un po’ di giorni dall’ultimo post e a dire il vero la maggior parte del tempo l’ho passata in giro, all’aria aperta, a causa della rottura del mio amato, quanto indispensabile, monitor CRT.

Più o meno deliberatamente ho ritardato l’acquisto di un rimpiazzo, ma alla fine ho dovuto ascoltare il mio cuore ehm… fegato.

Ho quindi lasciato il mondo dei vecchi CRT per i nuovi LCD a “più pollici possibili” (attualmente il massimo che mi sono potuto permettere è un 22 pollici che a conti fatti potrebbero essere il lavoro di 11 mani o 5 mani e 6 piedi, ma lasciamo stare).

Durante questa mia breve assenza alcune cose ovviamente sono cambiate, si sono evolute:

  • terminato l’uso del mio 33esimo anno ed iniziato il 34esimo (grazie per gli auguri, grazie per la tor..ca)
  • vala versione 0.2.0 è stato rilasciato
  • gli ultimi commit di tuntun lo hanno reso una applet migliore (merita un piccolo post a parte)
  • e Lennart Poettering sta facendo un bel lavoro con PulseAudio

XChat + Vala + Pastebin

Non ho resistito et voilà xchat-pastbin plugin è nato (sempre in the vala-experiments)!

Più semplice di quanto pensassi grazie a libsoup ed al fatto che usare parametri post è semplicissimo, ma giuro senza i sorgenti di pastebin stesso in questo momento ancora sarei a chiedermi: ma quale parametro devo valorizzare e come?

andrea@spavento:~/documenti/src/vala$ ls -l xchat-pastebin/xchat-pastebin.so
-rwxr-xr-x 1 andrea andrea 25684 2008-03-23 11:33 xchat-pastebin/xchat-pastebin.so
andrea@spavento:~/documenti/src/vala$

25KB di plugin, no python no perl puro C… ehm no vala!

Ignoranza

Parlo della mia! Praticamente ho speso tempo, forze ed energia per capire come mai uno stupido esempio che utilizzava gnome-keyring si rifiutava di compilare fallendo miseramente al momento del linking poiché mancava un simbolo nella relativa libreria.

All’inizio stupore “non può essere” poi inizio con objdump a vedere se questo simbolo era presente o meno, ma niente. Quindi apro il caro xchat e preso da dubbi comincio a rompere su #gnome #gnome-hackers e #gnome-debian, chiedendo se objdump visualizzasse tutti i simboli esportati in una libraria o per qualche ragione a me ignota escludesse le variabili globali.

Beh qualcuno mi ha aiutato, ma praticamente sono rimasto con il dubbio se objdump fosse il tool adatto e sono andato fuori strada poiché ho subito pensato ad un bug della mia distribuzione. Non rimaneva che scaricare i sorgenti da svn e provare direttamente quelli.

Stesso identico errore, quindi posto l’esempio su xchat e come prevedibile, grazie all’aiuto di qualche smanettino verifico che gentoo ubuntu e mandriva falliscono tutte. A questo punto il problema deve essere upstream.

Quindi prima devo chiarire se objdump -T fa il suo lavoro o meno poi iniziare a smanettare suo sorgenti, ma da dove partire dato che sembrano corretti? Beh scrivo un programma che simula la struttura di quella parte della libreria e raggiungo la consapevolezza che

  1. objdump fa bene il suo lavoro e lo fa anche su file .o ed eseguibili ed ha anche un sacco di amici come nm
  2. che grep come cosigliato da qualcuno non va bene perché può dare falsi positivi (simboli di debug)

Con queste nuove armi indago sul risultato della compilazione della versione in trunk ed arrivo alla conclusione che nel file gnome-keyring.o sto benedetto simbolo c’è, ma poi alla fine nell’immagine .so scompare.

Quindi non può essere gcc, ma qualche altra cosa… e bang: libtool. A questo punto è diventato tutto più facile e dopo aver dato un occhio ad header elf, scritto programmi, il fix si è ridotto ad una riga in Makefile.am!

http://bugzilla.gnome.org/show_bug.cgi?id=522651

Comunque era da tanto tempo che non provavo questa sensazione di novità mista a curiosità e mi è proprio piaciuta!

Tuntun, Snul ed altro

E’ passata una buona settimana dall’ultimo post e nonostante il lavoro, la mia facilità nel distrarmi e qualche bug di vala, Tuntun è progredito e sta giungendo quasi l’ora di un primo rilascio.

Questo è lo stato dell’applet al momento:

  • internazionalizzazione
  • finestra di log come in ovpClient
  • new: supporto la richiesta di eventuali username / password (sia per il metodo di autenticazione Auth, che Private Key)
  • debug, debug e debug

Quindi, dato che sono rimasti solo “2 debug”, mi devo affrettare a trovare uno spazio web dove poter uploadare questo piccolo progetto.

Ed ecco come appare (da notare che la gestione delle connessioni è totalmente asincrona, mentre perSbaglio è bloccato nella fase di autenticazione, Morph effettua con successo il suo collegamento) :

Tuntun preview 2

Ovviamente insieme a Tuntun anche Snul ha subito dei ritocchi e principalmente le novità sono:

  1. Risoluzione asincrona degli indirizzi
  2. Bug fixing

Sono quindi lieto di annunciare una nuova versione di Snul – “The Gollum Child”, non scaricatela perchè scotta!

Ed ora veniamo ad altro! Preso dall’entusiamo di Alessandro che combatteva con perl sotto windows per scrivere un utile plugin per pidgin mi son detto: perchè non scriverne uno uguale in vala per xchat-gnome?

Beh il plugin non l’ho scritto (ti sto aspettando Alex, poi io farò il porting del tuo da pidgin ad xchat 😉 ), ma i bindings e un Hello World li ho fatti!

Siori e siore ecco xchat-helloworld (sempre in “The vala experiments”)!