giovedì 6 novembre 2014

La nostra meta non è mai un luogo ma piuttosto un nuovo modo di vedere le cose.

Questa è molto recente...




...per motivi vari, ho alcuni contratti con hosting diversi.
Su uno, il più famoso hosting "mondiale", c'è bisogno di un nuovo server con un certo quantitativo di ram e processori, nonché spazio disco ecc ecc.
Tutto quello che attualmente è presente sul vecchio server deve essere spostato su questo upgrade. Qui arriveranno anche altri tre web con le loro applicazioni ecc ecc.

Apro un ticket per sapere tempi e metodi di questo nuovo upgrade, quanto costerà la nuova struttura, quanto ci sarà di differenza da pagare sino alla fine del precedente contratto e che cosa voglio come hardware.


La prima risposta è questa:

"Gentile Cliente, deve visionare il nostro sito sezione web hosting professionale, se ci dice a qualche piano vorrebbe passare, possiamo vedere se possiamo applicarle qualche sconto.
Rimaniamo a sua disposizione"

Dicome: vabbè, sarò stato troppo poco prolisso?

Riscriviamo:
Il servizio desiderato è il Web Hosting XYZ con l'aggiunta di tre domini yadda yadda, mantenendo gli altri siti esistenti sul vecchio WebHosting che verranno spostati insieme alle applicazioni e DB. In pratica potrei avere (con questa soluzione) Xgbyte, Xdomini oltre allo spazio sul server di backup. Giusto?
Mi dite quindi quanto costa il tutto e quale differenza devo sino alla fine del vecchio contratto?

Risposta:
"Gentile Cliente, si esatto. Rimaniamo a sua disposizione."

Dicome: vabbè, sono stitici a rispondere...

Riscriviamo:
Se decidessi oggi (esempio) il cambio del piano, la differenza fra il contratto in essere e quello futuro (in più o in meno) viene considerato subito? E come lo gestisco sull'ordine via web?

Risposta:
"Gentile Cliente, lei pagherà sempre la differenza sino alla scadenza del servizio. Rimaniamo a sua disposizione. Cordiali Saluti"

Dicome: .....


Riscriviamo:
Io faccio l'ordine con la nuova configurazione desiderata (e fin qui ci arrivo).
E' possibile avere la configurazione funzionante dalla data del $data anche se ordino domani?
Nell'ordine devo fare qualche riferimento a quanto già detto? 
E per il pagamento: attendo la conferma del totale come da ticket?

Risposta:
"Salve, il servizio viene attivato dal pagamento. Quindi se ordina domani e paga le viene attivato domani. Cordiali Saluti"

Riscriviamo:
Sig. TalDeiTali, abbia pazienza. Se pongo 3 domande perché ottengo una sola risposta che, per altro, non soddisfa nessuna delle quattro domande?

Risposta:
"Perché ero dal cellulare e non vedevo le altre"

Dicome: Maporcatroialadravaffanculobruttocoglionesifilitic omerdoso...

AltraRisposta:
"Adesso le vedo tutte: 
1) se ordina oggi viene configurato oggi
2) no
3) si. adesso dovrebbe pagare $cifra ma la differenza con l'altro servizio fa $altracifra e quindi all'ordine faremo i nuovi conteggi."


Riscriviamo:
OK. Perfetto.
Allora ordino comunque oggi per avere il tempo di prepararmi tutto l'ambiente di lavoro.
Metto come pagamento bonifico bancario, per dare modo a voi di poter vedere se devo o meno qualche cosa. Tra parentesi: dovete emettere la fattura senza la ST dato che vendete al di fuori degli USA. 

Dicome: Quindi ordino il tutto, metto come pagamento BB e richiedo (vecchia storia) di non emettere la fattura con la ST perché poi la paghiamo qui ecc ecc

Risposta:
"Gentile Cliente, ci allega la distinta di versamento cosi da attivare il servizio?
Rimaniamo a sua disposizione"

Dicome: Maporcatroialadravaffanculobruttocoglionesifilitic omerdoso...


Riscriviamo:
(ripetere sino alla noia) Ma li leggete sti ***** di ticket?

Risposta:
"Salve, è 0 in caso di upgrade. Non se acquista un servizio a parte. 
Cordiali Saluti"


Dicome: no, sti stronzi non leggono quello che scrivono all'interno dello stesso ticket...

Riscriviamo:
(allego tutti post di tutta la discussione)
IO STO FACENDO UN ***** DI UPGRADE!!! Leggete!!!!!


Risposta:
"Gentile Cliente, non riesco più a comprendere cosa scritto, mi spiego nuovamente.
bla bla bla, yadda yadda, bla bla bla..."

Riscrivo:
Esatto. Un semplice upgrade.

Risposta:
"Salve, l'ordine deve essere annullato. L'upgrade è la "trasformazione" dell'attuale piano in quello nuovo. Quindi non l'acquisto del nuovo piano.
Cordiali Saluti"

Dicome: oh signur d'amore acceso. L'han capito?

Riscriviamo:
Quindi l'ordine errato lo disdite voi? E il nuovo upgrade? 
Ci pensate voi? Mi avvertite? Si? No? Mah?

Risposta:
"Si ci pensiamo noi, quando fatto le scriviamo."

Dicome: eccoli li...che mi staccano tutto senza neanche dirmi una pippa...

Riscriviamo:
Ma magari avvertire quando decidete di staccare tutto per ripristinare sul nuovo no?

Risposta:
"Ah si, tranquillo. L'avvertiamo noi..."


Dicome: sperem. E questi sono i più famosi...




Aggiornamento 1 (4 giorni dopo)

Effettivamente, fatto l'ordine per i soli domini, questi li vedo nel pannello di controllo attivi (e infatti funzionano).
Quindi, sono in attesa dell'upgrade. Dopo due giorni, chiedo a che punto siamo (ricordate? loro dicono paghi domani e avrai domani. Dato che è un upgrade, e loro non hanno specificato nulla, si desume che sia uguale) ma nessuna risposta.
Quindi faccio passare un altro giorno e nessuna risposta.
Arriviamo a oggi e sollecito nuovamente.
Questa la risposta:

Gentile Cliente,
il ticket e' on-hold, se lei continua a replicare, e soprattutto con lo stesso messaggio, fa solo rallentare questo ticket.
Le chiedo gentilmente di non continuare a replicare, l'upgrade sara' fatto il prima possibile, entro fine settimana.
Rimaniamo a sua disposizione
Cordiali Saluti





martedì 4 novembre 2014

lunedì 3 novembre 2014

Il matrimonio gay dal punto di vista della costruzione del database.




Ci sono varie obiezioni contro l'espansione del matrimonio "convenzionale", "come-Dio-intende" o "un Uomo, una Donna" ma, per quello che mi riguarda, i più pragmatici sono gli amministratori che tali matrimoni dovrebbero gestirli dal punto di vista burocratico.

Per esser sinceri: il sistema non è costruito per gestirli. 
Tutti i moduli e la documentazione disponibile hanno spazi assegnati per il nome del marito e della moglie. Gli sposi devono accuratamente compilare tali moduli in stampatello negli appositi spazi e poi passare i documenti così compilati ad impiegati depressi che procedono poi a re-inserire tali informazioni in computers usando appositi software di front-end che sono costruiti esattamente nello stesso modo. 
E quando premono il tasto "invio" le informazioni vengono inserite in un qualche database che semplicemente implode o vomita un qualche tipo di errore se si prova a fargli digerire qualche cosa di così anomalo come due uomini che si amano abbastanza dal voler inviare una dichiarazione delle tasse unificata.
Parlando come una persona abituata ad aver a che fare con i computer, modificare i documenti cartacei non è il mio lavoro. E' probabilmente molto costoso e vi sono probabilmente milioni di documenti già pronti che dovrebbero essere riciclati o bruciati invece di essere usati. O forse è semplice. Non lo so. La vera domanda dal mio punto di vista è come memorizzare tali informazioni in un computer.
Alterare la struttura di un database per consentire una cosa come il matrimonio gay può essere facile o difficile a seconda di come il sistema è stato progettato all'inizio. Vediamo un po'.

Nota: A grande richiesta popolare il problema è adesso noto come 'Y2Gay'.
RiNota: questo documento si riferisce esclusivamente alle unioni civili riconosciute dallo stato. Organizzazioni religiose, chiese et similia possono ovviamente riconoscere, creare ed annullare ogni sorta di unione a cui possano pensare. Anche le chiese usano i database.


Uno

Cominciamo con un sistema veramente idiota che sicuramente nessuno con un singolo neurone funzionante vorrebbe mai usare. Una roba tipo questa:

"maschi"
id
nome
cognome
data_di_nascita
id_moglie (fk riferita a femmine.id - null se single)

"femmine"
id
nome
cognome
data_di_nascita
id_marito (fk riferita a maschi.id - null se single)

Fantastico! Tutti sono sposati o meno, è semplicissimo sapere chi è sposato con una semplice query. Una semplice join fornirà chi è sposato con chi.

Problemi? E' una miniera d'oro per quanto riguarda le contraddizioni, informazioni duplicate e così via. Se "Maschio" 45 (Giorgio) ha id_moglie 699, allora "Femmina" 699 (Elisabetta) deve anche lei avere id_marito uguale a 45. Che succede se è Null o, ancora meglio, che succede se id_marito è 1078 (il fratello di Giorgio)? Possiamo immaginarci le risate. O forse no.


Due

Difficile da crederci, ma questa struttura è un pochino meno idiota di quella precedente.

"Maschi"
id
nome
cognome
data_di_nascita
id_moglie (fk riferita a femmine.id, null se single)

"Femmine"
id
nome
cognome
data_di_nascita

Questo elimina il problema di contraddizioni ed ambiguità ma è un perfetto bersaglio per qualunque commento di tipo sessista/sciovinista. Inoltre: che succede se decidiamo di memorizzare altre informazioni relative al matrimonio in se stesso? Tipo, quando è iniziato?


Tre

"Maschi"
id
nome
cognome
data_di_nascita
id_moglie (fk riferita a femmine.id, null se single)
data_matrimonio (null se single)

"Femmine"
-come Due-

Ok, e che succede se divorziano?


Quattro


"Maschi"
id
nome
cognome
data_di_nascita
id_moglie (fk riferita a femmine.id, null se single)
data_matrimonio (null se single)
data_divorzio (null se single o non divorziato)

"Femmine"
-come Due-

Ooookey ma che succede se volessimo memorizzare tante (molte, moltissime) informazioni relative al matrimonio? Tipo, dove è stato tenuto, i nomi dei testimoni, dettagli della licenza e così via? Io non mi sono mai sposato ma sono più che sicuro che i dettagli amministrativi sono parecchi. Se tutte queste informazioni sono attaccate alla tabella "Maschi" diventa un pò problematico. Meglio memorizzare il tutto in una apposita tabella.
E chi divorzia potrebbe sposarsi di nuovo! Ma sono sicuro che i vari burocrati vorrebbero sempre i dati del matrimonio precedente insieme a quelli del nuovo matrimonio! Cancellare completamente le informazioni precedenti non è una grande idea.


Cinque

"Maschi"
id
nome
cognome
data_di_nascita
id_matrimonio (fk riferita a 'matrimoni.id' null se single)

"Femmine"
id
nome
cognome
data_di_nascita
id_matrimonio (fk riferita a 'matrimoni.id' null se single)

"Matrimoni"
id
id_marito (fk riferita a maschi.id)
id_moglie (fk riferita a femmine.id)
data_matrimonio
data_divorzio (null se mai divorziati)

Questa ha già più senso. La tabella "Matrimoni" può avere anche più informazioni mentre le informazioni relative a "Maschi" e "Femmine" sono dove gli compete.
Ovviamente tutto il sistema è incredibilmente stupido e sciovinista. Uomini e Donne sono uguali, giusto? Quindi ogni cambiamento strutturale alla tabella Uomini dovrebbe essere riportata nella tabella Donne. In pratica significa che ogni cambiamento alla logica dell'applicazione che usa questa struttura deve essere applicata due volte o - come minimo - ci deve essere un mastodontico switch per consentire al software di usare la tabella giusta. E ogni altra tabella in questo ipotetico database deve essere in grado di riferirsi alla tabella "maschi" o "femmine" a seconda del sesso della persona riferita.

E' completamente stupido farlo in questo modo. Tuttavia, c'è un buon motivo per cui non ho semplicemente ignorato i passaggi da 1 a 6. E' che c'è un sacco di gente nel mondo che pensa in questo modo. Questo è il loro modo reale di pensare al concetto di "matrimonio". Questa gente non è in grado di capire che uomini e donne sono uguali, il risultato è che una cosa come il matrimonio gay provoca seri problemi di integrità referenziale nella loro testa. "Ma se sono tutti e due maschi, chi è la moglie?". Patetico.


Sette

"Umani"
id
nome
cognome
data_di_nascita
sesso (m o f)

"Matrimoni"
id
id_marito (fk riferita ad un maschio nella tabella umani)
id_moglie (fk riferita ad una femmina nella tabella umani)
data_matrimonio
data_divorzio (null se mai divorziati)

Ecco che stiamo raggiungendo qualche cosa che non è sciovinista ma è sufficientemente intelligente e che potrebbe anche esistere da qualche parte. Questo schema è abbastanza logico se assumiamo che voi viviate in un qualche paese cristiano. Ovviamente, se si vuole forzare una relazione un-uomo-una-donna con questo schema è necessario aggiungere una qualche logica applicativa per fare in modo che id_marito punti effettivamente ad un "umano" di sesso maschile ed id_moglie ad uno di sesso femminile. E, suppongo, bisognerebbe anche fare delle verifiche che nessun maschio o femmina sposato/a improvvisamente cambi sesso. O, molto più prosaicamente, che nessuno cambi sesso e basta.
Fino a questo punto, implementare una cosa come il matrimonio gay in questo schema - trasformare il database in un gaybase - è stato relativamente complicato. Ma adesso abbiamo qualche cosa di diverso. Per consentire a un uomo di sposare un altro uomo o una donna un'altra donna, quello che dobbiamo fare è rimuovere queste funzioni di controllo logico. Per coerenza si potrebbe anche rinominare la struttura.


Otto

"Umani"
-come sette-

"Matrimoni"
id
partner-1 (fk riferita ad umani.id)
partner-2 (fk riferita ad umani.id)
data_matrimonio
data_divorzio

Con l'avvento del matrimonio gay tuttavia, abbiamo aggiunto un problema. La struttura precedente consente ad ogni umano di sposare un umano. Notare l'assenza dell'avverbio "differente" nella frase precedente. Il matrimonio è una relazione binaria, una persona non può sposare sè stessa.
E perchè no?

Ottima domanda. La maggioranza della gente risponderebbe che "è idiota". Il che significa che una risposta logica dovrebbe balzare subito alla mente. Ed ecco la mia.

Per rispondere è necessario lasciare il campo dei database e guardare a quali privilegi e doveri lo stato di "matrimonio" conferisce ai suoi membri. Ci sono benefici legali, tipo l'essere autorizzati a visitare una persona in ospedale o avere potere decisionale nel caso il partner sia incapacitato. Questi sarebbero ovviamente inutili se siete il marito/moglie di voi stessi. Ma ci sono anche benefici fiscali, che sono ovviamente pensati per una coppia, i cui membri sono ovviamente interessati entrambi a livello legale/abitativo/riproduttivo. Se una persona sposa se stessa ovviamente non c'è nessun interesse di questo tipo ed è semplicemente un vantaggio fiscale. Percui, sì, il matrimonio è di tipo binario (o almeno, non unario. Matematicamente non-riflessivo).

Quindi, rimuovendo la limitazione maschio/femmina, bisognerebbe come minimo aggiungere una verifica a qualche livello logico per assicurare che i due id_partner siano, in effetti, diversi e che la gente non possa sposare sè stessa. Sono quasi sicuro che tale controllo non entrerebbe mai in funzione, ma deve essere lì da qualche parte. Questo piccolo problema logico è in effetti il più grosso ostacolo.


Nove

Ovviamente, viviamo nel 21° secolo e come direbbe Eddie Izzard, "ci saranno parecchi ragazzi che useranno make-up in questo millennio". Sostanzialmente sto parlando di voialtri "non-convenzionali", voialtri non-maschi-e-non-femmine. Il semplice fatto di avere "sesso" che può assumere solo i valori canonici di maschio o femmina è tanto miope quanto il pensare al matrimonio come maschio/femmina. Quindi...


"Umani"
id
nome
cognome
data_di_nascita
id.sesso (fk riferita a sessi.id)


"Sessi"
id
descrizione


Dove "sessi" conterrà i vari valori tipo "maschio", "femmina", "asessuato", "ermafrodita", "ignoto" e tutto lo spazio disponibile per ulteriori alterazioni, dato che, sicuramente, il concetto di sesso diventerà sempre più complicato via via che il tempo passa.
In effetti, l'intero concetto di genere/sesso è molto più complesso di così. Come sappiamo il concetto di "sesso" è strettamente biologico e si riferisce per lo più al tipo di organi che si trovano tra le gambe, mentre il concetto di genere è più mentale che altro. Quindi...


Dieci


"Umani"
id
nome
cognome
id_sesso (fk riferita a sessi.id)
id_genere (fk riferita a generi.id)

"Matrimoni"
id
partner-1 (fk riferita ad umani.id)
partner-2 (fk riferita ad umani.id)
data_matrimonio
data_divorzio

"Sessi"
id
descrizione

"Generi"
id
descrizione

Dove "generi" potrebbe includere maschio / femmina / ignoto / indeciso e così via. Ripensandoci, tutta questa discussione tra generi e sessi è stupida. Perchè non aggiungiamo un altro campo per identificare se qualcuno è un travestito oppure no...
Hey! Ferma tutto! Il punto cruciale di questa discussione non è il dimostrare che la vostra forma fisica non indica chi potete o non potete sposare? Lasciamo perdere quindi del tutto il discorso sesso.


Undici


"Umani"
id
nome
cognome
data_di_nascita

"Matrimoni"
-come otto-

Meglio. Ora, aprendo una parentesi, si potrebbe discutere sul fatto che le leggi contro il matrimonio gay siano semplicemente scioviniste. Per esempio, se supponiamo che viva in un paese dove il matrimonio gay sia proibito, ogni donna di tale paese ha il diritto di sposarmi. Ma ogni uomo non ha tale diritto, anzi, è espressamente negato. Quindi in questo caso le donne hanno dei diritti che gli uomini non hanno. Stesso discorso ma al contrario per le donne ovviamente.
Le leggi contro il matrimonio gay introducono una linea di demarcazione molto ben definita tra due gruppi di persone nel mondo e dicono chiaramente che "ogni matrimonio deve attraversare questa linea". Ma ogni legge che discrimina tra uomini e donne è chiaramente discriminatoria.

Parlando come un database designer, quei due campi 'partner1' e 'partner2' non mi piacciono molto. Ho lavorato in parecchi database con 'qualchecossa1' e 'qualchecosa2' ed ogni volta mi sono ritrovato a doverne aggiungere un '3' e poi un '4' e così via. Ed ogni volta la logica di gestione deve essere alterata e la complessità aumenta ("stai cercando di forzare l'unicità degli indirizzi di posta? be spero che tu ti sia ricordato di confrontare 'email_1' con 'email_2' ed 'email_3' e...").

Questo è un controllo che non è stato manco considerato per il momento. Bisogna assicurarsi che ogni individuo sia coinvolto in un solo matrimonio alla volta. Non si può avere A sposato con B ed allo stesso tempo B sposato con C. E bisogna anche essere cauti. Bisogna assicurarsi che A sia partner_1 o partner_2 in al più un matrimonio. Non si può che A sia sposato con B ed allo stesso tempo B sia sposato con A. Questo creerebbe due separati matrimoni! E questo non si può!
E perché no?
Bella domanda. Cominciamo ad analizzarla con calma.

Poligamia.

Dire che un matrimonio può coinvolgere esattamente due persone è limitato come dire che un matrimonio deve essere solo tra uomini e donne. Perché un matrimonio non potrebbe coinvolgere più di 2 persone? E' altamente non-convenzionale e la parte psicologica di un matrimonio poligamico è complessa di suo. Dovete essere gente speciale per far funzionare un matrimonio a tre. Ma gente non-convenzionale e speciale è sempre esistita nel mondo reale, quindi perché non fare in modo che possa funzionare sia dal punto di vista elettronico e legale?

Qui secondo me "legale" è il vero blocco. Penso di essere nel giusto quando dico che molto del "legalesauro" globale è appositamente pensato per matrimoni di tipo binario più che per matrimoni eterosessuali. Questo non è semplice come cambiare un paio di parole in una legge esistente, qui si tratta di cambiare profondamente tutta o una vasta parte della legislazione esistente. Le possibilità di "buchi" legislativi è enorme. E tutto questo dovrebbe essere fatto per consentire ad una piccola minoranza di gente di fare come vogliono. Io penso che si dovrebbe fare (dove non è già stato fatto) e gli argomenti contro non sono meglio degli argomenti contro il matrimonio gay ma gli ostacoli sono più grossi.

In ogni caso, IANAL e IAADBE.


Dodici


"Umani"
-come undici-

"Matrimoni"
id
data_matrimonio
data_divorzio

"Partners"
id
id_umano (fk riferita ad umani.id)
id_matrimonio (fk riferita a matrimoni.id)

Sulla carta, questa struttura dovrebbe essere relativamente semplice da creare e gestire. In pratica? Ah Ah Ah Ah!!! Questo schema in effetti crea blob (no, non Binary Large Objects) di gente tutti collettivamente sposati tra di loro. Ogni umano è membro al massimo di un matrimonio. Questo è facile da forzare facendo in modo che partners.id_umano sia una chiave unica. Un matrimonio può avere ogni numero di membri. Nessun tipo di codifica speciale per quello.
Per evitare i problemi di "matrimoni unari" e prevenire la gente di sposare se stessa o, in questo schema, di creare un singolo-uomo blob, bisogna assicurarsi che ogni matrimonio abbia come minimo due elementi e questo è l'unico problema di logica applicativa che questo schema introduce.

Fantastico.

Assumendo che i matrimoni siano statici.

Ecco che incontriamo il tipico problema introdotto quando si cerca di adattare "2-cose in n-cose". 
Fino ad ora, A e B erano sposati o no. Se il matrimonio tra i due veniva annullato si passava da "sposati" a "non sposati". Ma qui siamo in una situazione dove un blob si può creare tra A e B. Che succede se C si unisce al blob in una data seguente? Che data di matrimonio si mette in quel caso? E che succede se C decide di andarsene ma A e B restano?

Questo potrebbe essere semplice da risolvere in pratica. Basta annullare l'intero matrimonio e crearne uno nuovo con la nuova data. Ma sembra un accrocchio e suona complesso dal punto di vista legale. Alla fine, sembra che A e B abbiano avuto 3 matrimoni mentre in realtà ne hanno avuto solo uno.
Possiamo aggiustarlo?


Tredici


"Umani"
-come undici-

"Matrimoni"
id

"Partners"
id
id_umano (fk riferita ad umani.id)
id_matrimonio (fk riferita a matrimoni.id)
data_inizio
data_fine (null se mai annullato)

Questo schema è molto più sofisticato. Un blob si forma quando almeno due persone si uniscono come "partners" e se una terza persona si unisce, si crea un'altra linea nella tabella "partners" senza alterare niente altro. Se qualcuno decide di andarsene, solo uno dei partners avrà un matrimonio annullato, senza alterare nessuno degli altri. Potrebbe anche decidere di tornare indietro, in quel caso sarebbe una nuova linea completamente. Tuttavia, questo significa che quella persona avrebbe due matrimoni discontinui anche se coinvolgono le stesse persone. E gli altri due avrebbero solo una linea di "partners" quindi, tecnicamente, un solo matrimonio anche se in effetti sarebbero due. Nel caso di un matrimonio a due che cessasse di esistere, entrambi i partner dovrebbero andarsene allo stesso tempo, altrimenti rimarrebbe un matrimonio con un elemento "attivo". Tutto questo dovrebbe essere forzato nella logica applicativa.
Ovviamente, bisognerebbe anche assicurarsi che ad ogni momento una persona possa essere membro di un solo matrimonio alla volta.

Piuttosto complicato.

E mi posso immaginare anche altre complicazioni, tipo: che succede se A e B sono sposati tra di loro e C e D sono sposati tra di loro ed ad un certo punto A decide di sposare C? Bisognerebbe inventarsi un qualche sistema per cui B viene trascinato nel matrimonio tra A-C e D o viceversa. Oppure, per consistenza, che i due blob diventino un unico blob a quattro.

Certo, si può architettare. Ma non senza introdurre annullamenti arbitrari nel sistema e pertanto discontinuità tra i vari matrimoni. Perché in questo caso il concetto di matrimonio non è solo una relazione binaria irriflessiva, è una relazione transitiva, irriflessiva binaria. Se A è sposato con B e B è sposato con C, allora A è sposato con C.

Giusto?


Quattordici (Orcaboia! Sta ancora andando avanti!)

Le ramificazioni legali di quello che sto per descrivere sono praticamente impossibili da concepire, almeno, io non ho idea di quali diritti e doveri una unione come questa potrebbe avere, ne tanto meno ho idea di quale sorta di "universo trans-umano" potrebbe accomodarla. Questo è lo schema di un ipotetico database di matrimoni per voialtri uomini del 31simo secolo.


"Umani"
id
nome
cognome
data_di_nascita

"Matrimoni"
id
id_partner_1 (fk riferita a umani.id)
id_partner_2 (fk riferita a umani.id)
data_inizio
data_fine

In un matrimonio transitivo, chiunque è sposato con chiunque altro. Un matrimonio transitivo inizia creando una relazione binaria A-B, A sposa B. C può unirsi a questo schema semplicemente sposando entrambi, quindi C sposa A e B aggiungendo due linee in matrimoni. C potrebbe quindi divorziare da entrambi e quindi risposarli entrambi.
Se C e D (sposati tra di loro) decidono di unirsi alla prima coppia, ognuno dei due dovrebbe sposare gli altri due. Quindi C dovrebbe sposare sia A che B e la stessa cosa vale per D. Il che potrebbe essere problematico ma matrimoni di questa stazza non credo siano molto comuni in ogni caso.

Ma questo non è necessario. C potrebbe anche decidere di sposare solo B.

Quello che abbiamo creato è una cosa chiamata un Grafo. Un grafo è una struttura matematica formata da punti (umani) ed una serie di linee (matrimoni) che uniscono i punti in modo binario (una linea/matrimonio - due punti/umani). Fino ad ora abbiamo assunto che tutti i punti sono rossi (maschi) o blu (femmine) e che tutte le linee (matrimoni) devono necessariamente unire un punto rosso con un punto blu.

Da quel punto abbiamo anche concesso l'esistenza di punti di colore diverso e concesso che il colore dei punti è irrilevante e che le linee possono anche unire due punti indipendentemente dal colore.

Poi abbiamo raggiunto il punto in cui consentire un punto (persona) a connettersi con al più un altro punto è limitante ed abbiamo deciso di consentire ogni possibile combinazione di linee in ogni possibile configurazione. Il matrimonio tradizionale "binario" è ancora il più comune. Un triangolo (tre persone ciascuna sposate con gli altri due) può occasionalmente apparire. Ma, in teoria, ogni possibile figura o forma può connettersi con ogni altra forma possibile. E le linee possono apparire o sparire ad ogni momento.

Il fatto che esistano ancora id_partner_1 e id_partner_2 è discutibile ma la ragione della loro esistenza non esiste più. Non siamo più limitati a matrimoni binari. Chiaramente, ogni possibile combinazione può essere costruita usando una combinazione di matrimoni binari.

Giusto?

Senza perdere generalità, si potrebbe fare in modo che id_partner_1 è sempre un numero inferiore a id_partner_2, questo renderebbe le ricerche assai più semplici perché l'ordine non ha più importanza. Il matrimonio può essere molte cose, ma di certo è commutativo. Se A è sposato con B, allora B è sposato con A.

Giusto?


Epilogo

Bene, è cominciato con una idea riguardo eguaglianza dei diritti di matrimonio e SQL ed è finito con teoria dei grafi, qualche cosa che, almeno io, non mi aspettavo. Matrimoni non-commutativi - o, penso non-uguali - in cui uno dei partner è considerato, legalmente, inferiore all'altro (per esempio nel caso in cui uno dei partner riceva le proprietà dell'altro se questo dovesse morire ma non viceversa) suona come una progressione logica del tema adesso ed una ricetta per una nuova schiera di leggi repressive e discriminatorie un momento dopo. In effetti, pensandoci sopra, credo che anche matrimoni intransitivi potrebbero essere visti in questo modo.

Forse il sistema più semplice sarebbe proibire i matrimoni del tutto. Oppure, ancora meglio, dichiarare semplicemente tutti come sposati con tutti gli altri. 
Ma in questo caso, che cosa farebbero i database designer per tutto il giorno?




Il pezzo originale è di Sam Hughes: http://qntm.org/gay

sabato 1 novembre 2014

Percepisco un disturbo nella forza...qualche cosa di elusivo...nascosto...

La gente si dedica ad uno strano hobby, il 31 Ottobre, che consiste nel chiedersi se bisogni o meno festeggiare Hälloween, detto anche Shamäin, detto anche "al dì di mört" dai ferraresi che scrivono con tastiera tedesca. Poichè questa cosa mi irrita, intendo rispondere definitivamente a questa importantissima e fondamentale questione sul futuro dell'umanità.

Innanzitutto, ne ho pieni i coglioni di gente che tira fuori l'antichissima festa di Shamäin. Il fatto che una festa caschi nello stesso giorno di una festa dei celti non significa che sia la stessa festa. I celti non mandavano i bambini a bussare alle porte delle case per dire "dolcetto o scherzetto" per una semplice ragione. Le loro capanne non avevano la porta, ma un drappo di pelliccia. 
Se riuscite a bussare su una porta così, siete celti.
Hälloween è nata negli USA e non è nemmeno così diffusa in Irlanda o in Inghilterra, se non dal momento in cui è arrivata dagli USA. Che vi piaccia o meno, i celti non facevano niente come "Hälloween". 
Certo, per loro il 31 ottobre i morti tornavano sulla terra ma presso gli Sbronzit della Cipperania il 31 dicembre si pagava l'IVA. Adesso non è che dovete venire a rompere con la storia che Hälloween festeggia le tasse della Cipperania. Il 31 ottobre casca più o meno in tutto il mondo e quindi per ogni popolo avrà un significato diverso, tipo "sbattesega" o "giorno qualsiasi" o "si paga l'IVA" o "la Zollia BidoneAspiratutto ha accettato di uscire con me".

In secondo luogo, i celti sono un popolo che è stato di moda per molti anni. Come ogni cosa che sta di moda per molti anni, è stata un tantino sopravvalutata. Per esempio: praticamente ogni popolazione di cui non si capisse bene l'origine è stata definita celta. Secondo alcuni i Celti arrivavano sino alla Turchia, per altri erano celti gli emigrati di Ceppaloni che lavoravano in FIAT a Torino e altri ancora confondono i celti coi germani e tante altre cose.
In generale i celti non scrivevano. Se mi dite che avevano le Rune, meritate di essere schiavi di Dildix il Druido, molto popolare per via di alcune tradizioni orali. Le Rune erano una cosa dei popoli germanici, i celti non hanno mai scritto una cippa e se credete che l'Ogamico fosse una scrittura, Dildix vuole presentarvi la sua ultima invenzione detta "trenta piani di durezza".  
E vi dico solo una cosa: se Stonehenge vi sembra un data center, immaginate com'erano i loro sexy shop.

Questo accipicchia di equivoco nacque perché i normanni invasero il nord dell'Inghilterra e siccome anche i celti venivano dal nord rispetto alle zone che oggi chiamiamo Inghilterra, la gente pensava che le rune dei normanni fossero celte. La variante inglese delle rune - peraltro apparsa verso il 1600 in alcuni conventi cristiani - non ha nulla a che vedere coi celti.
I celti non scrivevano. Si tramandavano la tradizione orale, il che significa che il sapere dei celti cambiava ogni tre generazioni. Chiunque abbia studiato teoria dei segnali e costellazioni statistiche sa bene quanto possa durare, invariato, un sapere orale. Dopo tre generazioni il druido Muroditufix non sapeva un cazzo di quanto sapeva il suo antenato, Stationvagonix. 

Stabilito che la cultura celta era un ottimo generatore di numeri casuali - ma niente di più - occorre uscire dalla sopravvalutazione per capire come Hälloween non c'entri con loro. Innanzitutto la cultura orale si tramanda bene quando parlate una lingua semplice e senza ambiguità. Se prendete già Tacito, che pure parlava una sua versione personale di latino, il suo sapere si è salvato perché era scritto. Il Latino di Tacito era, per intenderci, un latino come lo avrebbe parlato un turista svizzero dopo una settimana di vacanze a Bari se fosse tornato indietro e avesse detto "Atesso io rifare, ja!".

Se Tacito avesse voluto fare una tradizione orale, sarebbe successo quello che succede nei licei italiani:

Chi mai, la Spagna e la Francia, a disposizione, sotto un cielo grigio, Germania avendo vivere vorrebbe?
Ma che cazzo dici? Ma come parli?
Stolto, taci ed impara! Impara et tramanda!
Ma stolto a chi? Parli come un frullatore! Cazzo, ma non si può imparare della roba così!

Ora, della lingua celta si sanno poche cose se non il fatto che fosse ancora più incasinata del latino di Tacito. Il che esclude radicalmente che sapessero qualsiasi cosa, non avendo la scrittura.
Questo spiega molte cose. 
Per esempio, i celti non si lavamano per tutto l'Inverno (con la maiuscola perché allora l'Inverno era cazzuto). Non avendo una lingua scritta, non potevano tramandarsi cose come le terme o  "se scaldi l'acqua ti puoi lavare". Così si spalmavano di burro rancido o di grasso di suino all'inizio dell'autunno e tiravano avanti così sino a primavera. Se andate nei musei trovate i raschietti che usavano a primavera per togliere la crosta.
Ora, questo esclude radicalmente, che so io, il sesso orale. Magari qualcuna/o ci ha provato. Chi ha provato e ha fallito? Ci ha provato ma è morta. Voglio dire, in confronto il Gom Jabbar di Dune sembra una stronzata da ragazzini.
E questo è nulla. Poichè i celti avevano un calendario lunare, il mestruo delle loro donne era precisissimo. Non so che diavolo c'entri ma sembra che alle femministe piaccia pensare che i romani avessero la clessidra da polso e le donne celte avevano il calendario da passera. Ora, se immaginate una popolazione che non si lava per sei mesi, potete capire cosa succedesse nelle case dei celti d'inverno:

Amatricianix, tesoruccio, non vieni a letto?
Ehm... no. Vado a caccia di cinghiale.
Di notte? Maddai... vieni da me. Non vedi che ho messo la salopette di bisonte? Detto con tono di voce salopettico (In francese, Saloppe significa bagascia. Salopette è una piccola bagascia, puttanella.)
Ehm.. no. Moglie mia: è giunto il tempo di uccidere quel maledetto cinghiale che infesta i nostri boschi!
Uffa, sempre cinghiale!

Non ci vuole molto a capire per quale motivo i celti preferissero la caccia al cinghiale: con quelle abitudini igieniche, il letto di casa era un luogo di oscuri pericoli, paludi rosse di sangue - e non c'entrano i nemici uccisi in battaglia - e il peggio in salopette di bisonte.

Una festa come Hälloween non poteva esistere, perché sarebbe finita così:

Flap, Flap (provate voi a fare toc toc dove le porte sono pelli di animale)
Uffa. Chi flappa alla porta a quest'ora?
Ta-ta: dolcetto o scherzetto!
Aha. E che cos'è un "dolcetto"?
Ehm... beh, è una piccola opera di pasticceria adatta ai bambini.
Smamma. Non c'è alcuna prova archeologica di pasticceria celta.
Ma allora faremo lo scherzetto!
Per esempio?
Beh, potremmo dare fuoco alla sua salopette di bisonte, signora.
Questa non è una salopette di bisonte.
Ma la pelliccia...
Sono uscita nuda dalla bacinella di lardo rancido. Vai al punto: questo scherzetto?
...

A parte il fatto che i celti non avessero nemmeno la depilazione, non sembra una gran festa per i bambini.

Tornando a bomba rimane la domanda: è sensato che in Italia si vada in giro a bussare per chiedere "dolcetto o scherzetto?". Apparentemente si, fino a quando non incontrate la casa di un fisico quantistico. Tipo, voi suonate a casa di Immirzi e chiedete "dolcetto o scherzetto?". A quel punto, se le due cose sono mutuamente esclusive, l'universo forka in due universi paralleli. Essi hanno tutto, ma proprio tutto -compreso Morgan dei Bluvertigo - identico, tranne la scelta "dolcetto" mentre l'altro, sempre fornito della sua copia di Morgan dei Bluvertigo, ha la scelta "dolcetto". Se escludiamo la proliferazione di universi paralleli, non sembra così grave. I fisici quantistici potrebbero evitare di rispondere per Hälloween, dopotutto.

Qualcuno dice che non si tratti di una tradizione italiana. Il guaio è che i cultori di Hälloween potrebbero dire che è l'Italia a non essere una tradizione. La festa di Hälloween inizia a diffondersi negli USA prima che arrivi l'unità d'Italia. Morale: non esistono tradizioni italiane. Qualcun altro mi dirà che la sente come una cosa estranea, mentre le feste locali che avvengono da secoli dentro i confini italici, gli danno un senso di familiarità.  Aha.
Ci sentiamo già a casa. Mica come Hälloween.
Ora, a parte il fatto che vista l'età dell'Italia come identità non è così scontato che esista una "tradizione italiana" e al massimo sarà una moda, c'è da dire che non tutte le feste locali sono più belle di Hälloween. Voglio dire, se voi avete il diritto di vestirvi da idioti, parlare dialetti coi quali non potreste descrivere neanche il 10% della vostra vita e mangiare porcherie arcaiche, siete liberi di farlo:



Però dovete sapere che non sembrate tanto più furbi di quelli vestiti da strega.


Anzi, sospetto che cambierei volentieri una festa con l'altra.


C'è chi tira fuori il fatto che i cristiani abbiano messo le loro feste sopra le feste pagane. E che quindi tutte le liturgie sono simili e persino alcune figure siano copiate. E siccome confondono i celti coi germani, tirano fuori quanto simile sia Cristo e Odino.

Si, è vero, Odino rimane crocefisso ad una quercia sino a quando gli vengono date le rune e si libera, dopo nove giorni, pagando questa preziosa conoscenza facendosi strappare un occhio dalla testa. 
Siccome rimane crocifisso allora tutti dicono che Cristo abbia copiato, o che siano sincretismi, ma non è detto che ogni tizio che rimane crocefisso sia la stessa cosa. Dopotutto, se iscrivete vostro figlio a certi gymnasium privati, vi costa un occhio della testa, vi fanno penare nove giorni per ammetterlo e gli insegnano si e no l'alfabeto. Magari l'Edda Antica era una metafora delle scuole private tedesche.
Che poi Odino e Cristo ci azzeccano niente. Tralasciamo le differenze caratteriali - nella storia tipica Odino avrebbe impalato Ponzio Pilato, i rabbini e tutta la compagnia - i problemi sono proprio di tipo semantico. Cioè, se io prendo del vino e dico che questo è il mio sangue, va tutto liscio. E' facile immaginare che il vino sia sangue.

Ma adesso  immaginiamo Odino in Baviera che cerca di fare la stessa cosa. Sono lui e i 12 guerrieri e le tre Heidi (che non tutti magari possono avere tre Marie). Allora Odino prende un grosso boccale di birra, rende grazie, e dice una cosa tipo:

Odino: Prendete e bevetene tutti, questo è il mio sangue offerto in sacrificio per voi.
Wulwaiv: Uhm. Sei sicuro che sia proprio il tuo sangue? Dall'aspetto si direbbe semmai...
Odino: Ehi, sei sordo? Ho detto che è il mio sangue! E' una cosa spirituale! Si chiama transustanzazione! 
Wulwaiv: Uhm. Sarà, a me sembra un po' di nefrite, ecco tutto.

Anche con il pane non va molto meglio. E' facile prendere del pane e dire che è il tuo corpo. Il mondo è pieno di proverbi tipo "buono come il pane" o "è un pezzo di pane". Ma se ci mettiamo Odino diventa un poco più complicato. Cioè, abbiamo Odino, sempre alla stessa cena che prende un wurstel, lo offre ai suoi guerrieri e dice tipo :

Odino: Prendete e mangiatene tutti, questo è il mio corpo offerto in olocausto per voi.
Heidi die Hure (Il corrispondente locale di Maria Maddalena è Heidi die Hure): Ehm...quello non è tutto il tuo corpo, vero?
Odino: Mbeh? Che c'è? Ancora con sta storia? E' una cosa spirituale! 
Heidi die Hure: Beh, forse un bratwurst (Wurst indica in generale la salsiccia. Il suffisso -el è un diminuitivo. Così wurstel è una piccola salsiccia, mentre altri tipi di Wurst, come il bratwurst, sono più grandi. Il wurstel è , letteralmente, "piccola salsiccia".) andava meglio.
Odino: E va bene, e va bene. Datemi un bratwurst. Ecco. Questo è il mio corpo, eccetera, eccetera. Heidi die Hure, vuoi provare tu?
Va bene.
....
....
....
....
Odino: Uhm. Heidi, ma tu non  mastichi mai mentre mangi?

Insomma, sono palle. Odino è Odino e Cristo e Cristo. Non ci azzeccano niente.
Così, torniamo a bomba. Per quanto ne vogliate dire, Hälloween è una festa americana nata due secoli fa circa, non ha niente a che vedere con Celti e Germani. L'Italia è nata 150 anni fa e non esistono quindi tradizioni italiane. Al massimo esistono tradizioni locali, molte delle quali sono altamente più pagane e assolutamente estranee al vostro modo di vivere, ben più di Hälloween.

Quindi, non rompete i coglioni e spassatevela.





Buon compleanno Fanelli :)