Saturday, August 27, 2011

All the best Mr. Jobs, and...

... One More Thing!

Thank you for all incredible products Apple made until now.
May be in the next years we will see a new revolutionary generation: the "Not Windows's children". People that didn't think that it is normal that a PC (or post PC device) hangs sometime and it is normal to format it! People that didn't think that PC = Windows!

Standford University.
This is a prepared text of the Commencement address delivered by Steve Jobs, CEO of Apple Computer and of Pixar Animation Studios, on June 12, 2005.


I translated it for my friends. Find here the original version.

Sono onorato di essere qui con voi oggi alle vostre lauree in una delle migliori università del mondo. Io non mi sono mai laureato. Anzi, per dire la verità, questa è la cosa più vicina a una laurea che mi sia mai capitata. Oggi voglio raccontarvi tre storie della mia vita. Tutto qui, niente di eccezionale: solo tre storie.

La prima storia è sull'unire i puntini.

Ho lasciato il Reed College dopo il primo semestre, ma poi ho continuato a frequentare in maniera ufficiosa per altri 18 mesi circa prima di lasciare veramente. Allora, perché ho mollato?

E' cominciato tutto prima che nascessi. Mia madre biologica era una giovane studentessa di college non sposata, e decise di lasciarmi in adozione. Riteneva con determinazione che avrei dovuto essere adottato da laureati, e fece in modo che tutto fosse organizzato per farmi adottare fin dalla nascita da un avvocato e sua moglie. Però quando arrivai io loro decisero all'ultimo minuto che avrebbero voluto adottare una bambina. Così quelli che poi sono diventati i miei genitori adottivi e che erano in lista d'attesa, ricevettero una chiamata nel bel mezzo della notte che gli diceva: "C'è un bambino, un maschietto, non previsto. Lo volete voi?" Loro risposero: "Certamente". Più tardi mia madre biologica scoprì che mia madre non si era mai laureata al college e che mio padre non aveva neanche finito il liceo. Rifiutò di firmare le ultime carte per l'adozione. Poi accetto di farlo, mesi dopo, solo quando i miei genitori adottivi promisero formalmente che un giorno io sarei andato al college.

Diciassette anni dopo andai al college. Ma ingenuamente ne scelsi uno altrettanto costoso di Stanford, e tutti i risparmi dei miei genitori finirono per pagarmi l'ammissione e i corsi. Dopo sei mesi, non riuscivo a vederci nessuna vera opportunità. Non avevo idea di quello che avrei voluto fare della mia vita e non vedevo come il college potesse aiutarmi a capirlo. Eppure ero là, che spendevo tutti quei soldi che i miei genitori avevano messo da parte lavorando per tutta la loro vita. Così decisi di mollare e avere fiducia che tutto sarebbe andato bene lo stesso. Era molto difficile all'epoca, ma guardandomi indietro ritengo che sia stata una delle migliori decisioni che abbia mai preso. Nell'attimo che mollai il college, potei anche smettere di seguire i corsi che non mi interessavano e cominciai invece a capitare nelle classi che trovavo più interessanti.

Non è stato tutto rose e fiori, però. Non avevo più una camera nel dormitorio, ed ero costretto a dormire sul pavimento delle camere dei miei amici. Guadagnavo soldi riportando al venditore le bottiglie di Coca cola vuote per avere i cinque centesimi di deposito e poter comprare da mangiare. Una volta la settimana, alla domenica sera, camminavo per sette miglia attraverso la città per avere finalmente un buon pasto al tempio Hare Krishna: l'unico della settimana. Ma tutto quel che ho trovato seguendo la mia curiosità e la mia intuizione è risultato essere senza prezzo, dopo. Vi faccio subito un esempio.

Il Reed College all'epoca offriva probabilmente la miglior formazione del Paese relativamente alla calligrafia. Attraverso tutto il campus ogni poster, ogni etichetta, ogni cartello era scritto a mano con calligrafie meravigliose. Dato che avevo mollato i corsi ufficiali, decisi che avrei seguito la classe di calligrafia per imparare a scrivere così. Fu lì che imparai dei caratteri serif e san serif, della differenza tra gli spazi che dividono le differenti combinazioni di lettere, di che cosa rende grande una stampa tipografica del testo. Fu meraviglioso, in un modo che la scienza non è in grado di offrire, perché era artistico, bello, storico e io ne fui assolutamente affascinato.

Nessuna di queste cose però aveva alcuna speranza di trovare una applicazione pratica nella mia vita. Ma poi, dieci anni dopo, quando ci trovammo a progettare il primo Macintosh, mi tornò tutto utile. E lo utilizzammo tutto per il Mac. E' stato il primo computer dotato di una meravigliosa capacità tipografica. Se non avessi mai lasciato il college e non avessi poi partecipato a quel singolo corso, il Mac non avrebbe probabilmente mai avuto la possibilità di gestire caratteri differenti o font spaziati in maniera proporzionale. E dato che Windows ha copiato il Mac, è probabile che non ci sarebbe stato nessun personal computer con quelle capacità. Se non avessi mollato il college, non sarei mai riuscito a frequentare quel corso di calligrafia e i persona computer potrebbero non avere quelle stupende capacità di tipografia che invece hanno. Certamente all'epoca in cui ero al college era impossibile unire i puntini guardando il futuro. Ma è diventato molto, molto chiaro dieci anni dopo, quando ho potuto guardare all'indietro.

Di nuovo, non è possibile unire i puntini guardando avanti; potete solo unirli guardandovi all'indietro. Così, dovete aver fiducia che in qualche modo, nel futuro, i puntini si potranno unire. Dovete credere in qualcosa - il vostro ombelico, il destino, la vita, il karma, qualsiasi cosa. Questo tipo di approccio non mi ha mai lasciato a piedi e invece ha sempre fatto la differenza nella mia vita.

La mia seconda storia è a proposito dell'amore e della perdita

Sono stato fortunato: ho trovato molto presto che cosa amo fare nella mia vita. Woz e io abbiamo fondato Apple nel garage della casa dei miei genitori quando avevo appena 20 anni. Abbiamo lavorato duramente e in 10 anni Apple è cresciuta da un'azienda con noi due e un garage in una compagnia da due miliardi di dollari con oltre quattromila dipendenti. L'anno prima avevamo appena realizzato la nostra migliore creazione - il Macintosh - e io avevo appena compiuto 30 anni, e in quel momento sono stato licenziato. Come si fa a venir licenziati dall'azienda che hai creato? Beh, quando Apple era cresciuta avevamo assunto qualcuno che ritenevo avesse molto talento e capacità per guidare l'azienda insieme a me, e per il primo anno le cose sono andate molto bene. Ma poi le nostre visioni del futuro hanno cominciato a divergere e alla fine abbiamo avuto uno scontro. Quando questo successe, il Board dei direttori si schierò dalla sua parte. Quindi, a 30 anni io ero fuori. E in maniera plateale. Quello che era stato il principale scopo della mia vita adulta era andato e io ero devastato da questa cosa.

Non ho saputo davvero cosa fare per alcun imesi. Mi sentivo come se avessi tradito la generazione di imprenditori prima di me - come se avessi lasciato cadere la fiaccola che mi era stata passata. Incontrai David Packard e Bob Noyce e tentai di scusarmi per aver rovinato tutto così malamente. Era stato un fallimento pubblico e io presi anche in considerazione l'ipotesi di scappare via dalla Silicon Valley. Ma qualcosa lentamente cominciò a crescere in me: ancora amavo quello che avevo fatto. L'evolvere degli eventi con Apple non avevano cambiato di un bit questa cosa. Ero stato respinto, ma ero sempre innamorato. E per questo decisi di ricominciare da capo.

Non me ne accorsi allora, ma il fatto di essere stato licenziato da Apple era stata la miglior cosa che mi potesse succedere. La pesantezza del successo era stata rimpiazzata dalla leggerezza di essere di nuovo un debuttante, senza più certezze su niente. Mi liberò dagli impedimenti consentendomi di entrare in uno dei periodi più creatvi della mia vita.

Durante i cinque anni successivi fondai un'azienda chiamata NeXT e poi un'altra azienda, chiamata Pixar, e mi innamorai di una donna meravigliosa che sarebbe diventata mia moglie. Pixar si è rivelata in grado di creare il primo film in animazione digitale, Toy Story, e adesso è lo studio di animazione più di successo al mondo. In un significativo susseguirsi degli eventi, Apple ha comprato NeXT, io sono ritornato ad Apple e la tecnologia sviluppata da NeXT è nel cuore dell'attuale rinascimento di Apple. E Laurene e io abbiamo una meravigliosa famiglia.

Sono sicuro che niente di tutto questo sarebbe successo se non fossi stato licenziato da Apple. E' stata una medicina molto amara, ma ritengo che fosse necessaria per il paziente. Qualche volta la vita ti colpisce come un mattone in testa. Non perdete la fede, però. Sono convinto che l'unica cosa che mi ha trattenuto dal mollare tutto sia stato l'amore per quello che ho fatto. Dovete trovare quel che amate. E questo vale sia per il vostro lavoro che per i vostri affetti. Il vostro lavoro riempirà una buona parte della vostra vita, e l'unico modo per essere realimente soddisfatti è fare quello che riterrete un buon lavoro. E l'unico modo per fare un buon lavoro è amare quello che fate. Se ancora non l'avete trovato, continuate a cercare. Non accontentatevi. Con tutto il cuore, sono sicuro che capirete quando lo troverete. E, come in tutte le grandi storie, diventerà sempre migliore mano a mano che gli anni passano. Perciò, continuate a cercare sino a che non lo avrete trovato. Non vi accontentate.

La mia terza storia è a proposto della morte

Quando avevo 17 anni lessi una citazione che suonava più o meno così: "Se vivrai ogni giorno come se fosse l'ultimo, sicuramente una volta avrai ragione". Mi colpì molto e da allora, per gli ultimi 33 anni, mi sono guardato ogni mattina allo specchio chiedendomi: "Se oggi fosse l'ultimo giorno della mia vita, vorrei fare quello che sto per fare oggi?". E ogni qualvolta la risposta è "no" per troppi giorni di fila, capisco che c'è qualcosa che deve essere cambiato.

Ricordarsi che morirò presto è il più importante strumento che io abbia mai incontrato per fare le grandi scelte della vita. Perché quasi tutte le cose - tutte le aspettative di eternità, tutto l'orgoglio, tutti i timori di essere imbarazzati o di fallire - semplicemente svaniscono di fronte all'idea della morte, lasciando solo quello che c'è di realmente importante. Ricordarsi che dobbiamo morire è il modo migliore che io conosca per evitare di cadere nella trappola di chi pensa che avete qualcosa da perdere. Siete già nudi. Non c'è ragione per non seguire il vostro cuore.

Più o meno un anno fa mi è stato diagnosticato un cancro. Ho fatto la scansione alle sette e mezzo del mattino e questa ha mostrato chiaramente un tumore nel mio pancreas. Non sapevo neanche che cosa fosse un pancreas. I dottori mi dissero che si trattava di un cancro che era quasi sicuramente di tipo incurabile e che sarebbe stato meglio se avessi messo ordine nei miei affari (che è il codice dei dottori per dirti di prepararti a morire). Questo significa prepararsi a dire ai tuoi figli in pochi mesi tutto quello che pensavi avresti avuto ancora dieci anni di tempo per dirglielo. Questo significa essere sicuri che tutto sia stato organizzato in modo tale che per la tua famiglia sia il più semplice possibile. Questo significa prepararsi a dire i tuoi "addio".

Ho vissuto con il responso di quella diagnosi tutto il giorno. La sera tardi è arrivata la biopsia, cioè il risultato dell'analisi effettuata infilando un endoscopio giù per la mia gola, attraverso lo stomaco sino agli intestini per inserire un ago nel mio pancreas e catturare poche cellule del mio tumore. Ero sotto anestesia ma mia moglie - che era là - mi ha detto che quando i medici hanno visto le cellule sotto il microscopio hanno cominciato a gridare, perché è saltato fuori che si trattava di un cancro al pancreas molto raro e curabile con un intervento chirurgico. Ho fatto l'intervento chirurgico e adesso sto bene.

Questa è stata la volta in cui sono andato più vicino alla morte e spero che sia anche la più vicina per qualche decennio. Essendoci passato attraverso posso parlarvi adesso con un po' più di cognizione di causa di quando la morte era per me solo un concetto astratto e dirvi:

Nessuno vuole morire. Anche le persone che vogliono andare in paradiso non vogliono morire per andarci. E anche che la morte è la destinazione ultima che tutti abbiamo in comune. Nessuno gli è mai sfuggito. Ed è così come deve essere, perché la Morte è con tutta probabilità la più grande invenzione della Vita. E' l'agente di cambiamento della Vita. Spazza via il vecchio per far posto al nuovo. Adesso il nuovo siete voi, ma un giorno non troppo lontano diventerete gradualmente il vecchio e sarete spazzati via. Mi dispiace essere così drammatico ma è la pura verità.

Il vostro tempo è limitato, per cui non lo sprecate vivendo la vita di qualcun altro. Non fatevi intrappolare dai dogmi, che vuol dire vivere seguendo i risultati del pensiero di altre persone. Non lasciate che il rumore delle opinioni altrui offuschi la vostra voce interiore. E, cosa più importante di tutte, abbiate il coraggio di seguire il vostro cuore e la vostra intuizione. In qualche modo loro sanno che cosa volete realmente diventare. Tutto il resto è secondario.

Quando ero un ragazzo c'era una incredibile rivista che si chiamava The Whole Earth Catalog, praticamente una delle bibbie della mia generazione. E' stata creata da Stewart Brand non molto lontano da qui, a Menlo Park, e Stewart ci ha messo dentro tutto il suo tocco poetico. E' stato alla fine degli anni Sessanta, prima dei personal computer e del desktop publishing, quando tutto era fato con macchine da scrivere, forbici e foto polaroid. E' stata una specie di Google in formato cartaceo tascabile, 35 anni prima che ci fosse Google: era idealistica e sconvolgente, traboccante di concetti chiari e fantastiche nozioni.

Stewart e il suo gruppo pubblicarono vari numeri di The Whole Earth Catalog e quando arrivarono alla fine del loro percorso, pubblicarono il numero finale. Era più o meno la metà degli anni Settanta e io avevo la vostra età. Nell'ultima pagina del numero finale c'era una fotografia di una strada di campagna di prima mattina, il tipo di strada dove potreste trovarvi a fare l'autostop se siete dei tipi abbastanza avventurosi. Sotto la foto c'erano le parole: "Stay Hungry. Stay Foolish.", siate affamati, siate folli. Era il loro messaggio di addio. Stay Hungry. Stay Foolish. Io me lo sono sempre augurato per me stesso. E adesso che vi laureate per cominciare una nuova vita, lo auguro a voi.

Stay Hungry. Stay Foolish.

Grazie a tutti.



Wednesday, July 27, 2011

What ODeV is today?

Before flashing our MCU and before debugging the program, we need to write the source code, and develop it working in a team!
Today ODeV is evolving into a development process orund the FCA concept in order to write Firmware Components in a (multi site) team environment.


Eclipse is the Development Environment to access many server side services in a integrated way:
  • SVN is the source code repository.
  • Mantis is the tracker used to con net the team. It is supported by MyLyn Eclipse plugin.
  • The Backup server runs in a separate host. 
And, most important... it's based on Open Source technologies!

Monday, June 6, 2011

FatFS demo coming soon [Updated]


FatFs is a generic FAT file system module for small embedded systems.

I'm working to integrate the Open Source project FatFS in the ODeV framework.


Stefano

[Update]
The demo is available at http://www.stf12.org/developers/FatFS.html

Wednesday, February 23, 2011

The new web site is up and running!

Starting from today I'm moving my developer's experience to the new web site.




It is not a revolution, but just an evolution of all my previous work on embedded firmware development.
The old web site (http://developers.stf12.net/) will be always available because it contains many stuff, it is linked many external sites and... so many people help me to share a few bits of code that... 

The new site is built around the ODeV idea and the Firmware Component Architecture (FCA). It is also a service through its public SVN repository - http://code.google.com/p/stf12/. Start a new project is as simple as checkout all needed component from the repository.

Saturday, February 12, 2011

Incoming mail service down

I (and all people in the STF12.net domain) was not able to receive e-mail from 3th of February due to a problem with MX Records.
All services are now up and running.

Sorry for the inconvenient,
Stefano

Thursday, November 11, 2010

New ST web site => New Broken Link Problem!


All links to the ST Evaluation boards and other material are not working after ST has published its new site.
I'm working to restore those links. Sorry for the inconvenient.

Wednesday, September 1, 2010

Ready for Eclipse Helios



All STM32 based demo are now tested with Eclipse Helios.

I have also added the GNU ARM MBS Plugin support. Each workspace contains now two projects. One is configured as a Makefile project (as usual until now). The other project (which name ends with "_mbs") is configured as a managed build project. This means that the Makefile is automatically managed by Eclipse. Add a source file to the project and Eclipse build it. Use the Settings section of the project properties dialog to modify the build option like compiler optimization and so on.


Both projects share the same source file.

Regards,
Stefano

Friday, August 20, 2010

The Eclipse Managed Build Sytem (MBS)

Wooow! I found an open source Eclipse Plugin that extend the Managed Build System for the CodeSourcery tool-chain. It is a great job. For more information look at the GNU ARM Eclipse Plug-in in this web page.

This plug-in allows to build embedded ARM applications, using the managed project features of Eclipse CDT, i.e. there is no need to manually create and maintain a makefile.

I tested it with my C++ Demo.

Friday, July 30, 2010

It's time for a new evolution in the embedded developers world

How to add more design pattern to FreeRTOS.org? How to make easier the multitasking development? What is the next step in the embedded developers world?

I think that C++ is the answer. The today MCU are powerful enough, in term of memory, to profitable the Object Oriented approach for firmware development.

I'm working at a set of class that expose the FreeRTOS features. This is the first step to develop more design pattern useful to build embedded application.

Look at my demo page Multitasking meets C++ in the embedded world for more details.

...It is only the beginning! :-)

Thursday, February 18, 2010

Formun service down (Updated)

The Forum service (hosted by hostingphpbb.com) is down from many days.

Sorry for the inconvenience.

Stefano

[UPDATE] The service is on... again! :-)

Tuesday, December 22, 2009

The importance of knoledge sharing (one year after)

Ok, it is about one year and a half that I have shared my idea by publishing them on my "A few bits of code" web site.


The number of visit is increasing each month as showed in the above picture. It is not a success story but I'm happy to have had the opportunity to discuss about embedded technology with so many people. Until today I received more than 300 mails and I followed about 100 discussions. Sometime I had the right answer, sometime I didn't success. In each case my know-how is increasing thanks to all these question I received, that focused my attention.

Even if three hundred e-mails is not so much during one year, it is not so easy to reply to all due to this is not my primary work. Many time I received a question more than one time from different people, and I searched in my e-mail to quick find the answer (thank spothlight! ;-). Other time I was so full that I delayed the reply for too long time. I apologize.
For these reason I think that the e-mail is not always the best tool to discuss about my shared bits of code. For these reason I setup the open discussion forum: everyone could access the knowledge in the forum for free. To search for an answer in the forum is more quick than wait for a reply to an e-mail. More over, in the forum we can find more people able to solve a problem better than me! ;-)

So, I definitively suggest to use the forum to ask for support.

All this effort is focused on my idea (that is each day more clear): ODeV. It is both a way to develop embedded application based on the multitasking approach, and a set of tools focused to make this approach easy and based on Eclipse. I hope to release the first ODeV plug-ins in the next year, 2010. :-)


Thursday, April 9, 2009

The ODeV idea (#1)

Look at the following picture.

It shows a debugging session of the STM32 FreeRTOS demo. I use Eclipse (on the left) to debug my firmware... for sure! Let me call it Eclipse1.

But... The most interesting thing happens on the right side of the picture. It is Eclipse (another instance), and it is debugging Eclipse1!!

This is an extension of the debugger I'm working on. This is a piece of the ODeV idea. This is the power of Eclipse.

There are a lot of thing I need to study about the Eclipse Debug Framework, so... I come back to study! :-)

Stefano

Wednesday, March 18, 2009

STM32-P103 board

This post was moved in the forum of the web site: http://developsers.stf12.net

See the A few bits of code forum.

Thursday, February 12, 2009

tiny error

This post was moved in the forum of the web site: http://developsers.stf12.net

See the A few bits of code forum.

Sunday, January 25, 2009

24th January 2009

Happy 25 Birthday Macintosh

128 KB of RAM, 64 KB of ROM; Motorola MC68000 at 8MHz and 500 byte of cache; 400 KB single-sided 3.5 inch floppy drive; built-in one-bit black-and-white 9-inch CRT display with a resolution of 512×342 pixels; 8-bit sampled monaural sound at the 22.25 kHz horizontal blanking rate; Mac OS






Think Different


Tuesday, January 6, 2009

The ODeV idea

Why only two MCU?
Why only manual managed Makefile?
Why long time-consuming debug sessions?
Why not application ad-hoc integrated tools?

The Eclipse revolution takes the power of hi-end software development tools into embedded world. The Eclipse open architecture allows to customize the IDE both, for general embedded multitasking development, and for end-application specific features.

For example I could image a Plug-in to trace the tasks context switch during a debug session, and plot the result in a graphical manner. I could have also a Plug-in displaying a GUI to configure a motor control application (SPEED, PID, etc.) and automatically generate the needed source files.

This is the ODeV idea (http://developers.stf12.net/odev)

I'm working on it. I'm analyzing it. I will update both this post and the web page.

Should you be interested on this idea, or if you would like to contribute to this idea, please don't hesitate to contact me.

Stefano