0
Nov 04 2017

Contenteditable: un’utopia

Qualche tempo fa avevo cominciato a sviluppare una piccola webapp ad uso interno con Vue.js e, volendo implementare dei tag, mi serviva anche un input per modificarli.

Prima che un mio amico mi consigliasse Vue-Multiselect, avevo provato diversi tag input, di cui alcuni non funzionanti, altri invece che non soddisfacevano tutti i miei requisiti: l’integrazione con Vue, la possibilità di integrarli col design del resto del sito (o quanto meno che sembrassero abbastanza coerenti con Bootstrap, visto che mi sto basando su quello) e che avessero l’autocompletamento.

Non trovandone nessuno che facesse al caso mio, ho deciso di cominciare a scrivere un input tag “universale” con queste caratteristica:

  • indipendenza da qualsiasi libreria, in modo che se altri si fossero trovati nella mia situazione avrebbero potuto usarlo;
  • completa libertà grafica per i designer;
  • possibilità di implementare un auto completamento (scriverne uno che non abbia alcuna dipendenza è un lavoro abbastanza lungo e inutile).

Come soluzione avevo trovato di usare un div con contenteditable="true" (un attributo molto, molto vecchio, disponibile persino su Internet Explorer 6, “il terribile”) e un [Leggi il resto...]

0
Ott 05 2017

OpenSSH: disattivare la password per le sessioni remote

Da quasi un anno ho una Raspberry Pi e ho più volte questo trucchetto, solo che mi sono reso conto di non averlo ancora mai condiviso.

Per ragioni di sicurezza, ho deciso di disabilitare l’autenticazione tramite password per quando mi connetto tramite Internet, ma di lasciarla per quando mi connetto dalla stessa rete locale della Raspberry.

Ci sono diversi metodi per implementare questa cosa, tutti basati sull’istruzione Match che, citando le manpages, introduce un blocco condizionale.

Le condizioni che può verificare riguardano utenti, gruppi, host, indirizzi e la porta locale.

In particolare io ho scelto di fare una distinzione in base a quest’ultima: una strategia spesso suggerita per aumentare la sicurezza di SSH è quella di cambiare porta e, per esempio, metterlo in ascolto sulla porta 22022. Io ho quindi deciso di ascoltare sulla porta 22 per la LAN e sulla porta 22022 per le sessioni remote e di disabilitare l’autenticazione tramite password per queste ultime.

Il procedimento è molto facile. Serve solo modificare il file /etc/ssh/sshd_config. Per prima cosa bisogna esplicitare entrambe le porte su cui ascoltare:

Port 22
Port 22022

Dopodiché bisogna aggiungere la parte di matching solo per la porta secondaria:

Match LocalPort 22022
	PasswordAuthentication no

In alternativa si potrebbe disabilitare l’autenticazione tramite password sempre e riabilitarla solo se l’indirizzo del peer appartiene alla classe della rete LAN.

3
Set 10 2017

Orange Pi Zero e boot USB

Di recente ho comprato una Orange Pi Zero, versione da 512MB di RAM e flash NOR saldata.

Il mio obiettivo è rendere domotico il basculante del garage, ovvero permetterne l’apertura tramite un bot Telegram. Negli anni ho visto persone far svolgere funzioni simili ad Arduino o a schede di sviluppo simili, però sono troppo poco potenti per gestire un bot Telegram, e comunque una Orange Pi Zero, con tanto di spese di spedizione, è più economica di un Arduno ufficiale.

La scelta della versione più potente è dovuta principalmente al fatto che dopo l’esperienza che ho avuto con la Raspberry, preferisco evitare le micro SD. Tuttavia ne serve comunque una per un unico boot. L’alternativa è avere un programmatore di flash NOR, che penso sia molto più difficile da avere già in casa.

Oltre alla scheda micro SD, sarà necessario procurarsi una versione con kernel mainline di Armbian. Potete scegliere indipendentemente Debian (disponibile scegliendo other options) o Ubuntu. Le versioni con il legacy kernel non vanno bene perché non rilevano la flash.

Una volta procurato il file 7z, bisogna estrarre il file .img e scriverlo direttamente sulla SD: sui sistemi Unix-like potete usare dd,… [Leggi il resto...]

0
Ago 14 2017

VoIP Tim e HT-502

Come avevo già annunciato, per poter continuare ad usare il mio TD-W8970 e il vecchio Siemens S62 del nonno, ho deciso di comprare un Grandstream HT-502.

Avevo letto della sua compatibiltà online, poi, una volta comprato, ne ho avuto la conferma.

L’ho comprato usato su eBay, pagandolo 15€ + 10€ di spedizione. Il prodotto si presenta abbastanza bene, sicuramente una delle prime cose che mi ha impressionato è la compattezza: la dimensione maggiore è dettata dal puro ingombro delle porte, non ci sono sprechi di spazio.

La qualità dell’audio mi è parsa molto buona, la cosa bella del VoIP è che non è influenzato da router rumorosi, agenti atmosferici, cavi chilometrici etc. Sono riuscito anche a collegarci tutto l’ex impianto telefonico di casa senza troppi problemi.

Prerequisito: ottenere la configurazione Tim

Prima di poter installare l’HT-502, dovrete ottenere i parametri della vostra linea telefonica.

Visto che Tim non comunica ufficialmente la configurazione, bisogna ricavarla per vie traverse. Per entrambe le procedure esistenti è necessario che il router Tim sia in funzione e vi serve un cellulare su cui ricevere gli SMS.

Per semplificare il procedimento, io ho… [Leggi il resto...]

0
Lug 23 2017

VDSL Tim e TD-W8970 con OpenWRT

Di recente la VDSL di Tim (pubblicizzata come “fibra”) è diventata disponibile anche nel mio paesino di meno di 10000 anime, così ne ho fatto richiesta.

Sono rimasto abbastanza stupito dell’efficienza del procedimento: io era già cliente per l’ADSL, quindi ho solo fatto la richiesta online di attivazione. Già il giorno successivo hanno inviato il kit, che va comprato obbligatoriamente, contenente un router e due telefoni cordless. Una volta effettuata l’installazione bisogna chiamare un numero telefonico con una voce registrata a cui bisogna confermare di aver installato il tutto per avviare il passaggio di tecnologia. Quest’ultimo procedimento è stato portato a termine in meno di 48 ore.

I risultati sono davvero soddisfacenti: il download è passato da meno di 6Mb/s a quasi 75Mb/s, l’upload da 378kb/s a 20Mb/s e il ping (verso 192.168.100.1, che è l’IP che Telecom dà ad ogni sua centrale) da 35ms circa a 7ms. Considerando anche i 187€ di kit che andrò ad ammortizzare in 4 anni e che il piano ha fatturazione di 4 settimane anziché di un mese, comunque spenderò meno di quanto avrei speso con la tariffa, molto meno performante, che avevo prima. La concorrenza dei bandi… [Leggi il resto...]