Tag: enlightenment

  • Nuovo modulo Wallpaper

    Di certo non si può dire che Raster, il team leader di Enlightenment, se ne stia con le mani in mano.
    31 ore fa ha eseguito il primo commit per il nuovo modulo di selezione dello sfondo che, se compilato e caricato, farà apparire la voce “Wallpaper_2” nel menù di configurazione. Ribadisco, 31 ora di vita, ammirate l’eleganza del tutto, questa è la E’s way per fare le cose.

    Chiedo scusa per la qualità del video (al momento della pubblicazione di questo post, YouTube fa notare che il video è in fase di elaborazione), è una breve registrazione di una area del mio desktop fatta tramite recordMyDesktop e poi convertita da OGG a AVI con mencoder.

    Alla prox

    [tags]e17,enlightenment,wallpaper module[/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]

  • Cosa è successo nel frattempo?

    Non mi piacciono per niente i post riassuntivi, ma data la perenne scarsità di tempo a disposizione mi tocca fare buon viso a cattivo gioco…

    Enlightenment
    Sto contribuendo al progetto il vari modi, tralasciando per un pò la programmazione vera e propria, e dedicandomi alla verifica dei ticket attivi in Trac, che è andato a sostituire il vecchio Bugzilla: per fare ciò ho richiesto e ottenuto privilegi di accesso per manipolare i ticket, e vi assicuro che un lavoro tanto interessante e stimolante quanto la programmazione pura e dura!
    Sempre a proposito di Trac, ecco apparire il tanto agognato ReleasePlan, indispensabile per poter concentrare i propri sforzi su qualcosa di realmente utile al rilascio ufficiale di E.
    Per chi non ha molta dimestichezza con Trac, ecco qualche link utile: ReleasePlan, Timeline, Roadmap, ActiveTickets e ovviamente i sorgenti.

    Blog
    Oltre alla cronica mancanza di tempo, mi sono attardato nell’inserire nuovi contenuti nel blog anche per attendere il termine della migrazione dei server che Netsons aveva annunciato e pianificato, e che, almeno per quello che mi riguarda, è andato a buon fine senza intoppi, ora ho cPanel come pannello di controllo, e una banda FTP degna di questo nome. Complimenti, ragazzi!

    Social network
    Ok, devo ammetterlo, sono anche io su Facebook. Ho rispolverato l’account che ho aperto a metà giugno da quando mi sono reso conto della presenza online di vecchi amici e, nonostante il boom degli ultimi mesi, mi sembra veramente un buono strumento sia per mantenere amicizie che per svariati motivi non sarebbe stato possibile coltivare in maniera tradizionale che per riallacciare amicizie perse da tempo. Ovviamente non e’ tutto oro quello che luccica, la maggior parte di gruppi e cause mi sembrano stupidate; di contro mi piace molto l’integrazione con Twitter.

    Che dire, di cose ne sono successe, è il tempo che latita…

    Prossime cose nella TODO list? Aggiornare WP alla 2.6.3, e verificare se con qualche scappatoia è possibile installare e mantenere WP tramite SVN, anche se l’host non lo fornisce.

    Alla prox

    [tags]e17, enlightenment, facebook[/tags]

  • Nuovo tema di default per E17

    Il fantastico lavoro svolto da Toma- e raster, e’ praticamente giunto al termine, e infatti il glorioso tema di default “Bling” e’ stato sostituito con il nuovo “BlackAndWhite”, assolutamente da vedere e provare.

    Ecco lo screenshot, linkato dal sito di raster:

    BlackAndWhite
    BlackAndWhite

    Ed ecco il link alla news originale.

    Alla prox

    [tags] e17, theme, enlightenment [/tags]

  • Finalmente le chiavi di casa

    E’ con immenso piacere che posso finalmente annunciare di aver ottenuto il fatidico commit-bit!
    Ecco l’annuncio nella mailing list enlightenment-svn:

    Log:
    add mcalamelli :)

    Author: raster
    Date: 2008-10-05 15:30:09 -0700 (Sun, 05 Oct 2008)
    New Revision: 36467

    Added:
    trunk/devs/mcalamelli/ trunk/devs/mcalamelli/id_dsa.pub trunk/devs/mcalamelli/info.txt

    Added: trunk/devs/mcalamelli/id_dsa.pub

    Added: trunk/devs/mcalamelli/info.txt

    Potra’ sembrare una piccola cosa, ma e’ il coronamento di tanti sforzi compiuti per rendere migliore il mio DE preferito, e dopo tante patch finalmente hanno deciso di prendermi a bordo!
    Sono uno sviluppatore felice :)

    Alla prox

  • Lo stato di Enlightenment

    Oggi voglio dedicare un po’ del mio tempo per aggiornare il mondo circa lo stato del progetto al quale sto attivamente contribuendo, e cioe’ Enlightenment.
    Nonostante l’annosa questione della major release non ancora disponibile, Enlightenment (d’ora in poi E) e’ assolutamente usabile, con la sua innata velocita’ e piacevolezza alla vista, e soprattutto e’ in costante crescita, percio’ l’utilizzo di E dai sorgenti e’ il modo migliore per apprezzarne le features: il build non deve assolutamente spaventare, una volta soddisfatte le dipendenze il processo scivola via senza problemi, soprattutto grazie alla presenza di script (easy_e17 [1] e ReasyE17 [2]) che fanno il lavoro sporco per noi.
    Nei mesi appena trascorsi c’e’ stato un grosso fermento nel progetto, non solo a livello di codice, ma anche nella community che gravita attorno ad E.
    Ecco cosa e’ successo.

    (altro…)

  • Screenshot di E17

    In attesa di far uscire dal draft il post sulle ultime novita’ relative ad E17 ecco un paio di screenshot del mio desktop, aggiornato al 30/08/2008.
    Niente cubi rotanti o altri fronzoli inutili, semplicemente lo stato dell’arte circa eleganza e leggerezza: questo e’ Enlightenment.
    Per i piu’ curiosi:
    * E17 compilato da SVN
    * Tema B&W (non ancora completo, ma Toma- e Raster ci stanno lavorando parecchio)
    * Modulo Bling (composite manager) attivato
    * SciTE nella mia versione “dark”, piuttosto spudoratamente copiata da Textmate
    * Sfondo: versione negativa di uno dei background originali di Matrix

    Il mio dekstop
    Il mio dekstop

    Sessione di codifica con SciTE
    Sessione di codifica con SciTE

    Alla prox

    [tags] enlightenment, e17 [/tags]

  • E17 e configurazione di sistema, si…può…fare!!

    Ecco che, come per magia, dopo un solito aggiornamento di E, nel pannello di configurazione appare una nuova voce, “Sistema”.
    Cavolo, prima non c’era, che cosa conterrà? Un click, ed ecco che vedo realizzato uno dei miei sogni: poter accedere alle applicazioni per configurare il sistema senza dover passare a Gnome. Wow!
    Già, ma che è successo?
    Ecco un cut&paste dal messaggio di commit di raster:

    Enlightenment CVS committal

    Author : raster
    Project : e17
    Module : apps/e

    Dir : e17/apps/e/src/bin

    Modified Files:
    e_configure.c e_configure.h e_main.c

    Log Message:

    e can now find any system config .desktops.. and put them automatically in
    its config panel. the requirments: must be BOTH in category “System” and
    “Settings”. if so – it will go in the config panel.

    Chiarissimo e fantastico!
    Ora, devo ammettere che la magia si sarebbe realizzata al 100% se fossero comparse anche la voce relativa alla configurazione del Bluetooth… ma visto che la pappa pronta non fa proprio “smanettone”, ecco che ci ho messo qualcosa di mio.
    Come scritto chiaramente da raster, le applicazioni mostrate nell’elenco devono appartenere sia alla categoria “System” che alla categoria “Settings”: ho quindi cercato nella cartella /usr/share/applications il file .desktop per la configurazione del Bluetooth, e, aprendolo con un editor di testo ho visto due cose che non andavano: nelle categorie era indicato solo “Settings”, e inoltre c’era indicata la direttiva “OnlyShowIn=GNOME;”. Andava quindi ritoccato.
    Visto che per principio non mi piace mettere mano ai file di configurazione system-wide, i quali e’ possibile che vengano sovrascritti in seguito all’aggiornamento di un pacchetto, ho copiato il file .desktop nella directory .local/share/applications , presente nel percorso di ricerca per i file .desktop (qui e qui per i dettagli) e l’ho modififcato aggiungendo “System” nelle categorie, e togliendo la direttiva OnlyShowIn per sicurezza.
    Ora posso configuare il Bluetooth senza passare da Gnome. Fantastico.

    Come di rito, uno screenshot esplicativo.

    E17 e menù di sistema

    Alla prox

    [tags] e17, system menu[/tags]

  • Approfondimento su SciTE

    Secondo appuntamento relativo a SciTE, non previsto inizialmente, ma necessario per descrivere come poter gestire al meglio API e keywords in un progetto che utilizza le EFL.
    Nel post precedente l’indicazione di quale file API utilizzare veniva fatta tramite il file .SciTEUser.properties , ma questo modo non mi sembra troppo “pulito”, infatti la necessità di caricare diversi file API potrebbe rendere meno chiaro il file di configurazione stesso; e ancora peggiore sarebbe l’impatto per le keywords (per ottenere l’highlight delle funzioni): il file cpp.properties conterrebbe così un lunghissimo elenco di funzioni, e chiarezza e leggibilità andrebbero a farsi benedire.
    Inoltre, cosa ben più grave, le modifiche ai file del pacchetto base (cpp.properties nel dettaglio, e SciTEGlobal.properties nel caso delle configurazioni di stile) potrebbero andare perse in caso di aggiornamenti di SciTE.
    E allora cosa si puo’ fare?
    Niente di piu’ semplice, utilizzare la capacità di SciTE di sovrascrivere le varie impostazioni dal basso verso l’alto, partendo dal file SciTE.properties fino ad arrivare al file SciTEGlobal.properties.
    Nel dettaglio, i files interessati sono i seguenti, in ordine di overriding:
    il file SciTE.properties (posizionato nella directory del file che si sta editando) sovrascrive il file SciTEDirectory.properties (posizionato o nella directory del file che si sta editando oppure nella directory superiore), che sovrascrive il file .SciTEUser.properties (posizionato nella propria homedir), che sovrascrive il file SciTEGlobal.properties (in Ubuntu presente nella directory /usr/share/scite).
    E’ chiara la possibilità di realizzare un sistema che permette, tramite i file SciTE.properties oppure SciTEDirectory.properties, di caricare i file API e l’elenco di keywords relativi alla EFL che si usa realmente.

    Happy coding e alla prox