venerdì 22 dicembre 2006

I feel fine

Gironzolando sulle radio di iTunes ho trovato Beatles-A-Rama, una web radio che trasmette solo musica, interviste e aneddoti sui Beatles e tutto ciò che gira intorno al mondo dei FabFour...


http://www.beatlesarama.com/


Ciao Piero

giovedì 14 dicembre 2006

MacBook Pro

Evvai dopo mille peripezie e con qualche accrocchio, domani sera avrò in mano il mio nuovissimo MacBook Pro 15", acquistato presso il nuovissimo Apple Power Reseller di Varese, fateci un girò è una novità!

Nella to-buy-list ora si sono accodati il TextMate, MacMini, la tastiera wireless per mac, e uno schermo panoramico piatto per il futuro macMini...

Ciao Piero

martedì 5 dicembre 2006

Debbuging or Thinking?

"The debugger isn't a substitute for good thinking. But in some case, thinking isn't a substitute for a good debugger either. The most effective combination is good thinking and a good debugger"

Steve McConnell, nel suo Code complete, fornisce una lauta Checklist a proposito del debugging.

Tra le tante voci vale la pena citare:


    • Exercise the code in your test suite

    • Reproduce the error several different ways

    • Use the result of negative tests

    • Keep a notepad by your desk, and make a list of things to try



Con questi piccoli accorgimenti sarà possibile fare bug fixing, qualora fosse indispensabile e il TDD non faccia luce sul problema, molto più velocemente. La velocità però non deve essere il principale fattore guida, troppa fretta porta altri bug rinchiudendo la fase di debugging in un circolo vizioso. Infatti la checklist continua con un "relax", questo è un buon consiglio. Se manca tempo, o il debugging porta al malditesta, prendere cinque minuti (o dieci) possono portare un vantaggio consistente nel lungo periodo.

Solo su una voce della lista non sono pienamente d'accordo: "Change the code only for good reason". E' vero, non devo fare sciocchezze nel codice, ma essere coraggiosi e apportare cambiamenti sostanziali al design può essere più che produttivo, e far ciò mi è facilitato se ho sviluppato tramite Test dato che in ogni momento che apporto una modifica al codice sarò certo se questo funzionerà correttamente o meno.

Un buon inizio per capire come fare red-green refactor o il TDD è wikipedia, o questo articolo su agiledata.

lunedì 4 dicembre 2006

Agile Day 2006

Venerdì 1° Dicembre 2006 mi sono recato insieme ad Andrea e a suo cugino Simone al terzo Italian Agile Day, tenutosi ad Assago (centro congressi Milanofiori - Milano).
L'Agile Day è una conferenza dedicata alla diffusione delle metodologie agili, quali eXtreme Programming e Scrum, e di tutto ciò che circonda il mondo agile (Linguaggi, metodi e tecniche, framework,ecc)
Partiti da Varese alle sette e mezza del mattino siamo arrivati ad Assago in poco più di un ora.

A dare il via ai lavori è stato Marco Abis, promotore dell'iniziativa. L'idea di quest'anno è stata l'open space conference: solo due sessioni plenarie e molti piccoli workshop in contemporanea (track).

La prima sessione plenaria è stata tenuta da Luca Minudel e Nicola Canalini del team Ferrari racing. E' stato bello vedere come Xp venga applicata con successo in team dove il dinamismo sia necessario e continuo, e dove i termini di consegna siano categorici e frequenti (se il gran premio o il test drive della macchina è alle 14:00 il software deve essere pronto e testato prima delle 14...).

Successivamente ho avuto modo di assistere a diverse sessioni. Nella prima, tenuta da Luca Grulla, si è parlato di Scrum. Scrum è una metodologia agile progenitrice di eXtreme Programming, ne condivide obbiettivi (come la massimizzazione della comunicazione tra il team e il costumer), ed è molto adatta a progetti che richiedono molto dinamismo. Non posso ancora esprimere una opinione precisa su Scrum: mi sembra più "libera" di Xp, dato che posso prendere le pratiche che più mi sembrano congeniali per il mio problema da altri metodi. Forse proprio questa libertà ne è il tallone d'Achille: troppa libertà può significare confusione.

Nel contempo Matteo Vaccari ha tenuto una seconda track sul Test Driven Development proponendo il classico kata del Bowling di Uncle Bob. Il TDD è un'ottima tecnica di Xp per sviluppare software testato e funzionante in breve tempo. Durante la track (e la giornata) è traspirato il fatto che molti scambiano il TDD con il Test First, ovvero prima faccio il test e poi scrivo la funzione. Il TDD è un metodo di sviluppo, il test evolve insieme a ciò che devo testare, e mi guida fino a trovare la soluzione.

Una sessione che ho seguito con interesse è stata "Agile Web Development with Django", tenuta da Carlo Miron. Django è un framework simile a Rails ma scritto in Python. Utilizza un modello di sviluppo simile al Model Controller View di RoR: MTV (Model Teplate View). Similmente a quanto accade nelle migrazioni di Rails, posso descrivere con il Modello lo schema di una tabella nel Db. Punto a sfavore è l'assenza delle migrazioni (sono in fase di sviluppo), che vanno fatte a mano.
Rispetto a rails, la localizzione è molto facilitata, esistono già traduzioni nelle lingue più disparate. Molto divertente è il testing delle applicazioni e del codice. Phyton permette di inserire del codice di testing nella documentazione della funzione.
Sebbene ne sia rimasto colpito, Django mi sembra meno maturo di rails, purtroppo non sono state mostrati slide o esempi di codice, che sicuramente sarebbero state molto utili.

Essere al contatto con persone e professionisti che lavorano nel mondo agile (e non lavoricchiano/studiano come me :-/ ) è stato molto stimolante e istruttivo. Spero che molti miei colleghi di Università e amici sviluppatori, possano in futuro utilizzare metodologie Agili e partecipare al prossimo Agile Day. Un buon punto di partenza sono l'eXtreme User Group di Varese e quello di Milano, oltre al sito dell'Agile Moviment in Italia.

giovedì 30 novembre 2006

Misteriosi file

Un conoscente: Piero cosa devo fare con un file LeggiMi?

Io: Usa la fantasia...

Ciao Piero

mercoledì 22 novembre 2006

Happy birthday, internet!

Era il 1969 e da allora sono cambiate tante cose, oggi, trentotto anni fa nacque ARPAnet, la madre delle reti.

Il primo nodo di Arpanet venne effettuato tramite due IMP (Interface message processor), ovvero quelli che oggi chiameremo commutatori di pacchetto, tra la University Of California - Los Angeles (UCLA) e il Stanford Research Institute (SRI). Poco dopo si aggunsero altri due nodi, uno presso l'University of Utah e uno presso i laboratori di Santa Barbara (sempre dell'UCLA).

Kleinrock, citato nel libro di Kurose "Computer Networking: a top-down approch", parlando del primo collegamento di accesso remoto tra due sistemi (UCLA - SRI), si ricorda il crash derivato dal tentativo di connessione.

Tre anni più tardi, nel 1972, i nodi di ARPAnet erano già 15, e non appartenevano a una rete militare, come si erroneamente si insegna, era una rete mista, seppur sponsorizzata dal dipartimento della difesa americano. In quell'anno venne pubblicato anche il primo protocollo noto come Network-control protocol (NCP), il glorioso RCF001.
Vennero piano piano create nuove reti sul modello ARPAnet e successivamente venne avviato un programma di ricerca per l'interconnsessione tra reti (reti di reti). Questo lavoro, svolto da Cerf e Kahn venne chiamato internetting.
Vennero creati il TCP, suddiviso in seguito in due protocolli (TCP/IP), UDP e molti altri ne seguirono. Nacue Internet come la conosciamo noi oggi.
Nel 1983 ARPA chiuse i battenti, la parte militare di internet venne resa privata (MILNET, tuttora esistente), e nel 1990 ARPAnet cessò di esistere, ma Internet era ormai consolidato, seppur molto diverso da Oggi.

Gran parte delle tecnologie legate alla rete vennero sviluppate per fare ricerca e condividere informazioni, purtoppo molti se ne sono dimenticati. Su internet si trova spazzatura, sia a livello morale che a livello di informazione.

Chiunque di noi usi internet deve imparare a discernere cosa è bene, giusto, nella fattispecie corretto, da ciò che è errato e sporco. Da una parte quindi esiste la necessità di applicare delle restrizioni, ma dall'altra, per mancanza di equilibrio di certe persone, queste restrizioni potrebbero risultare troppo strette (vedi Cina) per alcuni.

Internet si è dimostrato maturo e saggio quando ha raggiunto la maggiore erà, ma ora che ha due volte 18 anni dovrebbe comportarsi da persona adulta, rafforzare (non tornare) e far capire lo scopo per cui è nato. Questo è l'incarico di coloro che lavorano con Internet, dare maggior credibilità al web.

Ciao Piero

lunedì 13 novembre 2006

Browser War? Che vinca il migliore

Cosa fa di un web browser il migliore presente sulla rete? Tante cose.

Prima di tutto un buon browser deve attenersi alla maggior parte degli standard W3C. Oggigiorno il web browser con la maggior compatibilità con HTML 4.01 (standard del 1999) è firefox il quale implementa il 92% delle specifiche, contro l'80% di Internet Explorer 6, l'81% di IE7 e l'86% di Opera9.

Lo stato di XHTML? Per la versione 1.0 (del 2000, con modifiche nel 2002) IE6 e IE7 supportano il 24% delle specifiche, mentre Firefox ne implementa il 100% già dalla versione 1.5, e opera9 ne implementa il 99%.

La versione XHTML 1.1 del 2002 non è in alcun modo implementata in nessuna versione di IE, mentre in FF è presente per il 63%.

Le percentuali scendono a sfavore di IE per tanti altri standards, come CSS, DOM.

Il problema persiste veramente, anche se meno di un tempo. L'assurdità è che nessuno dei maggiori browser passa il test Acid2 (che contrariamente viene passato da Opera9, Konqueror (e brower basati su di esso come safari, Omniweb ecc).

Per la fonte di questi dati e approfondimenti:
Webdevout.net

Ciao Piero

venerdì 10 novembre 2006

Invest. 5 minutes at a time

Quando ti manca tempo rallenta e andrai più veloce. Questo paradosso è il sunto di questo articolo apparso sul blog di Pascal Van Cauwenberghe, un famoso agilista, relatore all'Essap.

Articolo:

Thinking for a Change » Blog Archive » Invest. 5 minutes at a time

-

Piero

PI Forum: il forum più inutile

Mi spegate perchè non lo chiudono?

E' interessante solo per vedere quanta gente incapace c'è in giro.

Windows Vista è nato, nessun aborto?

Nota: Userò termini come Linux, Posix e Unix quasi intercambiabilmente. (Spiegazione semplicistica: Posix è lo standard sul quale appoggia Unix, Linux è un'altra implementazione di questo standard, così come OpenBsd e FreeBsd)

Il nuovo sistema operativo di Mamma Microsoft è stato rilasciato in versione retail, e questo probabilmente lo saprete già.

Ho sorriso davanti alla pagina dedicata a Vista su wikipedia dove ne venivano mostrate le "nuove e avanzate" catatteristiche. Ho sorriso perchè queste features sono disponibili da tempo su sistemi operativi alterntivi, Linux in primis.

Tra le tante: Restart Manager (consente di diminuire i restart del pc dopo l'installazione di programmi o di aggiornamenti di sistema). Chi di voi usa un qualunque sistema Posix (come Linux, FreeBsd, OpenBsd ma anche MacOsX) molto probabilmente non avrà mai riavviato il proprio pc dopo un'installazione o upgrade (e questo magicamente succede dagli anni 70). La cosa belle è che grazie alle chiamate kexec è possibile rimpiazzare la copia esistente del kernel (di fatto riavviando il Sistema Operativo) senza riavviare la macchina... e questo windows ovviamente non se lo sogna.

Altra novità: Windows Boot Manager -> un nuovo bootloader... grazie tante abbiamo Grub, che insieme a memtest esegue i test approfonditi sulla ram (come farà vista... grub c'è già da 7/8 anni).

Documenti XPS - XPS -> Un formato simile al pdf o al postscript... wow in unix c'è da vent'anni.

Questa fa ridere, è una nuova features del file system: Link simbolici. (esistono anch'essi da una ventina d'anni su unix)

Fantastico ora l'interfaccia grafica gira in modalità utente e non kernel... il che significa che sarà più stabile. (in unix ci gira da sempre)

Transactional NTFS -> File System transazionale... diminuisce la perdita dei dati. Ext3, ReiserFs, XFS, JFS, sono tutti file system che esistono da molto tempo e che implementano la transazionalità dei dati si dalle prime versioni.

Microsoft PowerShell -> Questa fa veramente ridere... l'avete mai provata la bash?

UAC (User Account Control) -> Permette la gestione degli utenti, magicamente è possibile passare da un utente normale ad uno amministratore... Sotto unix c'è già da tantissimo tempo... si imparitsce il comando su (anche nelle varie modalità grafiche) oppure "suDo". Poi esiste PAM che gestisce il tutto.

"DEP" (Data Execution Prevention) -> Tralasciando il fatto che se un file non ha i permessi di esecuzione non c'è verso che venga eseguito (piccolo vantaggio: è molto difficile implemetare virus), questa è una piccola features Hardware, non software! DEP viene fornito dai processori (moderni).

Perchè spendere tanti soldoni per un sistema sorpassato? Se preferite un sistema proprietario esiste MacOs X (già avanzato più di vista al momento del rilascio 5 anni fa)

Questo è il momento di passare a Linux!

L'unico motivo percui proverò in Demo windows Vista? I suoni di sistema sono stati registrati da Robert Fripp, chitarrista dei King Crimson.
Ciao Piero

giovedì 9 novembre 2006

Assurdità italiane

Come da titolo:
PI: Router ADSL? Solo un tecnico può installarlo

Devo chiamare Wind per ri - installarmi la mia rete di casa? Mica che abbia scambiato il jack del telefono con quello della porta ethernet...  :-)

domenica 5 novembre 2006

Peter Hammil a Milano

hammilUno del più grandi compositori degli anni 70 è in concerto a Milano il 26 novembre.

Peter Hammil è stato il fondatore dei Van der Graaf Generator, che insieme ai King Crimson di Robert Fripp, produssero i dischi più importanti del panorama prog di quegli anni. Ha ispirato molti artisti tra cui i nostrani PFM, Banco del Mutuo Soccorso, Le Orme e Museo Rosenbach.
Nei sui dischi, che per certi versi sono psichedelici, vengono miscelati diversi generi tra cui Jazz e Rock.

Per chi vuole vedere un artista che ha fatto veramente la storia della musica l'appuntamento è al Teatro delle Erbe a Milano.

Spero di esserci...

Ciao Piero

martedì 31 ottobre 2006

Aaaaargh!

Scusarte il titolo... ma non ho parole:

http://uk.news.yahoo.com/28102006/356/cruise-set-star-trek.html

Non mi rovinate Spok!

ciao Piero

Live @ Linuxday 2006

Bella esperienza, non c'è che dire.

Sabato sono stato uno dei relatori al LinuxDay di Sesto Calende. L'argomento del mio seminario è stato Ruby on Rails.

Sebbene non conosca da molto questo framework, mi ha talmente entusiasmato che ho voluto tenere una demo pubblica.
Ho diviso il seminario in due pomodori, un primo teorico di 25 minuti seguito da 5 di pausa, e un secondo pratico, dove ho mostrato come sia veramente possibile sviluppare più velocemente applicazioni Web con Rails. L'idea è stata quella di sviluppare un blog (sulla traccia della demo di DHH presente sul sito di rails), chiedendo al pubblico quali features desideravano (es. "Modifichiamo la grafica o diamo la possibilità di inserire commenti?").

Il momento più entusiasmante è stato al termine quando mi è venuto in mente di dimostrare quanto Rails sia intuitivo:
volevo contare i commenti presenti all'interno di un post del blog, non sapevo bene come fare, ma mi sono fidato di Rails.
Dissi che non sapevo se quello che stavo per scrivere avrebbe funzionato, così scrissi:
<%= post.comments.count %>

la cosa più logica che mi venne in mente... e funzionò!

Ho approfittato dell'occasione per parlare di alcune buone abitudini di eXtreme Programming, e di come queste siano ben utilizzabili in Rails. Mi pento di non aver mostrato come fare Tdd (Test Driven Development), il problema è che forse non era la presentazione adatta e che non sono ancora padrone di questa tecnica sotto Rails.

Sono stato molto contento del feedback, oltre alle domande, ho ricevuto anche un paio di mail di ringraziamento e di richiesta di maggiori informazioni su Rails e sul varese-xpug!

Ora non mi rimane che imparare veramente bene rails!

Ciao Piero

-

Ps: Peccato che una slide conteneva dei bug...

Ubuntu Linux an Easy way to use Linux

Chi ha detto che linux è ancora complesso da usare?

Da circa una settimana è stata rilasciata la nuova release di Ubuntu Gnu/Linux, la 6.10. Ho aggiornato il mio pc dalla versione precedente, e il processo di installazione è stato semplicissimo e molto veloce (tralasciando il fatto che ho eseguito l'upgrade via internet, percui ho scaricato circa 1.5 Gb di pacchetti).

Gnome 2.16 fa la sua bella figura, è stabile, veloce e potente. La tempo di avvio è stato dimezzato grazie alla sostituzione del vesueto SysVInit con UpStart, un demone di avvio sviluppato da Ubuntu basato su eventi.

Nell'installazione è compresa di default l'ultima release di OpenOffice la 2.0.4 che supporta finalemente un buon sistema di plugin (speriamo che porti a una evoluzione più rapida del progetto OOo).

Utilizzando prelink è possibile incrementare ancora la velocità finale del sistema.

Per quanto riguarda Internet viene incluso Firefox 2, che con le sue nuove funzionalità (come il restore dei tab) semplifica maggiormente la navigazione. Gaim è stato aggiornato alla versione 2 beta 3, e comprende diverse migliorie, sia sotto l'aspetto della Gui (è più ordinato) che delle funzionalità.

Non c'è più nessuna scusa! Passare a linux oggi non è mai stato così facile!

Ciao Piero

venerdì 27 ottobre 2006

Linux e il Beppe nazionale....

Per chi non leggesse il blog di Beppe Grillo, ieri è stato pubblicato un interessante articolo dal titolo "Adotta un pinguino".

Vale la pena di leggerlo...
ciao

P

-

Update (30/10/2006): Putroppo non posso concordare con tutto ciò che dice Beppe. Non sarà molto semplice passare a Gnu/Linux in una PA. Provate a dare un'occhiata ai blog di Federico e di Moreno (link a fianco)

venerdì 20 ottobre 2006

Bigino per Rails

Ecco un piccolo bigino per Ruby on Rails, da tenere a portata di mano sulla scrivania...


Ruby on Rails bigino

giovedì 19 ottobre 2006

Java multi-threading in four steps

Ecco un breve appunto per creare un'applicazione multi-threading in Java:

1) Definire una nuova classe che implementi l'interfaccia Runnable
public void Slave implements Runnable {

}

2) Inserisci un metodo run() in questa classe e inseriscici all'interno il codice che deve essere eseguito in parallelo
public void Slave implements Runnable {

public void run(){

MyApp.executeSomethingStatic();

}

}

3) Nella classe principale, che andrà eseguita parallelamente, inserisci il codice per avviare un nuovo thread della classe Slave:
Thread peasant = new Thread(new Slave()); /* Istanzio un nuovo oggetto di tipo thread */

t.start(); /* Lancio il thread*/

/* il codice presente qui sotto sarà eseguito subito dopo insieme al nuovo thread*/

4) OOOPPs! Chi mi garantisce che la classe principale non acceda alle stesse risorse dell'istanza di slave? (es MyApp)

/* Utilizziamo i metodi sincronizzati */




public class MyApp {


public synchronized void executeSomethingStatic(){


/* Risorsa per un solo thread alla volta */


}


}



Abbiamo implementato un piccolo esempio di thread in Java, utilizzando il metodo classico per questo genere di applicazione in Java.

Esistono però alcune librerie Java SE che permettono di giocherellare con i thread in maniera più simpatica: gli Executors.

Tramite gli executors, per esempio, posso creare un pool di thread facilmente:

public class SwimmingPool{


...


private int poolSize = 20;


private SwimmingPool(){




ExecutorsService pool = newFixedThreadPool(poolSize); /*Creo 20 thread differenti, che saranno utilizzati all'occorrenza, e non saranno terminati fino alla chiusura della vm*/


Future threadResult = pool.submit(MyApp); /* Restituisce il valore di ritorno di MyApp quando verrà terminata*/


...


}



}



Ora rifattorizziamo la classe MyApp... è molto semplice, basta cambiare l'interfaccia implementata: da "runnable" a "callable" e sostuire il metodo run() con call() e il gioco è fatto.

Utilità? Potrebbero essere molto utili per lo sviluppo di un server web, personalmente li ho usati per scrivere un piccolo schedulatore di processi.

Fatemi sapere se ho scritto qualche errore, capita ai migliori... figuriamoci ai peggiori :)

Ciao Piero

mercoledì 18 ottobre 2006

Varese Xp User Group 2nd meeting

Martedì ci siamo riuniti per la seconda riunione dell'Xp User Group di Varese: presenti 9, un buon risultato!

Abbiamo iniziato con uno Stand-Up meeting: ognuno di noi ha parlato delle sue aspettative per la riunione e devo dire che abbiamo tirato a segno! Le storie sono state scritte con successo, e grazie a Federico che ci ha fatto da "Cliente" ne abbiamo preparate undici. Per la prossima riunione, fissata per il primo di novembre (aule premettendo), ci siamo proposti di iniziare la prima iterazione con la codifica di tre storie per un totale di otto punti (un buon punteggio per una iterazione delle nostre, dato che abbiamo al massimo 4 pomodori ogni due settimane).

Il gruppo al lavoro sulle storieil Gruppo al lavoro sulle storie

Speriamo di superare presto le difficoltà inerenti a questioni relative al nuovo team: alcuni di noi si conoscono e hanno sviluppato in pair all'essap o in altre occasioni, altri invece no. Oltretutto c'è un problema di know-how: abbiamo sceto Ruby on Rails per sviluppare il nostro progetto, un framework nuovo per molti, che ci rallenterà un po' all'inizio, ma che nel lungo periodo ci divertirà (dato che il nostro scopo è divertirsi programmando...) e ci darà la velocità giusta. Allo scopo di migliorare questa carenza esiste la possibilità di assistere al corso di Applicazioni Web dell'Università dove il principale argomento di insegnamento è proprio RoR.
Due persone nuove (entrambi studenti) hanno assistito al meeting, e devo dire che ho ricevuto un buon feedback, credo che torneranno...
Creare un gruppo di eXtreme programming all'interno della facoltà (anche se aperto anche al pubblico) è stata una buona idea: per gli studenti è molto più semplice imparare ora xp piuttosto che un domani dopo anni di programmazione non meglio organizzata. Oltretutto è un modo per approfondire e apprendere le tecniche agili tramite osmosi (e non) da chi le ha glà applicate in ambito lavorativo.

Spero che questo gruppo continui a crescere (chissà che un domani non venga avviato un insegnamento di XP all'Università?)

Ciao Piero

Sito varese-xpug

lunedì 9 ottobre 2006

Easter egg in OpenOffice 2.0

Un amico mi ha inviato le istruzioni per un easter egg in OpenOffice2.0

1) Aprire OpenOffice Calc

2) digitare su una cella vuota "=GAME("StarWars")"

3) premere invio

Salta fuori un bel giochino stile Space Invaders...

Ciao Piero

domenica 8 ottobre 2006

Jazz

Grazie al blog di Federico (dovreste trovare il link a dx) ho scoperto swissjazz, una radio svizzera che trasmette... jazz!

Ottimo nei momenti di relax e non solo!

Grazie SwissJazz e Federico!

-

Ciao Piero

Anomalie...

Oggi a mezzogiorno me ne stavo tranquillo tra la veranda e il giardino a leggere un libro... (Harry Harrison - JimDiGriz (l'implacabile) ) quando ad un tratto sento grugnire da un cespuglio... pochi secodi dopo mi vedo passare davanti un qualcosa che assomiglia ad un cinghiale...  (Tweety nel mio cervello: "Oh oh mi è semblato di vedele un cinghiale...")
Come in un cartone animato, rimango stupito,  ma penso "Impossibile.... sarà il cane del vicino...", quindi ritorno a leggere... risento grugnire... e passa un'altro Cighiale davanti a me... (Tweety nel mio cervello: "l'ho visto, l'ho visto! E' proprio un cinghiale...!")

Mi sono ritrovato con due cinghialetti in giardino... troppo forti! Alla fine erano scappati dalla fattoria di Inarzo, il paese sotto Bodio (dove abito)...

Se ne sono andati da dove erano venuti, ovvero dal bosco vicino casa...

Cose che succedono vivendo in collina... Domani cosa mi devo aspettare? La mucca Clarabella?

Ciao Piero

giovedì 5 ottobre 2006

Italian Agile Day

Dal sito dell'Italian Agile Day:

"Venerdi 1 Dicembre 2006 si terrà a Milano il terzo 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 e quest'anno si rinnova con un nuovo formato (OpenSpace) e un nuovo modello (auto-finanziamento). L'accesso è libero previa registrazione, i posti sono limitati."

Per ora mi sono registrato e, salvo impedimenti dell'ultima ora, sarò presente.

Chi viene?

Ciao Piero

mercoledì 4 ottobre 2006

Cosa manca a linux

Chi mi conosce sa che amo i sistemi unix, ma non è sempre stato così. In tempi bui ho utilizzato pure io Windows, e qualche volta sono stato costretto a emularlo via vmware su linux. Rimango comunque fedele al mio Os preferito (linux).
Ultimamente invece, dato che vorrei comperare un'altra macchina (un Mac), ho installato in una partizione di 5 gb Windows Xp Home sul mio notebook, per mostrare il mio portatile ad eventuali acquirenti.

Ho notato subito una cosa che ha windows rispetto a linux: un buon meccanismo di prefetching / prelinking.

Per farmi capire, se lancio Internet Explorer sotto Windows questo si avvierà in una frazione di secondo, mentre se avvio Firefox su linux, questo ci impiegherà una media di 5 secondi per il primo load. Le cose peggiorano enormemente con i pacchetti office. Microsoft Word, nonostante sia pachidermico quanto OpenOffice Writer, carica in pochi secondi, mentre il suo concorrente open ce ne mette più di 10.
Il problema non è la qualità del software che gira sotto linux, ma come viene caricato.

Per poter caricare velocemente, Internet Explorer viene più volte istanziato all'avvio, così come tutte le librerie. Ora questo sistema esiste in forma non prettamente automatica sotto linux. Ci sono script come "prelink" che velocizzano il tutto, ma sono poche le distribuzioni che lo implementano di default (credo suse e forse RHE). Ho provato questo script all'avvio, insieme ad altri trucchetti (tra cui creare uno script che copia gli eseguibili più usati su /dev/zero, in modo tale che vengano messi pure in cache), ma il risultato è rimasto lontano da quello sperato.

Speriamo che si ponga più attenzione anche a questo fattore nello sviluppo delle distibuzioni, se si desidera portare linux su tutti i pc del mondo (sto sognando, ma serebbe bello).

Ciao Piero

Varese eXtreme Programming User Group

Lunedì si è tenuta finalmente la prima riunione dell'Xp User Group di Varese.

Abbiamo avuto un discreto successo, oltre ai membri dell'european summer school of agile programming (essap), erano presenti altri due compagni / amici di università... in totale una decina di persone, sicuramente un buon inizio.

Max ci ha tenuto un seminario su RoR e il TDD, esponendoci i vantaggi (e gli svantaggi) di questo approccio.
La cosa più interessante è stato a mio parere il brainstorm su Examinando, la nostra applicazione, e ne siamo usciti con una buona mappa mentale (che presto sarà pubblicata sul wiki del gruppo). Poi abbiamo un po' discusso delle esperienze personali fatte con i metodi agili, e sono saltati fuori alcuni problemini tra cui i test con applicazioni con codice non completamente implementato in TDD, e lo sviluppo TDD con applicazioni database-centriche (entrambi miei problemi).

Per chi volesse altre informazioni può visitare il sito del gruppo:
varese-xpug

oppure dare un'occhiata alla mailing list.

la prossima riunione è fissata per mercoledì 18 ottobre dalle 11:30 alle 14:00 in un'aula dell'università dell'Insubria. Accorrete numerosi!

Ciao Piero

martedì 3 ottobre 2006

Maledetta pioggia...

Altro impedimento per l'acquisto del Mac...

Sono uscito fuori strada con la mia carretta, ho preso una bottarella alla ruota destra, e ora non va più... sì è dissaldato l'aggancio del motore (o qualcosa del genere) e ora gratta tutto, probabilmente sarà partito il semiasse o il cambio...
Fantastico...

Mi sa che opterò per un mac usato...

Ciao Piero

giovedì 28 settembre 2006

Elettronica fai da te...

Ierì è stata una giornata pessima: oltre ad altre questioni tediose che vi risparmio mi è morto pure l'alimentatore del mio notebook (un Hp Pavilion zv5330ea)

Avevo già tentato di sistemarlo, con poco successo.

Decisi così di prenderne uno nuovo (viste le poche spese di questo mese :-) )...

Avevo due possibilità: comperarne uno universale o uno originale HP.

L'output necessario per fare andare il mio pc è di 18.5 V  a 6.5 A. Memorizzati questi valori prendo l'auto e il bancomat e mi incammino verso i negozi di informatica.

Posti visitati: Iper, Gigante, negozietto sottocasa di Pc ad Azzate e a Mornago, Essedì varese, Computer Discount e per ultimo Pc-City (Legnano). Alimentatori compatibili trovati: zero.

Il problema principale è che a quel voltaggio/amperaggio è difficile trovare alimentatori. Quasi tutti funzionano a 9v con un amperaggio di 3.5 A. Tutti gli alimentatori che ho trovato raggiungevano al massimo 6 A a un voltaggio del tutto insufficiente (9/12/15V).

Innervosito me ne torno a casa, apro internet e ricerco informazioni sul mio alimentatore. Hp provvede una vasta gamma di ricambi, compresi gli alimentatori. Costo del mio: 95 €

Cosa ho fatto?

Ho preso l'auto, il portamonete e l'alimentatore guasto. Mi reco da Ricci a Varese (un negozio di elettronica fornitissimo) compero 4 spinotti (per sicurezza) al costo di 1,20 €. Cavo nuovo di quello spessore non ne aveva, però penso "non fa niente".

Vado a casa prelevo un cavo della corrente con sufficiente spessore / schermatura (e quello dell'aspirapolvere vecchio di mia mamma andava benissimo) metto tutto assieme e il tutto funziona perfettamente!

Sucessivamente per una saldatura fatta male da me, ho dovuto rifare il lavoro, questa volta però ho optato per farlo fare da un mio amico elettronico più esperto di me.

Ora l'alimentatore funziona veramente alla perfezione, costo della riparazione massimo 5 €.

Non per una questione di taccagneria, ma spendere 95€ per un alimentatore per me sono un po' troppi...

Il fatto che Hp abbia scelto dei valori di corrente inusuali costringe a comperare in caso di bisogno da loro l'originale.

Da notare che i prezzi di alimentatori universali variano dai 30 € ai 70€, a seconda della potenza e della marca. Per esempio ne ho trovato un da 3.5A della Trust (perfetto per un centrino) a 35 €...

Non si potrebbe standardizzare anche l'alimentazione dei notebook? Dopotutto quella dei desktop e dei server è standard (Vedi ATX)...

Ciao Piero

martedì 26 settembre 2006

Flash Gordon

Ho trovato questo fantastico sito

http://www.publicdomaintorrents.com/

dove permette di visionare gratuitamente film vecchi il cui copyright è scaduto.

Tra questi nientedimento che Flash Gordon! (esiste una bella categoria dedicata alla SciFi)

Oltre a queste chicche ci sono pure dei B-Movies americani!

Buona visione

Ciao Piero

giovedì 21 settembre 2006

XpVa Primi gemiti

Per chi volesse maggiori informazioni sull'Xp User Group in formazione qui a Varese (per ora presso l'Università dell'Insubria) può cliccare su xpugva.has.it  o su www.linuxmad.org/xpva dove si trova il wiki temporaneamente ospitato.

Ciao Piero

lunedì 18 settembre 2006

Cavolo di limiti di velocità

Fantastico!

Mi è appena arrivata una cavolo di multa da 150€, perchè andavo a 63 km/h, in una provinciale, dove il limite è a 70, tranne che in quel pezzettino dove ho preso la multa che è 50...

Il mac dovrà slittare?

Un incavolato ciao

Piero

Katapulta

Ho scoperto di recente Katapult, un comodo tool di kde.

Basta premere Alt+Spazio che si apre una finestrella stile dashboard, digitando i primi caratteri del comando che si desidera avviare, appariranno le possibili scelte (come una sorta di T9 del cell...). Selezionando poi con le frecciette la voce desiderata e premendo invio si avvierà l'applicativo scelto...

Simpatico...

Ciao Piero

sabato 16 settembre 2006

Hosting Rails

Peccato aver appena rinnovato il contratto con il mio isp, ricordavo che qualcuno mi avesse detto dell'esistenza di un Isp italiano che supportava Ruby on Rails, ma questa informazione si era celata all'interno delle mie sinapsi bacate ed è riemersa solo oggi...

Tra l'altro è pure a buon mercato dato che vengono forniti un giga di spazio, RoR, MySql / PostgreSql, FTP (con accessi multipli) e statistiche... al prezzo di 33,6 €... meno che in altri posti!

Se a qualcuno interessa il sito dell'Isp è http://unbit.it 

Ciao Piero

mercoledì 13 settembre 2006

Il Quinto Giorno

"Allora Dio li benedisse, dicendo: "Siate fecondi e moltiplicatevi e riempite le acque dei bacini dei mari, e le creature volatili si moltiplichino sulla terra". E si faceva sera e si faceva mattina, un quinto giorno." Genesi 1:22,23

Da questo versetto della Genesi prende titolo "Il Quinto Giorno" di Frank Shatzing, libro che ho appena terminato di leggere.

Un romanzo molto interessate e divertente, soprattutto per amanti del genere fantascentifico (e non solo). L'autore ha impiegato ben quttro anni per le ricerche necessarie a scrivere il romanzo. La maggior parte del libro è scritto con rigore scientifico, grazie al quale il lettore comprende le problematiche ordierne legate agli oceani, la struttura dei fondi marini, gli ecosistemi,  il funzionamento delle correnti, delle estrazioni di petrolio e in che modo danneggiamo il mare...

L'uomo inquina le acque, la marina americana fa esperimenti con i cervelli dei defini, i sommergibili emettono suoni con i sonar a livelli molto elevati, tali che danneggiano i timpani di molti mammiferi subacquei come le megattere o le balene. Per il mondo marino è il tempo di ribellarsi... con i suoi metodi...

Un pescatore della costa del Perù, non capisce perchè il mare da settimane non gli dona più il pesce necessario per la sua fiamiglia, poì ad un tratto compare un immenso branco di pesci. Juan è felice, finalmente porà dar da mangiare alla sua famiglia e al padre malato, e forse vendere il pescato. Ma la felicità durerà ben poco, quando il branco di pesci, muovendosi come un unico essere fa cadere Juan dalla barca, strappandogli la rete.

La rete! Juan non potrà permettersene un altra! Deve riprenderla... Si tuffa. Ma il branco essedo fitto gli impedirà di risalire, come se tutti quei pesci lo volessero uccidere. Prima di morire Juan vede quacosa di insolito venire verso di lui... l'acqua incomincia a tingersi di blu... cosa vorrà mai dire? perchè i pesci hanno reagito così?
Intanto in Canada le balene arrivano tardi e mandano in crisi le compagnie turistiche di wale watching... una volta avvistate, orche, balene e megattere attaccano barche e navi mentre in altre parti del mondo granchi velenosi, meduse e squali invadono le coste uccidendo migliaia di persone...

Una nave viene quasi distrutta... da chi? Come delle cozze sono riuscite ad attaccarsi allo scafo in mare aperto?
Dopo poche settimane poche navi potranno solcare il mare...

Sebbene come introduzione potrebbe sembrare banale, quasi da film "alta tensione" di canale 5, durante tutto il romanzo vi sono colpi di scena che costringono il lettore a divorare il libro in pochissimo tempo (nonostante sia un malloppone da 1027 pagine).

Coinvolti nel racconto ci saranno marines e generali americani (che rispecchiano, a dir dell'autore ma anche mio, completamente l'attuale amministrazione americana), agenti della CIA e ricercatori del SETI (organo di ricerca per la vita extraterrestre... ).

Dalle pagine di testo inchiostrato traspirano immagini vivide che io ricordo come se fossero provenienti da un film. in particolar modo la parte finale (che ovviamente non spiego) e l'innalzamento di un enorme Tsunami verso l'Europa del Nord, che rade al suolo la costa della Norvegia (dove è ambientato una parte del libro), infiltrandosi tra i fiordi, e altre nazioni dell'Europa atlantica... Suspence nella suspence quando viene descritto l'arrivo dell'ondata e la partenza di un elicottero che tenta di salvare alcuni protagonisti... mi sembra di ricordare i rumori della scena!

Un libro che vale la pena leggere e possedere nella propria biblioteca, sia per il romanzo, sia per la nuova idea di fantascenza che espone e sia per imparare tante, tante, tante nozioni sul mare e sugli oceani...

Detto ciò correte in libreria!

Ciao Piero

lunedì 11 settembre 2006

Object / Relational Mapping

Quanto è comodo!

Per chiunque non sappia cosa sia l'Object / Relational Mapping (o ORM) è un metodo di Mappatura per le tabelle di un database.

Facciamo un'esempio:

possiedo una tabella persona(nome, cognome, Indirizzo, Telefono, EMail)

se volessi usare Sql per leggere il db il minimo che dovrei fare è aprire una connessione con il server, lanciare una query (del tipo "SELECT indirizzo WHERE EMail = pippo@pluto.it"),  e leggermi il  resultSet.

Questo potrebbe sembrare un approccio classico e sicuro... ma sicuramente non è agile.

Prima di tutto potrei rischiare di scrivere codice misto (sql + java, sql + php, e via dicendo) rendendo difficile da leggere il listato. Oltretutto modificando minimamente la tabella si rischierebbe di far saltare il programma.

Con un approccio ORM invece le cose si semplificano molto, e programmare su database diventa meno noioso, anzi diventa divertente.

In cosa consiste ORM? A noi informatici piace molto astrarre concetti per semplificare le cose e rendere il tutto più simile a un modello comune. Lo abbiamo capito con la programmazione ad oggetti, dove una classe "persona" può essere istanziata in più modi, una con "nome" uguale a "piero", un'altra con nome "joe", un'altra con nome "paola" e via dicendo, ma avrà sempre l'aspetto e la struttura di una persona.

Ora il concetto della programmazione a oggetti per noi addetti ai lavori è molto semplice e ci ha velocizzato molto la vita, allora perchè non estendere lo stesso ragionamento ai database?

Torniamo alla mia tabella persona. Con ORM ogni riga della tabella sarà istanziata come un oggetto di tipo "persona", i campi della tabella corrisponderanno a dei metodi get/set. Per esempio potrò leggere o modificare il campo "nome" con istanzaPersona.getName() o istanzaPersona.setName().

Semplice no?

Anche le relazioni tra le tabelle possono essere facilmente rappresentate via ORM, per esempio una tabella master con una relazione uno a molti possiederà un campo di dettagli contenente (in Java) una collection di istanze dell'oggetto ORM relativo alla tabella relazionata.

Le classi ORM  in Java possono essere scritte a mano o con tool presenti nei maggiori IDE come Netbeans o Eclipse.

ORM in Java può essere utilizzato con EJB 3 e TopLink, in Ruby on Rails è già presente il livello ORM "Active Record".

Spero che vi sia stato utile... e chiaro...

Ciao Piero

mercoledì 30 agosto 2006

Più vicina la crittografia quantistica

Stamattina ho trovato un articolo molto interessante su leScienze.it.

Chiunque sia interessato di sicurezza informatica e fisica dia un'occhiata a

http://www.lescienze.it/index.php3?id=12523 

Ciao Piero

lunedì 28 agosto 2006

Rockin' under a thunder... v2

Yuppppppy mi è arrivato il dvd del concerto degli Who di Locarno! Sono ripreso pure io!

Evvai!

Ciao Piero

giovedì 24 agosto 2006

Metodi agili e vita comune

Da qualche mese mi sono lasciato coinvolgere nel mondo della programmazione agile, in particolar modo di Xp (eXtreme Programming) e devo dire che ha notevolmente migliorato il mio modo di lavorare.

Non solo ne ha giovato il mio lavoro di programmatore (mi chiedo come abbia fatto a programmare fino ad ora senza tdd) ma anche le mansioni di tutti i giorni.

Dovendo assolvere diversi impegni (e impieghi) durante la giornata ho imparato a suddividere il mio tempo in "pomodori" anche fuori dal mondo della programmazione.

Prima di tutto che cos'è un pomodoro?

Per chi non lo sa, un pomodoro è una unità di misura temporale, generalmente di 25 minuti. Il nome pomodoro deriva dal classico timer da cucina a forma di pomodoro (ebbene si ne ho comperato uno... ed è divertente vedere un orologio meccanico in mezzo a diversi pc ultra tecnologici). Il timer viene caricato a 25 minuti, e alla fine del tempo si fa una pausa da 5 minuti. Questo permette al cervello e alla mente di riposare.

Mantenedo con rigore la modalità di lavoro a pomodori si riesce ad essere produttivi durante tutto l'arco della giornata.

Provare per credere!

Ciao Piero

mercoledì 16 agosto 2006

Java Swing / AWT e XGL

Da un paio di mesi sto usando Xgl come server grafico per il mio portatile, mi sto trovando estremamente bene, tanti effetti sono inutili, ma molti semplificano il lavoro e sono divertenti.

Esiste qualche problema con XGL e Compiz (il gestore delle finestre) e le applicazioni Java che usano Swing o Awt.

In special modo viene disegnata solo la root window ma non i sottocomponenti (come pulsanti o menu) e si ottiene una finestra completamente vuota (ma funzionante!) .

Per ovviare al problema ho pensato di utilizzare una sessione nested di X.

Far ciò è semplice, basta installare un server che supporti le sessioni nested, come Xephyr o Xnast, e magari un piccolo gestore di finestre come IceWm.

Per ubuntu/debian è bastato dare un

"apt-get install xfce xfce-gnome xserver-xephyr"

Poi mi sono creato uno shell script per avviarmi netbeans (il programma java che mi serviva)

#! /bin/bash
Xephyr :2 -ac -screen 1270x760 &
icewm --display :2 &
export DISPLAY=:2
~/.netbeans-5.5beta2/bin/netbeans &

e tutto torna a funzionare lanciando lo script...

Questo è un piccolo workaround momentaneo... speriamo che mamma Sun dia una sistemata alle Swing / Awt, o che Novell sistemi Xgl.

Un'altro Workaround è usare un Jdk < 1.5 come 1.4.

Con tutte le novità introdotte da Java 5 (e quelle da Java 6) sarà difficile tornare indietro... io ho preferito smanettare con X....

Ciao Piero

martedì 15 agosto 2006

Insubria Xp

In vacanza ho preparato un'abbozzo di come potrà essere organizzato l'Xp-UG dell'Insubria, date un'occhiata alla mappa mentale

XpUg Schema

lunedì 14 agosto 2006

Retrospettive

Ecco il tragico post del ritorno...

Come sono andate le ferie?! Direi abbastanza bene, a parte qualche problema con e da un cliente che mi ha costretto al telefono per 3 giorni con due miei amici che si sono volontariamente :-) offerti di sostituirmi durante le ferie...
Sono state due settimane non tanto di riposo fisico ma di riposo mentale: qualche giorno in spiaggia e visite alla stupenda Toscana.

Firenze è sempre magnifica, è una delle mie città preferite, con mete fantastiche dal punto di vista artistico e storico. S.Gimignano e Volterra sono state altre due mete altrettanto apprezzate, e insieme a Lucca e Massa Marittima hanno completato il consueto giro storico delle mie ferie.

Ho assistito a un bellissimo concerto dei Mercanti di Luquore (gruppo che conosco da poco, molto interessante), spostato all'ultimo in una autofficina per il maltempo...

Ciao Piero

venerdì 28 luglio 2006

Tempo di ferie...

Saluto tutti gli amici, i lettori di questa specie di blog, e chiunque sia qui per caso... vado in ferie!

Cosa mi porterò da leggere?

  • Operating System: design and Implementation (Tanenbaum) (lo studierò o lo userò come lettura di piacere?)



  • Il quinto Giorno (Frank Shatzing) (fantascienza... lo sto leggendo da poco e mi sta prendendo parecchio!


Peccato che non mi sia ancora arrivato Extreme Programming Explained: Embrace Change. di Kent Beck altrimenti me lo sarei portato... lettura rimandata a settembre....

Ciao a tutti!

Piero

martedì 25 luglio 2006

Test Patterns in Java

Su segnalazione del mio amico Alby vi lascio il link per questo interessante articolo sul Testing in Java...

Test Patterns in Java

ciao Piero

R.I.P.

Evvai telefono distrutto.... ora dovrò aggiungere alla To-Buy list un'altra voce...

Il mio cell

Ciao Piero

domenica 23 luglio 2006

Mi manca il C

Mi sono accorto di quanto mi manchi il C quando in Java, per estrapolare una sottostringa, ho scritto

char *newstring;

newstring = &oldstring[6];

e ho insistito con il compilatore per mezzo pomodoro affinchè mi accettasse il mio codice... poi  mi sono ricordato di essere in Java...

Ciao Piero

PowerBrowsing

Qualche tempo fa ho letto su Linux&C. un interessante articolo sul powerbrowsing, ovvero l'automatizzare le ricerche su internet e l'estrapolazione delle informazioni che veramente interessano. Quindi mi è venuto in mente un piccolo script da scrivere...

Grazie a Perl scarico,  via curl(1), un qualunque feed RSS (esempio quello di punto informatico) e lo analizzo via XML::Parser e XML::RSS, estrapolando le informazioni che ritengo utili tramite un parametro dello script che funge da filtro.

Fino a qui potrebbe sembrare poco utile o banale (sono una decina di righe di codice)... se non per il fatto che lo script mi genera il codice TeX per la generazione di un PDF con tutto il contenuto scaricato...

Carino no?

Appena riordinerò il codice lo pubblicherò qui...

Ciao e buon fine settimana...

Piero

sabato 22 luglio 2006

Lunari

Sono un appassionato di fantascienza, e chi mi conosce lo sa bene.

Ho sempre avuto il pallino di scrivere racconti che non ho mai terminato, allora perchè non pubblicare sotto forma di blog le avventure che la mia testa mi propina?

Se vi piace la fantascienza da oggi vorrei "postare" su un blog appositamente creato un racconto che ho in mente da diverso tempo... "I Lunari"

L'indirizzo è www.linuxmad.org/lunari

Spero di non annoiarvi...

Ciao Piero

mercoledì 19 luglio 2006

Mapped Thesaurus

My friend Alberto, some time ago, showed to me this very interesting web site:

Visual Thesaurus 

For each thesaurus a map comes generated dinamically with other thesaurus for map node.

Try it, it's very usefully funny!
-

Ciao Piero

martedì 18 luglio 2006

SuperFirefox

In this momet i'm surfing on internet with Swiftfox.

Swiftfox is an optimized build of Firefox. Each x86 processor have his optimized package. For example i've tryed the athlon-xp build with this rendering test.

The obtained results are 7 seconds of rendering work with Swiftfox and 10 with Debian standard Firefox.

There's also an improvement in program's loading time.
-

Ciao Piero

sabato 15 luglio 2006

Xgl on Ubuntu

Amazing! I'm running Xgl under my Ubuntu- Linux Box, with only 10 minutes of setup!

For who don't known what is Xgl look these two videos

Novell's Video (with Gnome)


2nd Video (with Kde)

Xgl is a rewritten X-server based on OpenGL, all graphical effects are generated by the 3D-engine's card, so there isn't any cpu overhead.

For who want Xgl run on Ubuntu (and i think on Debian), read the guide on ubuntuguide.org.

-

Bye Piero

Rockin' under a thunder

Straordinario, a dir poco eccezzionale!

Ieri sera in piazza a Locarno hanno suonato gli Who, uno dei miei gruppi preferiti.

Sebbene metà concerto è passato sotto la pioggia Roger Daltrey e Pete Townshend  hanno suonato alla grande per ben due ore!

All'inizio c'è stato qualche problema con gli amplificatori che sotto l'acqua ogni tanto andavano in protezione, poi con un po di cellophane tutto è andato a posto.

Alla batteria Zak Starkey 1000 volte più bravo del padre Ringo (Starr) e al basso Pino Palladino (bassista che ha suonato con Clapton, Zucchero e molti altri).

Il più bel concerto che abbia mai visto.

Ciao Piero

giovedì 13 luglio 2006

Bacteria made to sprout conducting nanowires

Vi riporto questo curioso articolo tratto dal numero di oggi del NewScientistTech

"The discovery that a wide variety of bacteria can be persuaded to produce wire-like appendages that conduct electricity could prove vital to the development of more efficient biological fuel cells.

Bacteria that use sugars and sewage as fuel are being investigated as a pollution-free source of electricity. They feed by plucking electrons from atoms in their fuel and dumping them onto the oxygen or metal atoms in the mixture. The transfer of the electrons creates a current, and connecting the bacteria to an electrode in a microbial fuel cell will generate electricity, although not necessarily very efficiently.

A species of bacterium called Geobacter sulfurreducens, which dumps electrons onto metal, has previously been persuaded to grow nanowires to make contact with distant atoms (see Subterranean bugs reach out for their energy). A deficit of metal atoms in the close vicinity of the bacteria can cause a bottleneck, so the proliferation of nanowires allows the bacteria to consume more fuel, potentially boosting the current produced by a microbial fuel cell.

Now a study by Yuri Gorby of Pacific Northwest National Laboratories in Washington State, US, and colleagues reveals that several other kinds of bacteria produce similar nanowires."
Reaching out

Gorby’s team coaxed Shewanella oneidensis – another bacterium that dumps electrons onto metal – into producing nanowires by growing it in vats that carefully control the amount of oxygen available. This forced the bacteria to extend nanowires to make contact with more metal atoms.

The nanowires were between 50 and 150 nanometres wide and extended tens of micrometres, allowing the bacteria to reach atoms hundreds of times as far away as the length of their cells.

The researchers used similar methods to encourage nanowires to sprout from other micro-organisms, including a photosynthesising bacterium called Synechocysitis PCC6803.

A clearer understanding of the way bacterial nanowires form should allow engineers to make more efficient and powerful biological fuel cells, Gorby says. For example, they could ensure that the chemical conditions surrounding bacteria encourage it to grow as many nanowires as possible, increasing conductivity.

Bruce Rittmann of Arizona State University in the US agrees this is an important direction: “The big problem with microbial fuel cells is the rates are very low,” he says. “They need to pick up the pace a lot.”

Journal reference: Proceedings of the National Academy of Sciences (DOI: 10.1073/pnas.0604517103)

Ciao Piero

martedì 11 luglio 2006

Nice day

Ieri è stata proprio una bella giornata!

E' iniziata al mattino, con la paga finale di un progetto che ho seguito, ed è continuata con il pomeriggio nel centro di Verona e la sera all'Arena della città.

Una serata all'insegna del blues, con Eric Clapton e Robert Cray.

Cray ha iniziato a suonare alle 20:30 circa, e ha donato al crescente pubblico dell'arena un'atmosfera carica di energia blues.

Alle 21:30 Eric "Slowhand" Clapton è entrato in scena con i suoi pezzi più belli, qualcuno del nuovo album, e molti greatest hits suoi e dei Cream. Fantastico il duetto di chitarre Clapton/Cray proposto a metà e all'ultimo pezzo.

Quando si suona in gruppo, tante volte è difficile mettere insieme 2 chitarre (solista e accompagnamento), ieri invece è stato un esempio di come sia possibile mettere insieme sul palco 4 chitarre, un basso, batteria, fiati, un pianoforte e un Hammond con una sincronia perfetta!

Peccato per la durata del concerto, poco meno di due ore, forse Eric comincia a sentire l'età (credo che abbia 64 anni)...

Ciao Piero

domenica 9 luglio 2006

Energized... (a.k.a. Essap Feedback)

Dopo un'intensa settimana in compagnia di amici e persone con passioni simili, mi ritrovo carico ed elettrizzato.Quando iniziai qualche anno fa ad imparare il primo linguaggio di programmazione, provavo una sorta di eccitazione ad ogni linea di codice che scrivevo e che il compilatore "portava in vita". Col passare del tempo tutto ciò è diventato una routine ( :-D ), e quel senso di esplorazione che mi spingeva a imparare cose nuove si è piano piano affievolito, anche perchè quando si scrive codice per terzi, spesso e volentieri non c'è nulla da esplorare. (Perlomeno ai miei livelli, oltre è probabile che sia più divertente)

Ad ogni modo questa Scuola Estiva (l'Essap) mi ha fatto tornare la voglia di fare, di creare divertendomi, e nello stesso tempo di esplorare il codice tornando ad essere padrone di esso (e non il contrario).

La scuola è stata un esempio di come andrebbe tenuto un corso tra informatici.

Ho usato proprio il termine tra e non il per informatici, perchè la sensazione che si provava era che non c'erano insegnanti, ma appassionati che insegnavano e condividevano la propria esperienza con gli altri accrescendo l'entusiasmo generale.

Il corso ha lasciato un'impronta positiva in ognuno dei partecipanti, coprendo di certo quei pochi problemi tecnici o logistici che ci sono stati.

In attesa di Essap 2007 qualche alunno (me compreso) ha accolto l'entusiasmo e ha iniziato a "buttare giù" qualche idea per creare una sorta di Mini-Xp User Group all'Università.

Per ogni informazione o idea è stato creato un wiki (attualmente è completamente vuoto)

Per quanto riguarda l'essap e xp in genere ecco una serie di link utili

http://essap.dicom.uninsubria.it/

http://essap.dicom.uninsubria.it/wiki

http://milano-xpug.pbwiki.com/

Ciao Piero

domenica 2 luglio 2006

C/C++ on Netbeans

E' stato rilasciato il C/C++ Pack per netbeans 5.5beta, rende possibile il coding in C/C++ tramite Netbeans. E' Possibile scaricarlo dal sito di Netbeans

Ciao Piero

giovedì 29 giugno 2006

Da lunedì Essap!

Da lunedì parteciperò come studente all'European Summer School of Agile Programming, protagonisti del caso diversi agisiti e importanti informatici, italiani ed esteri. Il corso si terrà a villa Toeplitz (Varese) in Inglese.

Ciao Piero

sabato 24 giugno 2006

Quando analogico e digitale non vanno d'accordo...

Ieri momento di relax...

Attacco il jack del basso all'amplificatore e lo accendo. Alzo il volume delle casse del mio pc, delle Creative 5.1 (non ricordo il modello), e incomincio a suonare sulle note di "Around The World" e "Californication" dei Red Hot Chilli Peppers.

Tocco con un piede il case del pc e prendo la scossa elettrica... e non poca!

Con curiosità dell'evento, ripeto pure l'esperimento! e ottengo sempre lo stesso risultato!

Vorrei sapere da dove viene tutta questa corrente.... dall'amplificatore o dal pc?!

Sono il digitale e l'analogico che si fanno guerra!

Ciao Piero

lunedì 19 giugno 2006

Attenzione a non sopravvalutarsi...

"Sono convinto che l'informatica abbia molto in comune con la fisica. Entrambe si occupano di come funziona il mondo a un livello abbastanza fondamentale. La differenza, naturalmente, è che mentre in fisica devi capire come è fatto il mondo, in informatica sei tu a crearlo. Dentro i confini del computer, sei tu il creatore. Controlli - almeno potenzialmente - tutto ciò che vi succcede. Se sei abbastana bravo, puoi essere un dio. Su piccola scala. (Linus Torvalds, "Rivoluzionario per caso", 2001)"

Talune volte l'informatico medio tende a sopravvalutarsi: attenzione! Esiste sempre un pesce più grosso e tante volte è uno squalo: non ti divora per non abbassarsi al tuo livello o perchè non gli piace il tuo sapore!

Quante volte si inontrano piccoli "geek" che pensano di essere dei grandi dell'informatica ma che sotto la loro testa viene nascosto solo un cervellino? Usare bene il pc non significa saper usare word o excel, non significa neppure saper usare benissimo windows o linux. Secondo il mio parere, che rimane solo un parere, è più uno "state of mind" e uno "style of life". Uno che sa usare bene il pc, un vero informatico, ragiona per problemi, appilicando magari le metodologie "divide et impera", dividendo il problema in sotto problemi piccoli e semplici per risolvere problemi complessi. L'informatico "vede" la soluzione al problema, non la tenta!

Voi che ne pensate?

Con questo post non mi schiero di certo con gli informatici di alto livello, anzi, come dicevo prima c'è sempre un pesce più grande, e c'è sempre da imparare, questo è il bello/brutto dell'informatica! A volte vorrei essere più in gamba di quello che sono, credo di aver raggiunto il massimo che la mia testa poteva concedermi... (e questo massimo è un millesimo delle conoscenze ed esperienze di alcune persone che conosco e che reputo degli ottimi informatici, anche se ovviamente le loro capacità sono un millesimo di quelle di altri)
Ciao Piero

martedì 30 maggio 2006

Regole di lavoro

Uno dei miei personaggi storici preferiti, Einstein, continua a stupirmi con le sue affermazioni.

"Le tre regole di lavoro:

1. Esci dalla confusione, trova semplicità.

2. Dalla discordia, trova armonia.

3. Nel pieno delle difficoltà risiede l'occasione favorevole."

Applicando questi piccoli consigli tante volte riesco a uscire da problemi di implementazione (e non solo) apparentemente insormontabili per me...

Grazie Albert! 

Ciao Piero

mercoledì 10 maggio 2006

Xp Project

Ho attivato un wiki per ospitare un possibile progetto comune.

Non si sà ancora bene in cosa consisterà questo progetto, ma sicuramente riguarderà la stesura di un software serio.

Per chi fosse interessato

http://www.linuxmad.org/xp

Ciao piero

(Post modificato dall'autore)

giovedì 27 aprile 2006

Maledetti spammer

Ora si fanno più furbi... Quanti saranno i lettori di questo blog? non lo so, una decina? Venti?
Bene ora ne ho uno in più, un software che analizza i blog, e tramite le api standard condivise da diversi blog-engine, lascia messaggi.
Un esempio? In questi giorni ho la casella di posta con una decina di messaggi in attesa di moderazione (funzione molto utile di wordpress),  che pubblicizzano pillole dimagranti o pillole blu...
Il robot-spammer che ha analizzato il mio blog ha beccato il post sulle "Pillole di saggezza del sabato", e ha inviato diversi commenti, tra cui "very good site" e "i'm agree" con un link al loro blog (ovvero il sito delle famose pilloline).

Attualmente esistono due modi per combattere lo spam: classica black list e filtri bayesiani.
Le black list sono una tecnica vecchia e collaudata, ma ha lo svantaggio di creare dei falsi negativi (ovvero messaggi non spam, catalogati come spam). Un filtro bayesiano è molto più complesso da realizzare ma è molto più efficace. L'apprendimento del filtro bayesiano è semplice: l'utente raggruppa una serie di spam e una serie di messaggi leciti e li sottopone al filtro. Questo analizza ogni parola delle e-mail - non solo il testo del messaggio ma anche gli header, il codice HTML e i JavaScript - e determina quanto frequentemente un termine appare nello spam e la sua frequenza nelle e-mail normali. Un termine che si trovi solo nello spam (per esempio "V1AGRA", con la lettera I modificata per trarre in inganno i flitri classici) ha il 100% di probabilità di essere una parola-spam, i termini "innocenti" presenti perlopiù nei messaggi leciti sono indicatori positivi, molti termini generici si troveranno equamente distribuiti tra spam e non-spam. Esaminare anche i codici è molto utile: la "parola" FF0000, ad esempio, è un forte indicatore di spam perché è il codice HTML per il colore rosso acceso.
Uno dei vantaggi principali dell'analisi bayesiana è che limita i falsi positivi, ossia le mail lecite ma catalogate come spam. Un filtro basato su un dizionario di parole proibite potrebbe bloccare uno scambio di messaggi tra due medici che parlano di Viagra, mentre un filtro bayesiano che avesse "imparato" le caratteristiche della loro posta sarebbe più cauto.
Dopo l'addestramento, un filtro bayesiano controlla un messaggio di posta verificando se al suo interno ci sono termini "colpevoli" o "innocenti" e, in base a queste rilevazioni, calcola la probabilità complessiva che sia spam. Una volta stabilita la "spammosità" di una mail il software antispam la passa al client di posta del destinatario evidenziandone il grado di pericolosità.
L'utente non deve essere passivo: se rileva dei falsi positivi o dei falsi negativi (spam catalogato come mail lecita) deve risottoporli al software di filtering perché questo possa mantenere aggiornato il suo livello di addestramento.


Ciao Piero

sabato 22 aprile 2006

Debian Backports

Chi utilizza Debian Sarge (ovvero "Stable") spesso sclera per la mancanza di software aggiornato. Diversi sviluppatori debian da tempo hanno avviato un progetto di backports, ovvero il porting dei pacchetti da unstable... risultato? una stable / unstable...

Tralasciando il fatto che per me ha poco senso installare i pacchetti unstable su stable, il link è il seguente

www.backports.org/

Sono presenti i respository per eseguire le operazioni di update/upgrade.

Ciao Piero.

Debian Live

Per chi non lo sapesse è possibile provare Debian (ovvero LA distribuzione di Linux per eccellenza) tramite un comodissimo cd live.

E' possibile scaricare il Live Cd di Sid ovvero la versione "Unstable"

il link è http://live.debian.net

Happy downloading & trying

Ciao Piero

sabato 15 aprile 2006

Odio Internet Explorer...

O meglio odio i programmatori...

Se esistono degli standard perche' non rispettarli? Mi rifersico ai web-developer (una specie di sottocategoria dei programmatori) che quando sviluppano i loro sitarelli non si preoccupano di fare i test di compatibilita' dei browser. Cosa costa installarsi Firefox o qualunque altro browser e fare un po di test?

Per esempio, per lavoro, sto mettendo in piedi un piccolo sito di e-commerce, basato principalmente sui sistemi di pagamento di paypal.

Ho sclerato mezza mattinata perche' non riuscivo a trovare diverse voci inerenti alla gestione del carrello e degli articoli nell'amministrazione di paypal. Perche'? Perche' paypal funziona bene solo con internet explorer...

E noi utenti Linux, MacOsX o di qualunque altra cosa che non utilizzi IE... cosa facciamo?

Scleriamo...

lunedì 10 aprile 2006

Complimenti Wikipedia

Complimenti a Wikipedia, che ha superato le 150.000 voci!

Speriamo che continui a crescere (anche in qualità...)
Ciao Piero

sabato 8 aprile 2006

GUI - Guarda Un Imbecille (davanti al pc)!

Non credo che il significato della sigla sia proprio quello del titolo (anzi GUI starebbe per Graphical User Interface), ma poco ci manca.

Che siano state una grande invenzione non lo metto in dubbio, per molte persone oggi sarebbe impossibile lavorare senza di esse, ma quanto questo è un bene?

Questo non vuole essere un articolo contro Windows, ma uno spunto per far capire ai vari Windowsiani uno dei tanti motivi perchè il mondo Unix ci piace così tanto.

Tante volte i vari Windowsiani accusano noi Unixiani di voler utilizzare le cli (leggasi Command Line Interface - ovvero le shell) per farci grandi verso gli altri, facendo vedere quanto siamo bravi a utilizzare tutti quei comandi che potrebbero essere benissimo impartiti con il mouse facendo click su un pulsante, ma ciò che questi utenti non capiscono è che noi lo facciamo per comodità.

Comodità? Si!

Le shell sono comode, performanti e altamente configurabili. Il fatto è che l'utente professionista medio/alto di windows si immagina la shell come una specie di prompt dei comandi di DOS... il problema è far capire a questi user che non è così!

Primo vantaggio di una shell: sono comode

Problema: devo visualizzare il contenuto di una cartella.

GUI:

1) Apro Konqueror/Nautilus/Windows Explorer (e aspetto in media 2 secondi per il caricamento)
2) Clicco sull'icona del disco/directory radice
3) Apro tutte le sottocartelle fino alla catella desiderata
4) Guardo il contenuto della cartella
CLI (tipo bash):

1) digito "ls /percorso/cartella"

fine... e posso utilizzare pure combinazioni di caratteri jolly e caratteri alfanumerici per fare delle "query" al filesystem

senza contare che con l'autocompletamento dei parametri e comandi, solitamente si digita il 10-20% dei caratteri necessari per impartire il comando

Secondo vantaggio: sono veloci (e stabili)

Problema: copiare un direttorio o un file

GUI:

1) Apro la mia interfaccia (attendo il caricamento)
2) Eseguo le operazioni riportate precedentemente per la visualizzazione della directory che voglio copiare/spostare
3) Apro la mia seconda interfaccia e attendo il caricamento
4) Eseguo le operazioni riportate precedentemente per la visualizzazione della directory di destinazione
5) (a volte) posiziono le due finestre in modo tale che non si sovrappongono
6) cerco la cartella/file da copiare e la trascino nella directory di destinazione.

CLI (tipo bash):

1) per sposotare un cartella: "mv /percorso/directory_da_copiare /dir_destinazione" oppure per copiare sostituisco "mv" con "cp"
Fine...

Terzo vantaggio: applicazioni più semplici da usare

Problema: cambiare indirizzo ip alla mia scheda di rete

GUI (esempio con Windows, vado a memoria):

1) Clicco su start
2) Apro il pannello di controllo
3) Apro le Impostazioni di rete
4) Apro le impostazioni relativi alla scheda di rete interessata
5) Clicco sul vecchio ip, (sposto la mano da mouse alla tastiera) digito il nuovo IP
6) Clicco su OK
7) Riclicco su Ok
8) Chiudo le finestre

CLI:

1) Digito "ifconfig scheda ipnuovo" (per esempio sulla mia macchina Linux: "ifconfig eth0 192.168.1.10")

Finito... Non è più semplice?

Si tratta solo di imparare qualche comando e tutto ciò permette di lavorare senza aspettare eventuali tempi morti dell'interfaccia grafica (o sistema operativo, dato che la più grande scemata di tutti i tempi è stata includere in kernel space di windows la gui di quel sistema... Credo che quando Tanenbaum abbia saputo la notizia abbia fatto pace con Tordvalds :-) (chi conosce la storia di Linux capirà...) ) evitando pure i vari errori dovuti all'utente che trascina le icone dove non deve o dove non si aspettava.

Il solo problema è che per familiarizzare con le CLI ci vuole solo un pò più di tempo che con le GUI, ma credetemi, ne vale la pena...

Attendo molte critiche...

Ciao Piero

mercoledì 5 aprile 2006

Una delle più grandi delusioni...

Spero solo che si fermino qui... mi hanno un po' deluso... principalmente io comprerei un mac non tanto per un fattore estetico (anche se mi attira parecchio) ma per MacOsX... e ci deve girare SOLO macOsX o qualche os open come linux o bsd... ma non windows vi prego!

Per capire di cosa stò parlando... cliccate qui

Apple Tornate Indietro!

Don't go to the dark side of the source!

Apple ricordate! "Think Different!"

Ciao Piero

Basta con i problemi del kernel!

Molti utenti linux, in particolar modo quelli piu' esperti, plasmano il kernel della propria macchina a piacimento, a volte per cercar di far funzionare periferiche che si pensa che non siano supportate.

Un sito che ci sara' sicuramente utile e'

http://kmuto.jp/debian/hcl/

inserendo qui l'output del vostro 'lspci -n' vi saranno indicati i moduli del kernel necessari per far funzionare le vostre periferiche...

Ciao Piero

Pink Floyd... analisi di "The Wall"

Ho trovato un sito molto interessante...

fa un'analisi dettagliata di "The Wall" la famosa opera dei Pink Floyd, scritta da Roger Waters...

http://home.mchsi.com/~ttint/ 

Tecnologia utile....

Da una notizia su /.


FleaPlus writes "The Boston Globe reports that WowWee Toys, the creators of robots like the hack-friendly Robosapien series, has announced a collaboration with Evolution Robotics. WowWee's next generation of robots will make use of Evolution's tech for visual object recognition and indoor navigation, hopefully with future versions being able to not just entertain, but also 'perform useful tasks such as fetching a beer or even helping to carry the groceries.'"



Ne ordinerò uno.... :-)

Ciao Piero

lunedì 3 aprile 2006

Mr.Spok & endless loop

Ho appena finito di vedere una puntata di Star Trek dove Spok, il vulcaniano dalle orecchie a punta e dalla logica ferrea, per salvare la situazione, manda in un ciclo infinito un robot con una frase che tutti noi conosciamo, e che viene studiata nei corsi di logica:

"io ti dico la verità: tutto ciò che dico sono bugie..."

Dopo questa frase il robot incomincia ad impazzire... e a far fuoriuscire il fumo dalle orecchie...

Fortuna che i pc di oggi non fanno così ad ogni endless loop... (ci pensa già windows quando gira normalmente....)

Ciao Piero

anti-Phishing by Google

Per chi non lo sapesse (io l'ho scoperto 5 minuti fa!) google ha realizzato un filtro antiphishing basato non sulle black list, ovvero liste di siti "neri", ma su filtri euristici (una tecnica matematica). Il filtro è raggiungibile qui.


Happy browsing....


Ciao Piero

venerdì 31 marzo 2006

Encription from intergalactic radio signals

Una curiosa e affascinante notizia e' apparsa sul New Scientist Tech:

"Intergalactic radio signals from quasars could emerge as an exotic but effective new tool for securing terrestrial communications against eavesdropping..."

Altro che pgp/gpg, con questa idea sarebbe possibile crittografare con sicurezza tutte le nostre comunicazioni.

Ma come fa notare l'articolo, i segnali radio delle quasar sono del tutto casuali (o meglio non predicibili con le nostre conoscenze), quindi per ora questa forma di crittografia e' difficile da sfruttare.

Aspettiamo la nave di vulcano...:-)  (l'ultima e' rivolta a chi sa)


Leggi l'articolo intero 


Ciao Piero

giovedì 30 marzo 2006

L'angolo delle citazioni (3) (poi basta :-) )

Per noi informatici:

  • I computer sono inutili, possono dare solo risposte. (Pablo Picasso)

  • I computer sono incredibilmente veloci, accurati e stupidi. Gli uomini sono incredibilmente lenti, inaccurati e intelligenti. Insieme sono una potenza che supera l'immaginazione. (Albert Einstein)

  • La disumanità del computer sta nel fatto che, una volta programmato e messo in funzione, si comporta in maniera perfettamente onesta. (Isaac Asimov)

  • Non ho paura dei computer, ma della loro eventuale mancanza. (Isaac Asimov)

  • Pensare? Perché pensare! Abbiamo i computer che lo fanno per noi. (Jean Rostand)

  • Il testing non può mai rivelare l'assenza di bug. (Edsger Wybe Dijkstra)

  • Una delle principali cause della caduta dell'Impero Romano fu che, privi dello zero, non avevano un modo per indicare la corretta terminazione dei loro programmi C. (Robert Firth)

  • Computer: cretino ad alta velocità in dotazione, spesso, a cretini molto lenti. (Stefano Benni)

  • Sono convinto che l'informatica abbia molto in comune con la fisica. Entrambe si occupano di come funziona il mondo a un livello abbastanza fondamentale. La differenza, naturalmente, è che mentre in fisica devi capire come è fatto il mondo, in informatica sei tu a crearlo. Dentro i confini del computer, sei tu il creatore. Controlli - almeno potenzialmente - tutto ciò che vi succcede. Se sei abbastana bravo, puoi essere un dio. Su piccola scala. (Linus Torvalds, "Rivoluzionario per caso", 2001)

  • L'ingegnere quantistico Seth Lloyd è convinto che l'universo sia un gigantesco computer. Speriamo non faccia girare Windows. (Quantum mechanic Seth Lloyd says the universe is one giant, hackable computer. Let's hope it's not running Windows.) --Kevin Kelly, Wired Magazine

  • Un computer ti fa fare più errori e più velocemente di qualunque altra invenzione dell'uomo - con l'eccezione forse delle armi da fuoco e della tequila. (Mitch Ratcliffe)

  • Mai fidarsi di un computer che non è possibile gettare dalla finestra. (Steve Wozniack)

L'angolo delle citazioni (2)

(Dopo il tour in America dei Beatles, un giornalista intervista John Lennon)


Giornalista: "Come avete trovato l'America?"
John Lennon: "A sinistra della Groenlandia"


(battuta anche presente in "A hard day's night")

L'angolo delle citazioni (1)

"Questo pianeta ha -- o piuttosto aveva -- un problema, che era questo: la maggior parte della gente che ci vive era scontenta per la maggior parte del tempo. Furono suggerite molte soluzioni per questo problema, ma gran parte di esse erano basate sui movimenti di piccoli pezzi verdi di carta, il che è bizzarro, dato che, tutto considerato, non erano i piccoli pezzi verdi di carta ad essere scontenti." Adams Douglas
Con un po' di simpatia A.D. scrisse questa frase nella sua "Guida galattica per autostoppisti"... e dire che tanti pensano che sia solo un libro ridicolo....

Ciao Piero

martedì 28 marzo 2006

Occhi e naso all'insù! (Con qualche precauzione)

"3 Quando vedo i tuoi cieli, le opere delle tue dita,
La luna e le stelle che tu hai preparato,
4 Che cos’è l’uomo mortale che tu ti ricordi di lui,
E il figlio dell’uomo terreno che tu ne abbia cura?"


Re Davide - Salmo 8:3,4

Domani ci sarà la prima eclisse totale di Sole del Terzo Millennio (parziale in Italia). Come in tutte le eclissi totali, l'ombra proiettata dalla Luna sulla superficie terrestre si muoverà da Ovest verso Est ad una velocità di circa 2400 km/h. La fascia dove sarà possibile osservare la completa totalità sarà larga circa 200 km e lunga alcune migliaia di km. La durata massima della sovrapposizione del disco della Luna sul disco del Sole sarà di circa 4 min 07 sec quando l'asse del cono Percorso Esclissed'ombra della Luna passerà il più vicino al centro della Terra. Questo avverrà in Libia vicino al confine con il Chad.

Ogni volta che assisto a uno spettacolo del genere, rimango a bocca aperta, stupito difronte alla maestosità dell'universo... e di chi l'ha creato.

Sarebbe bello assistere a tutte le eclissi di sole e di luna da qui all'eternità... Sperando nel tempo, auguro un buon spettacolo a tutti, e buona riflessione. Momenti come questi ti fanno capire quanto siamo piccoli nell'universo... e quanto non ne siamo al centro.

L'appuntamento è per le 11:36, con il primo contatto, alle 12:38 con la copertura massima (46% a Varese, ma totale in altre parti del mondo), e alle 13:40 con il quarto (e ultimo) contatto, ovvero quando la Luna sarà completamente passata.

Percorso Esclisse
Non perdete questo evento, il prossimo sarà nel 2011.

Le eclissi totali di sole nello stesso punto si verificano in media una volta ogni 360 anni, da noi è successo nel 1961, e credo che nessuno di noi insubrici (o lettori di questo blog) erano in vita. Fu quasi totale in Europa anche quella del 1999 (bellissima giornata a Varese, con una diretta ai Giardini Estensi).

Riflettiamo gente, riflettiamo...

Occhi e naso all'insù, ma a me viene da chinare la testa in segno di rispetto...

Ciao Piero

Rifiuti spaziali

Gia' il fatto che dall'alto qualcuno possa fotografare i fatti miei  mi da abbastanza fastidio (vedasi le varie google maps o earth), ma il fatto che sopra la mia testa girino inutilmente oggetti abbastanza pericolosi proprio non lo accetto.

Nell'orbita geostazionaria si trovano circa 1200 oggetti piu' grossi di mezzo metro, e solo 300 di questi sono satelliti in attivita'... il resto sono rifiuti, ovvero satelliti senza controllo e utilita'.

Pensate tra questi ci sono anche 32 reattori nucleari dismessi....

Ciao piero

lunedì 27 marzo 2006

Tornando al faceto...

Da un blog:

Password atto primo


A: Assistenza buongiorno, mi dica.
U: Non riesco a connettermi, mi dice che la password è errata.
A: Ora verifico, mi dia un attimo per favore

....dopo qualche minuto...

A: Mi risulta che lei sta inserendo come password: case sensitive... non è quella corretta.
U: Ma come? In attivazione c'era scritto che la password è case sensitive.

__________________________________________________________

Non c'e' che dire... a volte certa gente non dovrebbe neanche accenderlo il pc...

Computazione quantistica, il punto.

Computazione quantistica, ne abbiamo sentito parlare, ma sappiamo bene che cos'e'?

Prima di tutto definiamo quello che e' il mondo della fisica quantistica. La fisica (o meccanica) quantistica e' una teoria nata una sessantina di anni fa, attua a spiegare i comportamenti di entita' su scale di grandezza infintamente piccole, al di sotto dell'atomo, dove le leggi della fisica classica cadono. Tutto e' basato sul principio di indeterminazione di Heisenberg che afferma che e' impossibile conoscere lo stato di moto e la posizione di una determinata entita'.

E' quindi possibile immaginare che una entita' possa contenere nello stesso instante piu' di una informazione: 0, 1, o alcune miscele di entrambi. Questa entita', che prende il posto di un bit dei normali computer, prende il nome di qubit.

Un effetto utile al calcolo quantistico e' il cosidetto "ingarbugliamento", effetto che permette di coordinare il comportamento di due o piu' qubit, anche quando questi non sembrano interagire.

Il problema piu' grosso e' "immagazzinare" i qubit da qualche parte (come avviene con i circuiti flip/flop per immagazzinare i bit). Diversi gruppi di ricerca in tutto il mondo stanno lavorando a dall'inizio degli anni novanta a un congegno chiamato "trappola ionica". Ogni trappola, grande tra un decimo e un centesimo di millimetro, contiene dei minuscoli elettrodi in grado di trasmettere uno ione all'inerno, mentre un raggio laser ne altera la rotazione ionica (spin). A calcolo concluso un altro laser colpisce lo ione facendogli emettere fotoni, ricevendo cosi' la risposta.

Queste "trappole ioniche" oggi esistono, ma possono contenere al massimo una decina di qubit, mentre per il calcolo come lo conosciamo noi oggi ne servono almeno alcune centinaia (o migliaia, dicono alcuni).

Ai bell labs e' in corso una ricerca per integrare un sistema multiplex di trappole ioniche basate sul silicio. Questo permettera' di sfruttare oltrettutto la tecnologia moderna di produzione di chip silicidi.

I benefici di un futuro computer quantistico sono molteplici: innanzitutto il sistema finale sara' un sistema estremamente potente, in grado di eseguire calcoli e algoritmi estremamente complessi in un tempo "umano". Si pensi agli algoritmi di Shor e Grover (due ricercatori Bell che hanno ideato degli algoritmi che, sfruttando computer quantistici, saranno in grado di calcolare la scomposizione di numeri primi molto grandi in poco tempo).

Quando tutto cio' sara' realizzato ci saranno notevoli grattacapi per le aziende di sicurezza (i numeri primi sono la base della moderna crittografia), che dovranno inventarsi qualcos'altro per cifrare i dati.

Per ora accontentiamoci delle varie reimplementazioni delle architetture moderne.

Per approfondimenti:
Technology Review 1/2005
e wikipedia
Ciao Piero

domenica 26 marzo 2006

Indipendent European Roots server (...Again)

Stamattina non so per quale motivo, i dns del mio provider erano down (o sovraccaricati non so), fortuna che avevo gli indirizzi ip dell'ORSN, che mi hanno permesso di navigare comunque, e velocemente!

Un motivo in più per passare all'ORSN...

Byez Piero
(PS: Aggiunta successiva al post: Oltretutto il syslog del mio router è più pulito di prima, senza i fastidosi "Lost connection to dns...")

sabato 25 marzo 2006

Pillola di saggezza... del sabato

....ovviamente non mia.

Dijkstra, l'autore del sistema operativo THE, non ché inventore del concetto di semaforo in programmazione, disse:

"Program testing can be used to show the presence of bugs, but never to show their absence!"

ovvero

"Il test dei programmi può essere usato per rivelare la presenza di bug, ma mai dimostrare la loro assenza!"
Come aveva ragione... lo dimostrano tutte le patch post-release dei vari programmi (OS compresi!).

Se si pensa che l'60% del costo software è rappresentato dai costi di manutenzione, si capisce quanto sia utile pensare, progettare e solo alla fine sviluppare, avendo le idee chiare. (tnx ai corsi di SO e Progettazione SW :-) )
E' inutile che certi programmatori dicano di saper programmare bene, e pensino che valga solo la pratica snobbando chi si mette a pensare prima.

Quanto tempo passate a riscrivere le vostre funzioni o i vostri prototipi?
Ciao Piero

Indipendent European Roots server

Su segnalazione di un mio amico, vi comunico il link all'European Open Root Server Network, una soluzione DNS ICANN-Indipendent...

Se non volete dipendere troppo dai root server americani per vostra necessittà, volontà o come backup-dns, potrete utilizzare questi dns.

In linux potete semplicemente modificare il file /etc/resolv.conf aggiungendo queste linee

nameserver 193.155.207.61

nameserver 217.146.139.5

e riavviando i servizi di rete.

il link alll'ORSN è www.orsn.org



Happy surfing...

Ciao Piero

Linux... su iPod!

Ebbene si! Dopo aver visto NetBsd Installato su un TOSTAPANE (e non scherzo),
Tostapane e NetBsd molta gente si è chiesta... "perchè non installare un sistema operativo anche sul mio walkman?" bhe sul walkman non era possibile, quindi hanno optato verso un più moderno iPod installandoci linux, o meglio mClinux.

mcLinux? mCLinux (microcontroller linux) è un fork del kernel linux 2.0 (ma è stato piano piano aggiornato incorporando le features della 2.6), senza MMU, ovvero la Memory Management Unit, dato che i microcontrollori non hanno la ram come la intendiamo su una qualsiasi architettura pc-like.

Grazie a questo kernel è possibile installare linux (e diverse applicazioni moderne) su un qualsiasi dispositivo supportato (clicca qui per vedere quali) quindi anche su iPod.

In particolare è stata creata una distribuzione dedicata all'iPod in grado di fare ciò che iPod faceva prima e naturalmente molto di più... ci sono diversi screenshots in giro per la rete, tra cui uno dove si vede doom girare allegramente...

doom e iPod

La distribuzione è caratterizzata da una interfaccia appositamente disegnata con TTK, inoltre è possibile avere una bella shell. Chissà se in futuro iPod incorporerà funzioni di connettività avanzate (tipo umts) le applicazioni di questa ditribuzione saranno più che raddoppiate... provate a immaginare tanti iPod che si trasmettono la musica (legale :-) ) a vicenda...
Complimenti a tutti gli sviluppatori!

Non c'è che dire...
(ah x i windowsiani, provate a installare xp su ipod...)

Ciao Piero

Hello world... v2.0 :-)

Ho appena cambiato il bloggin'engine,mi spiace per tutti i commenti inviati ma bblog era un po' troppo limitato...


ho optato per wordPress... vedremo...


Happy and joy web world! Now we use WordPress, it's amusing, fast (i hope!) scalable blogging engine!


Ciao Piero

mercoledì 22 marzo 2006

Agile development

Programmazione agile? Che vorra' mai dire?
La programmazione agile si basa sul concetto che sviluppo software non significa solo scrivere codice; sviluppo significa prendere decisioni concernenti il design: un’attività creativa che richiede nel contempo grande disciplina e responsabilità al fine di progettare, creare, controllare e fare evolvere l’architettura e la funzionalità del progetto.

Ecco una prima definizione da Wikipedia:
"Most agile methods attempt to minimize risk by developing software in short timeboxes, called iterations, which typically last one to four weeks. Each iteration is like a miniature software project of its own, and includes all of the tasks necessary to release the mini-increment of new functionality: planning, requirements analysis, design, coding, testing, and documentation. While an iteration may not add enough functionality to warrant releasing the product, an agile software project intends to be capable of releasing new software at the end of every iteration. At the end of each iteration, the team reevaluates project priorities.

Agile methods emphasize realtime communication, preferably face-to-face, over written documents. Most agile teams are located in a bullpen and include all the people necessary to finish software. At a minimum, this includes programmers and their "customers." (Customers are the people who define the product. They may be product managers, business analysts, or actual customers.) The bullpen may also include testers, interaction designers, technical writers, and managers.

Agile methods also emphasize working software as the primary measure of progress. Combined with the preference for face-to-face communication, agile methods produce very little written documentation relative to other methods. This has resulted in criticism of agile methods as being undisciplined hacking (aka Cowboy coding)."

Come dire programmatori di tutto il mondo Unitevi... ma prima ragionate bene sul software...

Eh si ragionare ragionare, purtroppo in tantissimi software sono fatti coi piedi, questo perche' non vengono ben pensati a tavolino, si applica quella che e' la Cowboy Coding...
Molte aziende si affidano a persone che sono incompetenti, che pensano di saper programmare, solo perche' hanno un diploma che lo dimostra. Conosco persone che non sono diplomate, ma fanno cose molto piu' complesse di quelle che io possa fare, d'altro canto esistono persone che, laureate o diplomate, scrivono codice eccellente ma privo di quella fantasia e di quei trucchetti che distinguono un programmatore da un vero programmatore.
In Italia purtroppo la mansione del programmatore non e' protetta dalla legge (come puo' essere un ingegnere edile) questo perche' il software non si tocca, il software non esiste, il software puo' essere fatto da persone poco competenti e puo' funzionare... a volte.
Preandiamo ad esempio quello che e' successo a Malpensa e a Fiumicino in questi giorni, errori nel software probabilmente, che sono costati tanti dindi ai passeggeri e alle compagnie aeree...
Quindi caro programmatore, prima di scrivere la tua prossima funzione o routine... pensa... pensa... pensa e ripensa... dopo? debugga debuugga e ripensa? dopo? bhe se non funziona la tua procedura cambia lavoro! Bhe a parte gli scherzi, teniamoci aggiornati e avremo piu' soddisfazioni noi... e i nostri clienti saranno felici....

Confesso pero' che non ho ancora ben chiaro cosa sia l'agile  development, spero in qualche futuro corso all'uni...

:-)

Ciao Piero

giovedì 2 marzo 2006

La cina e la sua Internet

Questa mattina, dando un'occhiata a punto informatico, ho letto un articolo che dovrebbe far pensare ogni utente serio della rete. La Cina si sta' preparando piano piano a lanciare un sua rete, senza appoggiarsi alla ICANN, questo non solo vuol dire che ci saranno (per loro) nuovi domini in formato ideografico, ma permetterà ancora di più il controllo da parte delle autorità.
Tralasciando (per ora) il fatto del controllo sugli utenti internet, concentriamoci sull'evento stesso: Internet e' una rete libera e mantenendo un certo pudore, tutti possono dire la propria, cercare informazioni utili, organizzare viaggi e lavorare. Cosa accadrebbe un bel giorno se la ICANN (o chi la comanda, ovvero il governo degli Stati Uniti), decidesse di chiudere all'Europa o qualche altra nazione l'accesso ai propri root server? Sinceramente non ne so abbastanza per fare un commento tecnico a riguardo, in ogni modo cio' che da fastidio e' il fatto che dipendiamo da tecnologie controllate da altri paesi.
Con il GPS l'abbiamo capita, abbiamo usato per anni una tecnologia MILITARE americana, con la riserva da parte del governo USA di staccare la spina in qualunque momento. Non sto criticando loro, ma noi, che ci siamo svegliati piuttosto tardi sotto questo aspetto con il nostro Galileo (che non e' ancora pronto). Per ora preferisco utilizzare ancora le vecchie cartine geografiche...
Tornando a Internet, questa rete sara' veramente libera quando il controllo sara' fatto non da un organo di uno stato estero, ma da un'organo internazionale neutrale.
Un altro modello di una futura internet potrebbe essere simile a quello cinese attuale: ogni stato si gestisce indipendentemente i suoi root server, creando poi una rete tra questi root server. In questo modo si utilizzeranno i root server nazionali o americani senza problemi e in maniera trasparente. L'altra faccia della medaglia consiste proprio nel controllo delle connessioni degli stati... Quale sara' il futuro per la rete?

Ciao Piero

martedì 28 febbraio 2006

NetBSD - Prime impressioni

Avevo gia' provato netbsd quest'estate, non sapevo bene a cosa andavo in contro, e dopotutto non ero ancora pronto.
Difatto lo rimossi dopo pochi giorni... :(
Oggi mi sono deciso! Devo imparare ad usare qualcosa che sia diverso da linux, non tanto per il fatto che il sistema del pinguino non mi piaccia, anzi il primo amore nel mondo posix non si scorda mai, ma volete mettere l'ebrezza di provare un sistema, le cui prime linee di codice risalgono a una ventina (anzi trentina) di anni fa!
Per ora sto sclerando dietro al sistema dei packages e alla ksh (mi sembra veramente una bella shell)....
Vi faro' sapere!

Ciao Piero

Incavolato Nero

Ebbene sono una persona che in media compera uno o più cd musicali al mese, e ogni mp3 che ho sul pc ha un corrispettivo ORIGINALE nei miei (o dei miei fratelli) cd musicali (che, contando dischi in vinile, cassette e cd sono più di 400). Quindi non sono tanto arrabbiato per il fatto che Libero Infostrada o Wind mi filtri le porte (tra l'altro cacciando il naso nei miei affari...) e mi impedisca di utilizzare sw come emule o kazaa in quanto posso prendere il mio bel cd e ficcarlo nel lettore del mio pc (cosa che detesto, occupo inutilmente una periferica, e questo mi costringe a togliere il cd ogniqualvolta ho bisogno di inserirne un altro).
Cio' che mi fa arrabbiare e' che, utilizzando parecchio linux o sistemi tipo BSD, spesso devo scaricarmi delle ISO dai produttori, che mettono a disposizione server FTP, a volte molto lenti, ma anche dei file torrent, grazie ai quali posso scaricare tranquillamente a 450Kb/s.
Il fatto e' che libero filtra ANCHE le porte torrent, sistema TOTALMENTE LEGALE per scaricare ISO per linux o altri software.
Ho cambiato le porte (cosa che un utente comune potrebbe non saper fare) e per un po' ha funzionato... fino a stamattina: volevo scaricarmi il DVD dell'ultima KNOPPIX e patatrak! scarico si e no a 50Kb/s con torrent e a ZERO con qualunque altra cosa. Quindi NIENTE POSTA, NIENTE WEB BROWSING, NIENTE SSH, ditemi cosa devo fare? Esiste una soluzione?
Ebbene si!
Sono 2:
PRIMO: Cambiare continuamente le porte sul mio router (cosa che comporta il riavvio dello stesso... quindi una perdita di tempo, mia e di chi altro sta' attaccato a internet) il che mi risulta essere una enorme scocciatura.
SECONDO: Cambiare provider
Sarebbe la scelta più intelligente, ma seppure momentanea, chi mi garantisce che alti provider (come credo Tiscali stia facendo) in futuro non mi filtreranno le porte?
E poi la cosa ancora più scocciante e' che se dovessi cambiare provider rimarrei senza internet per almeno un paio di mesi.
Paese che vai, usanze che trovi. Non dico di arrivare al limite come in francia dove il p2p e' stato legalizzato, anche perché qualunque artista emergente non potrebbe emergere per i pochi ricavi delle major (vogliamo crederci...), ma cerchiamo la via di mezzo, come c'è sempre stata.
Il filtrare le connessioni per la lotta alla criminalità, alla pedo pornografia, al terrorismo, mi va pure bene, anzi benissimo, cerchiamo di collaborare per il bene collettivo, ma non facciamo i deficienti, cerchiamo di ragionare, cosa serve filtrare delle porte, sulle quali posso trasmettere materiale totalmente legale?
Recentemente io e amici abbiamo lavorato a un progetto, un player per linux a linea di comando, ebbene se volessi trasmetterlo via protocollo torrent? No, nada, questo provocherebbe una caduta di tutti gli altri servizi internet, e dato che non posso permettermi un server al Mix di Milano o su iNet, l'unico modo e' distribuirlo via vecchi protocolli: FTP e HTTP. (perché non filtriamo pure quelli, chi mi vieta di metter su un server con Apache o ftpd con su film e mp3?)
Prendetevela con chi veramente rallenta l'economia e favorisce il P2P.
Nel 1999 comperai un cd, Made in Japan dei Deep Purple, prezzo? 22000 Lire
Un Album doppio molto bello anche da ascoltare.
Prezzo attuale (visto su internet): 14,70 € versione normale, 24 € versione nuova (cosa avrà di nuovo un album inciso nel 72 e gia' rimasterizzato nel 98?)
Oppure nel 2000 comperai il cd nuovo di Bon Jovi – Crush, pagato 32000Lire. --> costo attuale 20,40 € (cd gia' vecchiotto, ne sono gia' usciti un paio dello stesso autore).
Oltretutto non vedo perché non possa scaricarmi gli mp3 di questi album visto che li posseggo regolarmente.
Sono pure d'accordo sulle limitazione che, sullo stile della Cina censurista, l'Italia sta' operando su siti esteri di giochi d'azzardo. Ma chi mi garantisce allora che io sia veramente navigando su un sito vero e non su un'altro?

Detto questo non scambiatemi per uno che vuole far casino per nulla, vorrei ricordarvi pero' che la rete e' nata per scopi di ricerca, e per quanto mi riguarda la mia ricerca sta' nello studiare informatica. Come posso studiare il funzionamento di altri sistemi, come NETBSD o Linux se mi negate uno scaricamento veloce?
Come dite...? aspetta un po di più davanti alla barra di avanzamento di firefox?
Mi spiace ho, come tutti, una vita che prevede altre cose oltre che aspettare una barra di avanzamento e lo scaricamento di una ISO.

Ciao Piero