Archive

Archive for September, 2010

Sulla democrazia ed il libero mercato

Quando penso al libero mercato mi viene in mente uno spot americano anni 50 con l’allegra famiglia che ha appena acquistato il nuovo frigorifero o il tostapane. L’American Dream di Horatio Alger insomma. Quando si parla di libero mercato, si intende la capacità del mercato di regolarsi autonomamente generando efficienza e benessere.

Il libero mercato è un fallimento. I capitali si accumulano generando corporations mostruose inarrestabili e immortali che vivranno oltre i loro fondatori ed i loro intenti, mentre la qualità dei prodotti e delle vite non migliora.  La pubblicità ha dato un forte contributo all’omicidio dei buoni propositi del libero mercato.

Read more…

Patterns in Ruby: composite

Come nell’approccio olistico il pattern composite non fa altro che scomporre un problema in più parti elementari. Un’esempio può essere il calcolo delle dimensioni di una citta,  che è composta da case e quartieri: Read more…

Imperatrice nuda

Ieri la UE ha approvato la nuova direttiva in materia di vivisezione. Si tratta a mio avviso di un provvedimento vergognoso, con un’approccio medioevale al tema. Crudelitas in animalia est tirocinium crudelitatis contra homines (la crudeltà contro gli animali è un apprendistato della crudeltà contro gli uomini) disse Ovidio. Gli esperimenti animali non sono indispensabili, quando addirittura non sono pericolosi (per l’uomo stesso!), riporto un piccolo pezzo di Imperatrice Nuda di Hans Ruesh, un saggio che sviscera la pratica della vivisezione in tutti i suoi aspetti e ne dimostra la brutalità ed inutilità. Queste sono solo alcune testimonianze di “scienziati” (per modo di dire) alla ricerca della prova scientifica : Read more…

Shorewall e fail2ban

Ho recentemente attivato un piccolo server di sviluppo, riporto di seguito la configurazione usata per shorewall e fail2ban, un setup minimale dal quale si può partire per configurazioni più complesse.

Shorewall

Shorewall è uno script (recentemente riscritto in perl, un tempo era solo bash) per la gestione e configurazione del firewall/networking di linux. L’utilizzo di shorewall è incredibilmente semplice e permette di configurare da iptables per il firewall a QOS/Traffic Shaping e persino openvpn e ipsec. Questa è la configurazione base del server di sviluppo:

/etc/shorewall/interfaces:

###############################################################################
#ZONE	INTERFACE	BROADCAST	OPTIONS
int	eth0

Read more…

Categories: Tecnologia Tags: , , ,

Patterns in Ruby: factory

Il factory pattern non descrive altro che un’oggetto che genera un’altro oggetto rispondendo alla domanda di quale classe? Esistono due varianti il factory method e l’factory abstract, l’esempio che segue è preso da wikipedia, ed è l’implementazione classica del factory method scritta in java:

Read more…

Lo Zen e l’arte di non pensare

Conosco diverse persone che si occupano (alcune di mestiere) delle cosidette medicine alternative o naturali, io stesso (come sempre curioso) in passato ho studiato parecchio il tema. Dopo molte riflessioni credo di aver trovato qual’è tra i tanti difetti dell’approccio alternativo (occidentale) quello più dannoso: l’influenza del taoismo.

Il taoismo è una filosofia religiosa di origine cinese che ha influenzato bene o male tutte le altre discipline. In particolare sono permeati i concetti di yin e yang. La ricerca dell’equilibrio e del benessere sono obiettivi nobili che condivido appieno, e questo è lo yin e yang: equilibrio. Ad esempio nella macrobiotica la salute è raggiunta (o meglio mantenuta) attraverso l’equilibrio degli alimenti, il risultato è un’alimentazione molto neutra dove ogni eccesso yin è bilanciato con uno yang e viceversa.

A parte la soggettività nella classificazione yin/yang e diversi principi validi in oriente riportati pari pari in occidente, il problema vero nasce quando si inizia a vedere tutto bianco o nero, buono o cattivo.

Quindi la medicina alternativa è buona, quella tradizionale è cattiva. Le “cose chimiche” (bisognerebbe dire di sintesi visto che senza chimica non esisteremmo) sono cattive mentre le “cose naturali” sono buone (provate a mangiare 10-15 bacche di belladonna .. tanto per dirne una), le alghe hijiki sono bene qualsiasi cosa che contiene zucchero è male.

Credo sia proprio questa visione in bianco e nero il danno peggiore delle medicine naturali, un’abitudine a categorizzare le cose senza ponderare i contesti, annullare il pensiero critico e la capacità di approfondire i concetti. D’altra parte l’annullamento della capacità critica è l’unico modo che hanno le multinazionali farmaceutiche che vendono prodotti omeopatici di poter sopravvivere, visto che non sono mai state in grado di dimostrarne l’efficacia. Per non parlare di altre fantasiose discipline più recenti come i fiori di Bach che vanno tanto di moda oggi o i rimedi del maestro, dove se non è l’effetto placebo (risultato ottenibile anche con acqua) è la profezia che si autoadempie. Ma tanto l’essere umano è portato a credere per natura.

Exploring ruboto

Installazione di ruboto su debian/ubuntu in 6 semplici passi

  1. passo uno, installare la JDK java:
    sudo apt-get install sun-java6-jdk
  2. installare jruby con rvm (per installare rvm seguire questa guida):
    rvm install jruby
  3. installare l’SDK android (vedi qui), io l’ho installata in ~/android-sdk
  4. aggiungere la seguente linea in ~/.bashrc :
    export PATH=$PATH:~/android-sdk/tools
  5. generare un emulatore (vedi qui)
  6. installare ruboto:
    rvm jruby-1.5.0
    gem install ruboto-core

installare ruby1.9 e rails3 su debian/ubuntu

Installare Ruby on Rails 3 oggi è molto piu semplice grazie a due tool che aiutano a gestire le dipendenze: RVM per avere diverse istanze di ruby ognuna con un suo set di gemme e bundler che aiuta a gestire i set di gemme necessari per ogni istanza di ruby on rails.

Per installare RVM bisogna innanzitutto assicurarsi che siano installati alcuni pacchetti:

 sudo apt-get install subversion bison git-core curl zlib1g-dev libssl-dev

Successivamente lanciare il seguente comando:

 bash < <( curl http://rvm.beginrescueend.com/releases/rvm-install-head )

a questo punto inserire in ~/.bashrc la seguente linea:

  [[ -s $HOME/.rvm/scripts/rvm ]] && source $HOME/.rvm/scripts/rvm

e voilà, una volta riavviata la shell rvm è pronto per essere utilizzato, per installare ruby 1.9.2 (al momento l’ultima release stabile) basta lanciare il comando:

 rvm pkg install zlib
 rvm install ruby-1.9.2

Read more…