Si continua con l’esplorazione di Vala. Dopo qualche giorno di tribolazioni e sofferenza, sono riuscito a wrappare quel po’ di API che mi serve per far funzionare una piccola applicazione GStreamer.
All’opera Vala, Gtk, Glade e GStreamer!
Category Archives: Software
Vala!
Sembrerebbe perfetto….
Girovagando per la rete mi sono imbattuto nel progetto Vala.
Bello interessante, non vedo l’ora di farci un giro (che credo sarà comunque domani…) Mi meraviglia il fatto che se ne sia parlato poco e che anche cercando fra gli archivi usenet non ci siano molti thread al riguardo. Solo qualche piccolo annuncio su gnome-announce, ma nemmeno una risposta, nè un dibattito, un flamewar NADA…
Mi godo comunque la sintassi piacevole e familiare di questo nuovo, nativo e giovane linguaggio!
P.S.
Come tutte le cose create in questo mondo imperfetto e basate su una qualche forma di precompilazione, anche qui c’è qualche controindicazione.
Es.
C# bug del runtime mono -> tutti i programmi hanno dei paurosi memory leak -> sistemo la runtime -> distribuisco la nuova versione -> tutte le applicazioni ora funzionano a dovere.
Vala -> genera codice C senza un free nei distruttori dei vari oggetti di una libreria (es. GTK+) -> tutti i programmi hanno dei memory leak -> correggo il compilatore / preprocessore -> devo ricompilare e ridistribuire *tutti* i programmi precedentemente compilati con la versione buggata!!!
AGGIORNAMENTO. Non ho saputo resistere: fatto un pacchetto per Debian e scritto il mio primo programma in Vala… il codice GObject-C che genera è bello e molto umano!!!
Under attack (che palle)!
Il caro vecchio amico logwatch oggi mi ha riportato:
sshd:
Authentication Failures:
root (124.128.254.76): 235 Time(s)
unknown (124.128.254.76): 114 Time(s)
postgres (124.128.254.76): 3 Time(s)
daemon (124.128.254.76): 2 Time(s)
unknown (218.247.185.170): 1 Time(s)
Invalid Users:
Unknown Account: 115 Time(s)
Ma chi saranno mai? Ah degli amici dalla Cina! (e proprio da Pechino!)
Da MaxMind GeoIP City/ISP/Organization Edition Results
Hostname | Country Code | Country Name | Region | Region Name | City | Postal Code |
---|---|---|---|---|---|---|
124.128.254.76 | CN | China | 22 | Beijing | Beijing | |
218.247.185.170 | CN | China | 22 | Beijing | Beijing | |
Latitude | Longitude | ISP | Organization |
---|---|---|---|
39.9289 | 116.3883 | CNC Group Shandong province network | CNC Group Shandong province network |
39.9289 | 116.3883 | China Internet Network Information Center | BEIJING ZHEN-FEN-WEI-YE CO.LTD |
Ciao ciao!
ovpnClient
Novità per ovpnClient, la mia piccola Client GUI per Open Vpn. Ho aggiunto un’animazione nell’icona visualizzata nel pannello di GNOME per indicare una qualche attività su una o più VPN (es. durante la connessione).
Inoltre ho attivato un repository SVN all’indirizzo:
http://persbaglio.it/svn/ovpnclient/
da web è più comodo visitarlo con questo stupendo tool:
Festa della Madonna
Come l’8 dicembre scorso grazie ad un subdolo sbalzo di tensione mi sono ritrovato con il computer bloccato al boot. La mente è subito volata alle decine di migliaia di foto contenute nel hard disk, i sorgenti, quasi 10 anni di posta elettronica, musica… A differenza dell’8 dicembre ho imparato la lezione:
- Stare calmi
- Rimanere clami
- Calmarsi
- Distrarsi (io sono andato a pranzo)
- Parlare del piu’ e del meno per qualche ora
- Ritornare al computer
- Calmarsi
- Capire cosa è successo
A differenza dell’8 dicembre scorso dove io ero stato artefice del mio infimo destino (avevo spianato la tabella delle partizioni per installare win98 ed aggiornare il firmware del masterizzatore DVD), questa volta sono stato vittima della iella!
Lo sbalzo di tensione non poteva avvenire in un momento peggiore: stavo aggiornando il S.O. e ricompilando Anjuta, quindi il disco frullava a palla. Inoltre al riavvio Grub si fermava nel caricamento dello stage2 del bootloader: la tabella delle partizioni non era saltata….
Boot dal DVD di installazione di Sarge, ALT-F3… la console… mount in readonly di ide blah blah blah part1…, l’hard disk frulla, frulla frulla…. ok… chroot /mnt… fsck.reiserfs… mi aspettavo un bel frullato di file ed errori, invece tutto ok….
fsck.reiserfs part3… quella con i dati… la tensione sale… mi metto a suonare durante l’attesa… tutto ok!
Ma allora perche’ grub non parte? grub-install –recheck /dev/ blah blah blah /part1…. failed stage2 loader corrupted…. grub-install /dev/ blah blah blah… embedded 18 sectors…. un recheck… ora tutto ok!
reboot… linux riparte come se non fosse successo nulla…
perSbaglio invece se l’è cavata con un check a mano di hdb, mentre il raid software su cui è installato il s.o. ed il sito web non ha perso un colpo… l’unica cosa è che sono dovuto andare in soffitta per eseguire il check dato che debian si era fermata alla classica richiesta del press ctrl-d o dammi la password di root. E se il sever fosse stato a centinaia di chilometri da me?
Tutto è bene quel che finisce bene…
ovpnClient 0.0.2
Acciaccando tasti qua e là, mi è capitato di aggiornare la pagina di ovpnClient, e persino di riscrivere l’applet. “Sarà piu’ forte, piu’ veloce” e soprattutto è tempo di un nuovo rilascio.
Siori e siore, ecco a voi: ovpnClient versione 0.0.2.
ovpnClient 0.0.2 (alpha)
Da qualche tempo ho ripreso lo sviluppo di ovpnClient e dopo qualche colpo di mola una limatella qua e là, un aggiusto qui, un taglietto lì, posso considerare questa versione features complete…
Ovviamente da bravo masochista ragazzo quale sono, ho riscritto tutto il programma apportando non pochi cambiamenti rispetto al giocattolo precedente:
- La comunicazione con il server avviene tramite l’interfaccia OpenVPN Management Interface (niente piu’ spawn di processi, pipe ed inutili richieste di password)
- E’ possibile gestire piu’ connessioni OpenVPN
- Il cambiamento di stato di una connessione è visualizzato tramite libnotify
- E’ disponibile una rudimentale finestra di log, con la possibilità di inviare stringhe di comando al server OpenVPN
- Il tutto scritto secondo le regole ferree della programmazione ai g-oggetti… (non è vero in questo campo sono un neofita!)
Prima di rilasciare il ovpnClient al pubblico ludibrio devo sistemare un po’ i sorgenti (per ora veramente impresentabili) ed assicurarmi che il make check non dia errore. Ed ora ecco com’è la nuova creatura.
Connessione avvenuta
Modifica delle proprietà di connessione
Visualizzazione log e finestra dei comandi
the end of the disk
Parafrasando una musichetta de The Workhouse (si’ è a Steelworks, Sea and Sky che mi sono “ispirato” suonando la nostra direzione) devo ammettere che non so piu’ cosa eliminare dal disco:
Ritorno al futuro!
Questa sera cercando qualche dritta su come scrivere l’ennesimo lexical analyzer mi sono imbattuto in questo post che parlando di compilatori fa un accenno sull’architettura VAX.
From: “John Fredrickson” Newsgroups: comp.compilers Date: 7 Jun 2006 23:18:28 -0400 Organization: Compilers Central References: 06-06-009 Keywords: history, architecture Posted-Date: 07 Jun 2006 23:18:28 EDT Peter,
I don’t know much about the internals of the VAX compilers other than they were all optimizing compilers that subscribed to the same calling standard, enforced by the VMS operating system and the one linker. That’s why you could develop multiple modules of a software system in multiple languages (VAX-BASIC, VAX-FOTRAN, VAX-COBOL, etc) and link the object modules together into a single EXE file.
The VAX hardware and VMS Operating System were designed together and were a beautiful system. Digital Equipment Corporation (DEC) did a good job transitioning to Alpha and OpenVMS.
La parte interessante
they were all optimizing compilers that subscribed to the same calling standard
seguita da
That’s why you could develop multiple modules of a software system in multiple languages (VAX-BASIC, VAX-FOTRAN, VAX-COBOL, etc)
Oggi suona familiare se si pensa a DotNet!
…e perchè Windows non ce l’ha?
L’ultima cosa in ordine cronologico della quale sento una grande mancanza in windows è il metodo ssh:/// disponibile in Gnome!
Una vera manna per chi, come me ha una serie di macchine da amministrare:
- posso sfogliare le cartelle con nautilus
- aprire i file di configurazione con gedit
Inizialmente sembra simile ad una condivisione di windows o NFS, in realtà la situazione è ben diversa:
- un solo servizio da installare openssh che del resto è d’obbligo in un server soprattutto se remoto!
- firewall friendly!
- nessuna condivisione pre-definita per cartella, il filesystem è a mia completa disposizione come se fossi “loggato” localmente
- i dati viaggiano in rete criptati, è quindi sicuro aprire anche files “sensibili”
- possibilità di eseguire l’autenticazione tramite certificati di protezione (e non nomi utenti e password da ricordare)

Comodo, molto comodo!
GoVPN!
Finalmente dopo qualche tentativo, make distcheck è stato eseguito con successo:
....
make[2]: Leaving directory `/home/andrea/Documenti/src/anjuta/govpn/govpn-0.1/_build'
rm -f config.status config.cache config.log configure.lineno configure.status.lineno
rm -f Makefile
make[1]: Leaving directory `/home/andrea/Documenti/src/anjuta/govpn/govpn-0.1/_build'
{ test ! -d govpn-0.1 || { find govpn-0.1 -type d ! -perm -200 -exec chmod u+w {} ';' && rm -fr govpn-0.1; }; }
===========================================
govpn-0.1 archives ready for distribution:
govpn-0.1.tar.gz
===========================================
Sono quindi molto orgoglioso di annunciare l'uscita di GoVPN! E mi raccomando andateci piano è la prima applet che scrivo ed è la prima volta che mi cimento con auto... beep. Oops sono stato censurato....