Yes, I am a data geek /1

Riprendo a parlare di programmazione, dopo i deragliamenti di questi giorni, con il primo di una serie aperiodica di post sulla manipolazione dei dati. È un argomento che mi ha sempre affascinato, e in questa serie descriverò per ogni post un piccolo problema che mi è capitato di dover risolvere lavorando, e una delle sue possibili soluzioni.

In questo primo post vi racconto un problemino che mi è capitato sottomano giusto ieri in ufficio: come calcolare degli aggregati periodici (ad esempio ogni 5 minuti) da un elenco di rilevazioni del traffico di un servizio. I dati che ho ricevuto erano in formato Excel, ma per semplificarci la vita senza inciampare in tabelle pivot e soprattutto dato che siamo geek, per trattarli utilizzeremo un database relazionale (nel mio caso MySQL).

[Read more…]

Nokia acquisisce Trolltech

L’inizio di quest’anno sarà sicuramente ricordato come uno dei più caldi per le acquisizioni di società tecnologiche: dopo Sun/MySQL e Oracle/BEA, la notizia bomba di oggi è che Nokia ha acquisito Trolltech, l’azienda norvegese che ha sviluppato Qt, l’ambiente grafico utilizzato tra gli altri da KDE e OPIE, e Qtopia, il sistema operativo basato su Linux per PDA che ha sicuramente giocato un ruolo importante nella decisione di Nokia. E’ presto per azzardare commenti e analisi (che fine farà S60? vedremo un port di Qt per Symbian?), se non siete bloccati in ufficio fate però a tempo a seguire la fine della conferenza stampa di Nokia, e quella di Trolltech. Anzi, se riuscite a seguire le conferenze stampa teneteci aggiornati nei commenti.

Nuova beta per Sphinx 0.9.8

A poche ore di distanza dalla pubblicazione del nostro articolo su Sphinx, Andrew ha rilasciato una nuova beta della versione 0.9.8, che aggiunge alcune importanti funzionalità e aumenta le situazioni dove Sphinx costituisce una valida — e veloce — alternativa ad una base dati relazionale:

  • ordinamento dei risultati per espressioni arbitrarie, ad esempio @weight+log(price)*2.5
  • raggruppamenti su attributi multivalore, che rendono possibili ricerche faceted su attributi come le tag (evvai!)
  • supporto agli insiemi di campi nel query language, ad esempio @(field1,field2) hello
    @!(field3,field4) world
  • nuovo ranking sul numero di parole
  • fix ai problemi di compilazione su sistemi BSD

La nuova beta (1112) è disponibile come sempre sulla pagina di download di Sphinx.

Sphinx, “the Russian black magic” / 1

Sphinx è un motore di ricerca full text
sviluppato da Andrew Aksyonoff con alcune caratteristiche che lo
rendono particolarmente interessante per una vasta gamma di
applicazioni web-based:

  • indipendenza dal tipo di base dati utilizzata
  • estrema velocità di indicizzazione e ricerca
  • possibilità di distribuire gli indici su sistemi diversi per scalabilità e ridondanza
  • funzionalità avanzate come il grouping per attributo
  • API per i principali linguaggi
  • protocollo di interrogazione molto semplice che permette di sviluppare client per altri linguaggi in poco tempo

[Read more…]

Sun compra MySQL

La notizia bomba di oggi è che Sun ha appena annunciato l’acquisto di MySQL per un miliardo di dollari. L’unica citazione per ora è su O’Reilly Radar, ma credo che fra non molto quando di là dall’oceano inizierà la giornata saremo inondati di commenti. È ovviamente ancora troppo presto per capire se e cosa cambierà in MySQL dal punto di vista strategico e nel rapporto con clienti ed utenti, quello che è certo è che Sun sta proseguendo nella strategia di investimenti pesanti in progetti (parzialmente, almeno nel caso di MySQL) Open Source, e che da oggi MySQL sarà una soluzione più facilmente spendibile all’interno di ambienti Enterprise. Una piccola domanda a margine della notizia: che farà Oracle con InnoDB?

Aggiornamento. La posizione ufficiale di Sun sul blog del CEO Jonathan Schwartz.

Weave, Mozilla diventa Service Provider

WeaveWeave è il nome del nuovo progetto appena annunciato dai Mozilla Labs, che sembrano aver imparato la lezione di Google: i servizi online che permettono agli utenti di manipolare agilmente dati e contenuti sono molto più importanti e rivoluzionari delle applicazioni che ne permettono l’uso, o del rispetto degli standard. Wave è il primo passo in questa direzione: un servizio che — finalmente — permette di accentrare i dati collegati al proprio browser (profili, bookmark, personalizzazioni) in rete e sincronizzarli da più macchine, e che allo stesso tempo definisce le specifiche per creare servizi simili supportati da Firefox.

[Read more…]

Reverse engineering del Kindle

La console del KindleCi sono poche cose più hardcore geek e, spesso, più utili del reverse engineering, il processo con cui si risale ai principi di funzionamento di un oggetto, un programma, o un protocollo attraverso l’analisi dettagliata del suo funzionamento. Non sono quindi l’unico a trovare affascinanti gli esperimenti descritti da

Perché Python non ha switch?

Se vi siete mai chiesti perchè in python non esiste switch...case, un’ottima risposta la trovate nell’articolo di Lance Finn Helsten nell’ultimo numero di The Python Papers, pubblicato oggi. Ho scaricato il PDF pochi minuti fa e non sono ancora riuscito a leggerlo tutto, ma vi posso assicurare che l’articolo su switch da solo merita il download. Lascio a voi un giudizio sul resto dei contenuti, fatevi sentire magari nei commenti.

SimpleDB versione ReST

Il bello di Internet è anche — soprattutto — questo: un colosso come Amazon lancia un nuovo servizio (SimpleDB); l’annuncio è importante e viene ripreso da migliaia di blog e testate specializzate; i più smanettoni iniziano a giocare con le API e pubblicano le prime critiche a come sono state disegnate; in pochissimo tempo viene stesa un’alternativa che è ovviamente libera e può essere implementata da Amazon. Vedremo nelle prossime settimane se l’inerzia delle grandi organizzazioni, e il fatto che l’architetto principale di SimpleDB sia stato assunto da Google qualche tempo fa, saranno più forti della qualità architetturale e del giudizio della community di sviluppatori. Nel frattempo, ripercorriamo quanto è successo nelle ultime 48 ore.

[Read more…]

Due presentazioni su Sphinx e Mercurial

Sono appena state pubblicate le due presentazioni che Peter Zaitsev ha tenuto al raduno interno di Percona, una delle più note società di consulenza specializzate su MySQL. La prima è su Sphinx, il motore di ricerca full text che sta conquistando sempre più utilizzatori grazie alla facilità di utilizzo e alla spettacolare velocità di indicizzazione e ricerca, su cui pubblicherò prossimamente un articolo dettagliato in queste pagine. La seconda è su Mercurial e affronta gli stessi temi trattati da Valentino in DCVS: chi era costui?. Buona lettura…