DNA il segreto della vita... e molto altro!

Solo il 3% della sequenza di basi del nostro DNA contiene tutto quello che serve per descrivere come siamo fatti e come funzioniamo.

L'altro 97% cosa contiene?

E' un mistero!

Gli studi sono in atto, ma la soluzione è ancora molto lontana.

Io ho scaricato la sequenza del DNA umano, messa a disposizione gratuitamente su Internet.

Ho già iniziato a studiarla e penso che in questo 2011 cercherò (nel poco tempo libero che ho) di approfondire le analisi di tale sequenza.

La sfortuna è che ben il 7% del DNA umano ancora non è stato sequenziato e sono proprio le parti iniziali di tutti i cromosomi.

Queste parti dovrebbero essere quelle che contengono la chiave di lettura dell'intero cromosoma.

Spero in futuro di poter avere anche queste parti in modo da avere qualche speranza in più di capire cosa il codice genetico nasconda!

Buon anno 2011!

http://www.alessandropulvirenti.it/scienzanuova/siamo_messag.aspx

 

Simulazione di atomi in 4D - Freeware

A distanza di tanti anni dalla versione precedente, ho finalmente avuto il tempo per realizzare la nuova versione (la 5.0) del programma di Simulazione di atomi in 4D realizzato in WPF 4, Entity Framework 4.0 e .NET 4.0.

E' possibile visualizzare e ruotare in tempo reale atomi e molecole con i rispettivi elettroni che girano intorno ai nuclei degli atomi.

Versione molto bella che viene messa a disposizione gratuitamente!

Per chi vuole scaricarla, si può collegare al mio sito al seguente indirizzo:

http://www.alessandropulvirenti.it/freeware/didattici_simatomi.aspx

Opinioni, suggerimenti e critiche COSTRUTTIVE sono gradite.

Per realizzare questo programma avevo prima utilizzato anche la TPL (Task Parallel Library), ma visto che i calcoli erano relativamente pochi, non si otteneva nessun beneficio.

14 Aprile 2010: OrangeDotNet presentazione Visual Studio 2010

Ciao a tutti,

sono entrato nello staf di OrangeDotNet e il 14 Aprile 2010 abbiamo presentato, all'Università di Catania, il Visual Studio 2010.

Gli speaker sono stati:

1) Vittorio Bertocci venuto direttamente da Redmond (MS USA);

2) Lorenzo Barbieri (MS Italia);

3) Giancarlo Sudano (OrangeDotNet);

4) Laura La Manna (OrangeDotNet).

Prima o poi salirò pure io sul palco, il tempo di prepararmi.

Riporto alcune foto dell'evento:

 

 

Ottimizzare, semplificare, sfruttare fino in fondo le risorse… è sempre un bene?

Io ho iniziato a programmare nel 1987 quando feci un corso di Basic per computer Commodore.

Avevo comprato un “Commodore 128” che aveva 128 KB di memoria divisa in due banchi da 64 KB, uno per i dati e l’altro per le istruzioni.

Quindi risorse ce ne erano veramente poche!

Oggi, leggendo un commento di una persona che elogiava le cose semplici per non dire spartane, mi sono venuti in mente i vecchi tempi in cui le risorse erano poche e si doveva fare i salti mortali per farci entrare di tutto nella poca memoria disponibile.

A distanza di tanti anni, ho rifatto un paio di programmi che avevo già fatto in passato (remoto) e voglio fare un paragone sulle risorse che essi utilizzavano.

 

Vecchio programma

Nuovo programma

Programma

Occupazione

Sistema

Occupazione

Sistema

Programma 1

2,5 KB

Commodore 128

5.000 KB + .NET

Windows 7

Programma 2

450 KB

MS Dos

9.000 KB + .NET

Windows 7

 

Se ci fermassimo a guardare solo l’occupazione (su disco) del programma, vedremmo un peggioramento della situazione che va dalle 20 alle 2000 volte! (senza contare l’occupazione della libreria .NET).

Allora ci si chiede… perché sprecare tutto questo spazio?

Risposta: Per la qualità!

A parte che i nuovi programmi sono più ricchi di funzionalità rispetto a quelli passati, ma a vederli, sono esteticamente tutta un’altra cosa!

E’ come fare il paragone tra un carretto tirato da un asino e una Ferrari!

E’ vero che entrambi ci portano a destinazione, ma non sono la stessa cosa!

E poi, quando un Hard Disk normale, ha una capacità di 1000 GB, lo spreco non sarebbe quello di occuparlo con programmi “Grossi”, ma sarebbe nel lasciarlo vuoto!

E poi diciamocelo francamente, preferisco 1000 programmi belli da 1 GB piuttosto che 1 milione di programmi brutti da 1 MB.

Lo stesso paragone lo si potrebbe fare con le fotografie digitali.

Se prendiamo una foto alla risoluzione di 320 x 240 pixel in 256 colori e ne prendiamo un’altra a 4096 x 2048 pixel a 16 milioni di colori, è vero che entrambe le foto possono riprodurre lo stesso paesaggio, ma la differenza di qualità è notevole!

Quindi, quando il problema delle risorse non si pone, io do la priorità alla qualità e ottimizzo le prestazioni!

Nei pochi casi in cui ci siano stringenti requisiti di risorse, opterò per le funzioni sacrificando l’estetica.

Tutta la discussione è nata dal fatto che qualcuno mi dice che avrei potuto fare il sito con semplice HTML e qualche script, mentre io ho optato per ASP.NET 3.5 e Silverlight 3.0.

E’ vero che non tutti possono vedere le animazioni in Silverlight, però io ho aggirato questo problema duplicando le funzioni anche nei menu.

Forse non a tutti piacerà il mio sito, ma adesso è sicuramente meglio di quello passato.

www.alessandropulvirenti.it

Sito personale: alessandropulvirenti.it

Evoluzione tecnologica... e il mio sito personale

Certe volte ci si chiede se: l'evoluzione rapida delle tecnologie software sia un bene o un male?

  • un male perché ci si ritrova sempre con cose nuove da imparare e neanche il tempo di diventare esperti nella nuova tecnologia che è già superata;
  • un Bene: perché ti permette di fare cose che non era possibile fare prima (con la stessa semplicità).

Comunque...

io resto favorevole a questa evoluzione/rivoluzione tecnologica!

Se ci sarà da correre... correremo!!

Finalmente il mio sito personale è stato aggiornato ad ASP.NET 3.5 e Silverlight 3.

Appena sarà disponibile ASP.NET 4.0 e Silverlight 4 (e il manteiner del mio sito si sarà aggiornato), aggiornerò subito il mio sito personale.

Questa volta voglio restare al passo con i tempi anche per quanto riguarda il mio sito!

Certo... questa tecnologia non l'ho ancora sfruttata a dovere (nel mio sito), ma non importa!

Qui riporto un'immagine: www.alessandropulvirenti.it

Un programma che simula l’Universo!

La scienza utilizza in genere il metodo sperimentale (detto anche: metodo scientifico) per capire il mondo intorno a noi. Esso si compone dei seguenti passi:

1.       Osservazione;

2.       Esperimento;

3.       Correlazione fra le misure;

4.       Definizione di un modello fisico;

5.       Elaborazione di un modello matematico;

6.       Formalizzazione della teoria.

Però questo metodo non sempre è il migliore, dato che, se già partiamo dal primo punto (osservazione) ci accorgiamo che non si può osservare l’infinitamente piccolo e l’infinitamente grande; ma ci sono dei limiti tecnologici, che anche se si spingono sempre più in la, esisteranno sempre.

Le distanze da cui l’uomo può percepire informazioni con la tecnologia odierna, si spingono  da: 10-18 m fino a 1026 m (grandezza dell’universo). 

La fisica odierna suppone che la distanza più piccola che possa esistere e dell’ordine di 10-35 m (Planck) che è ben 100 milioni di miliardi di volte più piccola di quella in cui l’uomo riesce ad agire con la sua tecnologia.

Quindi comprendiamo che,  l’osservazione dei fenomeni a queste distanze, forse non sarà mai possibile.

Einstein ci insegna che, spesso l’osservazione degli eventi della natura, entra in contrasto con le vere leggi che regolano la natura, in quanto esse agiscono in modo diverso a seconda che ci muoviamo di moto uniforme e lento, moto accelerato o moto prossimo alla velocità della luce.

Allora come si possono studiare i mattoni base dell’Universo se non sono osservabili e se osservarli ci potrebbe portare a deduzioni sbagliate?

Semplicemente si può agire al contrario!

Invece di osservare la natura e poi dedurne le leggi, si possono inventare delle leggi e vedere, se da queste si può ottenere un Universo come quello in cui viviamo. E’ un metodo che sfruttano molti scienziati per proporre teorie nuove (ad esempio quella delle stringhe).

Premetto che tutto quello che seguirà in questo post, sono solo supposizioni che devono essere ancora elaborate e raffinate per poter raggiungere un qualche risultato.

Per poter simulare una nuova teoria, utilizzerò una similitudine.

Trasformerò i concetti della fisica, in concetti matematici dei linguaggi di programmazione.

Fisica

Informatica

Particelle

Classi

Forze

Metodi

 

La natura però non è piatta, cioè non è composta solo da particelle e forze che agiscono tutte allo stesso livello di astrazione, ma formano strutture via via più complesse.

Ad esempio:

  • I quark formano le particelle sub-atomiche (protoni, neutroni);
  • le particelle sub-atomiche formano gli atomi;
  • gli atomi formano le molecole;
  • le molecole formano i tessuti, il mare, la terra;
  • i pianeti formano il sistema solare;
  • molti sistemi solari formano le galassie;
  • tante galassie formano un super-ammasso di galassie;
  • tutti i super-ammassi forse formano l’universo (almeno quello visibile);
  • se ci sono più universi, cosa formeranno non lo sappiamo ancora!

Da questo si deduce che ci saranno, nella nostra similitudine, classi che incapsulano altre classi che a loro volta incapsula altre classi e via dicendo.

Chissà se, guardando il tutto sotto l’ottica informatica, molti aspetti della realtà potrebbero essere dedotti più facilmente in quanto non limitati come quelle della fisica, dalle sole osservazioni possibili.

Forse sarà possibile capire se l’azione a distanza esiste, oppure sono le particelle che la realizzano, oppure è lo spazio che si incurva e fa si che i pianeti restino attorno al loro sole e le stelle restino attorno alle galassie.

 

Oggi ho iniziato un programma di simulazione che, utilizzando concetti informatici non direttamente paragonabili a quelli fisici, cerca di ottenere qualcosa di interessante facendo interagire delle classi singole, insiemi ecc.

Durante lo sviluppo del programma mi sta venendo naturale introdurre concetti nuovi che chissà dove mi porteranno?

La prima cosa che ho notato subito è che mi servirebbe un computer con molte CPU (o core) in parallelo e molta, ma molta memoria (con i GB si simula ben poco).

Per adesso sfrutterò quello che ho: una CPU con due core,  4 GB di Ram il tutto fatto girare con Windows Vista 64 bit in modo da poter sfruttare tutta la memoria. Appena avrò dei risultati interessanti ve lo farò sapere.

Se poi qualcuno vuole finanziare questa mia ricerca, fatevi avanti senza spingere.

Informatica e Fisica vanno a braccetto!

Il nuovo acceleratore di particelle del CERN di Ginevra è il Large Hadron Collider (LHC) è la macchina più complessa al mondo, capace di accelerare i protoni (particelle che compongono il nucleo degli atomi) a energie molto elevate (14 TeV: Tetra elettron volt cioè 14.000 Miliardi di elettron volt).

(http://press.web.cern.ch/press/PressReleases/Releases2008/PR02.08E.html)

Per elaborare i dati, che verranno dai milioni di sensori posti nei rivelatori di particelle, si è realizzato il Grid: una rete di computer che trasporta i dati alla velocità di 100 Gbit/s.

LHC  cosa dovrà scoprire?

Principalmente nuove particelle. Scoprire se le forze della natura sono solo le 4 che si conoscono (Forte, debole, elettromagnetica e gravitazionale) e si spera anche altro.

Cosa ci possiamo attendere e cosa invece non verrà scoperto?

Le particelle elementari le possiamo paragonare alle istruzioni del linguaggio macchina dei computer.

Conoscere il linguaggio macchina di una CPU ci permette di prevedere tutti i programmi/elaborazioni che si potranno fare?

Risposta: No!

Però ci indica quali sono le potenzialità di quella CPU.

Facciamo  dei paragoni con i vari linguaggi conosciuti:

Scienza

Linguaggio

Quantità

Realizzano

Informatica

Linguaggio macchina

Qualche centinaio di istruzioni

Programmi

Chimica

Sistema periodico degli elementi

118 elementi

Molecole e tutte le cose fatte di materia

Fisica

Particelle sub-atomiche

24 particelle  

(modello standard)

Atomi e forze

 

Scoprire le particelle elementari della materia e le forze che agiscono su di esse, ci permetterà di scoprire le potenzialità di questo Universo.

La scienza nei prossimi anni farà dei grandi passi avanti, ma si dovranno sviluppare tutte le scienze, in modo che i progressi di una possano aiutare l’altra.

La Fisica si utilizza Computer sempre più potenti per fare passi avanti;

I Computer fanno passi avanti grazie ai processi Fisici che permettono la miniaturizzazione di transistor sempre più piccoli con il risultato di avere computer più veloci e capacità di archiviazione sempre maggiori.

Tutte le scienze agiscono in sinergia, si aiutano a vicenda.

Penso che per spingere il progresso un po’ più avanti servirà anche vedere il mondo con occhi diversi, come fece allora Einstein.

Einstein fece una grande scoperta (la relatività generale e ristretta), ma cancellò i sogni di tutti gli uomini che speravano che un giorno si sarebbe potuto andare in parti distanti della galassia o dell’Universo.

Einstein disse che nessun oggetto può viaggiare a una velocità superiore a quella della luce!

Siccome la galassia più vicina dista 25.000 anni luce e la stessa più vicina a noi dista 4 anni luce, questo fece capire che l’uomo non sarebbe riuscito mai ad andare molto lontano.

Per poter andare in altre stelle e altre galassie, sarà necessario trovare altre leggi della natura che si possono scoprire andando a cercare il linguaggio macchina della materia. Da lì si potrà capire se le potenzialità ci sono (come nel caso della CPU) oppure potremo solo sognarcelo!

Io sono ottimista!

L’informatica per una democrazia sociale

Non mi è mai piaciuta la politica italiana perché, tutte le volte che ho frequentato persone che si interessavano di politica, mi sono accorto che è un ambiente che io definisco: “Inquinato e inquinante!”.

·         Inquinato: perché ci sono persone che s’interessano soltanto di fare gli interessi propri e degli amici loro;

·         Inquinante: perché, anche se ci fosse una persona onesta, essa entrerebbe in un sistema in cui sei costretti a dare per ricevere (es: sei stato eletto tramite i voti che ti abbiamo portato, adesso vogliamo qualcosa in cambio anche noi …).

Quindi mi sono accorto che, per quanto onesto uno sia, sempre qualche piccolo scheletro nell’armadio lo si trova sempre, perché il sistema è guasto (inquinato) e guasta le persone che ci entrano (inquinante).

Vorrei fare delle proposte (non vi preoccupate non mi sono candidato in nessuna lista ):

Elenco qualche problema e l’eventuale soluzione possibile (ognuno proponga la sua):

1)       I politici fanno i loro interessi e qualche favore agli amici perché hanno bisogno dei voti;

2)       il popolo li vota perché spera di ottenere qualcosa in cambio (es: un lavoro).

E’ un circolo vizioso che sta portando ad avere una classe politica della peggiore specie, io la definisco: “Il cancro della società moderna!”.

Soluzione alla 1):

Trasparenza! Tutto quello che i politici fanno durante il loro mandato, lo devono discutere tramite internet con il popolo sovrano. Loro possono solo proporre, se la loro proposta supera un certo consenso popolare, viene poi vagliata dal parlamento. Questo fa si che non vengano emanate leggi che il popolo considera ingiuste. L’unico vincolo, come nei referendum, è quello che il popolo non può votare proposte che tolgano completamente le tasse.

Soluzione alla 2):

Per una equità sociale, propongo che tutti i nuovi posti di lavoro pubblici, nei quali non si richiedano particolari requisiti professionali o culturali (tutti i lavori manuali, ecc.) siano affidati a persone che, avendo i requisiti (idoneità fisica), siano selezionati in base ai bisogni economici reali (genitori disoccupati con figli…). Perché per certi lavori, si può anche evitare di prendere i più bravi, ma si possono prendere i più bisognosi. Questo toglierebbe molti voti ai politici che pensano ad arricchirsi mandando alla rovina il Paese intero!

I problemi da risolvere sono tanti, io ho iniziato con questi due. Che se a prima vista non sembrano i più importanti, penso invece che potrebbero innescare quel circolo VIRTUOSO che porterà a uno Stato migliore!

L’informatica può fare la sua parte garantendo trasparenza e una voce al popolo.

Noi  (quelli che si occupano d’informatica) ci possiamo mettere le competenze tecniche per fare in modo che questo avvenga!

Per un futuro migliore, cerchiamo di portare la democrazia vera in questo Paese.

Lavoro… tra un po’ di nuovo disponibile.

Tra marzo e aprile 2008 finirò un bel progetto che, come dicono le persone a cui ho fatto vedere la versione alpha... , piace parecchio.

I requisiti del progetto sono cresciuti di mese in mese...

 

1) per Windows XP e Vista;

2) sfrutta più monitor contemporaneamente per visualizzare dati diversi;

3) interfaccia 2d e 3D;

4) scambia dati con una versione mini per Pocket PC;

5) ottimizzato per i 32 e i 64 bit;

6) multi-thread per sfruttare le CPU multi-core;

7) con calcolo distribuito su più PC;

8) localizzato in più lingue;

forse farà pure il caffè…

 

Inutile dire che la base dati è su MS SQL Server, ma i calcoli pesanti vengono fatti con i dati in memoria sfruttando le cpu multi-core e più PC collegati in rete.

Il tutto riprogettando da zero un programma di 200.000 righe di codice in C++ e realizzandolo in C# per .NET 3.5.

 

Adesso debbo solo finire alcune parti e rivedere il tutto per migliorarne i vari aspetti:

1)      Semplicità d’uso;

2)      Robustezza agli errori;

3)      Correttezza dei risultati;

4)      Espandibilità…

5)      Ecc.

 

Questi sono tutti aspetti presi in considerazione sin dall’inizio del programma, ma adesso verranno vagliati da vari tester e clienti…

 

Finito questo lavoro, salvo ulteriori richieste, tornerò a essere a disposizione di altri committenti.

(L’abbonamento a MSDN con VS 2008 non l’ho mica fatto per giocare ).

 

Quindi, questo vuole essere un annuncio di lavoro.

 

Sono disponibile per lavori a progetto (ovunque) o a tempo indeterminato (nella provincia di Catania) principalmente per programmi in .NET  o in C / C++ / Java.

 

Sono disponibile sia per nuove applicazioni da progettare da zero che, per il porting a Windows XP/Vista di vecchie applicazioni (realizzate con tecnologie antiquate).

 

La mia disponibilità è da marzo / aprile 2008.

Buon Natale e felice anno nuovo!

Ho scritto questa poesia, anche se non sono un poeta.

 

Buon Natale... Gesù bambino

che ogni anno ci sei vicino.

Dai tuoi tempi che sono andati

più di due mila ne son passati.

Tutta la tua considerazione

per tutte quante le persone.

 

 

Sai… la nuova generazione…

nasce con molta la presunzione!

Tutto voglion fare

anche la vita modificare!

Ci hai dato questa possibilità…

ma la sapremo usare con umiltà?

Prendono il posto del creatore

senza la sapienza del genitore!

 

 

Il tempo passa... e ne è passato assai

ma l'uomo resta... quello che sai

I tiranni e i traditori

sono sempre i conduttori

di un popolo somaro

ignaro della direzione

a cui ci porterà questa situazione.

 

 

Buon natale ai preparati…

a quelli studiati,

ai dotati d'intelletto,

usato come scendiletto!

leccaculo diventati

dal potente calpestati!

 

 

Buon Natale anche a te

che sogni di diventare un re

un re giusto buono e caro

che assicuri un riparo

per ogni uomo senza denaro

 

 

Ci saranno giorni belli,

ma non saranno solo quelli…

i giorni bui affrontati

saranno molto limitati.

 

 

Il tempo passa e un giorno sai

ci troveremo in un bivio ormai

Io voto i creatori, gli inventori e i pensatori

tutti attori e non spettatori,

gente sana d'intelletto

per un futuro perfetto!