venerdì 31 dicembre 2010

Mail-it: do you speak Python?


La cosa più difficile per un Programmatore è “parlare” un linguaggio diverso. La cosa più stimolante è poter dire di saper “parlare” tante lingue (poco importa se si ha la destrezza linguistica di un apprendista venditore di cocco). Ma l'unica cosa intelligente per un Programmatore è scegliere un linguaggio in funzione del contesto; beh, non crederete che sia raro sentire un Programmatore italiano parlare in tedesco quando è in vacanza nel Mar Rosso?



Nella mia vita da Programmatore posso dire di essere poliglotto: Basic, Visual Basic, Assembler, C, C++, Visual C, ASP, PHP, HTML, CSS, BASH, SQL e vari dialetti; ma ho la tendenza a centrifugare il tutto per masticare una sbobba incomprensibile e informaticamente “non funzionante”. Ed ecco che, da Strong Guru Informatico, mi viene in aiuto la mia memoria selettiva, deprecata e scarsa che mi fa precocemente dimenticare tutti gli altri linguaggi.

Ebbene da inevitabile Programmatore Intelligente ho pensato bene di non parlare in tedesco ma di imparare a parlare il “Mar Rossonese” per le mie future vacanze che non so quando le potrò fare!
Fuor di metafora, ho deciso di imparare un nuovo linguaggio per la creazione di un “desktop banal program” in ambiente Linux. La scelta del linguaggio è scivolata su Python.


Mail-it: un cuore tenero nato dagli "Hello world"

Il Programmatore rude impara un nuovo linguaggio senza manuali, senza istruttori e senza un Flow Sheet, in quanto è una necessità che stimola un bisogno il quale spinge il Programmatore a realizzare un software nel linguaggio che ha in testa di voler, prima o poi, imparare; o perlomeno questo è stato il mio percorso formativo.

La necessità
Un mio collega trascorre alcune ore al mese per prendere delle immagini, aprire GIMP per ridurle e ritagliarle alla dimensione necessaria, salvarle in JPEG ottimizzandole per il web, aprire un complesso documento HTML con Kate, cercare il punto dove scrivere delle notizie, scriverle, stando attento a non rovinare il codice del layout e copiando e incollando delle formattazioni a lui poco compressibili (HTML tags), aprire il file con un browser web, IceWeasel, per verificare tutti gli errori che ha commesso senza poter vedere le immagini che sono ancora sul suo disco locale, aprire un oscuro client FTP, Filezilla, per fare l'upload del documento HTML e di tutte le immagini nella cartella giusta, verificare che la versione online funzioni e, infine, aprire Icedove e copiare il documento HTML per inviare quella sudata newsmail ad una mailing list.

La soluzione
Da fervido Programmatore ho pensato che fosse arrivato il momento di snellirgli quelle routinarie, e potenzialmente pericolose, operazioni creandogli un'interfaccia che automatizzasse alcuni processi del suo compito per farlo concentrare unicamente sulla sua vera mansione: scrivere le notizie!
Soluzioni come PHPlist si concentramento principalmente sul meccanismo di invio della mailing, mentre al mio collega serviva principalmente una guida che lo aiutasse a caricare correttamente e sporadicamente le notizie e le relative immagini all'interno di un template HTML (creato ad arte da uno specialista) per comporre una newsmail.
E, a lavoro esaurito, fare l'upload online della pubblicazione e inviare la mailing.

La creazione
Python l'ho appreso guardando in Rete il codice degli esempi, i famosi "Hello World". Sbircia qui e sbircia lì, il codice si è accatastato in una forma funzionante di programma. Software che alla versione 0.9 vede il suo rilascio, con licenza GPL, su SourceForge sotto il nome di Mail-it.

Adesso il mio collega intravede all'orizzonte molte ore di lavoro risparmiate ..che potrebbe tranquillamente investire in lauti e abbondanti caffè da offrirmi mentre mi culla con idratanti complimenti.

Eccovi uno screenshot:




Ebbene, adesso posso dire di parlare pynthonese come un apprendista venditore di cocco su quelle spiagge del Mar Rosso dove il mio collega trascorrerà le sue vacanze alla faccia mia.
Enjoy Python


PS: però il mio collega, che sta preparando le valigie, non sa che non ho ancora creato il modulo per gestire l'invio della newsmail ;-)


Per Maggiori Informazioni

Per conoscere, scaricare, usare e implementare mail.it: mail-it.sourceforge.net

Se qualcuno volesse segnalarli bug o contribuire allo sviluppo e/o migliorare la traduzione (adesso è solo italiano e inglese)... scrivetemi (da qualche parte ci dovrebbe essere il mio indirizzo email)

Se qualcuno volesse creare un logo più carino di quello che ho scopiazzo dalle icone Oxygen può inviarmi i suoi contributi in formato SVG

Se qualcuno volesse offrirmi un caffè... beh, mi venga a trovare, qui ci sono dei validi bar ;-)

8 commenti:

  1. Ciao More,

    ottimo lavoro :-) ! E anche bella la pagina su sourceforge, compreso il logo More+. Volevo in ogni caso segnalarti che i links a screenshots e download sono rotti, probabilmente passando dall'indirizzo "http://sourceforge.net/projects/mail-it/" a "http://mail-it.sourceforge.net/".

    Saludos

    RispondiElimina
  2. ... errata corrige; causa viaggio in treno mi era andata la connessione UMTS in timeout con conseguente 404 ;-)

    Ciao

    RispondiElimina
  3. Grazie ..ti aspetto qua sotto al bar per farmi offrire il caffè!

    Sto lavorando all'invio della mailing, presto sarà online.

    RispondiElimina
  4. Caffè??? Lo sai che da me riceverai solo ambrosia dorata... ;-)

    RispondiElimina
  5. beh io un caffè te lo posso offrire, dipende dalla locazinoe geografica del bar.

    RispondiElimina
  6. Seconda stella a destra
    questo è il cammino,
    e poi dritto fino al mattino
    poi la strada la trovi da te

    ...più o meno: vivo nella punta NORD del Varesotto
    ma per il caffé puoi mandarlo liofilizzato dentro un pacchetto IP all'indirizzo del mio router ;-)

    RispondiElimina
  7. Che bellino :)

    Unico appunto: tutto il workflow del tuo collega mi sembra un errore manageriale.
    Possibile che non si possa buttare su una piattaforma php-based per gestire il caricamento delle immagini, la scrittura dei contenuti e l'inoltro delle email?
    Un blog alla wordpress più qualche plugin mirato risolverebbe il problema.
    O anche un mini script php con annesso rich text editor (http://nicedit.com/)

    Complimenti per il blog a proposito, molto interessante :P

    RispondiElimina
  8. @Framp
    Hai mai visto un posto di lavoro privo di errori manageriali? Per fortuna, non c'è ne sono (soprattutto in Italia); ciò lascia ai lavoratori l'autonomia dell'ingegno, la dimostrazione delle abilità e la gloria di trovare un escamotage per lavorare meno ma con maggiore profitto. O più semplicemente, questi errori manageriali ci donano il valore di essere uomini e non impeccabili macchine d'ufficio.
    Tornando al software, di soluzioni alternative ce ne sono tante. Con PHP avrei fatto un lavoro migliore e in meno tempo, ma, tecnicamente, non volevo un servizio dipendente da un'installazione server e, personalmente, volevo imparare un nuovo linguaggio di programmazione ;-)

    A presto... e grazie!

    RispondiElimina