Menu

darchino.ch

Basta con la poca qualità!

Da una semplice stampate ad una “Smart Stampante” disponibile per ogni dispositivo

Iniziamo con un piccolo preambolo, perché il tutto è nato da un problema di stampa…

Infatti, la mia stampante HP Officejet 8600 (connessa alla rete LAN locale), passando da Windows 8 a Windows 10 su diversi computer in casa ha smesso di funzionare.

Ossia, la stampante funziona alla grande, ma, nonostante il CD originale dei driver e un po’ di prove, i computer Windows proprio non ne vogliono sapere di stampare. Da Linux invece la configurazione è facilissima.

Stanco di smanettare inutilmente e alla ricerca di un metodo non troppo macchinoso ho deciso di far fare al computer Linux il lavoro di stampare, fra l’altro quel PC lo tengo praticamente sempre acceso già per altri motivi.

Ho quindi pensato alla soluzione più facile per poter inviare i files (in PDF) al computer Linux per poterli stampare. Ho pensato a Dropbox, capace di sincronizzarli in pochi secondi, ma voi potete usare anche una cartella condivisa in locale tipo SAMBA, un disco in rete NAS o altri sistemi cloud, sempre più diffusi al giorno d’oggi.

La scelta di stampare solamente file PDF è chiara. Prima di tutto così il formato viene sempre corretto (senza eventuali errori di formattazione dati da file .docx e simili) secondariamente da Windows si può sempre scegliere l’opzione “stampa su file”, che crea in modo terribilmente facile un PDF, in ultimo la maggior parte dei file che stampo sono già in questo formato.

È qui che mi sono reso conto che un semplice programmino avrebbe potutto fare già di più rispetto a quello che mi serviva…

Questo programma è utile infatti anche se ci si trova davanti ad un computer che abbia la stampante connessa con USB e che non si riesca ad arrivarci via rete locale, potremo infatti farlo stampare a distanza senza doverci sempre inviare i files. Ciò vale anche se lavoriamo da smartphone o tablet. Sfruttando le funzionalità di Dropbox infatti possiamo caricare un file usando qualsiasi dispositivo e da qualsiasi parte del mondo. Il nostro computer poi farà il lavoro di stampa anche se la stampante non è condivisa in nessuna rete. Certo questo programma (nemmeno 15 righe di script) non è fatto per gestire gli errori, e si presuppone che abbiate accesso alla stampante per controllare lo stato di inchiostro e carta, ma permette di stampare a distanza in modo semplice. Una limitazione che ha attualmente sta nel fatto che i file da stampare non possono contenere spazi. Se il vostro file ha degli spazi rinominatelo semplicemente (chiamandolo anche solo x.pdf) e verrà stampato.

Se non vi interessa sapere come funziona lo script potete passare direttamente alla guida in 5 passi per l’installazione (più in basso).

Passiamo al programma

Da linux esiste un comando semplice e funzionale per stampare i PDF, si chiama lp. Il comando lp ha anche diverse opzioni (vedete il manuale digitando “man lp”) che permettono di scegliere la stampante, usare o no il fronte retro, selezionare un numero di pagine per foglio, la direzione di stampa (diritto o landscape) e molto altro.

Io ho semplicemente scritto un piccolo programmino in bash che ogni 10 secondi controlla se non ci sono files da stampare e se sì li stampa, dopo aver lanciato la stampa li elimina dalla cartella. Inoltre legge anche un file di impostazioni che permette di personalizzare alcune delle opzioni dette sopra. Potete semplicemente fare copia-incolla del codice qua sotto e salvarlo in un file come “printPDF.sh” ricordate però di scrivere il prercorso giusto per andare a trovare la cartella che vi interessa.

In seguito rendetelo eseguibile (usando “chmod a+x printPDF.sh”)

Ecco il file [1] e sotto ogni passaggio commentato, per chi voglia capire come funzioni:

#!/bin/bash
while [ : ]
do
filename="/home/XXX/Dropbox/DaStampare/Impostazioni.txt"
while read -r line
do
name="$line"
echo "Impostazione - $name"
done < "$filename"
for i in `find /home/XXX/Dropbox/DaStampare -name '*.pdf'`
do echo $i
lp -o fit-to-page $name $i && rm $i
done
sleep 10
done

Ecco qui le spiegazioni riga per riga.

Prima di tutto definisco che lo script è in bash (in questo modo può essere lanciato con ./nomeprogramma, dopo averlo reso eseguibile):

#!/bin/bash

Con le seguenti righe creo un loop infinito, alla fine del “programma” aspetto 10 secondi per evitare di sovraccaricare il sistema:

while [ : ]
do
programma
sleep 10
done

Il programma stesso va prima a leggere le impostazioni di stampa e le scrive a schermo per poterne verificare la correttezza. Per prima cosa viene definito dove si trova il file di impostazioni (scrivete su questa riga la path che vi interessa), poi viene letto riga per riga il file e scritto a schermo, ma solo l’ultima riga viene salvata nella variabile $name, poiché solo l’ultima riga ci interessa:

filename="/home/XXX/Dropbox/DaStampare/Impostazioni.txt"
while read -r line
do
name="$line"
echo "Impostazione - $name"
done < "$filename"

Ora il programma legge uno per uno tutti i files in formato pdf (quindi che finiscono per .pdf) che si trovano nella cartella indicata (modificate anche qui la path), per ogni file viene scritto a schermo il nome. Poi viene stampato e rimosso. Sotto spiegherò in dettaglio la riga centrale del programma:

for i in `find /home/XXX/Dropbox/DaStampare -name '*.pdf'`
do echo $i
lp -o fit-to-page $name $i && rm $i
done

Questa è la nostra riga chiave:

lp -o fit-to-page $name $i && rm $i

Il comando lp stampa un PDF con impostazione -o fit-to-page (che serve ad adattare eventuali pagine “fuori misura”) e continua con altre opzioni che ha trovato nell’ultima riga del file di impostazioni. In seguito $i è il nome del file che bisogna stampare.

Dopo aver lanciato la stampa (quindi dopo &&) egli rimuove il file dalla cartella in modo da rendere chiaro che questo è stato stampato e non va stampato ancora.

Nel file di impostazioni [2] (chiamato Impostazioni.txt) troviamo invece questo:

Impostazioni come segue:
1.
se vuoi fronte retro scrivi: -o sides=two-sided-long-edge
se invece vuoi una pagina scrivi: -o sides=one-sided
2.
se vuoi landscape (foglio girato) aggiungi alla riga: -o orientation-requested=4
3.
se vuoi più pagine per foglio aggiungi alla riga: -o number-up=4
puoi cambiare il 4 con uno dei seguenti numeri: 2,4,8,16

Questa è la linea di comandi, scrivili tutti qua divisi da spazi (assicurati che sia l'ultima riga del file):
-o sides=two-sided-long-edge -o number-up=2

Praticamente (anche senza istruzioni) basterebbe un programma di una riga con gli argomenti desiderati, quindi solo l’ultima riga.
Per ricordarsi però le varie impostazioni possibili ho scritto anche un testo per ricordarci quali possiamo usare.
Copiate e salvate anche questo file. Ricordate di metterlo nella cartella che avete indicato sopra nel programma in modo che possa trovarlo.

Trovandosi (nel mio caso) nella cartella Dropbox l’utente Windows (o da qualsiasi altro computer) potrà modificare le impostazioni sull’ultima riga di questo file prima di caricare il file PDF. Poi sposterà il file da stampare nella cartella Dropbox/DaStampare (dal suo computer o Smartphone ma condivisa con il computer che deve stampare) e questo verrà stampato secondo queste informazioni. Fino a quando non si cambierà a mano questo piccolo file le impostazioni resteranno invariate.

Ricapitolando (guida in 5 passi)

  1. Per prima cosa verificate che la vostra stampante funzioni dal computer Linux, così come Dropbox.
  2. Copiate il file [1] in un editor e modificate la riga 4 e 10 mettendo il percorso corretto alla vostra cartella Dropbox per la stampa, quindi salvatelo (dove volete) come remoteprint.sh
  3. Copiate file di impostazioni [2] in un editor e salvatelo nella vostra cartella dropbox per la stampa come Impostazioni.txt
  4. Aprite un terminale, spostatevi con il comando cd nella cartella dove avete salvato remoteprint.sh e rendetelo eseguibile con il comando chmod a+x remoteprint.sh
  5. Lanciate il programma con ./remoteprint.sh & (la & vi permette di chiudere il terminale dopo aver lanciato il programma e questo continuerà a funzionare), ora potete copiare un pdf nella cartella per la stampa (sia dal vostro computer che da altri) e verificare il funzionamento

Spero vi sia piaciuto questo piccolo script e che vi abbia semplificato la stampa da dispositivi che, per un motivo o per l’altro, non erano in grado di stampare. Nel caso vogliate un server piccolo ed economico un raspberry pi potrebbe essere un’idea interessante.

Registrazione e riproduzione audio digitale

Cosa vuol dire che un CD è a 44.1 kHz 16 bit? Cosa cambia fra analogico e digitale? Perché alzare il volume su un amplificatore non rovina il suono e invece su iTunes sì?

Se siete appassionati di Hi-Fi (o avete mai lavorato con un programma audio) di certo vi sarete chiesti cosa vogliono dire tutti quei numeretti.

Senza entrare troppo nei dettagli spieghiamo la differenza sostanziale fra analogico e digitale. L’analogico è continuo, il digitale discreto.

Discreto è inteso nel senso che il tempo (continuo) viene diviso in un numero finito (seppur molto grande mai infinito) di intervalli. Come il cinema: le immagini in movimento non sono continue, ma sono formate da 24 fotogrammi (appunto foto che di per se sono ferme) al secondo. 24 fotogrammi al secondo ci bastano per vedere un’immagine non a scatti ma in movimento.

Anche il volume delle singole ‘note’ viene diviso in intervalli, immaginiamo una cosa tipo: silenzio, pianissimissimo, pianissimo, piano… e via dicendo fino al fortissimo.

Nonostante questo possa sembrare una gran perdita per il segnale sonoro, se esso è discretizzato bene non dobbiamo preoccuparci.

L’orecchio umano riesce a sentire suoni fino a 21kHz (ottimisticamente). Le onde sonore di solito sono di forma sinusoidale. Per ogni oscillazione abbiamo bisogno di almeno due punti per ricostruire poi correttamente il segnale.

Quindi se l’orecchio sente 21kHz abbiamo un onda che oscilla 21’000 volte al secondo, e dobbiamo “registrare” 42’000 punti per poterla ricostruire. Il CD infatti è campionato ad una frequenza di 44.1 kHz (frequenza scelta per venire incontro alla corrente alternata in Europa, 50Hz e in America 60Hz), i suoni più acuti che possono essere registrati (con quei 24100 intervalli al secondo) sono più acuti di ciò che l’orecchio umano può sentire. Negli studi di registrazione si usa l’accorgimento di registrare sempre nello stesso momento, in modo da avere intervalli tutti uguali per ogni strumento,e non sfasati. Sulle frequenze basse non c’è nessun problema.

La seconda cosa che dobbiamo registrare, oltre alla nota, è il volume di quest’ultima, per poter distinguere un pianissimo da un fortissimo.

Per questo abbiamo 16 bit per ogni nota, che corrispondono a 2^16, ossia 65536 diversi volumi. Se il volume massimo è ancora umano (tipo quello di un concerto, ossia 96Db) e noi dividiamo il volume in 65536 intervalli da silenzio totale a 96Db non siamo in grado di sentire salti di volume fra un intervallo e l’altro, esso infatti ci sembra continuo.

Se tuttavia alzassimo il volume (arrivando a quello del reattore di un aereoplano alla distanza di qualche cm) e non ci assordassimo, dividendo questo intervallo ben più grande in 65536 volumi diversi potremmo ancora distinguere il volume che sale non progressivamente ma con tanti piccoli scattini.

44.1kHz a 16 bit sono quindi totalmente sufficienti, considerando di avere poi una buona sorgente che sappia ricreare bene il suono, e con dei filtri adeguati. Più è alta la frequenza di campionamento meno occorre avere dei buoni filtri e una sorgente di qualità per ricreare il suono in maniera realistica.

L’analogico invece è completamente continuo, sia il volume sia le onde, infatti serve sempre un convertitore da digitale ad analogico. Per maggiore chiarezza nell’immagine potete vedere la curva (segnale continuo) e il digitale, diviso in intervalli che riguardano il tempo t e il volume f(t), esso diventa quindi di forma quadrata.

SegnaleDiscreto.png

Ora rispondo all’ultima domanda, ossia come mai alzare il volume su un dispositivo digitale spesso ne rovina la qualità.

Spesso i dispositivi non hanno un vero amplificatore dentro, con un volume regolabile, digitalmente usano semplicemente un trucco, ossia alzano il volume nel brano stesso. Per spiegarci facciamo finta di avere a disposizione 6 livelli di volume: 0,1,2,3,4,5.

La nostra canzone ha i volumi disposti così: 1,2,3,2,4,3,1.

Alziamo il volume: 2,3,4,3,5,4,2. Tutto bene, tutti i volumi sono stati alzati, e sentiamo più forte, ma siamo arrivati ad un problema, in un momento troviamo già il volume massimo (5) se alziamo ancora, che succede?

Ecco qua: 3,4,5,3,5,5,3. Ora i 4 sono diventati 5, ma il 5 non poteva diventare 6, quindi abbiamo alzato solo ciò che suonava piano, ma non ciò che suonava forte, e portando la cosa all’estremo potremmo arrivare a 4,5,5,4,5,5,4. Prima avevamo utilizzato livelli di volume fra 1 e 4 e ora tutto è schiacciato fra 4 e 5. Quindi ora un pianissimo suona molto molto simile ad un forte che suona uguale ad un fortissimo.

Questo trucco (utilizzato anche spesso dalle autoradio) rovina la profondità del suono. Per evitarlo, quando avete a disposizione un amplificatore non tenete al massimo il computer/telefono, alzate il volume con l’amplificatore che è analogico!

Anche qui naturalmente un numero maggiore di bit nel digitale (ad esempio 24bit) diminuisce il problema di queste amplificazioni fittizie.

Se avete ancora qualche dubbio contattatemi pure.

Qualità difficili da riconoscere

Dopo aver scritto il post basato sulla cornice Ikea di evidente bassa qualità (per non parlare di due bicchieri da vino che mi si sono rotti asciugandoli, e avendo anche lavorato in un ristorante so che non si sarebbero dovuti rompere) ho iniziato a pensare alla qualità riguardante ogni oggetto o servizio noi possiamo aquistare.

Spesso la qualità è facile da stabilire, a volte ci aiutano le “specifiche tecniche” ma a volte è quasi impossibile capire se una cosa sia di qualità, se non col tempo.

Le “specifiche tecniche” riguardano il materiale di cui può essere fatto un vestito, o anche la velocità di un processore, la potenza di un motore e tanto altro.

D’altronde anche se un abito è in puro cotone non è detto che le cuciture siano solide e il colore duraturo. E se un portatile è molto potente come facciamo a sapere se sia anche robusto? Oppure che non scaldi troppo? Insomma molti dati mancano. Non porto altri esempi perché penso che tutti ci siamo trovati di fronte a queste domande.

Esistono molti siti in cui, per fortuna, diversi consumatori possono scrivere la propria opinione sui prodotti, scambiarsi dubbi e conoscenze. Ed è poi quello che io provo a fare, nel mio piccolo, con le recensioni sulle cuffie.

Per i prodotti più diffusi (e facilmente giudicabili) ciò funziona molto bene. Ci sono però prodotti che rivelano la loro qualità solo col tempo, ad esempio una schedina SD dalle sovrascritture limitate, o un’automobile che dopo 5 anni inizia ad arrugginirsi.

Qui le garanzie (ora di minimo due anni sugli apparecchi elettronici, spesso di 10 sulle carrozzerie) cercano di tutelare il cliente da problemi di fabbricazione, ma non garantiscono la qualità del prodotto, solo il funzionamento.

Ancora più difficili da giudicare sono Software e altri servizi.

Ad esempio se fate fare da una piccola ditta il vostro sito internet, chi vi può dire se lo faranno di qualità o se avrete sempre nuovi problemi?

Ma anche dei prodotti molto specifici, magari associati ad un software (un quadro per gestire le campane di un campanile, un impianto che gestica riscaldamento e aria condizionata in automatico) sono una cosa che prima che siano installati non si può sapere se sarà di qualità. Bisogna fidarsi delle ditte.

E come servizi si potrebbero anche citare autostrade, ferrovie e molto altro (in quel caso chi ha l’appalto non approfitta del consumatore singolo ma dello Stato, della società).

Purtroppo temo che le ditte non abbiano (troppo spesso ormai) come obbiettivo la qualità. Sfruttando, a volte, situazioni di monopolio riescono comunque ad avere clienti, e, vista la bassa qualità, riescono anche a guadagnare molto.
A volte invece puntano sull’ignoranza (nel campo specifico) dei clienti, e a volte addirittura, non si preoccupano di perdere molti clienti perché hanno comunque un ricambio assicurato (ad esempio nei luoghi turistici).
Infine mi sembra che certe volte il servizio di tutte le ditte del settore sia scadente allo stesso modo. Un modo per non faticare a cercare di migliorare ma guadagnare tutti quanti (creando una specie di cartello, ma non sul prezzo).

Studiando ingegneria noto con interesse questi cambiamenti (o è sempre stato così?) le cose ormai sono talmente complesse che non riusciamo più a giudicare. E, per finire, certe volte conta la quantià e non la qualità (tipo i vestiti: “non importa se durano poco tanto ne compro di nuovi ogni settimana”).

Qualità industriale

Immaginate di andare da un vetraio (o uno che faccia cornici per quadri) e di commissionargli una bella cornice con bordo in alluminio (moderna) della grandezza di un A3. Ora andate a ritirare quest’ultima e vi accorgete che il silicone utilizzato per fissare il vetro ha creato delle gocce che sono ben visibili sul bordo della cornice, all’attaccatura col vetro stesso. Cosa fate? Chi con gentilezza, chi meno, dice al vetraio che purtroppo il lavoro non è fatto bene, e pretende che il silicone in eccesso venga rimosso oppure che il tutto venga sostituito.

Ora immaginate di andare all’Ikea (R), e di trovare un’offerta, e di accorgervi del problema sovracitato. Una reazione comune (anche la mia) è: “che ci vuoi fare, è Ikea! E poi non si nota tanto.” Lo stesso capita comprando magliette industriali economiche, che spesso hanno una cucitura che cede dopo un giorno e lascia penzolare un filo, dal sarto sarebbe successa una cosa simile?

Per non parlare dell’elettronica, nonostante le garanzie ormai prluriennali sui prodotti, spesso alcuni mi sembrano molto approssimativi. Lampadine portachiavi che durano due giorni, router wireless che dovrebbero avere una portata di 30 metri ma non è sicuro, e tanto altro. Per non parlare dei primi prezzi (ossia il prodotto più economico), soprattutto riguardo agli impianti audio con qualità talmente scadente, e pochissime caratteristiche tecniche come descrizione. Mi è capitato essendo stato venditore: “Sono buone queste casse da computer?”, io, “Beh PROBABILMENTE sono migliori di quelle integrate nel suo laptop”. Oppure sugli home cinema: “Gli mp3 con l’Ipod si sentono bene?” cosa rispondere? Gli mp3 con l’Ipod non si possono sentire bene? Ormai l’hifi è sparito, ci stiamo abituando ad una qualità audio nettamente inferiore. È capitato anche questo: “Com’è la qualità dell’altoparlante di questo cellulare per sentire la musica?” “Beh sa signore, non può pretendere molto da un cellulare! Il diffusore integrato avrà 3 mm di diametro ed è alimentato a batteria…”. E lui: “Ma come? Il mio cellulare attuale ha un’altissima qualità.” E così via… I colori delle TV: “Questa ha dei colori molto naturali, realistici, al contrario quest’altra ha un contrasto sparato al massimo che sfalsa tutta la visione, vede? La neve è addirittura violetta, i campi hanno un verde che sembra di avere gli occhiali da sole con le lenti colorate, i visi sono viola…” “Beh però mi piacciono i colori brillanti!”.

Insomma, prima si cercava di riprodurre la realtà, in fatto di suono, di video, ora non più, si punta al mediocre. Tanto (ad esempio la grandezza degli schermi) e di qualità media, così come la quantità di canzoni o film sugli hard disk dei più, tanti di numero e scarsi di qualità (sia qualità della canzone/film stessa sia qualità sonora data dalla trasformazione in mp3 e altro). Lo stesso vale per le foto: Con una stampantina economica non si ottiene la qualità che si otteneva sviluppando le pellicole, però, con meno spesa, si possono ottenere molte più foto. Così è però anche per i vestiti e per moltissimi altri oggetti (a mio avviso) e questo porta a buttare le cose sempre più in fretta e a volerne sempre di nuove anche perché quelle che abbiamo (e a buon ragione) non ci soddisfano.

Stiamo dunque andando verso una perdita di qualità generale (che un tempo si cercava di elevare) per depositarci su degli standard relativamente bassi? Ci stiamo abituando al mediocre fino a non accorgercene più oppure le cose di valore costerebbero davvero così tanto da non potercele proprio permettere come società in generale?