Categoria: linux

  • Twittare da SciTE

    Si, diciamo che mi sento abbastanza Twitter-addicted, e quindi perchè non perdere un pò del mio scarso tempo libero per mixare il servizio di microblogging con l’altro programma che mi trovo ad utilizzare più di frequente, e cioè SciTE?
    Detto, fatto! E ora spiego l’arcano.
    Come spiegato nel wiki delle API di Twitter, per inviare un aggiornamento di stato, come per altre operazioni, del resto, è sufficiente un client che gestisca gli URL, come il testualissimo e altrettanto diffuso curl.

    Esempio

    curl -u user:pass -d status="your message here" http://twitter.com/statuses/update.xml

    Ne più ne meno che una sessione HTTP autenticata verso il server, con il testo dello stato opportunamente codificato.

    Ok, SciTE ce l’ho, curl ce l’ho, l’account su Twitter pure: uniamo il tutto.

    Lanciamo SciTE, e dall’apposito menù apriamo il file denominato “User Options File”, che sull’HDD corrisponde allo .SciTEUser.properties nella propria homedir.
    Ci spostiamo alla fine del file, e aggiungiamo:


    twitter.user=MYUSER
    twitter.pass=MYPASS
    command.name.16.*=Tweet
    command.subsystem.16.*=0
    command.16.quiet.*=1
    command.16.*=curl -u $(twitter.user):$(twitter.pass) -d status="$(CurrentSelection)" http://twitter.com/statuses/update.xml

    Occhio all’ultima linea, potrebbe risultare a capo causa formattazione del post , va accodata alla linea precedente.

    Qualche spiegazione, anche tutto mi sembra piuttosto autoesplicativo…
    Le prime due righe contengono grosso modo la creazione/assegnamento di due variabili contenenti ripettivamente l’username e la password dell’account su Twitter.
    Le righe seguenti definiscono la creazione di una nuova entry nel menù Tools, e l’ultima, in particolare, contiene il comando da eseguere, e cioè l’invocazione che abbiamo visto più sopra, con in più l’assegnazione del testo di stato: a $(CurrentSelection) verrà sostituito il testo attualmente selezionato all’interno di SciTE.
    E il gioco è fatto.
    È evidente che il lavoro che ho fatto non è niente più di un buon esercizio di integrazione, ma ben vengano tutti quei piccoli hack che ci consentono di rendere i nostri strumenti di lavoro/hobby più versatili e funzionali!
    L’esercizio può essere esteso molto facilmente associando una combinazione di tasti all’esecuzione del comando, in modo da non dover allontanare le mani dalla tastiera, ed essendo basato sull’esecuzione di un comando esterno è applicabile a moltissimi altri editor, o comunque software che permettano l’esecuzione di un programma esterno.

    Alla prox

  • Grrrrr!

    Una cosa che mi fa incazzare è il dover mandare a monte le pianificazioni, piccole o grandi che siano.
    Ero pronto per passare una piacevole serata in multitasking, da un lato aggiornando l’EEE da Hardy a Intrepid e facendo un bel tuning curato di E17, dall’altro chattando sul notebook con i miei amici online: relax totale.
    Ok, accendo l’EEE, mi allontano un attimo, ritorno e cosa vedo? La simpaticissima schermata di Memtest, al posto dell’accativante bootsplash di Ubuntu!
    WTF?!
    BIOS, reboot vari, poi trovando il tasto giusto riesco ad accedere al menu di grub e, qui, meraviglia delle meraviglie, trovo solo la entry per il Memtest (ma va?), nessun riferimento a Ubuntu. 10 secondi di panico, poi mi riprendo, spengo il piccolo e stacco la SDHC, la metto nel notebook per ritoccare a mano il menu.list di EEE.
    Mi accingo a salvare il file con le modifiche quandomi accorgo che la directory /boot è piuttosto scarna di files, e controllando meglio contiene solo il .bin di Memtest…
    Morale della favola, penso proprio di dover reinstallare Ubuntu nel EEE, il quale, ricordo, non ha un lettore CDROM, e quindi mi tocca mettere anche le mani alla mia chiavetta USB!

    Grrrrr!

    Alla prox

    [tags] EEEPc, Ubuntu [/tags]

  • Swisscom + Linux = EFL!

    La notizia e’ dunque ufficiale, ed e’ stata data da Rasterman in persona: Swisscom utilizzera’ le EFL (Enlightenment Foundation Libraries) nella propria piattaforma Linux-based per i telefoni cellulari.

    Il lavoro svolto da Raster e’ stato quello di migliorare E17, di rendere usabile Illume, un modulo per E17 che trasforma il classico DE in qualcosa di piu’ funzionale per i devices con scarse risoluzioni, e di creare Elementary, un set di widget ottimizzato anch’esso per i dispositivi mobili con touchscreen.

    Il codice funziona molto bene su cellulari e PDA come il Treo650, con solo 32 MB di RAM, e il risultato e’ interfaccia grafica molto più attraente rispetto all’originale PalmOS, basata sul progetto OpenEmbedded.

    Per maggiori dettagli, in particolare i dettagli tecnici sulla installazione (Treo650 e Freerunner) vedere il sito di Rasterman.

    [tags]swisscom, linux, enlightenment, e17[/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

  • SciTE, l’editor definitivo?

    Sono riuscito a trovare la pace dei sensi del programmatore, ovvero l’editor definitivo?
    In realtà penso di no, però dopo quest’ultimo periodo di test è garantito il fatto che Scite abbia guadagnato un sacco di punti!
    Non sono proprio alla prima esperienza con Scite, ma il precedente incontro (circa un anno addietro) non ha portato a niente di interessante. E ora cosa è cambiato??
    Premessa
    Gli editor che uso maggiormente sono EditPlus sotto Windows, mentre per Linux sono un appassionato fans di (g)vim e gedit. Il fattore scatenante che mi ha portato alla ricerca di qualcosa di completamente diverso, citando i Monty Python, è stata la scoperta del supporto ai temi, disponibile sia per gvim che per gedit, ma non per EditPlus: ho scoperto di prediligere i temi cosidetti “dark”, li trovo meno stancanti per gli occhi.
    Il fatto di non poter disporre di un medesimo supporto visuale in Windows mi ha disturbato un pò (lo so che gvim c’è anche per Windows, e che anche gedit stesso può essere compilato per win32, ma a volte sono proprio pigro…), e la visione di diversi screenshot e screencast di Textmate (veramente figo!), mi ha spronato alla ricerca di qualcosa di nuovo e possibilmente unificato in modo da limitare i capogiri passando da un sistema all’altro.
    E come avrete capito in Scite ho trovato quello che cercavo.
    Le possibilità di personalizzazione si spingono veramente in dettaglio e permettono un controllo pressochè totale dell’editor, anche per ciò che riguarda l’aspetto estetico.

    Ecco di seguito un paio di screenshot, uno per Windows e uno per Linux, in modo da evidenziare l’aspetto molto simile:

    (altro…)

  • E17, immagini per wallpaper da web

    Eccomi con il mio primo esperimento all’interno di E17, senza usare le ETK, ma sfruttando i widget interni.
    Quello che ho cominciato a fare e’ una aggiunta al modulo di configurazione dello sfondo del desktop, in modo da poter accedere con un click ad alcuni servizi di immagini online (per ora soltanto get-e.org, ma ho in cantiere flickr e deviantArt). Purtroppo la qualita’ del video non e’ il massimo (prima esperienza anche con gli screencast), percui ecco il link all’ AVI originale.
    In un prossimo post pubblichero’ qualche dettaglio in piu’.

    Alla prox

    [tags]get-e.org, e17, enlightenment, wallpaper[/tags]

  • Quando Subversion incontra lo sviluppo web

    Dopo un lungo periodo di gestazione, finalmente e’ venuto alla luce questo post, che personalmente reputo molto interessante (ma va??).
    Come introdotto dal titolo, espongo uno scenario di uso che mostra come poter integrare Subversion con lo sviluppo e il mantenimento della nostra web application. Nel dettaglio, con web application intendo un applicativo PHP installato in diversi server di produzione: quindi, un punto di sviluppo, tanti punti di utilizzo.
    Bene, ipotizziamo ora il workflow per l’installazione per un nuovo cliente: connessione remota verso il server, quindi decompressione (se abbiamo una tarball o un archivio compresso) oppure copia (nel caso di singoli files), niente di trascendentale, quindi; il discorso si complica nel caso in cui ci accorgiamo che il nostro prodotto contiene un bug, oppure se abbiamo apportato modifiche interessanti allo stesso, e in questo caso dobbiamo operare a mano nelle n installazioni, con il rischio di sbagliare/dimenticarsi qualcosa.
    E’ qui che Subversion viene in nostro aiuto per realizzare una specie di sistema di installazione/aggiornamento automatizzata di tipo “push” (spero che il termine sia giusto).

    (altro…)

  • ETK su piattaforma ARM!

    Dopo qualche mese di lavoro, ecco un paio di immagini (di bassa qualita’, purtroppo) che finalmente mostrano una applicazione, basata sulle librerie ETK, funzionare out-of-the-box sulla mia scheda ARM.

    ETK embedded

    ETK embedded

    Il passo successivo e’ quello di far funzionare il touchscreen in modo da poter interagire con l’applicazione, per ora il sottosistema di framebuffer di Ecore non gestisce le tslib, ho comunque una patch da testare.

    Alla prox

    [tags] etk, arm, embedded, microhard, trex, efl, enlightenment [/tags]

  • Passaggio da Feisty Fawn a Gusty Gibbon

    Gia’, finalmente mi sono deciso a passare alla nuova release di Ubuntu, il mio Linux flavour preferito, che uso dove FreeBSD non sta comoda.
    Se avessi scritto questo post qualche tempo fa, tipo almeno un anno fa, mi sarei dovuto preparare a scrivere parecchio, utilizzando i code-snippet per postare esoteriche sequenze di shell script utili a risolvere gli inevitabili problemi davanti ai quali mi sarei di sicuro trovato, magari anche post multipli, in attesa di risolvere quell’aggiornamento che mi impediva di far ripartire bene il sistema.
    Questo almeno un anno fa.
    E oggi?
    Quasi quasi mi vergogno a scriverlo, ho ben presente che questo post non vuole essere una guida al passaggio di versione, ma mi sembra comunque di scrivere delle ovvieta’.
    Comunque.
    Ho aperto un terminale e ho lanciato “update-manager -c -d”.
    Ho aspettato.
    Fine.
    Non vi basta?
    Sessione remota tramite XDMCP
    Direi che ogni (mio) commento e’ superfluo, Ubuntu rulez.

    Alla prox

    [tags]ubuntu, feisty fawn, gusty gibbon, update, update-manager[/tags]