31 luglio 2008

Nice Guys Finish Last


AAAAAAAAAAAAA
RRRRRRRRRRRRR
GGGGGGGGGGGGG
HHHHHHHHHHHHH

!!!!!!!

Ma perché non me ne sono accorto prima!

Il buon Rhythmbox, se trascini i brani dal suo elenco all'iconcina del lettore collegato nell'elenco delle sorgenti musicali, crea un bell'albero di cartelle $AUTORE/$ALBUM. E io che me li creavo a manina visto che l'ultima volta che ci avevo provato metteva tutto nella directory root....

Non è giusto, scoprirlo proprio ora che il mio lettore ha smesso di funzionare (l'attacco delle cuffie, cacchio) e che sto pianificando di acquistarne uno MTP e non mass storage (ma solo perché costa meno di altri ed è in offerta). Speriamo almeno che il supporto a MTP sia altrettanto ben progettato e realizzato.

Tra l'altro qualcuno saprebbe interpretare psiconaliticamente il fatto che, recentemente, ho iniziato a fare la mia "camminata figa" - cioè la mia camminata è sempre figa, con un piede davanti all'altro tipo modella, o Kenshiro, a scelta, se volete canzonarmi oppure ricondurmi a modelli morali di dubbia origine; la "camminata figa" è quando sto con le cuffie (o canticchio in testa) canzoni cazzute tipo Back in Black o You Could Be Mine o Welcome Home (Sanitarium) e aggiungo al tutto un'aria da dio in terra data dalla opportuna sincronizzazione del passo, del ghigno e talvolta dell'ancheggio alle circa 200 battute per minuto - anche con il brano Sweet Transvestite??!!?? Anche se con passo lievemente meno marziale... ma senza ancheggiare troppo...

29 luglio 2008

Dietro ogni stupido c'è un idiota

No, stavolta non puoi lamentarti, hai scelto tu di restare ad aspettarmi.

A me hai lasciato solo la possibilità di sceglierti il posto. E spero che l'ombra della quercia ti faccia compagnia.

28 luglio 2008

JHbuild delle mie brame - parte 3

Out of Office

Se avete pazienza di aspettarmi.
Magari nel frattempo vi penso.
Però voi non cercatemi nei sogni.


Immagine pubblicata da Phineas H.

PS in tutta sincerità, la mia valigia non può che essere questa, per questioni di dimensioni; come dicevano al liceo "in me tutto è ben proporzionato", ma è una lunga storia...

PPS mi mancherete, lo ammetto, ma ho programmato un paio di post, così non vi annoiate troppo

PPPS Oh, dio!! il tag <blink> è ancora supportato!!!!!!!!

24 luglio 2008

In estrema sintesi

Tentativo di minirecensione (tipo haiku senza sillabe e struttura e senza liberare simboli e metafore perché non mi va di stare a pensare o farmi imbrigliare dalla struttura) del nuovo e un po' instabile e parzialmente¹ funzionante Yelp + Webkit:
Come dovrebbe essere
un browser di manuali.
Fottutamente più veloce.
Ma tanto di più. Al punto da far venir voglia di dire "All Hail WebKit!".

[1] per esempio, i link all'interno del singolo manuale non funzionano, bisogna andare di pagina in pagina, ma se non ho letto male dovrebbe essere in parte legato al fatto che per farli funzionare prima con Gecko era stato fatto un pesante hack. Uff, più lunga la nota della recensione...

23 luglio 2008

Libro aperto

Sinceramente.

A volte li/mi rileggo e mi domando come cavolo faccio a imperlare tante str0n#at3 una dietro l'altra.

Sarà la depressione, visto che mediamente oscillo tra l'incazzato ed euforico.

Che diabolici mattacchioni

No, non io e Milo. Basta con questa storia. Che poi mica saremo solo noi due mattacchioni, no.

Stavolta il post è di quelli dal taglio non proprio "pratico", ma per lo meno "informativo". Anche se con un inizio come questo, è ovvio che sia informale.

Allora, ricapitoliamo.

In quel posto dove si sono bevute tante birre offerte gli uni agli altri per i più svariati motivi (che recenti statistiche e trend di mercato mostrano non sarà Cesenatico), lo stesso posto in cui sono cominciate a fiorire schede da un'applicazione all'altra neanche fosse acne giovanile, era uscita fuori l'idea di fornire al mondo e agli amici di Internet una versione 3.0 delle GTK+ con il break delle API/ABI, seguita poi da una 3.1/.2 con nuove funzionalità.

Levata di scudi da parte delle più eminenti eminenze grigie (ma non porporate, le eminenze porporate pensano che le GTK+ siano scritte dal diavolo per rendere la noosfera un posto insidiosamente tentatore; non riescono a capire infatti come una libreria così funzionale possa essere scritta in C invece che in C++ e non potendo dichiarare un dogma, allora rigettano il tutto e lo attribuiscono al demonio). La numerazione non era affatto logica e allineata con... boh, allineata, punto.

Conseguenza della levata di scudi: lieve possibile alterazione e cambio di programma come qui di seguito elencato:
  • la versione con l'incompatibilità si chiamerà 2.99.0
  • la versione con nuove fiatchur si chiamerà 3.0.0
  • i cambiamenti precedenti hanno come gradevole controparte quella di accelerare il processo di branching per permettere l'inserimento delle succitate nuove fiatchur
Corollari alle precedenti alterazioni:
  • creazione di uno spin-off libgtk3deprecated
  • creazione di uno spin-off libglib3deprecated
entrambi non mantenuti dal core team delle GTK+ ed entrambi che tenteranno di reimplementare quanto deprecato con le nuove API (ove possibile).

Ora, sono solo dichiarazioni di voto e non c'è codice. Si sa che non ci sono sviluppatori che scrivano codice per le GTK+ ed "Emmanuele Bassi" è solo il nome di un collettivo di scimmie urlatrici¹ messe di fronte a un numero sufficiente di computer tale da permettere la scrittura di codice per lo meno funzionante. È risaputo che tanto è totalmente inutile che si proceda con tale piano di conquista globale del mondo perché per quando sarà completato MacOS X sarà stato riscritto con le Qt (quelle di Trolltech, non QuickTime).

C'è sicuramente qualcosa che non quadra.

....

....

....

Ho capito! Anche questo è un gigantesco scherzo!!! Non avremo mai le gtk+ 3.0 e resteremo per sempre con le 2.x!!!

Fare scherzi a luglio e non a carnevale o il primo aprile in modo che a nessuno venga il dubbio che sono scherzi. Generare tanti e tanti commenti irosi e invidiosi in tutti i migliori blog in modo da far cadere i puri di cuore nel peccato. Dannati figli del diavolo! Voi e le vostre GTK+!

[1] Emmanuele, ti debbo non so quante birre per ogni volta che ho usato il tuo nome in modo scorretto e sconsiderato... ma lo sai che ti voglio bene

22 luglio 2008

Signal to Noise Rate

Tra ...
  • ciò che io penso
  • ciò che io voglio dire
  • ciò che io credo di stare dicendo
  • ciò che io dico
  • ciò che tu vuoi ascoltare
  • ciò che tu credi di stare ascoltando
  • ciò che tu stai ascoltando
  • ciò che tu vuoi capire
  • ciò che tu credi di aver capito
  • ciò che tu hai capito
... ci sono almeno 10 modi per avere problemi di comunicazione tra me e te.

Ma proviamoci lo stesso.

Purtroppo non è mia, letta su planet.gnome che a sua volta la attribuisce a Juliette Jarry of AJEL. Di mio posso aggiungerti che se abbiamo provato o proveremo a comunicare per telefono, allora considera anche che io ho il terrore del telefono e pronuncio solo "Sì" e "No", quindi moltiplica il tutto per 2. O per multipli di 2.

21 luglio 2008

Revert Revision 14386

Vi siete lamentati.

Vi siete indignati.

Avete reclamato.

Avete protestato.

Avete mugolato.

Adesso potete anche fare il revert di tutto ciò e smetterla.

Io intanto vado a tradurre.

Update: come mostra l'immagine qui accanto, io ho finito di tradurre, almeno nella mia sandbox...

Per il commit su trunk aspettate che finisca di tradurre ben bene anche le nuove stringhe delle schede.

JHbuild delle mie brame - parte 2

È arrivato l'atteso momento. Non fatevi cogliere impreparati, ma non abbiate nemmeno troppa ansia. È una cosa naturale e bellissima voler scoprire sensazioni nuove eppur conosciute (ma di cosa sto parlando!!??!!??!!)

I preliminari sono SEMPRE importanti¹

La prima azione da intraprendere è creare un nuovo utente; se le vostra distribuzione usa sudo invece di attivare l'utente root, può essere utile dargli i permessi adeguati per operare da amministratore.
Tale passo non è strettamente necessario, ma di recente JHbuild ha smesso di installare il proprio omonimo comando sotto /urs, preferendo $HOME/bin, per cui a mio avviso è meglio "confinare" JHbuild a un solo utente senza sporcare la propria home di produzione. Inoltre sarebbe abbastanza complicato per me starvi a spiegare come sia possibile compilare come un utente ed eseguire la sessione come altro utente. Quindi fatelo.

Ovviamente non vi spiego come si crea un nuovo utente. Insomma, state tentando di usare JHbuild, se non sapete creare un nuovo utente rinunciate. Ah, se vi interessa, il mio utente di prova si chiama Beta Tester e ha come login betatester.

In secondo luogo bisogna installare una serie di pacchetti necessari per avere gli strumenti di base: compilatore, programmi per il controllo di versione, strumenti vari per poter configurare, librerie per compilare al meglio il moduleset bootstrap.

Aprire quindi il vostro bel Terminale, cambiate la vostra identità in quella del nuovo utente creato appositamente 2 paragrafi prima e date il comando:
sudo apt-get install automake build-essential docbook docbook-utils docbook-xsl docbook2x doxygen bison flex libpopt-dev cvs subversion git-core jade texinfo libgdbm-dev libgmp3-dev libltdl3-dev libreadline5-dev libbz2-dev libx11-dev libssl-dev libxt6
(o analogo per distribuzioni basate su RPM) che provvederà a installare un bel po' di cosette che sembrano più o meno utili, ma fidatevi, sono necessarie (tra l'altro, il dover installare alcuni pacchetti è il motivo per cui dicevo prima che è meglio dare i permessi di amministratore al nuovo utente).

A questo punto si può procedere con i penultimi due passi preliminari, cioè:
  1. la creazione di una directory /opt/gnome2 in cui installare quanto compilato, directory che deve poter essere scrivibile dall'utente che esegue la compilazione;
  2. la creazione di una directory $HOME/svn/gnome2 in cui verranno scaricati e compilati i vari moduli scelti.
Sempre nel Terminale, quindi:
$ sudo mkdir -p /opt/gnome2
$ sudo chown `whoami`:`whoami` /opt/gnome2
$ mkdir -p ~/svn/gnome2
Nota: quando nel blocco c'è più di un comando, metto $ per indicare dove inizia ciascuno ed evitare problemi di trabocco. Ah, ovviamente potete usare nomi diversi per le directory, ma poi dovete ricordarvelo quando scriverete il file .jhbuildrc.

L'ultimo passo preliminare è scaricare JHbuild stesso con la semplice sequenza:
$ cd ~/svn/gnome2
$ svn checkout http://svn.gnome.org/svn/jhbuild/trunk jhbuild
per poi "installarlo" con l'altrettanto semplice sequenza:
$ cd jhbuild
$ make -f Makefile.plain install
Con l'ultimo comando viene creata una directory $HOME/bin in cui viene copiato lo script python jhbuild e a questo punto si è pronti per cominciare.

Duraturo piacere

E invece no. I preliminari vanno fatti per bene e devono essere una piacevole tortura. Per cui non è ancora il momento di dare il via alla lunga ed estenuante fase di compilazione.

Per evitare intoppi e rallentamenti dopo, tanto vale installare subito gli altri pacchetti necessari o opzionali a poter compilare i moduli che si vogliono compilare (quelli che, nel precedente post, avevo definito dipendenze "esterne-estern"). L'elenco dei pacchetti e il modulo da cui sono richiesti è (più o meno, magari manca qualcosa) il seguente:
  • libattr1-dev (glib)
  • libgamin-dev (glib --> perché il configure cerca libfam in /usr/)
  • libselinux-dev (glib e gnome-vfs, opzionale)
  • xorg-dev (ovvio!)
  • libfreetype6-dev (fontconfig)
  • libjpeg62-dev (GTK+)
  • libpng12-dev (GTK+)
  • libungif4-dev (GTK+)
  • libtiff4-dev (GTK+)
  • libmng-dev (GTK+)
  • libjasper-dev (GTK+)
  • libcupsys2-dev (GTK+)
  • libldap2-dev (opzionale per gconf ed evolution-data-server)
  • libffi4-dev (pygobject, opzionale)
  • lynx (libdaemon)
  • libsmbclient-dev (gvfs e gnome-vfs, opzionale)
  • libfuse-dev (gvfs, opzionale)
  • libcdio-paranoia-dev (gvfs, opzionale)
  • libgphoto2-2-dev (gvfs, opzionale)
  • libopenobex1-dev (gvfs, opzionale)
  • libssl-dev (gnome-vfs)
  • libkrb5-dev (gnome-vfs e evolution-data-server)
  • libacl1-dev (gnome-vfs e non ricordo se anche gvfs o glib/gio)
  • icon-naming-utils (icon-naming-utils :-)
  • libdb3-dev (evolution-data-server ?)
  • libelf-dev (bug-buddy)
  • libwrap0-dev (supporto a TCP in gnome-session, non so se serve ancora per la 2.23)
  • libpcre3-dev (vte)
  • check (gstreamer)
  • valgrind (gstreamer)
  • libsdl1.2-dev (gstreamer e altro)
  • libasound2-dev (gstreamer)
  • libpam0g-dev (PolicyKit e altro)
  • libncurses5-dev (vte, ma forse anche altro...)
  • libexif-dev (nautilus e eog)
  • libxkbfile-dev (libgnomekbd)
  • libgpgme11-dev (seahorse)
  • xnest (sabayon e forse gdm)
Un bel sudo apt-get install ELENCO_PACCHETTI per installare quello che serve. Non ho messo le dipendenze "esterne-esterne" necessarie ai plugin di GStreamer e quelle necessarie per compilare pacchetti non inclusi nel rilascio ufficiale dello GNOME Desktop magari le pubblico in un secondo momento. E, ripeto, potrebbe mancare qualcosa che al momento mi sfugge o potrebbe esserci qualcosa che nel tempo è diventato non utilizzato.

A questo punto possiamo procedere oltre e dirci ciao ciao, perché anche per questa volta ho scritto abbastanza e se non scrivo abbastanza stupidaggini mi annoio in fretta.

PS L'ottimo e ubiquo sqlite sta per diventare dipendenza esterna ufficiale di GNOME, richiesto da evolution-data-server. Al momento in cui scrivo non è gestito da JHbuild, ma lo sarà presto. Per cui, se la compilazione vi si blocca causa sua assenza, installatelo da pacchetto della distro in attesa di aggiornamenti.

[1] a meno che non vi saltiate letteralmente addosso a vicenda, ma quello è un caso a parte, si fanno comunque, dopo, prima di cominciare la seconda, e si definiscono intraminari.

20 luglio 2008

Che cosa intendevi con «Furbetta»?

Prima che la questione degeneri e debba aprire un mutuo... no, non me lo concedono... ricominciamo: prima che la questione degeneri e debba rivolgermi a qualche oscura e poco lecita persona fisica e non fiscale che rilascia divisa monetaria corrente in cambio di un (in)determinato tasso d'interesse¹, non è che tutti coloro che sono stati gabbati e hanno creduto al flame-meme si debbono ora sentire in diritto di chiedere una birra per compensare la loro ingenuità nel non saper leggere tra le righe.

Le relazioni interpersonali, di solito, sono abbastanza semplici: io do qualcosa a te, tu dai qualcosa a me, cercando di mantenere la giusta distanza per non ferirsi come porcospini². Anche se non è detto che la giusta distanza sia 32 centimetri. Potrebbe anche essere 0 oppure -12. Dipende.

Quindi, considerato che io e Milo abbiamo già impegnato tutto il nostro essere nel decidere di dare vita a tale tormentone - ah, se vi facessi leggere i log... non immaginereste quanto lunga, dolorosa e sofferta è stata la decisione di procedere, ma soprattutto di tacere (anche) con chi stimiamo -, data tutta la nostra simpatica allegrezza e linguistica fermezza - credetemi, per incazzarmi con Milo ho dovuto ricorrere allo stanislavskij e immaginare che la ragazza che adoro fosse perdutamente innamorata di lui e non di me - nel costruire questa barocca architettura, visto che in fondo in fondo vi siete divertiti, non sarebbero già dovute aumentare a dismisura le vostre offerte nei nostri confronti? Anche perché vi faccio notare che almeno io sono astemio di facciata, ma in teoria non dovreste buttarmi giù con tre birrette...

Pare comunque che le nostre capacità di marketing siano state apprezzate anche al di fuori della blogosfera. Sono stato contattato informalmente dal personale della sede Ikea di Porta di Roma. Dopo l'insuccesso di pubblico dell'incontro di calcetto maschile Reparto Cucine - Resto dei Locali, hanno bisogno di qualche buona idea per un futuro ipotetico match tra il personale femminile. Io ho già messo in moto gli ingranaggi e ho di getto proposto a Paola la (al solito riciclata, ma sempre verde) possibilità di usare un abbigliamento non convezionale: il body painting, limitato ovviamente alla parte del corpo sopra la vita. Comodo da indossare, facilita i movimenti, i rimbalzi e i constrasti . E poi, privatisticamente parlando, in primo luogo le tette di Paola non sono affatto male, in secondo luogo mi anticipo e do una sbirciata alla sua amica alta 1.85 che mi ha promesso da ormai 6 mesi (ho il terrore di chiederle se, come credo, ha anche promesso me a lei: non voglio assolutamente sapere se e come mi ha descritto). Milo, non preoccuparti, resta pura a Vittorio Veneto: ci penso io alle prove e a tutto il resto.

[1] A.K.A. cravattaro
[2] ogni riferimento a fatti, passeggiate, dita intrecciate, cose, parchi, panchine, persone, animali, cani, gatti è volutamente puramente casuale³
[3] sì, anche il titolo

18 luglio 2008

Gli occhi dolci non bastano e neanche una birretta

È inutile che intercedano femminili (e comunque adorabili) ambasciatrici nel tentativo di trovare un compromesso riconciliante su una questione che è esplosa come fulmicotone e che rischia di lasciare pesanti strascichi, minacciano la nostra collaborazione in modo sinistro e indiscriminato.

Proviamo a ripartire da capo, dal vero punto d'inizio, da ciò che ha generato tutto questo ambaradam, e a rileggere ben bene cosa c'è scritto sulla pagina di bugzilla quando si aggiunge una patch. Anzi, per chi avesse l'amigdala fuori sincro col resto del sistema nervoso centrale come certi individui, mettiamo anche una bella schermata.

Allora, come chiaramente mostrato, quando si aggiunge una nuova patch a bugzilla, è necessario attribuire una descrizione ed è possibile inserire un commento. Bene, dice che è opzionale, ma se tu non volevi che la patch fosse committata, mi spieghi perché:
  1. non hai aggiunto l'opzionale commento "ehi, è solo una stupida prova, non è una vera patch da committare" invece di scrivere a posteriori che avresti integrato il tutto in un secondo momento?
  2. non hai proprio evitato di preparare la patch, visto che avevi intenzione di integrare il tutto in un secondo momento? Cos'è? Esibizionismo? Voglia di far vedere che sei capace di preparare patch non per una, ma per ben due serie di sviluppo? Bravo, bravo.
Ah, scusa, è vero, sei abituato a quell'accozzaglia di interfaccia mal riuscita che è launchpad e applichi il suo approccio artigianale e raffazzonato anche a sistemi progettati per essere funzionali a persone che sanno quello che fanno e perché.

Comincio a pensare che tutto il trash metal che ascolti ti abbia dato alla testa e che se anche me li cantassi, i commenti, uscirebbe fuori qualcosa di incomprensibile. Fai una bella cosa: ogni tanto ascoltati anche musica di qualcuno che al conservatorio ha studiato, non ha solo suonato (al campanello) e non gli hanno mai aperto.

17 luglio 2008

Out of Little Chamber Pot

Milo, se la vita non ti sorride e le ragazze non te la danno, non prendertela con qualcuno che ha semplicemente provato ad applicare il criterio release-earlier, release-often.

A parte che se il sottoscritto non perdesse tempo a vedere se ci sono bug aperti e non ti avesse messo in CopiaConforme, quella penosa e orribilmente cannata traduzione sarebbe rimasta lì a farsi apprezzare da quante più persone possibili (causando magari anche dischi irrimediabilmente persi? forse, visto che l'hai tradotta al contrario) per chissà quanto tempo.

A parte che non ho capito cosa mai avrei incasinato, visto che il sottoscritto si è semplicemente limitato ad applicare la TUA patch.

A parte tutto questo, ma possibile che non riesci, come direbbe la mia ex-amica Valentina, a essere uomo e tirare fuori le palle, evitando queste scene infantili in cui non si capisce mai con chi ce l'hai e con chi non ce l'hai?

Che poi, diciamocelo, cazziatoni sull'uso di svn da uno che non capisce la differenza tra un tag e un branch...

15 luglio 2008

Luce del giorno

Per chi non l'avesse capito, ma anche per chi l'ha già capito, i miei livelli di curiosità sfiorano il maniacale. Non su tutto, certo, solo sulle cose che trovo intellettualmente stimolanti. Magari per altri sono stupidaggini, magari si tratta espressioni di idee opposte alle mie, ma talvolta è piacevole leggerle e sapere che qualcuno le pensa.

Per esempio, trovo che il seguente passaggio estratto da un commento di un famoso blog meriti di essere portato bene in vista e non essere relegato a un lontanissimo (nello spazio) commento # 116 che il casuale lettore neanche arriva al numero 30.
Ma insomma questo GTK che problemi ha? E' veramente il linguaggio di programmazione che usano il problema? A mio modesto avviso NO. Il problema di GNOME e delle GTK sono 2:
- la forza lavoro totalmente inesistente
- la filosofia che c’è alla base che ha rovinato tutto.

Possibili soluzioni? Non ne vedo e anzi vedo nel futuro un fallimento totale. Quello che fa la differenza con le QT è sopratutto la forza lavoro. Sarebbe un bene se GNOME fosse riscritto in QT? Tralasciando i problemi di licenza, la risposta per tanti motivi è SI. E qui il discorso kde vs gnome non c’entra niente. E’ un discorso puramente tecnico. Ma questo non accadrà mai a causa del secondo motivo prima citato: - la filosofia che c’è alla base che ha rovinato tutto.
Ora, per curiosità, ho letto, ho riletto, ho cercato con la funzione cerca, ho provato con la tavoletta ouija, ma non sono riuscito a trovare alcun riferimento e/o chiarificazione su cosa il citato intenda per filosofia che c'è alla base e sul come abbia rovinato tutto.

Qualcuno sa come aiutarmi?

PS sì, un post interamente basato su un commento altrui è verameeeente una bastardata, ne sono conscio. Avrei potuto commentare anche io su quel blog e chiedere spiegazioni, ma non mi andava di spiegare, oggi ho fatto già abbastanza il pignolo saputello altrove e dal vivo. Cmq non è un attacco personale. È solo che non capisco.

PPS semmai l'attacco personale nei confronti della persona che ha scritto quel commento è relativa all'uso improprio della E MAIUSCOLA CON APOSTROFO, al posto della E MAIUSCOLA ACCENTATA. Uno dei vantaggi di Linux su MS Windows è che le lettere ÈÒÀÙÌ sono mappate sulla tastiera. Basta premere BlocMaiusc e poi il tasto con le corrispettive minuscole. Usatele. La grammatica ve ne sarà grata.

14 luglio 2008

Gradevole come una balena insabbiata

Update: spiacente di essermi dimenticato il titolo... cioè mi ero dimenticato di metterlo quando ho pubblicato e ora mi sono dimenticato quale fosse, quindi ho rimediato in 4 e 4 8

Che le GTK+ fossero qualcosa di obsoleto lo dico da tempo. Che sia molto meglio scriverle in C++ che è un linguaggio con i controcosi l'ho sempre sospettato, ma ora ne ho la conferma. Che GNOME è inutile che esista lo sanno praticamente tutti tranne me.

Ora che ho fatto coming out per la seconda volta nel giro di una settimana, lasciatemi irridere crassamente la nuova stupida idea che è venuta in mente a quei mentecatti degli sviluppatori delle GTK+ e di GNOME.

Ma prima un doveroso riassunto.

Un toolkit veramente moderno dovrebbe fornire un sistema per il theming degno di questo nome. L'utente deve essere messo nelle condizioni di cambiare non solo il colore, ma anche la forma di ogni controllo che appare a schermo (ah, WindowsBlind... che sogno umidiccio) perché è così che fanno i sistemi operativi seri e moderni. Essendo però le GTK+ un toolkit antiquato, il suo sistema di theming è altrettanto antiquato. Gli sviluppatori se ne sono accorti solo oggi, ma è da alemno un decennio che sono evidenti agli occhi di tutti¹ i seguenti problemi:
  • i theme engine sono troppo dipendenti dai dettagli di implementazione dei widget;
  • i widget non ereditano in modo corretto i colori;
  • gli stili non possono essere aggiornati con facilità in funzione di diversi valori delle proprietà;
  • gli artisti (ce ne fossero nella comunità di GNOME!!) non possono creare temi senza ricorrere a un engine.
La questione, si sa, va avanti da anni e anni e anni, solo perché quei capoccioni si ostinano a mantenere la compatibilità all'indietro e perché all'epoca di GTK+ 2.0 non avevano idee migliori e sviluppatori capaci che potessero sfruttare l'accelerazione 3D.

Oggi, inebriati dai fumi dei narghilè che si sono fumati in quel di Istanbum, invece che arrivare alla vera soluzione (spostarsi di qualche chilometro e ritirarsi a vita monastica sul monte Athos lasciando che il vero desktop² conquisti il mondo e guidi le masse) arrancano ancora nel tentare la rianimazione artificiale di qualcosa che nessuno vuole più.

Prima se ne escono con le seguenti proposte collegiali:
  • creare un theme engine CSS per fare delle prove e vedere come funziona e se gli artisti riescono in questo modo a tirare fuori qualcosa di buono senza richiedere la scrittura di codice;
  • definire una nuovi API per la 3.x;
  • aggiungere un treno di funzionalità e miglioramenti.
Poi, non contenti, lasciano la parola a uno sconosciuto Owen Taylor, il quale dichiara che in teoria la vera soluzione al problema temi sarebbe creare una theme library "esterna" alle GTK+ perché:
  • in questo modo sistema di theming diverrebbe indipendente dai widget delle GTK+;
  • riuscirebbe meglio la theme-izzazione dei custom widget personalizzati forniti dalle applicazioni;
  • la theme library potrebbe essere usata anche da altri toolkit ed essere considerata l'API primaria per l'aspetto nativo di Linux.
Il tutto portando esempi che sembrano corretti, ma che in realtà sospetto si tratti semplicemente di una serie di understatement o altre figure retoriche che alterano il senso della realtà.

Agli dei io chiedo la fine di questi patimenti, dell'attesa durata già troppi anni (cit. o quasi).

[1] ma tutti tutti; andate al supermercato, reparto latticini, prendete la prima vecchia anziana signora che passa e domandatele "signora, il theming delle GTK+?" vi risponderà "nessuna pietà!"
[2] a scelta, a seconda delle vostre tendenze, il vero desktop è KDE, MacOS, Windows oppure Plan9

JHbuild delle mie brame - parte 1

Una doverosa premessa. JHbuild è da utilizzare solo se avete intenzione di scaricare i sorgenti e compilarli, magari perché vi interessa sbirciare nel codice, magari perché il vostro computer nuovo fiammante usa solo il 5% della CPU per il 95% del tempo, magari perché avete intenzione di partecipare alla scoperta e risoluzione del bug. Se non vi interessano i sorgenti e la compilazione, ci sono altri modi, ma personalmente non li ho sperimentati.

JHbuild è un comodo strumento che permette, con uno sforzo non titanico, di compilare e tenere aggiornata l'installazione di un determinato programma o di un intero ambiente grafico direttamente dalla versione in via di sviluppo, senza interferire oppure sovrascrivere quanto installato attraverso i pacchetti dal proprio vendor o distributore.

JHbuild è costituito da tre parti fondamentali:
  • il comando stesso (ossia l'insieme di script in python), che funge da "frontend" ai comandi specifici per l'aggiornamento e la compilazione dei sorgenti, il tutto condito con la definizione di opportune variabili d'ambiente - esempi: mi basta scrive jhbuild update PROGRAMMA invece del comando specifico (cvs, svn, git, bzr) per aggiornare, oppure jhbuild buildone PROGRAMMA invece della sequenza configure/make/makeinstall e senza dover specificare il percorso in cui sono installati i programmi e le librerie che voglio usare;
  • l'insieme dei moduli disponibili, ossia l'elenco di programmi "conosciuti" che si possono compilare, ognuno con le indicazioni su come reperire i sorgenti e sulle dipendenze da cui (tautologicamente) dipendono;
  • la configurazione specifica dell'utente, nel file $HOME/.jhbuildrc, che serve a integrare quanto definito dalle due precedenti parti con le esigenze specifiche di chi sta usando JHbuild (cosa si vuole compilare, cosa no, eventuali aggiustamenti per la propria distribuzione...).
C'è gente in giro che dice che JHbuild non funziona, senza spiegare con assoluta precisione con chi ce l'ha e con chi non ce l'ha.

JHbuild è uno strumento che va capito e poi "domato", adattandolo al proprio sistema e comunque, trattandosi di compilazione di software prelevato da sistemi di version control, è sempre probabile che qualcosa non vada a buon fine (anche se, per esperienza, con i programmi sotto version control basta aprire un bug e aspettare un paio di giorni, mentre per compilare Firefox da targz bisogna chiedere aiuto alla jakuza).

Le difficoltà che si possono incontrare nell'usare JHbuild sono per lo più riferibili o a mancate dipendenze "esterne-esterne" (vedi dopo) oppure alla mancata/parziale/inadatta configurazione utente.

Visto che questa dovrebbe essere una guida "definitiva" a JHbuild e vista la mole di informazioni che sto per riversavi addosso, ho pensato fosse meglio (per me) dividere il tutto in più parti. Anzi, vi preannuncio che in questa puntata non faremo un bel niente, tranne parlare di massimi sistemi e filosofie di compilazione.

Premessa su come funzionano e come non funziono le cose

JHbuild è nato per permettere agli sviluppatori di GNOME di avere una versione aggiornata all'ultimo minuto della versione di sviluppo dello stesso, tant'è che in modo predefinito l'esecuzione del comando jhbuild build va a prelevare, compilare e installare i circa 200 moduli che compongono lo/il/la/un/una GNOME Desktop and Development Platform.

Per chi fosse nuovo di queste cose o non se ne è mai interessato, con GNOME Desktop and Development Platform (nel seguito indicato per brevità come GD&DP) si intende un ben definito gruppo di librerie e programmi il cui sviluppo è in qualche modo gestito dallo GNOME Project. A cavallo tra un rilascio stabile e un altro la comunità di GNOME si interroga su cosa sia il caso di includere nel GD&DP: nuove librerie per gli sviluppatori, nuove applicazioni per gli utenti (oppure applicazioni già esistenti finalmente giudicate stabili e aderenti agli standard).

Il GD&DP altro non è che la lista di tali moduli ufficiali (e relativa versione), che soddisfano una serie di criteri come internazionalizzazione, supporto all'accessibilità, aderenza agli standard nel codice e nell'interfaccia, utilità per l'utente finale... Tale lunga lista è divisa in altre sottoliste:
  • piattaforma di sviluppo - librerie per sviluppatori giudicate essenziali, gestite dallo GNOME Project e alle quali tutte le altre applicazioni e librerie GNOMEsche possono fare riferimento, con garanzia di stabilità delle API e delle ABI per tutta la serie 2.x;
  • ambiente grafico - insieme di applicazioni visibili all'utente e librerie di supporto (a differenza delle precedenti tali librerie non sono giudicate essenziali e non vi è garanzia di stabilità delle API e delle ABI);
  • strumenti di amministazione - insieme di applicazioni rivolte all'amministrazione del sistema;
  • strumenti di sviluppo - insieme di applicazioni rivolte allo sviluppo di applicazioni per GNOME;
  • binding - librerie per scrivere applicazioni GNOME-compliant in linguaggi diversi dal C
A ciò è affiancata la lista delle dipendenze esterne, ossia moduli che non sono gestiti o sviluppati direttamente dallo GNOME Project, ma che sono comunque necessari all'intero ambiente e che possono essere ufficialmente usati come dipendenza dai moduli dello GD&DP senza timore. La dicitura "senza timore" è rivolta più agli sviluppatori che agli utenti, non riferita alle funzionalità fornite, ma alla stabilità delle API: non potendola garantire direttamente, si fa riferimento a una prefissata versione. Queste dipendenze esterne sono gestite da JHbuild proprio perché da una versione all'altra di GNOME potrebbe essere necessario usare una versione più recente.

Modulo extaparlamentare

In questa ottica quindi, quando prima parlavo di dipendenze "esterne-esterne" intendevo tutto ciò che non è gestito direttamente da JHbuild, come per esempio tutti i vari pacchetti -dev di X11, o libpng-dev o il gcc, ossia tutto ciò che serve ma che non è "ufficiale" per GNOME perché talmente necessario o basilare da servire all'intero sistema.

Tanto per cominciare, vi dico subito che, per mia esperienza, si deve installare una buona dose di pacchetti per far funzionare JHbuild al meglio.

E qui innesto la questione bootstrap. Una piccola e limitata quantità di dipendenze "esterne-esterne" è gestita da JHbuild e può essere recuperata, compilata e installata con il comando jhbuild bootstrap. In teoria sarebbe possibile installare direttamente dai pacchetti forniti dal vendor e saltare questo passaggio, ma per esperienza personale è meglio passare per il bootstrap. Ora, potrei anche stare qui a spiegarvi i motivi, ma poi non troverei mai il tempo di passare alla parte due. Quindi per ora accontentatevi e sperate che in settimana prossima arrivi la nuova uscita di questa interessssaaantisssssima serie.

13 luglio 2008

Controllo del livello di rombo

  • creazione di un nuovo progetto - fatto
  • definizione di un nuovo gruppo - ricordato di farlo
  • aggiunta di un secondo amministratore al sopraindicato gruppo - a sua insaputa, così si impara a non richiedere l'accesso al svn di GNOME e scassare me per i suoi frequenti commit
  • importazione dei sorgenti - speriamo corretta, mica mi andava tanto di leggere tutto il manuale di bzr; ho fatto come tutti, leggiucchiato e copiato i comandi senza capire cosa stessi facendo
  • cose da fare - parecchie, compreso vedere se compila, aggiornare, correggere, aggiungere, scattare nuove schermate, coinvolgere amici e fidanzate, preparare pacchetti installabili e via dicendo
  • voglia di fare - parecchia, ma non è detto che sia rivolta a fare¹ esattamente quanto elencato poco sopra
Chooooopaaaaaa!!!

[1] mmmhhhh

Update: dimenticavo, questo post andrebbe gustato con Radiopatchanka come sottofondo musicale, nella versione dall'album che da il titolo al post medesimo.

11 luglio 2008

GNOME è un terrorista islamico

Certo che il titolo non è serio, se lo fosse starei verameeeeente male. Se vi sentiti offesi dall'uso scorretto della parola islamico e/o terrorismo allora siete voi che non state troppo bene. Ma per piacere, niente fatwà nei miei confornti, nè indagini della DIGOS.

Quei mattacchioni degli sviluppatori di GNOME, compresi i soliti italiani emigrati all'estero, sia quelli simpatici sia quelli antipatici¹, se ne stanno in quel di Istambul a farsi belli l'un l'altro con le loro presentazioncine. Update: accidenti, ho dimenticato quelli bravi, ma per fortuna quelli non sono ancora emigrati.

Sarà il clima, sarà il cibo, sarà il laicismo del padre della patria Atatürk, saranno le scie chimiche, ma se ne stanno uscendo con idee completamente folli.

Non bastava aver infilato di nascosto le schede nelle finestre di esplorazione di Nautilus, adesso mi si fanno belli pensando di poter infilare le schede anche nella Calcolatrice e in Totem (seriamente, OK nella calcolatrice, ma in Totem?????)

Ma fin qui, al limite, ci potremmo anche stare. In fondo sono dei tizi che passano tutto il giorno davanti a un computer. Cos'altro volete che possa venire in mente a delle persone che li portate in gita in una città dove pullulano locali con danzatrici del ventre e loro si mettono a fare un Ice Cream Deathmatch... Qualcuno dovrebbe spiegargli come funzionano le cose. O forse hanno firmato qualche codice di condotta...

No, peggio. Si mettono a fare i misteriosi dicendo che hanno dei piani per il futuro. Piani quinquennali, il che li rende non solo terroristi islamici ma anche marxisti leninisti. Voci di corridio abbastanza ben accreditate (ah, se qualcuno ogni tanto sapesse leggere tra le righe...) ci rendono noto che l'epocale passaggio dalle versioni 2.x di GTK+ e di GNOME alle versioni 3.x altro non consisterebbe che nell'aggiunta della seguente regola:
Ogni 3~4 anni potremmo/potremo romprere la compatibilità delle API/ABI
Insomma, come dire, tutto 'sto casino solo una semplice e banale "politica di sviluppo".

Anzi, di più. Una politica di sviluppo che prevede che per la versione 3.0.0 non ci saranno nuove e arrapanti funzionalità come l'alpha trasparency, le animazioni, nuovo sistema di theming e tutti quei fronzoli che gli utenti chiedono a gran voce da anni. Per quelli bisognerà aspettare la versione 3.2.0; la 3.0.0 sarà dedicata alla sola rimozione di quanto obsoleto. Questo per le GTK+, scritto nero su bianco nello State of the Union.

Quindi, leggittimo il dubbio. Cosa effettivamente saranno GTK+ 3 e GNOME 3 e successivi? Dipende. Da cosa ci si vuole vedere o cosa ci si aspetta.

Potrebbero essere il vostro peggiore incubo se le vostre applicazioni preferite basate sulle attuali versioni 2.x non mettono in pratica nei mesi a seguire una politica di svecchiamento del codice con la rimozione di tutte le chiamate alle funzioni che man mano vengono rese deprecate (e per questo esiste già da tempo immemore le comode opzioni -DGTK_DISABLE_DEPRECATED e simili che vi impedisce di compilare, ma non di eseguire da binario).

Potrebbero essere la vostra più grande delusione se pensate che la loro attuale mancanza sia il fatto che dovrebbero usare le schede video accelerate per essere più espressive con un gestore di scene vettoriali con i controcazzi e un composer 3d punta e clikka (cit.)². Anche se non è detto che qualcosa lo vedremo, magari non gli effetti speciali che vi aspettate, di certo non nella 3.0.0.

Potrebbero essere la vostra migliore opportunità di svecchiare il vostro codice e migliorarlo, buttando via il vecchio, l'inutile, il farraginoso, il non più mantenuto, il non più aggiornato, il complicato e inserendo quanto al momento non era possibile inserire in virtù di una comunque benedetta compatibilità all'indietro. Questo però, ovviamente, solo se siete sviluppatori di applicazioni... Ah, cosa dite? Non siete sviluppatori? Pensate che la programmazione a oggetti si possa fare solo in C++? Credete che l'introspezione sia qualcosa che si fa con se stessi e non per creare dei binding in modo semiautomatico? Bene in tal caso, continuate pure a fantasticare e a trollare, ma non trattenete il fiato nell'attesa. Diventereste cianotici.

In tutti i casi, se siete veramente interessati a sapere cosa ci riserva il futuro, scaricate e leggete la sopra citata State of the Union delle GTK+. Filosoficamente parlando, è tutto scritto lì, basta saper leggere con mente aperta. E magari modulare la lettura con la consapevolezza che, per il momento, il passaggio 2.x --> 3.x è orientato allo sviluppo e agli sviluppatori di applicazioni (come in fondo è sempre stato, ma non vi spiego cosa vuol dire questa frase criptica, ermetica e un po' zen)

[1] Non vi siete portati i pacchi di maccaroni, vero? Non fateci fare la solita figura da Italietta (cit.).
[2] Felipe, sinceramente, grazie per la variegata fauna e la flora umana che mi permetti di osservare come se fosse un documentario di Rieducational Channel sulle lucertole

9 luglio 2008

One day is fine and next is black

Disclaimer: questo post era stato scritto un po' di tempo fa e mai finito. La notizia è vecchia, ma debbo assolvere al fioretto di scrivere 5 post pratici... Beh, pratico pratico non è... Facciamo così, mi arrogo il ruolo di opinionista. Ah, mi sono anche autocensurato. Non chiedetemi di più che poi mi snaturate.

Update: leggete anche i commenti, interessante intervento di "boyska" che chiarisce alcuni punti da me diffamati con (effettivamente) un po' di clamorosismo giornalistico. Ma in fondo io odio Python (o meglio, odio Python se usato per scrivere librerie; fateci pure le applicazioni, ma le librerie scrivetele in C e fornitene binding in tutti i migliori linguaggi) e le UI non integrate.

Per cominciare bene una corputa citazione non tradotta:
Another big issue was the choice of the toolkit.. [...] We had a list of requirements and were trying to find which toolkit would answer those requirements the best...
  • GTK did not fit the requirement of being able to have a background image on a text widget (unless doing a lot of hacking and reimplementing the text widget)...
  • QT did not fit the requirement about the performance....
Which one to choose... well, we decided to go with something completely different: EFL. For those who do not know what it is, the EFL is the Enlightenement Foundation Libraries. It's a set of libraries that makes building UIs such a beauty! It only has one.. euhh.. two... humm.. a few problems :
  1. there are still no releases of the EFL.. so anyone willing to test this needs to compile the huge set of libraries from CVS
  2. the APIs might change until the libraries are released...
  3. we cannot embed an image inside a text widget.. so no smileys support...
The first two issues are easily dealt with : we don't care.. anyways, it should be released by the time amsn2 gets finished... the last one (embeded images/smileys) is resolved with another solution: use webkit (html engine) for drawing the contact list and chat window text widgets....
L'originale completo lo trovate qui. È un estratto dall'annuncio del futuro aMSN2, nel quale confluiranno gli sforzi e le esperienze degli attuali aMSN, emesene e pymsn.

Ora, sarò io che ho la mia deviata visione del mondo, non lo nego, ma qualcuno concorda sul fatto che ciò che stanno dicendo in pratica è quanto segue:
  • vogliamo una finestra di login con tanti bei inutili fronzoli grafici accattivanti e occhiolinosi (come quella mostrata nella seconda parte di questo video) e per farlo andremo a usare un toolkit grafico che nessuno si caga di striscio trova interessante e che non ha neanche una versione rilasciata o la garazia di stabilità delle API solo perché ci permette di aggiungere un certo numero di determinati fronzoni;
  • il toolkit grafico che nessuno si caga trova interessante di cui sopra comunque non ci basta per poter disegnare ben benino tutte le michiate sciocchezzuole del protocollo MSN¹, per cui andremo a usare WebKit per disegnare l'elenco dei contatti e le finestre di chat (che cmq al momento non è di certo un prodotto "stabile" per GNU/Linux, nel senso che non lo trovate pacchettizzato in modo rigoroso nelle distribuzioni);
  • ah, la nostra applicazione comunque sarà scritta in Python, eh (questo lo leggete nell'originale) che tutti sappiamo essere un linguaggio pensato apposta per essere performante;
  • ah, la nostra applicazione comunque avrà diversi frontend: gtk+, qt, cocoa, magari perfino xul, eh (anche questo nell'originale);
Giusto? È questo che stanno dicendo? Vero?

No perché, in tal caso, sarò Franco, anche se fatico a essere Mario (Luca mi riesce decentemente bene), a me pare che tale scelta progettuale sia stata partorita dalla mente iperormonata di un adolescente in piena fase di sviluppo (ossia qualcosa il cui QI e capacità di giudizio si avvicinano a quella di fagiano maschio che decide che il periodo degli amori giusto è all'apertura della stagione di caccia... momento! mi sa che è proprio così), piuttosto che da una persona che sta cercando di sviluppare una applicazione che supporti un certo protocollo di messaggistica istantanea per il quale non esiste un client ufficiale in determinate piattaforme hardware/software.

E non venitemi a dire che si tratta di una ventata di innovazione in una desolata valle di decadenza².

Soprattutto non cominciate a pensare che, quando sarà il momento, GTK3 and GNOME3 saranno qualcosa del genere. Se pensate che la "scarsa disposizione all'innovazione e al cambiamento"³ sparirà con la versione 3, che sarà la casa delle liberta (facciamo un po' come cazzo razzo ci pare - cit.) allora avete sbagliato a connettere i neuroni con i quali rielaborate il vissuto per la creazione di una visione organica dell'esistenza.

Anzi, i lavori per GTK3 sono già cominciati con il merge del branch GSEAL (che io ve lo direi cosa è, ma poi voi che ci fate? ci andate al bar a bullarvi con gli amici? dite che gli interessa il fatto che ora tutte le strutture private delle GTK+ sono state sigillate e non sono accedibili se non tramite opportuna funzione?). Se innovazione deve essere, sarà forse individuabile nella flessibilità.

E pensate sempre che se voi ignari utenti state festeggiando in attesa delle GTK3, alcuni sviluppatori forse stanno già sbattendo la testa al muro, visto che il breakage delle ABI costringerà anche progetti esterni a un omologo breakage (qualcuno ha detto GStreamer?).

Comunque, siamo felici.

[1] che tra l'altro, commento personale, sembra che aumentino esponenzialmente con passare del tempo, vedi il recente annuncio sulla visione di film/televione condivisa con chi chiacchieri... sarò sempre io, ma o cazzeggio mi intrattengo con i miei contatti o mi guardo un prodotto audiovisivo...
[2] ehi, era ovvio che era qui che volevo andare a parare, no :-)
[3] citazione di citazione

Dar da mangiare agli affamati

Vi prego. Di solito non prego mai nessuno. Magari vado lì e dico "ti ricordi il favore che mi dovevi? bene, è il momento di ricambiare". Ma pregare proprio no.

Anzi no, non vi prego. Vi faccio presente che avete cordialmente scassato.

Cosa? Immaginate. Perché? Di seguito esposto.

Innanzitutto non prendetevela con questo povero ragazzo. La brutta notizia che ha comunicato l'ha appresa contestualmente al fatale scivolare di una succulenta margherita dalla mani di un indaffarato camerire. Swish. Giù dal piatto. Inesorabilmente. Per terra. Plop.

Considerate anche che tutti i giorni si fa Anzio-Roma per spirito di sacrificio e che era da maggio che non mangiava (non vi dico l'ansia nel leggere le sue lacrimose email "allora? io ho fame! andiamo a mangiare una pizza"). Ah, stavolta l'incontro era governo (F.M.R.) contro governo ombra (A.F.L.), ma è filata liscia perché i bravi lavoratori dipendenti si sono rimessi di buona lena a lavorare senza sventolare inutili minacce che non ci crede più nessuno. Anche se ogni tanto ridono e si distraggono sul posto di lavoro. Ci sono anche altri lavoratori che si lamentano del fatto che non c'è più la libertà di una volta sul posto di lavoro, che non possono sparare le solite battute davanti alla macchinetta del caffè come hanno visto fare in simpatiche sitcom alla televisione, ma speriamo tutti che possano piantarla con questi atteggiamenti patetici (cit.) e pensare che magari ogni tanto bisogna pure assumersi le responsabilità per le proprie azioni. O evitare di prendere responsabilità, ma questa è un'altra storia.

In secondo luogo, che poi è in primo luogo, la storia è sempre importante, la cultura POP viene per seconda. Andiamo per ordine e mano nella mano, andiamo a leggere cosa dicono le nostre bene informate fonti

Planet, sost. maschile

Planet è una applicazione aggregatore di feed progettata per raccogliere i post dai weblog dei membri di una comunità Internet e mostrarli su una sola pagina.
Citazione e traduzione dalla relativa pagina di Wikipedia. Per chi non avesse memoria perché non c'era, o era distratto, o dormiva e sognava altro, Planet è nato per le comunità GNOME e Debian. Se andiamo a vedere cosa dice il primigenio planet.gnome.org troviamo
Planet GNOME è una finestra sul mondo, il lavoro e le vite degli hacker e dei contributori di GNOME
Capite? Mondo. Lavoro. Vite.

Ripetiamo, con le virgole stavolta. Mondo, lavoro, vite.

Comunità, sost. femminile

Una comunità è fatta di persone, persone che sono più della somma delle loro rispettive attività nel seno della comunità (uh, posso dire "seno" con la nuova politica editoriale? sì, vero?), persone che magari su altri argomenti si scannerebbero a morte, persone che comunque trovano un punto d'incontro, persone che rompono un po', persone che si lasciano rompere un po', persone che magari non si sono mai viste, persone che era meglio (o peggio?) se non si fossero mai viste, persone che parlano criptiche e stitiche come oracoli, persone che fraintendono e pensano che servano lassativi, persone che ti si illuma la giornata quando ti lampeggia l'icona Pigdin, persone che dici "oh cazzo" quando ti lampeggia l'icona Pidgin.

Insomma, visto che mi sono rotto a fare stupidi esempi, mi sono spiegato?

Non è possibile e nemmeno corretto pensare ai membri della comunità come a monolitici blocchi di peperino che pensano sempre e solo a una cosa: la fre *cough* Ubuntu!

Catalogazione, sost. astratto

Allora, tirando rapidamente le somme perché stasera non mi va tanto di scrivere:
  • se cercate documentazione su come funziona un certo ambiente grafico o sistema operativo, si consulta il wiki (oppure se lo sapete voi, ma bene, non così tanto per dire, scrivete sul wiki)
  • se cercate supporto per qualche problema, ma anche solo per il piacere intellettuale del cazzeggio (o per il fascino delle questioni accademiche, come ha scritto nadiag81), prima si cerca il forum, poi si chiede sul forum (oppure, come sopra, se lo sapete voi, ma bene, non così tanto per dire, si risponde sul forum)
  • se cercate informazioni sui cambiamenti in corso d'opera o semplicemente delle news, si cerca nei log dei sistemi di versioning control o nelle mailing list, oppure nel secondo caso nell'apposita sezione dei vari siti (che, per forza di cose, contiene solo quelle news che si vogliono pubblicizzare)
  • per tutto il resto c'è il planet, che non è un obbligo o un servizio: è una finestra
E se un giorno cominceranno ad apparirvi poesie ben scritte, non osate alzare proteste del tipo "ah, ma che c'azzeccano 'ste ermetiche poesie con Ubuntu?? Ma chi è questa? Ma chi ce l'ha messa? Che poi neanche si capisce con chi ce l'ha e con chi non ce l'ha. Cos'è triste o allegra?" perché non è una scelta del lettore cosa appare sul planet. È una scelta di chi pubblica condividere o meno la propria vita e i propri pensieri. E io, sinceramente, ne sono e ne sarei onorato.

Rispettosamente onorato per il fatto di mettersi in gioco, di esprimersi, di prendere una posizione, di svelare il suo personale e di lasciarci sbirciare nella sua vita, non solo di fare da grancassa telematica per qualche inezia come cosa c'è di nuovo nella prossima versione del programma tal dei tali.

Insomma, IMHO, ripeto IMHO, ribadisco IMHO, i lettori di un planet (ma anche di un blog come è successo più volte per pollycoke) che si lamentano di contenuto inappropriato solo perché chi scrive esprime il suo personale e non notizie, sembrano rispettosamente immaturi.

Pratico, sost. industriale

Visto che sono troppo buono, se proprio non ce la fate, se proprio vi fa fastidio conoscere meglio altre persone, allora evolvetevi oppure imparate.

Planet (l'applicazione alla base dei planet) permette di rimuovere i post di certe persone senza che tali persone siano rimosse dal planet. Basta semplicemente usare un foglio di stile CSS personalizzato per il proprio browser. Il procedimento, descritto per Epiphany e Firefox, lo trovate qui, anche se non l'ho testato sui planet italiani. Se proprio dovesse servire, chiedete e traduco la pagina sul wiki.

Per tutti coloro che non vogliono proprio sapere, mi pare una valida soluzione, terribilmente geek (o smanettona, a scelta). Il planet è salvo, voi non siete infastiditi e tutti vivono felici e contenti.

Corollario, sost. floreale

Remo, inutile che ti lamenti. Con tutto il bene che ti possiamo volere, il problema che hai generato (o per lo meno fatto esplodere) non è relazionato al comunicare chi sei e cosa pensi, ma al modo in cui è stato fatto.

Sono io il primo a scrivere di argomenti assolutamente fuori luogo e personali, in modi terribilmente sconvenienti e a volte ruvidi e offensivi; questo intero post ne è la prova e anzi dovrò autosanzionarmi e scriverne almeno 5 che trattino di argomenti pubblici e pubblicabili senza opinioni¹.

Fammi un favore, prova a pensare al differente tipo di comunicazione tra il tuo
foto di silvio
Grazie Italia
e il mio altrettanto fazioso
Alemanno Sindaco ... ... ... Io sinceramente speravo in Paperino Astronauta, o Paperoga Stilista...
In fin dei conti studi relazioni internazionali e diplomazia, dovrebbe essere il tuo pane quotidiano saper comunicare il tuo pensiero senza creare troppi casini con chi ti ascolta, no?

Che poi credo che faccia piacere anche a te pensare che un giorno potremo leggere (e soprattutto far leggere) dei libri di Salty o delle poesia di Deindre o delle bestemmie di Bubu (tanto per citarne qualcuno che al momento è al momento sarebbe al di fuori delle politiche di pubblicazione) anche a quelle persone che ora chiedono di leggere solo di linux e ubuntu e gnome e kde e microsoftbastarda e novellvenduta, no? Proviamo a creare questa possibilità.

[1] E sappi che questo farà soffrire terribilmente la nostra buona Flavia, lo avrai sulla coscenza. Farai piangere Flavia, poverina. Sappilo!

8 luglio 2008

Ma anche no

Dico io, ma vi pare possibile?

Una spiccata personalità egocentrica e megalomane come la mia che, così, di punto in bianco, decide di smettere di tormentare il prossimo con i propri neurodeliri.

E sì che di indizi ne avevo sparsi: "preziosa, criptica perla di saggezza" vi pare una frase che ha ancora senso scrivere in questo millennio appena cominciato e già stantio¹? Forse qualcosa tipo "le orde infernali di Apocalisse" sarebbe stato un indizio migliore? Magari volevate il classicheggiante e antologizzante "miei buoni lettori"? Oppure l'aulico shakespeariano?

Per farla breve: il contapassi di blogger dichiara ufficialmente che questo è il post numero 200 (duecento) e che, per logica, induzione e deduzione, il precedente era in post numero 199 (centonovantanove oppure uno-nove-nove che dir si voglia).

È un tranguardo importante per il quale bla bla bla bla bla, sono felice che bla bla bla bla bla, spero tanto che voi bla bla bla bla bla, adesso ci aspettano nuovi bla bla bla bla, insieme potremo bla bla bla bla, bla bla bla.

Comunque, passando alle cose serie, io avrei approfittato dell'occasione per fare outing e comunicare ufficialmente che sono lesbico e ovviamente fare il tutto in modo unico, irripetibile e speciale, ma da un lato mi si dice che su planet.ubuntu-it.org è cambiata la politica editoriale e sarebbe opportuno scrivere solo cose "pratiche", dall'altro qualcuno a cui proprio non riesco a dire di no mi mette fretta per passare al successivo con comunicazioni varie e urgenti... uff, allora, se non sapevate, sapevatelo!

[1] ricorsivo: anche "millennio appena cominciato e già stantivo" è qualcosa che che non ha senso scrivere

4 luglio 2008

Freak on a Leash

Stavolta il titolo c'entra con il contenuto. Cosa rara.

Come nell'omonima canzone, "something takes a part of me; feeling like a freak on a leash". OK, banale, banalissimo, ma che volete farci, citare la cultura pop è di più facile comprensione rispetto a un "theus men aito tonde apallaghen ponon"¹, no? E poi perderei tempo a scriverlo con gli accenti al posto giusto e a fornire la versione con gli accenti del giambo. Troppo tempo.

Per questo (il fatto che qualcosa² ha preso parte di me) e per altri motivi che non vi sto a spiegare perché non posso, non voglio e non devo, come dire, dichiaro ufficialmente che questo è l'ultimo post che scrivo. Per lo meno per un bel po'. Ma tanto un bel po'.

Vi lascio solo un'ultima, preziosa, criptica perla di saggezza: uno-nove-nove.

[1] e se sapete cosa è non lo dite nei commenti, grazie.
[2] o qualcuno?