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.
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.
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:
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?
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.
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.
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
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.
La storia si ripete
Quasi un anno fa:
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.
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.
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.
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!)
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


