Regolarizziamo

Le espressioni regolari sono uno degli argomenti più ostici che ci si può trovare ad affrontare quando si usa un computer. Purtroppo sono anche una delle cose più utili, in particolare quando si cerca qualcosa che è sepolto nel disco rigido o quando si devono estrarre informazioni da grosse moli di dati.

Ma prima di tutto, cos’è una espressione regolare, o come si dice normalmente in gergo informatico, una regexp?

Definizione. Una espressione regolare è una sequenza di caratteri che definisce uno schema di ricerca (search pattern) di informazioni strutturate in modo più o meno preciso.

Ecco, la chiave di tutto sta proprio nella espressione “più o meno preciso“. Cercare una parola precisa in un file è piuttosto facile, molto meno facile è cercare tutte le possibili variazioni della stessa parola, oppure intere classi di parole.

Arrivato a questo punto dovrei fare qualche esempio più o meno complicato di uso delle espressioni regolari per risolvere qualche problema pratico, come scambiare il nome con il cognome in una lista di indirizzi, aggiungere http://, o meglio https://, a tutti gli indirizzi web presenti in un file, cercare i numeri degli ordini di acquisto di una azienda e trasformarli in un formato standardizzato.

Ma non mi sogno nemmeno di farlo, scappereste quasi tutti a gambe levate. Perché le espressioni regolari si apprezzano solo quando servono veramente, quando permettono di risparmiare tempo e fatica facendo svolgere al computer, invece che a noi, le noiose operazioni ripetitive per le quali è così portato.

Imparare ad usare le espressioni regolari

E allora come si può imparare ad usare queste benedette espressioni regolari?

Ci sono decine di libri e di tutorial che ne trattano, ne ho elencati alcuni nella bibliografia. Devo però ammettere che i libri e la maggior parte dei tutorial non li ho mai non dico letti ma nemmeno guardati, mi annoierebbero troppo con le loro sequenze di regole e regolette, terra-terra e quasi inutili o così acrobatiche da essere incomprensibili.

Molto meglio i siti web che insegnano ad usare in pratica le espressioni regolari: inserisci da una parte l’espressione regolare e dall’altra il testo in cui cercare e l’applicazione mette in evidenza tutte le sequenze di caratteri che soddisfano l’espressione inserita (le occorrenze), con una spiegazione più o meno dettagliata di quello che succede.

Fra tutti i siti di questo tipo, il mio preferito è regex101, veloce e con spiegazioni chiare e prive di inutili dettagli. Al secondo posto Debuggex, ottimo ma più complesso da usare, soprattutto le prime volte. Non male anche RegExr, che però interpreta le espressioni regolari inserite utilizzando il motore JavaScript del browser, che non è sempre compatibile al 100% con le espressioni regolari di altri linguaggi.

Ci sporchiamo le mani?

Tutto qui? Per ora si, questa voleva essere solo una piccolissima introduzione al mondo oggettivamente complicato delle espressioni regolari. Più o meno come mettere il dito nell’acqua per vedere se è fredda.

Se l’argomento interessa, si può andare avanti con l’esplorazione, magari partendo da problemi pratici non troppo banali (affrontabili con tecniche meno complesse), ma nemmeno tanto complicati da risultare ostici.

Che ne dite? Aspetto il vostro feedback nei commenti.

Bibliografia

Libri
Tutorial
Servizi online
  • regex101: an online regex tester and debugger.

  • Debuggex, an online visual regex tester.

  • RegExr: learn, build, & test regex.

Tagged with: , ,
Pubblicato su programmazione

Adattatori per il MacBook Pro

I nuovi MacBook Pro non smettono di far parlare di se. E pian piano vengono fuori le vere ragioni che hanno portato a sostituire tutte le porte di connessione con la sola USB-C.

Impareggiabile.

😀 😀 😀 😀 😀

Per gli amatori, c’è pure la versione con i sottotitoli in inglese.

Tagged with: , , , ,
Pubblicato su hardware

Divertirsi con il terminale

Siete dei fanatici della linea di comando? Volete mettere alla prova la vostra conoscenza del terminale — l’interfaccia a linea di comando di Linux o di macOS/OS X — e della shell bash?

Se avete risposto ‘si’ ad entrambe le domande, fatevi un giretto su Commandline Challenge e mettete alla prova le vostre capacità, risolvendo le sfide proposte.

Alcune possibili soluzioni sono molto più involute ed intricate di quanto sarebbe normale, ma dimostrano allo stesso tempo una maestria con i comandi della shell che rasenta l’arte.

Post Scriptum. Non prendetevela con me se la vostra produttività crolla vertiginosamente dopo aver letto questo post!

Tagged with: , , , ,
Pubblicato su software

Command line fun

Are you a fan of the command line? Do you wish to test your knowledge of the terminal — the command line interface of Linux or macOS/OS X — and of the bash shell?

If you answered ‘yes’ to the questions above, head your browser to Commandline Challenge and test your skills trying to solve the challenges proposed there.

Some of the possible solutions are much more convoluted than normal, but they also show a technical mastery that resembles art.

Disclaimer. It is not my fault if your productivity sinks after reading this post!

Tagged with: , , , ,
Pubblicato su software

Il nonno dell’Apple Watch

Gli smartwatch sono forse gli oggetti tecnologici più in cerca di una collocazione ben definita. Pebble, l’azienda che ha inventato il concetto stesso di smartwatch, è in crisi profonda ed è stata acquisita pochi mesi fa da Fitbit, subendo una cura dimagrante che le ha fatto perdere il 60% della forza lavoro. Android Wear non è mai decollato, anzi probabilmente non è mai nemmeno partito, condannato da un hardware inguardabile e da un software deficitario.

L’unico smartchwatch di successo è, scommettiamo?, Apple Watch che in un paio di anni ha distrutto i concorrenti prendendosi il grosso delle vendite, anche se è difficile separare i meriti di Apple Watch dai demeriti dei concorrenti.

Quello che manca agli smartwatch è una applicazione killer che li renda desiderabili oltre la cerchia ristretta nella quale sono penetrati finora. Il fitness, il monitoraggio e la registrazione dei parametri bio-fisici mentre si fa attività sportiva, probabilmente non basta, non è una ragione sufficiente per desiderare di possedere uno smartwatch.

Una cosa simile è successa negli anni’80 con l’avvento dei computer personali come l’Apple II; la pubblicità lo collocava in cucina, davanti ad un signore che scriveva un rapporto mentre sorseggiava un caffé e aspettava che il pranzo fosse pronto. Interesse del pubblico per una cosa del genere: tiepido. Poi è uscito VisiCalc e iniziarono a fare a botte per assicurarsi un Apple II e poter usare il programma.

Proprio intorno agli anni ’80 nascono anche i primi orologi intelligenti, i nonni degli smartwatch di oggi.

Il primo in assoluto fu l’HP-01, prodotto nel 1977 dalla mitica Hewlett-Packard, che in quegli anni era l’azienda più avanzata nel campo della tecnologia elettronica digitale.1

l’HP-01 era un modello a quarzo (una vera novità) con un mini-display a cristalli liquidi e funzioni strepitose per l’epoca: allarme, cronometro, calendario e calcolatrice. Tutte utilizzabili tramite una micro-tastiera da 28 tasti, così minuscoli da dover essere premuti con lo stilo incorporato nel cinturino d’acciaio, una cosa degna di James Bond. L’elettronica era distribuita su ben sei circuiti stampati alimentati da tre batterie, un vero e proprio gioiello tecnologico per l’epoca.2

L’HP-01 costava 695 dollari, equivalenti a più di 2.700 dollari di oggi.

Successo commerciale: zero. Troppo complicato, troppo scomodo da usare, troppo caro. E con un display a LED che consumava rapidamente le batterie e che era già tecnologicamente obsoleto, destinato ad essere rapidamente soppiantato dai nuovi display a cristalli liquidi (LCD).

E già che siamo in tema di orologi, come non ricordare il Black Watch, l’Orologio Nero non intelligente di Sir Clive Sinclair, l’indimenticato padre dello ZX Spectrum e del QL ma anche il genio incontrastato del vaporware?

Nel 1975, il Black Watch veniva venduto a 18 sterline (o 29.95 dollari) in scatola di montaggio e a 25 sterline (49.95 dollari) già montato, ma non faceva differenza, tanto non funzionava. Ed era meglio così: i pochi esemplari che riuscivano ad accendersi erano totalmente inutili, perché l’ora visualizzata dipendeva fortemente dalla temperatura esterna.

Sinclair, con la faccia tosta che lo caratterizzava, riuscì perfino a riutilizzare le scorte invendute, trasformandole in orologi da cruscotto. C’è qualcuno oggi che cerca di imitarlo, annunciando uno ZX Spectrum rivisitato che probabilmente non vedrà mai la luce. Io comunque mi sono registrato, voglio proprio vedere fino a che punto gli epigoni saranno degni del maestro.

Bibliografia


  1. La Texas Instruments, la più importante concorrente di HP nel campo dell’elettronica di consumo, intanto produceva il LED Watch, un orologio carino e molto economico ma privo di funzioni intelligenti

  2. Chi fosse interessato ai dettagli tecnici può leggere questo articolo dedicato all’HP-01, pubblicato sull’HP Journal di dicembre 1977. 
Tagged with: , , , , , , , ,
Pubblicato su hardware
Informativa
Questo sito utilizza cookie di terze parti per inviarti pubblicità e servizi in linea con le tue preferenze. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie, clicca qui. Scorrendo questa pagina, cliccando su un link o su qualunque altro elemento o proseguendo la navigazione in altra maniera, acconsenti all'uso dei cookie.
Follow MelaBit on WordPress.com
Categorie
%d blogger hanno fatto clic su Mi Piace per questo: