Cazzeggio.

My rule to see if a framework is worth of attention

I came up with a little rule:

In order to be worth of any attention, a framework must be stable enough that I can charge money to train people to use it.

This probably applies to other kinds of software stacks, libraries, development environments and, well, to most software applications.

In the context of python web frameworks, this means that:

  • If it changes API all the time it is not worth of attention, because my customers won't get value for their money, as they'd continuously need retraining and rewriting their software.
  • If I see lots of DeprecationWarnings it is not worth of attention, because my customers will see them and blame me for teaching them deprecated stuff.
  • If fixes for bugs affecting the stable version are only distributed "in a recent git" or "in the next development version", and they are not backported into a new bugfix-only stable release, then it is not worth of attention, because:
    • my customers' business is to develop their own products based on the framework.
    • My customers' business is not to be maintaning in-house stable updates of the framework. Although if the framework's community is nice enough they might end up giving a hand.
  • If it requires virtualenv or can only be obtained through easy_install it is not worth of attention, because:
    • my customers are not interested in maintaning custom deployment environments over time.
    • My customers are not interested in tracking each and every single library's upstream development to keep their production system free of bugs.
    • My customers are used to getting software through a proper distribution which also takes care of security updates.
    • I am paid to teach them how to use a framework, not a custom python-only package management system.
    • In my experience, if distributions have trouble keeping packages up to date, upstream is doing something fundamentally wrong.

In light of this rule, I regret to notice that I see very few python web frameworks worth of any attention.

Posted Wed Aug 4 15:32:24 2010 Tags: cazzeggio

On python stable APIs

There is a theory which states that if ever anyone discovers exactly what the Universe is for and why it is here, it will instantly disappear and be replaced by something even more bizarre and inexplicable.

There is another theory which states that this has already happened.

In Debian testing:

/usr/lib/python2.6/dist-packages/sqlalchemy/types.py:547: SADeprecationWarning: The Binary type has been renamed to LargeBinary.

In Debian Lenny:

ImportError: cannot import name LargeBinary

I was starting to think that SQLAlchemy wasn't too bad, since I've been using it for 6 months and I haven't seen its API change yet.

But there it is, a beautiful reminder that SQLAlchemy, too, is part of the marvelously autistic Python ecosystem.

Posted Mon Jul 19 16:14:25 2010 Tags: cazzeggio

On software modularity

Software modularity is good. You take many modular, reusable components and you join them together to create a bigger software that is more than the sum of its parts:

Voltron

But what happens if you try to put together all sorts of modular parts, each independently designed by a smart person who believes that their way of doing things is the best in the world?

A mess of a robot

It's not exactly easy to save the world in that.

This post has been brought to you after a lot of paid work on Python, WSGI and all those sorts of mini/midi/maxi/meta/macro frameworks people built with them, that always look really, really cool until you actually start to use them for getting a serious job done.

Posted Wed Jun 23 17:50:27 2010 Tags: cazzeggio

La paura e la voglia

Results 1 - 10 of about 5,470 for "la paura e la voglia di essere nudi". (0.34 seconds) 

Results 1 - 10 of about 26,500 for "la paura e la voglia di essere soli". (0.10 seconds) 

Poi non c'è da stupirsi se siamo diventati come siamo diventati.

Posted Wed May 5 13:36:24 2010 Tags: cazzeggio

Se è vero questo...

Se è vero questo...

...allora è vero anche questo!

Posted Thu Apr 22 09:26:08 2010 Tags: cazzeggio

Repubblica e tecnologia

Ho appena inviato questa mail alla redazione di Repubblica:

Subject: Ignoranza in materia di tecnologia

Gent. Venerdí,

in visita ai miei genitori stavo sfogliando l'ultimo numero del Venerdí e ho fatto fatica a trovare gli articoli, nascosti come erano le pagine e pagine di pubblicità alla Microsoft.

Per una frazione di secondo mi son detto "ma queste pubblicità Microsoft ridicole e piene di fregnacce non ledono la reputazione in materia di tecnologia di questo giornale?". Poi mi son ricordato che stavo sfogliando il Venerdí di Repubblica.

C'era una pagina di pubblicità Microsoft in cui si diceva che Repubblica usa Internet Explorer. Giusto, mi son detto: lo sanno tutti che non han mai capito un cazzo di tecnologia.

E infatti, piú avanti nella sezione nuovi gadget compare bello come il sole un pesce d'aprile di Think Geek.

Del resto, se Berlusconi può dire impunemente che cura il cancro in 3 anni, Microsoft può dire impunemente che Internet Explorer è il browser piú sicuro del mondo e rispetta un sacco la privacy. Giusto?

Appena si disperde sta nuvola di fumo io torno all'estero. Statemi bene.

Cordiali saluti,

Enrico

Posted Sat Apr 17 17:11:20 2010 Tags: cazzeggio

Firefox and automatic proxy configuration

Firefox supports automatic proxy configuration, which means that if you plug your laptop on a network with a properly set up proxy server, it will automatically reconfigure itself to use it.

Oddly enough, however, it requires garbage collection when you then plug it back on a network without proxy, in order not to get "proxy not found" errors.

Posted Wed Mar 10 20:03:39 2010 Tags: cazzeggio

La storia si ripete

Quasi un anno fa:

http://ilrestodelcarlino.ilsole24ore.com/bologna/2009/05/11/175660-corsa_sindaco_escluso_beppe_maniglia.shtml

Spicca naturalmente l’esclusione del rocker Beppe Maniglia con la sua lista “Muscolosa”. A lui sono state contestate “le firme e irregolarita’ nella presentazione della lista”, come spiega il presidente della commissione elettorale, Francesco Russo. In particolare, la lista di candidati per il Consiglio comunale presentata da Maniglia aveva “alcuni nomi cancellati col bianchetto, quindi non c’era certezza sui candidati che effettivamente sono stati presentati ai sottoscrittori”. I nomi cancellati, come spiega la commissione, erano cosi’ tanti che si scendeva sotto il numero minimo di 31.

http://corrieredibologna.corriere.it/bologna/notizie/politica/2009/11-maggio-2009/elezioni-escluso-beppe-maniglia-1501344591285.shtml

Escluse, invece, [...], e Maniglia Muscolosa, di Beppe Maniglia, il musicista che da anni anima i pomeriggi dei bolognesi in piazza Maggiore. La sua lista è stata scartata anche per irregolarità su quattro nomi di candidati: cancellati con un bianchetto e sostituiti a penna con altri quattro, di fatto hanno invalidato complessivamente la lista che, essendo formata da 31 candidati (numero minimo) si è così ridotta a 27 nomi.

Oggi:

http://www.repubblica.it/politica/2010/03/01/news/liste_pdl_nel_lazio-2466722/

Minacciato o solo affamato? O forse impegnato a modifiche di lista dell'ultimo minuto? La vicenda della mancata presentazione delle liste Pdl per le regionali del Lazio nella provincia di Roma oscilla tra la farsa e il dramma politico. Al centro c'è Alfredo Milioni, presidente Pdl del XIX municipio della capitale: l'uomo che ha lasciato l'edificio del Tribunale forse per andare a mangiare un panino o, forse, per cancellare qualche nome dalle liste che stava per presentare su indicazioni, pare, venute molto dall'alto.

http://www.corriere.it/politica/10_marzo_01/roncone-Io-minacciato-non-mi-hanno-fatto-rientrare_6f3f7f2a-2501-11df-98c5-00144f02aabe.shtml

Dica la verità.

«Lo giuro, lo giuro! Non volevo apportare modifiche. Mi deve credere, capito?».

Va bene, stia calmo. Questo però significa che è davvero andato a mangiarsi un panino.

«Sì... ecco, sì: sono andato a mangiarmi una panino. Non mi pare grave, no?».

Quindi è vero: lei ha lasciato l’aula per andare al bar.

«Io? A mangiare?».

In conferenza stampa, la Polverini ha fornito una ricostruzione dei fatti un poco diversa.

«No, cioè... io, a mangiare: ma chi l’ha detto?».

Lei, adesso.

Sebbene il buon Beppe Maniglia non meriti davvero di essere messo di fianco a gente oscena di questo tipo.

Posted Mon Mar 1 12:06:32 2010 Tags: cazzeggio

dput xcowsay_1.1.1_amd64.changes

dput xcowsay_1.1.1_amd64.changes

Closes: #551864.

It was downloaded from: http://www.doof.me.uk/xcowsay/

Upstream Author: Nick Gasson (also author of the initial Debian packaging, Nick, you rock!)

Posted Fri Oct 23 22:01:43 2009 Tags: cazzeggio

Lessons learnt from Oracle

Lesson number 1: "how to handle temporary files".

$ rm tp*
$ proc code=cpp lines=yes dba_vm.pc 

Pro*C/C++: Release 10.2.0.1.0 - Production on Wed Sep 30 11:10:00 2009

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

System default option values taken from: /usr/local/oracle/10.2.01/db_1/precomp/admin/pcscfg.cfg

$ echo $?
0
$ ls tp*
tpoHRjc8  tpqkU4Cp  tpY5Eo4G
$ 

Today we learn this: for every successful compilation of a single source file, it is a Good Thing to leave three temporary files around as a tribute to the Holy Trinity who bestowed upon us the grace of seeing our prayers fulfilled and our work rewarded.

For those illiterate of us who do not want to learn from the Market Leaders, and do not want to put a rm -f tp* in their makefiles just to avoid in the future to see hours of work on tpl_support.cc disappear at the first invocation of make, here's the Yokel's Wrapper:

#!/bin/sh -ue

if [ $# -ne 2 ]
then
        echo "Usage: $0 infile outfile" >&2
        exit 1
fi

DIR=`mktemp -d`

cleanup() {
        rm -rf "$DIR"
}

trap cleanup EXIT

cp "$1" "$DIR"
(
        cd $DIR
        proc code=cpp lines=yes "$1"
        mv `basename "$1" .pc`.c "$2"
)
mv "$DIR/$2" .

exit 0
Posted Wed Sep 30 11:31:02 2009 Tags: cazzeggio