mercoledì 22 marzo 2017

Retrocomputing estremo su Olivetti Programma 101

Retrocompunting "estremo" nel senso che piu' indietro di cosi' nel tempo si deve tirare fuori il regolo calcolatore.....

La prima volta che ho sentito parlare della Programma 101 e' stato leggendo un libro sulle missioni lunari Apollo in cui si parlava di un calcolatore prodotto da Olivetti in grado di calcolare le traiettorie e le orbite..un calcolatore delle dimensioni di una macchina da scrivere nell'epoca dei calcolatori grandi come stanze.

In molti siti viene definito come il primo personal computer ma forse la definizione piu' giusta e' la prima calcolatrice programmabile che si puo' tenere sul tavolo. Qualcuno ha definito che la programmazione e' simile all'assembler ed in effetti tutto si basa sulla manipolazione di registri

Ho provato a scrivere un paio di programmi ovvero il calcolo del teorema di Pitagora e la successione di Fibonacci utilizzando l'emulatore Unicas
Prima di avviare il programma viene mostrato il listato del programma

Teorema di Pitagora
Una volta avviato il programma si devono inserire i due argomenti e cosi' si ottiene il risultato.
Nel video sono stati calcolate due terne pitagoriche 3,4,5 e 5,12,13



Serie di Fibonacci
Il programma gira fino a quando la macchina va in overflow (intorno al 97° numero della successivo di Fibonacci)


PS: ops...nel test di Fibonacci ho lasciato il selettore delle posizioni decimali a 2 limitando quindi il numero di risultati calcolabili

lunedì 20 marzo 2017

SSD su MacBook A1278

Mi sono stufato di aspettare il boot del mio Mac ed ho fatto la migrazione verso un disco SSD (passando da un disco rotante da 1 Tera ad un SSD da 250 Gb)

Si inizia con la parte hardware


Il disco e' fissato da due barrette di plastica. Basta smontare 2 viti della barrette piu' lontana dal bordo per rimuovere il disco (attenzione al flat cable che e' nascosto sotto il disco)




Prima di montare il nuovo disco si devono prendere le 4 viti dal bordo. Non sono riuscito a capire quale e' il tipo della testa della vite ma con una torx di piccolo diametro si puo' togliere


Il disco sostituto e' un Samsung 850 EVO....non un entry level...non un top di gamma



Si rimonta tutto e la parte hardaware e' finita.

In precedenza allo smontaggio e' bene crearsi un chiavetta USB di boot con il sistema operativo come indicato dalle indicazioni riportate a questo link
In estrema sintesi si scarica l'installer da Apple Store e poi si lancia il comando (per Sierra)

sudo /Applications/Install\ macOS\ Sierra.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume --applicationpath /Applications/Install\ macOS\ Sierra.app 

Al termine della copia si riavvia il computer con il tasto Shift premuto e si seleziona la chiavetta USB come dispositivo di boot




Al primo riavvio e' necessario avviare il trim da consolle

sudo trimforce enable

Adesso, essndo partiti da un disco di un Tera ed avendo un disco da 250 Gb, e' possibile ripristinare il tutto da Time Machine. Si puo' comunque connettere il disco Time Machine, montarlo come una normale unita' esterna e selezionare Latest per copuare i file

In definitiva una operazione abbastanza indolore risolta nel giro di un pomeriggio

Riparazione Technics SL-BD21

Avendo un po' di tempo, ho ritirato fuori il vecchio progetto di convertire in digitale qualche LP in vinile che e' disponibile in altro formato.
Per questo motivo ho collegato la mia vecchia piastra giradischi Techinics SL-BD21(vecchia nel senso che e' stata comprata nel 1985.....) scoprendo che la trasmissione a nastro era oramai distrutta






La cinghia di trasmissione e' soltanto un elastico e, non pensando di ritrovarla nuova, ho provato a tagliare a misura un comune elastico. Esperimento fallito. Con gli elastici e' impossibile e' quasi impossibile ottenere la giusta tensione e quindi il disco suona od al di sotto di 33 rpm oppure procede a strappi. Oramai quasi rassegnato a comprare una nuova piastra ho trovato su Amazon il ricambio della cinghia

In verde l'elastico di prova, in nero la cinghia di trasmissione di fabbrica

Sostituire la cinghia e' lavoro di 5 minuti e senza attrezzi. Basta prendere la piastra ruotante, sollevarla e ribaltarla. A questo punto si mette la cinghia sulla circonferenza intera


Si rimette il tutto a posto e si fa coincidere la finestrella con il pignoncino della trazione. Poi con molta cautela si tira la cinghia e la si fa scorrere sull'esterno del pignone.


mercoledì 15 marzo 2017

Video per lezione di geologia a bambini di scuola elementare

Alla scuola non e' permesso l'utilizzo dell'acido cloridrico. Per questo motivo ho fatto questo video


Mini web server con Intel Edison

Una piccola guida per installare un web server con PHP su Intel Edison


Si parte connettendo la Edison alla WiFi interagendo prima con la connessione seriale via USB
configure_edison --wifi

si impostano poi il nome e la password
configure_edison --password
configure_edison --name

Per prima cosa deve essere evidenziato che nell'installazione standard di Yocto e' presente un web server basato su Node.JS. (si puo' verificare con netstat -tnpl)
Si deve quindi disattivare il web server su porta 80 (che peraltro non funziona) modificando il file /usr/lib/edison_config_tools/edison-config-server.js
e commentando la riga
http.createServer(requestHandler).listen(80)

a questo punto per installare Apache si modificano i repository con le istruzioni a questo link
http://alextgalileo.altervista.org/edison-package-repo-configuration-instructions.html

modificando il file
nano /etc/opkg/base-feeds.conf
Dopo aver modificato i repository si puo' iniziare ad installa i pacchetti


opkg update
opkg install apache2
opkg start apache2
opkg enable apache2

opkg install php 

A questo punto Apache funziona ma non interpreta le pagine php. Bisogna editare il file httpd.conf  con le seguenti righe

LoadModule php5_module lib/apache2/modules/libphp5.so

Include /etc/apache2/modules.d/70_mod_php5.conf

<IfModule mime_module>
    TypesConfig /etc/apache2/mime.types

e poi si edita /etc/httpd/conf/mime.types:
application/x-httpd-php php

la directory dove inserire i file html e' 

/usr/share/apache2/htdocs

mentre i file di log sono

/var/apache2/logs

Per impostare la giusta timezone 

opkg install ntpdate
ntpdate -v ntp1.inrim.it
timedatectl set-timezone "Europe/Paris"

Per modificare il DNS server di edita /etc/resolv.conf

domain lan
nameserver 8.8.8.8

infine, per effettuare il port forwarding e' necessario impostare un IP statico editando /etc/wpa_supplicant/wpa_cli-actions.sh 

if [ "$CMD" = "CONNECTED" ]; then
    kill_daemon udhcpc /var/run/udhcpc-$IFNAME.pid
#   udhcpc -i $IFNAME -p /var/run/udhcpc-$IFNAME.pid -S
    ifconfig $IFNAME 192.168.1.250 netmask 255.255.255.0
    route add default gw 192.168.1.254
fi
La Edison ha un server SSH che supporta anche SFTP. L'unico problema e' che accetta di default connessioni dall'utente root (questo puo' diventare un problema di sicurezza su server di produzione)

Aruco Tag e filtri Kalman

Usando gli Aruco tag in ambiente esterno con illuminazione solare a diverse ore e in diversi periodi dell'anno ho trovato un errore nell...