Author Archives: Sejerpz

Snul 0.0.2 aka “il fluido che uccide” released!

Insomma, mi è toccato… una nuova fiammante ed entusiasmante versione di snul.

I cambiamenti sono pochi, ma derivati da un minimo utilizzo sul campo con Tuntun. Da questa sera ho finalmente un sostituto funzionante e minimamente testato delle 4 chiamate di gnet che utilizzavo!

Dal canto suo anche Tuntun inizia a prender forma, manca ancora tutta la parte di interfaccia, ma ad oggi riesce a:

  1. installarsi come applet nel panel senza crashare mezzo mondo (fino a poche ore fa bloccava tutto il pannello di gnome)
  2. leggere il file config con le connessioni definite (stesso formato di ovpnClient)
  3. presentare un menu’ popup con i collegamenti
  4. determinare lo stato attuale della connessione
  5. aprirla
  6. e chiuderla

NAS

L’intenzione è quella di cambiare prima o poi il mio amato desktop con un portatile, quindi ho iniziato cercando un NAS dove poter memorizzare in tutta sicurezza (RAID 0) i miei dati.

La ricerca in internet è stata alquanto infruttuosa: prezzi esagerati, bassa capacità (max. 2 dischi), poca versatilità e in alcuni casi, chipset raid sconosciuti anche agli stessi progettisti.

Non mi rimaneva quindi che spendere molto per ottenere qualche cosa di marca, magari basato su linux (questo non perché sono un fissato, ma solo perché ho 2 raid software fatti con linux che non perdono un colpo da 3 o 4 anni ormai), oppure dedicarmi al fai da te.

Ho deciso per quest’ultima opzione, prefiggendomi queste caratteristiche di base:

  • linux compatibile
  • silenziosità
  • si deve accendere e spegnere con un bottone (niente procedure di shutdown o altro)

Quindi mi sono messo alla ricerca di una scheda madre e di un case che contenessero il numero minimo di ventole, trovando la soluzione nelle schede mini-itx della via e in un case preso proprio al risparmio e spendendo per il tutto 300€ netti.

Un paio d’ore di svita, avvita, monta, smonta e rimonta….

Inizio lavori
Inizio…
accensione! (Pezza non sembra proprio convinta)
Fine
Inizia l’installazione che finirà pochi minuti dopo senza il minimo problema
Ho centrato l’obiettivo? Solo in parte

Linux compatibile? Niente di più compatibile della scheda VIA scelta una EPIA ME6000G.

Silenziosità? Non ci siamo ancora.

  1. Ventole del case troppo rumorose (le ho staccate sperando che non servano, staremo a vedere)
  2. I dischi IDE fanno un rumore del diavolo! E qui non c’è soluzione senza ulteriore spesa e non c’è NAS che regga.

Accensione e spegnimento con un bottone? Nessun problema, basta installare acpi-support.

In definitiva la sorpresa, non proprio gradita, è il rumore dei dischi che da una prima analisi è possibile ridurre solo insonorizzando il case, montandoli su staffe anti vibrazione e cose del genere, oppure cambiandoli con modelli nuovi magari più silenziosi.

Tutto sommato sono contento di averci provato e soprattutto di aver scoperto queste schedine della VIA, vero gioiellino di tutto il sistema e dal prezzo veramente invitante (149€ per la piccola ME6000G).

Snul

Beh… alla fine non ne potevo più di gnet, scrivere i bindings per vala è veramente, come dire, poco gratificante ed e’ una libreria praticamente non mantenuta da anni.

Avendo bisogno di implementare un client Tcp dalle funzionalita’ veramente minime per Tuntun, mi son messo giù e l’ho fatto direttamente in vala interfacciandomi solo con le funzioni del s.o (BSD sockets).

Il risultato non è il massimo, ma alla fine raggiunge lo scopo e funziona, quindi ho pensato che potrebbe essere utile anche a qualche altra anima informatica se non altro come esempio di come (non!) programmare in vala.

Ecco quindi Snul una semplice libreria da utilizzare con il copia & incolla. (Sì lo so la paginetta è scritta in inglese, che dici? Ah è maccheronico? Beh sono apprezzati aiuti e commenti al riguardo…)

P.s.

Perchè snul? Oltre al simple network utility library penso che si addica ancor meglio questa definizione… rimanendo comunque in attesa di una persona dai modi migliori: GIO.

Nuovo server per perSbaglio

Un mostro di potenza:

persbaglio:~# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 8
model name : Pentium III (Coppermine)
stepping : 6
cpu MHz : 798.313
cache size : 256 KB
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 2
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 sep mtrr pge mca cmov pat pse36 mmx fxsr sse
bogomips : 1597.15

ma con qualche piccolo problema di affidabilità della memoria (non si può pretendere troppo da uno scambio con un router dlink no?)

Vala & dintorni

Inizio a riprendermi dai bagordi natalizi e non, quest’anno addirittura colpito da una brutta influenza. Se il buongiorno si vede dal mattino sto fresco!

Proprio oggi ho notato che fra i pacchetti aggiornati in debian sid c’è la nuova versione di mtpfs che fra le altre cose ha incorporato varie patch che avevo inviato all’autore nei mesi scorsi e soprattutto include diversi fix a vari memory leaks che avevo scovato con valgrind. Per me ora che è finito in sid mtpfs è un pacchetto in meno da ricompilare!

Ma il mio tempo libero in questi ultimi giorni è finito tutto in vala & gstreamer ed un vecchio (defunto) progetto che chi sa perchè ho deciso di convertire all’ultima sintassi del compilatore credendo fosse un lavoretto immediato. Sarà stata la febbre, ma il pomeriggio che avevo preventivato per la conversione si è trasformato prima in giornate poi in settimane e alla fine ci sono “rimasto sotto” aggiungendo features e correggendo (ancora oggi) bugs.

Quindi per curiosità mi son chiesto: ma quante linee di codice saranno ormai? Beh qualche riga di shell per far capire a sloccount che in realtà vala è un dialetto csharp e mi sono tolto il dubbio. Ecco il risultato.

Counted Source Lines of Code

Lines Project Language distribution
1350 liblumiere
cs=1350 (100%)
973 top_dir
cs=973 (100%)
695 libcanvas
cs=695 (100%)

Languages

Language Lines
cs 3018 (100.00%)

Totals

Total Physical Lines of Code (SLOC): 3,018
Estimated development effort: 0.60 (7.26) person-years (person-months)
Schedule estimate: 0.33 (3.93) years (months)
Total estimated cost to develop: $ 81,715

generated using SLOCCount by David A. Wheeler.

Debian & Compiz

Ho riabilitato compiz di nuovo e per gioco! Non ci sarebbe nulla di cui scrivere se non fosse per un dettaglio: è usabile sul mio pc.

:~$ cat /proc/cpuinfo
……..
model name : Intel(R) Pentium(R) 4 CPU 1.50GHz
stepping : 2
cpu MHz : 1495.272
cache size : 256 KB
……..

con una semplice ATI 9200SE che non può nemmeno andare a 8x perche’ il mio bus AGP e’ troppo vecchio!

Di solito tutte le volte che mi è capitato di abilitare compiz, dopo pochi giorni di utilizzo ritornavo al fido metacity poichè le animazioni di minimize/maximize ed il resize delle finestre erano leggermente lenti.

Al contrario, questa volta, ho voluto approfondire, ho lasciato XAA per la più nuova EXA e la differenza si è vista immediatamente. Il tutto grazie a questo commento e qualche prova sul campo.

Un’ultima cosa: AGPFastWrite nel mio caso blocca tutto, uomo avvisato…

Cercando l’indipendenza

Come al solito nello spirito di essere il piu’ possibile indipendente da Windows anche per le cose più strane, oggi ho dedicato la giornata (e parte della notte) al mio nuovo lettore mp3 (del quale non ho mai parlato).

L’obiettivo era quello di poter effettuare l’upgrade del firmware senza utilizzare windows. Quindi mi sono messo al lavoro e sorpattutto grazie ai forum / wiki di rockbox sull’argomento creative mi sono fatto un’idea di quello che serviva:

  1. Utility per estrazione firmware dall’exe windows che è possibile scaricare dal sito creative
  2. Programma per trasmettere il firmware allo Zen

Il risultato è che dopo qualche oretta di ricerche e porting di programmi windows etc etc riesco ad avere un software che svolge egregiamente il compito 1 ed un altro che riesce a fare l’upload di un file tramite libmtp. Obiettivo raggiunto!

A questo punto faccio una bella pausa per la cena, poi un po’ di tv ed infine decido di buttare un occhio al forum per vedere se ci sono novita’. Trovo che zook ha appena pubblicato una nuova e piu’ completa versione delle sue utilita’.

Macino, compilo, qualche piccolo riadattamento e mi metto a fare delle prove con zen_crypt, più per curiosità che per altro.

Con grande sorpresa, dopo qualche tentativo, scopro la chiave con la quale è criptato il programma che gira nello ZEN (il file TL) e scorrendolo con un editor esadecimale becco anche il codice HMAC per firmare i firmware ed uploadarli cosi’ al dispositivo.

Bene si puo’ dire che lo Zen 4GB è un passo più vicino a RockBox (2 chiavi su 3)! Ora manca solo quella del programma di rescue (FRESC) che però credo sia la più difficile da scovare.

Come andrà a finire lo si potrà leggere qui.

Ho perso la memoria

Breve ed interessante sessione di debug di mtpfs con valgrind e alleyoop!
Come si evince dal secondo tentativo, nessun leak rimasto a parte qualche segnalazione (spero spuria) di libfuse.

mtpfs valgrind

Nota: se provando a debuggare un filesystem fuse, valgrind vi risponde con un bel:

fuse: failed to exec fusermount: Permission denied

Provate a togliere l’attributo sticky sia da /usr/bin/fusermount che /bin/mount ed eseguite il tutto da root. Una volta terminato il debug ricordatevi di rimettere tutto a posto.

Emacs & Windows

Una caratteristica molto carina di emacs è la possibilità di abilitare la modalità server in una finestra dell’editor già avviata.

Questa funzionalità unita al programma emacsclient rende l’apertura di un qualsiasi file successivo al primo praticamente istantanea poichè emacs è già in memoria ed ha già eseguito il file di startup.

Tuttavia su windows e credo anche con linux, ma lì non si vede, successivamente alla prima esecuzione all’avvio di emacsclientw si ottiene un messaggio di errore simile a questo:

Emacs Client Windows Error

Esistono vari modi per aggirarlo, in alcuni forum parlano di bug, altri consigliano di installare EmacsW32, qualcun’altro ha capito che il problema è legato al file server di emacs.
In effetti il motivo del messaggio è la presenza del file server di una precedente sessione di emacs, in quanto le informazioni in esso contenute sono ovviamente errate poichè si riferiscono ad un’istanza dell’editor non più in esecuzione.

Capita la causa del problema, la soluzione è alquanto semplice: vedere se esiste un’istanza dell’editor in esecuzione ed in caso contrario eliminare il file ed eseguire emacs. Tuttavia esiste anche un modo ancora più immediato ricorrendo a qualche riga di elisp.

Infatti basta inserire un hook che alla chiusura dell’editor verifichi la presenza del file e lo elimini:

; elimina il file server all'uscita
(add-hook 'kill-emacs-hook (function (lambda () (
if (file-exists-p "~/.emacs.d/server/server") (delete-file "~/.emacs.d/server/server")))))

Dump

Ieri per curiosità ho risentito dump su altre casse e sono rimasto allibito di quanto sia differente. C’e’ proprio qualche cosa di paurosamente sbagliato nei miei cenci attaccati al computer!

Ok, di un paio di problemi nel mixaggio ero consapevole e cosciente:

  • Sta tutto al centro nessun lavoro con il pan, ma del resto è un’improvvisazione fatta con freewheeling e quindi non ho mixato le singole parti, ma solo il risultato finale: un fileozzo wav in stereo. Quindi ci si può far poco a meno che non mi metta a convertire la sessione di freewheeling per ardour (se si puo’ fare…)
  • Non so equalizzare la chitarrina e quindi i medi escono a palla ed il tutto risulta ovviamente medioso (e poi il wha wha peggiora di sicuro la situazione)
  • Qualche cappelletta qua e la’. Diciamocelo non è proprio suonata a tempo!

Ma il punto non è questo. E’ che quando l’ho mixata suonava in un modo (che più o meno ho fatto caso è approssimato dall’ascolto in cuffia sul mio lettore mp3, anche se in realtà il mix l’ho fatto con le cassette di “cartone” del computer), ma andandola a riprodurre in ufficio era veramente differente (e sgradevole):

  • Computer ufficio cuffia mono usata per telefonare: gli alti scompaiono del tutto blah!
  • Computer ufficio casse: la rivicita dei medi!
  • In auto: medi su medi, ma qui la cosa che dà più fastidio è che c’hai tutto al centro sparato in faccia!

Di qui i propositi per il futuro:

  • Cercare di recuperare dalla sessione iniziale in freewheeling i vari loop
  • Rimontare il tutto e magari accorciare un po’ dump perché è troppo lunga
  • Primo arpeggio leggermente e destra, secondo arpeggio più a sinistra, riverbero sul “tappeto” di bicordi che rimane al centro ma così verrà spostato un po’ più lontano e quelle quattro notine del canto sempre al centro
  • Trovare un cavolo di modo per rendere il tutto meno medioso
  • Comprarmi queste: tascam vl-x5