Storie dalla Sala Macchine


Home Page | Commenti | Articoli | Faq | Documenti | Ricerca | Archivio | Storie dalla Sala Macchine | Contribuire | Imposta lingua:en it | Login/Register


Dammi Spazio

Gli "Standard" e le "Best Practice" sono una gran cosa. Se una cosa e' standard si puo' stare tranquilli che verra' sempre utilizzata nello stesso modo e si puo' stare certi che sia sempre li' quando la cerchiamo. Le "Best Practice" invece ci rassicurano che certe cose vengono fatte in un certo modo, dove non c'e' uno standard accettato ma vi sono certe procedure che sono universalmente riconosciute e seguite.

In qualche universo, probabilmente quello in cui io sono ricco e bello da fare schifo, ma non in questo, dove gli "standard" sono li' per essere guardati da lontano e le "best practice" non si sa bene che roba siano, probabilmente  una qualche specie in via di estinzione se non gia' estinta.

Quello che capita di solito e' che il pinguino di turno fa quello che gli pare nel modo che gli gira e quando qualche cosa si schianta miserandamente e si scopre che la causa iniziale e' l'abuso di una qualche funzionalita' in maniera completamente sballata e contraria a qualunque logica, la sua iniziale difesa e' che "ha sempre funzionato".

Come no.

Il motivo per cui certe cose sono chiaramente indicate come "da non farsi" e' proprio perche', anche se "funzionano" non ci si puo' contare troppo o, alla lunga, provocano piu' problemi di quanti ne risolvano. Come tenere documenti importantissimi nel cestino.

E dopo questa introduzione, parliamo di $venditoriedaffini, che hemmm... vendevano roba. Questa gente aveva un sistema informativo alquanto estroso, nel senso che nel corso degli anni avevano accumulato diversi prodotti che non erano propriamente progettati per essere usati insieme, ed il modo come il loro IT aveva "risolto" il problema era di utilizzare un'insieme di export/import sincronizzati (o anche no) in modo da avere un flusso pressoche' costante di dati tra i vari dipartimenti.

Percui la Finanza usava un software per spedire fatture e fare i conti mentre i venditori ne usavano uno diverso per gestirsi le vendite ed un'altro ancora per gestirsi i fornitori, la divisione "web" aveva fatto sviluppare un CMS dedicato che, in teoria, avrebbe dovuto leggere i suoi dati dal software dei fornitori e scriverli in quello delle vendite. Quando gli girava. Quando non gli girava (spesso) diventava una corsa selvaggia all'importare ed esportare dati a manella da svariati databases.

Tutto bello ('nsomma) finche', un bel giorno, uno dei vari UL del marketing, decise che la cosa era "insostenibile" e quello che ci voleva era... un ennesimo software! Sviluppato ex-novo e sotto dettami di UL stesso. Lo scopo era "integrare stabilmente" i dati dell'applicazione finanziaria con l'applicazione delle vendite e mantenere la coerenza con la fatturazione.

In sostanza, questo parti' di sua sponte e fece sviluppare da una software house esterna un mostruoso accrocchio che avrebbe dovuto leggere e scrivere TUTTI i dati e fornire una interfaccia "unica" sull'intero ambaradam. Che e' un'idea fantastica, ma richiede anche che tutti gli altri interessati siano "a bordo" per funzionare.

Si perche' non e' che il resto del software fosse "finito" o "stabile". Manco un po'. Tutta quella roba era continuamente aggiornata, modificata e smandruppata e non passava una settimana senza che vi fossero dei bug-report o "hotfix" da installare da qualche parte. Quindi cercare di costruire una interfaccia senza avere il controllo dei dati di base non era proprio una cosa facile. Soprattutto quando ognuno si inventava i suoi standard al momento.

Nomi dei campi? Quello che ti gira. Nomi delle tabelle? Idem. Indici? Mi vuoi fare ridere? E cosi' via.

E poi ti capitano gli imprevisti. Come il fatto che $programmatore1, che aveva iniziato l'intero accrocchio e scritto buona parte del codice, decide di migrare verso altri lidi, lasciando $programmatore2 a smazzarsi l'intera faccenda, senza una vaga idea di come le cose funzionano e perche'.

E poi... Arriviamo ad un bel giovedi' pomeriggio quando $programmtore2 chiede di fare una release alle 16.30. Dato che qualcuno dalla parte di UL da' l'assenso, l'intero accrocchio viene messo in produzione.

Fast forward al mattino dopo quando tutto il resto si incrocchia perche' pare che questo coso non sia in grado di comunicare le sue cose in modo decente e contina ad incartarsi con una serie di errori relativi a "tabelle inesistenti".

Dato che nel disegno originale questo coso dovrebbe essere oramai "IL" software di backend dell'intera organizzazione, le urla e gli strepiti si sentono a distanza kilometrica.

La cosa curiosa e' che l'errore e' "Table XYZ does not exists", ma se io guardo nel db, posso vedere una tabella XYZ... Qui gatta ci cova. Mi metto percio' a guardare gli ennemila script che vengono eseguiti durante il "rilascio" dell'accrocchio, e trovo un bellissimo frammento di SQL "standard":

CREATE TABLE IF NOT EXISTS `XYZ `...

Ed ecco perche' le "best practice" consigliano di a) NON USARE MAI parole riservate del linguaggio come nomi di qualunque cosa e b) NON USARE MAI le virgolette nella definizione della struttura dati.

Perche' la tabella esiste, ma il nome contiene uno SPAZIO in fondo, quindi lo spazio e' invisibile a colpo d'occhio, ma fa parte del nome e quindi riferirsi alla tabella come 'XYZ' ritorna un bel 'not found'.

Ed a questo punto viene il dubbio di quanti altri problemi di questo genere si annidano nel codice di questo arnese.

Gli standard sono belli, ma bisognerebbe anche seguirli.

Davide
25/01/2019 12:35

Precedente Successivo

I commenti sono aggiunti quando e soprattutto se ho il tempo di guardarli e dopo aver eliminato le cagate, spam, tentativi di phishing et similia. Quindi non trattenete il respiro.

21 messaggi this document does not accept new posts

Messer Franz

Di Messer Franz postato il 18/03/2019 10:06

Direi che abbiamo un tipico esemplare di manager:

-Nota un problema effettivamente esistente, cioè quel bordello di programmi che fanno a botte (perchè lui è un genio)

-Propone una soluzione in linea di massima corretta, cioè sostituire l'accrocchio con un solo software fatto per bene (perchè lui è un genio)

-La gestisce di merda e fa un danno peggiore di prima danneggiando l'azienda, il personale, la produttività e tutto il quartiere compresi i piccioni che non passeranno più là sopra per non correre rischi (ora che ci penso: sapevate che i gabbiani e i piccioni sono in conflitto, come specie, e se ci sono piccioni i gabbiani non vengono? adesso pensate a manager & gabbiani e provate a ricordare...), rischiando il licenziamento...ma NO! perchè LUI è un genio, ma la colpa è degli altri, che non sanno realizzare le sue magnifiche idee ( malesposte non analizzate non attuabili nei tempi e costi che ha previsto)!

-- Messer Franz

Messer Franz

Di Messer Franz postato il 18/03/2019 10:11

cit: "Come tenere documenti importantissimi nel cestino."

Anchese penso che tu intenda il cestino "fisico" , mia sorella teneva i file importanti nel cestino windows, perchè "faccio in fretta a metterceli" (bastava cancellarli ed andavano là) e  "so sempre dove sono"; io le ho fatto notare che quella dir non era ESATTAMENTE per quello, e mi ha preso a parole. Quando windows ha "fatto spazio" nel cestino e lei ha perso uno sfacelo di file, la colpa era di windows, che non "aveva capito " che era roba importante.

A parte i commenti su windows (che sono tanti e nessuno positivo, in genere, a parte che è decentemente standard rispetto ad altre alternative...più o meno...), in questo caso mi tocca dirte che mr Win aveva ragione, ma si sa, la colpa è sempre degli altri...

-- Messer Franz

kalb

@ Messer Franz Di kalb postato il 20/03/2019 17:01

 

cit: "Come tenere documenti importantissimi nel cestino."

Anchese penso che tu intenda il cestino "fisico" , mia sorella teneva i file importanti nel cestino windows, perchè "faccio in fretta a metterceli" (bastava cancellarli ed andavano là) e  "so sempre dove sono";

Ho un collega che fa la stessa cosa con thunderbird, archivia i messaggi importanti nel cestino, e non c'è verso di convincerlo che non è una buona idea. Il bello è che li organizza pure in una serie di sottocartelle (il brutto è che prima o poi li perderà e verrà a rompere da me....)

 

 

-- kalb

Anonymous coward

@ Messer Franz Di Anonymous coward postato il 25/03/2019 09:16

"A parte i commenti su windows (che sono tanti e nessuno positivo, in genere, a parte che è decentemente standard rispetto ad altre alternative...più o meno...)"

 

e' standard? windows e' "standard"? da chiunque tu ti fornisca, tu quella roba non la reggi, e' troppo forte.

Window e' "standard" solo perche' ha il potere di imporre le proprie "logiche". Una cosa e' standard quando ci si siede tutti intorno ad un tavolo, si stabilisce una regola, e tutti la rispettano.

Windows e' standard.... ma va, va!

 

-- Anonymous coward

Davide Bianchi

@ Anonymous coward Di Davide Bianchi postato il 25/03/2019 10:05

Window e' "standard" solo perche' ha il potere di imporre le proprie "logiche". Una cosa e' standard quando ci si siede tutti intorno ad un tavolo

E quando e' successa una cosa del genere? Ci siamo seduti tutti intorno ad un tavolo per decidere che VHS era lo standard e non beta? Che la CompactCassette di Philips era meglio della DC di Grundig? Che il CD era meglio del minidisc? O che TCP/Ip era meglio di TokenRing? Gli "standard" emergono perche' sono piu' convenienti, piu' semplici o perche' qualcuno ci mette piu' soldi. In questo caso Windows e' standard perche' le alternative sono di nicchia.

 

 

-- Davide Bianchi

emi_ska

Di emi_ska postato il 18/03/2019 10:39

Ma tu guarda il caso... proprio stamattina ho avuto un problema simile: una tabella che sembrava normale a prima vista, ma una procedura andava in errore; vado a vedere lo script e trovo "nome_colonna " con un bello spazio alla fine!!!

Ciao e grazie della storia!

Emiliano

-- emi_ska

Anonymous coward

Di Anonymous coward postato il 18/03/2019 10:49

Guardiamo alla realtà: studiare, costa. Costa tempo, impegno, danaro.

Chi sa, si fa pagare. Chi non vuole pagare, prende chi dice di sapere il quale, per compensare la mancanza di conoscenza, si cerca qualcosa di già fatto su internet, un rapido copia e incolla, e via.

Stesso discorso per la progettazione: richiede capacità, impegno, tempo, soldi. Mancando anche uno solo dei 4 elementi il risultato non può essere che, diciamo così, "sub-ottimale".

Di sicuro UL manca di "Capacità", che probabilmente lui confonde con "desiderio". Ma la vita dimostra ogni volta che ciò che vuoi molto spesso non è ciò che ottieni.

Azz, oggi mi sento molto Confucio.... :-\)

 

-- Anonymous coward

Sistemista disperato

Di Sistemista disperato postato il 18/03/2019 11:44

Quando lo racconto nessuno ci crede, ma su un campione di circa un centinaio di utenti della società per la quale lavoro ne ho beccati ben 6 (finora) che usavano il cestino di Outlook come archivio con tanto di sottocartelle annidate, ed uno di loro si è  persino inca$$ato quando gli ho fatto presente che non era una pratica molto intelligente mentre cercavo di recuperargli un file pst di quasi 40 GB sputtanato... Quando ho fatto presente la cosa al responsabile ha risposto che se perdono le email sono ca$$i loro e ad essere sincero e non posso dirmi completamente in disaccordo.

-- Sistemista disperato

Blipp

@ Sistemista disperato Di Blipp postato il 18/03/2019 13:49

Quando lo racconto nessuno ci crede, ma su un campione di circa un centinaio di utenti della società per la quale lavoro ne ho beccati ben 6 (finora) che usavano il cestino di Outlook come archivio con tanto di sottocartelle annidate, ed uno di loro si è  persino inca$$ato quando gli ho fatto presente che non era una pratica molto intelligente mentre cercavo di recuperargli un file pst di quasi 40 GB sputtanato... Quando ho fatto presente la cosa al responsabile ha risposto che se perdono le email sono ca$$i loro e ad essere sincero e non posso dirmi completamente in disaccordo.

 

Mi è successo lo stesso con uno dei nostri utOnti, ma in peggio: da regole aziendali, il cestino si svuota da solo dopo 48 ore. Insomma, l'utOnto immagazzina paccate di roba nel cestino il venerdì e al lunedì puff, tutto sparito. Quando gli abbiamo fatto presente che "cestino" = "roba da buttar via" e non "archivio permanente" è rimasto stupito, al che io gli ho detto "Quando butti roba nel cassonetto della spazzatura ti aspetti di ritrovarla ancora lì dopo che è passato il camion della nettezza urbana?" Non ha risposto - ma non ha più usato il cestino come archivio: forse solo per paura, già, ma non l'ha più fatto.

-- Blipp

Anonymous coward

@ Sistemista disperato Di Anonymous coward postato il 18/03/2019 16:34

 

Quando lo racconto nessuno ci crede, ma su un campione di circa un centinaio di utenti della società per la quale lavoro ne ho beccati ben 6 (finora) che usavano il cestino di Outlook come archivio con tanto di sottocartelle annidate, ed uno di loro si è  persino inca$$ato quando gli ho fatto presente che non era una pratica molto intelligente mentre cercavo di recuperargli un file pst di quasi 40 GB sputtanato... Quando ho fatto presente la cosa al responsabile ha risposto che se perdono le email sono ca$$i loro e ad essere sincero e non posso dirmi completamente in disaccordo.

 

Hai trovato un responsabile che ti dà ragione, e ti lamenti? Io dopo più di 10 anni sono ancora a "è il sistema che deve capire l'utente"...

-- Anonymous coward

Anonymous coward

Di Anonymous coward postato il 18/03/2019 15:21

@Blipp : Penso che comunque resti imbattibile la storia del nostro buon Davide in cui un CL per non portarsi a casa il laptop lo infilò in un cestino dell'immondizia :\)

-- Anonymous coward

Anonymous coward

@ Anonymous coward Di Anonymous coward postato il 19/03/2019 10:31

@Blipp : Penso che comunque resti imbattibile la storia del nostro buon Davide in cui un CL per non portarsi a casa il laptop lo infilò in un cestino dell'immondizia :\)

Quell'utOnto lì ha ancora adesso il titolo mondiale di utOntaggine, c'è poco da fare: per arrivare a quei livelli bisogna davvero mettercisi d'impegno!

 

 

-- Anonymous coward

Messer Franz

@ Anonymous coward Di Messer Franz postato il 19/03/2019 15:10

 

@Blipp : Penso che comunque resti imbattibile la storia del nostro buon Davide in cui un CL per non portarsi a casa il laptop lo infilò in un cestino dell'immondizia :\)

Quell'utOnto lì ha ancora adesso il titolo mondiale di utOntaggine, c'è poco da fare: per arrivare a quei livelli bisogna davvero mettercisi d'impegno!

E IL TRAPANALAPTOP???? CE LO SCORDIAMO??? Sì, potendo , ma non ci si riesce...

 

 

 

-- Messer Franz

Gero

@ Messer Franz Di Gero postato il 20/03/2019 09:26

@Blipp : Penso che comunque resti imbattibile la storia del nostro buon Davide in cui un CL per non portarsi a casa il laptop lo infilò in un cestino dell'immondizia :\)

Quell'utOnto lì ha ancora adesso il titolo mondiale di utOntaggine, c'è poco da fare: per arrivare a quei livelli bisogna davvero mettercisi d'impegno!

E IL TRAPANALAPTOP???? CE LO SCORDIAMO??? Sì, potendo , ma non ci si riesce...

 

Questi mi sa che la coppa la vincono ex aequo... :D

 

 

 

 

 

-- Gero

Anonymous coward

@ Gero Di Anonymous coward postato il 25/03/2019 09:25

 

@Blipp : Penso che comunque resti imbattibile la storia del nostro buon Davide in cui un CL per non portarsi a casa il laptop lo infilò in un cestino dell'immondizia :\)

Quell'utOnto lì ha ancora adesso il titolo mondiale di utOntaggine, c'è poco da fare: per arrivare a quei livelli bisogna davvero mettercisi d'impegno!

E IL TRAPANALAPTOP???? CE LO SCORDIAMO??? Sì, potendo , ma non ci si riesce...

 

Questi mi sa che la coppa la vincono ex aequo... :D

 

No, e ti spiego perche'.

qeullo che ha nascosto il paptop nel cestino, un flebile barlume di logica lo ha mantenuto (derto il cestino NON era la scelta giusta, ma l'idea di nascondere il portatile, si).

Viceversa, il demente che ha avvitato il portatile al tavolo e' un completo ignorante, un fulgido esempio di idiozia e NON ha scusanti. Avrebbero dovuto frustarlo, cospargergli le ferite di sale e poi incatenarlo sul piazzale del parcheggio dovre lo avrebbero lasciato morire di fame e sete: il cadavere essiccato col sale e la mummia risultante esporla in una teca all'ingresso della ditta con una targa bronzea che ne spiegasse l'origine, a futura memoria delle genti.

 

 

 

-- Anonymous coward

Gero

@ Anonymous coward Di Gero postato il 25/03/2019 10:28

No, e ti spiego perche'.

qeullo che ha nascosto il paptop nel cestino, un flebile barlume di logica lo ha mantenuto (derto il cestino NON era la scelta giusta, ma l'idea di nascondere il portatile, si).

Viceversa, il demente che ha avvitato il portatile al tavolo e' un completo ignorante, un fulgido esempio di idiozia e NON ha scusanti. Avrebbero dovuto frustarlo, cospargergli le ferite di sale e poi incatenarlo sul piazzale del parcheggio dovre lo avrebbero lasciato morire di fame e sete: il cadavere essiccato col sale e la mummia risultante esporla in una teca all'ingresso della ditta con una targa bronzea che ne spiegasse l'origine, a futura memoria delle genti.

 

No, no, sono dementi uguali: un portatile in un cestino o viene buttato in discarica o qualcuno se lo, ahem, "ricupera", quindi è come se l'avesse distrutto avvitandolo al tavolo. La condanna che prospetti sarebbe da infliggere a entrambi... ;-\)

 

 

 

-- Gero

Tartapowskij

Di Tartapowskij postato il 18/03/2019 15:22

Per ficcare uno spazio in fondo a un nome - di file, di tabella, di qualunque altra cosa - bisogna:

a) essere dei sadici mostruosi; oppure:

b) essersi fumati la qualunque.

Sia chiaro: l'una non esclude l'altra.

-- Tartapowskij

Antonio Pennino

@ Tartapowskij Di Antonio Pennino postato il 25/03/2019 15:18

ma no, basta fare copia e incolla in una qualche GUI.

 

Per ficcare uno spazio in fondo a un nome - di file, di tabella, di qualunque altra cosa - bisogna:

a) essere dei sadici mostruosi; oppure:

b) essersi fumati la qualunque.

Sia chiaro: l'una non esclude l'altra.

 

 

-- Antonio Pennino

Messer Franz

Di Messer Franz postato il 18/03/2019 19:00

ps: belli anche quei tipi che pensano che le cose nel cestino siano cancellate e non occupino hdd anche se però possono (magicamente?) recuperarle...sì, intendo tenendole nel cestino senza "svuotarlo", nel caso qualcuno se lo chiedesse, perchè pensochepensino vadano in un limbo magico tra narnia e la terra di mezzo e che l'hdd sia il cancello magico tra questo mondo e quello...come quella volta che ho scritto sulla porta dei sitemisti (attaccato un foglio) "'Lord of the token ring' room" (era il 2001 in pieno boom signore degli anelli)...mi sa che qualcuno ha equivocato e la voce s'è diffusa...

-- Messer Franz

Guido

Di Guido postato il 25/03/2019 07:19

Fuori standard ma funziona. Ok poi quando smette di funzionare ti ci voglio vedere a metterci le mani...

-- who uses Debian learns Debian but who uses Slackware learns Linux

Anonymous coward

Di Anonymous coward postato il 26/03/2019 15:34

MA io ad esempio uso questi cestini dell'IKEA per metterci dentro le crocchette del gatto, dato che il gatto no riesce ad aprire il coperchio non se le mangia tutte. Ho messo un'etichetta con scritto "PAPPA GATTO" per essere chiaro.

https://www.ikea.com/it/it/catalog/products/40284978/

 

 

-- Anonymous coward

21 messaggi this document does not accept new posts

Precedente Successivo


Il presente sito e' frutto del sudore della mia fronte (e delle mie dita), se siete interessati a ripubblicare uno degli articoli, documenti o qualunque altra cosa presente in questo sito per cortesia datemene comunicazione (o all'autore dell'articolo se non sono io), cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato.


Questo sito era composto con VIM, ora e' composto con VIM ed il famosissimo CMS FdT.

Questo sito non e' ottimizzato per la visione con nessun browser particolare, ne' richiede l'uso di font particolari o risoluzioni speciali. Siete liberi di vederlo come vi pare e piace, o come disse qualcuno: "Finalmente uno dei POCHI siti che ancora funzionano con IE5 dentro Windows 3.1".

Web Interoperability Pleadge Support This Project
Powered By Gojira