Ritorno in Giappone

Non è che qualcuno cerca un sistemista/programmatore web nella zona di Tokyo?

Tra i miei buoni propositi per il 2008 c’era l’intenzione di tornare in Giappone.

Ebbene, mentre leggete queste righe sarò in aeroporto ad aspettare il volo per Tokyo Narita. :D

Purtroppo le previsioni del tempo non sono delle migliori (pioggia e temporali per almeno una settimana, temperature tra i 20 e i 28 gradi, umidità al 95-99%), ma… non me ne frega niente!

Nelle prossime due settimane i post sul blog saranno di tono molto meno tecnico, ma per chi è interessato al paese del Sol Levante, cercherò di postare un po’ di foto e impressioni di viaggio.

Per tutti gli altri, ci si risente dopo il 10 settembre.

LXterminal on steroids (2)

Un altro aggiornamento per lxterminal.

Grazie al lavoro di Giggio, che, oltre a creare il pacchetto per Ubuntu di lxterminal ha anche modificato il sorgente in modo che le modifiche alla configurazione vengano applicate al volo, oggi vi presento un’altra versione di lxterminal.

Ma bando alle ciance, ecco i pacchetti da scaricare:

Oltre ai pacchetti deb già pronti per l’installazione, potete scaricare il tar.gz dei sorgenti, già debianizzato, nel caso vogliate compilarlo da soli, fare altre modifiche o semplicemente se non vi fidate dei pacchetti già pronti. ;)

LXterminal on steroids

Qualche miglioramento per rendere migliore questo ottimo programma.

Da un po’ di tempo uso lxterminal (dal progetto LXDE) al posto di gnome-terminal, ma mi sono scontrato subito con alcune sue limitazioni. E come me anche altri utenti, come Giggio che me l’ha segnalato nei commenti del mio articolo su Debian sull’Eee900.

Ho quindi preso il coraggio a quattro mani e mi sono messo a studiarne il sorgente. Nonostante sia in C, è scritto in modo molto pulito, quindi sono riuscito facilmente a risolvere i due problemi grossi che aveva: un buffer di scrollback troppo limitato (il valore di default, credo un centinaio di righe), e le scritte in grigio su fondo nero, che rendevano stancante o anche impossibile la lettura.

I miei sforzi si sono concretizzati in una patch che ho segnalato all’upstream (che spero verrà integrata presto), e già che c’ero ho rimesso in ordine anche l’interfaccia di configurazione, che era un po’ confusionaria con due parametri, figurarsi ora che sono 5. :)

Ora vi potete sbizzarrire come preferite coi colori, con combinazioni anche oltre il limite dell’assurdo. Continue reading

Il PHP(4) è morto. Viva il PHP(5)!

Ne danno l’annuncio i parenti e gli amici tutti…

Con la release 4.4.9, rilasciata il 7 agosto, si chiude la storia di PHP4. Era già stato annunciato un anno fa, e dall’8/8/8 (8 agosto 2008) la versione 4 di PHP non verrà più supportata né sviluppata. Non ci saranno nemmeno patch di sicurezza, se non da parte di terze parti (come Debian, che sicuramente lo supporterà almeno fino al 2010, visto che in lenny c’è ancora).

Era ora!

PHP4 ha segnato una discreta svolta rispetto a PHP3, con l’introduzione della programmazione a oggetti.

Ma PHP5 è su un altro pianeta. La programmazione a oggetti è enormemente migliorata rispetto al 4, e sono state deprecate diverse feature che rappresentavano enormi buchi di sicurezza o fonti di inefficienze o di mal di testa da parte dei programmatori, tra cui il maledetto register_globals, ma anche il safe mode, le magic_quotes, ecc.

Queste, con PHP6, spariranno del tutto. Quindi conviene iniziare subito a sistemare i propri software, e/o a disinstallare dai propri server i software che ne fanno uso. E con PHP6 (e 5.3) verranno introdotte altre novità tra cui i namespace e un maggior supporto a UTF-8.

Il problema finora è stata l’enorme mole di software scritti in PHP3, portati in PHP4 contando su queste caratteristiche, e mai aggiornati, per pigrizia o perché “finché funziona, non ripararlo”. Questo ha condizionato la diffusione di PHP5 che, dopo quasi 4 anni dall’uscita, è adottato ancora da solo il 30% dei provider a livello mondiale.

Chi glielo fa fare di installare PHP5 se nessuno sviluppa col 5, e chi ce lo fa fare di sviluppare in PHP5 se nessun provider ce lo fornisce?

Per fortuna diversi grossi progetti, tra cui Drupal, hanno deciso di abbandonare PHP4 per “costringere” i provider a fornire il 5, e questo ha convinto la Zend a dare l’annuncio della morte di PHP4.

Ora speriamo che i sysadmin vengano autorizzati all’upgrade al più presto, anche se ci saranno sicuramente milioni di utenti che si lamenteranno che il loro PHPNuke (una polveriera con la miccia già pronta) in PHP3 non gira più.

Aggiornate!

Debian su Eee900 (parte 4)

Continuiamo a personalizzare la nostra installazione.

Nella puntata precedente abbiamo visto come personalizzare sospensione e ibernazione, oggi vediamo come ho personalizzato Gnome per adattarlo al meglio alle caratteristiche dell’Eee. Per la maggior parte si tratta di modifiche estetiche o di preferenze personali, ma molte sono orientate a risparmiare spazio sullo schermo o anche ad allungare la durata della batteria.

Innanzitutto uno screenshot:

Continue reading

Foxconn e Linux: un chiarimento

Chiariamo la situazione dei BIOS delle MoBo Foxconn con Linux.

Nei giorni scorsi una notizia ha fatto il giro dei blog: Foxconn boicotta Linux sulle sue schede madri.

Beh, è saltato fuori che non è vero, ma nessuno si è dato la briga di smentire la notizia.

In realtà Foxconn si limita a non fornire supporto tecnico per Linux, ma il BIOS ACPI delle sue schede madri non fa nulla di particolare per bloccare o boicottare Linux. Semplicemente si trattava di un bug nel kernel.

Purtroppo le specifiche ACPI sono abbastanza lasche da permettere ai costruttori di interpretarle in diversi punti, e per questo motivo Linux, dalla 2.6.10, Linux non si identifica più come tale quando accede all’ACPI, ma come Windows NT. In questo modo riceve dal BIOS le informazioni e le funzioni adatte a NT.

Foxconn aveva iniziato a supportare Linux nel BIOS, ma poi sembra abbia lasciato il lavoro a metà, probabilmente proprio per questa modifica al kernel, ed ha implementato solo la configurazione per Windows. La patch è di una riga di codice, ed è stato banale individuare il bug dopo che uno dei dipendenti Foxconn ha fornito le informazioni a Garrett (dopo essere intervenuto sul forum du Ubuntu per confermare che non si tratta di boicottaggio).

Durante l’analisi, Matthew Garrett ha anche scoperto che, invece, il BIOS dell’Acer Aspire One, quando rileva Linux, riduce le capacità di risparmio energetico, facendo durare meno la batteria con tutti i S.O. tranne che con Vista. Credo che tra poco il kernel di Linux inizierà a presentarsi come Vista invece che come NT…

Aggiornamento a WordPress 2.6

Pregi e difetti della nuova versione.

Qualche giorno fa ho finalmente aggiornato WordPress dalla ormai vetusta 2.3 alla versione 2.6, e nel frattempo ho scritto 3 post con la nuova versione. Forse è un po’ presto per dare un giudizio, ma non è mia intenzione nemmeno scendere troppo nei particolari.

I pregi

Innanzitutto devo fare un plauso e un ringraziamento particolare a Keith Dsouza, per il suo ottimo plugin WordPress Automatic Upgrade. Ha fatto tutto lui: backup del sito e del DB, scaricamento della nuova versione,  messa offline del sito, disattivazione dei plugin, update del DB, riattivazione dei plugin, riattivazione del sito. E, come se non bastasse, mi ha aggiunto una voce a tutti i plugin nell’interfaccia di amministrazione, che mi permette di scaricare la nuova versione di ognuno senza dover fare FTP/SFTP a mano.

Complimenti anche al team di WordPress. Nonostante la differenza di versione, l’update del database è andato liscio come l’olio, e il mio tema personalizzato e i widget che ho scritto hanno continuato a funzionare senza problemi. Non che usi funzioni astruse, ma è bello sapere che le API sono abbastanza stabili.

Le rognette

Il nuovo backend di amministrazione, invece, non mi piace moltissimo. Ho già messo mano al css per allargare tutto, perché era assurdamente limitato a 988 pixel. La mia configurazione di bottoni in WP Super Edit non permetteva all’editor WYSIWYG di rientrare in così poco spazio.

Trovo abbastanza assurda anche la nuova disposizione delle opzioni nell’interfaccia per scrivere post. All’inizio è abbastanza naturale: titolo in alto, testo a seguire, poi c’è la finestra di inserimento tag, quindi quella delle categorie e solo dopo i recommended tags e gli available tags. OK, vengono forniti da un plugin, ma qui sembra che le API siano un po’ cambiate, perché cliccando sugli available tags, non vengono automaticamente aggiunti ai tag per il messaggio, e si vedono solo dopo che aggiungo manualmente un tag. Un po’ contorta la spiegazione, ma speriamo che la nuova versione del plugin risolva il problema.

Ma la cosa peggiore è dopo. Ci sono le opzioni avanzate in basso. Si possono compilare senza problemi, e mi sta anche bene che siano qui, visto che nella maggior parte dei casi andranno bene i default, ma dopo aver scrollato in basso, bisogna tornare su per trovare, in alto a destra, il bottone per la pubblicazione.

Preferivo il design più compatto del vecchio tema, che aveva in questa posizione la selezione delle categorie, e il pulsante di pubblicazione sotto il post. In questo modo era più facile avere (su uno schermo 1280×1024) tutte le informazioni importanti del post sott’occhio. Il nuovo tema mi pare più “arioso” e dispersivo.

I plugin

Ho apprezzato invece la nuova gestione di contenuti multimediali, anche se preferivo la capacità del “vecchio” Flexible Upload di decidere al volo le dimensioni delle thumbnail da creare. Ora vanno impostate due dimensioni (thumbnail e medium) che rimarranno le stesse per tutte le immagini. Potrebbe capitarmi di uploadare un’immagine 600×50 e volerla tenere magari 300×25, invece di essere costretto a ridimensionarla a 200×16.6666.

Devo ancora testate l’inserimento di video, audio e media (?) nei post, mentre ne ho approfittato per riorganizzare un po’ i plugin e aggiungere il Subscribe To Comments, in modo da avere una segnalazione via email quando vengono aggiunti commenti a un post di vostro interesse, e WP-Syntax, per colorare la sintassi dei listati in base al linguaggio di programmazione usato.

Devo ancora esplorare molte funzioni del backend, ma non le usavo nemmeno prima… Per ora le funzionalità che uso sono quelle di base e, nonostante tutto, mi ci trovo abbastanza bene.

Vala e Clutter

Interfacce in 3D in modo semplice e veloce.

Da un po’ di tempo seguo lo sviluppo di Clutter, una libreria che permette di scrivere interfacce 3D basate su OpenGL, e quindi automaticamente accelerate se avete i driver 3D per la vostra scheda, in modo molto semplice.

Non andando molto d’accordo con il C (mi si ingarbugliano spesso i puntatori e i cast ;) ), aspettavo che fossero stabili e utilizzabili i binding per Vala, e dopo il recente rilascio della versione 0.8.0 di Clutter, finalmente anche i binding sembrano a buon punto, quindi mi sono messo a smanettarci. L’unica “fregatura” è che per ora bisogna scaricarli via SVN e installarli a mano in /usr/share/vala/vapi/.

Purtroppo non si trovano molti esempi in Vala, e quelli che si trovano sono basati sulla versione 0.6.x di Clutter, quindi ho cercato di fare un mix di questi e degli esempi in C sul sito ufficiale, seguendo il manuale ufficiale di Clutter che, nella migliore tradizione Gtk/Gnome, è utilissimo se sapete già usarlo, ma molto rognoso se state iniziando, e me ne sono uscito col primo programmino: Continue reading