sabato 25 agosto 2007

Full Immersion

Sono appena tornato dalla mia prima immersione subacquea dopo sette anni. Sette anni? Non mi sembra vero, ieri sera quando ho tirato fuori il mio Logbook ho letto la data della mia ultima immersione: 08 luglio 2000, in Toscana, tra l'Elba e la terraferma, 35 minuti per un massimo di 30 metri di profondità.
Ieri dopo aver noleggiato le bombole (ed essere ri-tornato dal negoziante perché la mia bombola perdeva, in mezzora di macchina è passata da 210atm a 180atm...) ho preparato tutto il necessario: GAV, muta semistagna, pinne, calzari e maschera in perfetto ordine.

Visualizzazione ingrandita della mappa
Oggi finalmente sono stato con amici ai Castelli di Cannero, nell'alto Lago Maggiore, dove per una mezzoretta ci siamo immersi nelle torbide acque lacustri. Siamo partiti con il gommone da Caldè, qualche chilometro dopo Laveno. Subito con il gommone in acqua abbiamo puntato la poppa a nord, per un primo tratto piuttosto mosso ma molto divertente, per poi virare verso nord-ovest raggiungendo la quasi la costa del Verbano, poco prima del confine Svizzero, trovando così i castelli di Cannero.

Ci siamo immersi per mezzora, circumnavigando uno grande scoglio fino ad una parete, che secondo l'ecoscandaglio scende fino a 80 metri. Abbiamo continuato a scendere la parete fino a 17 metri, trovando un paio di occhiali da sole da ciclista (che ci facevano li?), dopo un paio di persici visti dal mio compagno di immersione, e qualche mio problema di assetto, dato che non avevo mai fatto un immersione in acqua dolce, siamo risaliti, soddisfatti.

Spero di riuscire a riprendere questa passione con la quale sono cresciuto, che a qualcuno può far paura, ad altri può sembrare inutile, ma che in realtà è uno degli sport più divertenti che esistano, sopratutto per chi, come me, ama a stare a contatto con la natura, in un mondo dove l'uomo interagisce molto poco (anche se, quando lo fa, spesso distrugge).

venerdì 24 agosto 2007

Dynamic ActiveRecord

A volte in una applicazione, in fase di produzione, potrei non conoscere a priori i nomi e le tabelle che dovrò utilizzare.
Normalmente in SQL metterei in una variabile il nome della tabella e la innesterei all'interno della query.
Questo con rails è possibile, ma si perdono tutti i benefici derivanti da ActiveRecord (la classe che implementa il livello ORM del framework).

Come fare quindi se non conosco a priori il nome della tabella e di conseguenza non posso generare il modello in fase di sviluppo?

Una possibile soluzione è di utilizzare un semplice modello vuoto di appoggio

class DynTable < ActiveRecord::Base;
end


Quindi nel mio controller ora posso specificare la tabella da utilizzare:

my_table_name = "tests"
DynTable.set_table_name(my_table_name)


Il metodo set_table_name table_nameviene solitamente utilizzato all'interno del modello. Non potendo modificare a runtime il modello dall'interno (perchè di fatto i modelli in rails sono delle classi singleton), posso farlo dall'esterno.

Ora che il mio modello "punta" alla giusta tabella posso utilizzarlo per i miei scopi.

dyn_content = DynTable.find(:all)
DynTable.new
DynTable.delete
...


Spero che vi sia utile...
Ciao

martedì 7 agosto 2007

ActiveRecord troubles

Ho dovuto un po' sclerare su modello Rails inquando mi generava un errore piuttosto strambo quando eseguivo una find:

compile error
/usr/local/lib/ruby/gems/1.8/gems/activerecord-1.15.3/lib/active_record/base.rb:1358: syntax error, unexpected tINTEGER
Object::1
^

Come ho risolto? All'interno della tabella avevo un campo integer di nome Type che mi mandava in panne la Find.

Rinominando quel campo, tutto è tornato a posto...

Che idiota... mai usare parole che hanno l'aria di 'riservate'!

venerdì 3 agosto 2007

Developer Abuse

Jacek, un partecipante dell'ESSAP, ha inviato oggi nella mailing list degli alunni della scuola estiva un link divertente ad alcuni filmati presenti su YouTube sull'extreme programming.

Questo mi ha dato modo di rivedere il filmato di una pubblicità di ThoughWorks molto divertente...

giovedì 2 agosto 2007

Open Source Word Processor for MacOS-X

Esistono diverse alternative valide a Microsoft Office in qualunque ambiente.

Il pacchetto più completo è il ben conosciuto OpenOffice (con il suo port NeoOffice), disponibile su qualunque piattaforma. Il principale problema di OO è la pesantezza (anche sul mio MacBook Pro ci mette qualche secondo a partire).  Che dire se dovo modificare qualche documento al volo?

Esistono almeno quattro alternative, due delle quali open source. Le prime due sono Apple Pages, fantastico, ma a pagamento, a Apple TextEditor (l'equivalente del blocco note di windows, solo che supporta DOC e RTF) che è in dotazione con il sistema operativo.

Per quanto riguarda le soluzioni open source esiste l'ottimo AbiWord (sembra che abbia solo un piccolo problema con le icone che vengono visualizzate male nelle barre degli strumenti), disponibile anche su Windows e ovviamente su Linux, e Bean basato sullo stesso motore di Apple TextEditor, quindi è velocissimo, anche se non molto completo.

Per scaricare Bean cliccare qui

Per scaricare AbiWord cliccare qui

Per scaricare NeoOffice cliccare qui 

Scribd

Oggi ho trovato un altro sito nel pieno spirito web 2.0: Scribd

Scribd è un archivio web per documentazione, una sorta di repository di file PDF, Word e simili.

Tutti i documenti sono visualizzabili nel browser (esattamente come accade con YouTube, Flickr o SlideShare) e possono essere scaricati in diversi formati.

L'indirizzo è www.scribd.com