2020/06/15

Appunti del catalogatore/rinominatore

Ho trovato un altro blocchetto di appunti all’inizio sfuggitomi.

Mio padre era un “collezionatore” (ben diverso dall’essere un collezionista). Una delle cose digitali che collezionava erano i file MIDI. Aveva poi il problema di rinominarli in modo massivo secondo qualche criterio. Così aveva sviluppato un programma (sull’Amiga) che gli consentiva di fare quello che gli serviva. Credo di averlo già accennato da qualche parte.

Dall’immagine sopra evinco che l’azione di questo nominatore potesse essere guidata da un file “bat”1.

Carica file bat — alloca lista

sep???

GetLine

Separa nome orig. e nome nuovo (strip spaces)

inserisce in lista

  • ptr nome file
  • ptr nome nuovo

(ordina lista?)

Crea lista dir ___ (ExAll)

  • Prende nome ExAll2,
    • se match exactly
      • scorre lista bat (ordinandola)
      • finisce ‘non trovato’ se fine lista oppure 1° char superato (in ordine alfabetico)
      • se trovato:
        • se ‘activate criteria’, usa nome nuovo come input per le subs di rename
        • se no, usa nuovo nome come input di Rename finale (cerca solo se duplicato)
    • se match best: scorre lista come exactly
      • se è exactly, ok
      • se no, riscorre la lista cercando in ogni stringa la max corrispondenza nel nr. di caratteri consecutivi =
      • ripete match per ogni nome, memorizzando a ogni ricerca il ptr alla stringa con maggiore nr char = e il nr stesso.
    • Se incontra match con stesso nr precedente, setta flag ‘incerto’ e lo resetta per […]

Gli elenchi sono usati nel tentativo di imitare un minimo l’indentazione degli appunti.

Dunque… al di là di cercare di ricostruire l’algoritmo, si evince che il programma dovesse essere in grado di trovare anche delle corrispondenze parziali, e che uno dei suoi scopi era anche quello di trovare i potenziali duplicati.

Questo presupponeva uno schema di nomi significativo, probabilmente ricavato dalle informazioni contenute nei MIDI stessi.

In un’altra pagina vedo quella che sembra una bozza degli elementi dell’interfaccia presenti.

Path sorgente, filtro (pattern match), la possibilità di specificare un separatore di suffisso suffissi ecc. Da SKIP e GO si evince anche che il programma era interattivo all’occorrenza — forse proprio per i casi incerti?

In mezzo ai frammenti dell’interfaccia si vede lo spacchettamento di un byte di flag (DOWILD, ITSWILD, DODIR). Sotto, il text gadget per selezionare un file di report, naturalmente con a fianco il gadget per aprire il dialogo e selezionare la cartella. Ai tempi della arp.library aveva fatto il suo cosetto per selezionare un file o una cartella, se non ricordo male; qui siamo però ai tempi in cui la fortuna della arp.library era da tempo sfumata con le nuove versioni delle librarie di sistema. C’era l’asl.library per i requester per file, font… Quindi premendo quell’immaginetta a destra dello spazio riservato al path del file di report, si sarebbe aperto un requester per inserire il path appropriato e il nome del file desiderato.

Invece dlink_pan00 è il nome del SID del primo modem WIFI che entrò a casa. E più giù, la sua password… non vi eccitate: non uso più quella password dall’epoca — venti anni fa o giù di lì!3 Come al solito papà si appuntava delle cose volanti sulla prima cosa, o quasi, che aveva a portata di mano.

Sì, ok, sto parlando di software…


  1. Batch. Come per windows, non si tratta di qualcosa che la Microsoft ha inventato: è un sostantivo generico, che significa “lotto”. In questo caso questo “bat” serve per guidare l’elaborazione a lotti di una serie di file, perciò non ha niente a che fare con quel maledetto “punto bat” e naturalmente con l’interprete ad esso associato (che chiunque abbia un minimo usato sh riconoscerà come primitivo).↩︎

  2. ExAll è l’API della dos.library (parliamo di Amiga) che permette di elencare tutti i file e directory a partire da un certo percorso (cioè da una certa cartella). Cfr. per esempio qui o qui — a partire dalla v52 la ExAll è stata rimpiazzata, ma all’epoca…↩︎

  3. I più all’avanguardia riconosceranno la firma dei file Microsoft… esatto, l’ho usata perché dà una parvenza di complessità ed è anche un facile richiamo mnemonico. Anche il resto delle cifre esadecimali usate ha una “lettura umana possibile”.↩︎

Nessun commento:

Posta un commento

Commenta solo per dare un contributo utile, una critica costruttiva o fare un'osservazione acuta. Non commentare solo per dire che esisti anche tu o che ti piace o dispiace quello che hai letto e visto su questo blog.