Category Archives: Open Source

Jack & Pulseaudio

Un ultimo colpetto di mola, stringiamo quest’ultma vite ecco una martellatina… finalmente Pulseaudio riesce a riprodurre la mia musica con Jack.

Devo dire che non è stato troppo difficile, ma i passaggi sono diversi:

  • ricompilato a manina ed installato un nuovo kernel per far funzionare il modulo realtime-lsm, poichè a dispetto di quanto scritto nel changelog (backporting di patches dalla versione 0.80 alla 0.79) non sono riuscito a far funzionare rlimit. (attenderò la versione 0.80 di libpam e poi ci faro’ un altro giro…)
  • configurato pulseaudio in modo da disabilitare qualsiasi modulo e caricare in maniera statica l’output per jack.
  • configurato gstreamer per eseguire l’output verso il demone pulseaudio (un click e via!)
  • configurata la mia sessione per far partire jack a priorita’ -70 e pulseaudio in high priority (-15)
  • messa a punto dei parametri di avvio per ottenere un sistema ancora usabile

Il risultato è totem, ardour, qjackctl, rhythmbox che funzionano tutti insieme (se fosse di nuovo disponibile l’output da gstreamer verso jack in realtime…).

Pulseaudio & Jack

Nonostante i suoi soli 1.5GHz, il mio povero spavento è riuscito a cavarsela molto bene (meglio di oggi pomeriggio), ma l’audio di totem a volte scatta un po’.

Povero perSbaglio

Continuano a cercare di entrare:

....
1804 tentativi: Jul 16
.300 tentativi: Jun 26
2130 tentativi: Jun 27
.148 tentativi: Aug 6
1903 tentativi: Aug 12
.182 tentativi: Sep 4
.179 tentativi: Sep 5
.159 tentativi: Sep 6
.981 tentativi: Sep 10
.241 tentativi: Sep 11
.143 tentativi: Sep 14
.169 tentativi: Sep 16
.179 tentativi: Sep 18
.355 tentativi: Sep 26
.106 tentativi: Sep 30
.820 tentativi: Oct 2

Se continua cosi’ dovro’ spostare la porta di sshd. E pensare che l’ultima voce, quella del 2 ottobre per intenderci, sembra di un ragazzino che c’ha provato addirittura da casa con un collegamento ppp (lo deduco dal log, non ne sono ovviamente certo)…
Comunque prima di farlo (non ho mai amato la sicurezza tramite segretezza -> l’ignoranza) voglio tentare con iptables:

iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --set
iptables -I INPUT -p tcp --dport 22 -i eth0 -m state --state NEW -m recent --update --seconds XYZ --hitcount 2 -j DROP

Basta fregare banda utile a perSbaglio! Grazie!

Vala!

Bene il bootstrap è fatto: compilato il nuovo Vala (da svn) che è scritto in vala stesso ed è selfhosting da qualche mese con il valac 0.0.3 scritto in c, poi ho ricompilato di nuovo vala con l’ultimo valac scritto in vala! Ho fatto un piccolo test:

Vala

vala & gedit

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!!!

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:

  1. Stare calmi
  2. Rimanere clami
  3. Calmarsi
  4. Distrarsi (io sono andato a pranzo)
  5. Parlare del piu’ e del meno per qualche ora
  6. Ritornare al computer
  7. Calmarsi
  8. 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 (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
Connessione!

Modifica delle proprietà di connessione
Proprietà

Visualizzazione log e finestra dei comandi
Log

…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)
Nautilus SSH

Comodo, molto comodo!