Succede solo il primo Aprile (reprise)

Credevate che con il mio ultimo post, risalente esattamente a un anno fa (primo Aprile, ma del 2009 appunto), io stessi scherzando. In effetti anche io ne ero convinto, ma alla fine è successo veramente: è passato un anno prima di veder comparire un nuovo post su questo blog. Riproviamoci con un altro elenco puntato:

  • Dopo svariati anni ho cambiato completamente la pagina nella root di questo dominio pensando a qualcosa di molto semplice ma decisamente più utile di quella precedente.
  • Twitter rules (lo ribadisco) e no, niente Facebook (ci tengo a ribadire anche questo).
  • Alla fine in Giappone ci sono stato! Circa 10 mesi fa a dire il vero. Che dire, ci vorrebbe un blog intero solo per raccontare l'esperienza. Ovviamente nei piani è previsto un ritorno in pompa magna nel paese del Sol Levante, ma in un periodo non ancora definito. Posterei anche qualche fotografia, se solo avessi finito di sistemarle (sono fermo a 330 su circa 1200 foto).
  • Evviva gli EeePC. Windows 7 + Kubuntu sul disco e ArchLinux (con fluxbox) su chiave USB e posso fare praticamente tutto ovunque io sia. Tra l'altro è solo qualche mese che utilizzo ArchLinux ma devo ammettere che mi sta piacendo molto come distribuzione.
  • Vorrei scrivere un blog "tecnico" in inglese, ma come potrei anche solamente pensarci quando non riesco ad aggiornare nemmeno quello nella mia lingua madre?
  • Tra l'altro girano leggende metropolitane tra qualche persona che conosco secondo cui un post che compare su questo blog è presagio di impressionanti catastrofi, o quanto meno di tempo metereologico palesemente avverso per il fine settimana. Nel dubbio oggi è caduta grandine, per il weekend staremo a vedere.
  • Ah, buona Pasqua.
  • 42

OK, lo ammetto, in realtà era tutta una scusa per postare qualcosa dopo un anno esatto 😉 Mi piacerebbe ripartire, ma dovrei trovare prima il tempo e saper scegliere tra la miriade di argomenti che potrei trattare. Non sono sicuro di riuscirci, ma vedremo come andrà 🙂

Succede solo il primo di Aprile

Esisto. Voglio dire, è il primo di Aprile per cui quale occasione migliore per tornare a scrivere su questo blog dopo poco più di 5 mesi dall'ultimo messaggio? Però non è uno scherzo! Onestamente volevo fare cifra tonda e arrivare a 6 mesi, ma ormai credo di aver trascurato fin troppo questi lidi. Non starò nemmeno a spiegarvi il perché e il percome di questa lunga pausa, anche perché onestamente credo ci sia ben poco di interessante, tuttavia nonostante impegni e riflessioni non sono stato con le mani in mano in giro per la rete:

  • Ho iniziato a usare GitHub, di conseguenza Git come DVCS, per condividere il codice su cui lavoro. C'è un po' di tutto: esperimenti come couchdb-lua-viewserver oppure hpricot-pure ma anche lavori un po' più utili e seri come redis-lua oppure ironruby-hpricot e ironruby-json.
  • Proprio ironruby-hpricot e ironruby-json rappresentano i miei primi due progetti concreti per IronRuby e sono i rispettivi i port delle librerie hpricot e json (entrambe basate su Ragel) che sono disponibili per l'MRI. Ora come ora mi sto divertendo focalizzandomi principalmente sulla compatibilità di IronRuby con l'MRI, come del resto testimoniato dalla natura della decina di bug report che ho aperto, ma prima o poi inizierò anche con qualche progetto che si integri con il framework .NET (e ho già qualche idea in merito, manca solo il tempo).
  • Con Twitter ormai ci ho preso gusto, soprattutto negli ultimi 6 mesi. Ho potuto seguire botte-e-risposta interessanti, sono potuto entrare in contatto con gente altrettanto interessante e tecnicamente molto preparata, inoltre la velocità con cui è possibile catturare notizie è stupefacente. Certamente la percezione di "interessante" e di "utile" può variare da persona a persona ed è proprio per questo che, a chi fosse ancora scettico, non posso far altro che dire che solo con la prova sul campo è possibile carpirne le potenzialità. Per la cronaca io stesso ero uno dei poco convinti, se non addirittura uno dei suoi quasi-detrattori. Ah, per inciso non mi iscriverò mai a Facebook. Si lo so, mai dire mai, ma c'è sempre l'eccezione che conferma la regola.
  • Il mese scorso ho riesumato anche il mio tublelog, con tanto di nuovo look visto che quello vecchio faceva abbastanza schifo (il nuovo tema è uno di quelli disponibili sulla galleria di temi di Tumblr ma con modifiche e adattamenti sparsi).
  • Giappone! Finalmente si sta per concretizzare un viaggio che per motivi sempre differenti sono stato costretto a rinviare più volte negli ultimi 6 anni. In realtà è già tutto pronto, manca solo la partenza 🙂 OK non c'entra nulla con le mie attività online, ma mi andava di dirlo lo stesso.

Per ora chiudo qui, credo di avervi tediato abbastanza. Ora vedremo se riuscirò a tener fede al fatto che questo post non vuole essere uno pesce d'Aprile, ovvero spero di riuscire a non scrivere il prossimo messaggio tra altri 5 mesi ma di dargli un seguito con qualcosa di più interessante e tecnico entro breve.

This\is\lame\r\n ... è un namespace, almeno in PHP 5.3

Finalmente la lunga saga dell'introduzione del supporto per i namespace in PHP 5.3 è giunta, forse, al termine nelle ultime ore. Finalmente perché la discussione è andata avanti per diversi mesi, con lunghi thread su php.internals aperti in maniera pressoché perpetua ma spesso abbastanza inconcludenti. Vi anticipo fin da subito il finale della storia, ma vi avviso che secondo me non è dei migliori: è stato deciso di sostituire :: con il carattere \ per identificare la separazione dei namespace.

Il problema principale della scelta di :: come separatore per i namespace, secondo i core developer di PHP, risiede nel fatto che in alcuni casi può crearsi un'ambiguità non risolvibile dall'interprete poiché lo stesso :: viene usato anche per accedere ai metodi di classe statici. Ecco un esempio pratico:

1 // -------------------------------------- 2 // primo caso: Classe::methodoStatico() 3 4 class Foo { 5 public static function bar() { 6 echo "Foo::bar()"; 7 } 8 } 9 10 Foo::bar(); 11 12 // -------------------------------------- 13 // secondo caso: Namespace::funzione() 14 15 namespace Foo; 16 17 function bar() { 18 echo "Foo::bar()"; 19 } 20 21 Foo::bar();

L'ambiguità delle righe 10 e 21 risulta evidente, tanto che anche l'interprete in questo caso non saprebbe come comportarsi. Per questo motivo gli sviluppatori di PHP hanno pensato di aggirare il problema cambiando appunto in \ il separatore per i namespace.

Se doveste chiedermi cosa ne penso vi direi che, così di primo acchito e pur non avendo da offrire soluzioni in merito alla questione, per conto mio l'idea non è stata delle migliori. Senza alcun dubbio c'erano dei problemi, ma se da un lato è vero che così vengono risolte possibili ambiguità, con la scelta di \ vedo l'introduzione di bug subdoli dovuti alla mancata attenzione nell'uso della quotazione singola o, in caso contrario, un errato escaping.

$singleQuote = new ReflectionClass('foo\bar\className'); $doubleQuoteWithEscape = new ReflectionClass("foo\\bar\\$classNameInVar");

Ad ogni modo vi fornisco alcuni link la cui lettura può tornarvi utili per farvi un'opinione sulla decisione presa:

Microsoft Silverlight 2.0 RTM, support per Eclipse, port su Symbian. Poi?

Ok anche questa volta penserete allo scherzo ma no, non lo è nemmeno in questo caso. Scott Guthrie, oltre ad aver appena annunciato via conferenze telefonica che domani (14 ottobre 2008) vedrà la luce la versione RTM di Silverlight 2.0, ha dato la notizia che la piattaforma di sviluppo offerta da Eclipse sarà supportata, seppur non direttamente, per la creazione di applicazioni Silverlight:

Microsoft announced plans to support additional tools for developing Silverlight applications by providing funding to Soyatec, a France-based IT solutions provider and Eclipse Foundation member, to lead a project to integrate advanced Silverlight development capabilities into the Eclipse IDE. Soyatec plans to release the project under the Eclipse Public License Version 1.0 on SourceForge and submit it to the Eclipse Foundation as an open Eclipse project.

Potete trovare maggiori dettagli in questa pagina fresca di pubblicazione, inoltre è stato reso noto il sito Eclipse Tools for Microsoft Silverlight su cui è già online e disponibile per il download una prima alpha del plugin per Eclipse con dettagli e istruzioni su alcune modalità di configurazione. Nella stessa pagina si può notare anche una curiosa nota: Windows XP SP2 (or above) or Windows Vista SP1 - Other OS are planned for future versions. In effetti mi chiedo quanti sviluppatori .NET su Windows usino Eclipse, considerazione che riporta un po' tutti con i piedi per terra, però quel futuro supporto per altri sistemi operativi... mah, chissà...

Ad ogni modo l'altra notizia (di cui non ci sono ancora testimonianze ufficiali scritte mentre sto scrivendo) è che a quanto pare Microsoft e Nokia lavoreranno per portare Silverlight su piattaforma Symbian.

Per ora sembrerebbe non esserci altro. E dire che il PDC 2008 è tra meno di quindici giorni...

Ruby Social Club, Milano - Atto terzo: missione compiuta

Anche se con un po' di ritardo, ci tenevo a esprimere la mia soddisfazione per la bella serata che è stata organizzata mercoledì scorso in quel di Milano dai ragazzi di Mikamai per il terzo Ruby Social Club. Una trentina di persone (successone), atmosfera molto informale, talk veloci ma interessanti e una transumata di massa al locale dove sono continuate le discussioni sugli argomenti più disparati tra birra e qualche piatto di cibarie. Purtroppo non sono mai riuscito a partecipare alle precedenti edizioni e devo dire che questa volta è valsa la pena fare di tutto per esserci. Il buon riffraff (a cui tra l'altro devo anche una birra, lo scrivo qui così rimane fino alla prossima occasione) ha già scritto qualche dettaglio sparso sulla serata, per cui non mi dilungherò ulteriormente. Sicuramente ci saranno altri appuntamenti in futuro, per cui... al prossimo RSC 🙂