Tag Archives: programming

De Icaza ripudia l’accordo con Microsoft

Qualcosa si (s)muove.

Durante una conferenza a Las Vegas, Miguel de Icaza, sul palco assieme a rappresentanti della Microsoft, incalzato da alcune domande di Mike Shcroepfer (di Mozilla) ha prima cercato di spiegare come l’accordo con Microsoft protegga solo chi scarica Moonlight dal sito Novell e non da altri siti, e infine ha ammesso che, se fosse stato per lui, l’accordo con Microsoft non si sarebbe dovuto fare, ma non era in posizione di decidere.

De Icaza, cofondatore del progetto GNOME e della (ormai estinta) Ximian, ora è vice presidente di Novell.

Moonlight, per chi ancora non lo sapesse, è l’implementazione “open source” (tra virgolette perché appesantita dai brevetti Microsoft) di Silverlight, la risposta di MS, appunto, a Flash/Flex/AIR di Adobe. Per come la vedo io, sono entrambe tecnologie chiuse, anche se apparentemente open, quindi da evitare finché possibile.

Di recente Nokia (probabilmente stressata da MS) ha annunciato che avrebbe reso disponibile Silverlight sui suoi cellulari intelligenti (le serie S40 e S60).

Novell aveva già ricevuto pesanti critiche dalla comunità per il suo accordo con “il nemico”, soprattutto dal sito BoycottNovell, che non ha mancato di criticare anche Moonlight. Forse De Icaza si sta accorgendo che nel mondo Linux perdere il supporto della comunità può essere molto rischioso.

Secondo me, semplicemente, Linux non ha bisogno di Mono. Nessuna applicazione (che io sappia) scritta per .Net funziona su Linux, nemmeno le più semplici. E tutte quelle scritte per Linux sfruttano Gtk o meccanismi di Linux, per cui non funzionano con Windows, quindi il motivo principale dell’esistenza di Mono viene a cadere. Ritengo che ci siano già molti strumenti per sviluppare rapidamente su Linux (dall’immensità di librerie disponibili per C e C++ a Python, passando per Gambas, Ruby, e anche Java. E perfino PHP, volendo, anche fuori dal web), e che sarebbe meglio spendere energie per sviluppare progetti più significativi, come Vala e GDC, che hanno una cronica mancanza di sviluppatori, ma nonostante ciò stanno crescendo.

Zend Framework 1.0.4 e 1.5RC

Disponibili le nuove versioni del framework ufficiale Zend per PHP.

Sono state annunciate ieri le due nuove versioni dello Zend Framework.

La 1.0.4 è una maintenance release, che corregge un centinaio di bug. Sarò stato fortunato, o magari non uso ancora molte delle funzioni del framework, ma non mi è ancora mai capitato di incappare in un errore da quando ZF è alla versione 1.0.x. Ne ho trovati un paio mentre era in beta, corretti rapidamente.

La 1.5RC è la prima release candidate della nuova versione, che dovrebbe uscire in versione definitiva entro 1 mesetto. Qui le novità rispetto alla 1.0.x sono moltissime. La più importante, forse, è il nuovo modulo Zend_Layout che dovrebbe risolvere molti problemi dell’attuale modello di View in caso di siti con layout molto simile in molte pagine: la maggior parte, insomma. Altre innovazioni sono lo Zend_Form (che personalmente non mi piace molto perché sembra mischi la logica di Controller e View, ma dovrò approfondire) che supporta form potenziati da AJAX, nuovi helpers per Action e View per un migliore supporto AJAX, nuovi componenti per Advanced View, nuovi componenti per l’autenticazione tramite Information Card e OpenID, e miglioramenti importanti a Lucene (un “motore di ricerca” integrato nel framework, per indicizzare documenti di vari tipi), per la generazione di PDF (ora con supporto UTF-8) e ai web services (Technorati e Slide Share).

Entrambe richiedono almeno PHP 5.1.4 per funzionare, ma io consiglio di passare direttamente a PHP 5.2.

Spero solo di trovare un po’ di tempo per smanettare con la 1.5. Alcuni dei nuovi moduli sembrano molto interessanti.

Devo però muovere una critica agli sviluppatori: nella documentazione non si capisce da quale versione un certo modulo o una certa funzione sono state implementate, col risultato che ci si trova magari a cercare di usare con la 1.0.4 una funzione o una classe che esistono solo nella 1.5 e non si capisce dove sia l’errore finché non si va a vedere il sorgente del framework. Appena mi verrà attivato l’account nel bug tracker credo che aprirò una segnalazione a proposito.

PHP, CGI, APC

Oggi stavo cercando di abilitare APC in locale (prima di metterlo sul server) per due motivi: migliorare le prestazioni di PHP e abilitare la possibilità di monitorare gli upload via AJAX.

Purtroppo ho scoperto sulla mia pelle che APC non serve a niente se si usa PHP via CGI, perché tiene tutte le pagine precompilate in shared memory, che naturalmente viene liberata alla fine di ogni processo CGI.

Quindi se state usando PHP come CGI, lasciate perdere APC. eAccelerator funziona, perché salva i precompilati su disco oltre che in RAM, ma non supporta (che io sappia) il monitoraggio degli upload.

Dovrò decidermi prima o poi a passare PHP4 in CGI e promuovere PHP5 a modulo di Apache, ma servirà un po’ di tempo per verificare che funzioni tutto senza problemi.

I buoni propositi per il 2008

Buon 2008 a tutti!

Dopo il post per gli auguri di Natale sicuramente non ve ne aspettavate uno per gli auguri di buon anno, vero? :)

Voevo postarlo poco dopo mezzanotte, ma la baldoria prima e la stanchezza poi mi hanno fatto desistere. Non credo sareste comunque stati lì a quell’ora a leggerlo, quindi non penso vi cambi molto la vita. ;)

Siccome a capodanno si elencano i buoni propositi per l’anno che sta arrivando, ho pensato di raccogliere qui i miei. Magari qualcuno è d’ispirazione anche per voi. Sono in ordine sparso, man mano che mi vengono in mente. Continue reading

Lista di plugin per jQuery

Come raccappezzarsi nel mare di plugin per jQuery.

jQuery è una libreria in javascript per semplificare lo sviluppo client-side di siti, che offre in pochissimo spazio (20 Kb compressa, meno di 100 non compressa) funzioni utilissime per la navigazione e la modifica del DOM, per le richieste AJAX e per alcune animazioni di base (fading, folding, ecc.).

Per mantenere minimo l’impatto sui download è stato scelto di lasciare a plugin esterni la gestione di funzionalità aggiuntive, e di inglobare solo le più usate nel core. Uno dei plugin più famosi è UI, per la realizzazione di interfacce interattive.

Koller Juenger, nel suo blog, ha raccolto una lista di più di 240 plugin per jQuery, suddivisi anche per categoria e uso. Un lavoro titanico e molto utile.

Sviluppo su OpenMoko/OpenEmbedded

La documentazione per sviluppare applicazioni per Linux è vasta, quasi infinita, ma quando si tratta di sviluppare per ambienti embedded non è sufficiente.

OpenEmbeddedO meglio, si può fare con la normale documentazione, ma se il nostro software deve girare su una delle distribuzioni esistenti conviene adeguarsi alle “usanze del luogo”.

OpenEmbedded è una “meta-distribuzione” nel senso che è un calderone da cui si possono generare delle distribuzioni. Le due più famose sono Angstrom e OpenMoko. Saper usare i tool forniti da OpenEmbedded significa quindi saperli usare anche per Angstrom e OpenMoko.

A parte la documentazione sul sito OpenEmbedded stesso, oggi ho trovato un’articolo su IBM DeveloperWorks sulla programmazione per OpenMoko. Sono 13 pagine (in realtà 9, il resto sono link e schede autore/articolo), e si parte dall’installazione dell’ambiente per arrivare a sviluppare un’applicazione completa che riporta alcune informazioni sul sistema. Molto chiaro e semplice da seguire. Naturalmente dà per scontato che si conosca il C e utilizza Gtk+, le librerie alla base di tutte le applicazioni grafiche di OpenMoko.

I mali del mondo (secondo un sistemista/programmatore)

Ovvero le cose da evitare come la peste, le guerre, le carestie, la droga, ecc.

Quando una persona diventa programmatore o sistemista, la maggior parte delle volte viene affascinato da cose a cui non dovrebbe nemmeno pensare. Un cristiano potrebbe chiamarle “tentazioni demoniache”, un buddista “ricchezze terrene”, ecc. ecc. Invece sono da evitare il più possibile, e da abbandonare per poter raggiungere la Vera Illuminazione. Vediamone qualcuna. Continue reading