Con l'entrata del 2016 mi avvicino ormai ai 40.. chi ha più o meno la mia età ricorderà sicuramente
i vecchi televisori degli anni '80..Quando non si accendevano più l'unica alternativa era
chiamare il 'tecnico'...
Ricordo ancora l'odore dei condensatori che saltavano, il 'tecnico' che arrivava apriva la TV, faceva qualche misura, controllava gli schematici (allora a pagamento) e sostituiva il componente guasto... io lì a guardare curioso ed affascinato allo stesso tempo.
Dopo l'università o già quando studiavo spesso mi chiedevano, 'Ok ti sei laureato in ingegneria.. ma una TV la sai riparare?'
Bene, i miei figli da un pò di tempo amavano giocare con i tasti laterali della TV Samsung di casa.. ieri sembrava impazzita: sorgenti decoder/lettore DVD che cambiavano in continuazione, menù che si aprivano e si chiudevano da soli... così ho pensato.. dovrò portarla in assistenza..
Dopo aver fatto qualche prova con i telecomandi che avevo, nemmeno più la regolazione del volume funzionava, mi sono detto... 'ok apriamola'...
E' bastato un cacciavite... apro.. poche schede, lo stadio di alimentazione, un mega LCD collegato con un flat... e guardando bene cosa vedo, l'alimentazione del tastierino laterale con cui giocavano i miei figli... 'ok la bypasso'..
Rimontato tutto, la TV ha ripreso a funzionare, ok sono vincolato ad usare sempre il telecomando, ma, in perfetto stile ingegneristico, funziona..
Caro tecnico che sostituivi condensatori su condensatori.. benvenuto nell'era del digitale... anche noi ingegneri nel 2016 sappiamo riparare i televisori... :-)
Science In Computing
Embedded Engineering diaries... and beyond
Thursday, January 7, 2016
Monday, October 6, 2014
Trend Italiani.. in cucina e oltre
Una mia cara amica sta prendendo parte all'ennesimo programma
di cucina in TV, apparecchio che ultimamente utilizzo molto poco.
Mi ha parlato tanto di questa partecipazione.. decido di guardarlo.
Di base, ammetto la mia limitatezza nel non riuscire a vedere Canova,
Leopardi, Van Gogh o Freddy Mercury in un piatto di maccheroni,
quindi faccio effettivamente fatica a parlare di 'arte in cucina',
come invece si fa all'interno di questo programma.
Eppure nelle Università italiane insegnano 'Scienza dell'alimentazione',
quindi mangiare è arte o scienza?
E serve la laurea o un diploma per cucinare? E per mangiare?
Se vogliamo il cibo può essere ridotto, oltre naturalmente
ad un bisogno fisiologico dell'uomo, a biochimica mista a neurodinamica,
vista l'innegabile (fMRI alla mano) 'stimolazione emozionale' che avviene
a livello neuronale in seguito ad un piatto ben riuscito..
Quindi si tratta di questo? Miscelare i giusti ingredienti per soddisfare ed
emozionare? Quindi questa è arte?
Non dovrebbe trattarsi di espressione estetica dell'interiorità dell'artista?
Dov'è qui il pensiero dell'artista?
Ma soprattutto in programmi del genere non vedo artisti.. ma 'colonnelli' che
ricevono cori di 'Sì, Chef!', che impartiscono flessioni per una cottura
sbagliata e si permettono di essere sempre sgradevoli e sprezzanti nei
confronti di chi comunque ha cercato di cucinare un piatto come meglio
poteva, non capisco bene questa 'militarizzazione' della cucina.
Personalmente sono cresciuto con i piatti buonissimi di mia Nonna, la quale
mi diceva sempre.. 'Cucino con amore'.
Verissimo, oggi riesco a capire cosa intendesse dire, preparare un buon piatto
ai propri figli o ai propri nipoti tutti i giorni, cercando di portare il buonumore in
casa, discutendo e confrontandosi a tavola, parlando del più e del meno,
dialogando, crescendo.
Non c'è amore in queste trasmissioni o nel messaggio che vogliono trasmettere,
perché non c'è messaggio.
Non c'è arte, perché c'è una falsa ricerca della perfezione che è all'antitesi
dell'imperfetta arte.
Non c'è arte perché non c'è una vera cultura, nel senso di un 'pensiero'
che porti 'lacrime e brividi'..
Forse parecchie di queste persone farebbero meglio a spegnere i fornelli, e tornare,
oltre alle buone maniere e ad essere più umili, a leggere buoni libri, ad 'ascoltare'
e ad apprezzare artisti 'veri', passati e presenti, che ci hanno fatto crescere e che
soprattutto continuano ad 'elevarci', al di fuori del tempo e dello spazio,
come esseri umani 'pensanti', nel senso antropologico o se mi
permettete 'paleontologico' del termine.
Quindi che aspettate, spegnete la TV, aprite finalmente un 'buon' libro e..
'Buon Appetito', cari 'artisti'.
Wednesday, April 23, 2014
Daemon for Disk Usage on Linux Servers
Recently a friend of mine asked me something to periodically monitor the Disk Usage of
a Linux Server...
Well, actually I'm not doing System Administration, and there are a lot of tools/script
out there on the Internet which can do the work for you, but..
true Engineers can't resist in 'Reinventig the wheel' :-)
This is a part of a Script which I wrote some years ago... surely It's something that
should need a good refactoring for a more general usage, but It can give you an idea
of what to do....
Yes, It's the famous 'write-only' Perl... It needs no libraries... to use it like a daemon
you just have to make some modifications to the code and put it in your crontab file...
enjoy it! :-)
#!/usr/bin/perl
#Threshold set
$GlobalDiskLimit=1000000; #1GB
#SendMail (pass Problem Kind and Value)
sub Send_Mail
{
my $Problem=shift;
my $Value=shift;
open (MAIL,"|/usr/sbin/sendmail -t");
print MAIL "To: youremail\@youremail\n";
print MAIL "Subject: ALERT ALERT!\n";
print MAIL $Problem . ": " . $Value . "\n";
close (MAIL);
}
#Query Disk Space (pass Disk number)
sub Disk_Query
{
my $DiskNumber=shift;
my $DiskCounter=0;
my @Disk=`df -t ext3 -l`;
my $line, $Available;
#Scan output
DISKSCAN: foreach $line (@Disk)
{
$line =~ /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/;
($_,$_,$_,$Available,$_,$_)=($1,$2,$3,$4,$5,$6);
last DISKSCAN if($DiskCounter==$DiskNumber);
$DiskCounter++;
}
return $Available;
}
#Scan for Disk ALERT
sub Scan_Disk
{
my $DiskAlert="Disk Alert";
my $ActualSpace=Disk_Query(1);
if($ActualSpace<$GlobalDiskLimit)
{
Send_Mail($DiskAlert,$ActualSpace);
}
}
#Main
Scan_Disk();
a Linux Server...
Well, actually I'm not doing System Administration, and there are a lot of tools/script
out there on the Internet which can do the work for you, but..
true Engineers can't resist in 'Reinventig the wheel' :-)
This is a part of a Script which I wrote some years ago... surely It's something that
should need a good refactoring for a more general usage, but It can give you an idea
of what to do....
Yes, It's the famous 'write-only' Perl... It needs no libraries... to use it like a daemon
you just have to make some modifications to the code and put it in your crontab file...
enjoy it! :-)
#!/usr/bin/perl
#Threshold set
$GlobalDiskLimit=1000000; #1GB
#SendMail (pass Problem Kind and Value)
sub Send_Mail
{
my $Problem=shift;
my $Value=shift;
open (MAIL,"|/usr/sbin/sendmail -t");
print MAIL "To: youremail\@youremail\n";
print MAIL "Subject: ALERT ALERT!\n";
print MAIL $Problem . ": " . $Value . "\n";
close (MAIL);
}
#Query Disk Space (pass Disk number)
sub Disk_Query
{
my $DiskNumber=shift;
my $DiskCounter=0;
my @Disk=`df -t ext3 -l`;
my $line, $Available;
#Scan output
DISKSCAN: foreach $line (@Disk)
{
$line =~ /(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)/;
($_,$_,$_,$Available,$_,$_)=($1,$2,$3,$4,$5,$6);
last DISKSCAN if($DiskCounter==$DiskNumber);
$DiskCounter++;
}
return $Available;
}
#Scan for Disk ALERT
sub Scan_Disk
{
my $DiskAlert="Disk Alert";
my $ActualSpace=Disk_Query(1);
if($ActualSpace<$GlobalDiskLimit)
{
Send_Mail($DiskAlert,$ActualSpace);
}
}
#Main
Scan_Disk();
Tuesday, December 17, 2013
Time Capsule - Part I
Speaking with some friends of mine.. I was wondering what I should have put in
a Time Capsule, like the one used from people in the American High School....
It was 1989 when I received my first Computer, a Commodore 64.
I started playing games as every child of my age, but in few times I started
studying Basic and Assembler Manuals, Electric Schemes, everything
that could let me better understand what was inside the box.
No, at the age of 10 I could not understand Commodore Electric Schemes :-), but
I was really fascinated by them, and moved by a strange 'force' that still
today I'm unable to totally explain.
What should move a young boy to study programming instead of playing games?
'Hacking Spirit', I could try to answer today.
I started to work on some routines to speed up the bootloading
of some games on my 1541-II floppies and to explore al the
possible combinations of PEEK and POKE instructions to full
control my C=64.
I also wrote some starfields with something like a 'USS Enterprise' moving into them.
Yes, In that period Star Trek TOS was what I prefered on the TV instead of Cartoons,
but that's another story.. :-)
One day arrived the second object (after the C=64 of course) that I should have put
in my Time Capsule: a 1200 baud Modem :-)
I'll speak about it in the second part of my post...
a Time Capsule, like the one used from people in the American High School....
It was 1989 when I received my first Computer, a Commodore 64.
I started playing games as every child of my age, but in few times I started
studying Basic and Assembler Manuals, Electric Schemes, everything
that could let me better understand what was inside the box.
No, at the age of 10 I could not understand Commodore Electric Schemes :-), but
I was really fascinated by them, and moved by a strange 'force' that still
today I'm unable to totally explain.
What should move a young boy to study programming instead of playing games?
'Hacking Spirit', I could try to answer today.
I started to work on some routines to speed up the bootloading
of some games on my 1541-II floppies and to explore al the
possible combinations of PEEK and POKE instructions to full
control my C=64.
I also wrote some starfields with something like a 'USS Enterprise' moving into them.
Yes, In that period Star Trek TOS was what I prefered on the TV instead of Cartoons,
but that's another story.. :-)
One day arrived the second object (after the C=64 of course) that I should have put
in my Time Capsule: a 1200 baud Modem :-)
I'll speak about it in the second part of my post...
Tuesday, November 26, 2013
Soft error
So you're in your Lab integrating your Software Module on a brand new System.
In Embedded Engineering sometimes SW can be useful to debug/validate new
hardware components and people from the hardware division knows it
very well :-)
Using your 'old and validated' protocol on a simple RS-232 it seems that
data coming from sensors are 'slow'.
Hardware division says... 'It's a Software Problem' :-)
Ok, let's see it.
You connect the JTAG on the Micro, launch your debugger, put a break point
in your 'old and validated' protocol.. dump the buffer coming from
the RX channel and... hey wait...
Data coming from sensors should be 0xAFCED0... but periodically I see....
0xAECED0.... it seems there is a bit-flip and the CheckSum routine is
throwing away data...
I simply move the cable connector and... now data arriving at the right frequency..
'Software problem'... uh? :-)
Perhaps you mean 'Soft', not 'Software'... http://en.wikipedia.org/wiki/Soft_error
Don't Trust Hardware :-)
Monday, November 25, 2013
Are you John Carmack? :-)
... if not (He is a genius) please use #define in your code. (*) :-)
Look at this:
AbsAcc = fabs(sqrt(AXB*AXB + AYB*AYB + AZB*AZB) - 0.04903325
What is '0.04903325'.... ? Perhaps some months ago you knew it but now.... its LOST... so something like:
#define DV_FOR_GRAVITY (0.04903325)
Could be a good choice... :-)
Please: 'for each unusual constant in your code, use define' (!).
(*)
http://stackoverflow.com/questions/1349542/john-carmacks-unusual-fast-inverse-square-root-quake-iii
Look at this:
AbsAcc = fabs(sqrt(AXB*AXB + AYB*AYB + AZB*AZB) - 0.04903325
What is '0.04903325'.... ? Perhaps some months ago you knew it but now.... its LOST... so something like:
#define DV_FOR_GRAVITY (0.04903325)
Could be a good choice... :-)
Please: 'for each unusual constant in your code, use define' (!).
(*)
http://stackoverflow.com/questions/1349542/john-carmacks-unusual-fast-inverse-square-root-quake-iii
Subscribe to:
Posts (Atom)