On the other side of the screen, it all looks so easy

Archive for Linux

Back to the Life

si torna di nuovo a Debian, dopo la parentesi di ormai tre anni con Ubuntu.

mark my words: Fedora è la nuova Ubuntu. non fosse che anni di SuSE e RedHat mi hanno di fatto instillato un doveroso ribrezzo per RPM1, darei un giro di prova anche alla distribuzione con il cappello.

l’installazione di Lenny non è andata affatto male; un paio d’ore dopo l’inserimento del CD netinst avevo tutto quanto più o meno pronto — a parte il firmware per la scheda wifi, che comunque è nella sezione non-free. ovviamente, ha aiutato il non aver piallato la mia /home2.

ora ho un’installazione molto più streamlined, con poche modifiche a GNOME, e senza quella schifezza di tracker installato a tradimento3.

  1. we rpm haters aren’t born. we’re made. []
  2. in questo senso, GNOME mi ha piacevolmente sorpreso — mi aspettavo pena, miseria e morte e invece l’unica cosa da ricostruire sono state le password di Evo, nell’attesa che usino il fottuto gnome-keyring prima della morte termica di questo Universo []
  3. la moglie si lamenta perché il suo laptop alle volte si blocca per qualche secondo mentre sta scrivendo la tesi; temo di essermi dimenticato di fare apt-get --purge remove tracker quando le ho fatto l’upgrade l’ultima volta []

Comments (26)

Driving Sideways

non ti rendi conto di quanto dai per scontato in Linux se non quando devi replicare un ambiente di sviluppo sotto OS X. fortunatamente, con un po’ di Macports e di JHBuild si riesce a mettere in piedi qualcosa di usabile.

una cosa sicuramente mi piacerebbe avere anche sotto GLX, e sono i tool per fare profiling delle chiamate OpenGL; l’UI è banale da replicare (basta prendere una cosa tipo questa) ma quello che è interessante è tutta la serie di hooks per attaccarci uno statistical profiler.

Comments

Dead Duck

L’altra settimana ho aggiornato il laptop a Gutsy. In generale, il feel è che questa release sia una mezza tragedia: non siamo ai livelli di Edgy, ma poco ci manca. Tra le cose che hanno smesso di funzionare:

  • NetworkManager non sopravvive al suspend e sono costretto a disabilitare la rete quando sposto il computer da casa all’ufficio; questo quando va bene: alle volte devo andare di killall. Update@2007-11-01T15:39+0100: bug noto, a quanto pare risolto in SVN.
  • Se spengo il monitor sotto X (ad esempio, se chiudo il laptop ma lo lascio acceso) due volte su tre non viene riacceso e sono costretto a far ripartire GDM.

C’è di buono che GNOME 2.20 è meraviglioso, e che Debian non riconosca (ancora) l’esistenza dei laptop, altrimenti sarei tornato di corsa al mix di testing+unstable che usavo prima.

Ovviamente, ho provato di nuovo Compiz - il compositor che alle volte fa da (pessimo) window manager. L’user interface è un totale disastro ferroviario, in cui puoi scegliere solo tre livelli:

  1. Niente effetti (ovvero: Metacity)
  2. Effetti per persone sane di mente
  3. Hurt me plenty1 (ovvero: gente che si bulla con gli amici, gente che registra un video per bullarsi con gli amici, gente che sta male perché non ha amici ma non ne ha bisogno perché ha Compiz, gentooisti)

In più, se hai qualcosa che non è installato di default e non ha un nome umanamente inferibile2, hai anche il livello segreto:

  1. Customizzami tutta

Che permette di selezionare cose utili come il motion blur ma non ha un setting per avere un window manager sensato, tra il miliardo di tunables, plugin che si disattivano a vicenda e chiari esempi di opzioni di tipo unfuck my application.

Il problema è che perfino al livello per persone normali dopo dieci minuti di utilizzo comincio a sentire il mal di mare e un mal di testa impressionante. A questo va aggiunto il fatto che il trasferimento di opzioni da Metacity a Compiz è orrido e mi sono trovato dall’avere dodici workspace all’avere dodici viewport con dodici workspace l’uno - l’equivalente di 144 aree di lavoro la cui navigazione è banalmente impossible.

Morale della storia:

  cd ~/git
  git clone git://anongit.freedesktop.org/git/xorg/app/xcompmgr
  ./autogen.sh
  make && cp xcompmgr ~/bin
  xcompmgr -cC -o .3 &

e Metacity. E, ovviamente, AWN (che ha dei bug grandi così, ma posso rompere le scatole a Neil di persona).

  1. citazione colta []
  2. hint: non è gnome-compiz-manager []

Comments (28)

The Worst Joke Ever

Ho passato gli ultimi tre giorni a tentare di capire perché un pezzo di codice producesse un SIGSEGV. Ho cambiato linee, logica, tipi di dato. Niente: qualunque cosa facessi, solo crash. Come al solito, gdb si rivelava poco utile, mentendo spudoratamente sul luogo della violazione di memoria.

Oggi pomeriggio ho deciso di arrendermi e ho chiesto a Kris se poteva darmi una mano (dato che il segfault si verificava nel codice del GtkTreeModelSort che lui mantiene). Stasera mi dice di aver trovato la patch:

Index: gtk/gtkfilechooserdefault.c
==============================================================
--- gtk/gtkfilechooserdefault.c (revision 17846)
+++ gtk/gtkfilechooserdefault.c (revision 17848)
@@ -9508,7 +9508,7 @@ recent_column_path_sort_func (GtkTreeMod
   if (!name_a)
     return 1;

-  if (!name_b);
+  if (!name_b)
     return -1;

   if (is_folder_a != is_folder_b)

Penso che i miei moccoli siano arrivati vicinissimi al Moccolo a Delta di Dirac (dieci alla ventottesima madonne in un microsecondo).

Va da sé che Kris si vedrà offrire una birra al GUADEC.

Comments (11)

Overdrive/2

segue

GTK+

Per mancanza di tempo, negli ultimi mesi ho dovuto lasciare a metà alcuni miei lavori sulle GTK+. Fortunatamente ogni tanto si è aperto qualche spiraglio di tempo libero, e quando ho potuto ritornare alla libreria che (ricordiamolo) ha consentito all’avere di che mangiare non mi sono certo fatto scrupoli.

Le GTK+ sono piagate, da tempo ormai, da una cronica mancanza di sviluppatori nel core team; il flusso di patch in Bugzilla è più o meno costante (anche se non altissimo), ma le persone in grado di fare una revisione delle patch e in generale dei bug segnalati sono poche, e nessuno lavora a tempo pieno sulle GTK+. A questo si aggiunge un’inerzia proveniente dalle compagnie che lavorano con le GTK+ nei confronti di una (ormai inevitabile) rottura della compatibilità binaria e, possibilmente, delle API. Il quadro è complesso, e meriterebbe un post di analisi dei fattori pro e contro una tale rottura di compatibilità all’indietro; sfortunatamente è sabato mattina e non ho molta voglia di farlo - considerate la questione solo rimandata.

Cosa si muove, quindi, nelle GTK+? Cosa ci sarà nella prossima minor release, la 2.12.0? E cosa ci aspetta nel futuro?

Cominciamo con le cose già in trunk:

Supporto Quartz e DirectFB
Il lavoro sui backend per GDK continua; il backend per Quartz è mantenuto dagli sviluppatori della Imendio ed è quasi stabile; mancano ancora feature, e molto dipende dalla stabilità del backend Quartz di Cairo, ma comincia ad essere usabile. Il backend DirectFB è invece portato avanti dal team per l’installer grafico della Debian, e ha ricevuto molte attenzioni in occasione del rilascio di Etch. Alcune delle funzionalità sono state aggiunte alla branch stabile, ma trunk è il posto dove la magia avviene.
Rimosso il supporto a Windows 9x/ME
Il supporto per i sistemi operativi giocattolo della casa di Redmond era già cessato con la release 2.10; adesso è stato completamente rimosso dalla code base. Chi vuole, può fare un diff tra 2.10 e trunk, procurarsi un incudine e un martello e prepararsi per un’intensa sessione di martellate sui gioielli di famiglia.
Nuova API per le tooltip
Kristian Reitveld ha creato una nuova API per gestire le tooltip sui vari widget. D’ora in poi, niente più GtkTooltips da tenere in giro per tutta la durata dell’applicazione, ma una semplice proprietà che contiene il testo della tooltip (con supporto per il markup). Se si vuole modificare la finestra stessa usata per la tooltip, basta fare l’override di una funzione virtuale della class GtkWidget e si può usare la finestra che si preferisce. Questo, tra l’altro, permette finalmente di poter usare tooltip con GtkTreeView e GtkComboBox.
File recenti
Una delle cose che ho scritto io. Finalmente è possibile infilare la lista dei file recenti in un menu costruito usando GtkUIManager. Per la disperazione (di uno) degli autori di gedit, niente menu “in linea” (come Windows, per intenderci) ma solo come sotto-menu (come OS X). Scrievere una version in linea non è complicato (se volete, trovate una implementazione qui). Ho anche aggiunto la possibilità di inserire elementi del menu prima e dopo la lista dei file recenti nel GtkRecentChooserMenu, così da renderlo più simile a un GtkMenu (quale è).
FileChooser migliorato
Una delle cose che mi fanno aumentare la misantropia e, in generale, il desiderio di vedere la razza umana estinguersi sono le flame sul selettore di file delle GTK+. Seriamente: ogniqualvolta arriva qualche sedicente esperto di usabilità che urla ai quattro venti come il GtkFileChooserDialog sia “inusabile” io spero solo che si tratti di qualcuno che vive vicino ad una costa marittima, e aspetto che il riscaldamento globale faccia il resto. Due settimane fa ho fatto il commit della patch (non scritta da me) che aggiungeva il supporto per la ricerca di file usando (indirettamente) Beagle, Tracker o una semplice ricerca per nome. La patch aveva ancora dei problemi, con funzionalità non implementate o comportamenti non consistenti, quindi ho passato questa settimana a scrivere patch per chiudere il bug #435343 e intanto che c’ero anche il bug #435342 (se volete vedere come appare il selettore file adesso, ci sono degli screenshot qui e qui) per aggiungere la lista dei file recenti direttamente nel selettore di file e chiudere così integrazione iniziata con la scorsa versione delle GTK+ - quasi due anni dopo il GUADEC che ha iniziato tutto quanto.

Ovviamente, le novità non sono solo queste. C’è stato un gran lavoro nel portare alcune feature sviluppate per piattaforme embedded, come la navigazione via tasti oppure il metodo di inserimento per tastiere solo numeriche. In più, ci sono nuove feature in fase di valutazione e di revisione che non sono ancora “atterrate” in trunk, come il supporto per il tap-and-hold per i menu contestuali (usato dai touchscreen o più in generale da chi ha puntatori con un tasto solo, come Mac o tablet). Infine, c’è la grossa feature rappresentata dal GtkBuilder, ovvero la possibilità di creare interfacce utente usando XML - come libglade ma integrato ed esteso.

Cosa ci attende nel post-2.12 non si sa. Le GTK+ avranno finalmente un canvas? E come impatterà questo oggetto con la struttura dei widget? In più, avremo finalmente una class GtkApplication per scrivere applicazioni in maniera più semplice, lasciando che siano le GTK+ a gestire le sessioni e lo stato (liberandoci di un bel pezzo di libgnome e libgnomeui)? Avremo un layer per VFS finalmente usabile senza una lobotomia parziale? E una piattaforma per la configurazione che non sia ferma al 2001?

Infine, quando avremo le GTK+ 3.0, con una ripulitura generale del codice?

Non so dare risposte; so solo che chi vivrà, vedrà.

continua…

Comments (6)

Millions Miles Away

Sto attraversando un momento di pura e distillata misantropia. Oppure, più semplicemente, non capisco che strano processo mentale (?) porta certa gente a proporre cose come:

Gli utenti si apettano tutte le funzionalità del file manager dalla finestra di dialogo per salvare un file […] quindi se Nautilus è installato le GTK+ dovrebbero eseguire Nautilus [al posto della GtkFileChooserDialog].

Sicuramente, ha a che fare con della droga - crack, nel caso specifico. Lasciamo perdere l’evidente caso di inversione (perché le GTK+, che sono un toolkit multipiattaforma, dovrebbero dipendere da Nautilus, albeit opzionalmente?), e concentriamoci sull’idiozia di poter effettivamente modificare file, directory ed eseguire applicazioni mentre si sta salvando un file. Ottimo se hai un attention deficit disorder e non riesci a fare a meno di lavarti i denti mentre bevi il caffé, tirandoti su i pantaloni alla fermata dell’autobus.

Oppure no.

Comments (9)

Give It Up

La missione, se deciderete di accettarla, sarà di trovare la playlist nel prossimo Amarok:

amarok-2.png

Se verrete catturati, uccisi oppure vi butterete dalla finestra dall’orrore, il dipartimento negherà di essere a conoscenza della vostra missione.

Poi, a che diavolo serve il menu Engage? Cos’è, l’Enterprise?

Le motivazioni per utilizzare Amarok stanno scivolando sempre più verso il lombrosiano.

Comments (14)

Next Year

Attenzione: post ad elevato livello di sarcasmo

È bello vedere gli amici di KDE pensare agli utenti, e passare a Dolphin. Certo che, potendo scegliere, non sarebber convenuto loro usare un file manager che non assomigliasse a Nautilus com’era cinque anni fa?

Ad ogni modo, il cerchio si chiude e si ritorna al 1999: KDE torna ad essere l’ambiente per i corporate user, transfughi di Windows, mentre GNOME torna ad essere il desktop environment pieno di crack.

Comments (3)

Going Mobile/2

Dal FOSDEM. Più precisamente: dalla GNOME dev room del FOSDEM, una volta tanto che la connessione funziona.

Parrà incredibile, ma le conferenze di hacker, programmatori e più in generale smanettoni, hanno la peggior connettività del mondo; forse è perché tutti i partecipanti hanno almeno un computer acceso e in procinto di fare un sync con venti repository

Nel frattempo, uno screenshot di quello su cui sto lavorando:

Places in the file chooser
Directory speciali nel file chooser, caricate da un file esterno e traducibili.

Ovvero, l’implementazione di DesktopPlaces.

Comments (7)

Going Mobile

Fine settimana: a Bruxelles per il FOSDEM 2007. Direttamente da lì, fino a martedì, si finisce ad Helsinki.

A fine aprile si vola a Copenhagen, per due talk da tenere al Nordic Perl Workshop 2007.

A inizio luglio (ovviamente) il GUADEC 2007 a Birmingham. Ed è la conferenza a minor distanza da casa.

A fine agosto mi piacerebbe andare alla YAPC::Europe in quel di Vienna.

Purtroppo dovrei rifare il passaporto per poter andare negli States, quindi con ogni probabilità il Summit a Boston salterà anche per questo anno.

Comments (1)

Climbing the Wall/2

segue

Finalmente sono riuscito ad avere quei dieci minuti di tempo per installare Compiz sul portatile. Immensamente meglio di Beryl: l’applet per la configurazione sembra quasi progettato da uno sano di mente.

Ovviamente, se avessi un Metacity con un compositing engine sarei molto più felice; speriamo che Thomas riesca a finire di renderla accettabile entro GNOME 2.20.

Update@20070217T23:22Z: come non detto - Xgl, che sono costretto ad usare per via della ATi del cavolo, crasha non appena parte lo screensaver e mi tira giù tutta la sessione con sé; ergo, for the time being si torna a Metacity.

Comments (5)

Twist the Knife

Panacea
\Pan`a*ce”a\, n.
[L., fr. Gr. pana`keia fr. panakh`s all-healing; pa^s pa^n, all + ‘akei^sqai to heal.] [1913 Webster]
1. A remedy for all diseases; a universal medicine; a cure-all; catholicon; hence, a relief or solace for affliction. [1913 Webster]
2. (Bot.) The herb allheal. [1913 Webster]
3. (Programming) Tracker. [2007 Gnome]

Okay, adesso si è andati talmente oltre il ridicolo che non è neppure più divertente. Gli autori ci si sono messi per la loro parte, ma adesso i droni stanno diventando davvero fastidiosi.

Comments (2)

Billy Liar

La moglie ha preso il nuovo portatile, per sostituire l’iBook sans lettore DVD e con la batteria agli sgoccioli. Il portatile viene via con Vista pre-installato.

Al momento, sto facendo i sette CD di recupero; pare che alla Microsoft non abbiano ancora imparato a fare una installazione senza riavviare tre volte (e fortuna che il sistema è pre-installato, quindi con tutti i driver già ammodíno).

Alla fine, però, la cosa che più mi colpisce è quanto Vista sia boring. Sono riusciti a rendere noiosi perfino gli effetti speciali. Un po’ come dipingere la propria casa di grigio per renderla calda e accogliente.

Fortunatamente, il commesso del negozio mi ha fatto provare la Live di Edgy Eft prima di prendere la macchina; appena avrò finito di fare questi cavolo di 4.7 GB di disco di recovery, il disco fisso verà purificato con aspersioni di rugiada e acqua santa, mentre Debussy risuona nell’aere.

Primo commento durante l’installazione: “Wow, what a rip-off”.

Comments (16)

Nuclear War (On The Dance Floor)

Di solito non accendo flame: ci partecipo solo (grazie ai poteri della I-can-t-believe-it-s-not-Asbestos tuta che mi è servita per anni su Usenet) perché mi diverte vedere le buffe reazioni degli esseri umani (misantropo umanista? You bet!).

Stavolta, però, me la stanno tirando fuori dalle carni.

Chiunque segua desktop-devel-list sarà al corrente che non nutro grande simpatia per Tracker, il calderone di indexer/database/interfaccia grafica/kitchen sink/quello che sarà questa settimana che alcuni vorrebbero avere una maggiore integrazione con GNOME.

Premetto subito che io non odio Tracker: mi stanno cordialmente sulle balle le modalità con cui viene evangelizzato e, soprattutto, sviluppato. Dopo un anno e rotti in cui è stato riscritto almeno tre volte, cambiato il database, cambiato l’indexer, aggiunte feature e realizzato poco testing, ancora manca una cazzo di API decente per permettere a me, sviluppatore, di poterlo utilizzare. Si, perché il fine ultimo di Tracker è, evidentemente, immagazzinare il maggior numero di informazioni sui vostri file e poi non utilizzarle, dato che esiste solo una serie di remote procedure calls per D-Bus e nient’altro. Ma certo, se ho bisogno di estrarre dati mi basta usare Python. Solo che non io posso riscrivere GNOME in Python (o C++, o C#, o D, o COBOL o ${WHATEVER_LANGUAGE_ZEALOTS_WILL_PROPOSE_NEXT} - in fondo, abbiamo milioni di linee di codice da riscrivere da capo, che sarà mai), e gli utenti non hanno un cazzo di Cray su cui far girare uno GNOME scritto in Python (i requisiti di memoria dopo otto ore di utilizzo sono quelli). By the way: menarmi il torrone su quanto Tracker sia buono con la mia CPU e la mia RAM e poi dirmi che se voglio usarlo devo ridurmi a scrivere un’applicazione in Python è prendermi per culo - puro e semplice; e io non sopporto quando mi prendono per il culo.

Prendiamo HAL, l’Hardware Abstraction layer scritto per evitare di dover pasticciare con device, permessi e stronzate varie; è composto da RPC ma ha anche ben due librerie che mi permettono di non dover usare D-Bus direttamente. Perché? Perché HAL è scritto da qualcuno sano di mente, probabilmente, che pensa che l’utente non se ne fa una sega di HAL in quanto tale - l’utente è esposto ad applicazioni che usano HAL a loro volta; gli utenti di HAL sono gli sviluppatori, e se non do agli sviluppatori un’API sensata come diavolo faranno a scrivere applicazioni? Tracker occupa una nicchia analoga: gli utenti non sanno cosa sia Tracker, a cosa serva o come lo faccia; sanno solo che possono aggiungere una tag a un file e cercare file usando lo stesso tag. Se un utente si eccita con il fatto che esista Tracker è un cazzo di geek, e non è per loro che io contribuisco a GNOME.

Quindi, prego qualcuno di mettersi a scrivere un’API coi contro cazzi per permettermi di scrivere applicazioni con Tracker; non widget: voglio scrivermi i miei widget senza aspettare sei mesi che qualcuno ne aggiunga uno che mi serve. Perché sono io che scrivo applicazioni per GNOME, non “gli utenti”; e se io non sono in grado di scrivere applicazioni per GNOME usando Tracker vorrà dire che sarò costretto a reinventarlo tra sei mesi.

Giuro, mi basta qualcosa che mi dia un GObject a cui far eseguire un match, e abbia segnali che mi dicono cosa la mia richiesta ha trovato. Perché non c’è ancora? Perché gli sviluppatori e chi contribuisce a Tracker ha deciso di perdere il suo tempo per scrivere front-end per la Deskbar applet, mantenere branch parallele di Nautilus e violentare il Search Tool invece di permettere ai maintainer di questi progetti di fare il loro lavoro?

</rant>

Comments (8)

Overdrive/1

Un recap sui progetti a cui sto lavorando al momento.

Clutter

Nei commenti al blog precendente mi si chiedeva di Clutter. Per chi non seguisse Planet GNOME (o per chi lo seguisse ma non avesse comunque la più pallida idea di cosa si tratti), Clutter è un toolkit che ho contribuito a realizzare più o meno da quando sono stato assunto alla OpenedHand (settimana più, settimana meno).

Clutter è un toolkit basato sulle stesse librerie usate per le GTK+ (GLib, GObject, Pango) ideato per scrivere applicazioni con un’interfaccia grafica mono-finestra - ad esempio: media box, personal video recorder, etc. - in ambienti (embedded e non) dotati di grafica accelerata (tramite OpenGL oppure OpenGL ES). Clutter fornisce un canvas, rappresentato dal singleton ClutterStage, e alcuni widget, chiamati ClutterActor. I widget forniti sono (volutamente, al momento) pochi: non solo perché siamo alla release 0.2.0, ma soprattutto perché vogliamo vedere di cosa necessitano gli sviluppatori prima di implementare ClutterActor nel modo sbagliato o del tutto inutili.

Hello, World - Come funziona Clutter? Ecco un semplice “hello, world” che sfrutta buona parte delle nuove API. È scritto in Python - avrei preferito scriverlo in Perl, ma conoscendo la quantità di pythonisti in “ascolto” ho scelto altrimenti; la versione in Perl è disponibile a richiesta. Se volete, potete scaricarla e farci quello che volete - è nel public domain, come dovrebbero essere tutti gli “hello world” di questo mondo. Se cliccate dopo il link, smonto il codice in blocchi per spiegare come funziona.

Read the rest of this entry »

Comments (16)

The Body Says No

È giunto il momento di rivelare al mondo, e alle anime belle che lo abitano, una verità orrenda, per troppo tempo taciuta da Chi Sa:

Python Fa Schifo e Chi l’Ha Scritto Va Tumulato Vivo Sotto Una Colata di Cemento a Presa Rapida

Certo, il linguaggio in sé è moderatamente carino, ma appena tenti di muoverti sotto l’interprete, per scrivere un modulo di interfaccia tra una libreria C e Python, l’idiozia della API Python/C e l’assenza di messaggi di errore significativi rendono il lavoro con Python una tortura - e dimostrano un’amatorialità degna di Ruby. Un’ora di questa tortura e rimpiango le macro criptiche e l’assenza di documentazione delle API del Perl. Per un linguaggio che si vanta di seguire il dogma del better explicit than implicit, le API C sono il trionfo della perversione mentale, della rottura all’indietro, dell’inconsistenza nelle naming policy e della mancanza di utilità.

Ovviamente, ognuno è libero di pensarla diversamente; sono convinto che Pythonisti arriveranno qui nel tentativo di mostrarmi la Retta Via Verso l’Illuminazione. Per me, tuttavia, e per i miei scopi non esiste differenza tra il lavorare per mezza giornata con Python e darmi delle vigorose martellate sui coglioni.

Adesso mi sento molto meglio. E no, Python continua a farmi schifo.

Comments (9)

Cast no Shadow

Questo è ancora il blog di un geek che sviluppa su GNOME, quindi ogni tanto vi tocca. ;-)

Con un grassissimo anticipo di trentacinque (si, 35) secondi sull’ora della deadline per effettuare una release, ieri notte ho impacchettato la version 2.17.1 delle GNOME Utilities, nome in codice Cast no Shadow. Dalle undici di sera fino al momento in cui make distcheck ha completato il suo lavoro, ho implementato una delle due feature richieste per questo ciclo di sviluppo per l’utility che prende screenshot del desktop (l’altra, ovvero la nuova finestra di dialogo per il salvataggio dell’immagine, ahimé, dovrà attendere GNOME 2.20, dato che non l’ho completata in tempo - penso che finirà in una branch, dato che è quasi finita e manca solo il codice per il drag and drop):

GNOME Screenshot
La cosa buffa è che ho catturato l’immagine di gnome-screenshot usando gnome-screenshot.

Questa finestra di dialogo apparirà solamente se gnome-screenshot verrà invocato dal meno oppure usando lo switch --interactive da linea di comando; ovviamente, la finestra di dialogo terrà conto delle opzioni da linea di comando, quindi:

$ gnome-screenshot --window --delay=5 --interactive

modificherà il RadioButton selezionato e il valore nello SpinButton. Purtroppo non sono riuscito ad infilare dentro una ComboBox per l’effetto (bordo o ombreggiatura), e dato che siamo in UI freeze dovrò chiedere il permesso prima di inserirlo. In più, c’è un bug: non appare l’icona dell’applicazione nella parte sinistra della finestra - probabilmente, l’icona non è installata correttamente grazie a Dennis Cranston, il bug è stato rimosso.

Riassumendo, le feature mancanti in questo ciclo di gnome-utils sono:

  • usare GtkPrint nel dizionario [da fare];
  • supporto per dizionari locali [includere il parser e il backend];
  • speller nell’applet del dizionario - o rimozione dell’applet in toto, in favore di deskbar-applet; [da fare]
  • plug-in nel visualizzatore di log - e, in generale, pulizia del codice [quasi completo, da pulire];
  • nuova finestra di dialogo per il salvataggio degli screenshot [quasi completo];

Adesso che GNOME è passato a SVN potrei finalmente sfruttare l’occasione e aprire qualche branch per gli esperimenti.

Comments

The Needle has Landed

Pare che la N800 sia di pubblico dominio oggi. Per motivi di lavoro, ho potuto vederla (e sviluppare software per la piattaforma) da qualche tempo - e, all’alba dell’agosto scorso, ho potuto metter le mani sopra a un prototipo.

Non avendo usato una 770 per molto tempo, fare un confronto tra le due mi è eticamente impossibile; posso solo dire che il nuovo hardware è sicuramente più interessante da un punto di vista multimediale (doppio del clock, doppio della memoria volatile, supporto per memory card da 2GB), e che usare la N800 come piattaforma mobile per audio e video in streaming ha sicuramente molto più senso della (comunque adatta, anche se al limite) 770.

L’unica cosa che manca è una tastiera integrata - ma dato che io comunque non sopporto le tastiere microscopiche dei cellulare e dei palmari a là Treo, e dato che le tastiere Bluetooth funzionano benissimo, direi che la mancanza non si fa molto sentire. Altra nota dolente è la porta USB non alimentata - quindi niente chiavette USB - ma anche questo ha senso, se si pensa che una porta alimentata comporterebbe una battery life ridotta drasticamente.

Modestia m’impone di non parlare del lato software.

Comments

Could We

Ai lettori più attenti di questo blog non sarà sfuggito il fatto che il sottoscritto non ha scritto alcunché riguardo l’accordo tra Novell e Microsoft. Ho deciso di non scrivere nulla un po’ per pigrizia - in fondo, non scrivo anche di quella tragicommedia che sono diventati i processi della SCO; un po’ perché volevo prima vedere cosa succedeva; infine, un po’ perché non voglio rendermi ridicolo sparando giudizi basati sul vuoto pneumatico del fanboism oppure su quello che io credo vogliano dire le millantamila leggi sul copyright e sui brevetti. Insomma, non voglio fare la figura di tutti quelli che - senza aver fatto la law school - hanno espresso il loro parere (scarsamente richiesto) e sul web, e su Usenet e sulla stampa specializzata.

Seriamente: potrei scrivere come l’accordo non riguardi in alcun caso Mono; come, in buona sostanza, la Microsoft abbia pagato la Novell per permettersi di usare i brevetti che la Novell possiede; come alla Microsoft abbiano fatto intendere fischi per fiaschi alle altre aziende con business Linux-oriented; come l’accordo stia facendo un favore all’open source, spingendo da un lato verso l’adozione della GPLv3 e dall’altro aumentando la cognizione di causa delle aziende. Non lo farò scendendo nei dettagli - sono solo mie valutazioni grossolane di persona che non si è fatta tre anni di law school. Quello che è certo è che l’accordo andrà valutato tra sei/dodici mesi per vedere cosa ha portato alla comunità.

Comments (5)

Climbing the Wall

Ieri sera ho deciso di provare Xgl+Beryl (il fork di Compiz) sul portatile. L’installazione su Ubuntu Edgy sarebbe anche andata a buon fine, e il sistema sembra reggere - non fosse che devono esistere delle incompatibilità tra Xgl e l’ultima release delle librerie per la gestione dei layout della tastiera che fanno entrare in un loop infinito gnome-settings-daemon (consumando tutta la CPU). Mi ritrovo, quindi, con una tastiera mappata US e il tema di default delle GTK+, niente tasto Compose mappato su Caps Lock e niente impostazioni.

Beryl desktop

Ma ho le wobbly windows (queste), ombre in alpha blending e quattro workspace mappati sulle facce di un cubo (tra l’altro, è uno shock piuttosto pesante per il sottoscritto, abituato a dodici workspace - mi sento lievemente castrato nell’utilizzo del computer).

Update 20061031T19:22Z: Beryl è stato tolto dopo un giorno continuato di utilizzo. Molto bello, molto figo, sorprendentemente stabile e non così affamato di risorse; tuttavia, mi mancavano la mia tastiera inglese con il tasto compose e i miei dodici workspace. Se future versioni non faranno inchiodare gnome-settings-daemon e mi ridaranno il maltolto, allora tornerò sicuramente a utilizzarlo (magari con il driver open source e Aiglx, e non con quello della ATi e XGL).

Comments (9)

Santa’s Coming to Town

Babbo Natale è arrivato in anticipo di qualche mese, e mi ha portato in dono un giocattolo nuovo di zecca. Molto nuovo, e direttamente dalla zecca.

Peccato non poterlo far vedere ad anima viva - moglie a parte.

Comments (3)

Counsel

While Gentoo comes with extensive documentation covering most aspects of using Portage, the techniques described in Gentoo’s handbook and other documentation are not always the most effective ones. Here are some insider tips that can greatly increase your productivity.

Consiglio numero uno per aumentare la produttività: smettila di farti le seghe e installa un’altra distribuzione.
Consiglio numero due per aumentare la produttività: quale parte del consiglio uno non ti è chiara?

Comments (9)

Problem solving without solving problems

Ikitt, su autopackage (in particolare, penso si riferisca a questa pagina.

Il vero problema di autopackage non è l’attitudine dei programmatori di autopackage - in fondo, progetti F/OSS portati avanti da persone che non riescono a comportarsi come degli adulti razionali ne abbiamo avuti e ne avremo ancora; pensiamo a MPlayer: nato male, portato avanti con arroganza e spocchia, sta finalmente per finire nel dimenticatoio, sorpassato da soluzioni tecnicamente superiori e sviluppate da gente che, almeno, non dice che tutto il resto fa schifo. Questo perché MPlayer copriva una nicchia nell’ecosistema del free software che doveva essere coperta.

Autopackage, al contrario, non risponde ad alcuna esigenza vera e propria, se non al bisogno di alcuni sviluppatori per Windows (che non hanno ancora capito come funzionano le cose sotto *nix e Linux) di avere un unico pacchetto da installare su tutte le macchine che hanno sotto mano. È un’esigenza sentita da qualcuno? Si - ovviamente. È un’esigenza rilevante? No, altrettanto ovviamente. Altrimenti avremmo molti altri progetti simili ad autopackage - mentre l’unico che mi viene in mente è Klik, ovvero un altra soluzione messa a punto da e per programmatori per Windows.

Secondo gli sviluppatori di autopackage l’onere di far funzionare il proprio software con tutte le distribuzioni dovrebbe ricadere sugli sviluppatori delle applicazioni; questo non solo è dimostrabilmente inutile, ma pure dannoso. Io uso Ubuntu e conosco il sistema di pacchettizzazione della Debian a sufficienza per poter fare pacchetti .deb; tuttavia, uno sviluppatore Debian che abbia finito la NM ne sa indiscutibilmente più di me riguardo alle policy della Debian; stesso discorso vale per pacchetti RPM e per uno sviluppatore della Fedora Core 5. Anche se quelli di autopackage mi forniscono un’API per astrarmi dal lavoro pesante di aver ca che fare con relocation di librerie e binari, le minutie del package management non le posso (e non le voglio) imparare. In più, a meno di non ricorrere alla Fatina dai Capelli Turchini, e di sostituire tutto l’installato planetario con pacchetti basati su Autopackage in un microsecondo, avremo sempre a che fare con pacchetti autopackage che rompono inesorabilmente i pacchetti legittimi delle distribuzioni.

Quindi, il vero e serio problema di autopackage è la completa inutilità del fine prefisso (”un solo package manament system per tutte le distribuzioni gestito dagli sviluppatori stessi”); a questo si deve aggiungere una ignoranza di base sui meccanismi delle distribuzioni e dei loro package manager; poi, ma solo alla fine, una manifesta arroganza da “noi abbiamo la soluzione per tutti i vostri problemi, e tutti gli altri sono solo dei perfetti stronzi”, che fa risultare gli sviluppatori di autopackage automaticamente dalla parte del torto.

Comments (4)

Origami

Tutti a menare il torrone con questo UMPC della Microsoft.

Come se fosse roba nuova, rivoluzionaria. Oi, sperano di farla pagare 500 $!

Guardate che l’UMPC è uscito un anno fa, costa 359 € (se si acquista online), è basato su Linux, è espandibile e tutto basato su software libero (c’è già una solida base di sviluppatori). Si chiama Nokia 770.

Nokia 770

Una hint gratuita a tutti quelli che gridano alla rivoluzione della Microsoft: andate a zappare, e quando avete finito, andate a scopare il mare.

Tra l’altro, tutti risero dietro alla Nokia quando lo tirarono fuori dal cappello.

Comments (8)

« Previous entries ·