"From Genesis to Revelation" by Genesis is my preferred album at this time. I could continue to listen it without stew me!
This is the first album recorded in 1969 by the band of Phil Collins and Peter Gabriel. It's a complete album that would want to tell the human's history from the genesis (the bible first's book) to Revelation (the bible last's book, Revelation is the correct translation for apocalypse).
Genesis took cues from progressive, melody and classic rock. The unmistakable voice of Peter Gabriel gives a touch of class to the album, that today remains one of the Genesis' best sold album.
Bye Piero
martedì 30 gennaio 2007
Div trascinabile con gli Script.aculo.us
Un caratteristica interessante di Rails è che ha già impacchettati i famosi Script.aculo.us, script che consentono di creare pagine graficamente dinamiche. Ad esempio è possibile creare un div simile ad una finestra (cliccabile e trascinabile con il mouse) in poche righe di codice.
Nella view scriveremo
<%= javascript_include_tag "prototype" %>
<%= javascript_include_tag "scriptaculous" %>
per importare i Javascript necessari
Poi creeremo un Div e lo chiameremo "finestra"
Ora modifichiamo il css a lui appicato
Ora inseriamo uno script appena dopo <div id="finestra">
Il gioco è fatto, avremo un div che si comporterà come una finestra...
Referenze
Sito ufficiale di Ruby On Rails: www.rubyonrails.org
Sito ufficiale degli Script.aculo.us
Ciao Piero
Nella view scriveremo
<%= javascript_include_tag "prototype" %>
<%= javascript_include_tag "scriptaculous" %>
per importare i Javascript necessari
Poi creeremo un Div e lo chiameremo "finestra"
<div id="finestra"> clicca su di me per trascinarmi! </div>
Ora modifichiamo il css a lui appicato
#finestra {position: absolute;
z-index: 70;
height: 400px;
width: 300px;
top: 20px;
right: 300px;
background-color: #FFFFDD;
}
Ora inseriamo uno script appena dopo <div id="finestra">
<script type="text/javascript"> new Draggable('finestra'); </script>
Il gioco è fatto, avremo un div che si comporterà come una finestra...
Referenze
Sito ufficiale di Ruby On Rails: www.rubyonrails.org
Sito ufficiale degli Script.aculo.us
Ciao Piero
Rails e Ajax
Realizzare applicazioni moderne, di forte impatto grafico, solitamente porterebbe via molto tempo. Oggi grazie ai tanti framework di sviluppo web agile che si stanno diffondendo è molto più semplice e veloce scrivere intere applicazioni ben fatte con un notevole risparmio di tempo e divertendosi. Esistono diversi framework: primo tra tutti Ruby On Rails, poi segue Nitro (sempre in ruby), e Django scritto in Phyton.
Rails supporta nativamente Ajax ed è molto semplice da utilizzare. Per eseguire una richiesta Ajax è sufficiente utilizzare gli appositi helpers.
Nell'html head della View scriveremo
per importare le funzioni javascript necessarie.
Mentre per fare un link che aggiornerà un div via ajax scriveremo
Rails provverderà a generare il codice javascript necessario per eseguire le richieste via Ajax.
Con questo comando verrà richiamato il controller corrente alla funzione "funzione_remota_da_chiamare" e l'output sarà inserito nell'apposito div chiamato "div_da_aggiornare".
il codice del controller remoto sarà simile a questo
Facile no?
Ciao Piero
Per approfondimenti onLamp - Ajax on Rails: OnLamp
Rails supporta nativamente Ajax ed è molto semplice da utilizzare. Per eseguire una richiesta Ajax è sufficiente utilizzare gli appositi helpers.
Nell'html head della View scriveremo
<%= javascript_include_tag "prototype" %>
per importare le funzioni javascript necessarie.
Mentre per fare un link che aggiornerà un div via ajax scriveremo
<%= link_to_remote( "clicca qui",
:update => "div_da_aggiornare",
:url =>{ :action => :funzione_remota_da_chiamare }) %>
Rails provverderà a generare il codice javascript necessario per eseguire le richieste via Ajax.
Con questo comando verrà richiamato il controller corrente alla funzione "funzione_remota_da_chiamare" e l'output sarà inserito nell'apposito div chiamato "div_da_aggiornare".
il codice del controller remoto sarà simile a questo
def funzione_remota_da_chiamare
render :text => "Ciao Ciao"
end
Facile no?
Ciao Piero
Per approfondimenti onLamp - Ajax on Rails: OnLamp
sabato 27 gennaio 2007
Last.fm
Troppo bello.
Ne avevo già sentito parlare, più che altro mi ricordo che con Amarok era possibile utilizzare parte di quel servizio... poi stasera girovagando tra i blog di persone conosciute ho trovato questo post sul sito di Luca a proposito di Last.fm ... non c'è che dire... è stato molto convincente! (grazie Luca... e scusa se ti copio il Post!)
Last.fm è un ottima radio web e si adatta ai tuoi gusti! Basta scaricare il loro software (una decina di mega), creare un account su last.fm, e il gioco è fatto!
ciao Piero
Ne avevo già sentito parlare, più che altro mi ricordo che con Amarok era possibile utilizzare parte di quel servizio... poi stasera girovagando tra i blog di persone conosciute ho trovato questo post sul sito di Luca a proposito di Last.fm ... non c'è che dire... è stato molto convincente! (grazie Luca... e scusa se ti copio il Post!)
Last.fm è un ottima radio web e si adatta ai tuoi gusti! Basta scaricare il loro software (una decina di mega), creare un account su last.fm, e il gioco è fatto!
ciao Piero
giovedì 18 gennaio 2007
eXtreme Meeting n°8
Ieri ci siamo riuniti per l'ottavo incontro dell'XpUg.
Era tanto che non ci vedavamo: da prima delle ferie.
Tutti quanti avevamo voglia di ricominciare a lavorare: presenti Max, Federico, Andrea, Jacopo, Matteo, Davide e Mimmo.
Abbiamo cominciato con mezzo pomodoro a parlare della prossima Essap: alcuni di noi vi hanno partecipato e potrebbero ripartecipare quest'anno portando la propria esperienza di learning dopo un anno di eXtreme Programming. Inoltre quest'anno abbiamo l'opportunità di partecipare all'XP2007, che si terrà a Como, eventualmente presentando un poster con i nostri lavori (eXaminando?).
A metà pomodoro Matteo ci ha ricordato che non abbiamo fatto lo stand-up meeting, così ci siamo alzati e abbiamo ricominciato l'incontro da bravi membri di un team XP.
L'incontro è stato proficuo. Abbiamo inserito una nuova storia e l'abbiamo quasi completata (creazione dell'Home Page di eXaminando). Tutti sono andati avanti con le proprie storie. Siamo partiti con l'intento di mescolare le coppie per fare un buon pair-programming, cosa che purtroppo è stata fatta solo all'inizio... peccato! Jacopo alla fine ha riproposto di modificare la cadenza degli incontri da quindicinale a settimanale, la proposta è stata accettata.
Dopo un mese di astinenza di programmazione rails, è stato facile ricominciare: il codice era comprensibile ed è stato facile testarne l'effettivo funzionamento sulla mia nuova macchina grazie ai Test.
Ciao Piero
Era tanto che non ci vedavamo: da prima delle ferie.
Tutti quanti avevamo voglia di ricominciare a lavorare: presenti Max, Federico, Andrea, Jacopo, Matteo, Davide e Mimmo.
Abbiamo cominciato con mezzo pomodoro a parlare della prossima Essap: alcuni di noi vi hanno partecipato e potrebbero ripartecipare quest'anno portando la propria esperienza di learning dopo un anno di eXtreme Programming. Inoltre quest'anno abbiamo l'opportunità di partecipare all'XP2007, che si terrà a Como, eventualmente presentando un poster con i nostri lavori (eXaminando?).
A metà pomodoro Matteo ci ha ricordato che non abbiamo fatto lo stand-up meeting, così ci siamo alzati e abbiamo ricominciato l'incontro da bravi membri di un team XP.
L'incontro è stato proficuo. Abbiamo inserito una nuova storia e l'abbiamo quasi completata (creazione dell'Home Page di eXaminando). Tutti sono andati avanti con le proprie storie. Siamo partiti con l'intento di mescolare le coppie per fare un buon pair-programming, cosa che purtroppo è stata fatta solo all'inizio... peccato! Jacopo alla fine ha riproposto di modificare la cadenza degli incontri da quindicinale a settimanale, la proposta è stata accettata.
Dopo un mese di astinenza di programmazione rails, è stato facile ricominciare: il codice era comprensibile ed è stato facile testarne l'effettivo funzionamento sulla mia nuova macchina grazie ai Test.
Ciao Piero
mercoledì 17 gennaio 2007
Usiamo il "Blind Carbon Copy"... please!
Tanti di noi ricevono e-mail da amici o conoscenti, che per condividere barzellette, filmati o cose molto divertienti inviano la stessa mail a una ventina di indirizzi.
Sarebbe buono se queste persone, anzichè utilizzare il campo "To:" per inserire gli indirizzi dei destinatari utilizzassero il campo "BCC:". In questo modo a chi riceverà la mail non apparirà la lista di tutti i destinatari.
Vantaggi? Un po' più di privacy e si evitano mail infette e di spam.
(Tnx to Alby per il suggerimento)...
Ciao Piero
Sarebbe buono se queste persone, anzichè utilizzare il campo "To:" per inserire gli indirizzi dei destinatari utilizzassero il campo "BCC:". In questo modo a chi riceverà la mail non apparirà la lista di tutti i destinatari.
Vantaggi? Un po' più di privacy e si evitano mail infette e di spam.
(Tnx to Alby per il suggerimento)...
Ciao Piero
domenica 14 gennaio 2007
Simulare tipi enumerativi in Java
In certi linguaggi, come ad esempio Java, non sono a disposizione i tipi enumerativi, ecco che allora posso sfruttare la potenza della programmazione ad oggetti per poter creare una classe che ne simula il funzionamento.
Per poter far ciò posso scrivere una classe autoreferenziante. Ad esempio:
In questo modo potrò fare operazioni del tipo:
oppure
Potrebbe essere utile...
Ciao Piero
Per poter far ciò posso scrivere una classe autoreferenziante. Ad esempio:
class Edificio{private Edificio(){} /* Costruttore vuoto */
public static final Edificio Casa = new Edificio(); /* elemento del tipo Edificio*/
public static final Edificio Villa = new Edificio();
public static final Edificio Appartamento = new Edificio();
public static final Edificio Magazzino = new Edificio();
}
In questo modo potrò fare operazioni del tipo:
Edificio MioEdificio = Edificio.Casa();
oppure
Edificio MioEdificio = Edificio.Villa();
Potrebbe essere utile...
Ciao Piero
venerdì 12 gennaio 2007
When Darwin won't start
Installare MacOs X su una macchina x86 standard non è una cosa semplice e quando è possibile le performance del sistema non sono paragonabili con la stessa macchina con linux installato.
Contrariamente è possibile installare il kernel di MacOs X (Darwin e OpenDarwin) su una qualunque macchina x86. Prima di tutto è necessario scaricare e masterizzare la ISO del cd di installazione da opendarwin.org. Una volta masterizzata è possibile fare il boot da cd. Il processo di installazione partirà automaticamente, e non comporta molte conoscenze tecniche, se non un po di esperienza nell'installazione di un sistema Unix-like.
Se si sceglie di partizionare manualmente l'hard disk, per avere una macchina multi-boot con linux e con GRUB come boot loader, è molto importante scegliere Apple UFS (Unix File System) come file system sulla partizione di boot di Darwin. GRUB è in grado di leggere partizioni Apple UFS ma non le più avanzate HFS+ (se utilizzerete HFS+ non vi sarà possibile usare GRUB come bootloader inquanto non riuscirà a caricare Darwin).
Ammettendo che si sia installato Darwin sulla prima partizione del primo disco del canale IDE i comandi da impartire a GRUB per fare il boot di Darwin sono:
Questi comandi possono essere impartiti premendo "C" nella schermata di GRUB.
Se siete fortunati (o meglio... avete fatto tutto correttamente) vedrete la schermata di boot di darwin (identica a quella di MacOs X).
Se dopo una trentina di secondi non vedete comparire una shell, vuol dire che qualcosa è andato storto.
Resettate il sistema e ri-eseguite il boot da GRUB. Per qualche istante comparirà il bootloader di Apple, premete un tasto qualsiasi e potrete passare dei parametri di boot al kernel. Per esempio se digitate "-v", avrete un output verboso al boot, così potrete individuare più facilmente il problema.
Tante volte, leggendo sui vari forum, il problema risiede nel fatto che manca il parametro che identifica il disco di root. In questo caso potrete digitare
e tutto dovrebbe partire. Per salvare questa opzione dovrete poi modificare la chiave Kernel Flags del file XML
inserendo
Ora avrete la soddisfazione di avere un po di mac sul vostro pc...
Ciao Piero
Contrariamente è possibile installare il kernel di MacOs X (Darwin e OpenDarwin) su una qualunque macchina x86. Prima di tutto è necessario scaricare e masterizzare la ISO del cd di installazione da opendarwin.org. Una volta masterizzata è possibile fare il boot da cd. Il processo di installazione partirà automaticamente, e non comporta molte conoscenze tecniche, se non un po di esperienza nell'installazione di un sistema Unix-like.
Se si sceglie di partizionare manualmente l'hard disk, per avere una macchina multi-boot con linux e con GRUB come boot loader, è molto importante scegliere Apple UFS (Unix File System) come file system sulla partizione di boot di Darwin. GRUB è in grado di leggere partizioni Apple UFS ma non le più avanzate HFS+ (se utilizzerete HFS+ non vi sarà possibile usare GRUB come bootloader inquanto non riuscirà a caricare Darwin).
Ammettendo che si sia installato Darwin sulla prima partizione del primo disco del canale IDE i comandi da impartire a GRUB per fare il boot di Darwin sono:
rootnoverify (hd0,0)
chainloader +1
boot
Questi comandi possono essere impartiti premendo "C" nella schermata di GRUB.
Se siete fortunati (o meglio... avete fatto tutto correttamente) vedrete la schermata di boot di darwin (identica a quella di MacOs X).
Se dopo una trentina di secondi non vedete comparire una shell, vuol dire che qualcosa è andato storto.
Resettate il sistema e ri-eseguite il boot da GRUB. Per qualche istante comparirà il bootloader di Apple, premete un tasto qualsiasi e potrete passare dei parametri di boot al kernel. Per esempio se digitate "-v", avrete un output verboso al boot, così potrete individuare più facilmente il problema.
Tante volte, leggendo sui vari forum, il problema risiede nel fatto che manca il parametro che identifica il disco di root. In questo caso potrete digitare
hd()mach_kernel rootdev=disk0s1
e tutto dovrebbe partire. Per salvare questa opzione dovrete poi modificare la chiave Kernel Flags del file XML
/Library/Preferences/SystemConfiguration/com.apple.Boot.plist
inserendo
rd=disk0s1
Ora avrete la soddisfazione di avere un po di mac sul vostro pc...
Ciao Piero
Iscriviti a:
Post (Atom)