Archivi annuali: 2012

Carnevale della matematica: lettera ai miei studenti demotivati


Bignami del percorso di vita di un informatico/elettronico/cuoco e molte altre cose che mi divertono.

L’argomento del 45° Carnevale della matematica: “Teoria della computazione, storia del pc e dintorni”, ha creato in me un flashback che mi ha ricordato il modo con cui io ho vissuto l’evoluzione dell’informatica. Ricordo il ragazzino che guardava attraverso le vetrine delle nascenti software house, allora piccoli negozietti dove oltre alla vendita dei primi computer e software ci si ritrovava per sperimentare “vero smanettamento” saldatore stagno e programmazione. Ricordo gli occhi sbarrati su uno Sinclair ZX81 che poi mi fu regalato per la comunione e ancora uno dei miei primi programmi su di esso realizzati, un Arkanoid. Ricordo la meraviglia di programmare in basic su un Apple II o ancora l’emozione di usare un’interfaccia grafica e un mouse su un Macintosh 128… quanto tempo è trascorso da allora
… e quanto vidi la prima pagina web

basta altrimenti divento mieloso…

tutto ciò per dire che la meraviglia e la scoperta ha guidato la mia crescita, anche informatica. Allora si aveva, almeno io, la percezione di vivere un momento importante per la storia della tecnologia informatica, studiare all’università sugli RFC scritti pochi anni prima, in alcuni casi mesi prima, documenti su cui venivano riportate nuove ricerche e innovazioni in campo informatico che poi, vagliate da altri enti, potevano diventare degli standard ad esempio la suite dei protocolli di rete TCP/IP. Tutto ciò dava la sensazione di essere sulla cresta del sapere informatico.

E quella meraviglia e quella voglia di scoperta, dal click del primo mouse allora, alla programmazione su un iPhone oggi, mi ha sempre costretto (piacevolmente) a pormi domande e sperimentare, questo è stata la salvezza per il mio cervello che mi ha permesso negli anni di fare lavori che mi soddisfavano anche economicamente.
Oggi sono anche insegnante ed ho la presunzione di dire (mi viene dall’età… perdonate) che tutto ciò che serve per raggiungere i propri obiettivi sono solo 3 cose:

1. meraviglia e voglia di scoperta
nulla di più!

non esiste nulla di complicato, tutto è scritto, tutto è codificato è necessario solo un po’ di tempo per capire ed unire i tasselli che completano il quadro, costa fatica lo so, ma se vi fa sentire esploratori, ricercatori… smanettoni vi riempirà di gioia e la fatica scomparirà.

Questo il primo insegnamento che ogni volta cerco di trasmettere ai miei allievi.

Capito questo il secondo passo è più complicato:

2. umiltà di capire di non sapere

L’arroganza è un male diffuso e va sconfitto solo con un insegnamento intelligente che si acquisisce con l’esperienza e con i consigli dei buoni maestri… ma soprattutto con tante “bastonate” psicologiche ricevute durante la vita.

3. precisione e pignoleria

E’ una fase semplice basta eseguire ed analizzare ogni passo (andare a passo uno) del proprio processo di apprendimento analizzandone ogni aspetto, solo in questo modo si può poi raggiungere la visione d’insieme, quella dell’intero progetto.

Nota:
questo tipo di attegiamento ci salva contro il potenziale arrogante il classico “so far tutto io e tu non capisci nulla” essere umano che purtroppo si riproduce velocemente.
Quando acquisite precisione ma anche pignoleria avrete la sensazione di Neo, l’eletto di Matrix, quando scopre di riuscire a dominare la matrice… sarete in grado di dominare il vostro sapere.
Ricordate che tutto ciò potrebbe crearvi qualche problema relazionale, molte persone hanno paura dei “dominatori della matrice” non amano che gli si faccia notare di essere superficiali, soprattutto perché sanno di esserlo, sanno che siete persone precise e per questo potrebbero odiarvi e crearvi problemi, ma tanto se avrete compreso i passi 1, 2, 3 gli arroganti vi “faranno un baffo” avrete già “dominato la matrice“. Per capire l’arrogante e la sua stupidità vi consiglio di leggere queste 20 pagine:

Le leggi fondamentali della stupidità umana – Carlo M. Cipolla

vi servirà, disegnerete meglio i vostri programmi di vita.

Non serve altro!

Credo chè questo tipo di approccio al sapere, molto pragmatico ed analitico possa risolvervi molti problemi, come ad esempio:

  • mancanza di voglia di studiare
  • depressione da insuccesso scolastico
  • odio nei confronti dell’incapace che non sa insegnare
  • mancanza di denaro
  • i problemi del branco, ovvero i problemi relazionali tra adolescenti in cui molto spesso non è l’intelligenza a guidare le azioni di gruppo ma “l’istinto riproduttivo”.

Ma cosa centra tutto ciò con l’informatica?
Questa è informatica!

Questi 3 passi vengono prima delle strutture IF THEN ELSE, dei WHILE o delle CLASSI, senza queste tre regolette nessun programma, anche di vita, non potrà funzionare, mettetela così sono gli include da inserire prima di ogni cosa quelli che ho chiamato i “life include”:

#include (meraviglia.h)
#include (precisionePignoleria.h)
#include (umilta.h)

tutti i .h sono definiti da un’altra parte, come giusto che sia e potrete perfezionarli e migliorarli ogni volta durante la vita, tanto sono inclusi ogni volta nel vostro nuovo progetto di vita, vedrete il programma funzionertà 🙂

E queste quattro righe di programmazione dovevano concludersi a questo punto, ma poi mi son ricordato di un paio di estensioni di sistema che a me son sempre servite…

Le New frontiers function

04. rendete Open Source il vostro modo di apprendere e lavorare

Durante la vita mi sono accorto che i 3 include che inserivo in ogni progetto molto spesso non erano sufficienti, alcune volte i processi generati creavano situazioni di deadlock, ovvero quella situazione che si viene a creare quando due o più processi si bloccano aspettando che uno esegua una certa operazioni che serve anche all’altro e viceversa.
Capita sempre, le tue scelte hanno delle dipendenze o meglio sono funzioni che si aspettano dei valori passati da altre funzioni, funzioni molto spesso non realizzate da voi e mal progettate… la vostra vita dipende dalle scelte di altri, collaborate e condividete il più possibile eviterete che i processi di vita si blocchino aspettando “valori” che mai arriveranno.
I migliori risultati li otterrete condividendo la vostra conoscenza, non abbiate paura e inevitabile che qualcuno vi ruberà delle idee, ma la vostra apertura mentale sarà in grado di costruirne altre 100 e le migliori saranno quelle che nascono dalla condivisione con altre persone.

Quindi:
#include (openSorce.h)

05. sognare non è un errore

aggiungete:
#include (dream.h)

Ricordate ogni giorno di rivedere il codice all’interno di dream.h, all’interno aggiungeteci una funzione casuale che attinge dalle vostre esperienze passate, quando eseguite il programma potreste ottenere un’esplosione frattale fatta di idee inaspettate e stupende.

Bene!
Per programmare è indispensabile incominciare bene, impostate:

#include (meraviglia.h)
#include (precisionePignoleria.h)
#include (umilta.h)
#include (openSorce.h)
#include (dream.h)

Sognate, programmate e costruite ragazzi!
E la cosa più bella.

Tai nasha no karosha (vulcaniano)
Lunga Vita e Prosperità (italiano)
🙂

In preordine i il kit KT6 dei Cubelets

Ricordate i Cubelets, i blocchetti magnetici con diverse funzionalità che collegandoli insieme in diverse configurazione è possibile realizzare dei robot senza l’esigenza di collegamenti con fili e programmazione? Avevo dato notizia qualche tempo fa della vendita dei primi 100 kit al pubblico.

Da oggi è possibile effettuare il preordine del kit costituito da 6 blocchetti per tutti, senza limitazione di numero, con consegna entro il 10 di aprile.

Per tutte le informazioni si consulti il sito.

In allegato un nuovo video di presentazione del prodotto:

Cubelets! from eric schweikardt on Vimeo.

Libro Primi Passi con ARDUINO + Scheda Arduino UNO

Ricevo la segnalazione da Futura Elettronica dell’interessante offerta: Set composto dalla scheda Arduino Uno Rev3 e dal libro “Primi passi con Arduino” con il quale potrete apprendere le basi di Arduino. Il tutto a € 29,90 e rispamiando € 4,50 sul prezzo di acquisto della sola scheda Arduino Uno Rev3 e del libro.

Per maggiori informazioni seguite il link.

Un’orchestra fatta di floppy drive

Non uso un floppy da parecchi anni e qualche mese fa, durante il trasloco della succursale della scuola presso cui attualmente lavoro, ho ritrovato una scatola di vecchi floppy da 5″ 1/4, ovviamente li ho messi da parte per il mio piccolo museo di antichità informatiche 🙂
Ma l’archeologo informatico ha anche trovato, prima delle vacanze natalizie, in unvecchio armadio scolastico, una grande quantità di floppy drive, recupareti negli anni da PC rotti; ma cosa farne di tutti quei floppy drive?
I motorini interni sono ottimi per  effettuare sperimentazioni con Arduino, però si potrebbe realizzare qualcosa di molto creativo ed il suggerimento potrebbe essere quello della Floppy Drive Orchestra realizzato da Silent’s Homepage (via hackaday) e come se non bastasse all’orchestra è stato aggiunto una grande matrice di led che mostra messaggi natalizi.

Cosa fa un gruppo di amici il primo dell’anno?

Cosa fa un gruppo di amici, compagni di università, smanettoni hardware e software dalla nascita la mattina del primo dell’anno?
Colazione a mezzogiorno, passeggiata per i monti… mangiata alle 15… caffé e “smanettamento” puro con l’elettronica per sistemare il termostato GSM dell’amico Sax…
si lo so si potrebbe fare altro ma siamo fatti così 🙂

Oggi ho avuto occasione di vedere la versione 2 del progetto termostato GSM realizzato da Alex, un gran bel lavoro, rispetto alla prima versione, diverse migliorie sia sull’elettronica che sul software.
Originalissima la funzione di watchdog realizzata con un NE555 in configurazione astabile.

Ci sono moltissi occasioni in cui é indispensabile effettuare un reset della vostra scheda: crash, loop infiniti, ecc…
Il circuito che effettua questo tipo di reset prende il nome di “watchdog” (cane da guardia) ed é un circuito elettronico, indipendente dalla vostra scheda Arduino, che controlla costantemente lo stato della vostra applicazione e rileva se qualcosa va storto, in tal caso effettua un reset della scheda per farla ripartire.

Per la spiegazione dettagliata leggete l’ultimo post su play with ArduinoArduino Hardware Watchdog

Buon divertimento 🙂