26 ottobre 2008

PHP e i namespaces

A partire da PHP 5.3.0 è possibile finalmente utilizzare i namespaces per risolvere i problemi di scoping soprattutto nelle librerie di notevoli dimensioni. Tutto bene? Non proprio.
È stato deciso dopo ORE di conversazione (qui l'annuncio ufficiale) il carattere che rappresenterà il separatore, scelta ricaduta sul backslash ( \ ), che andrà a rimpiazzare i '::' che causavano dei problemi in quanto già utilizzati per i metodi statici di una classe. Dal RFC relativo possiamo vedere quali sono i criteri di questa scelta:

  1. Facilità di digitazione;
  2. Vulnerabilità ai typo;
  3. Semplicità di parsing;
  4. Compatibilità con gli IDE;
  5. Numero di caratteri.
Dati questi criteri, come è stato possibile scegliere il backslash? Analizzando, ci sono diverse critiche da fare.

Facilità di digitazione e Vulnerabilità ai typo: basare una scelta del genere sulla facilità di digitazione a mio parere è sbagliato, soprattutto perchè esistono molti layout di tastiera, per cui ciò che è semplice digitare su una tastiera qwerty può essere difficile per altri layout.
Compatibilità con gli IDE: Il carattere '\' rappresenta il carattere di escape, gli IDE dovranno quindi confrontarsi con namespace del tipo "nome\troppo\bello", dove \t genericamente rappresenta il carattere tab, o "mio\namespace", e così via. Come si comporteranno in questo caso?
Anche per quanto riguarda l'esperienza dei programmatori il carattere potrebbe rappresentare dei problemi di chiarezza, dato il suo significato "acquisito" come carattere di escape.
Aggiungo quali sono le alternative proposte, scartando quindi "::" per i motivi citati in precedenza e "." in quanto è già utilizzato per la concatenazione di stringhe: **, ^^, :>, :), %%, ::: .
Forse ":)" paradossalmente avrebbe fatto meno sorridere :)

25 ottobre 2008

Linux Day 2008

Per chi avesse la possibilità di raggiungere una delle 124 città in cui si tiene, consiglio di fare visita al Linux Day 2008, dove saranno presenti anche dei membri di ubuntu-it, alcuni dei quali terranno un talk su Ubuntu e ubuntu-it stessa.
Anche la stampa non è rimasta indifferente, ci sono degli articoli (segnalati in homepage) su Repubblica.it e su Corriere.it.
Inoltre è possibile leggere la lettera di risposta all'invito a partecipare a questo evento rivolto al Presidente della Repubblica, Giorgio Napolitano, che esprime apprezzamento per l'iniziativa pur non potendo essere presente a causa di altri impegni.

23 ottobre 2008

Le scuole russe passano al software libero

Dopo alcuni mesi di sperimentazione , il governo Russo (come annunciato dal Ministro delle Comunicazioni Igor Shchegolev) ha deciso che tutte le scuole dello stato dovranno utilizzare software libero, che, tra le altre cose, permetterà di risparmiare una somma non indifferente di denaro pubblico (tema piuttosto delicato anche da noi). Infatti, le scuole che vorranno utilizzare software proprietario dovranno ricorrere ai propri fondi per pagare le licenze degli stessi.

Fonte: ComputerWorldUK

18 ottobre 2008

Un search engine particolare targato Opera Software

La competizione per quanto riguarda i motori di ricerca è oggi molto sentita (a tal proposito, i risultati di comScore ci dicono che in Agosto c'è stato il sorpasso di Youtube su Yahoo! al secondo posto dei motori di ricerca).
Quello che propone Opera Software però è un motore di ricerca molto diverso: non indicizza i contenuti dei siti web, ma memorizza il markup, lo stile, gli script e le tecnologie che si nascondono dietro alle pagine stesse.
Il progetto in questione si chiama Metadata Analysis and Mining Application (MAMA).
Ci sono già interessantissimi risultati, raccolti in questa pagina.
Alcuni sono:
  • l'80,4% dei siti usano CSS;
  • i 5 tag HTML 4.x più utilizzati sono, in ordine, head, title, html, body, a;
  • In media ci sono 47 errori di markup e quasi 16500 caratteri per pagina;
  • È possibile vedere in quali nazioni è maggiore la popolarità di una certa caratteristica (es.: flash, richieste XMLHttpRequest, etc...)
È in sostanza uno strumento che si rivela molto utile per gli sviluppatori di browser e anche per chi ha il compito di decidere gli standard.

17 ottobre 2008

Quando la favola e l'Open Source si incontrano


A volte i contenuti che si descrivono non riescono ad arrivare alle persone a cui ti rivolgi.
A volte oltre ai contenuti stessi conta molto anche la forma con cui li proponi, che deve essere adeguata alla tipologia di "ascoltatori".

Un esempio fantastico di come tutto questo sia possibile ce lo fornisce Fabio Marzocca, con quella che lui definisce "...una fiaba da far leggere ai nostri figli" (e io aggiungo, "e non solo!") nel suo blog in merito a un'iniziativa che sta nascendo. Il consiglio è senza dubbio di leggerla :)




Immagine: Fabio "Pixel" Colinelli
Licenza CC attribuzione non commerciale

Kexec, come non ti riavvio completamente il sistema

Linux.com ci mostra un articolo interessante su kexec, contenuto nel pacchetto kexec-tools presente nei repository di Ubuntu, che permette di caricare altri kernel dal kernel correntemente utilizzato.
In origine era uno strumento pensato per gli sviluppatori del kernel che necessitavano di riavviare diverse volte. Presto anche gli amministratori di server che dovevano garantire un uptime molto elevato hanno cominciato ad utilizzarlo.
Con il passare del tempo i sistemi destinati agli utenti semplici sono diventati sempre più avanzati e complessi (in quanto a servizi offerti), e anche il tempo di avvio ne ha risentito, per cui anche in questo caso si avrebbero benefici da esso.
Oltre al pacchetto kexec-tools è necessario un kernel kexec-enabled (la maggior parte dei kernel moderni hanno questa funzionalità).
L'articolo originale riporta inoltre un semplice caso d'uso, che va a chiarire le differenze con un riavvio del sistema completo.

15 ottobre 2008

Un laptop per gli studenti

Un'operazione da 56 milioni di dollari su iniziativa del primo ministro Australiano Kevin Rudd, dovrebbe fornire un laptop con software open source "come quelli forniti con Edubuntu" agli studenti della high school.

In Brasile Linux è ora utilizzato nelle votazioni elettroniche (migliaia di kernel Linux nelle migliaia di sezioni elettorali). Maggiori informazioni (video e foto comprese) qui.

Speriamo che qualcosa cominci a muoversi anche da noi (a livello locale è comunque da segnalare l'operazione che la Regione Lazio dovrebbe avviare, che và verso soluzioni Open Source).

14 ottobre 2008

The spotlight turns to notebooks

Annunciati i nuovi MacBook da parte della Apple, in particolare da papà Steve.
I nuovi MacBook saranno in alluminio, il MacBook Pro utilizzerà schede Nvidia: con la 9400M si avranno 5 ore di autonomia per quanto riguarda la batteria, 4 ore con la 9600M GT. Nuovo trackpad, schermo led retroilluminato.
Ah, riguardo invece alle voci sempre in circolazione sulla salute di Jobs, lui stesso fà sapere (con l'ausilio di una slide) che la sua pressione è 110/70, ma che sarebbe potuta salire in caso di domande su questo argomento :)

11 ottobre 2008

Buon compleanno ubuntu-it!

La comunità di ubuntu-it ha compiuto 3 anni!
Auguri a tutti quelli che hanno contribuito a crearla, che continuano a renderla viva e che lo faranno in futuro.

News sul sito ufficiale.

04 ottobre 2008

Python 2.6, percorso verso Python 3.0

Il primo Ottobre è stato rilasciato python 2.6 (release schedule).
Qual è l'obiettivo principale di questo rilascio? Quello di fornire un passaggio per quanto possibile agevolato a Python 3.0, il quale spezzerà la backward-compatibility con le versioni 2.X, introducendo miglioramenti significativi in diversi settori e aspetti del linguaggio. Il lato negativo, ovviamente, è valutare le ripercussioni sul codice già esistente: python 2.6 aiuterà proprio in questo aspetto.
Lo stesso Guido Van Rossum afferma che una volta che si possiede un codice funzionante con python2.6 il passaggio alla versione 3.0 è possibile in diversi modi, come ad esempio abilitare i Py3k warnings che informeranno sull'eventuale utilizzo di codice obsoleto per il quale esiste un'alternativa, o importare funzioni dal modulo __future__ (per fare un esempio di utilizzo comune, si può importare la nuova funzione print, che è cambiata in molti aspetti, per rimpiazzare la keyword print standard, o utilizzare le funzioni contenute nel modulo future_builtins).
La descrizione ufficiale di questa versione è consultabile a questo indirizzo.

02 ottobre 2008

Annunciato Windows Cloud

Microsoft ha annunciato il rilascio di "Windows Cloud" (nome temporaneo) al prossimo Professional Developers Conference che si terrà alla fine di Ottobre a Los Angeles.
Che fine ha fatto Midori, indicato come il prossimo Windows? Ballmer ci fa sapere che Midori esiste, ma almeno per il momento non ci sono piani di mercato e rappresenta ancora un progetto di ricerca.
Prima di questo annuncio, Richard Stallman si era già espresso negativamente sul Cloud Computing, come si può leggere in questa intervista.
Staremo a vedere.

01 ottobre 2008

Microsoft, Nokia e jQuery

jQuery è una libreria JavaScript Open Source, che personalmente ho utilizzato per molti lavori/progetti (anche per il progetto che sto sviluppando in questo momento, per esempio).
Cosa c'entrano 2 aziende di tale calibro con una libreria JavaScript?
Sia Microsoft che Nokia stanno introducendo jQuery nelle loro piattaforme di sviluppo ufficiali.
Per quanto riguarda la prima, jQuery verrà distribuito con Visual Studio (che, news nella news, ieri è stato introdotto in forma di press release per la versione 2010 agli sviluppatori di Windows) e svilupperà altri controlli e widget che saranno poi facilmente integrabili nell'applicazione .NET dello sviluppatore.
Per quanto riguarda Nokia, invece, l'intenzione è quella di utilizzare jQuery con il webkit-based Web Run-Time (e quindi verrebbe distribuito su tutti i dispositivi Nokia che forniscono questo rendering-engine).

Microsoft e Nokia non apporteranno modifiche al codice o alla licenza di jQuery, ma contribuiranno, eventualmente, all'aggiunta di nuove features, alla scrittura di patch, e così via, e ci sarà un maggiore livello di testing.
Nokia e Microsoft si aggiungono così a una lunga lista di altre aziende quali Intel, IBM, Google.

Link utili: