Python per Facebook

Una casa per gli sviluppatori Python che lavorano con Facebook. Gestiamo due repository su GitHub. facebook-sdk, un set di tools essenziali per lavorare con Facebook in Python. django-facebook, un plugin estendibile per costruire siti Django integrati con Facebook. via @bacchilu

March 14, 2012 · Nicola Iarocci

Sublime Text 2 un anno dopo

Proprio un anno fa presentavo Sublime Text 2. Dopo dodici mesi ho pensato di fare il punto della situazione. Si sono susseguiti una serie di aggiornamenti importanti, il prodotto è più maturo e devo dire che in questo periodo non mi ha affatto deluso: è ancora il mio editor di codice preferito. Nel frattempo Sublime Text 2 è diventato mainstream. Me ne sono reso conto in questi giorni, quando articoli, recensioni, trucchi e suggerimenti su Sublime Text 2 affioravano ripetutamente nel mio feed. Vi propongo alcune delle caratteristiche che ne fanno, almeno per quanto riguarda il mio modo di lavorare, l’editor ideale. ...

March 10, 2012 · Nicola Iarocci

Primo importante aggiornamento del Piccolo Libro di MongoDB

Se avete già scaricato il Piccolo Libro di MongoDB vi consiglio di aggiornarlo con la versione odierna. E’ stato aggiunto un capitolo (MapReduce) misteriosamente assente nella prima edizione. Grazie a Walter Tommasi per la preziosa segnalazione, e a Git per averne consentito il recupero in extremis.

March 8, 2012 · Nicola Iarocci

Link Consigliati dal 29.2 al 5.3.2012

Ogni giorno su Twitter segnalo i link interessanti in cui incappo mentre mi documento per il mio lavoro. Riscuotono un certo successo, quindi ho pensato di condividerne alcuni anche qui sul sito. Parte così Link Consigliati, rubrica settimanale e sperimentale. “Why are so many developers so very emotional when it comes to their favourite programming language? Considering that no language can (yet) magically translate the perfect idea in your head into machine code, all of them exist on a scale of badness – they all limit you more than your own thoughts or the hardware does.” “Clean, simple web designs have become a popular trend. This article will cover the subject through a two-part discussion. First, we’ll talk about a few traits that clean designs tend to have in common. Secondly, I’ll share some tricks and techniques that can be helpful when trying to achieve a clean design.” Database of HTTP status codes with their IETF and Wikipedia descriptions “What happens when you click on a weblink? Here’s one answer: a request goes from your computer to a server identified by the URL of the desired link. The server then locates the webpage in its files and sends it back to your browser, which then displays it on your screen. Simple.” ...

March 4, 2012 · Nicola Iarocci

Flask MimeRender nel Python Package Index (PyPI)

Un appunto veloce per segnalare che Flask MimeRender, il mio strumento RESTful per il rendering basato sul MIME Media-Type delle richieste HTTP (JSON, XML, HTML, ecc.), è ora presente su PyPI, il Python Package Index ufficiale. Tutto ciò significa che l’installazione di Flask MimeRender su Windows, OSX e Linux è diventato più semplice: Codice sorgente e istruzioni sono a vostra disposizione su GitHub, mentre per spiegazione approfondita ed esempio d’uso vi rimando al mio articolo precedente: Una REST API che adatta le sue risposte al MIME Media-Type delle richieste HTTP....

March 1, 2012 · Nicola Iarocci

E’ uscito il Piccolo Libro di MongoDB

Il Piccolo Libro di MongoDB, edizione italiana di The Little MongoDB Book, è finalmente disponibile online. C’è voluto un bel po’ di lavoro, e sono certo i primi lettori scoveranno una serie di errori raccapriccianti, ma vi invito comunque a leggerlo e farmi sapere cosa ne pensate.

February 21, 2012 · Nicola Iarocci

Una REST API che adatta le sue risposte al MIME Media-Type delle richieste HTTP

Da qualche tempo sto lavorando alla implementazione di una REST API. In linea generale e semplificando, una API è un servizio che espone alcune funzionalità, è accessibile via internet più o meno liberamente ed è, infine, utilizzabile non solo da persone fisiche ma anche e soprattutto da altre applicazioni. Un esempio di API è quella di Facebook, che consente a chiunque di creare applicazioni che interagiscono con gli utenti e le pagine Facebook. Già, se non ci fosse la API non esisterebbero i terribili giochini Facebook… Una delle specifiche REST più importanti vuole che un servizio RESTful sia in grado di fornire dati in più formati, in modo tale da soddisfare il maggior numero possibile di utenti/applicazioni. Immaginiamo un servizio che fornisce i risultati delle partite del campionato di calcio. Supponiamo che arrivino tre richieste successive per lo stesso risultato: la prima potrebbe chiedere una risposta in formato XML, la seconda in JSON e la terza in HTML. Il nostro servizio deve rispondere a tutte e tre le richieste, adattando il flusso di dati della risposta al formato di ognuna. Nel mio caso la API che sto implementando supporta XML, JSON, HTML e testo puro. E’ scritta in Python (ma va!) e si appoggia all’eccellente Flask micro web framework. Per risolvere in maniera elegante il problema delle risposte multi-formato ho deciso di usare i decorator, una delle caratteristiche più interessanti di Python. Dopo un po’ di lavoro in proprio ho scoperto che qualcuno aveva già risolto il problema, per giunta con la stessa tecnica. MimeRender di Martin Blech è un’ottima soluzione, solo che è specifica per web.py (un altro web framework). La mia soluzione non disponeva di alcune opzioni interessanti che MimeRender include; ho deciso allora di scrivere un port di MimeRender per Flask, e di metterlo a disposizione del pubblico. ...

February 3, 2012 · Nicola Iarocci

Il Piccolo Libro di MongoDB

Update: il Piccolo Libro di MongoDB, Edizione Italiana è ora disponibile online. Ho cominciato a lavorare alla traduzione autorizzata dell’ottimo The Little MongoDB Book di Karl Seguin. Ho scovato il libro di Karl mentre raccoglievo la documentazione per un nuovo progetto super-segreto (!) a cui sto lavorando. Lo ritengo un’ottima introduzione al mondo NoSQL in generale e naturalmente al fantastico MongoDB. Il titolo italiano sarà Il Piccolo Libro di MongoDB. La traduzione prosegue costante ma a piccoli passi perché purtroppo o per fortuna di tempo libero ne ho poco. Al momento sono tradotti più o meno grossolanamente l’introduzione e il primo capitolo. Mi farebbe comodo un po’ di aiuto, in particolare per quanto riguarda la revisione del testo. Se qualcuno vuol dare una mano è il benvenuto: potete fare delle pull request direttamente su GitHub (metodo preferibile), oppure mandarmi le correzioni via mail. In cambio vi prometto una menzione d’onore e l’eterna gratitudine dei futuri cultori italiani di MongoDB! ...

January 26, 2012 · Nicola Iarocci

Imparare a Programmare… Pensando da Informatico

Chi mi segue da tempo sa che l’educazione è un argomento che mi sta particolarmente a cuore ed è forse per questo motivo che spesso le persone mi chiedono consigli su come imparare a programmare. Gli articoli più letti di questo sito sono senz’altro le guide alla programmazione; Impara Python in 10 minuti e la serie sulle Regular Expression sono vere e proprie Hit, ma certo non sono adatte ai principianti. L’ultima mail è di pochi giorni fa: Mirko chiedeva qual’è il modo migliore per avvicinarsi all’affascinante mondo della programmazione. ...

January 20, 2012 · Nicola Iarocci

JavaScript come Primo Linguaggio

JavaScript non è mai la prima scelta di un aspirante programmatore. Spesso si finisce per usarlo all’occorrenza, per giochetti AJAX o per manipolare il DOM. Google, copia & incolla, e JavaScript è servito. Prima o poi l’abbiamo fatto tutti. E’ un vero peccato perché JavaScript merita di ben altra attenzione. A spiegarlo al mondo è stato naturalmente Douglas Crockford in JavaScript: The Good Parts, un libretto di 172 intensissime pagine in cui si ha costantemente la sensazione che l’autore intenda demolire il linguaggio mentre, in realtà, non fa altro che esaltarne le doti. JavaScript è il linguaggio più usato al mondo, e non a caso: è l’unico supportato da qualunque browser del pianeta. La recente affermazione di Node lato server ne dimostra l’indiscussa attualità. Ciò nonostante JavaScript rimane un linguaggio inadatto al programmatore neofita. O forse no. ...

January 10, 2012 · Nicola Iarocci