Manuale
Introduzione
blunderDB è un software per creare database di posizioni di backgammon. Il suo punto di forza principale è fornire un luogo unico in cui aggregare le posizioni che un giocatore ha incontrato (online, in torneo) e poterle riesaminare filtrandole secondo vari filtri combinabili arbitrariamente. blunderDB può anche essere usato per creare cataloghi di posizioni di riferimento.
Le posizioni sono memorizzate in un database rappresentato da un file .db. L’applicazione desktop apre questo file direttamente, mai un indirizzo di rete: la modalità server (Modalità headless (server)) è un’altra modalità dello stesso binario, e si passa dall’una all’altra esportando o migrando il database, non puntando l’applicazione verso un URL.
Interazioni principali
Le principali interazioni possibili con blunderDB sono:
aggiungere una nuova posizione,
modificare una posizione esistente,
copiare l’immagine del board negli appunti (PNG) tramite CTRL-X, oppure con l’analisi completa tramite CTRL-X CTRL-X,
eliminare una posizione esistente,
cercare una o più posizioni,
importare match da diverse fonti (XG, GNUbg, BGBlitz, Jellyfish), compresi i commenti dai file XG,
navigare tra le mosse di un match importato,
organizzare le posizioni in raccolte,
organizzare i match in tornei.
L’utente può etichettare liberamente le posizioni con tag e annotarle tramite commenti.
Descrizione dell’interfaccia
L’interfaccia di blunderDB è composta, dall’alto verso il basso, da:
[in alto] la barra degli strumenti, che raccoglie tutte le principali operazioni eseguibili sul database,
[al centro] l’area di visualizzazione principale, che permette di visualizzare o modificare posizioni di backgammon,
[in basso] la barra di stato, che presenta diverse informazioni sul database o sulla posizione corrente e integra la riga di comando.
Possono essere visualizzati dei pannelli per:
visualizzare i dati di analisi associati alla posizione corrente provenienti da eXtreme Gammon (XG), GNUbg o BGBlitz,
visualizzare, aggiungere o modificare commenti,
cercare e filtrare posizioni secondo criteri combinabili,
visualizzare e gestire le raccolte di posizioni (pannello raccolte),
visualizzare l’elenco dei match importati e navigare tra le mosse di un match (pannello match),
visualizzare e gestire i tornei (pannello tornei),
visualizzare le statistiche di performance (pannello Stats),
calcolare l’EPC (Effective Pip Count) di una posizione di bearoff (pannello Eval),
studiare le posizioni tramite ripetizione dilazionata (pannello Anki),
visualizzare i metadati del database (pannello Metadati).
Possono comparire finestre modali per:
visualizzare la guida di blunderDB,
visualizzare il catalogo delle visite guidate (vedi Visite guidate e database di esempio),
configurare le impostazioni di esportazione del database,
configurare blunderDB, in particolare la lingua dell’interfaccia (vedi Configurazione).
L’area di visualizzazione principale mette a disposizione dell’utente:
un board per visualizzare o modificare una posizione di backgammon,
il livello e il proprietario del cubo,
il pip count di ciascun giocatore,
il punteggio di ciascun giocatore,
i dadi da giocare. Se sui dadi non è mostrato alcun valore, la posizione dei dadi indica quale giocatore ha il turno e che la posizione è una decisione di cubo. Quando la decisione di cubo è una risposta a un raddoppio (prendi/passa), il cubo proposto è mostrato al centro del board, al valore offerto.
Gli appunti sono il gesto corrente; salvare è l’altro bisogno — l’illustrazione di un articolo, di un messaggio di forum, di una lezione. L”SVG è proposto perché la dama lo è: è la forma che sopravvive a un ingrandimento, quella che si mette in un documento senza sfocarla. Il PNG ne deriva, come la copia negli appunti: un solo rendering, tre destinazioni, quindi nessuna può divergere dalle altre. Questo menu non compare nel pannello Eval né nel pannello Ricerca, dove il tasto destro serve già a posare le pedine dell’altro colore. Vedere Portare una posizione nel pannello Eval per portare una posizione nel pannello Eval.
La barra di stato è strutturata da sinistra a destra con le seguenti informazioni:
la riga di comando, accessibile premendo il tasto SPAZIO,
un messaggio informativo relativo a un’operazione eseguita dall’utente,
l’indice della posizione corrente, seguito dal numero di posizioni nella biblioteca corrente (o le informazioni di mossa/partita durante la navigazione di un incontro),
il contatore della libreria — «412 posizioni · 38 blunder · 5 match» — dove ogni numero apre ciò che conta: le posizioni, la ricerca
E>preparata nella riga di comando alla soglia della libreria, o l’elenco dei match. Una cifra che non si può seguire è una decorazione. La soglia dei blunder è quella della libreria, impostata nella scheda Libreria della configurazione e condivisa con le statistiche: due soglie farebbero dire due cose alla stessa parola. Il contatore promette esattamente ciò che il suo collegamento apre, anche per una posizione giocata in più modi, che vale il suo costo più elevato.
Nota
Nel caso di posizioni derivanti da una ricerca dell’utente, il numero di posizioni indicato nella barra di stato corrisponde al numero di posizioni filtrate.
La scheda Anki porta un contrassegno quando ci sono carte da ripassare, in tutti i mazzi. Quella cifra è la ragione per aprire la scheda; non ha nulla da fare dietro di essa. Zero non mostra nulla: un contrassegno che dice «0» è rumore.
Il comando log apre il registro attività: le ultime duecento righe del file di log, un pulsante per copiarle — quanto serve per allegare un rapporto a una segnalazione — e un altro per aprire la cartella che le contiene. Il registro non è né filtrato né riformattato: un registro che si abbellisce è un registro che non si può più citare.
Il comando grid apre il provino: l’elenco sfogliato — risultati di una ricerca, libreria, collezione — come griglia di mini-tavolieri, disegnati come il tavoliere, in pagine da ventiquattro. Si apre sulla pagina della posizione corrente, la cui miniatura è incorniciata; un clic o INVIO su una miniatura ne apre la posizione sul tavoliere e chiude il provino, e si sfoglia interamente da tastiera (vedi Provino). Non si apre né in modalità modifica né in un match, che si sfoglia per mosse.
Nella cronologia delle ricerche del pannello Ricerca, ogni token di un comando salvato appare come un’etichetta con nome — Senza contatto, Errore di mossa — anziché come token nudo. Il comando esatto resta nel suggerimento, perché è quello che si rilancia; e un token che blunderDB non riconosce appare così com’è, non tradotto al più vicino.
Schede delle viste
Sotto la barra degli strumenti, una barra delle schede consente di lavorare con più viste in parallelo. Ogni vista è uno spazio di lavoro indipendente che conserva il proprio elenco di posizioni, l’indice della posizione corrente, la posizione visualizzata, l’analisi e la mossa selezionata, il pannello attivo, il commento in corso nonché il contesto di navigazione in un match. È così possibile, ad esempio, tenere aperta una ricerca in una vista mentre si scorre un match in un’altra.
Creare una vista : fare clic sul pulsante + della barra delle schede o premere CTRL-T. La nuova vista parte come copia della vista corrente.
Chiudere una vista : fare clic sulla croce della scheda o premere CTRL-W. L’ultima vista non può essere chiusa.
Cambiare vista : fare clic su una scheda, premere CTRL-PageUp / CTRL-PageDown (o MAIUSC-J / MAIUSC-K) per passare alla vista precedente / successiva, oppure da CTRL-1 a CTRL-9 per raggiungere direttamente l’n-esima vista.
Rinominare una vista : fare doppio clic sulla scheda, inserire il nuovo nome e confermare con INVIO.
Le viste vengono salvate con lo stato di sessione del database e ripristinate alla sua riapertura.
Configurazione
Il pulsante di configurazione (icona a forma di ingranaggio) situato nella barra degli strumenti, a sinistra del pulsante di aiuto, apre la finestra di configurazione di blunderDB. È organizzata in sette schede:
Interfaccia — lingua, scala di visualizzazione, posizione del pannello;
Colori della board — i colori della board;
Libreria — ciò che appartiene al database aperto: le soglie di errore e di blunder, la compattazione e la riparazione, descritte qui sotto;
Bearoff — le tabelle di bearoff usate dal pannello Eval;
gammonNet — le impostazioni del valutatore integrato, descritte qui sotto;
Cartella sorvegliata — l’importazione automatica degli incontri che arrivano in una cartella, descritta più sotto;
Identità dell’emittente — la chiave che firma i tuoi contrassegni di origine, descritta nella sezione Distribuire un database: origine e password.
La scheda Interfaccia comincia con un tema: seguire il sistema, chiaro, scuro, contrasto elevato o stampabile. Il tema regola i colori dell’interfaccia e propone una tavolozza per la dama — un’interfaccia scura attorno a una dama chiara non è un tema scuro, è la metà di uno, poiché la dama occupa gran parte della finestra.
Voi mantenete l’ultima parola, e il meccanismo lo garantisce anziché prometterlo: la scheda Colori continua a regolare la dama direttamente, e un colore scelto dopo il tema è il vostro. All’avvio sono applicati solo i token dell’interfaccia, mai la tavolozza della dama — quella che avete regolato è già caricata, e riscriverla a ogni lancio cancellerebbe il vostro lavoro una sessione alla volta. Vedere ADR-0038.
Seguire il sistema è l’impostazione predefinita: obbedisce alla preferenza chiaro/scuro della scrivania, anche quando cambia a metà sessione. Uno strumento non impone il proprio chiaro o scuro a una scrivania che ha già deciso.
La scheda Interfaccia permette anche di scegliere la lingua fra inglese, francese, tedesco, italiano, spagnolo, finlandese, giapponese, greco e russo. Tutta l’interfaccia (barra degli strumenti, pannelli, messaggi, aiuto) è tradotta nella lingua selezionata. La scelta della lingua è salvata e conservata da una sessione all’altra.
La scheda Libreria riunisce ciò che appartiene al file aperto e non alla macchina. È vuota finché nessun database è aperto, e lo dice.
Porta anzitutto le due soglie che decidono il vocabolario dell’intera applicazione: una decisione è un errore non appena il suo costo raggiunge la soglia di errore, e questo errore è un blunder non appena raggiunge la soglia di blunder. Ogni blunder è un errore, quindi la prima soglia non può superare la seconda, e blunderDB rifiuta la coppia invertita. I valori si inseriscono in equità — «0,080» — l’unità di tutte le tabelle; la riga di comando, invece, parla in millipunti, sicché la soglia 0,080 si scrive E>80 in una ricerca.
Queste soglie seguono il file, non il computer: lo stesso database conta gli stessi blunder ovunque lo si apra, blunderdb info le mostra, e blunderdb edit --error-threshold / --blunder-threshold le imposta. Non viaggiano in un’esportazione: una soglia è un’abitudine di lettura, non un fatto delle posizioni.
Tre preimpostazioni sono proposte con un clic, ciascuna con il nome del programma che ha tracciato quella linea: blunderDB (0,050 / 0,100), XG (0,020 / 0,080) e gnubg (0,040 / 0,080). Per impostazione predefinita, una libreria legge 0,050 e 0,100.
Ciò che cambiano, sullo schermo: il numero di blunder del contatore della barra di stato e la ricerca che il suo collegamento prepara, le colonne «Errori» e «Blunder» delle statistiche e della tabella dei giocatori, i segni delle mosse nella scheda di un match (Pannello Match), e l’elenco delle posizioni che blunderDB propone di rivedere dopo un’importazione.
La stessa scheda offre anche il pulsante Compatta il database, che recupera lo spazio su disco lasciato dalle eliminazioni (match, tornei, purghe): il database non si riduce mai da solo quando si cancellano dati, questa compattazione va chiesta esplicitamente. L’operazione può richiedere tempo su un database grande e necessita, temporaneamente, di circa il doppio della sua dimensione in spazio libero (blunderDB rifiuta di partire anziché rischiare una compattazione interrotta); prima di avviarla viene quindi chiesta una conferma. Il risultato — lo spazio guadagnato, in megabyte — appare poi nella barra di stato. La stessa operazione è disponibile da riga di comando con blunderdb vacuum (vedere Interfaccia a riga di comando (CLI)).
Il pulsante Apri la cartella dei registri, subito sotto, apre la cartella che contiene il registro dell’applicazione — utile per allegare dettagli a una segnalazione di problema, in particolare quando blunderDB è stato avviato da un collegamento o da un doppio clic, senza un terminale collegato che mostri alcunché.
La casella Verificare gli aggiornamenti all’avvio, disattivata per impostazione predefinita, interroga una volta per avvio la pagina delle versioni del repository GitHub e mostra nella barra di stato un messaggio se è disponibile una versione più recente — mai una finestra che blocchi l’uso. Questa verifica resta automaticamente disattivata su un’installazione fatta tramite un gestore di pacchetti (Flatpak, Homebrew, un pacchetto della distribuzione…): in quel caso è quel canale a gestire gli aggiornamenti, non blunderDB.
Due impostazioni governano l’ordinamento delle posizioni vicine (token like, vedere Pannello Ricerca): il numero di vicine restituite e la distanza massima oltre la quale una posizione cessa di esserlo. Questa distanza vale zero per impostazione predefinita, cioè nessun limite: la scala dipende dalla fase di gioco, e un valore scelto qui si leggerebbe come una misura. Il token like<12 impone la propria per una ricerca, senza toccare l’impostazione.
La scheda Colori della board permette di personalizzare i colori della board. Ogni elemento dispone di un proprio selettore di colore: lo sfondo, il bordo, le punte chiare e scure, le pedine del giocatore 1 e del giocatore 2, i dadi, i punti dei dadi e il cubo. Il pulsante Reimposta ripristina tutti i colori predefiniti. Come la lingua, i colori scelti vengono mantenuti da una sessione all’altra.
La scheda Bearoff gestisce le tabelle di bearoff del pannello Eval (vedi Pannello Eval). Non sono né incorporate nell’eseguibile né scaricate: blunderDB le calcola sulla macchina che le usa, e il risultato è identico byte per byte a ciò che produce gnubg — l’impronta SHA-256 è verificata prima che una tabella venga accettata.
Le due tabelle ordinarie (TS-06-06 per il verdetto di cubo, OS-06 per l’EPC) sono calcolate al primo avvio, in secondo piano e senza chiedere nulla: circa sei secondi su un core, durante i quali l’applicazione si usa normalmente. Il pannello Eval lo segnala solo se vi si pone una posizione che ha bisogno di una tabella non ancora pronta.
La scheda mostra il dominio attivo e la sua origine, lo stato della tabella a un lato che legge l’EPC, la cartella dove tutto questo vive, e l’elenco delle tabelle presenti con la loro dimensione e il loro verdetto. Ogni riga si elimina singolarmente, dopo conferma.
Verificata o non verificata. Una tabella verificata ha esattamente i byte che gnubg produce per il suo dominio: la sua impronta SHA-256 figura in blunderDB ed è stata ritrovata. Le impronte registrate per le tabelle a un lato (da OS-06 a OS-10) sono quelle prodotte dallo strumento makebearoff di GNUbg 1.08. Una tabella non verificata è ben formata ma il suo dominio non ha impronta registrata — non le si rimprovera nulla, semplicemente nessuno l’ha confrontata con il riferimento. Una tabella corrotta si contraddice da sé e non viene mai letta; viene ricalcolata.
Calcolare una tabella più ampia. Il dominio si sceglie in un elenco di due famiglie, con il numero di core da dedicarvi (per impostazione predefinita tutti tranne uno, perché la macchina resti utilizzabile):
cubo esatto (due lati), da TS-06-06 a TS-06-15: amplia il dominio in cui la probabilità di vittoria e il verdetto del cubo sono letti anziché stimati;
EPC fuori dalla casa (un lato), da OS-06 a OS-10: amplia la distanza a cui una pedina può trovarsi senza che il blocco EPC taccia. Questo passaggio legge solo posizioni più piccole di quella che calcola, quindi è sequenziale per costruzione e il numero di core non gli serve — il selettore lo dice ingrigendosi.
Prima di lanciare qualsiasi cosa, la scheda dichiara tre cifre per il dominio scelto: la dimensione su disco, la memoria necessaria durante il calcolo e il tempo che dovrebbe volerci su questa macchina. Quest’ultimo comincia come stima e diventa una misura: ogni calcolo abbastanza ampio rileva la propria velocità e la conserva. Un dominio che la memoria disponibile non permette è proposto in grigio, con la ragione — « servirebbero 24 GB, ne restano 12 » è una risposta, una riga assente non lo sarebbe.
Come ordine di grandezza, su una macchina a sedici thread: TS-06-09 pesa 191 MB e richiede una decina di secondi, TS-06-11 pesa 1,2 GB e qualche minuto, TS-06-13 supera ciò che la maggior parte delle macchine può tenere in memoria. Dal lato a un lato, su un core: OS-07 pesa 4,9 MB e richiede 17 s, OS-08 15 MB e 1 min 20, OS-10 117 MB e mezz’ora.
Pausa e ripresa. Durante il calcolo, l’avanzamento mostra il tempo rimanente misurato e due pulsanti distinti: Pausa e Annulla. La pausa scrive lo stato del calcolo accanto alla tabella; rilanciarlo riprende da dove si era fermato invece di ricominciare. Annullare non conserva nulla. Chiudere la finestra di configurazione non interrompe niente — il calcolo prosegue in secondo piano.
Un calcolo messo in pausa si ritrova all’avvio successivo, nominato e quantificato («TS-06-09 interrotta al 43 %»), con Riprendi ed Elimina. Nulla riparte da solo: è l’utente ad aver chiesto l’arresto.
La scheda permette infine di puntare a un file .bd a due lati esterno, per esempio una base prodotta da gnubg stesso: vince la tabella dal dominio più ampio.
La scheda Libreria porta infine Riparare le analisi: le colonne di analisi che la ricerca e le statistiche interrogano sono una proiezione delle analisi memorizzate, le quali restano intatte. Un difetto di proiezione si ripara quindi senza reimportare nulla. È esplicito e mai automatico — riscrivere le colonne di analisi di qualcuno per il solo motivo che apre il proprio database non è una cosa che uno strumento debba fare alle sue spalle. Lo stesso blunderdb repair è disponibile nella riga di comando.
La scheda gammonNet regola il valutatore integrato (vedere ADR-0011). Vi si regolano due profondità di ricerca, denominate e conservate separatamente — abbassare l’una non modifica mai l’altra:
Profondità di visualizzazione — il comfort interattivo durante la modifica del tavoliere; mai scritta nel database.
Profondità di analisi — ciò che il lotto di analisi dopo l’importazione scrive nell’Analisi di una posizione.
Entrambe valgono per impostazione predefinita 2-ply, la configurazione canonica. La scheda propone anche la potatura (predefinita k=12) e il numero di mosse candidate mostrate (predefinito 10), oltre a una casella analizza automaticamente dopo l’importazione che, una volta attivata, verifica dopo ogni importazione se restano posizioni senza alcuna analisi (né gammonNet, né XG, né GNUbg, né BGBlitz — la regola è « una valutazione colma soltanto una lacuna », mai una sostituzione) e, se è il caso, avvia in background un’analisi gammonNet alla profondità di analisi configurata. Un pulsante Analizza ora riavvia manualmente lo stesso recupero, utile per una libreria creata prima dell’esistenza di questa funzione.
Un secondo pulsante, Rianalizza le posizioni obsolete, copre il caso opposto: una posizione già analizzata da gammonNet, ma la cui analisi memorizzata è stata scritta con una versione del motore più vecchia di quella attualmente in esecuzione, o a una profondità diversa dalla profondità di analisi configurata sopra, viene lì segnalata come obsoleta e rivalutata. Una posizione che porta anche un’analisi XG, GNUbg o BGBlitz non viene mai toccata da questo pulsante, qualunque sia il suo contenuto gammonNet — la protezione di ADR-0013 resta incondizionata. Il numero mostrato accanto a ciascun pulsante (posizioni senza analisi, posizioni obsolete) è puramente informativo; il lotto ricalcola il proprio elenco all’avvio.
Entrambi i lotti sono limitati, visibili e annullabili, mai un demone silenzioso: il loro avanzamento (posizioni analizzate / totale) e un pulsante di annullamento compaiono nella barra di stato per tutta la loro durata, e scompaiono una volta terminati a favore di un messaggio che riassume il risultato — quante posizioni sono state analizzate, quante sono state rifiutate (una posizione che gammonNet rifiuta di valutare, come un punteggio di partita fuori dalla portata della sua tabella, il che non è mai un guasto) e quante sono fallite (ritentate, invariate, alla prossima esecuzione). Chiudere l’applicazione durante l’uno o l’altro non perde nulla: ogni posizione analizzata viene scritta man mano, e la prossima esecuzione riprende esattamente da dove l’analisi si era fermata, senza alcun registro da tenere.
Un incontro importato senza analisi ottiene così un PR. È il caso di un incontro giocato online, o di un file Jellyfish .mat, che nessuno ha fatto passare da XG: blunderDB ne conosceva le posizioni e le mosse giocate, ma nessuna analisi diceva quanto valessero. Una volta passato il lotto, la mossa effettivamente giocata è confrontata con la classifica di gammonNet e lo scarto alimenta il PR, il tasso di errore, le peggiori decisioni e tutti gli altri indicatori, esattamente come per un incontro analizzato da XG. Il confronto non inventa nulla: la mossa giocata proviene dalla tabella delle mosse dell’incontro, scritta all’importazione, che il file portasse un’analisi o no.
Un database analizzato con una versione precedente a questa non ha bisogno di essere rivalutato: blunderdb repair ricalcola le colonne a partire dalle analisi e dalle mosse già in archivio e restituisce il loro PR a quegli incontri (vedere repair).
Una riserva onesta: una posizione è identificata dalla sua struttura, quindi una posizione incontrata due volte — giocata bene una volta, male l’altra — porta un solo scarto, quello della sua prima occorrenza registrata. Non è proprio di questo calcolo: una biblioteca XG ha esattamente la stessa forma.
Cartella sorvegliata
La scheda Cartella sorvegliata chiede a blunderDB di guardare una cartella mentre gira e di importare ogni file di incontro che vi compare. Giocare una sessione in eXtreme Gammon, tornare a blunderDB, e trovare gli incontri già lì.
Nulla è indovinato. Finché nessuna cartella è indicata non c’è sorveglianza: blunderDB non si mette a leggere una directory perché ha supposto dove vivono i vostri incontri. Il pulsante Proporre guarda i posti abituali su questa macchina e ne propone uno solo se esiste davvero; altrimenti lo dice, e indicare la cartella spetta a voi.
Tre punti meritano di essere noti prima di attivare la casella:
Sono importati solo i file che compaiono. Ciò che la cartella contiene già quando la sorveglianza parte è registrato come noto e lasciato in pace: puntare una sorveglianza su quattro anni di incontri non deve importarli tutti. Per importare ciò che c’è, usate l’importazione di cartella, che esiste per questo — e le due si compongono benissimo, prima l’importazione, poi la sorveglianza.
Un file è importato solo quando la sua dimensione si è stabilizzata. Un incontro che un altro programma sta scrivendo cresce da un’occhiata all’altra; importarlo scritto a metà darebbe un errore di analisi su cui nessuno può agire. blunderDB attende quindi di vedere due volte lo stesso file immutato.
L’importazione è silenziosa. Stavate studiando una posizione quando sono arrivate le vostre partite: togliervi lo schermo sarebbe il momento peggiore. La modalità, la ricerca attiva, la scheda e la posizione visualizzata non si spostano; l’elenco delle posizioni non viene ricaricato e mostra le nuove partite al prossimo ricaricamento. L’importazione avviene senza finestra, e la barra di stato mostra un banner con il conteggio delle partite importate, ignorate (duplicati) e fallite, con un pulsante che apre il rapporto completo se lo desiderate. Tutto il resto è identico a un’importazione manuale: gli stessi duplicati rilevati, lo stesso lotto di importazione, la stessa analisi automatica se è attivata.
L’intervallo predefinito è di dieci secondi; il minimo è due. La cartella non è percorsa ricorsivamente: una cartella sorvegliata è il posto dove uno strumento deposita i suoi incontri, non un albero da esplorare. Una condivisione di rete smontata non ferma la sorveglianza e non fa nemmeno passare il suo contenuto per nuovo al ritorno.
La stessa sorveglianza esiste da riga di comando, con blunderdb import --type batch --dir <cartella> --watch (vedere Interfaccia a riga di comando (CLI)): è la forma che un server, un’attività pianificata o uno script possono usare.
La finestra di configurazione raggruppa anche alcune impostazioni di visualizzazione dell’interfaccia. Un cursore di scala dell’interfaccia consente di ingrandire o ridurre l’insieme degli elementi, il che è utile sugli schermi ad alta densità o per migliorare la leggibilità. Un menu posizione dei pannelli determina la collocazione dei pannelli (ricerca, match, analisi) rispetto al tavoliere: in basso, di lato o automatica (il lato viene allora scelto sugli schermi larghi per sfruttare meglio lo spazio disponibile). Come le altre impostazioni, queste scelte vengono conservate da una sessione all’altra.
Visite guidate e database di esempio
Per facilitare i primi passi, blunderDB propone delle visite guidate dell’interfaccia. Il catalogo delle visite si apre dalla barra degli strumenti o con il comando tour (alias tutorial). Sono disponibili sette visite: una visita generale dell’interfaccia e visite dedicate alla ricerca di posizioni, alla revisione delle partite, alla revisione dei tornei, al pannello Eval, al ripasso Anki e alle statistiche. Ogni visita evidenzia gli elementi interessati dell’interfaccia, passo dopo passo, apre il pannello di cui parla, e può essere ripetuta in qualsiasi momento. Al primo avvio, la visita generale viene proposta automaticamente.
Il comando demo carica un database di esempio che permette di scoprire le funzionalità dello strumento senza importare le proprie partite: tre partite (due delle quali raggruppate in un torneo) analizzate da eXtreme Gammon, BGBlitz e gammonNet, tre raccolte tematiche, commenti con etichette (#blunder, #cube) e un mazzo Anki con il suo registro dei ripassi. Giocatori, torneo e luogo sono fittizi. Le visite guidate si basano su questo database quando nessun database è aperto.
Modifica delle posizioni
La pressione del tasto TAB apre il pannello di ricerca e permette di modificare una posizione sul board per aggiungerla al database o per definire una struttura di posizione da cercare. La distribuzione delle pedine, il cubo, il punteggio e il turno possono essere modificati con il mouse (vedi Modificare una posizione).
Suggerimento
Fare riferimento a Scorciatoie da tastiera per le scorciatoie disponibili.
La riga di comando
La riga di comando, integrata nella barra di stato, permette di eseguire tutte le funzionalità di blunderDB disponibili nell’interfaccia grafica: operazioni generali sul database, navigazione delle posizioni, visualizzazione dell’analisi e/o dei commenti, ricerca di posizioni secondo filtri… Dopo aver preso confidenza con l’interfaccia, si raccomanda di utilizzare progressivamente la riga di comando, che consente un uso potente e fluido di blunderDB, in particolare per le funzionalità di ricerca delle posizioni.
Per aprire la riga di comando, premere il tasto SPAZIO. Per inviare una richiesta e chiudere la riga di comando, premere il tasto INVIO.
blunderDB esegue le richieste inviate dall’utente a condizione che siano valide e modifica immediatamente lo stato del database se necessario. Non sono richieste azioni di salvataggio esplicite da parte dell’utente.
Suggerimento
Fare riferimento a elenco dei comandi per l’elenco dei comandi disponibili nella riga di comando.
La tavolozza dei comandi
La tavolozza dei comandi (CTRL-MAIUSC-P) ritrova con un nome approssimativo ciò che non si sa più dove cercare: un comando della riga di comando, una scheda, un filtro della libreria o un match. Le lettere digitate devono comparire nell’ordine, non necessariamente attaccate, senza badare a maiuscole e accenti: «mtrcb» trova la matrice del cubo, «lyon» i match di un torneo di Lione.
Le frecce scelgono, INVIO esegue, ESC chiude. Un comando si esegue come se fosse stato digitato; s e ss aprono la riga di comando per scriverci i filtri; un filtro si esegue come con un doppio clic nella libreria; un match si apre come con un doppio clic nel pannello Match.
Quando una Direzione è aperta, la tavolozza vi aggiunge il torneo: giocatori, tavoli, match in corso e prove (vedi la ricerca rapida).
Pannello Analisi
Il pannello Analisi (CTRL-L) visualizza i dati di analisi della posizione corrente importati da eXtreme Gammon (XG), GNUbg o BGBlitz. Mostra le migliori alternative (mosse di pedine o decisioni di cubo) con i relativi valori di equity e gli errori corrispondenti. Il tasto d alterna tra l’analisi delle mosse di pedine e l’analisi del cubo. Durante la navigazione in un match, la mossa effettivamente giocata viene evidenziata nell’elenco delle alternative. Premere CTRL-L o eseguire il comando list per mostrare o nascondere il pannello.
Sotto le tabelle, una frase dice a volte quanto è costata la decisione giocata e perché: «Perdi 120 mMWC: la mossa giocata lascia tre pedine scoperte dove 13/7 8/7 ne lascia solo una.» Viene da sei regole misurabili — l’esposizione, un punto di casa fatto o mancato, le probabilità di gammon abbandonate, una sicurezza che costa più di quanto renda, e i due sensi di un errore di cubo (raddoppiare troppo tardi o troppo presto, prendere troppo largo o passare troppo stretto).
La regola che conta è quella del silenzio: la frase compare solo se una regola si applica con sicurezza, e su un errore oltre la soglia da cui i motori concordano che lo sia. Il resto del tempo non c’è frase — né cornice vuota, né «non lo sappiamo». Una spiegazione sbagliata costa più di nessuna spiegazione: insegna qualcosa di inesatto.
Quando una posizione è stata giudicata da più motori, una fascia in testa al pannello li mette fianco a fianco: una riga per motore, con la sua profondità e la sua risposta — il verdetto del cubo, o la sua propria mossa migliore. Dice anzitutto se concordano, ed è il disaccordo a giustificarla: «XG dice raddoppio, presa; gammonNet dice niente raddoppio» si legge a colpo d’occhio, là dove bisognava confrontare due tabelle in diagonale.
La mossa migliore di un motore è la migliore di quel motore: l’elenco delle mosse candidate è ordinato per equità, con tutti i motori mescolati, quindi il suo primo elemento non è la mossa migliore di nessuno in particolare.
La fascia appare solo se ci sono davvero più motori, ed esiste unicamente in questo pannello: il pannello Eval presenta una decisione, quella del motore integrato (ADR-0017), e un confronto non vi avrebbe posto.
Le mosse sono scritte come si leggono sul tavoliere, qui come nel pannello Eval: la pedina meno avanzata si muove per prima, e una pedina che concatena più dadi si scrive una sola volta — un 64 giocato con la stessa pedina si legge 24/14, e 24/14* se colpisce all’arrivo. Il dettaglio della concatenazione ricompare solo quando dice qualcosa in più: un colpo lungo il percorso conserva il suo punto di passaggio, 24/18* 18/14, senza il quale il colpo sul 18 sparirebbe dalla notazione.
L’equità di un’analisi importata segue la stessa regola del pannello Eval: la colonna indica il proprio referenziale, «Equity (money)» o «Equity (match)» a seconda del punteggio della posizione analizzata, mai un semplice «Equity» muto sulla scala. Le regole Jacoby e Beaver attive su una posizione money game vengono mostrate anch’esse, in badge sotto la tabella di decisione del cubo.
Rollout
Sotto l’analisi, il pannello Analisi propone di rollare la posizione: giocare centinaia di partite a partire da ogni mossa candidata, o da ogni azione del videau, per distinguere due scelte che la valutazione diretta separa a malapena. Tre impostazioni: Veloce (216 partite, troncate a 7 semimosse), Standard (1296 partite, troncate a 11 semimosse) e Libera, dove ogni parametro è modificabile — troncamento, partite minime e massime (multipli di 36), limite di JSD, profondità (ply), numero di candidate, seme e numero di processi. Il pulsante Avvia il rollout, il tasto r del pannello o il comando rollout (alias ro) lo avviano; una barra di avanzamento segue le partite giocate e Annulla (o r di nuovo) lo ferma senza scrivere nulla.
Il risultato è salvato accanto all’analisi, mai al suo posto: un’analisi importata non viene modificata. Ogni rollout forma un blocco con, per ogni candidata, l’equity, l’intervallo di confidenza al 95 %, la JSD (la distanza dalla mossa migliore in deviazioni standard della differenza: dal limite in poi, la mossa è decisa e non viene più giocata) e il numero di partite. Il rollout si ferma appena le mosse sono distinte. La Configurazione — il motore e la firma completa dei parametri — si apre sotto la tabella: due rollout con la stessa firma sono gli stessi numeri. Un rollout gioca il videau nelle sue partite: la classifica è affidabile, l’equity assoluta un po” meno, come ricorda il blocco. Una posizione che non è nel database si può rollare, ma non si salva.
Il pulsante Sulla lista mostrata… (o ro search) rolla, una dopo l’altra, le posizioni della lista mostrata — risultati di ricerca, partita o raccolta — che non portano ancora questo rollout; una conferma indica il totale prima di iniziare. Ogni posizione è scritta appena finita: annullare conserva quanto fatto, e rilanciare riprende da dove ci si è fermati. L’avanzamento sopravvive alla chiusura del pannello.
Pannello Commenti
Il pannello Commenti (CTRL-P) mostra, aggiunge e modifica i commenti associati alla posizione corrente. Una posizione può portarne più d’uno: sono mostrati tutti, dal più recente al più antico. I commenti importati dai file XG vengono associati automaticamente alle posizioni corrispondenti. Premere CTRL-P o eseguire il comando comment per mostrare o nascondere il pannello.
Ogni commento proveniente da un file porta un”etichetta di provenienza (XG, GNU BG, BGF, oppure importato quando la provenienza non è mai stata registrata). I commenti che hai scritto non ne portano: è il caso normale, e segnalarlo a ogni riga sarebbe rumore. Modificare un commento importato te lo attribuisce: dopo la modifica, la frase è la tua.
Questa distinzione si vede altrove: cancellare una partita non distrugge più una posizione su cui tu avevi scritto. Una nota ripresa dal file di origine, invece, sparisce con la partita che l’ha portata.
Il cestino
Eliminare una posizione, una collezione o un commento passa da un cestino: l’eliminazione avviene davvero, ma una copia di ciò che sparisce è conservata trenta giorni. Il comando trash apre la finestra che le elenca, ciascuna con Ripristina ed Elimina.
Una posizione ripristinata torna con la sua analisi e i suoi commenti — restituirla nuda sarebbe un ripristino solo di nome. Non torna col suo vecchio numero: la riga d’origine non esiste più, e blunderDB la risalva tramite la sua impronta, il che garantisce che non crei mai un doppione ma le dà un nuovo identificativo. Una collezione torna con la sua lista; le posizioni che conteneva non erano mai state eliminate — una collezione è una vista su di esse.
Ciò che ha più di trenta giorni viene eliminato dal comando vacuum, mai dall’apertura di una base: non fare vacuum è tenere tutto.
Nota
Il cestino non viaggia. Un’esportazione non lo porta, ed eliminare una partita non ci mette nulla: la pulizia delle posizioni orfane che segue l’eliminazione di una partita è una manutenzione automatica, non un gesto dell’utente — vedi la regola di ritenzione in Pannello Match.
Pannello Ricerca
Il pannello Ricerca (CTRL-F o TAB) permette di filtrare le posizioni secondo criteri liberamente combinabili: struttura delle pedine, tipo di decisione di cubo, magnitudo dell’errore, date, tag, ecc. Il tasto TAB apre contemporaneamente il pannello di ricerca e l’editor di posizione, consentendo di definire una struttura di pedine da cercare direttamente sul board.
Il pannello Ricerca: filtri numerici, struttura di pedine sul tabellone, schede Almeno / Tranne.
Per cercare tra le posizioni visualizzate, usare il comando ss seguito da filtri (es.: ss nc, ss E>40). ss cerca nell’elenco sullo schermo: i risultati della ricerca precedente, la collezione aperta o le posizioni del match in revisione, sia che il comando venga digitato direttamente sia dal pannello di ricerca (TAB). La casella di spunta Cerca nei risultati correnti del pannello segue la stessa regola. In una collezione e in un match, s viene rifiutato: cercherebbe in tutta la libreria e sostituirebbe l’elenco visualizzato.
Dai risultati di una ricerca ss avviata da una collezione o da un match si esce con Esc, con una sola pressione non appena né un campo né il pannello che ha il focus ha qualcosa da chiudere (una mossa selezionata nell’analisi, per esempio): blunderDB torna alla collezione intera, o al match sulla mossa studiata, e alla posizione lasciata. Questo ritorno segue solo ss: s, avviato dal pannello di ricerca aperto su una collezione o un match, cerca in tutta la libreria, e Esc non riporta più all’elenco lasciato.
Il pannello offre un controllo esplicito del tipo di decisione ricercato: Indifferente (nessun filtro), Pedine (decisioni di mossa) o Cubo (decisioni di cubo). Quando è selezionato Cubo, un secondo elenco precisa il sotto-tipo: Tutti, Raddoppio / No raddoppio (il giocatore di turno deve decidere se raddoppiare) o Accetta / Passa (risposta a un raddoppio avversario). Il controllo è sincronizzato con il board: modificare i dadi o il cubo sul board aggiorna il tipo di decisione, e viceversa. In modalità Accetta / Passa, il cubo è mostrato al centro del board al valore offerto; tale valore resta modificabile.
La fase di gioco — apertura, mediogioco, corsa, uscita delle pedine — è un’etichetta che blunderDB calcola dalla sola tavola. Non è mai modificabile ed è cercabile tramite il token ph: della riga di comando (ph:race, ripetibile: ph:race ph:bearoff). Tre delle sue quattro frontiere sono quelle che GNU Backgammon usa per indirizzare le sue reti; la quarta, dove finisce l’apertura, è una convenzione di blunderDB: una posizione è ancora in apertura finché nessuno dei due campi ha mosso più di quattro pedine dai propri punti di partenza, nessuna è uscita e nessuna è sulla barra.
Nota
L’etichetta viene ricalcolata dal comando blunderdb repair. Su una base aperta per la prima volta con questa versione, il calcolo avviene una volta, all’apertura. Una base le cui fasi non sono mai state calcolate non restituisce nulla per ph: — nulla, piuttosto che una risposta sbagliata.
Il token like ordina invece di restringere: la sua presenza dispone il risultato per distanza crescente da una posizione bersaglio — like quella corrente, like42 quella di indice 42 — e gli altri token restringono l’insieme così ordinato, tanto che s like42 E>80 si legge «le vicine della 42 dove ho sbagliato». La distanza è una distanza di trasporto in pip di pedina, la quantità di movimento di pedine che separa due posizioni, vista dal giocatore di turno.
Una vicina è lo stesso problema, non lo stesso disegno: l’ordinamento si prende dentro la classe del bersaglio — stesso tipo di decisione, stesso regime (soldi o incontro) per una decisione di cubo, e un incontro diverso dal suo, perché le posizioni che la circondano nella sua stessa partita sono le sue strutture più vicine senza esserne mai le vicine. Dadi, punteggio e cubo restano fuori classe; i token ordinari li filtrano quando lo si vuole. like42* allarga la classe a tutti i tipi di decisione e a entrambi i regimi, mai all’incontro del bersaglio; like<12 scarta ciò che dista più di dodici pip di pedina. Un ordinamento che non trova nulla rende una lista vuota e lo dice, invece di dieci posizioni senza rapporto.
In modo modifica, s like prende per bersaglio la dama disegnata: si disegna all’incirca la posizione di cui ci si ricorda, si lancia, e la biblioteca risponde — là dove la ricerca per struttura esige il disegno esatto. La dama è allora letta come una posizione e non come un motivo: un punto lasciato vuoto conta come pedine fuori, il che è esatto per una posizione reale e falsa il calcolo per un disegno lasciato a metà.
Ogni vicina porta la sua distanza sotto le tabelle di analisi, insieme alla posizione di cui è vicina. È questo che permette di giudicare se si guarda una vicina o una coincidenza, ed è la ragion d’essere del limite. L’ordinamento si lancia anche senza passare dalla riga di comando: CTRL-MAIUSC-L, oppure la voce Posizioni vicine del menu contestuale della dama.
Il token n conta gli incontri: n>3 tiene le posizioni a cui arrivano più di tre mosse, in tutti gli incontri. È un’altra domanda rispetto a «cosa ho sbagliato» — una posizione incontrata venti volte e giocata bene diciannove resta quella da sapere a memoria. Si contano le mosse, non gli incontri: la stessa posizione due volte in un incontro conta due, perché erano due decisioni.
Il piano di gioco è una seconda etichetta derivata, accanto alla fase, e risponde alla domanda che un pacchetto di filtri salvati non sa porre: «mostrami i miei errori in holding game». Token gt:, ripetibile (gt:holding gt:mutualholding), dal punto di vista del giocatore di turno — il piano in cui la decisione veniva presa.
I dieci piani riconosciuti, nell’ordine in cui le regole li esauriscono, dal più specifico al più generale:
race— le pedine più arretrate dei due schieramenti si sono incrociate: nessun contatto è più possibile. Frontiera di GNU Backgammon.bearin— il giocatore di turno rientra le pedine mentre l’avversario tiene ancora un’ancora nella sua casa.crunch— il giocatore di turno ha al più sei pedine fuori dai suoi punti 1 e 2. Regola di GNU Backgammon, soglia del suo autore.backgame— due o più ancore nella casa avversaria.acepoint— una sola ancora, sul punto uno avversario, con almeno venti pip di ritardo.blitz— tre o più punti di casa fatti, e l’avversario alla barra o con una pedina scoperta da colpire in quella casa.primevprime— entrambi tengono un blocco di almeno quattro punti, e ciascuno ha una pedina intrappolata dietro quello dell’altro.mutualholding— entrambi tengono un’ancora alta.holding— il giocatore di turno tiene un’ancora alta, l’avversario no.contact— contatto, e nessuno dei piani sopra. L’apertura finisce qui.
Tre di queste regole sono quelle di GNU Backgammon e sono documentate; le altre sono convenzioni di blunderDB. La letteratura del backgammon descrive i piani di gioco senza quantificarne le frontiere, e nessuna misura di accordo tra classificatori è pubblicata per questo problema. Le soglie non documentate — tre punti di casa per un blitz, quattro punti per un blocco, venti pip di ritardo per un ace-point game — sono quindi enunciate qui invece di restare nascoste nel codice, e sono versionate: cambiarle ed eseguire blunderdb repair rietichetta l’intera base.
Nota
Una sola etichetta è conservata per posizione, quella del giocatore di turno. Un’etichetta derivata non è mai modificabile, mai esportata come verità, e una base i cui piani non sono mai stati calcolati non restituisce nulla per gt: — come per ph:.
Il filtro Contrassegnata conserva le posizioni che avete contrassegnato nel software di origine della partita. Solo eXtreme Gammon produce questa informazione, registrata mossa per mossa nel file .xg; blunderDB la legge all’importazione e la conserva. Una decisione di cubo contrassegnata dà due posizioni contrassegnate, il raddoppio e l’accetta/passa, poiché blunderDB divide in due ciò che il file di origine registra come una sola decisione.
Nota
La marcatura non è retroattiva: le partite già presenti nel database non contengono questa informazione, poiché esiste solo nei file di origine. È sufficiente reimportare il file .xg interessato — l’importazione rileva il duplicato e non aggiunge altro che i contrassegni, senza toccare i commenti né le analisi esistenti. Il contrassegno non può essere né posto né rimosso da blunderDB: per un elenco di lavoro temporaneo, utilizzate piuttosto una collezione.
Il filtro Commento interroga i commenti associati alle posizioni secondo tre modalità esclusive. contiene il testo cerca una o più parole nel testo dei commenti (campo di immissione, parole separate da ;, almeno una deve corrispondere); ha un commento conserva ogni posizione che porti un commento, qualunque sia il suo contenuto; senza commento conserva al contrario le posizioni non annotate — utile, combinato con un filtro di errore o di data, per stilare l’elenco di ciò che resta da commentare.
Nota
I commenti importati da un file di partita (XG, GNUbg) contano come commenti. Per tenere solo i tuoi, aggiungi il token co:user sulla riga di comando (co:xg, co:gnubg, co:bgf e co:unknown designano le altre provenienze). Del resto, i commenti associati a una partita o a un torneo non sono interessati: annotano la partita o il torneo, non le sue posizioni.
Il filtro Match & Tornei si basa su un selettore comune (finestra modale) anziché sull’inserimento di identificativi numerici: due elenchi con caselle di spunta, uno per i match e uno per i tornei, ciascuno filtrabile per testo (giocatore, data, evento per i match; nome, data, luogo per i tornei), con pulsanti Tutti / Nessuno che agiscono solo sul sottoinsieme attualmente filtrato. Selezionare un torneo seleziona automaticamente (e disabilita, mostrandoli in grigio) i match che ne fanno parte nell’elenco dei match, rendendo visibile il fatto che un torneo equivale all’insieme dei suoi match.
Il pannello di ricerca presenta tre schede sul bordo sinistro: Ricerca (i filtri), Cronologia e Salvati. La scheda Cronologia elenca le ricerche passate con la loro data e il loro comando: un clic seleziona una ricerca e mostra la posizione associata sul tavoliere, un doppio clic la riesegue. Ogni voce può essere salvata nella libreria di filtri (icona segnalibro, assegnando un nome al filtro) o eliminata. La scheda Salvati contiene la libreria di filtri : fare doppio clic su un filtro salvato per rilanciare la ricerca corrispondente (vedere Appendice: Utilizzo avanzato dei filtri). Il comando history (alias hi) apre il pannello di ricerca.
La stella di un filtro della libreria lo fissa. I filtri fissati compaiono come etichette in cima al pannello, qualunque scheda sia aperta, numerati nell’ordine della libreria: un clic su un’etichetta lancia il filtro, e ALT-1 … ALT-9 lanciano il filtro fissato di quel rango da qualsiasi schermata in modalità NORMAL o EDIT, senza aprire il pannello. Il filtro pone allora la stessa domanda del doppio clic, struttura delle pedine compresa. La fissazione appartiene al database: segue il filtro rinominato, scompare con il filtro eliminato e non viaggia con l’esportazione della libreria.
Una ricerca rilanciata conserva la sua classifica: s like42 classifica rispetto alla posizione 42, e s like rispetto alla tavola salvata con la ricerca — quella che si stava consultando o disegnando. Una voce che non ha conservato la tavola non viene rilanciata contro quella sullo schermo, e la barra di stato lo segnala.
Suggerimento
Fare riferimento a elenco dei comandi per l’elenco dei filtri disponibili.
Pannello Raccolte
Il pannello Collezioni: nome, numero di posizioni, descrizione, ultima modifica.
Il pannello Collezioni (CTRL-B) consente di gestire collezioni di posizioni. Le collezioni possono essere create, rinominate ed eliminate. Vi si possono aggiungere o togliere posizioni (tasto Canc, viene chiesta conferma). Fare doppio clic su una collezione per scorrerne le posizioni con i tasti SINISTRA e DESTRA. Il comando ss cerca tra le posizioni della collezione aperta; Esc riporta poi alla collezione (vedere Pannello Ricerca). L’ordine delle collezioni e delle posizioni all’interno di una collezione può essere modificato per trascinamento. Premere CTRL-B o eseguire il comando collection per mostrare o nascondere il pannello.
Importazione: cosa viene scritto, cosa non lo è mai
Importare un match, una posizione o un altro database aggiunge ciò che manca; non sostituisce ciò che è già presente.
Una posizione non è mai duplicata. È la sua identità — pedine, cubo, dadi, punteggio — a riconoscerla, mai il file da cui proviene: la stessa posizione incontrata in due match resta un’unica riga.
Un’analisi per motore. eXtreme Gammon, GNUbg, BGBlitz e il valutatore integrato convivono sulla stessa posizione, e il pannello Analisi indica l’origine di ciascuna. Importarne una non cancella l’altra.
Un’analisi importata non viene mai ricalcolata. blunderDB la conserva così com’è, con la sua etichetta di livello (« 3-ply », « XG Roller++ », « Book »), le sue equità, i suoi errori, le sue probabilità e la fortuna del lancio. La regola è « una valutazione colma soltanto una lacuna »: l’analisi automatica dopo l’importazione visita solo le posizioni senza alcuna analisi, e Rianalizza le posizioni obsolete lascia intatta ogni posizione che porta un’analisi importata (vedere Configurazione).
Reimportare lo stesso file non riscrive nulla. Il match viene riconosciuto come già presente; vengono aggiunti solo i contrassegni posti nel software di origine, senza toccare i commenti né le analisi.
Ciò che blunderDB non scrive mai: una fortuna ricalcolata — viene letta nel file sorgente, oppure resta sconosciuta — e un rollout, di cui non apre i dati in un file
.xge che non sa produrre.
Una raccolta può essere viva: il suo contenuto non è più una lista fatta a mano ma il risultato di una ricerca, rivalutato ogni volta che la si apre. Il pulsante ◇ in testa alla raccolta la rende viva con l’ultima ricerca lanciata; ◈ segnala che lo è già, e lo stesso pulsante le restituisce la lista. Nulla viene distrutto: le posizioni che conteneva sono ancora lì quando si torna indietro.
Una raccolta viva la cui interrogazione porta un token che questa versione non conosce più rifiuta di aprirsi e lo dice, invece di restituire l’intera base. È l’unico guasto che un filtro salvato non deve avere: allargarsi in silenzio.
Pannello Match
Il pannello Match (CTRL-Tab) elenca i match importati. Fare doppio clic su un match (o premere INVIO) per navigare tra le sue mosse. Il comando m riprende la navigazione nell’ultimo match visitato.
L’utente può:
scorrere le mosse di un match usando i tasti SINISTRA e DESTRA,
passare da una partita all’altra con i tasti PageUp e PageDown,
visualizzare l’analisi delle mosse (pedine e cubo) premendo CTRL-L,
alternare tra l’analisi delle mosse di pedine e quella del cubo con il tasto d,
vedere la mossa effettivamente giocata evidenziata nell’analisi,
cercare tra le posizioni del match con il comando
ss(es.:ss E>80); Esc riporta poi alla mossa studiata (vedere Pannello Ricerca).
L’ultima posizione visitata in ciascun match viene memorizzata e ripristinata automaticamente. Premere CTRL-Tab o eseguire il comando match per mostrare o nascondere il pannello.
Il pulsante ⊕ di una riga arricchisce quell’incontro da un file. Dietro non c’è nulla di nuovo: reimportare lo stesso incontro in un altro formato lo arricchisce già sul posto — l’impronta canonica riconosce che si tratta dello stesso incontro, e le analisi e i commenti del secondo file completano il primo. Ciò che il pulsante apporta è che lo si trova: nessuno indovina che un’importazione è anche un arricchimento. Il resoconto che segue dice quale dei due è avvenuto — «arricchiti: 1» invece di «importati: 1».
Ogni match può essere esportato in trascrizione Jellyfish .mat tramite il pulsante ⬇ dell’elenco dei match o il pulsante .mat della scheda del match.
Un clic su un match apre la sua scheda. La sua scheda Trascrizione elenca le mosse partita per partita, e un clic su una mossa vi porta la revisione. Ogni mossa vi porta la sua gravità: ? per un errore, ?? per un blunder, un filetto colorato al margine della riga, e il costo della mossa in equity al passaggio del puntatore sul segno. Le soglie sono quelle del database (Configurazione), le stesse con cui contano le statistiche. La mossa è giudicata così come è stata giocata: una stessa posizione giocata due volte nel match riceve due giudizi. Una mossa che l’analisi non valuta non porta alcun segno.
L’intestazione di ogni partita conta i suoi segni, che sia espansa o no: si vede senza aprirla in quale partita si trovano i blunder.
Il pulsante Unisci giocatori della barra degli strumenti del pannello apre una finestra che elenca tutti i nomi dei giocatori del database con il loro numero di match: selezionare le varianti di ortografia di uno stesso giocatore, scegliere il nome canonico da conservare, quindi unire. Utile per unificare le statistiche per giocatore quando uno stesso giocatore compare con più nomi.
Quando un match è aperto, una barra delle informazioni compare sopra il tavoliere: ricorda i giocatori presenti (giocatore 1 contro giocatore 2) nonché il contesto del match (evento, luogo, turno, data e lunghezza del match, quando queste informazioni sono disponibili). Questa barra viene mostrata anche al di fuori della modalità match: quando una posizione studiata (proveniente da una ricerca, da una collezione o da un accesso diretto) proviene da uno o più match, ne indica la provenienza — il primo match interessato e, se del caso, un badge « +N » che elenca gli altri al passaggio del mouse. Una posizione importata da sola, che nessun match referenzia, non mostra nulla.
Le schede Ricerca e Eval sostituiscono la scacchiera con una scacchiera di lavoro: un banner nella parte alta della scacchiera lo segnala («Scacchiera di ricerca», «Scacchiera di valutazione») e la barra informativa viene nascosta finché descriverebbe una posizione che non è sullo schermo. Il ritorno all’analisi ripristina la posizione studiata.
All’apertura di un database contenente match, il pannello Match viene mostrato subito e la revisione inizia direttamente sulla prima posizione, così da cominciare immediatamente la navigazione.
Nota
Un database può essere aperto in scrittura da una sola finestra alla volta. Se si apre un database già aperto in un’altra finestra di blunderDB, esso si apre in sola lettura : la navigazione, la ricerca e l’analisi restano possibili, ma qualsiasi modifica è disattivata e la barra del titolo mostra « [sola lettura] ».
Suggerimento
Fare riferimento a Scorciatoie da tastiera per le scorciatoie disponibili.
Pannello Trascrizione
Il pannello Trascrizione (CTRL-MAIUSC-T, comando transcribe o tr) serve a digitare un match che si ha sotto gli occhi — un foglio di match, una registrazione video — per farne un match della libreria. Ciò che si digita è una bozza: vive nella base, si chiude e si riapre, e non entra né nelle statistiche né nelle ricerche finché non è stata salvata come match.
Il pannello si apre sulla lista delle bozze del database: ultima modifica, giocatori, lunghezza, numero di azioni e la partita già prodotta (# seguito dal suo identificativo) oppure la dicitura «nessuna partita». Un clic apre una bozza, e il pulsante Bozze della barra vi riporta. Il pulsante Nuova trascrizione apre il modulo di creazione.
La lista si percorre anche da tastiera: GIÙ e SU (o j e k) spostano l’evidenziazione, INVIO apre la bozza evidenziata, n apre il modulo. La prima bozza è evidenziata all’apertura ed è quella modificata più di recente: riprendere il lavoro di ieri costa dunque due tasti, CTRL-MAIUSC-T e poi INVIO.
Il modulo chiede una cosa sola: la lunghezza del match. Il valore 0 indica una partita a soldi e fa comparire le caselle Jacoby e Beaver. Il campo si apre sulla lunghezza dell’ultima bozza modificata, oppure su 7 quando la base non ne contiene alcuna. I nomi dei giocatori non vengono chiesti: la bozza designa i lati come Giocatore 1 e Giocatore 2, e l’elenco mostra «Senza nome».
Tutto ciò che si deduce da quanto è stato digitato — la lunghezza della partita (o «Denaro»), il punteggio, la dicitura Crawford quando la partita in corso lo è, il numero della partita, lo stato del cubo — il suo valore, al centro o a nome di chi lo possiede — e il campo di turno — compare nella barra della partita, sopra la tavola: è lì che lo sguardo si trova già quando ci si chiede chi sia di turno. L’azione attesa, invece, è scritta per esteso nella barra di stato: «dadi di Kévin», «risposta di Alice al raddoppio».
La barra della bozza, in cima al pannello, porta solo i gesti che fanno uscire la bozza da sé stessa, le due frecce di annullamento e l’orientamento del tavoliere.
Il giocatore 1 resta in basso sul tavoliere, chiunque sia di turno. Un match che si trascrive è una partita che si svolge: il turno cambia a ogni mezza mossa, e seguirlo capovolgerebbe il tavoliere da un turno all’altro — le pedine appena guardate passerebbero in alto e l’occhio rifarebbe il percorso a ogni lancio. Il turno si legge dai dadi, che cambiano lato. Il pulsante ⇅ della barra capovolge il tavoliere e mostra il giocatore 2 in basso; non modifica la bozza, e alla chiusura la visualizzazione torna al verso giusto. Da non confondere con il pulsante Inverti i giocatori del riquadro Metadati, che scambia i due giocatori nel documento stesso.
Il pulsante Metadati della barra apre l’intestazione della bozza, in qualsiasi momento: i nomi dei due giocatori — completati automaticamente dai giocatori della base —, l’evento, il luogo, il turno, la data (quella odierna per impostazione predefinita), il trascrittore (l’utente della base per impostazione predefinita) e il torneo a cui il match sarà collegato al momento del salvataggio. Nessun campo è obbligatorio: una bozza senza nomi si salva e si esporta lo stesso, con intestazioni vuote. Il pulsante Invertire i giocatori scambia i due nomi, assegna tutte le azioni al campo opposto e gira la damiera: è lo stesso match, letto dall’altro lato.
La lunghezza del match si cambia in questo stesso pannello, in qualsiasi momento: il punteggio, la partita Crawford e il riferimento — le partite a soldi quando la lunghezza vale 0, e compaiono allora le caselle Jacoby e Beaver — sono ricalcolati da un capo all’altro della bozza, e le azioni registrate dopo la vittoria sono segnalate «oltre la fine» senza che nessuna venga eliminata. La lunghezza fa parte dell’identità di una posizione: dopo un salvataggio, cambiarla e salvare di nuovo scrive posizioni nuove, da analizzare, e le vecchie spariscono non appena più nulla le trattiene.
Sotto la barra, la bozza occupa tre regioni: la tavolozza dei bersagli del mouse, le mosse candidate e la trascrizione. Si dispongono secondo la larghezza del pannello. In un pannello largo — il dock in basso — le tre stanno una accanto all’altra, con la tavolozza a sinistra. In un pannello medio, le candidate occupano la parte alta e la trascrizione viene accanto al triangolo dei lanci, nello spazio che questo lascia alla sua destra. In un pannello stretto le tre si susseguono: candidate, tavolozza, trascrizione — lì il triangolo e la trascrizione non stanno affiancati senza amputare alla trascrizione la seconda colonna, e basta allargare il dock di qualche decina di pixel per riunirli. In ogni caso la regola è la stessa: nulla si interpone fra le due caselle del lancio e la prima riga delle candidate, e almeno cinque candidate si leggono senza far scorrere alcunché.
La tavolozza mostra i due dadi man mano che vengono inseriti; un clic su di essi li cancella, come BACKSPACE. Una partita comincia con la sua prima mossa, giocata dal vincitore del tiro d’apertura: i suoi due dadi si digitano come quel tiro, il dado del giocatore 1 e poi quello del giocatore 2, e il più alto dà la mossa al suo campo, che gioca entrambi i dadi. La mossa si sceglie poi tra i candidati, come ogni altra. Le parità, ritirate al tavolo, non si trascrivono; una prima mossa digitata come doppio è registrata così com’è e segnata «dadi incoerenti», poiché nessun tiro d’apertura è un doppio, e un raddoppio del cubo prima della prima mossa è segnato «azione di cubo impossibile». Un’azione di cubo registrata dopo la fine di una partita porta lo stesso segno: resta nella partita terminata, non ne apre una nuova e si elimina a mano.
Non appena cade il secondo dado, tutte le mosse legali del lancio vengono elencate, classificate dal motore incorporato, la prima preselezionata e le sue frecce poste sulla tavola. La lista dà la mossa, la sua equità e il suo scarto dalla migliore: trascrivere significa riconoscere la mossa che si è vista giocare, non giudicarla — per questo c’è il pannello Valutazione. Questa classifica è una valutazione: viene mostrata, non viene mai scritta nel database. Quando il motore non è disponibile, le mosse sono elencate senza classifica e la lista lo dice in testa.
La rotellina seleziona la candidata successiva o precedente, sia sopra la lista sia sopra la tavola: lo sguardo resta sulla tavola e le frecce scorrono, il che riconosce una mossa più in fretta della lettura della sua notazione. Un clic su una riga la seleziona, un doppio clic la convalida.
Il triangolo dei ventuno tiri sta sotto le due caselle del tiro, accanto alla tastiera e non al suo posto: due cifre restano due volte più rapide di un clic, e il triangolo è lì per chi trascrive con la mano sul mouse. Una casella per tiro, mai due: 3-1 e 1-3 sono lo stesso tiro.
Una mossa giocata sul tavoliere risparmia la lettura dei dadi. Finché nessun dado è stato inserito, un clic su una pedina e poi sulla sua destinazione — o un trascinamento dall’una all’altra — gioca la mossa sul tavoliere, vincolata alle mosse legali; le destinazioni offerte dalla pedina scelta si illuminano. I due dadi si deducono dai passi: giocare 13/7 e poi 8/7 dice 6-1 senza che sia stata digitata una cifra, e l’azione viene registrata non appena la mossa è completa. Backspace annulla l’ultimo passo, una cifra abbandona la mossa e torna all’inserimento dei dadi, e un doppio clic fuori dal tavoliere la ricomincia. Quando più lanci producono la stessa mossa — un’uscita che più dadi coprono, un dado non giocabile — nulla viene registrato e il triangolo lascia cliccabili solo quei lanci: il lancio non viene mai indovinato al posto di chi guarda la partita.
Con i due dadi inseriti, anche il tavoliere gioca, vincolato alle mosse legali di quel lancio — alla fine del documento come su un’azione rivista, di cui il cursore ha caricato i dadi. Ogni passo giocato lascia nella lista solo i candidati che lo contengono, il primo dei quali preselezionato: è il gesto della mossa lontana, là dove scendere al dodicesimo candidato costa tredici tasti. Una mossa legale completa viene registrata subito, con i dadi così come sono stati digitati; su un’azione rivista, la sostituisce.
Una mossa illegale si trascrive così come è stata giocata, senza pulsanti né cambio di modalità. Con i dadi inseriti, un trascinamento che nessuna mossa legale offre posa la pedina dove viene rilasciata — anche da un punto da cui non parte alcuna mossa legale, purché porti una pedina del giocatore di turno. La mossa esce allora dalle regole: il resto si gioca liberamente, con il clic come con il trascinamento, la lista dei candidati lascia il posto a una riga che lo ricorda, e nulla viene registrato prima di INVIO, che scrive i dadi inseriti, i passi e il tavoliere ottenuto. Backspace annulla l’ultimo passo; annullare l’unico passo fuori dalle regole restituisce la lista. Senza dadi inseriti, il trascinamento resta vincolato: una mossa illegale non dice quale lancio l’abbia prodotta.
La mossa si digita anche da tastiera, nella trascrizione. Un doppio clic sulla cella di una mossa — o di una danza, di una mossa non registrata — la trasforma in un campo, precompilato con la sua notazione. Lì si digita solo la mossa, 13/7 8/7*, bar/22 o 6/off: i dadi sono quelli della cella. INVIO la registra al posto della mossa scritta, ESC richiude la cella senza scrivere nulla, e un testo che non indica alcuna mossa lascia il campo aperto. La cella tratteggiata dell’inserimento in corso si apre allo stesso modo, non appena i suoi due dadi sono inseriti.
Una mossa immessa con il trascinamento libero o con la notazione che risulti legale resta una mossa ordinaria — il confronto si fa sulla tavola ottenuta, mai sulla provenienza del gesto; altrimenti viene marcata «mossa illegale» nella trascrizione, e l’esportazione .mat avverte prima di scrivere il file, senza mai rifiutare.
Sulla riga dei dadi, la fila Raddoppiare, Accettare, Passare, Abbandonare porta al mouse i quattro gesti del cubo: sono, insieme ai due dadi, le cinque risposte possibili a una sola domanda — che cosa ha fatto il campo di turno? Dice a chi tocca: il campo di turno annuncia — raddoppiare, abbandonare — oppure il campo avverso risponde — accettare, passare; mai tutti e quattro insieme, e un pulsante il cui gesto non risponderebbe a nulla resta spento. La tastiera, invece, non rifiuta mai nulla: un pulsante spento è un bersaglio che non si offre, non un gesto vietato. «Abbandonare» non registra ancora nulla: la fila diventa i tre livelli — semplice, gammon, backgammon — e «Annulla», che raddoppia il tasto ESC. Il cubo disegnato sulla tavola è il secondo bersaglio di questi gesti: un clic su di esso propone un raddoppio. Davanti a un’offerta non risponde — accettare e passare sono due risposte simmetriche e vivono insieme nella fila, un clic ciascuna.
La barra di stato dice in una parola che cosa la bozza attende: la danza registrata d’ufficio, la prima mossa di una partita, la risposta attesa a un raddoppio, il livello atteso dopo un abbandono, la correzione sul posto, la mossa «da rivedere» il cui lancio è cambiato. Vi risponde anche ai gesti che non hanno nulla da fare — «niente da annullare», «nessuna azione sotto il cursore» — per un secondo e mezzo. L’incoerenza che un’azione ha lasciato dietro di sé è invece segnalata in testa alla trascrizione, là dove si trova la cella difettosa.
Una partita finisce con un passo, con un abbandono o con l’uscita della quindicesima pedina (semplice, gammon o backgammon, moltiplicato per il valore del cubo). Il punteggio, la partita Crawford e la fine dell’incontro compaiono allora nella barra della partita, e si attende la prima mossa della partita successiva.
Il punteggio di una partita è quello che danno le partite precedenti, salvo se al tavolo ne è stato dichiarato un altro. Un doppio clic sul punteggio nell’intestazione di una partita, nella trascrizione, lo trasforma in un campo precompilato: vi si digita il punteggio al quale la partita è stata giocata — 3-2, 3–2 o 3 2 —, INVIO lo registra, ESC richiude il campo senza scrivere nulla, e un campo svuotato poi confermato torna al punteggio derivato. La partita è giocata a quel punteggio: la partita Crawford, la fine dell’incontro e le partite seguenti ne discendono, e sia l’incontro salvato sia il file .mat lo riportano. Un punteggio diverso da quello derivato è segnalato, il suggerimento indica quello derivato, e la prima azione della partita porta l’incoerenza «punteggio dichiarato incoerente». Nel gioco a soldi non c’è punteggio da dichiarare.
La trascrizione occupa la metà destra del pannello: una colonna per giocatore, una riga per turno, l’azione di cubo e la fine della partita nella colonna di chi agisce. La cella del cursore è incorniciata; spostare il cursore riporta la tavola alla posizione dell’azione mirata e mostra le sue candidate, con la mossa registrata selezionata. Un’incoerenza (mossa illegale, doppio turno, azione di cubo impossibile, azione oltre la fine dell’incontro, dadi incoerenti, mossa non registrata, punteggio dichiarato incoerente) decora la sua cella e viene nominata in un suggerimento. La mossa non registrata è il caso di un file .mat riletto: gnubg vi scrive ??? quando non ha conservato la mossa giocata, il lancio è noto e la mossa no, e mettere il cursore su quella cella propone le mosse di quel lancio per completarla. Un doppio turno lascia una cella vuota, incorniciata da un tratteggio, nella colonna del campo a cui manca il turno: il cursore vi si ferma, un clic ve lo porta, ed è lì che si digita il turno mancante — una decisione eliminata, per esempio. Le partite si ripiegano; quella del cursore è aperta.
Ciò che si sta digitando è disegnato nella trascrizione, tratteggiato, nel punto esatto in cui sarà scritto: i dadi man mano che cadono, la notazione della mossa appena è selezionata, e nella colonna del campo a cui l’azione appartiene. Una correzione copre la cella che sostituisce, un inserimento apre una cella tra le sue due vicine, una digitazione nuova compare in fondo alla partita in corso. Nulla è scritto nella bozza prima della convalida; ciò che si legge e ciò che il documento dirà non divergono mai.
Correggere è digitare sulla cella in cui ci si trova. Con il cursore su un’azione, una cifra ne ricomincia il lancio sul posto, e anche le quattro azioni di cubo valgono come correzioni: su un rifiuto, t — o il pulsante Accetta — scrive un’accettazione al posto del rifiuto, senza doverlo cancellare e poi inserire. La partita riprende allora il suo corso: si apre una cella subito dopo l’accettazione, dalla parte di chi ha raddoppiato, e il seguito della partita vi si digita come al solito, inserito davanti alla prima mossa della partita successiva, finché la partita non termina. Gli stessi tasti riempiono la cella che un inserimento ha appena aperto: i e poi d inserisce un raddoppio davanti all’azione mirata. Quella prima mossa conserva il punteggio con cui iniziava la sua partita, ora dichiarato: se la fine della partita ripresa ne dà un altro, la differenza viene segnalata.
Tornare sull”ultima azione significa tornare là dove si scrive la trascrizione. Una cifra digitata su di essa ne corregge ancora il lancio, ma una volta ridigitato quel lancio, la cifra successiva la convalida e apre la decisione seguente; INVIO la convalida allo stesso modo. Le decisioni successive si aggiungono allora in coda, come la prima volta.
Digitare un altro tiro sulla prima mossa di una partita decide di nuovo chi inizia: il dado del giocatore 1 si digita per primo, quello del giocatore 2 dopo, e vince il più alto — dado grande prima, la mossa va al giocatore 1, in basso sul tavoliere; dado piccolo prima, al giocatore 2, in alto. Il primo candidato del nuovo tiro è preselezionato e la mossa è da rivedere. Ridigitare lo stesso tiro, in un ordine o nell’altro, non cambia nulla. Per dare la prima mossa all’altro giocatore senza cambiare tiro si usa s: l’ordine dei dadi segue la parte, e una prima mossa giocata dalla parte che quell’ordine non designa è segnalata «dadi incoerenti». Il resto della partita mantiene le sue parti.
Un inserimento in mezzo al documento continua a inserire: la convalida apre una cella vuota di seguito, e l’azione successiva si inserisce a sua volta invece di sovrascrivere quella dopo. È questo che permette di recuperare tutta la fine di una partita — un rifiuto che avrebbe dovuto essere un’accettazione — senza perdere ciò che è già stato digitato della partita seguente. La fine della partita, o lo spostamento del cursore, mette fine all’inserimento: il cursore si posa allora sulla prima mossa della partita successiva.
Canc (o x) toglie la decisione in corso di modifica e arretra sulla precedente, pronta per essere corretta: su una cella scritta, l’azione scompare; su un inserimento aperto o un lancio digitato in fondo al documento, è l’immissione a essere abbandonata. Premendo Canc più volte si risale così la trascrizione cancellando. Le azioni successive mantengono il loro campo, e il doppio turno lasciato da un’eliminazione è segnalato senza che il cursore vi sia riportato.
Un clic destro su una cella apre le correzioni di quell’azione — inserire prima, inserire dopo, eliminare, cambiare campo — e vi porta il cursore per strada; sono gli stessi gesti dei tasti i, a, x e s, e il menu del browser viene soppresso soltanto lì. Altrove non hanno pulsanti: un pulsante che agisse sull”«azione sotto il cursore» mirerebbe a una cella che si può non vedere, mentre il clic destro nomina la propria.
La barra della bozza porta le sue due sole uscite. «Termina» (CTRL-INVIO) scrive la partita nella biblioteca e libera la bozza; l’analisi delle sole posizioni nuove parte subito, con il suo avanzamento e la sua annullabilità nella barra di stato. «Abbandona» elimina la bozza senza partita; la conferma viene chiesta solo per una bozza mai terminata, poiché porta via tutto ciò che vi è scritto. Accanto, la barra dice che cosa farà Termina — una nuova partita, o la sostituzione della partita #n. Non dice nulla della salvaguardia della bozza stessa: viene scritta nella base dopo ogni azione, e tornare all’elenco la lascia da riprendere più tardi.
«Testo .mat» apre il file Jellyfish così come verrebbe scritto, in una finestra abbastanza larga perché le sue colonne restino allineate, con un pulsante per copiarlo. «Esportare .mat» scrive quello stesso file su disco. Le due frecce ↶ e ↷ annullano e ripristinano, come CTRL-Z e CTRL-MAIUSC-Z.
Se l’analisi di un match trascritto è stata interrotta — l’applicazione chiusa durante il lotto —, la barra di stato lo segnala alla successiva apertura della base e propone di terminarla. Di questa interruzione non viene conservato nulla: la proposta ritorna finché restano posizioni da analizzare, e il lotto riavviato riguarda solo questo match, mai l’intera biblioteca.
Una bozza che porta incoerenze viene comunque terminata, dopo un avviso: nulla viene rifiutato. Una mossa illegale viene esportata così come è stata giocata, con l’avviso che gnubg e XG la segnaleranno («Invalid move») e divergeranno in seguito.
Il pannello Match ricorda ogni bozza in corso sopra l’elenco dei match: la riga «Bozza in corso» apre la scheda Trascrizione.
Per correggere una partita della libreria, il pulsante ✎ dell’elenco delle partite o «Modifica la trascrizione» della sua scheda apre una bozza a partire da quella partita — o riapre quella già aperta su di essa: una sola bozza per partita. Terminare questa bozza sostituisce la partita con lo stesso identificatore; le posizioni delle azioni invariate conservano i loro commenti, le loro analisi e le loro carte. Una partita importata (XG, GnuBG, BGF) porta analisi e commenti che un .mat non porta: prima di aprire, una finestra indica fino a quanti, e che terminare la bozza può perderli.
Suggerimento
Fare riferimento a Scorciatoie da tastiera per le scorciatoie disponibili.
Pannello Tornei
Il pannello Tornei: un torneo per riga, numero di partite, PR del giocatore di riferimento.
Il pannello Tornei (CTRL-Y) permette di raggruppare i match in tornei per un monitoraggio organizzato e un’analisi statistica per evento. I tornei possono essere creati, rinominati ed eliminati; i match possono essere assegnati ad essi. Le statistiche del pannello Stats possono essere filtrate per torneo. Premere CTRL-Y per mostrare o nascondere il pannello.
I tornei si riempiono da soli all’importazione. I file XG, GnuBG e BGF nominano il loro evento; quando un match nuovo viene importato, blunderDB lo classifica nel torneo con quel nome e lo crea se non esiste ancora. La data e il luogo del torneo restano vuoti: è qui che si compilano. Un match già presente nel database non viene mai riclassificato: reimportarne il file non disfa la sistemazione fatta a mano.
La colonna PR di ogni torneo mostra il PR del giocatore di riferimento — vale a dire il giocatore presente nel maggior numero di partite del torneo (in caso di parità, quello che ha preso più decisioni). Il PR non mescola quindi il vostro gioco con quello dei vostri avversari: per i vostri tornei, riflette la vostra sola prestazione. Il nome del giocatore di riferimento appare in un suggerimento passando sopra il valore.
Dirigere un torneo
blunderDB sa dirigere un torneo, non soltanto archiviarlo. La direzione è retta dal motore Nicomaque, di Nicolas Harmand: è lui che tiene il formato, gli abbinamenti, i tabelloni e la classifica; blunderDB gli dà la sua interfaccia e conserva le sue partite. Il pulsante ⓘ della barra del pannello ricorda questo credito e porta al repository e alla documentazione del motore.
Un torneo diretto si sceglie nel pannello Pannello Tornei (CTRL-Y, comando direct): aprire un torneo, poi Dirigi questo torneo. Un torneo già diretto mostra il suo stato accanto al nome e il pulsante diventa Apri. Finché una direzione è aperta, l’area principale mostra il torneo al posto del tavoliere — l’unica eccezione di blunderDB a questa regola; passare a qualsiasi altra scheda riporta il tavoliere.
Una direzione ha tre stati: in preparazione finché nessuna partita è stata lanciata, in corso poi, chiusa una volta congelata la classifica. Riaprire un torneo chiuso è possibile, e richiede una conferma: la classifica finale cessa di essere definitiva.
Tutto ciò che viene deciso è scritto in un registro, e nient’altro lo è. La classifica, i tabelloni, le proposte e gli avvisi sono riprodotti da questo registro a ogni apertura: un’interruzione di corrente non costa nulla, e una correzione non cancella mai ciò che è accaduto — si aggiunge.
La pagina Direzione
È qui che il direttore passa la maggior parte del tempo. Dall’alto in basso: gli avvisi del motore, che restano visibili e non bloccano mai nulla; la griglia dei tavoli, la cui intestazione porta il pulsante Stampa il foglio degli abbinamenti; l”ultima decisione; la coda delle proposte; e i giocatori liberi. La griglia precede la coda: una coda lunga non la spinge mai fuori dallo schermo.
La vista occupa tutta la larghezza dell’area principale, e ogni scheda scorre per conto suo: uscire da una scheda e tornarci, o passare da una prova all’altra, ripristina la posizione in cui era stata lasciata. I pulsanti e i campi sono alti almeno 40 pixel, per essere colpiti senza precisione al banco; il numero di colonne della griglia segue la larghezza dell’area, non quella della finestra. Nelle Impostazioni ogni sezione si ripiega sul proprio titolo, e il pulsante Apri nel browser dell’intestazione apre la pagina murale con un clic non appena è stata scelta una cartella di uscita.
Un turno proposto si annuncia prima di avviarlo: Prossimo turno…, accanto a Stampa il foglio, chiede la data e l’ora da stampare («lunedì 21/09, ore 20») e stampa il foglio degli abbinamenti della coda, contrassegnato come «annunciato». Nulla viene avviato né scritto nel registro: il turno si avvia il giorno stabilito, alla sua ora. Un abbinamento in attesa di un tavolo libero porta un trattino al posto del numero di tavolo.
In cima alla vista del torneo, la barra dell’orologio sta in una riga: l’ora, il tempo trascorso dal primo match avviato, i match giocati e in corso, il ritmo osservato in minuti per punto rispetto a quello previsto, i match lenti, la prossima pausa e la fine stimata. La fine stimata è la previsione del motore: rigioca il registro, termina il torneo quindici volte al ritmo previsto, e la barra ne dà la mediana, spostata dopo le pause dichiarate. Una notte non dichiarata come pausa conta quindi come gioco. Un orario che non è di oggi porta il suo giorno.
Dal secondo giorno, il tempo trascorso lascia il posto al giorno di gioco (il giorno del primo match avviato è il giorno 1) e al tempo di gioco: il tempo durante il quale almeno un match era in corso, senza le notti né gli intervalli in cui nessun tavolo giocava. Un torneo chiuso non ha più la barra dell’orologio.
Una proposta si conferma con un clic su Lancia. Lancia tutto conferma in due clic le proposte che hanno un tavolo, dopo averne mostrato l’elenco; Conferma è in testa a quell’elenco. Gli abbinamenti senza tavolo restano in coda, segnati «nessun tavolo libero»: in modalità a turni, un turno resta aperto finché tutti i suoi giocatori non vi sono impegnati. «Ignora per ora» non scrive nulla: il motore è deterministico, e la proposta torna identica alla chiamata successiva. Abbina a mano resta sempre disponibile — il motore propone, il direttore decide.
Un match abbinato a mano senza numero di tavolo prende il primo tavolo libero; un tavolo dove è in corso una partita viene rifiutato. Se tutti i tavoli sono occupati, viene avviato comunque e la sua casella compare in fondo alla griglia, «senza tavolo», finché non lo si sposta su un tavolo.
Una proposta può portare un’osservazione del motore: nessun tavolo libero, o una fine partita prevista durante una pausa. Resta lanciabile in entrambi i casi. Quando una fase funziona a micro-turni, la coda mostra il tempo che manca al lotto successivo; alla scadenza le proposte compaiono da sole, e nulla si lancia da solo.
La scheda del risultato
Un clic su un tavolo occupato apre la scheda della partita. Mostra due grandi bersagli: i nomi dei due giocatori. Cliccare quello che ha vinto registra il risultato — due clic in tutto, tavolo compreso. Il vincitore è l’unica cosa richiesta; il punteggio è libero, l’uno, entrambi o nessuno. Da tastiera, SINISTRA o DESTRA sceglie il vincitore e INVIO lo registra. La scheda si chiude solo quando il risultato è scritto: un errore la lascia aperta, con il suo messaggio.
Il pulsante ⋯ della scheda apre ciò che serve di rado: il forfait — ogni pulsante nomina l’assente e chi vince —, una nota libera («caduto per tempo», «abbandonato per motivo di…»), lo spostamento della partita su un altro tavolo e il suo annullamento. Il forfait e l’annullamento si confermano. Spostata su un tavolo occupato, la partita scambia il suo tavolo con quella che lo occupa: due partite non condividono mai un tavolo, e lo stesso gesto le rimette a posto. Se un vecchio registro ne ha lasciate due su un tavolo, la griglia mostra le due caselle, segnalate, finché non se ne sposta una.
Un errore di digitazione visto subito si riprende in due clic sotto la griglia: Correggi l’ultima decisione, poi il vincitore giusto (CTRL-Z apre la stessa ripresa). Una correzione più vecchia si fa dalla cronologia.
Schermo intero
Il tasto F11 della pagina Direzione, o il pulsante in basso a destra, la mette a schermo intero: la barra degli strumenti, le schede, la scacchiera, il pannello e la barra di stato scompaiono e l’intera finestra passa alla direzione. La modalità attraversa le schede della direzione (Direzione, Giocatori, Cronologia, …). Un menu o una scheda aperti si chiudono prima con ESC; un secondo ESC, o F11, esce dallo schermo intero e riporta la finestra allo stato precedente. Anche lasciare la pagina, cambiando scheda dell’applicazione o chiudendo la direzione, vi pone fine.
La ricerca rapida
Il tasto / della pagina Direzione apre la tavolozza sul solo torneo: giocatori, tavoli, match in corso e prove dell’evento aperto, o della prova da sola quando non è in nessun evento. Si digita un nome, un club o un numero di tavolo («4» o «t4»); i giocatori a un tavolo vengono prima dei giocatori liberi. INVIO porta all’oggetto: un giocatore in un match, un match o un tavolo occupato aprono la scheda del tavolo, un tavolo libero riceve il focus nella griglia, un giocatore libero compare nella scheda Giocatori filtrato sul suo nome, una prova diventa la scheda corrente. Un risultato di un’altra prova dell’evento cambia prima prova. ESC chiude senza aprire nulla, e in un campo di testo il tasto resta una barra. CTRL-MAIUSC-P apre la tavolozza completa, che contiene anche il torneo.
I giocatori
La scheda Giocatori iscrive, corregge e ritira. Il campo d’iscrizione mantiene il focus e si svuota dopo ogni nome: venti giocatori si iscrivono con la sola tastiera. Il completamento automatico propone i giocatori della base; sceglierne uno fissa l’ortografia esatta che portano le sue partite e precompila il suo punteggio con il PR.
La rubrica raccoglie gli iscritti di tutti i tornei diretti della base, senza duplicati per nome, con il club e il punteggio della loro ultima iscrizione. Non è mai memorizzata: eliminare una direzione ne toglie gli iscritti. Riprendere gli iscritti di un torneo precedente è un clic, quanti che siano; la rubrica si copia in CSV o si salva in un file (Salva…), e si rilegge incollata.
Un torneo di doppio iscrive coppie: la casella Coppia aggiunge nome, club e valutazione del compagno. La coppia gioca con il nome «A / B», che portano anche le sue partite; la sua valutazione è la media delle due, e un valore inserito in Valutazione della coppia la sostituisce. L’annuario conserva le due persone, mai la coppia.
Prima di Iscrivi, l’anteprima di un CSV incollato elenca le righe illeggibili — senza nome, senza separatore quando le altre righe ne hanno uno, un punteggio che non è un numero — e i doppioni, all’interno dell’incollato o con un giocatore già iscritto. Un doppione non viene iscritto, a meno di spuntarne la casella.
Un ritardatario arrivato dopo il sorteggio prende un bye libero se il tabellone ne offre uno, e l’interfaccia scrive accanto al campo dove entrerà prima di convalidare. Senza posto libero, viene iscritto lo stesso e la vista dice in quale fase entrerà. Nessun sorteggio già fatto viene rifatto.
Un ritiro avviene ora oppure dopo la partita in corso, a seconda che il giocatore vada via subito o finisca quello che sta giocando; si conferma.
Un giocatore che salta un turno non ha bisogno di essere ritirato: Segna assente, sulla sua riga, apre un piccolo modulo sotto il suo nome — fino a un’ora (precompilata con l’ora successiva), oppure, quando la fase in corso è uno svizzero a turni, fino al turno con il suo numero. Il motore smette allora semplicemente di abbinarlo, ma il suo rango, le sue vite e il suo posto nel tabellone restano quelli che si è guadagnato — l’assenza non è un forfait. Rientra, sulla sua riga, toglie l’assenza con un clic, prima o dopo la scadenza dichiarata.
Correggere la scheda di un giocatore ritirato — nome, circolo, punteggio — lo lascia ritirato. Il suo ritorno è un gesto a parte: Reiscrivi, sulla sua riga. Torna a essere abbinato, con i risultati e le vite che aveva quando si è ritirato; i match persi a tavolino al ritiro restano persi.
Tabelloni, posti, classifica, cronologia
La scheda Tabelloni disegna i tabelloni con le loro linee di collegamento, dal primo turno alla finale, la consolazione accanto al tabellone principale e, per uno svizzero, la tabella delle vite. Un girone si legge come tabella incrociata dei risultati. Un tabellone non ancora sorteggiato mostra il suo scheletro in grigio. Una partita già giocata porta il suo risultato; una partita segnalata dal motore è contrassegnata sul posto. Un punto accanto al nome della scheda indica che un tabellone è in corso.
Cliccare un posto (o premere Invio su un posto focalizzato) apre su di esso la stessa scheda della griglia dei tavoli: il vincitore di una partita in corso si inserisce con due clic, e una partita terminata si corregge cliccando il nome del vero vincitore.
La scheda Posti collega il torneo alla biblioteca. Ogni partita del torneo è un posto, che si riempie in due modi: trascrivere la partita subito (Pannello Trascrizione), oppure agganciarvi una partita già importata. Nulla viene agganciato per deduzione: una coincidenza di nomi è un suggerimento da accettare, un abbinamento parziale non viene nemmeno suggerito, e se il file di una partita agganciata contraddice il risultato registrato, la discordanza è mostrata senza essere risolta — durante un torneo, la parola del direttore fa fede.
La scheda Classifica mostra la classifica corrente, sezione per sezione, con il bilancio di ciascuno (vittorie–sconfitte) e i premi quando è impostato un montepremi. Due pari merito condividono il posto e il premio. Un giocatore ritirato conserva il posto che il suo percorso gli vale, segnato «ritirato» con il suo bilancio o il punto del tabellone in cui si è fermato. Chiudi il torneo congela la classifica finale. La classifica si copia in CSV, nella lingua dell’interfaccia, o si salva in un file: Salva… apre la finestra di dialogo del sistema su un nome proposto, il torneo seguito dalla parola «classifica» e dalla data del giorno, e il file contiene esattamente il CSV copiato. Da riga di comando, blunderdb tournament standings scrive lo stesso CSV.
Chiudere senza match in corso è un clic. Con match in corso, la Classifica dice quanti sono e attende un secondo clic sul posto: chiudere congela la classifica senza di loro, e il loro risultato non si inserisce più. Riapri si conferma allo stesso modo; la classifica finale smette allora di essere finale, e la riapertura resta nel registro.
La scheda Cronologia è il registro in chiaro: una riga per decisione, in ordine, filtrabile per giocatore o per partita. È ciò che un direttore rilegge dopo una contestazione, ed è lì che una decisione più vecchia si corregge o si annota.
Correggi, sulla riga di un risultato, apre sotto di essa la stessa ripresa dell’ultima decisione: si clicca il vincitore giusto, con il punteggio se serve. Il risultato originale resta al suo posto nel registro, la correzione vi si aggiunge, e la classifica ne tiene conto subito.
Le impostazioni
La scheda Impostazioni si apre su formati con nome: sei tornei di club pronti all’uso, il primo dei quali è consigliato. Sceglierne uno basta per iniziare; i campi restano modificabili in seguito.
Qui si impostano: le fasi e la lunghezza delle loro partite, le lunghezze turno per turno di un tabellone («15, 13, 11» si legge dall’ultimo turno all’indietro), il numero di tavoli, il ritmo previsto in minuti per punto (8 per impostazione predefinita; la barra dell’orologio e la fine stimata partono da esso), le pause della giornata, il montepremi (quota d’iscrizione, trattenuta del club, scala per sezione) e la cartella del display.
Un tabellone ha tre caselle: Consolazione (i suoi sconfitti giocano un secondo tabellone, una sezione a parte in classifica), Riconciliazione (il vincitore della consolazione affronta quello del tabellone principale; la casella compare solo con la consolazione) e Ricarica (in doppia eliminazione, il vincitore del tabellone principale deve essere battuto due volte; la casella compare solo con la riconciliazione). Una consolazione ha una classifica propria solo con una scala di premi: finché quella della sezione Consolazione è vuota, le Impostazioni lo ricordano. Una fase a Gironi si imposta con la dimensione dei gironi (4 per impostazione predefinita) e il numero di qualificati per girone (2 per impostazione predefinita).
Le impostazioni restano accessibili durante il torneo: abbassare la soglia alle 22 per finire prima, aggiungere una consolazione il sabato sera, finché il tabellone non è sorteggiato. Ciò che è allora bloccato appare in grigio con il suo motivo: il formato di una fase aperta, il numero di vite che ha distribuito e, dal sorteggio di una fase, la dimensione dei suoi gironi e il numero di qualificati. Salvare durante il torneo mostra prima l’elenco di ciò che cambierà e chiede conferma. Ciò che il motore rifiuta vi figura con il suo motivo, e allora nulla viene salvato: è il caso della consolazione, della riconciliazione o della ricarica di un tabellone già sorteggiato.
Un tavolo con la tavola rotta si dichiara in Tavoli fuori servizio: i suoi numeri, separati da virgole («7, 12»). Il motore non lo assegna più, e la griglia lo mostra non disponibile; abbassare il numero di tavoli toglierebbe l’ultimo, non quello rotto. Se un match è in corso su un tavolo messo fuori servizio, l’elenco di ciò che cambierà lo dice e indica un tavolo libero dove spostarlo, dalla scheda del match.
Le teste di serie sono un’opzione, disattivata per impostazione predefinita: lo studio del motore conclude «nessuna testa di serie protetta», che è la cultura attuale del backgammon. Attivate, i giocatori sono piazzati per punteggio.
Le prove di un evento
Più prove giocate sugli stessi tavoli — una principale, una speed, un doppio — si raggruppano in un Evento, in fondo alle Impostazioni: Crea e collega… crea l’evento con il suo numero di tavoli, Collega… vi aggiunge una prova diretta. Collegare mostra prima cosa cambierà: i tavoli della prova diventano quelli dell’evento. Stacca dall’evento restituisce la prova a sé stessa, con il suo registro e i suoi tavoli; Elimina l’evento, dopo conferma, lo mette nel cestino e stacca le sue prove senza eliminarne alcuna.
In un evento nessuna prova propone un tavolo dove ne gioca un’altra: la griglia mostra quei tavoli occupati, con il nome della prova, e un abbinamento senza tavolo libero attende. Un tavolo fuori servizio si spunta una volta, nell’evento, e vale per tutte le sue prove; il numero di tavoli, i tavoli fuori servizio e le pause modificati nelle Impostazioni di una prova valgono anche per l’evento, e l’elenco di cosa cambierà nomina le altre prove.
Le proprietà dei tavoli si impostano nel pannello Evento: una tabella con una riga per tavolo, con il suo nome («Stream», per esempio), la sua sala (un’etichetta libera), una casella Riservato e i giocatori a cui è Assegnato a, scelti tra gli iscritti alle prove dell’evento. Per quaranta tavoli, Tavoli da N a M, sala imposta una sala su un intero intervallo in un colpo solo; Salva scrive solo i tavoli che hanno una proprietà, gli altri restano tavoli ordinari. Un tavolo riservato non viene mai proposto, ma vi si può collocare un incontro a mano, con un lancio, uno spostamento o un trascinamento. Un tavolo assegnato riceve per primo l’incontro del suo titolare, quando è libero; altrimenti l’incontro riceve un tavolo ordinario, e fuori dagli incontri dei suoi titolari si comporta come un tavolo riservato. Due titolari di tavoli diversi che si incontrano giocano sul più piccolo dei due.
Una sala è l’insieme dei tavoli che portano la stessa etichetta: «sala A» per i tavoli da 1 a 20, «sala B» per i successivi. Nelle Impostazioni di ciascuna prova collegata, Sale in cui gioca questa prova spunta le sale in cui gioca: il DMP in B, lo speed in A. Senza alcuna casella spuntata, sono tutti i tavoli; una prova non riceve alcuna proposta fuori dalle sue sale e non può spostarvi un incontro. Togliere una sala che ospita un incontro in corso della prova viene rifiutato, indicando il tavolo. Una prova che gioca da sola imposta le stesse proprietà dei tavoli nelle proprie Impostazioni, senza sale di prova.
Aprire la Direction di una prova di un evento apre anche le altre: in alto nella Direction appare una scheda per prova, ciascuna con il proprio riepilogo — proposte in attesa, partite in corso, un avviso se ce n’è uno. Cambiare prova è un clic sulla sua scheda, senza conferma; la prova lasciata non si chiude e non viene rigiocata, resta esattamente come la si è lasciata. Un torneo fuori da un evento ha una sola prova: nessuna scheda da mostrare.
La scheda Tutti i tavoli, a sinistra delle prove, mostra tutti i tavoli dell’evento in un’unica griglia: una casella per tavolo, qualunque prova lo occupi, contrassegnata dal nome e dal colore della sua prova. La scheda del risultato, i menu contestuali, la tastiera e il trascinamento funzionano come nella griglia di una prova, e ogni gesto si rivolge alla prova della casella. Trascinare un incontro su un tavolo occupato da un’altra prova scambia i due incontri dopo una conferma che nomina le due prove. Sotto la griglia, le proposte di tutte le prove sono raggruppate per prova, ciascuna con il proprio pulsante Avvia. Fare clic su una prova o su una scheda di vista esce da Tutti i tavoli.
Quando l’evento ha più sale, la griglia è raggruppata per sala, sotto il nome di ciascuna. Il nome di un tavolo è mostrato accanto al suo numero, con una bandiera per un tavolo riservato e una stella seguita dai titolari per un tavolo assegnato; anche le proposte nominano il tavolo.
Una stessa persona può giocare più prove dell’evento: due Partecipanti con lo stesso nome sono la stessa persona, e in una coppia di doppio conta ciascuno dei due membri. Finché gioca in una prova, le altre non la propongono, e la loro lista In attesa dice dove gioca: «gioca in principale, tavolo 4». L’abbinamento a mano resta permesso: il match parte e la sua casella nella griglia riporta la stessa indicazione.
Visualizzazione del torneo
Un torneo si guarda. Scegliere una cartella del display nelle Impostazioni basta una volta per tutte: blunderDB vi riscrive una pagina HTML autonoma a ogni cambiamento, e la pagina si ricarica da sola. Si apre offline, su un secondo schermo o proiettata, e non carica alcuna risorsa esterna. Apri nel browser la mostra subito.
Il foglio degli abbinamenti si posa sul tavolo dell’accoglienza: un clic su Stampa il foglio apre la finestra di stampa del sistema. Una riga per partita — i due giocatori, la lunghezza, il tavolo, due caselle vuote per il punteggio — e un turno di trentadue giocatori sta su una pagina A4.
Un evento ha una propria cartella di uscita, scelta una volta nel suo pannello Impostazioni con lo stesso pulsante Scegli cartella: blunderDB vi scrive index.html, la pagina murale dell’evento — una riga per tavolo, qualunque sia la prova che lo occupa, con i turni annunciati di ciascuna prova e un link alla sua pagina — e ogni prova collegata scrive la propria in una sottocartella. Un gesto in una qualsiasi prova dell’evento rigenera la pagina murale; la cartella propria di una prova collegata viene conservata ma ignorata finché resta nell’evento.
Quando una prova è in fase di tabellone e questo è stato sorteggiato, la sua pagina murale e quella dell’evento mostrano l’albero in grande, leggibile da lontano: una colonna per turno, con i perdenti che scendono nella consolazione tratteggiati. La pagina scorre da sola, senza script, tra il suo contenuto abituale (i tavoli, per l’evento) e l’albero di ogni prova a tabellone, dodici secondi ciascuno; si ricarica sempre ogni trenta secondi e riprende la rotazione da dove era. Una prova senza tabellone — una fase svizzera, ad esempio — non ha albero e la pagina resta quella di prima.
Fuori dall’interfaccia, il sottocomando blunderdb tournament rilegge un torneo diretto senza interfaccia grafica: list, verify, standings, page ed export; page --rencontre scrive la pagina murale di un evento invece della pagina di una sola prova. Vedere Interfaccia a riga di comando (CLI).
Pannello Stats
Introduzione
Il pannello Stats permette di analizzare il proprio livello di gioco e di seguire la propria progressione nel tempo a partire dalle posizioni importate nel database. Calcola e visualizza gli indicatori PR (Performance Rating) e MWC cost (Match Winning Chance cost) per l’insieme delle posizioni o per un sottoinsieme filtrato.
Il pannello Stats è particolarmente utile per:
collocare il proprio livello rispetto alle fasce di livello (Classe mondiale, Esperto, Avanzato…) grazie al PR globale;
seguire la propria progressione torneo dopo torneo o match dopo match grazie ai grafici della scheda Progressione;
individuare i propri punti deboli: la scheda Errori mostra la ripartizione tra mosse di pedine e decisioni di cubo e la distribuzione delle magnitudo d’errore;
confrontare fra loro i giocatori del database, una riga per giocatore, grazie alla scheda Giocatori — utile per seguire un’intera competizione;
accedere direttamente alle posizioni interessate cliccando su qualsiasi indicatore (drill-down).
Apertura del pannello
Per aprire il pannello Stats:
Premere CTRL-D.
Digitare il comando
statsostnella riga di comando.
Nota
Il pannello si aggiorna automaticamente a ogni modifica del filtro. Non ricalcola le statistiche in caso di semplice passaggio PR ↔ MWC: entrambe le metriche vengono calcolate simultaneamente dal backend.
Barra dei filtri
La barra dei filtri, in alto nel pannello, permette di limitare il calcolo a un sottoinsieme di posizioni.
Prospettiva del giocatore
Il menu a discesa Giocatore permette di filtrare le statistiche in base al giocatore analizzato. blunderDB seleziona automaticamente il giocatore il cui nome compare più spesso nel database — modificabile in qualsiasi momento.
Suggerimento
Cambiare giocatore non comporta alcuna perdita di dati; è sufficiente riselezionare il giocatore precedente dall’elenco.
Filtri disponibili
Torneo(i) — restrizione a uno o più tornei. È possibile selezionare più tornei contemporaneamente.
Date — intervallo temporale (Da … A). Se viene indicata solo la data di inizio, vengono incluse le posizioni più recenti.
Tipo di decisione — Tutti / Mosse di pedine / Decisioni di cubo.
Lunghezza del match — restrizione a lunghezze di match specifiche (1, 3, 5, 7, 9, 11, 13, 15, 21 punti). È possibile combinare più lunghezze.
Un pulsante Reset azzera tutti i filtri (tranne il giocatore rilevato automaticamente).
Nota
I filtri vengono salvati nella configurazione di blunderDB (config.yaml) e ripristinati all’avvio successivo.
Commutazione PR / MWC
Il pulsante PR / MWC in alto nel pannello commuta la metrica visualizzata in tutte le schede.
PR (Performance Rating)
L’errore medio di equità per decisione conteggiata, moltiplicato per 500 come fanno eXtreme Gammon e GNUbg: un PR di 5,0 equivale a 0,010 di equità persa per decisione, ossia 10 millesimi di punto (mpt). La regola esatta di conteggio — quali decisioni entrano nel denominatore, come il punteggio viene convertito — è quella di Appendice: modello statistico — allineamento XG / gnuBG / blunderDB.
Le fasce di livello che il pannello disegna dietro la curva di progressione sono un riferimento indicativo proprio di blunderDB: nessuna pubblicazione fa autorità su queste soglie. Il limite superiore di ogni fascia è escluso: un PR di 4 è Avanzato, non Esperto.
Livello
PR
Classe mondiale
< 2
Esperto
2 – 4
Avanzato
4 – 6
Intermedio
6 – 9
Occasionale
9 – 12
Principiante
≥ 12
MWC cost (Match Winning Chance cost)
Probabilità cumulata di vittoria del match persa a causa degli errori, sull’intero set di dati filtrato. Calcolata a partire dalla MET Kazaross-XG2 integrata in blunderDB.
Attenzione
Il MWC cost non è applicabile alle posizioni money-game (senza posta di match). Queste posizioni sono escluse dal calcolo MWC. I valori MWC dipendono dalla MET utilizzata; non sono direttamente confrontabili tra software che usano MET diverse.
La commutazione PR ↔ MWC è istantanea: non viene eseguito alcun ricalcolo da parte del backend.
Il rapporto HTML
Il pulsante Rapporto HTML nell’intestazione del pannello produce un documento autonomo: un solo file, senza immagini esterne, senza foglio di stile remoto, senza script. I diagrammi sono SVG in linea, disegnati dallo stesso rendering della dama a schermo, con la vostra tavolozza. Si apre in qualunque browser, viaggia per posta elettronica, e si stampa in PDF dal browser stesso — il che evita di imbarcare un generatore di PDF per produrre ciò che tutti hanno già.
Contiene gli indicatori del perimetro corrente (posizioni, incontri, decisioni contate, PR globale, pedine e cubo), poi le dieci decisioni più costose, ciascuna con il suo diagramma, il suo costo, l’incontro da cui viene e la mossa migliore quando un’analisi la fornisce.
Il rapporto porta il filtro corrente del pannello Stats. Un rapporto che non dichiara il proprio perimetro è un rapporto le cui cifre non vogliono dire nulla: regolate il filtro — un torneo, un intervallo di date, un giocatore — prima di produrlo.
Scheda Dashboard
La scheda Dashboard offre una visione sintetica degli indicatori chiave.
La scheda Dashboard: PR globale, PR pedine, PR cubo.
Schede di livello
Tre schede visualizzano il PR (o MWC) per:
PR Globale — tutte le decisioni (pedine + cubo);
PR Pedina — solo mosse di pedine;
PR Cubo — solo decisioni di cubo.
Cliccando su una scheda si caricano nel pannello di analisi le posizioni del sottoinsieme corrispondente (drill-down).
Nota
Il numero totale di decisioni viene visualizzato in fondo a ciascuna scheda al passaggio del mouse.
PR mobile sulle ultime N decisioni
Una riga di valori PR (o MWC) calcolati sulle ultime N decisioni (N = 5, 10, 50, 100, 250, 500, 1000) permette di misurare la tendenza recente. I valori in grigio corrispondono a un N superiore al numero di decisioni disponibili.
Cliccando su un valore si caricano le ultime N posizioni corrispondenti.
Top blunder
L’elenco dei 10 errori peggiori (o MWC cost), ordinati per magnitudo decrescente. Cliccando su una riga si carica la posizione interessata nel pannello di analisi.
Scheda Progressione
La scheda Progressione presenta l’evoluzione del livello nel tempo.
In testa alla scheda, un obiettivo: «PR < 5 entro dodici settimane». Un traguardo, una scadenza, e una tendenza che dice dove si va — nulla di più. Un obiettivo che si mettesse a dare voti, a congratularsi o a ricordare sarebbe un’altra funzione, non questa.
Il pulsante Proporre suggerisce un traguardo a partire dal livello attuale: il limite inferiore della fascia in cui siete, cioè l’ingresso in quella successiva. Proporre «un po” meglio» non si ancorerebbe a nulla; proporre un gradino dice qualcosa — passare da intermedio ad avanzato si vede e si racconta.
La tendenza è un adattamento ai minimi quadrati sul PR dei vostri incontri, proiettato alla scadenza. Rifiuta di pronunciarsi sotto tre incontri: tracciare una retta fra due punti sarebbe un’affermazione insostenibile. E la frase lo dice ogni volta — una tendenza non è una previsione.
L’obiettivo è memorizzato nei metadati del database, non nella configurazione: riguarda quella biblioteca, quindi segue il file anziché la macchina. Nessun cambiamento di schema: metadata è già una tabella di chiavi e valori, leggibile da blunderdb info come dal demone.
Grafico a linee per torneo
Un grafico a linee visualizza il PR (o MWC) per ciascun torneo (asse X: ordine dei tornei, asse Y: valore della metrica). Bande colorate evidenziano le soglie di livello.
Cliccando su un punto del grafico si apre un menu contestuale con due opzioni:
Apri torneo — apre il torneo nel pannello Tornei.
Apri posizioni — carica tutte le posizioni del torneo nel pannello di analisi.
Scatter plot per match
Un grafico a dispersione rappresenta ciascun match (asse X: data, asse Y: PR o MWC). La dimensione del punto è proporzionale al numero di decisioni nel match.
Cliccando su un punto si apre un menu contestuale:
Apri partita — apre il match nel pannello Match.
Apri posizioni — carica tutte le posizioni del match nel pannello di analisi.
Scheda Errori
La scheda Errori scompone le fonti di errore.
La scheda Errori: ripartizione del PR per azione di cubo.
Errori ricorrenti
In cima alla scheda, una tabella raggruppa gli errori del filtro corrente — quindi quelli di un solo giocatore quando un giocatore è filtrato — per piano di gioco e per tema, il più costoso per primo. Risponde alla domanda «dove perdo di più?»: per esempio, «tenuta · troppi blot».
Un errore è una decisione conteggiata il cui costo raggiunge la soglia Errore della libreria.
Il piano di gioco è quello del giocatore di turno, così come lo presenta la scheda Ripartizioni.
Il tema di una mossa di pedine è quello nominato dalle regole della frase di spiegazione del pannello Analisi: gammon sottostimato, troppi blot, punto non fatto, troppo passivo. Quello di una decisione di cubo è il senso dell’errore, come nella direzione degli errori di cubo più sotto: raddoppio mancato, raddoppio prematuro, passo sbagliato, presa sbagliata.
Un errore che nessuna regola nomina con sicurezza non viene indovinato: esce dalla classifica e appare a parte, sotto la tabella, in una riga per piano di gioco (« senza tema identificato: N errori, costo X »), cliccabile anch’essa. Questo resto è spesso il più pesante, perché la spiegazione si pronuncia solo a partire da 60 mp, sopra la soglia Errore: classificato con gli altri, guiderebbe una tabella che non direbbe nulla.
Il costo è la quota del PR del filtro che il gruppo rappresenta: la formula del PR applicata agli errori del gruppo, rapportata a tutte le decisioni conteggiate. I costi dei gruppi non superano quindi mai il PR.
Facendo clic su un gruppo se ne caricano le posizioni, dalla più costosa alla meno costosa. Il tema viene ricalcolato a ogni visualizzazione e non è mai salvato: come il piano di gioco, è un’etichetta derivata, non modificabile. Da riga di comando: blunderdb stats recurring (vedi stats — Errori ricorrenti).
Ripartizione per azione di cubo
Un diagramma a barre visualizza il PR (o MWC) per ciascun tipo di decisione di cubo: NoDouble, DoubleTake, DoublePass, TooGood. Ogni barra indica inoltre il numero di decisioni e il tasso di blunder in un suggerimento.
Cliccando su una barra si caricano le posizioni corrispondenti a quell’azione di cubo, solo quelle con un errore (drill-down).
Direzione degli errori di cubo
La ripartizione qui sopra indica quanto costano le decisioni di cubo; questa tabella indica in quale senso sbagliano.
Una posizione di cubo porta due decisioni prese da due giocatori diversi, presentate qui in due righe:
Offrire — il giocatore che detiene il cubo raddoppia o no. I suoi errori sono i doppi mancati (bisognava raddoppiare) e i doppi prematuri (non bisognava).
Rispondere — il giocatore a cui il cubo viene offerto prende o passa. I suoi errori sono i pass errati (una presa corretta è stata passata) e le prese errate (un pass corretto è stato preso).
Le due righe restano separate di proposito: un giocatore può benissimo raddoppiare tardi e prendere largo, e un indicatore unico chiamerebbe ciò «equilibrato» perdendo entrambe le metà dell’informazione.
Ogni casella mostra il numero di decisioni; il tooltip dà l’equity perduta cumulata. Fare clic su una casella carica le posizioni corrispondenti. Una casella a zero non è cliccabile.
Nota
Questa tabella conta decisioni, non emette giudizi. A partire da quale scarto una tendenza meriti di essere nominata dipende dalla numerosità e da un punto di riferimento, che non sono dati del motore.
Confronto Checker / Cube
Un diagramma comparativo affianca il PR delle mosse di pedine e quello delle decisioni di cubo. Cliccando su una barra si caricano le posizioni del sottoinsieme con errore.
Istogramma delle magnitudo d’errore
Un istogramma distribuisce gli errori in base alla loro magnitudo in millesimi di punto (fasce: 0–5, 5–10, 10–25, 25–50, 50–100, ≥ 100). Cliccando su una barra si caricano le posizioni della fascia.
Scheda Ripartizioni
La scheda Ripartizioni divide le stesse decisioni che contano le cifre globali lungo quattro assi. Nessuno di essi ridefinisce cosa conta come decisione: sarebbe un secondo PR con lo stesso nome.
Per fase di gioco — apertura, mediogioco, corsa, uscita delle pedine. È ciò che risponde a «il mio PR in corsa contro il mio PR in contatto». L’etichetta è calcolata dalla tavola (vedi Pannello Ricerca); una base le cui fasi non sono mai state calcolate mette tutto sotto Non classificata, e
blunderdb repairla riempie.Per piano di gioco — corsa, blitz, ancora, backgame, blocco contro blocco… È la ripartizione per cui il classificatore esiste: «dove perdo di più?», piano per piano. La stessa etichetta derivata della fase, le stesse riserve, e
blunderdb repairla riempie allo stesso modo.Per etichetta — i
#parolascritti nei commenti. Una posizione può portarne più d’una: queste righe non sommano al totale, e il pannello lo dice sotto la tabella. Un’etichetta qualifica, non partiziona.Per punteggio — i punti mancanti a entrambi i campi, letti dal lato del giocatore di turno, quindi dal lato di chi decide. La riga Money è la partita a soldi. Una cella con meno di dieci decisioni è in grigio con il suo effettivo visibile invece che nascosta: troppo poco per essere letta, ma l’omissione resta verificabile.
Nota
La partita Crawford non è distinta: blunderDB non registra questo indicatore su una posizione. L’effetto pratico è modesto — una partita Crawford non ha alcuna decisione di cubo — ma l’omissione è reale e vale meglio scriverla che lasciarla indovinare.
Studio e gioco reale
Il comando blunderdb list --type study --days 30 mette tre numeri uno accanto all’altro, piano per piano: quante posizioni distinte sono state ripassate nel periodo, quale era il PR prima, quale è il PR da allora.
Tre numeri, e nessun quarto. Non c’è colonna di guadagno né freccia, perché qui nulla controlla nulla: il giocatore può aver incontrato avversari più forti, cambiato formato, o semplicemente giocato più corse questo mese. L’accostamento è del lettore; una colonna che annunciasse un effetto affermerebbe una causalità che questi dati non portano. I numeri, invece, sono esatti.
I ripassi sono contati in posizioni distinte: una carta ripassata quattro volte nel mese è una posizione studiata, e contare le ripetizioni farebbe sembrare un mese di sgobbata un mese di copertura. Le decisioni del PR, invece, sono contate tutte — ciascuna è stata presa una volta. Un PR che poggia su meno di dieci decisioni mostra —, con il suo campione visibile accanto.
Scheda Giocatori
Le quattro schede precedenti descrivono un giocatore; la scheda Giocatori li confronta tutti. Mostra una riga per giocatore della base, il che risponde al bisogno di un organizzatore che segue un’intera competizione più che un singolo giocatore.
La scheda Giocatori: una riga per giocatore, ordinabile per qualsiasi colonna.
Colonne, nell’ordine:
Colonna |
Significato |
|---|---|
Giocatore |
Il nome così come figura nei match. Un giocatore registrato con due grafie appare quindi su due righe; usa la fusione dei giocatori per riunirle. |
Match |
Numero di match disputati nel periodo considerato. |
V–S |
Vittorie e sconfitte. Un match incompiuto (registro troncato, abbandono) non conta né l’una né l’altra: V + S può quindi essere inferiore al numero di match. |
Decisioni |
Numero di decisioni conteggiate — il denominatore del PR. È la colonna che dice quanto valgono i tassi vicini: un PR calcolato su dodici decisioni non significa nulla. |
PR |
Performance Rating globale. |
PR pedine, PR cubo |
Il PR ripartito per tipo di decisione. |
Snowie |
Snowie Error Rate (vedere Appendice: modello statistico — allineamento XG / gnuBG / blunderDB). |
Blunder |
Numero di errori che raggiungono la soglia di blunder della libreria (0,100 EMG per impostazione predefinita). |
Fortuna |
Fortuna media per lancio, in millesimi di punto, con segno: positiva se i dadi sono stati favorevoli. |
Utilizzo:
Ordinare — fare clic su un’intestazione di colonna. La tabella si apre ordinata per PR crescente, con il miglior giocatore in testa. I giocatori di cui nulla è stato misurato restano in fondo qualunque sia il verso dell’ordinamento: uno zero per mancanza di dati non è una prestazione perfetta.
Aprire il dettaglio di un giocatore — fare clic su una riga. Il giocatore viene selezionato nella barra dei filtri e la visualizzazione passa alla scheda Dashboard.
Restringere il periodo — i filtri di date, tornei e lunghezza dei match si applicano normalmente, il che consente di delimitare la tabella alle date di una competizione.
Confrontare due giocatori — spuntate la casella della prima colonna su due righe. Sopra la tabella compare un blocco che mette i loro indicatori a confronto; spuntare un terzo giocatore sostituisce il più vecchio dei due. La casella non seleziona la riga: spuntare confronta, cliccare apre il dettaglio.
In quel blocco solo i tassi ricevono un verdetto, e il migliore dei due è in grassetto. Tre indicatori non ne ricevono mai, e vale la pena dire perché. La fortuna non è una qualità: un giocatore più fortunato non è migliore. Partite, bilancio e decisioni dicono quanto valgono i tassi, ma metterli in competizione farebbe vincere chi ha semplicemente giocato di più. Il numero di blunder non si confronta grezzo — dodici su mille decisioni valgono più di dieci su cento —, perciò il blocco aggiunge una riga Blunder / 100 dec. che invece si confronta, e lascia il conteggio accanto come contesto.
Un pari non è una vittoria: non è messo in grassetto da nessuna parte. Un tasso senza nulla dietro si mostra come «—» e non decide nulla.
Nota
In questa scheda l’elenco Giocatore e la scelta del tipo di decisione sono disattivati: la tabella mostra tutti i giocatori e ripartisce già le decisioni di pedine e di cubo in colonne distinte.
Importante
Un trattino («—») segnala un valore mai misurato, da non confondere con zero. È in particolare il caso della colonna Fortuna per ogni match importato prima della versione 2.15.0 dello schema: la fortuna non veniva allora conservata, e nulla ne consente la ricostruzione a posteriori. Reimportare il file di origine non basta: l’importazione riconosce un duplicato e ne riprende solo i contrassegni. Occorre eliminare il match e poi reimportarlo. I formati che non la trasportano (BGF, Jellyfish .mat) non la forniranno mai.
Regola di aggregazione
Importante
Il PR di un torneo (o di un qualsiasi sottoinsieme) è calcolato con la regola somma/somma — mai come media dei PR individuali dei match.
Formula:
Esempio: un giocatore disputa due match in un torneo —
Match A: 10 decisioni, 0,100 di equità persa → PR = 5,0
Match B: 90 decisioni, 0,540 di equità persa → PR = 3,0
Media ingenua dei PR: (5,0 + 3,0) / 2 = 4,0 (errato)
Regola somma/somma: 500 × 0,640 / (10 + 90) = 3,2 (corretto)
La regola somma/somma è l’unica che gestisce correttamente la variazione di lunghezza dei match (un match a 21 punti pesa più di un match a 1 punto).
MWC: limitazioni
Il MWC cost viene calcolato a partire dalla MET Kazaross-XG2, tabella di riferimento de facto nel backgammon competitivo. I risultati non sono direttamente comparabili con software che utilizzano altre MET. È la stessa tabella, letta dallo stesso punto di ingresso, di cui si serve il valutatore integrato per le sue decisioni di cubo al punteggio: le statistiche e il motore non possono divergere su questo punto. Fornisce i propri valori fino a 25 punti da fare per parte; oltre, viene prolungata da una tabella di Zadeh calcolata come quella di GNUbg, fino a 64.
Le posizioni money-game (senza punteggio di match) sono escluse dal calcolo MWC. Se il database contiene molte posizioni money-game, il MWC cost potrebbe essere sottostimato o non disponibile.
Il MWC cost è cumulativo sull’intero set di dati filtrato — non è un indicatore per singola decisione. Misura l’impatto totale dei tuoi errori sulle tue probabilità di vittoria.
Pannello Eval
Il pannello Eval (CTRL-E) valuta in tempo reale qualunque posizione si trovi sul tavoliere; su una posizione di bearoff si specializza e calcola inoltre l’EPC (Effective Pip Count). Si attiva premendo CTRL-E, facendo clic sulla scheda Eval del pannello inferiore, oppure eseguendo il comando eval; anche epc, il suo vecchio nome, lo apre. Il pannello si è chiamato EPC, poi Bearoff, prima di diventare Eval — è dunque qui che va cercato ciò che una versione precedente chiamava il pannello Bearoff, il nome non designando più che la scheda di configurazione delle tabelle di uscita.
Il pannello mostra sempre l”unica decisione che la posizione posta sul tavoliere richiede — mai due alla volta — e i fatti che l’accompagnano. Ogni grandezza si legge nell’asse che le conviene anziché in un asse unico imposto: la probabilità di vittoria, di gammon, di backgammon e l’equità cubeless di ciascun giocatore, calcolate prima del lancio, si leggono per giocatore (basso, alto, poi Δ), a sinistra della decisione di cubo, quando nessun dado è impostato. I fatti e la decisione restano fianco a fianco: la decisione di cubo non finisce mai sotto i numeri che la giustificano, qualunque siano la lingua dell’interfaccia e la posizione sul tavoliere. Non appena dei dadi sono impostati, questi stessi valori prima del lancio cambiano asse: si leggono al tiro, in testa alla lista delle mosse candidate, sotto forma di una riga in corsivo prima del lancio — non una mossa candidata in più, ma un riferimento rispetto al quale leggere ogni mossa. Lo scarto tra questa riga e una mossa contiene la fortuna del tiro, mai il merito della mossa, e la riga non porta quindi alcuna colonna di errore. Su una posizione di bearoff puro, una seconda tabella, sempre per giocatore e sempre presente, dadi impostati o meno, porta l’EPC, il pip count, il wastage, il numero medio di lanci e la deviazione standard; queste cinque colonne non migrano mai. Le due tabelle sono impilate e condividono la stessa griglia di colonne: stessi bordi, stessi riferimenti di colonna, una sola colonna di pallini — si leggono come un unico oggetto a due piani. Il pulsante Aggiungi al database, il badge di regime, l’attribuzione del motore (vi figura anche la profondità dell’ultima valutazione) e la casella Sfida formano una fascia a parte, allineata a destra sopra le tabelle.
Solo la lista delle mosse candidate scorre — anche la riga prima del lancio resta fissata sopra di essa; il resto del pannello (fatti, badge, decisione di cubo) resta sempre visibile, senza alcuna regolazione particolare della dimensione del pannello.
La tabella dei fatti e la decisione sono calcolate da gammonNet, integrato, senza XG né gnubg. Il calcolo segue la posizione senza mai bloccare l’interfaccia: una profondità 0-ply viene mostrata immediatamente a ogni gesto, poi, dopo mezzo secondo di immobilità, una valutazione più profonda (2 ply per impostazione predefinita, regolabile nella scheda gammonNet della configurazione) la sostituisce in background — qualsiasi nuovo gesto annulla questo calcolo di fondo. La profondità mostrata nella fascia dei badge, o all’interno del badge di regime su una posizione di corsa, è sempre quella che ha effettivamente prodotto il numero mostrato, mai quella richiesta; non si ripete su ogni riga, poiché una valutazione in diretta condivide la stessa profondità per tutte le mosse. L’equità delle mosse candidate e della decisione di cubo segue il punteggio della posizione: in money game è espressa in punti, a un punteggio di match in equità normalizzata — la stessa scala di XG e GNU Backgammon, in cui vincere il valore del cubo corrente vale +1 e perderlo −1 — mai mescolate in una stessa tabella. L’intestazione della colonna lo dichiara esplicitamente invece di lasciare indovinare la scala: «Equity (money)» in money game, «Equity (match)» a un punteggio di match. Tiene conto del cubo vivo: la ricerca valorizza ogni posizione finale con il modello di cubo (Janowski, efficienza misurata) nello stato del cubo della posizione, come fanno XG e GNU Backgammon nella valutazione cubeful. È ciò che rende visibili al punteggio gli effetti gammon-go e gammon-save — a 4-away/2-away, il giocatore in svantaggio gioca 8/2 6/2 su un 6-4 di apertura perché il suo raddoppio anticipato darà al gammon il valore del match, cosa che una valutazione senza cubo non può vedere. La riga prima del lancio, invece, resta un’equità cubeless: è un fatto della posizione, non una decisione. La valutazione non viene mai registrata: è un calcolo, non un’analisi. Cliccare una mossa candidata la mostra sul tavoliere sotto forma di frecce, esattamente come nel pannello Analisi. Il discreto pulsante ?, nella fascia dei badge, conduce al repository del motore gammonNet; l’attribuzione completa (rete Strehl, configurazione gammonNet) figura nei Ringraziamenti dell’aiuto.
Il pulsante Aggiungi al database, in testa alla fascia dei badge, registra nel database la posizione presente sul tavoliere; CTRL-S, il comando w e il pulsante Salva posizione della barra degli strumenti fanno lo stesso. Viene scritta solo la posizione, mai la valutazione mostrata; se l’analisi automatica gammonNet è attiva, il suo lotto parte subito dopo, come dopo un’importazione. La barra di stato annuncia il numero della posizione, anche quando era già nel database: viene allora contrassegnata come importata singolarmente, e il filtro Importata singolarmente (s i) la ritrova. Il pannello resta aperto sullo stesso tavoliere, che resta una tavola di prova: si può spostare una pedina e aggiungere la variante, e uscire dal pannello riporta a ciò che si stava studiando. Il pulsante è disattivato finché non è aperto alcun database, o finché la posizione non può essere registrata (per esempio la posizione iniziale del pannello, in cui il giocatore in alto ha portato fuori tutte le sue pedine); il suo suggerimento ne indica il motivo.
L’utente modifica la posizione delle pedine sull’intero tavoliere, esattamente come in modalità di modifica: il clic sinistro posiziona una pedina del giocatore in basso, il clic destro una pedina del giocatore in alto. La seconda tabella, quella della corsa, compare solo quando la posizione ottenuta è un bearoff puro (tutte le pedine di entrambi i giocatori nella propria tavola); su qualsiasi altra posizione risponde soltanto la tabella delle quattro colonne comuni (vittoria, gammon, backgammon, cubeless), e la decisione riguarda le pedine o un cubo generico a seconda che dei dadi siano impostati.
In ciascuna tabella dei fatti, una riga per giocatore — contrassegnata dal suo pallino colorato, con il giocatore nero sempre in basso. La prima porta, finché nessun dado è impostato, la vittoria, il gammon, il backgammon (probabilità, senza il segno %) e l’equità cubeless del giocatore; la seconda, su una posizione di bearoff e dadi impostati o meno, l’EPC, il pip count, il wastage (differenza tra l’EPC e il pip count), il numero medio di lanci e la deviazione standard. Quando entrambi i giocatori hanno valori da confrontare, una riga Δ fornisce le differenze con segno (basso − alto: negativo quando il giocatore nero è in vantaggio). Fuori da una posizione di corsa, impostare dei dadi fa quindi scomparire le tabelle dei fatti stesse: le quattro colonne che portavano hanno appena cambiato asse, al tiro, in testa alla lista delle mosse.
La decisione di cubo ha sempre la stessa forma, qualunque sia l’origine dei numeri — tabella esatta, regime valutato o valutazione gammonNet ordinaria: una riga per opzione, nell’ordine nessun raddoppio, raddoppio/prende, raddoppio/passa, con la sua equità nel riferimento della posizione e il suo scarto rispetto all’opzione migliore. L’ordine non cambia mai, a differenza della lista delle mosse: le tre opzioni portano un nome, ed è quindi il nome che si legge, non il rango. La migliore si riconosce dalla sua evidenziazione e dalla sua cella di scarto lasciata vuota. Quando il cubo è già stato girato, le opzioni si leggono nessun riraddoppio, riraddoppio/prende, riraddoppio/passa.
Un’ultima riga dà il verdetto. Assume quattro valori: nessun raddoppio, raddoppio, prende, raddoppio, passa e troppo forte per raddoppiare, quest’ultimo quando giocare la posizione rende più che incassare il punto: raddoppiare sarebbe allora un errore per la ragione opposta a quella del semplice nessun raddoppio. È anche l’unico punto in cui il pannello dice che non c’è verdetto, anziché lasciar credere a un calcolo in corso:
nessuna decisione — il regime non ne ha diritto; il verdetto di cubo non viene mai stimato (vedere il badge stimato);
non valutabile a questo punteggio — il motore rifiuta la posizione, tipicamente un punteggio fuori dall’orizzonte della tabella di equità di match, cioè un lato a più di 64 punti da fare;
cubo dell’avversario e cubo morto (Crawford) — il cubo non può essere girato. Le equità restano visualizzate, a titolo indicativo, ma nessuna opzione porta uno scarto: un errore è ciò che costa una scelta, e qui non c’è scelta.
In money game, le regole Jacoby e Beaver attive sulla posizione compaiono sotto la tabella del cubo, in piccoli badge accanto al verdetto che modificano: il verdetto «no double» di una posizione sotto la regola Jacoby non è lo stesso calcolo di quello senza di essa, e nient’altro sullo schermo lo indicava.
Un terzo distintivo, Cubo max, compare quando l’identificatore di origine limita il cubo — sia a un punteggio di incontro sia nel money game. Quello non descrive il calcolo mostrato sopra: il valutatore integrato non modella un tetto, quindi il verdetto è quello di un cubo libero. È proprio per questo che il distintivo c’è: un cubo limitato è l’unica ragione visibile per cui blunderDB ed eXtreme Gammon possono annunciare due verdetti diversi sulla stessa posizione.
Il badge di regime, la profondità di valutazione, il collegamento al motore e la casella Sfida formano una fascia a parte, allineata a destra sopra le tabelle.
Il giocatore al tiro e la posizione del cubo si modificano direttamente sul tavoliere, come in modalità di modifica: cliccare il rettangolo bearoff/punteggio di un giocatore gli assegna il tiro; cliccare il cubo lo fa ruotare centrato → posseduto in basso → posseduto in alto (clic destro in senso inverso). Il valore del cubo resta fissato — in money game le equità sono espresse in unità del cubo corrente, conta solo il suo proprietario. L’analisi viene ricalcolata immediatamente. In regime stimato, il badge stesso è cliccabile e apre direttamente la scheda Bearoff della configurazione; il suo tooltip spiega perché (verdetto di cubo non stimabile, ADR-0009) e come estendere il dominio esatto.
Anche il punteggio si modifica direttamente sul tavoliere, come in modalità di modifica: il clic sinistro sul rettangolo del punteggio di un giocatore decrementa il suo numero di punti da fare, il clic destro lo incrementa. Uscire dal punteggio money (-1, -1) modificando un solo campo allinea automaticamente l’altro campo sullo stesso valore anziché lasciare un punteggio incoerente. Su una posizione di bearoff in regime esatto, passare da un punteggio money a un punteggio di match lascia la probabilità di vittoria così com’è (una lettura dal database, valida qualunque sia il riferimento) ma fa passare l’equità e il verdetto di cubo mostrati a quelli del regime valutato — essendo la tabella esatta money per costruzione, non sa rispondere alla domanda posta al punteggio. Il badge diventa allora composito (« esatto (vittoria) · valutato (cubo) ») per dirlo esplicitamente.
I dadi, infine, si modificano allo stesso modo, e sono loro a decidere la domanda posta: dadi impostati fanno una decisione di pedine (l’elenco delle mosse candidate), nessun dado una decisione di cubo. Un clic sinistro su un dado ne aumenta il valore (il 6 torna a 1), un clic destro lo diminuisce (l’1 torna a 6); cliccare un dado su un tavoliere che non ne ha ne imposta due in un colpo solo — un dado singolo non sarebbe né una decisione di pedine né una decisione di cubo. Cliccare il rettangolo di un giocatore toglie i dadi per porre una domanda di cubo, e il clic successivo su un dado li rimette com’erano.
BACKSPACE, o un doppio clic fuori dal tavoliere, cancella la posizione: tavoliere vuoto, punteggio money (-1, -1), nessun dado impostato — valori propri del pannello Eval, diversi da quelli usati in modalità di modifica (7 ovunque, dadi 3-1), per restare coerenti con ciò che il pannello mostra per impostazione predefinita.
Matrice del cubo
Una decisione di cubo non è una proprietà della dama. Le stesse pedine, lo stesso conteggio dei pip, si raddoppiano a 2-away/4-away e non si raddoppiano a 4-away/2-away; chi ha imparato la risposta money ha imparato una sola casella di una griglia. Il pannello Eval mostra la casella che la posizione porta; la matrice del cubo mostra l’intera griglia.
Il comando cm la apre sulla posizione visualizzata. Ogni casella dà il verdetto a un punteggio: la riga è il numero di punti che restano da fare al giocatore di turno, la colonna quelli dell’avversario. I quattro verdetti si scrivono ND (niente raddoppio), DP (raddoppio, presa), DR (raddoppio, rifiuto) e TB (troppo buono); una casella rifiutata dal motore porta un punto interrogativo e spiega perché al passaggio del mouse, che dà anche le tre equità della casella. Sono proposte tre lunghezze di incontro: 5, 7 e 9 punti.
La casella del punteggio che la posizione porta davvero è incorniciata, e le sue intestazioni di riga e di colonna sottolineate: la lettura parte da lì, «la mia casella, e ciò che la circonda». Lo è non appena i due punteggi away della posizione entrano nella griglia mostrata; cambiare lunghezza la sposta o la toglie. Una posizione money, la partita Crawford o un away oltre la griglia non ne indicano alcuna: non c’è casella da mostrare, e mostrarne una approssimativa sarebbe falso.
Il punteggio della posizione è sostituito da quello di ogni casella; il suo cubo è conservato. La griglia risponde a quale punteggio girerei questo cubo, non a ciò che farebbe una posizione centrata. È post-Crawford da un capo all’altro: durante la partita Crawford il cubo non è in gioco, e una colonna di «non potete raddoppiare» non direbbe nulla sulla posizione.
Ogni casella è una ricerca a sé. Il motore tiene conto del punteggio — non gioca la stessa partita a 2-away e a 7-away — quindi una sola ricerca riletta attraverso equità di incontro diverse sarebbe falsa esattamente dove il punteggio conta. La griglia arriva prima in 0-ply, poi si ricalcola alla profondità di visualizzazione configurata una volta che la finestra è a riposo: la stessa escalation del resto del pannello, per una griglia da 9 punti che costa circa un secondo e mezzo.
La stessa griglia si calcola fuori dall’interfaccia, con il comando cubematrix della riga di comando.
Portare una posizione nel pannello Eval
Il pannello si apre per impostazione predefinita su una posizione di bearoff, ma lo studio parte il più delle volte da una posizione già in mano. Due gesti ve la portano:
Clic destro sul tavoliere, in un pannello di analisi o durante la navigazione di una partita, poi Valuta questa posizione: il pannello Eval si apre direttamente su questa posizione, così com’è visualizzata. Il menu contestuale non compare nel pannello Eval né nel pannello Ricerca, dove il pulsante destro serve già a posizionare le pedine dell’altro colore.
CTRL-C poi CTRL-V: copiare la posizione dal pannello di analisi, poi incollarla una volta nel pannello Eval. L’incollaggio accetta anche un identificatore proveniente da altrove — un XGID (eXtreme Gammon, GNU Backgammon, un’altra istanza di blunderDB) o un OGID (OpenGammon): basta che sia negli appunti.
Il comando
import XGID=…(oimport OGID=…) per il caso in cui l’identificatore non è negli appunti ma in un messaggio, su un forum letto in un terminale, o prodotto da uno script. È lo stesso verbo diimportda solo: senza argomento apre un selettore di file, con un argomento legge l’identificatore. Il percorso è poi identico a quello dell’incollaggio — stessa lettura, stessa deduplicazione, stessa apertura della posizione importata.
Un OGID porta solo una posizione: né valutazione, né commento. La posizione arriva quindi senza analisi, esattamente come un XGID nudo, e il valutatore integrato può colmare il vuoto in seguito.
In un OGID, la partita Crawford si riconosce dalla C che segue la lunghezza dell’incontro (7C): senza di essa, un giocatore a un punto dalla meta è dopo la Crawford.
Il tavoliere del pannello Eval è una bozza: la posizione vi arriva senza il suo identificativo di database, in modo che nessuna modifica fatta qui possa riscrivere il record da cui proviene. Tutte le consuete modifiche del tavoliere vi restano disponibili (pedine, cubo, dadi, punteggio), e la valutazione segue ogni modifica.
Nell’altro senso, CTRL-C copia il tavoliere del pannello Eval negli appunti, con un XGID ricalcolato dalle pedine posizionate — quindi incollabile direttamente in eXtreme Gammon o in un’altra istanza di blunderDB. Viaggia soltanto la posizione: la valutazione mostrata dal pannello non è un record del database e non accompagna la copia.
Uscendo dal pannello Eval, la posizione consultata in precedenza viene ripristinata: la bozza non viene mai salvata da sola.
Quando la posizione è un bearoff puro (tutte le pedine di entrambi i giocatori nella propria tavola) e nessun dado è impostato, la decisione di cubo mostra, per il giocatore al tiro:
in regime esatto: le equità money (cubeless, senza raddoppio, raddoppio/prende, raddoppio/passa) e il verdetto di cubo money (nessun raddoppio, raddoppio/prende, raddoppio/passa o troppo forte per raddoppiare) — fuori dal punteggio di match, vedere sopra per il caso del punteggio,
in regime valutato: le stesse equità e lo stesso verdetto a quattro valori, ma giocati da gammonNet (ricerca + modello di cubo Janowski) anziché letti in una tabella — disponibili anche al punteggio di match, ciò che il regime stimato non ha mai potuto offrire;
in regime stimato: il verdetto di cubo non viene allora volutamente mostrato — resta disponibile soltanto la probabilità di vittoria, nella tabella dei fatti, accompagnata dal suo margine d’errore.
Non appena dei dadi sono impostati su una posizione di corsa, questa decisione di cubo prima del lancio scompare — il tavoliere richiede allora una decisione di pedine, non di cubo — ma la probabilità di vittoria, dal canto suo, resta un fatto della posizione, non una decisione: raggiunge la riga prima del lancio in testa alla lista delle mosse, accanto all’EPC che, invece, resta visualizzato subito a sinistra.
Un badge indica il regime: esatto (valore letto in un database two-sided), valutato · <profondità> (giocato da gammonNet — la profondità mostrata è quella che ha effettivamente prodotto il numero mostrato), stimato ± margine, oppure, al punteggio di match nel dominio esatto, esatto (vittoria) · valutato (cubo) — vedere sopra. Il regime esatto prevale ovunque sia disponibile; altrimenti il regime valutato compare non appena ha finito di calcolare, sostituendo sul posto il regime stimato mostrato durante l’attesa. Vedere Metodologia e ipotesi del pannello Eval per la definizione precisa dei tre regimi e delle loro ipotesi.
Allargare il dominio esatto. La tabella calcolata al primo avvio copre 6 pedine per parte. Due modi per andare oltre, nella scheda Bearoff della configurazione:
calcolare una tabella a due lati più ampia — fino a TS-06-15 se la macchina ha la memoria per farlo. La scheda dichiara la dimensione, la memoria e il tempo su questa macchina prima di cominciare, e il calcolo si mette in pausa e si riprende. Un calcolo annullato lascia un file
.partche non viene mai letto come una tabella;indicare un qualsiasi file
.bdtwo-sided di gnubg. Il database con il dominio più ampio prevale automaticamente.
Il tavoliere del pannello è una bozza, e viene ricordato. Uscire dal pannello Eval e tornarci ritrova la posizione su cui lo si è lasciato, non il tavoliere di bearoff predefinito: quello viene servito solo alla prima apertura del pannello in una sessione. Inviare al pannello una posizione dal database prevale su questo ricordo, e BACKSPACE restituisce il tavoliere predefinito in qualsiasi momento. Nulla viene scritto nel database per strada: la bozza non ha identità di posizione, e la sua valutazione viene ricalcolata all’arrivo anziché trasportata.
Modalità sfida. La casella Sfida, nella fascia dei badge, attiva una modalità di allenamento: a ogni modifica della posizione, i valori di tre zone vengono nascosti (sostituiti da « ··· »); un clic su una zona rivela soltanto quella zona. Senza dadi, si tratta della riga del giocatore in basso, della riga del giocatore in alto e della decisione di cubo — la riga Δ compare solo una volta rivelate entrambe le righe dei giocatori. Il blocco di decisione conserva allora le sue tre righe: sono i suoi valori, il suo verdetto e l’evidenziazione dell’opzione migliore a scomparire, altrimenti l’esercizio si risolverebbe cercando la riga in grassetto. Con dadi impostati su una posizione di corsa, la riga EPC di ciascun giocatore si nasconde come prima, ma la terza zona copre allora la riga prima del lancio e la lista delle mosse insieme: essendo la lista ordinata dalla mossa migliore alla peggiore, rivelarla parzialmente darebbe già la risposta. Con dadi impostati fuori da una posizione di corsa, questa stessa zona unica copre da sola tutto ciò che il pannello mostra. Ci si può così allenare a stimare l’EPC di ciascun campo, poi a pronunciarsi sul cubo o sulla mossa da giocare, prima di verificare. L’impostazione viene memorizzata.
Per chiudere il pannello Eval, premere CTRL-E o passare a un’altra scheda.
Metodologia e ipotesi del pannello Eval
Ogni valore mostrato dal pannello si basa su ipotesi precise, enunciate qui in modo esaustivo.
Dominio. La zona corsa — probabilità di vittoria e verdetto del cubo — tratta solo il bearoff puro: tutte le pedine rimaste dei due giocatori nella loro casa. La posizione è valutata prima del lancio; i dadi eventualmente posati sono ignorati.
I blocchi EPC, invece, vanno oltre: un lato ottiene il suo EPC non appena la sua pedina più lontana entra nella tabella a un lato caricata. Con la tabella predefinita (sei punti) è la vecchia regola della casa; con una tabella a otto punti, calcolata dalla scheda Bearoff, un lato con una pedina sull’8 è trattato come gli altri. Nulla è estrapolato: una pedina un punto troppo lontana semplicemente non ha EPC, esattamente come una pedina sul 7 non ne aveva prima. Quando la tabella che ha risposto non è quella a sei punti, il suo nome compare nell’angolo del blocco corsa (« OS-08 ») — senza di esso si leggerebbe « sei » per difetto e si crederebbe il lato interamente rientrato.
Blocchi EPC (sempre esatti). L’EPC, il numero medio di lanci e la deviazione standard provengono dalla distribuzione esatta del numero di lanci per far uscire tutte le pedine, letta nella base a un lato di GNUbg (da 6 a 10 punti, 15 pedine, calcolata sulla macchina). EPC = lanci medi × 49/6 (49/6 ≈ 8,167 è la media esatta di pip per lancio, doppi contati quattro volte); wastage = EPC − pip count. L’unica idealizzazione è il gioco ottimale a un lato: ogni giocatore minimizza i propri lanci ignorando l’avversario — è la definizione standard dell’EPC.
Probabilità di vittoria, regime esatto. Lettura diretta nel database two-sided disponibile più ampio (TS-06-06 calcolata al primo avvio, file esterno, o TS-06-11 calcolata dalla scheda Bearoff). Questi database risultano da un’analisi retrograda completa sotto gioco two-sided ottimale di entrambi i campi: nessuna ipotesi supplementare, errore limitato alla quantizzazione (< 0,002 %).
Probabilità di vittoria, regime stimato. Fuori dal dominio del database: la probabilità si ottiene convolvendo le due distribuzioni one-sided (il giocatore al tiro vince se il suo numero di lanci è inferiore o uguale a quello dell’avversario), poi applicando una correzione polinomiale fissa, calibrata offline rispetto al database TS-06-11. Tre ipotesi:
indipendenza dei due processi di uscita — strutturale in corsa, senza contatto non c’è alcuna interazione;
gioco one-sided ottimale di entrambi i campi — è l’approssimazione: in realtà il giocatore in svantaggio devia per giocare la varianza e chi conduce per la sicurezza. L’effetto misurato è un bias antisimmetrico (la convoluzione esagera il vantaggio di chi conduce) che la correzione assorbe statisticamente;
la correzione è stata calibrata e validata sul dominio dell’oracolo (fino a 11 pedine per giocatore). Errore residuo misurato: deviazione standard 0,05 %, 99º percentile 0,17 %, massimo osservato 0,9 % (in punti di probabilità di vittoria). Oltre 11 pedine per giocatore, questo limite è estrapolato — la tendenza è monotona ma nessun oracolo la certifica.
Equità e verdetto di cubo (solo regime esatto). Le equità mostrate sono quelle del money game, senza Jacoby, nel riferimento della letteratura del bearoff. Nel dominio ≤ 11 pedine per giocatore i gammon sono impossibili (ogni campo ha già fatto uscire almeno 4 pedine): non è un’approssimazione. Il verdetto (nessun raddoppio / raddoppio, prende / raddoppio, passa) è ricostruito esattamente dalle equità memorizzate, secondo la regola di GNUbg, validata punto per punto rispetto alla sua analisi.
Nota
Le equità cubeful presuppongono un gioco di cubo ottimale di entrambi i campi fino alla fine: i recube futuri sono integralmente valorizzati (analisi retrograda completa). Nelle corse molto volatili di fine partita, la cascata di recube consuma quasi tutto il vantaggio del campo al tiro — le equità « senza raddoppio » e « raddoppio/prende » possono allora essere vicine allo zero là dove un motore come XG, il cui modello di cubo non valorizza questa cascata, mostra valori vicini al dead cube (per esempio 2 pedine sulla punta 3 contro 2 pedine sulla punta 2: 62 % di vittoria, D/T esatto +0,006 contro +0,475 per XG). La decisione mostrata, invece, coincide con quella dei motori.
Probabilità di vittoria e verdetto, regime valutato. Fuori dal dominio esatto, la probabilità di vittoria proviene dall’output grezzo di gammonNet (ricerca a 0 o 2 ply a seconda del gesto, mai letta in una tabella), e il verdetto da un « Decide » Janowski applicato a tale output — la ricerca gioca la traiettoria invece di riassumerne un’istantanea, che è precisamente ciò che il regime stimato non poteva fare (vedere più sotto) e consente, unico dei tre regimi insieme all’esatto, un verdetto al punteggio di match.
Questo regime è stato misurato, non soltanto supposto, rispetto alla tabella two-sided integrata (TestEvalMeasure, 4000 decisioni money campionate, parametri canonici 2 ply k=12): accordo del verdetto money 93,4 % (3735/4000), ripartito per distanza dal punto di presa di gammonNet — 61,1 % a meno dell’1 % dal punto di presa (la zona più sensibile a un testa o croce), 88,3 % tra l’1 e il 5 %, 91,5 % tra il 5 e il 10 %, 94,0 % tra il 10 e il 20 %, 94,4 % oltre. Scarto di probabilità di vittoria: media 0,85 %, mediana 0,44 %, 95º percentile 3,21 %, massimo 8,30 %. Scarto di equità cubeful: media 0,039, mediana 0,018, 95º percentile 0,151, massimo 0,406. La forma è quella attesa: l’essenziale del disaccordo si concentra esattamente al punto di presa, dove due metodi legittimamente diversi divergono di più su una decisione serrata — non un errore diffuso che costerebbe equità ovunque.
Questa misura riguarda decisioni money, in corsa. Il verdetto al punteggio di match — che solo questo regime sa rendere — e le posizioni di contatto non hanno una misura pubblicata: quanto precede non si trasferisce a questi casi.
Perché non più profondo di 2 ply? Perché la misura dice che non rende nulla. Una decisione di pedine costa 99 ms a 2 ply e 8,4 s a 3 ply sulla stessa macchina — ottantacinque volte di più. Su quaranta decisioni reali rigiocate a entrambe le profondità, la ricerca più profonda ha cambiato idea due volte, e in entrambi i casi il guadagno che si attribuiva valeva al massimo 0,0005 di equità normalizzata: due ordini di grandezza sotto 0,020, la soglia a partire dalla quale eXtreme Gammon parla di errore. Per decisione, tutti i casi insieme, il guadagno è 0,0000.
L’impostazione non è dunque proposta. Non si tratta di dire che 3 ply non valga nulla in generale, ma che su questa rete, con il filtro canonico, non paga l’attesa di chi sta davanti a un pannello. La misura è riproducibile (TestThreePlyMeasure) e la conclusione sarà rivalutata se la rete cambia.
Perché il verdetto stimato non esiste? Quanto segue riguarda specificamente il metodo per convoluzione (regime stimato), non il regime valutato descritto sopra: l’equità cubeful è un problema di traiettoria (quando raddoppiare), che nessun riassunto statistico della posizione riesce a catturare — il miglior modello statico misurato lascia un errore residuo (deviazione standard 0,016 di equità, massimo 0,20) sufficiente a invertire tutte le decisioni serrate. Allo stesso modo, la conversione del verdetto al punteggio del match tramite una tabella di equità di match è risultata insufficiente (12 % di disaccordi con l’analisi 2-ply di GNUbg, con veri blunder). Poiché un verdetto sbagliato mostrato con sicurezza è peggio di nessun verdetto, la convoluzione non ha mai avuto il diritto di mostrare un verdetto — è una ricerca che gioca la traiettoria, non un riassunto statistico, a colmare questa lacuna.
Nota
Le basi di bearoff sono tabelle matematiche immutabili. blunderDB le calcola da sé, identiche allo strumento makebearoff di GNUbg — byte per byte — nella scheda Bearoff della configurazione o con blunderdb bearoff generate.
Pannello Anki
Il pannello Anki (CTRL-K) permette di studiare le posizioni tramite ripetizione dilazionata utilizzando l’algoritmo FSRS. L’utente può creare mazzi a partire da raccolte o risultati di ricerca.
Creazione di mazzi: Cliccare su New Deck per creare un mazzo a partire da una raccolta o dai risultati di ricerca correnti. I mazzi basati su una ricerca si sincronizzano automaticamente all’apertura della scheda Anki.
Un mazzo di schede di punteggio. La terza sorgente, Schede di punteggio, non chiede altro che un nome: blunderDB riempie il mazzo con i 36 punteggi non ordinati da 2 a 9 away, e la carta di un punteggio è la scheda che l”esercizio Punteggi mostra — punti di presa e valori di gammon, entrambe le facce. Questo mazzo esiste solo se lo si crea: 36 carte in scadenza il primo giorno sono un debito di ripasso, e lo si contrae di proposito. Il pulsante di sincronizzazione lo rigenera.
I due posti non fanno lo stesso lavoro. L’esercizio Punteggi fa ritrovare quei numeri sotto l’orologio e ne misura la velocità; il mazzo li fa durare nel tempo e non ne misura nulla. Le due storie restano separate: il registro dell’Allenamento ignora i ripassi di Anki, e le statistiche di Anki ignorano le sessioni di Allenamento.
Revisione: Selezionare un mazzo e poi cliccare su Study (oppure fare doppio clic su un mazzo) per iniziare la revisione delle carte in scadenza. Ogni carta mostra la posizione corrispondente sul board. Valutare il proprio richiamo con i tasti 1 (Da rivedere), 2 (Difficile), 3 (Bene) o 4 (Facile). Premere Esc per interrompere e tornare all’elenco dei mazzi.
Le decisioni di cubo fanno due carte, concatenate. Una decisione di cubo è due domande — «raddoppio?», poi «presa?» — e blunderDB le registra da sempre come due posizioni. Un mazzo che ne seleziona una sola metà riceve l’altra: la decisione è completata, non ampliata. E quando entrambe sono dovute, la seconda arriva immediatamente dopo la prima.
Ciascuna conserva il proprio voto e il proprio calendario: non sono due tempi di una stessa carta, sono due carte. La concatenazione non anticipa alcuna scadenza — ordina le carte già dovute, nulla di più. Nascendo insieme, sono dovute insieme la prima volta, ed è lì che serve.
Mostrare la risposta: La carta pone una domanda — quale mossa giocare, o quale azione di cubo. Riflettere, poi premere SPAZIO (o cliccare sulla zona nascosta) per svelare la risposta: l’analisi registrata della posizione, così come la presenta la scheda Analisi. Appare sotto i pulsanti di valutazione, che restano al loro posto e a portata di mano. Cliccare su una mossa dell’elenco la mostra sul tavoliere.
Nulla obbliga a svelare la risposta per valutare: se si è sicuri, i tasti da 1 a 4 restano attivi. La risposta viene nascosta di nuovo alla carta successiva, ma non se si cambia semplicemente scheda — si vada pure a consultare il pannello Eval o il commento della posizione, la si ritroverà al ritorno.
Una posizione priva di analisi registrata lo indica direttamente, senza zona nascosta.
Limitare la sessione. Per impostazione predefinita una sessione di ripasso arriva fino in fondo alle carte in scadenza. Puoi limitarla a un numero di carte, per mazzo, nelle Impostazioni: spunta Limita la sessione e indica quante carte deve servire una sessione. Quando il limite è raggiunto, la sessione si ferma dicendolo — il messaggio distingue «limite raggiunto, ancora tante carte in scadenza» da una coda davvero esaurita. Per continuare comunque c’è l’allenamento libero: propone altre posizioni senza modificare nulla della pianificazione.
Un limite di 0 non serve nessuna carta: è uno stato a pieno titolo, utile per congelare un mazzo il tempo di preparare un torneo, e non è la stessa cosa di «nessun limite». Il pulsante Study è allora inattivo.
Il limite riguarda la sessione, non la giornata. Un mazzo di blunderDB è costruito su una raccolta o su una ricerca: è un corpus finito, introdotto in poche sessioni, il cui volume quotidiano è già limitato dalla sua dimensione. Un tetto giornaliero non morderebbe mai, oppure creerebbe un arretrato su un mazzo che stava in una sessione.
Allenamento libero (cram): Il pulsante Cram, accanto a Study, avvia una sessione di allenamento libero: ti vengono mostrate posizioni casuali del mazzo senza tenere conto della pianificazione FSRS. Questa modalità non modifica mai il piano di ripetizione dilazionata — ideale per scaldarsi prima di un torneo o per ripassare intensamente un mazzo tematico senza alterarne l’ordine. Un’etichetta Cram sostituisce lo stato della carta e un pulsante Avanti (tasti 1–4) scorre le posizioni. Esc torna all’elenco senza salvare una sessione interrotta.
Mettere da parte una carta, senza votarla. Durante un ripasso, un clic destro sull’intestazione della carta offre tre gesti che la tolgono dalla sessione senza dire nulla allo scheduler:
Sospendere — la carta conserva il suo calendario e non risale finché è sospesa. È il modo di mettere da parte una carta sbagliata, o non ancora utile, senza perdere lo storico che vi è legato.
Rinviare — la carta sparisce fino all’indomani. A differenza della sospensione, questo non dice nulla sul suo valore: è per quella appena vista altrove, o che si preferisce non incrociare due volte in una serata.
Togliere — la carta lascia il mazzo, previa conferma. La posizione resta nella base: un mazzo è una lista di studio sulla biblioteca, mai una sua copia.
Nessuno di questi tre gesti registra un voto: una carta messa da parte non è una carta risposta, e non conta nel totale della sessione.
Registro dei ripassi. Nelle Impostazioni di un mazzo, il pulsante Registro dei ripassi mostra ciò che è stato detto allo scheduler — data, posizione, voto, stato, intervallo concesso — in contrasto con ciò che prevede. È l’unico posto dove si vede un voto inserito per errore. Lì non si corregge: il calendario resta fuori portata, e proprio questa regola rende utile il registro — il passato non si riscrive, ma si può conoscere.
Interruzione/Ripresa: È possibile interrompere una sessione di revisione in qualsiasi momento con Esc. Il pulsante cambia in Resume e mostra la tua progressione. Cliccarci sopra per riprendere da dove ci si era fermati.
Gestione dei mazzi: Usare i pulsanti d’azione per rinominare, sincronizzare, reimpostare o eliminare i mazzi (viene chiesta conferma per queste ultime due azioni). I parametri FSRS (ritenzione obiettivo, intervallo massimo, casualità) si possono configurare per mazzo nelle Impostazioni (icona a ingranaggio).
Ritenzione: l’obiettivo e la misura. La ritenzione obiettivo è la tua scelta sul compromesso fra carico di lavoro e qualità del richiamo: più è alta, più gli intervalli si accorciano e più ripassi. Accanto, le Impostazioni mostrano la ritenzione misurata sui tuoi stessi ripassi — un’informazione, mai un comando: blunderDB non modifica il tuo obiettivo per inseguire il tuo tasso di successo. Sotto una ventina di ripassi la misura non viene mostrata: si leggerebbe come un fatto mentre è solo rumore.
Cambiare la ritenzione non è retroattivo: ogni carta adotta il nuovo ritmo al ripasso successivo, e le scadenze già fissate non si spostano. L’effetto è quindi graduale, e invisibile il giorno stesso.
L”intervallo massimo limita la spaziatura. Un mazzo creato di recente parte da un anno: una posizione che l’algoritmo rimanderebbe di diversi anni ha lasciato il mazzo senza che tu l’abbia deciso, e il tuo stesso gioco cambia più in fretta di così. I mazzi più vecchi conservano il valore che avevano.
Pannello Allenamento
Il pannello Anki fa ripassare ciò che si ricorda; il pannello Allenamento fa lavorare ciò che si calcola, sotto l’orologio. Si apre con CTRL-J, con il pulsante della barra degli strumenti posto subito dopo « Position aléatoire », oppure con il comando train. La scheda di punteggio appartiene a entrambi: si calcola qui e si ricorda in un mazzo di schede di punteggio.
A riposo, il pannello mostra l’avvio e il bilancio delle sessioni passate.
L’avvio
Tre scelte, poi « Démarrer »:
l”esercizio — Scores, Pions (conteggio), Bearoff, Évaluation o Décision;
la sorgente della domanda, quando l’esercizio ne ha più d’una — Vivier (forme canoniche dell’esercizio), Plateau (la posizione così com’è) o Base (una posizione della lista sfogliata);
il limite per domanda — nessuno, 15, 30 o 60 secondi.
La sorgente scelta è ricordata per ogni esercizio, da una sessione all’altra.
train scores, train pips, train bearoff, train evaluation e train decision aprono il pannello e avviano direttamente; train tp e train takepoint sono sinonimi di train scores, train epc di train bearoff, train quiz di train decision.
I cinque esercizi
Scores estrae a sorte uno dei 36 punteggi non ordinati da 2 a 9 away e mostra una scheda di punteggio: due colonne — Vous (lei) e L’adversaire (l’avversario) — e sette righe — il punto di presa al cubo 2 e poi al cubo 4, ciascuno in corsa lunga e all’ultimo lancio, poi il valore del gammon ai cubi 1, 2 e 4.
Ogni colonna porta soltanto le caselle che le tabelle di riferimento — quelle che mostrano i comandi tp2_live, tp2_last, tp4_live, tp4_last, gv1, gv2 e gv4 — definiscono per la sua faccia: tre numeri a 2a-2a, quattordici al massimo, e una sola colonna a punteggio pari. Una riga che nessuna delle due facce definisce non compare sulla scheda, quindi non c’è alcuna casella « n/a » da indovinare. Le due facce ci sono perché una decisione di cubo al punteggio ha bisogno di entrambe: il punto di presa corretto combina i valori di gammon dei due giocatori, ed è il punto di presa dell’avversario a dire se il suo raddoppio passa.
Pions (pip) chiede il conteggio dei pip di entrambi i campi. Il pipcount del tavoliere è nascosto finché la domanda è aperta; « Révéler » lo mostra — anche se lei aveva nascosto il pipcount con p, altrimenti la risposta resterebbe invisibile e l’esercizio non verificabile. È una maschera e non un’impostazione: la sua scelta non viene modificata e torna a valere dalla domanda successiva. La fonte Plateau pone una domanda sulla posizione mostrata, e una sola; la fonte Base estrae una nuova posizione a ogni domanda e la porta sul tavoliere.
Bearoff chiede l”EPC dei due lati — il conteggio effettivo, quello che aggiunge al pipcount lo spreco delle pedine che escono con punti in eccesso. È il dominio in cui il motore è esatto, e quello in cui l’EPC si distingue davvero dal conteggio delle pedine.
Ogni domanda è generata: il motore parte da un seme e gioca qualche lancio, e l’istantanea è ciò che vi viene posto. Un piazzamento a caso non avrebbe i buchi, le pile basse e le asimmetrie di un vero bearoff. Il seme viene dal Vivier (un rientro completato, poi da zero a dieci mezze mosse), dal Plateau (la posizione mostrata, poi da una a quattro mezze mosse — mai zero, dato che l’avete appena vista) o dalla Base (una posizione della lista sfogliata, così com’è: è già reale).
Il dominio dell’esercizio: entrambi i lati interamente nella loro casa, da 4 a 15 pedine per lato e le altre uscite, cubo al centro, partita a soldi. Un seme che non vi rientra è rifiutato dicendolo, e non si avvia nulla — nessun adattamento silenzioso: continuare a giocare finché il contatto si rompe vi darebbe una posizione che non avete scelto. Una tavola vuota fa eccezione: la domanda viene allora dal vivaio, e il pannello dice perché.
L’esercizio ha bisogno della tabella di bearoff a un lato; finché viene generata in secondo piano (vedi Configurazione), lo dice invece di porre una domanda senza risposta.
Évaluation chiede quanto vale una posizione: la probabilità di vittoria del giocatore di turno, in percentuale, e l”azione di cubo — Pas de double, Double, prend o Double, passe. Sono i due numeri che mostra il pannello Eval, chiesti prima di essere mostrati. Il dominio è qualsiasi posizione: una corsa come una posizione di contatto, in partita a soldi.
Come per Bearoff, la domanda è generata: il seme viene dal Vivier (una posizione in cui il contatto si è appena rotto, poi da zero a dieci mezze mosse giocate dal motore), dal Plateau (la posizione visualizzata, poi da una a quattro mezze mosse; la domanda si pone in partita a soldi, con il cubo al centro, qualunque sia il punteggio del seme) o dalla Base (una posizione dell’elenco sfogliato, così com’è). Una posizione della base va bene solo se è una decisione di cubo in partita a soldi — senza dadi, con il cubo al centro o al giocatore di turno —; altrimenti l’estrazione passa alla successiva, e quando nessuna va bene, l’esercizio lo dice. Una tavola che non è una posizione di partita — non quindici pedine per parte, o una partita finita — viene rifiutata dicendolo; con una tavola vuota la domanda viene dal vivaio.
La verità è quella del motore: la base di bearoff a due parti quando la posizione vi figura, gammonNet alla sua profondità canonica ovunque altrove, e il pannello dice quale ha risposto. Nulla è stimato: una posizione che il motore non valuta non viene proposta.
Décision pone una decisione già analizzata: una posizione della lista sfogliata — la sua sola fonte — con la decisione che porta, mossa di pedine o azione di cubo, e giudica l’analisi registrata. Una posizione senza analisi non pone domande, e una posizione già posta non torna nella sessione; quando la lista è esaurita, il pannello lo dice. Senza base aperta, o senza posizione analizzata nella lista, l’esercizio rifiuta dicendo perché, e nulla parte.
Finché una domanda di Évaluation o di Décision attende la sua risposta, il pannello Analisi resta mascherato: porta la risposta.
Rispondere
La modalità di risposta è una proprietà dell’esercizio, mai un’impostazione: ciò che si conta o si recita si dichiara, ciò che si stima si scrive — perché lì la dimensione dell’errore è la lezione.
Scores e Pions si dichiarano: calcolate a mente, cliccate « Révéler », e la verità appare. Ogni numero è allora giusto per difetto — cliccate quello che avete sbagliato per segnarlo come fallo (Tab poi Spazio fa lo stesso gesto da tastiera), e un secondo clic annulla il segno. Non si scrive nulla: un conteggio di pedine o una casella di tabella è giusta o sbagliata, e scriverla non insegna nulla più che leggerla.
Bearoff si scrive: scrivete i due EPC, « Valider » li giudica a mezzo punto — la granularità alla quale l’EPC cambia una decisione di corsa — e la verità appare accanto a ciò che avete scritto. È l’applicazione che giudica, non c’è nulla da spuntare. Lo scarto è registrato con il suo segno: sopravvalutare non è sottovalutare, ed è il bilancio a farne una media.
Évaluation unisce i due gesti in una stessa domanda. La probabilità di vittoria si digita e si giudica con cinque punti di margine, scarto con segno compreso; l’azione di cubo si sceglie — il clic trattiene il pulsante senza giudicare nulla, e « Valider » giudica entrambi in una volta. Il cubo non ha tolleranza: è giusto solo il pulsante che il verdetto del motore rende giusto, e a una posizione troppo forte per raddoppiare si risponde Pas de double. Invio nel campo porta all’azione di cubo finché non è scelta, poi convalida. Dopo la risposta, il pannello mostra la verità — il verdetto in quattro esiti —, la sua fonte, e l”EPC dei due lati quando la posizione ne ha uno esatto; l’EPC non viene mai chiesto qui, ha il suo esercizio. Il diario conta i due numeri separatamente: si può stimare bene una posizione e leggere male il suo cubo.
Décision si sceglie. Su una decisione di pedine, gioca la mossa sulla tavola: clicca il punto di partenza poi la destinazione, oppure trascina la pedina, una volta per dado. La tavola offre solo ciò che è giocabile — un clic che nessuna mossa legale consente non sposta nulla. Nel pannello, « Annuler le pas » torna indietro di un dado, « Recommencer » rimette la posizione come la domanda la pone (un doppio clic fuori dalla tavola fa lo stesso), e « Valider », attivo una volta completata la mossa, la fa giudicare. Il campo di notazione accetta anche la mossa digitata (13/7 8/7, la notazione della trascrizione): i passi vengono posati sulla tavola a ogni battuta, un campo arrossato segnala che un passo non è giocabile, e INVIO convalida la mossa completa. Con il focus sul pannello, BACKSPACE annulla un passo, ESC ricomincia la mossa e INVIO la convalida. Su una decisione di cubo, clicca Nessun raddoppio, Raddoppio, presa o Raddoppio, passo: il clic è la risposta.
La correzione distingue tre esiti, e confonderli mentirebbe. Una mossa illegale non è una mossa mal scelta: è un errore di regole. Una mossa legale che il motore non ha classificato non è un errore di giudizio: semplicemente non ha prezzo, e non costa nulla. Una mossa classificata costa quello che l’analisi dice, in millipunti. È giusta solo una mossa classificata e senza costo; la mossa migliore è mostrata in ogni caso.
Il cronometro parte alla comparsa della domanda e si ferma a « Révéler », a « Valider » o al clic di un’azione di cubo di Décision; la domanda successiva si prepara mentre rispondete, quindi non è mai cronometrata con la vostra. Spuntare i falli non è cronometrato nemmeno. Con un limite, una domanda rimasta senza risposta alla scadenza si rivela da sola e conta fuori tempo: tutti i suoi numeri sono sbagliati, e il suo tempo non entra nella mediana — non si misura una risposta che non è stata data. Una decisione fuori tempo mostra la mossa migliore, e non entra nel PR della sessione.
« Suivante » registra la domanda e ne pone un’altra. La sessione non ha una durata fissata: dura fino a « Terminer », che la scrive nel diario, o « Quitter », che la scarta. Tutti i pulsanti sono nel pannello; il tavoliere mostra la domanda e la sua risposta, non porta alcun comando.
Finché una domanda è posta sulla tavola, rivelata o no, i tasti che scorrono la lista non la fanno scorrere: la domanda tiene la tavola fino a « Suivante », « Terminer » o « Quitter ».
Il diario e il bilancio
Le sessioni terminate sono conservate nella base stessa — seguono quindi il file — e senza limite. A riposo, il pannello mostra una riga per esercizio: il numero di sessioni, il tasso di errori, il tempo mediano e, a partire da dieci sessioni, la tendenza, cioè lo scarto tra il tasso di errori delle ultime dieci sessioni e quello di tutte — negativo, lei sta migliorando.
Per Décision, la riga dà anche il PR dell’ultima sessione, calcolato con la formula che le statistiche applicano al gioco reale — 500 × errore medio in equità normalizzata, sulle decisioni giudicate. Un PR di allenamento di 6 e un PR di incontro di 6 misurano la stessa cosa sulla stessa scala.
Facendo clic sul nome dell’esercizio si apre il dettaglio per tipo di numero: « Point de prise 4 · dernier lancer, 6 / 9 ». È questo dettaglio a dare valore al diario, e conta per tipo e non per faccia: la stessa casella della stessa tabella, vista da un lato o dall’altro, è una sola debolezza.
Pannello Metadati
Il pannello Metadati visualizza le informazioni generali del database corrente: nome, descrizione, numero di posizioni, numero di match e di partite, versione dello schema. Accessibile tramite il comando meta.
Mostra inoltre, quando esiste, l’origine del database — vedere Distribuire un database: origine e password. Un database ordinario non mostra questa sezione.
Distribuire un database: origine e password
Un insegnante che distribuisce un database di posizioni dispone di due meccanismi, indipendenti l’uno dall’altro, entrambi facoltativi e scelti al momento dell’esportazione: contrassegnare il file con la sua origine e proteggerlo con una password.
Nota
Nessuno dei due tiene traccia di ciò che accade al file. blunderDB non registra nulla dal lato di chi riceve il database: aprire un database contrassegnato è esattamente come aprirne uno qualsiasi, e da nessuna parte viene annotato chi lo ha aperto, quando, né da dove proviene il suo contenuto.
Contrassegnare un database con la sua origine
La finestra di esportazione sta in una sola schermata: il modulo e, sovrapposto ad esso durante la scrittura, un indicatore di avanzamento. Si chiude da sola al termine e il risultato appare nella barra di stato.
Tre punti meritano attenzione:
L’esportazione riguarda le posizioni attualmente visualizzate, non l’intero database. Dopo una ricerca vengono esportati solo i risultati: la finestra lo ricorda in alto.
Una raccolta le cui posizioni non siano tutte nella selezione arriva troncata. L’elenco mostra quindi, per ogni raccolta, la parte coperta («12/40») e la segnala in rosso quando è parziale.
I tornei possono essere esportati solo insieme ai match: senza di essi il collegamento torneo–match non esiste e il torneo arriverebbe vuoto. La casella resta disattivata finché non è selezionato «includi i match».
I campi Utente, Descrizione e Data descrivono il file prodotto; sono precompilati a partire dal database di origine. La casella I miei filtri salvati è a sé stante: non esporta contenuti ma le tue ricerche salvate, inutili nel database di qualcun altro.
Selezionando Contrassegna questo file con la sua origine compaiono due campi:
Origine — che cos’è questo file e da dove proviene, con parole tue: «Lezione di Jean Dupont — 12 marzo 2026». Questo campo è obbligatorio: finché è vuoto, il pulsante di esportazione resta inattivo.
Nota, facoltativa — condizioni d’uso, indirizzo di contatto, la richiesta di non ridistribuire.
Il contrassegno è firmato con la tua identità di emittente. È quindi inalterabile e non falsificabile: nessuno può modificarlo né fabbricarne uno a tuo nome. Non è invece incancellabile: il file distribuito è un normale database SQLite e blunderDB è software libero. Non impedisce nulla: dice da dove viene il file.
Identità dell’emittente
I contrassegni sono firmati con la tua identità di emittente, creata da sé la prima volta che contrassegni un file; non c’è nulla da configurare. Appartiene a una persona e non a un database: tutti i tuoi file recano la stessa impronta pubblica, nella forma A3F1-9C24-7B05-E1D8.
Puoi comunicare questa impronta ai tuoi destinatari perché verifichino che un file proviene davvero da te. L’identità si sposta da un computer all’altro in un unico file (estensione .bdbid), eventualmente protetto da una passphrase. Questo file permette di firmare a tuo nome: non condividerlo.
Nelle impostazioni (icona a ingranaggio della barra degli strumenti), la scheda Identità dell’emittente mostra il tuo nome e la tua impronta e propone Salva identità…, Carica identità… e Rigenera….
Avvertimento
Rigenerare non revoca nulla. Un contrassegno incorpora la chiave pubblica che lo ha firmato: si verifica quindi per sempre, da sé. Se il tuo file di identità è trapelato, chi lo possiede potrà continuare a firmare con la tua vecchia impronta, e quei contrassegni resteranno validi.
Ciò che ti protegge dopo una fuga non è il software: è pubblicare la tua nuova impronta e disconoscere la vecchia presso i tuoi destinatari.
La rigenerazione sovrascrive la chiave attuale; blunderDB propone di salvarla prima di sostituirla.
Proteggere un database con una password
La password si digita mascherata, qui come all’apertura di un file protetto; l’icona a forma di occhio la mostra finché la si tiene premuta e la nasconde di nuovo appena la si rilascia.
Selezionando Proteggi questo file con una password si ottiene un file con estensione .dbx, anche se nella finestra di salvataggio avevi scelto un nome in .db, poiché tale finestra si apre prima che venga chiesta la password. Per aprirlo, usa la consueta apertura di un database: la finestra di selezione accetta sia i .db sia i .dbx. blunderDB chiede allora la password e installa accanto un database ordinario; in seguito non viene più chiesto nulla.
La finestra propone di eliminare il file protetto una volta aperto: altrimenti si conserva lo stesso contenuto sotto due nomi. La casella non è selezionata per impostazione predefinita — il file protetto resta tuo se intendi trasmetterlo — e l’eliminazione avviene solo dopo un’apertura riuscita.
Avvertimento
La password protegge il trasporto del file, non il database. Impedisce a un terzo di aprire un file dimenticato in una cartella di download o un allegato inoltrato per errore. Non protegge da colui al quale hai dato la password.
La password viene verificata a ogni apertura, anche quando il file è già stato aperto in precedenza su quel computer.
Tecnicamente il database è cifrato con AES-256 in modalità GCM, con una chiave derivata dalla password tramite Argon2id (64 MiB di memoria, 3 passaggi, 4 thread) e un sale casuale proprio di ogni file. La modalità GCM autentica l’insieme: una password errata viene rilevata come tale, e così pure qualsiasi alterazione del file cifrato — non si ottiene mai in silenzio un database corrotto.
L’intestazione del file protetto resta in chiaro: la sua origine rimane leggibile senza la password.
Leggere l’origine di un file
Nell’applicazione, apri il file e mostra il pannello Metadati (comando meta). In cima al pannello compare una sezione Origine, in sola lettura, che indica ciò che è stato iscritto, da chi, quando, e lo stato della firma:
«✓ firma verificata — contrassegnato da te»: il file reca il tuo contrassegno, intatto;
«✓ firma verificata»: il contrassegno è intatto e proviene da un’altra chiave — confronta la sua impronta con quella che l’autore ti ha comunicato;
«⚠ firma non valida»: il documento è stato modificato o contraffatto.
Questa sezione non compare in un database ordinario.
Da riga di comando, blunderdb info --db file.db mostra l’origine e lo stato della firma, senza mai scrivere nel file. Il comando funziona anche su un file protetto, senza la password. Vedere CLI_USAGE.md per le opzioni --watermark e --password di export, nonché per identity e open.
Pubblicare una base per altri
Una base marcata si distribuisce come qualsiasi file — email, sito personale, chiavetta USB. blunderDB non fornisce alcun servizio: né deposito, né catalogo ospitato, né account. È una conseguenza diretta della sua concezione: dal lato di chi riceve un file non viene mai registrato nulla, e non ci sarebbe quindi nulla da comunicare a un servizio, anche se esistesse.
Ciò che rende una base pubblicata utilizzabile da un altro si riduce a quattro campi, tutti già presenti:
Utente — chi l’ha costituita, con il nome che vuoi veder citato.
Descrizione — che cosa contiene la base, in una frase che stia in un elenco: «240 decisioni di cubo al punteggio, commentate, livello intermedio».
Provenienza (della filigrana) — che cos’è questo file e per chi è stato prodotto. È la prima cosa che il destinatario legge nel pannello Metadati.
Impronta dell’emittente — pubblicala accanto al file, non dentro: è confrontandola che il destinatario verifica che il file viene da te e non da qualcuno che ha ripreso il tuo nome.
Una base pubblicata senza filigrana resta perfettamente utilizzabile; è semplicemente anonima, e il pannello Metadati non mostra allora alcuna sezione Provenienza.
Per far conoscere una base, la categoria Show and tell delle discussioni del deposito fa da elenco: è una lista tenuta da chi pubblica, non un servizio reso da blunderDB. Annunciarne una lì richiede il link, i quattro campi qui sopra e l’impronta.