Archiviamo Cassandra

Archivismi - Oggi cambiamo lato della medaglia; niente tecnica, raccontiamo una storia vera.



[ZEUS News - www.zeusnews.it - 20-02-2024]

archiviamo cassandra 1

Questo è un articolo su più pagine: ti invitiamo a leggere la pagina iniziale
Archivismi: la preservazione della cultura

Finora abbiamo lavorato su Internet Archive, ma solo con esempi semplici. Archiviare vuole però spesso dire archiviare una quantità di materiali diversi, con uno scopo finale. In questi casi non ci sono esempi semplici che bastino; il diavolo sta sempre nei dettagli e le informazioni più utili si apprendono ascoltando storie ed esperienze reali.

Ecco che oggi Cassandra vi racconterà una storia vera, tuttora non conclusa, e parlerà solo di dettagli che non hanno a che fare direttamente con Internet Archive, ma con le fasi preliminari una campagna di archiviazione generica, in cui il lavoro più lungo è ritrovare, raccogliere e soprattutto preparare il materiale per l'archiviazione vera e propria.

E cosa di meglio che raccontare la campagna di archiviazione di Cassandra Crossing? Si, era da tempo che Cassandra metteva da parte pezzi destinati a essere archiviati. Ma andiamo con ordine.

Le origini di Cassandra Crossing risalgono al lontano 2003, la pubblicazione regolare (beh, quasi) inizia invece nel 2005 su Punto Informatico. Prosegue poi su altre testate come Zeus News, talvolta in parallelo. Si estende anche su carta e in video.

I materiali disponibili erano dei tipi più svariati; file di testo con e senza accenti, file di word processor di tipi diversi, file Pdf e chi più ne ha più ne metta. Tanti file sono ovviamente andati semplicemente persi. Fu così che parecchi anni fa Cassandra cercò il modo di recuperare, omogeneizzare e centralizzare tutto il corpus di Cassandra.

Come in tutte le cose, non conviene buttarsi a capofitto in un lavoro ma pensare, programmare, fare e poi cercare una via ancora migliore. Dopo diversi tentativi, Cassandra ha provato Medium, un social specializzato per scrittori o aspiranti tali. Oltre a fornire un punto unico in cui scrivere con un discreto editor online e immagazzinare gli articoli, Medium è dotato di una ottima funzionalità di importazione di testo da qualunque sito, anche con pagine piene di pubblicità o effetti vari. È dotato di una funzionalità di esportazione dei dati utente, che salvava i singoli articoli in formato in Html.

Fu così che Cassandra centralizzò l'archivio su Medium, non senza aver dedicato molto tempo a ritrovare, con i motori di ricerca, i link ai vecchi articoli, mai archiviati in locale o comunque perduti. Ma la soluzione non era soddisfacente per vari motivi, a cominciare dal fatto che gli articoli erano in un cloud, e peggio ancora in quello che sostanzialmente era un social, con tutti gli aspetti deleteri che Cassandra odia e vi racconta spesso.

E così Cassandra decise di iniziare ad archiviare Cassandra Crossing su Internet Archive. E visto che si partiva da un archivio completo in formato omogeneo, sembrava dovesse essere una passeggiata. «Madornale errore», come usa dire Jack Slater. Infatti l'omogeneità necessaria non è solo una questione di formato, ma soprattutto di struttura interna e di omogeneità delle informazioni memorizzate dei file degli articoli.

Partiamo dalla cosa più semplice: i nomi dei file. Ovviamente Medium utilizza una sua filosofia e forma il nome dalla data di pubblicazione (non quella originaria, ma quella su Medium), aggiungendo un identificativo binario e una derivazione del titolo: qualcosa tipo

2023-12-29_Cassandra-Crossing — Archivismi — l-organizzazione-dei-documenti-in-Internet-Archive-e83b9e3b9cca.html

E' pur vero che i file si rinominano anche a mano, ma si tratta di un lavoro improbo quando i file sono centinaia o migliaia. Automatizzare diventa indispensabile. Per fortuna in Linux sono disponibili linguaggi di scripting potenti e librerie che hanno del miracoloso.

Si riesce quindi a rinominare abbastanza facilmente i file togliendo, aggiungendo e riordinando informazioni. Paradossalmente la cosa più difficile è stata inserire automaticamente il numero dell'articolo all'inizio del nome del file.

Per fortuna Cassandra, che talvolta è metodica, aveva l'abitudine di scrivere il numero dell'articolo all'inizio del sottotitolo, mettendolo tra parentesi tonde. Con qualche piccola alchimia di espressioni regolari è stato così possibile estrarlo automaticamente e utilizzarlo per costruire un più "umano" nome di file come

562_Cassandra-Crossing — Archivismi — l-organizzazione-dei-documenti-in-Internet-Archive.html

Poi è stato necessario elaborare i file, ripulirli e convertirli in formati bene archiviabili. Il primo passo necessario è stato ripulire i file Html da una immane quantità di tag nascosti, totalmente inutili per definire il testo ma necessari per garantire le funzionalità del sito di Medium. Infatti, come tutti i social, Medium implementa le funzioni di esportazioni al minimo sindacale richiesto dal (sempre sia lodato) GDPR, e quindi produce dati completi si, ma non adatti per essere facilmente riutilizzati.

La soluzione migliore che Cassandra ha trovato è stata quella di convertire l'Html in formato markdown, filtrare delle linee che non contenevano informazioni utili e riconvertirlo nuovamente in Html. Questo piccolo miracolo è stato possibile grazie alle librerie di conversione documentale Pandoc, coadiuvate dalle normali utilità Unix come grep.

Ora che i file sono ripuliti e hanno un nome umano sussiste ancora il problema delle immagini incluse nei file. Infatti le immagini non vengono esportate con gli altri dati, e gli URL delle immagini puntano tutti ai server di Medium, che quindi, malgrado tutto il lavoro fatto, ha ancora in pugno una parte importante degli articoli.

È necessario quindi convertire le immagini remote in immagini inline, dentro lo stesso codice Html, codificandole in base64. Questo processo, concettualmente semplice, di solito deve essere svolto a mano per ogni singolo file e URL; per fortuna esiste il modo di farlo automaticamente, tramite il parametro  self-contained, aggiunto al comando Pandoc di riscrittura dell'Html.

Il formato principale scelto per l'archiviazione è comunque il Pdf, che non ha questo problema perché convertendo l'Html in Pdf le immagini vengono inserite direttamente nel file.

Per non farsi mancare niente, sempre grazie ai miracoli di Pandoc, Cassandra ha potuto convertire in maniera semplicissima in Pdf tutti i formati già prodotti, l'Html di partenza, il markdown e l'Html semplificato, scegliendo poi il migliore. Il risultato, per ora, lo trovate qui.

Un paio di giornate "piene" di lavoro hanno portato a questo script Bash di 39 righe, certamente non ottimale né privo di errori, che qui comunque commenteremo, giusto per rendere l'idea. Capirlo a grandi linee è sufficiente. Ma se vi servisse, riutilizzarlo sarebbe per voi un bel risparmio di tempo.

# Procedura per la preparazione all'archiviazione degli articoli
# di Cassandra Crossing
#
# inizializzazioni varie
_base="./tuttocassandra_elaborazione/"
_base2="./posts/"
_base3="./markdown/"
_base4="./temp/"
_base5="./html/"
_base6="./pdf/"
_temp="temp.txt"
#
# cambio directory di lavoro, creazione directory e pulizia file
cd "${_base}"
mkdir markdown html temp pdf
rm markdown/* html/* temp/* pdf/*
cd "${_base2}"
_dfiles="*"
rm "${_temp}"
#
# inizio loop principale
for f in $_dfiles
do
#
# estrazione del numero dell'articolo
g=`grep -Eo -m 1 ‘\([0-9]+\)' $f | tr -d ‘()'`
g="000"$g
g=`echo $g | rev | cut -c 1-3 | rev`
h=`echo $f | cut -d ‘_' -f2- | rev | cut -d ‘-' -f2-| rev`
#
# formazione del nuovo nome del file e copia col nuovo nome
i=$g"_"$h
echo "$i"
cp $f "../$_base4${i}.html"
#
# conversione in formato markdown, ripulitura e riconversione in html
pandoc -f html -t markdown "../"$_base4$i".html" > "${_temp}"
grep -v "^:::" "${_temp}" |sed -e ‘s|{#.*}||g' > "../"${_base3}$i".md"
pandoc — self-contained -f markdown -t html "../"${_base3}$i".md" > "../"$_base5$i".html"
pandoc — pdf-engine=xelatex -f markdown -t pdf "../"$_base3$i".md" > "../"${_base6}$i".pdf"
#
# pulizia e fine ciclo
done
rm -rf "${_temp}" "../$_base4"

Ti invitiamo a leggere la pagina successiva di questo articolo:
Archiviamo Cassandra, parte seconda

Se questo articolo ti è piaciuto e vuoi rimanere sempre informato con Zeus News ti consigliamo di iscriverti alla Newsletter gratuita. Inoltre puoi consigliare l'articolo utilizzando uno dei pulsanti qui sotto, inserire un commento (anche anonimo) o segnalare un refuso.
© RIPRODUZIONE RISERVATA

Approfondimenti
Cassandra Crossing/ Il quarto Cavaliere
Cassandra Crossing/ Storie di aerei caduti e del loro software
Cassandra Crossing/ Extended Play
Cassandra Crossing/ L'insostenibile inaffidabilità delle infrastrutture
Spiccioli di Cassandra/ La Tv nuova
Cassandra Crossing/ Bandersnatch
Debian e Kali Linux ora girano dentro Windows 10
Addio, Windows Vista
25 anni di Linux
Windows Ink, Project to PC e Bash sotto Windows
Linux compie 17 anni
Amministrazione avanzata di server Linux

Commenti all'articolo (ultimi 5 di 24)

Il tempo cancella tutto quello che viene consumato dal tempo. Puoi sempre trovare qualcosa che anche il tempo abbia difficoltà a cancellare. :P Come diceva un proverbio arabo; L'uomo teme il tempo, il Tempo teme le piramidi =) Io poi non sono convinto del formato in cui sono conservati dati poiché il film su pellicola, per la sua... Leggi tutto
14-5-2024 18:44

{Apon75}
Ahahahaha! Che divertimento. Prima congelavano i corpi, nella speranza che in futuro, si disponga di conoscenze e tecniche per "svegliare" il morto e sanarlo dalla malattia incurabile della sua epoca. Visto che la criostasi è una leggenda moderna a cui non crede quasi più nessuno (con i soldi), data... Leggi tutto
9-5-2024 15:24

Grazie 🙏🏻
23-4-2024 14:03

La liberta' di parola e' un diritto inviolabile, ma nei forum di Zeus News vige un regolamento che impone delle restrizioni e che l'utente e' tenuto a rispettare. I moderatori si riservano il diritto di cancellare o modificare i commenti inseriti dagli utenti, senza dover fornire giustificazione alcuna. Gli utenti non registrati al forum inoltre sono sottoposti a moderazione preventiva. La responsabilita' dei commenti ricade esclusivamente sui rispettivi autori. I principali consigli: rimani sempre in argomento; evita commenti offensivi, volgari, violenti o che inneggiano all'illegalita'; non inserire dati personali, link inutili o spam in generale.
E' VIETATA la riproduzione dei testi e delle immagini senza l'espressa autorizzazione scritta di Zeus News. Tutti i marchi e i marchi registrati citati sono di proprietà delle rispettive società. Informativa sulla privacy. I tuoi suggerimenti sono di vitale importanza per Zeus News. Contatta la redazione e contribuisci anche tu a migliorare il sito: pubblicheremo sui forum le lettere piu' interessanti.
Sondaggio
Hai ricevuto un messaggio da un amico su un social network. Il tuo amico ti invita a fare click su un link e a mettere ''mi piace'' ad alcune foto. Cosa fai?
Certo! Me lo chiede un amico
Gli chiedo di darmi qualche informazione in più sulle foto. Se mi risponde, faccio click sul link
Sposto il messaggio nella cartella spam e blocco il mio amico

Mostra i risultati (1376 voti)
Dicembre 2024
Wubuntu cerca di unire il meglio di Windows e di Linux
Diffamazione, il mondo virtuale non equivale a quello reale
Il router completamente open source
Windows 11 perde utenti nonostante gli sforzi di Microsoft
Novembre 2024
Huawei, l'addio ad Android è completo
Contanti e trionfanti
WhatsApp, la trascrizione dei messaggi vocali è realtà
La vecchietta digitale che fa perdere tempo ai truffatori telefonici
La punteggiatura è morta: l'ha uccisa l'iPhone
Elon Musk e l'attacco ai giudici italiani
D-Link, falla in migliaia di NAS non sarà mai corretta
L'app per aggiornare a Windows 11 anche i PC non supportati
Lo script per aggirare i requisiti hardware di Windows 11
Windows, ora si può accede allo smartphone senza il cavo USB
Ottobre 2024
San Francisco, 200 milioni per liberare la metropolitana dai floppy disk
Tutti gli Arretrati
Accadde oggi - 13 dicembre


web metrics