domenica 28 luglio 2019

UN DISPLAY SCOLASTICO PER "I PROSSIMI EVENTI DEL GIORNO"

Da anni al Romero gestiamo gli eventi scolastici tramite un calendario Google, che poi va ad integrarsi con il sito scolastico e con il display all'ingresso.
Da qualche tempo utilizzo Fullcalendar (https://fullcalendar.io/) adattato per impaginare in una lista gli eventi della giornata odierna.
Finché gli eventi giornalieri sono pochi, il risultato è soddisfacente e leggibile.

Quando però gli eventi sono tanti (nel momento dei consigli di classe, per esempio), il display si "affolla" spesso con più di 25 eventi giornalieri.
Per mostrarli tutti, è necessario rimpicciolire il carattere e il display diventa illeggibile:

Per ovviare a questo ho cercato una alternativa a Fullcalendar, trovandola negli script gcal-flow di Sugi.
Sugi ha realizzato un sistema che mostra un calendario Google con scroll automatico degli eventi che non stanno sulla pagina: proprio quello che mi serviva.
A partire dal suo lavoro ho realizzato questo calendario con scorrimento verticale automatico:



Lo scroll garantisce una ottima visibilità anche in caso di molti eventi sullo schermo.
Il mio adattamento al lavoro di Sugi non finisce qui:

  • Sugi ha predisposto un calendario che mostra X eventi futuri, mentre a me serviva mostrare gli eventi di oggi. Sono dunque intervento sullo script per limitare alla 23.59 del giorno stesso il momento di inizio degli eventi da filtrare dal Calendario Google.
  • Ho provveduto a far ricaricare la pagina ogni 3 minuti, di modo che dall'elenco sparissero gli eventi  nel frattempo già conclusi e il display serva dunque a capire solo quello che sta per succedere, non quello che è già successo (con conseguente accorciamento della pagina e meno necessità di scroll)
  • Dopo 3 minuti, per 10 secondi viene mostrata una pagina con le ultime notizie prese dal televideo; poi si torna alla schermata del calendario
  • Ho adattato il calendario ad essere mostrato a schermo intero con gli eventi su una sola riga
  • Ho modificato lo script per visualizzare il formato italiano delle date
Il risultato del mio lavoro è scaricabile da https://drive.google.com/open?id=1H_BqMLaghdUUeJOaZjt4u27eLinwHJUY

Per utilizzarlo, è necessario scaricare i 3 files sul proprio PC ed adattarli con l'identificativo e la apikey del proprio calendario Google.
Per vedere le modifiche che ho apportato, basta cercare la parola "ROTA" nel codice dei 3 files.

Alcune indicazioni operative sono contenute in questo video, dall'audio bassissimo e con inesattezze

Per far girare il calendario, uso un Eee PC del 2008 collegato ad un TV Sony da 42 pollici (avuto con i punti del supermercato).
Uso la distribuzione Linux Raspbian, leggerissima ed adatta ad un Pc di questa età.
Per far partire in modo automatico il calendario alla accensione del pc, procedere in questo modo:
aprire la cartella /home/pi/.config
creare la cartella autostart
creare il file kiosk.desktop con queste righe di codice all'interno
[Desktop Entry]
Versione=1.0
Exec= chromium --kiosk --app=http://URL_DOVE_SI_TROVA_CALENDARIO
Terminal=false



domenica 6 gennaio 2019

Il meglio delle mie vacanze di Natale 2018 è.... questo video

Approfitto volentieri di ogni vacanza di Natale per leggere e vedere film.
Quest'anno mi sono dedicato ai video in Inglese.
Mi è piaciuto in particolare questo, che spiega l'informatica che sta dietro i Rover Nasa su Marte.

È da queste imprese che mi piace giudicare l'Uomo.

venerdì 23 febbraio 2018

Un countdown basico basico per un sito Wordpress

Avevo l'esigenza di ottenere un "conto alla rovescia" per l'inaugurazione della biblioteca scolastica "Librarium", in modo da creare un po' di attesa (?) tra i visitatori del sito scolastico

Inizialmente ho provato a costruire il countdown con uno degli innumerevoli servizio online che "sparano" il contatore attraverso un iframe (tipo https://www.timeanddate.com/clocks/freecountdown.html) ma ho desistito, per due motivi:

  1. poco controllo sul risultato
  2. impossibilità di evitare il link verso il servizio di creazione del countdown

Quindi ho tentato di costruirlo in javascript, scrivendo il codice direttamente nella pagina wordpress.
Ecco il codice che sto usando (sicuramente non ottimizzato, ma intanto va):
<div role="main"></div>
<script type="text/javascript">
        //or this? http://www.diveintojavascript.com/projects/javascript-sprintf
        String.prototype.format = function() {
          var args = arguments;
          return this.replace(/{(\d+)}/g, function(match, number) {
            return typeof args[number] != 'undefined'
              ? args[number]
              : match
            ;
          });
        };
        setInterval(function() {
            //update clock
            var now = new Date();
            var date2 = new Date('2018-03-24T12:00:00');
            var dif = date2.getTime() - now.getTime();//in millisecondi
            var Seconds_from_T1_to_T2 = dif / 1000;
            var Seconds_Between_Dates = Math.abs(Seconds_from_T1_to_T2);
            var giorni_mancanti = Math.floor(Seconds_Between_Dates/86400);
            var ore_mancanti = Math.floor((Seconds_Between_Dates % 86400)/3600);
            var minuti_mancanti = Math.floor(((Seconds_Between_Dates % 86400)%3600)/60);
            var secondi_mancanti = Math.floor((((Seconds_Between_Dates % 86400)%3600)%60)%60);
            var stringa = "Lxxxxxxxx: mancano ";
            var date_string = '{0} giorni, {1} ore, {2} minuti, {3} secondi'.format(giorni_mancanti, ore_mancanti, minuti_mancanti, secondi_mancanti);
            document.getElementById('countdown').textContent = stringa + date_string;
            //change background color
            var random_color = String.prototype.format.apply('rgb({0},{1},{2})', [256, 256, 256].map(function(v) {
                return Math.floor(v*Math.random());
            }));
            //document.body.style.backgroundColor = random_color;
        }, 1000);
    </script>



domenica 10 settembre 2017

Registrare e gestire le assenze dei docenti con Google Fogli

Immaginate un grande tabellone appeso in segreteria:
  • nella riga in alto ci sono i giorni del calendario
  • nella colonna a sinistra i nomi dei docenti
All'incrocio tra giorno e docente ci scrivo le indicazioni dell'assenza: "permesso", "gita", "104", "malattia".....

Tutti gli impiegati possono scrivere sul tabellone non appena sanno che un docente è assente.
Questo tabellone diventa il registro ufficiale degli assenti, non se ne può più perdere uno, si può avere in ogni momento il polso della situazione.

Immaginate ora che il tabellone sia elettronico e agganciato all'orario, di modo che si possa vedere chi sono gli assenti del giorno e in quale classi fanno lezione.
Ecco.... questo tabellone l'ho costruito in modo artigianale con Google Fogli.
Ecco il video che ne mostra il funzionamento:


Vi lascio anche il link al foglio se volete giocarvi
Per operare in modifica, fate una copia nel vostro drive.
il caricamento iniziale è lento (contiene un sacco di formule e - siccome sono ancora una capra - il codice non è certo ottimizzato, anche se fa quel che deve); una volta fatti i caricamenti iniziali, si velocizza.
L'orario è contenuto in colonne nascoste da B a G.
La ricerca è fatta con script moooolto artigianale (il mio primo Google App Script.....).
Se ritenete che l'idea sia utile, lasciate un commento.

mercoledì 17 agosto 2016

Installare Debian su Matebook

Ho recentemente acquistato un tablet Huawei Matebook con processore M3, 4 Gb di Ram, disco SSD da 128 Gb, schermo HDPi 2160x1440, digitalizzatore Wacom con penna sensibilie a 2048 livelli di pressione.

Il sistema operativo preinstallato è Windows 10, che gestisce alla perfezione ogni particolare dell'harware (ma va?).
Io però senza Linux non mi sento a casa, per cui ho provveduto alla installazione del mio SO preferito.

IL PARTIZIONAMENTO

Ho usato gli strumenti di amministrazione di Windows per ridimensionare la partizione di WIndows 10 e creare nello spazio libero una partizione da 26 giga per Linux e una da 4 Giga per lo swap. In questo modo ero cerco che Windows non avesse da ridire nulla circa le nuove partizione.

LA SCELTA DELLA DISTRIBUZIONE

In rete non ho trovato granchè riguardo alla installazione di Linux sul Matebook (a parte questo http://djinnsour.com/tag/huawei-matebook/),
Ho quindi testato:

  • Ubuntu 16.04
  • Deepin 12.2
  • Linux Mint 18
  • Fedora 24
  • Debian Stretch

Tutte queste distribuzioni si sono per lo meno installate.
Sullo schermo HDPi (risoluzione molto alta), solamente le distro basate su Gnome hanno dimostrato di essere "gestibili" con lo schermo touch e le dita, mostrando dimensioni di pulsanti e font adeguati. Anche Unity permette di lavorare con HDPi, anche se preferisco Gnome.
Alla fine ho scelto Debian, dopo aver usato per un po' Fedora 24: sia con Debian che con Fedora il digitalizzarore Wacom e lo stilo funzionano senza dover far modifiche.

IL PROBLEMA DELLA SCHEDA WIRELESS

Il tablet usa una Broadcom BRC4356. Durante la installazione Debian chiede di poter scaricare i driver propietari ma io, durante la installazione, non avevo accesso alla rete......
Il motivo? Facile: il tablet ha una unica interfaccia USB di tipo "C" alla quale io avevo collegato la chiavetta USB con la iso della Debian......
Al riavvio ho utilizzato una scheda di rete USB esterna per riuscire ad installare i drivers della Broadcom 4356, come indicato qui https://packages.debian.org/sid/firmware-brcm80211
Purtroppo con questi drivers la scheda Broadcom risultava avere una scarsissima ricezione, rendendo quasi impossibile la navigazione.
Ho seguito dunque le indicazioni trovate in https://wireless.wiki.kernel.org/en/users/Drivers/brcm80211
in particolare alla sezione "NVRAM from EFI".
Ho dunque creato un file txt corrispondente alla scheda wireless copiandolo dalla cartella /sys/firmware/efi/efivars/ alla cartella /lib/firmware/brcm/ in questo modo:
cat /sys/firmware/efi/efivars/nvram-74b00bd9-805a-4d61-b51f-43268123d113 > /lib/firmware/brcm/brcmfmac4356-pcie.txt
Al riavvio la scheda ha preso a funzionare regolarmente.

LE ALTRE QUESTIONI APERTE

La prima sfida è far funzionare il collegamento wireless con il proiettore (dongle Miracast): per quanto ne so il supporto Linux è agli inizi (il che è assurdo, se pensiamo che Android ce l'ha da anni!).
Poi c'è da gestire la sospensione quando si "ripiega" la tastiera....
E ancora c'è da sistemare la mappatura dei tasti che regolano il volume...

AGGIORNAMENTO 2019

Le indicazioni
https://www.linuxquestions.org/questions/linux-wireless-networking-41/debian-broadcom-bcm4356-802-11ac-wireless-not-working-4175644801/
mi sono servite per far funzionare la scheda Broadcom 4356 sul mio  ormai vecchio Maatebook sotto Deepin Linux 8.9



mercoledì 18 novembre 2015

Lezione CLIL: Algodoo e atterraggio su Marte

Quest'anno ho iniziato il corso metodologico CLIL che prevede attività di tirocinio sulle proprie classi.
In terza liceo linguistico ho proposto di imparare ad utilizzare il software di simulazione fisica Algodoo a partire dai video tutorial in inglese.
Ho poi assegnato un compito semplice: realizzare un pendolo con Algodoo ed analizzarne l'isocronismo sulla scorta delle osservazioni già fatte da Galileo.
Nella seconda lezione CLIL ho letteralmente "alzato il tiro":
partendo da video sull'atterraggio del rover "Curiosity" presi dal sito della Nasa,

ho chiesto agli studenti di rispondere ad alcune domande su Marte e la sua esplorazione e poi ho chiesto di realizzare con Algodoo una simulazione dell'atterraggio.
Non tutti gli studenti sono riusciti nell'intento, ma qualcuno ha fatto davvero un ottimo lavoro.
Ecco due dei lavori realizzati (ho lasciato una settimana di tempo per la consegna)

Questo video può sembrare semplice ma contiene tutti gli elementi essenziali dell'atterraggio con sky-crane - incluso il "volar via" della sky-crane per non contaminare il terreno nella zona dell'atterraggio.

Il secondo video è un piccolo capolavoro, realizzato con cura maniacale dei dettagli: le funi della sky-crane vengono "tagliate" da un meccanismo ad "esplosione", il rover ha ruote motrici, sospensioni.... Il paesaggio marziano è modellato con dune e massi.
Abbiate la pazienza di guardarlo tutto (dura un po'....) vedrete che lo studente manovra con i retrorazzi per rallentare la sky-crane e poi fa un giro avanti-indietro per Marte superando diversi ostacoli.....
La visuale scelta è "in soggettiva" e il video zoomma sulle parti più interessanti.
Insospettito dalla qualità eccelsa del prodotto, ho chiesto all'autore di mostrare qualche fase della realizzazione "live": di fronte alla classe, lo studente ha dimostrato di conoscere in profondità il software Algodoo e di sapercisi "muovere" con gran dimestichezza (molto maggiore della mia, by the way....).
E poi - se anche avesse barato - mi ha regalato qualche momento di felice soddisfazione professionale......
PS: la parte CLIL della lezione riguarda la visione/comprensione di video in inglese (i tutorial di Algodoo, i video della Nasa) e il lavoro su una dispensa in Inglese da me realizzata a partire dagli stimoli dei video e da quanto svolto in classe.

venerdì 2 maggio 2014

Su Marte con Curiosity

Riprendo questa notizia dal sito della Rai.
Andrew Budrow è un fotografo estone e ha realizzato emozionanti panorami a 360° con le foto del rover Curiosity a lavoro su Marte. Questo che vedete sotto è stato composto con 138 immagini scattate il 27 aprile scorso e si estende per oltre 30mila pixel in larghezza. - See more at: http://www.rainews.it/dl/rainews/media/Su-Marte-accanto-a-Curiosity-grazie-a-un-panorama-di-30mila-pixel-6d921a37-3bd4-43b3-9eba-0d81a0ae7ea6.html#sthash.QmQ3EWxD.dpuf
Andrew Budrow è un fotografo estone e ha realizzato emozionanti panorami a 360° con le foto del rover Curiosity a lavoro su Marte. Questo che vedete sotto è stato composto con 138 immagini scattate il 27 aprile scorso e si estende per oltre 30mila pixel in larghezza.
Mandate questo panorama 3D a schermo intero e "girate la testa" usando i tasti freccia: se "alzate la testa" verso il cielo ad un certo punto vedrete il nostro caro,vecchio, Sole......


Mars Panorama - Curiosity rover: Martian solar day 613 in Out of this World