Archives for maggio 2008

Gestione dei record in Python/2

Nella scorsa puntata ho descritto i pregi e le virtù delle
namedtuple, un concetto che è stato introdotto nella libreria standard
di Python con la versione 2.6 (attualmente in alpha) ma che può essere
utilizzato proficuamente fin da
subito, semplicemente scaricando la ricetta di Raymond
Hettinger
. In questa puntata farò uso delle namedtuple per gestire
i record provenienti da un database a darò qualche consiglio su
come processare e come visualizzare tali record.

[Read more…]

Errare humanum est perseverare diabolicum

Doverosa premessa

In questo articolo troverete luoghi comuni, semplificazioni, banalità. Con l’aggiunta di una giusta dose di frustrazione e di rabbia da parte dell’autore, possiamo tranquillamente definirlo un rant.

Alitalia

Qualche giorno fa ho letto un’inchiesta del Sole 24 Ore. La frase che mi ha colpito è stata questa: il «rapporto contrattuale con Accenture avviato nel 2005, finalizzato al progetto di ristrutturazione del sistema amministrativo-contabile, per circa 30 milioni di euro complessivi». E poi quest’altra: «Per il restyling, “svolto in collaborazione con la sola agenzia di comunicazione”, Saatchi & Saatchi, la compagnia – ha detto Libonati – ha sostenuto “per disegni e realizzazione dei nuovi materiali”, il costo complessivo di 520mila € tra il 2005 e il 2006».

Partiamo dal «restyling del marchio», quello che è costato 520mila €. Ecco le due versioni:

Logo vecchio

Logo del 1969

Logo nuovo

Logo del 2005

[Read more…]

Le avventure del futuro

Con la puntata pubblicata la settimana scorsa abbiamo chiuso il
secondo ciclo delle “Avventure di un Pythonista in Schemeland”. È
tempo di una pausa di riflessione. Il primo ciclo di cinque puntate è
stato puramente introduttivo e rivolto a tutti, mentre il secondo
ciclo è stato più tecnico e rivolto ad un pubblico attento. In
particolare, siamo entrati nel cuore di Scheme, andando a discutere il
concetto di code is data ed introducendo le macro di tipo
syntax-rules. Adesso è il momento di avere un pò di feedback
dai lettori. Sondando nella lista degli autori di Stacktrace ho
scoperto che molti trovano il ritmo di pubblicazione attuale (poco
meno di un articolo a settimana) un pò difficile da seguire. Voi
lettori abituali che ne dite? State ancora seguendo? Vi è scoppiata
la testa leggendo la decima puntata?

[Read more…]

Studia, studia…

Ogni riferimento a persone o fatti realmente accaduti è puramente casuale

Progetto ETROM/1

Con questo articolo si inaugura una nuova rubrica che speriamo possa incontrare i vostri favori. Sappiamo di non essere particolarmente originali, ma il termine Gola Profonda si è stampato in modo indelebile nel nostro immaginario collettivo per potervi sfuggire (a partire da film come Tutti gli uomini del presidente in avanti, che avevate capito!). E allora vi esortiamo, fate venire fuori il delatore che è in voi, spiate, denunciate, spargete fluido velenoso nascondendovi dietro allo pseudonimo Gola Profonda: noi vi garantiremo l’anonimato. Unica regola: nomi, aziende, luoghi… non ci interessano, non li vogliamo sapere, quello che vogliamo non è di certo diffamare nessuno, bensì stigmatizzare vizi profondi e superficiali virtù dell’IT di casa nostra.

Come al solito, mandate le vostre segnalazioni a info@stacktrace.it

ETROM

Questo diario di bordo è la storia di un team XP alle prese con un progetto in un contesto tradizionale. In qualche modo, è la storia di culture che a volte si confrontano e più spesso si scontrano. Oppure è più semplicemente la storia di ordinaria umanità alle prese con reciproche incomprensioni.
Il luogo del delitto è rappresentato da Sfiziosi Virgulti, software house di nicchia dal passato storico, in balia dei postumi della Gnù Economy, alla ricerca di un’identità che fa fatica a spiccare, in bilico tra moderne incertezze e antiche illusioni.

[Read more…]

Le avventure di un Pythonista in Schemeland/11

gears.gif

Dopo la teoria discussa nelle puntate precedenti, finalmente è il
momento di un pò di pratica. Dedicherò questa puntata alla discussione
di alcune applicazioni concrete delle macro. In
particolare implementerò un mini-framework di unit test ed un semplicissimo
sistema ad oggetti. Entrambe le cose si possono trovare come librerie
(per i test si vedano gli SRFI 64 e 78, di sistemi ad oggetti ce ne sono
a bizzeffe) ma secondo me è
estremamente utile avere un’idea degli ingranaggi che stanno dietro ad
una libreria di unit test o ad un sistema ad oggetti. D’altra parte, è
anche utile conoscere i problemi che possono far inceppare gli
ingranaggi della macrologia e quindi per prima cosa discuterò una
sottigliezza delle macro che teoricamente è facile da capire, ma che
in pratica può trarre in inganno anche programmatori esperti.

[Read more…]

Le avventure di un Pythonista in Schemeland/10

exploding-head.jpg

In questo puntata chiudo il discorso sulle macro del secondo ordine
iniziato nella puntata scorsa, spiego i segreti dell’operatore di
ellipsis e mostro le soluzioni alle sfide da me lanciate. Inoltre,
spiego come definire una macro define-syntax+ che fornisce delle
funzionalità di introspezione e debugging alle macro che
definisce. Prima di cominciare a leggere, vi consiglio di prepararvi
una grossa scorta di caffè. Come si dice nel mondo Python, questa è
una puntata che rischia di farvi scoppiare la testa, quindi leggetela
con cautela e a vostro rischio e pericolo. Siete avvisati!

[Read more…]

Gestione dei record in Python/1

Qualunque programmatore prima o poi si sarà trovato a dover gestire dei record: interagendo con un database, leggendo un file CSV, programmando in un qualunque linguaggio (ricordate i record del Pascal e le struct del C?) e in mille altre occasioni. Questo dunque potrebbe sembrare un argomento elementarissimo, ben conosciuto e assolutamente noioso: tuttavia, si tratta di un soggetto su cui c’è ancora molto da dire. In questo miniserie tratterò della gestione dei record in Python, ma la miniserie è pensata per discutere, più che i dettagli implementativi, tecniche generali per risolvere il problema di leggere, scrivere e processare sequenze di record in maniera pulita. La miniserie si articola in tre parti: la prima, quella che state leggendo, introduce la materia e illustra una possibile soluzione al problema di leggere un file CSV con un numero qualunque di campi non noto a priori; la seconda parte si occupa del problema di leggere dei record da un database; la terza ed ultima parte, infine, si occupa del problema di generare dati in forma tabellare e di renderizzarli in vari formati.

[Read more…]