Categoria: linux

  • Il font Monaco su Linux

    Passerò per copione, ma se una cosa mi piace cerco di poterla replicare per me.

    La cosa che mi piace è Textmate, l’editor più cool per OSX, e l’obiettivo della replica è SciTE, il mio editor preferito.

    Il tema l’ho adattato, e come font usavo Droid.

    Usavo, perchè Google ha risposto alla mia domanda.

    Ecco come appare SciTE:

    scite_monaco

    Cool :)

    Alla prox

    [tags]ubuntu, linux, monaco, font, scite[/tags]

  • Nuovo screenshot, 07/2009

    Ogni tanto mi piace dare una rinfrescata all’aspetto del mio DE, Enlightenment. Uso il tema di default, BlackAndWhite, e di conseguenza le immagini che uso come background sono generalmente bianche e nere, con sfumature di grigio e pochi altri colori.

    Ecco come si presenta il mio desktop, in seguito all’ultima caccia su DeviantArt.

    Luglio 2009

    [The Opiated Wallpaper by emciem]

    Questo è invece un breve riassunto delle puntate precedenti:

    Aprile 2009

    [Fonte non trovata :(]

    Marzo 2009

    [Dark Tile by Shippd]

    Novembre 2008

    [Wallpaper by Teutonic]

    Alla prox

    [tags]e17, screenshot, enlightenment, deviantart[/tags]

  • MTU, Ubuntu e rete Alice

    Questo post riporta le varie peripezie e la soluzione finale al problema che mi ha attanagliato per una decina di giorni, e cioè la parziale impossibilità di navigare utilizzando la rete wireless di casa.

    Dico parziale perchè in effetti ero in grado di connettermi e autenticarmi sull’access point, e anche di fare una navigazione consultativa (leggi ricerche su Google), ma curiosamente non riuscivo ad accedere a siti che richiedevano una autenticazione, oppure che facevano uso di AJAX o tecnologie similari.
    Spiegato in stampatello, ero fuori da GMail, GReader, Facebook e Clipperz, giusto per fare qualche nome…

    Un malfunzionamento del genere non mi era mai capitato, generalmente una configurazione di rete così semplice (portatile -> access point -> doppino telefonico) o va o non va.

    Per complicare le cose, un giorno prima del malfunzionamento ho aggiornato il SO del portatile da 8.10 (Intrepid Ibex) a 9.04 (Jaunty Jackalope), aumentando così le possibili cause.

    Non mi dilungo ad elencare tutte le prove che ho fatto, anche perchè sono state così tante che non le ricordo, ma la svolta è stata il leggere questo post (che ringrazio per la citazione!). Venivano elencate delle modifiche da apportare via sysctl allo stack di rete, modifiche che però non hanno portato al risultato sperato.

    Ma sentivo di essere sulla strada giusta, e in un altro post del medesimo blog ho trovato la soluzione al problema, e cioè la necesstià di una impostanzione manuale del MTU a 1492.

    Cosa diavolo è l’MTU, oltre ad essere un numerino che non faceva funzionare a dovere la mia connessione alla rete?

    Chiedendo lumi a Wikipedia, si scopre che l’acronimo significa Maximum Transfer Unit, ovvero Unità Massima di Trasferimento, e sta ad indicare la dimensione massima che può avere un pacchetto di rete, relativamente all’interfaccia di rete.

    Il problema è che non tutti gli host attraversati dalla sorgente del pacchetto alla destinazione hanno il medesimo MTU, e quindi il pacchetto originario necessità una spezzettatura, detta in gergo frammentazione, indispensabile per la comunicazione, ma onerosa per gli host che devono frammentare e riassemblare il pacchetto.

    Per farla breve (se siete curiosi la pagina di Wikipedia mi sembra piuttosto chiara nei dettagli), penso che il problema sia legato alla decisione sul numero minimo di MTU per evitare la frammentazione: senza questo, appunto, il mio portatile provava e riprovava a inviare pacchetti con un MTU errata per il percorso da compiere.

    Appena ho forzato il valore a 1492, tutto si è messo a funzionare come per magia :)

    La prova del nove l’ho fatta con l’EEEPC 701, carrozzato Ubuntu anche lui, e, cvd, il cambio del valore a 1492 ha miracolato anche lui.

    Alla prox

    [tags]mtu, alice adsl, linux, ubuntu[/tags]

  • Debug in una macchina virtuale

    Questo post contiene un estratto dell’esperienza che mi sono fatto nell’eseguire il debugging di E17 installato su OpenSolaris, in esecuzione in una VM VirtualBox.

    Non entrerò nel merito dell’installazione, che alla fine mi è riuscita ma è stata un pò più dura del solito, richiedendo qualche intervento manuale e di traverso, per questo arriverà un post a breve :)

    (altro…)

  • OpenSolaris, prime impressioni

    Come dicevo nel post precedente, ho comiciato ad attrezzare il mio laptop con una serie di macchine virtuali UNIX nelle quali effettuare dei test con Enlightenment, utilizzando VirtualBox come strumento di virtualizzazione.

    Il primo OS scelto è stato OpenSolaris, sia per la presenza di qualche bug nel ticket system, sia per la disponibilità immediata di un CD con la ISO.
    L’installazione è avvenuta tramite il LiveCD, quindi ho potuto installare il sistema operativo previa verifica di funzionamento della VM, ed è filata via liscia liscia, direi con meno interventi (Next->Next->Next) di una installazione di Windows XP; anche il sistema installato nel disco virtuale è partito senza problemi di sorta.

    Le primissime impressioni, primissime perchè devo ammettere di aver tenuto la VM up per poco tempo, e in ogni caso lo scopo non é testare il sistema operativo, ma metterci dentro E17.
    Il desktop, basato su Gnome 2.24, è veramente molto curato, e, se non fosse per la scritta “opensolaris” sul wallpaper, si potrebbe essere portati a pensare di essere su un Linux qualunque.

    Una immagine vale più di mille parole:
    OpenSolaris

    L’installazione fornisce un comodo package manager per aggiungere/togliere pacchetti, che non ha niente da invidiare al Synaptic di Ubuntu; il setup fornisce, oltre alle applicazioni di utilità di Gnome, un set di programmi base (ricordo che l’installazione è stata fatta tramite un LiveCD, e quindi lo spazio disponibile per il software non era moltissimo): un browser, un client email, un client IM multiprotocollo, lettori multimediali per audio e video, lettore PDF, etc. Manca una suite per l’ufficio, ma d’altra parte se si usa un LiveCD non si sta cercando la persistenza dei dati, e in ogni caso si possono usare servizi online tipo Google Documents. Se invece il sistema è installato, basta lanciare il package manager e scaricare ed installare tutti i pacchetti necessari.

    Ora che il sistema è attivo, mi scaricherò l’albero SVN e comincerò il processo di compilazione dei pacchetti.

    Alla prox

    [tags]opensolaris,virtualbox,enlightenment[/tags]

  • Dropbox, the Linux side

    Come promesso qualche giorno addietro, rieccomi a parlare di DropBox, un servizio di storage online, e in questo caso parlo del client Linux, nel mio caso Ubuntu 8.10, e di come integrarlo in E17.
    L’installazione per Ubuntu funziona OutOfTheBox, ma il servizio dropboxd non parte in automatico; viene infatti eseguito all’apertura di Nautilus, il file manager di Gnome, tramite un plugin che viene installato dall’installer (scusate il gioco di parole). Ma niente paura, non c’è bisogno di usare Nautilus in E per usare DropBox!

    La soluzione per la quale ho optato è stata quella di creare un file .desktop per /home/<utente>/.dropbox-dist/dropboxd& (la & finale consente l’esecuzione del processo in background in una subshell) tramite Menù->Setting Panel->Apps->Nuova applicazione, e l’applicazione appena creata l’ho aggiunta alle Applicazioni per l’avvio.

    Una volta avviato, il processo, che in automatico creerà la directory ~/Dropbox, sarà visibile tramite una icona nella systray: il left-click, purtroppo, avvia Nautilus, mentre il right-click mostra il menù contestuale.
    Per copiare un file nello storage remoto è sufficiente copiarlo all’interno della cartella Dropbox; per copiarlo e renderlo pubblico bisogna invece copiarlo all’interno di ~/Dropbox/Public. In questo ultimo caso è possibile ottenere un URL univoco per da poter condividere per accedere al file pubblicamente, direttamente dal menù contestuale (in Nautilus) oppure tramite l’interfaccia web (E17).

    Nel caso in cui il client sia installato su più computer condividendo il medesimo account si ottiene la sincronizzazione tra le varie macchine, funzionalità piuttosto interessante.

    Per le altre funzioni, rimando al tour sul sito ufficiale; in chiusura, il link per iscriversi al servizio utilizzando il mio referrer.

    Alla prox

    [tags]dropbox,file sharing[/tags]

  • Dropbox

    Ecco una breve presentazione di quello che penso potrà essere il sistema di archiviazione remota che andrò ad usare.

    Il servizio si chiama Dropbox e, tra molte altre, ha queste caratteristiche:
    * fornisce client per Windows, Linux e Mac
    * mette a disposizione uno spazio di 2GB per l’account free, spazio espandibile a 50(!)GB con un pagamento di 9.99$/mese o 99$/anno; esiste amche un sistema di referral, che permette una aggiunta di 250MB utilizzando un invito da un utente già registrato (cliccare qui per usare il mio invito)
    * permette di definire dei files come pubblici, e associandoci un URL sono condivisibili tramite email/IM/quellochevuoi

    Sono caratteristiche piuttosto comuni per questi servizi, ma Dropbox ha un certo non-so-che che mi piace…
    La parte Windows funziona OutOfTheBox, e mi sembra leggera e poco invasiva, a differenza di altri client che ho provato; per il client Linux, mi riservo il we/next week per provarlo.

    Se siete interessati al servizio, qualche link utile: homepage, FAQ, wiki, twitter, mio invito.

    Alla prox, dopo il test Linux

    [tags]dropbox,file sharing[/tags]

  • Alla ricerca della velocità

    Ovvero, perchè compilare per i386 se in realtà ho Pentium Dual Core, nel dettaglio una CPU Intel T3200?
    Non ho mai avuto sclerosi particolari sulla velocità del sistema, tipo overclocking e cose simili, al massimo dedico un pò di tempo al tuning delle applicazioni che uso più spesso, ma mi fermo lì.
    La distribuzione Linux che uso sul sistema in questione, che è il mio portatile, è Ubuntu 8.10 (che tra poco verrà aggiornata alla 9.04, dove la prima cifra corrisponde all’anno, e le seconde due al mese, Ubuntu prevede un rilascio semestrale, quindi aprile e ottobre), e di conseguenza le applicazioni e le librerie installate sono precompilate, e per poter supportare il maggior numero di processori in una release sola non si sfruttano appieno le potenzialità disponibili nelle CPU di ultima generazione, da quì l’indicazione i386.
    Ma questo è il sistema base e le applicazioni a corredo, mentre per quanto riguarda il DE (Desktop Environment) il discorso cambia, visto che uso E17 compilato dai sorgenti (ormai lo sanno anche i sassi…).
    Mi sono informato, chiedendo sia a Google che ad altri amici in chat, e sono giunto alla conclusione che le opzioni da passare al compilatore potevano essere queste:

    -g -O2 -march=nocona -pipe -fomit-frame-pointer

    Qualche spiegazione.

    -g : genera le informazioni di debugging, non ha quindi relazione con l’ottimizzazione, ma per me non può mancare;
    -02 : indica al compilatore di eseguire le ottimizzazioni al livello 2;
    -march=nocona : indica al compilatore di generare del codice ottimizzato per questa famiglia di processori, e in pratica abilita il supporto per i 64bit, MMX, SSE, SSE2 e SSE3;
    -pipe : utilizza le pipe al posto dei file temporanei durante le varie fasi di compilazione;
    -fomit-frame-pointer : rende disponibile un ulteriore registro per varie funzioni;

    Prima di applicare le modifiche, ho lanciato per dieci volte una applicazione (expedite) che fornisce in output una informazione quantitativa sulle prestazioni, salvando l’output di ogni esecuzione in file di log. Una volta appliicate le modifiche, e ricompilato tutto l’albero dei sorgenti, ho eseguito di nuovo lo stesso procedimento, expedite per dieci volte con il salvataggio dei log.
    Ho messo i numeri ottenuti un foglio elettronico (inizialmente OpenOffice, poi ho optato per Google Documents per avere i dati sempre disponibili) per elaborarli, e alla fine ho avuto come risultato il grafico qui sotto (click sopra per una verisone ingrandita).

     

     

    Come si può vedere tutti i test hanno goduto di un sensibile miglioramento, e alla fine la colonna finale (EVAS SPEED) ha mostrato un incremento del 38%, mica poco!!
    L’unica cosa della quale non sono certo è l’opzione -fomit-frame-pointer, devo verificare che non influisca negativamente sul debugging; ignorando però questa cosa, ad esempio per una utenza “normale”, non ci sono problemi.

    Per i più curiosi, ecco il link allo spreadsheet contenente tutti i risultati.

    Alla prox, e happy tuning :)

    [tags]e17,enlightenment,optimization[/tags]

  • Cubi rotanti, finestre gommose, tutto qui?

    Purtroppo sembra di si, una moltitudine di effetti indubbiamente efficaci e cool dal punto di vista visivo, ma che secondo la mia opinione non hanno apportato alcuna novità dal punto di vista dell’usabilità del sistema.
    E questo lo trovo un pò deludente.
    Ammetto che sia piuttosto complesso allontanarsi da ciò che sono gli standard di implementazione di un sistema di gestione delle finestre, altrimenti detto Window Manager, ma se si vuole creare qualcosa di realmente innovativo bisogna cominciare a rompere con il passato, e i tempi mi sembrano maturi per una cosa del genere.
    Il motivo scatenante che mi ha portato a questo post è stato il rendermi conto della continua rincorsa al pulsante di chiusura delle finestre, che dalla notte dei tempi si trova nella barra del titolo, con vicino i pulsanti per ingrandire o minimizzare la finestra stessa.
    Ora, non sono ne pigro ne sprovveduto, e so benissimo che esistono gli shortcut da tastiera, però questa soluzione può starmi bene durante una sessione di editing, durante la quale ho già le mani sulla tastiera; ma durante il resto del tempo che passo davanti al monitor?

    (altro…)