headermask image

header image

Olé, MacBook in arrivo

Per comodità, per sfizio, e per aggiornamento è in arrivo il mio nuovo MacBook da 13″, riuscirò a passare dai 15 ai 13 pollici? In arrivo a metà novembre…

Ruby: Getting current method name

In ruby 1.9 è possibile utilizzare la variabile __method__ per ottenere il nome del metodo attualmente chiamato. In ruby 1.8 non esiste un modo diretto per accedere al nome del metodo ma è possibile accedere alla variabile caller che, tra le altre informazioni, contiene il nome del metodo chiamante (tips trovato su internet). Ecco come creare un metodo funzionante su entrambe le versioni:

def method_name
if RUBY_VERSION.to_f < 1.9
caller[0]=~/`(.*?)’/
$1
else
__method__
end
end

Se chiamerò da un metodo foo() method_name otterò sempre ‘foo’

Italian Agile Day 2008!

Venerdi’ 21 Novembre 2008 si terrà a Bologna il quinto Italian Agile Day. Si tratta di una conferenza gratuita di un giorno dedicata alle metodologie Agili per lo sviluppo e la gestione dei progetti software rivolta agli sviluppatori, project leaders, IT managers, tester, architetti e coach che hanno esperienze da condividere o che iniziano solo ora ad interessarsi a queste tematiche. La giornata ha come obiettivo la conoscenza pratica, le esperienze sul campo e un attivo coinvolgimento di tutti i partecipanti. L’accesso è libero previa registrazione, i posti sono limitati. L’evento, per la terza volta consecutiva, si auto-finanzierà.

Attrattore di Lorenz in Ruby

Girando per il Web ho trovato diverse implementazioni dell’attrattore strano di Lorenz in C, PovRay o MathLab ma non in Ruby. Così mi sono deciso e in una decina di minuti ho convertito un codice povray C in ruby. Nulla di complicato, il più è capire perchè si comporti in questo modo…

#Calcolo valori per l’attrattore di Lorenz
#dx / dt = p (y - x)
#dy / dt = x (r - z) - y
#dz / dt = xy - c z
#P = 10, R = 28, c = 8 / 3.
#P = 28, R = 46.92, c = 4.

MAX_ITERATION = 10000
h = 0.01;
P = 10.0; #numero di Prandtl
R = 28.0; #numero di Rayleigh
c = 8.0 / 3.0;
x, y, z = 0.1, 0, 0

0.upto(MAX_ITERATION) do |i|
next_x = x + h * P * (y - x);
next_y = y + h * (x * (R - z) - y);
next_z = z + h * (x * y - c * z);
x, y, z = next_x, next_y, next_z;
puts “#{i} - X: #{x} , Y: #{y}, Z: #{z}”
end

Dopo questa… buonanotte!

Mi ricorda qualcosa che mi è veramente accaduto…

Safari e Login su Hotmail

Se tentate di loggarvi su Hotmail attraverso Safari potrebbe capitare che il vostro browser incominci a loppare tra diversi siti Microsoft (da hotmail.com a live.com andata e ritorno senza fine…).

Per risolvere questo problema dovete:

  1. Entrare nelle preferenze di Safari (menù Safari -> Preferenze)
  2. Cliccare su Sicurezza -> Mostra Cookie
  3. Digitare nell’input box ‘live.com’
  4. Cliccare su ‘Rimuovi Tutto’

Da ora potrete iniziare a leggere la vostra posta (leggasi Spam….) su hotmail.com

Fonte: macosxhints.com

Installazione gem mysql su MacOS X

Quando attivi Mongrel su una macchina MacOS X (Intel) puoi avere questo messaggio:

“WARNING: You’re using the Ruby-based MySQL library that ships with 
Rails. This library is not suited for production. Please install the 
C-based MySQL library instead (gem install mysql).”

L’installazione corretta della gemma mysql è la seguente:

sudo env ARCHFLAGS=”-arch i386″ gem install mysql — –with-mysql-config=/usr/local/mysql/bin/mysql_config -with-mysql-dir=/usr/local/mysql

Caos!

Quando inizia a leggere qualcosa che ti appassiona la vedi ovunque, ma mai mi è capitato di vedere ovunque il caos dopo aver letto il libro di Gleick ‘Caos’, dove con sobria semplicità spiega come è nata la teoria del caos e i suoi effetti.

Ogni giorno mi capita di vederne gli effetti, dai principi di autosomiglianza manifesti delle montagne, delle nuvole, delle mie vene, a come degli eventi distanti nel tempo non connessi tra di loro producono dei risultati assurdi (effetto farfalla, verificato sulla mia pelle!).

L’altro ieri un collega commentava un grafico sull’uptime di un server che sembrava difettoso. Con mia estrema sorpresa intravvidi uno schema simile alla polvere di Cantor nel grafico, stupefacente! Mandelbrot stesso pensò ad un modello matematico sugli errori di trasmissione nelle reti basato sul lavoro di Cantor. Vedere nella reatà tutto ciò è meraviglioso, affascinante.

Essap 2008

Anche quest’anno a Varese si è tenuta la European Summer School for Agile Programming a Villa Toepliz, organizzata come sempre dai mitici Matteo Vaccari, Federico Gobbo e da quest’anno con Vieri del Bianco, i ragazzi di Agilmente e Andrea Gervasini.

Purtroppo per motivi lavorativi e non, non ho potuto partecipare all’evento, ma so che quest’anno gli organizzatori hanno sfruttato il know how pregresso e hanno fatto davvero un ottimo lavoro!

Complimenti a tutti ragazzi, continuate così!

Foto Evento 2008

Video sessioni 2008

Spero che nel 2009 sarò con voi….

Allevi e la sua evoluzione

Sto ascoltando ora l’eccellente cd di Giovanni Allevi ‘Evolution’.

Rispetto al penultimo cd (Live), questo è stato registrato con maggiore cura. Live, che come si può comprendere dal nome è un disco registrato dal vivo, conteneva non solo rumori di fondo legati al pubblico dei teatri, ma anche certi fischi bassi e fastidiosi (se non ricordo male in ‘Prendimi’), tantoché la prima volta che li sentii pensavo fossero i freni dell’auto nuova a fare i capricci…(non scherzo)

Le versioni sinfoniche di ‘Prendimi’ e ‘Come sei veramente’ sono all’altezza delle originali, la prima traccia del cd è un pochino deludente (sarò presuntuoso ma mi sembra che ci siano poche variazioni sul tema principale), ‘300 Anelli’ e ‘Corale’ sono molto toccanti e ‘Angelo Ribelle’ è veramente emozionante, allegra e malinconica, un’opera in miniatura. Il resto delle traccie sono tutte geniali…

Un cd che si ascolta più che volentieri! Consigliato a tutti

UPDATE: dopo qualche ascolto… non so mi sembra molto “colonna sonora di un film di Hollywood”….