Archives for May, 2007

30
May

La workstation perfetta per il perfetto web developer…

… non esiste :D

A parte questa massima che lascia il tempo che trova dopo 7 anni passati a programmare in ambiente LAMP da professionista un’idea di quale sia la migliore combinazione di software e amenità da utilizzare me la sono ben fatta.

Ed ecco quindi la mia personale ricetta, ingredienti nuovi e suggerimenti sono sempre ben accetti :D

Passo numero 1 installare Ubuntu. A parte le motivazioni “etiche” legate alle scelta di un ambiente GNU/Linux, che in questo momento comunque non ci interessano, la scelta è tutta volta all’insegna della produttività: la grande disponibilità di software già pronto, la maggiore sicurezza, una shell potente sarebbero già da soli motivo più che sufficiente per escludere qualsiasi alternativa; il cercare poi un ambiente il più simile possibile a quello di produzione dà il colpo di grazia. A chi si sta chiedendo perché Ubuntu e non un’altra distribuzione od un altro sistema Unix Like rispondo con due semplici motivazioni in ordine di importanza:

L’ambiente desktop di riferimento l’avrete già capito è Gnome sia per gusti personali (lo trovo decisamente più coerente ed usabile delle alternative) sia perché la maggior parte dei software che uso si integra meglio con Gnome che con KDE o XFCE.

Passiamo al software per fare il vero lavoro “sporco” partendo dall’editor:

EasyEclipse for PHP non si tratta d’altro che di un Eclipse bello e pronto da scaricare con un tot di plugin già configurati per chi come me sviluppa in PHP. Si può anche partire dall’Eclipse disponibile direttamente nei repository di Ubuntu ma qui trovate una serie di utilità (il supporto svn ad esempio, o l’editor HTML) già installate. Comunque per le mie esigenze non è ancora perfetto e quindi ecco come “speziare” la ricetta: installo il plugin Clay per il modelling del database e infine ranzo via il plugin PHP Eclipse per installare il plugin PDT

Fatto l’editor passiamo al browser: il browser principale non può che essere Firefox non tanto perché lo ami follemente ma perché non potrei mai fare a meno della Web Developer Toolbar e della Google Toolbar. Non manco comunque mai di installare Epiphany e un bel armamentario di browser da testing (anche detta carne da macello): Opera, Konqueror e l’indispensabile IE4Linux (consiglio la versione beta per poter testare anche Explorer 7).

Passando alla questione gestione immagini il primo eroe della serie è GQview, un visualizzatore di immagini che appartiene alla nota categoria brutti ma funzionali. Leggero ed estremamente configurabile è l’ideale per visualizzare tante foto di grandi dimensioni senza incredibili rallentamenti e crash. Chicca del programma la possibilità di inviare l’immagine all’editor grafico preferito tra cui non può mancare ovviamente GIMP. Nel reparto immagini è anche necessario citare un’applicazione QT based per la generazione delle mappe HTML: KImageMapEditor (unico vero oggetto indispensabile della categoria HTML wysiwyg). Concludo la carrellata dedicata alle immagini con una prelibatezza che forse servirà a pochi ma che mi ha semplificato la vita non poche volte: kruler; trattasi di un semplice righello a schermo, grande amico quando si devono prendere dimensioni al volo dai layout più disparati.

Per il reparto desktop ancore due citazioni da coltellino svizzero: gFTP client ftp agevole per spostare file in modalità grafica tra workstation e server (o tra server a server) e ancora i mitici MDB Tools indispensabili per leggere database MsAccess (prima o poi capiterà anche a voi il cliente che vi getta addosso tutta la propria storia in un bel file mdb).

Per concludere la lieta novella il reparto server/shell della nostra workstation.

Stiamo parlando di LAMP quindi Apache, MySQL e PHP mi sembra sia quasi inutile citarli :) Tra gli indispensabili del reparto non dimentichiamo mai il modulo gd per PHP e il mod_rewrite per Apache. Al tutto si possono aggiungere i sempre ben accetti PEAR e phpMyAdmin.

Lato shell oltre ai soliti noti (svn, scp, cvs, lftp, wget, etc) non mi faccio mai mancare php-cli, l’interfaccia a linea di comando di PHP, e ImageMagick vero grande risolutore per tutti i problemi di immagini (come ad esempio trasformare giga e giga di foto ad alta risoluzione in jpeg da pubblicare sul web).

Bene, ecco la mia ricetta… e la vostra? :)

28
May

Informatica a risparmio energetico

L’informatica è uno dei fattori determinanti nella grande corsa verso un “mondo migliore”, un ingrediente fondamentale di ciò che chiamiamo progresso. Senza spingerci ad analizzare il ruolo importante assunto dall’informatica nei campi più specialistici, si pensi alla medicina o all’areonautica, ce ne si può facilmente rendere conto nella vita di tutti i giorni confrontando le possibilità di comunicazione, di cultura, di espressione di oggi (da Skype a Wikipedia, da WordPress a Flickr) con quelle di solo qualche anno fa.

Eppure, nonostante i vantaggi prodotti dall’informatica siano evidenti a tutti (o perlomeno a tutti i non “apocalittici”), c’è almeno un campo nel quale, a mio avviso, l’informatica non ha prodotto sostanziali miglioramenti: un campo che potremmo definire per semplicità, e forse con una retorica un po’ troppo marxista, di “liberazione dal lavoro”.

Il discorso è sin troppo semplice: i vantaggi offerti dall’informatica (e più generale dalla tecnica) sono andati tutti a favore di una maggiore produttività, a discapito invece di un possibile guadagno in termini di ore lavoro risparmiate: per essere banali chi potrebbe fare in 10 ciò che in un’era pre-informatizzata faceva in 30, non lavora 10 ma continua a lavorare 30 “rendendo” 3 volte tanto.

Forse, e sottolineo forse, non c’è un’altra strada percorribile. Ed è per questo che lancio una provocazione in due semplici passi:

  1. Definire una licenza software che reciti nel suo punto fondamentale “Ogni 3 ore di lavoro svolto con questo software l’utente guadagnerà un’ora di ferie retribuite
  2. Produrre un gestionale gratuito da distribuire con questa licenza.

A volte per raggiungere obiettivi anche piuttosto modesti è necessario puntare molto in alto. E puntare molto in alto in questo caso significa riuscire a produrre un gestionale che riesca nel tempo ad avere un TCO (comprensivo delle ore lavoro “regalate”) inferiore a qualsiasi alternativa commerciale e non. Il dado è tratto, chi gioca?

24
May

Da una query MySQL ad un file csv?

PHP, BASH, Python… chi offre di più?

Ma no, lasciamo che sia MySQL stesso a fare il lavoro sporco per noi, son sicuro che la SELECT… INTO OUTFILE tornerà preziosa a molti.

Ed ecco un bel copia e incolla direttamente dalla documentazione ufficiale di MySQL:

SELECT a,b,a+b INTO OUTFILE '/tmp/result.txt'
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
LINES TERMINATED BY '\n'
FROM test_table;