Tales from the Machine Room |
Home Page | Comments | Articles | Faq | Documents | Search | Archive | Tales from the Machine Room | Contribute | Set language to:en it | Login/Register
Standards and "best practice" are great. If something is 'standard' you can be sure that it will be supported and can be used always in the same way, and eventual changes will be announced in advance. Best practices allows to do things in an accepted and farly "safe" way when accepted standard do not really exists.
In some universe, probably the one where I am fucking rich and beautiful, but not in this one, where "standards" are things to be watched from a distance and "best practices" are some unkown things that could or could not be already extint.
What normally happens is that whoever is doing something today does it the way he think it's better or easier and when something goes completely titsup and you discover that the cause is that something got abused along the way, his defense is "it has always worked".
Sure.
The reason some things are clearly marked as "do not do it like this" is exactly because even if they "work" most of the time, you can't count on it and when that fails, it fails spectacularly bad. Like keeping important document into the "trashbin".
And after this intro, we can talk about $sellerandreseller that... hemmm.. were selling stuff. Those peoples had an IT system that was... quite peculiar, in the sense that, along the years, they had accumulated several "products" that were never designed to be used together. And the way they managed to use them was by using a bunch of synchronized (or not) export/import systems to push or pull data from one system to another.
For example the Finance department was using a system to manage invoices while the Sales department was using a completely different system to manage their sales and another one to handle their suppliers while the Web division had a self-developed CMS that was supposed to pull and push data to all the others. When it was in the mood for doing so. When it wasn't (or something was making it not-so-happy), the whole thing degenerated into a flurry of export/import data by hand.
Everything according to plan, until, a nice day, one of the Marketing's UL decided that the whole thing was "unbearable" and what was required was ... a brand new software! Developed from scratch and under UL supervision. The purpose of which was to "integrate" all the other systems into one single coherent interface.
That basically meant that this thing was supposed to read and write data into the Finance database, read and write stuff in the CMS and tie together all the other stuff... Without breaking anything. He (UL) went on his own to an external software house and had them develop this monster.
Now, don't get me wrong, the idea was a good one, but before starting he should've taken on-board also all the others ULs from the other departments. Yes because the rest of the softwares weren't "finished" or "stable". All that stuff was continously changing, modified, developed, fixed etc.
So try to read/write data when the database ain't stable is not really a nice thing to do. Especially when every other developer was making up stuff as they went.
Field names? Wathever you feel like. Tables? Same thing. Indexes? Wanna make me laugh?
And then the unexpected. Like the fact that $developer1 that started the whole thing and wrote most of the codebase departed one day and left $developer2 to take care of the rest without a good idea of what did what.
And then... we get to Thursday afternoon, when $developer2 decided to release a new version of the whole shebang around 16.30 and somebody from UL department gave the OK.
And the next morning everything else was screwed up because this system was mucking around in everybody else database and kept crashing with "table does not exists".
Since in the original drawing of this thing it had to be THE backend software for the whole company, the screaming was heard from very far away.
The funny thing was that the error was "Table XYZ does not exists" but looking in the database I could see a table named XYZ... so... wtf? So I start looking the thousands of script that are executed when this thing is realeases and after a while I can see a nice script like
CREATE TABLE IF NOT EXISTS `XYZ `...
And that's why 'best practices' says to a) NEVER USE reserved words of the language as names for anything and b) NEVER USE quotes in the definition of your datastructure.
Because the table exists, but the name has a SPACE at the end, that's invisible when you look at it but it does count.
And at this point I start doubting how many of this kind of problems exists in the code of this thing.
Davide
25/01/2019 12:35
Comments are added when and more important if I have the time to review them and after removing Spam, Crap, Phishing and the like. So don't hold your breath. And if your comment doesn't appear, is probably becuase it wasn't worth it.
By Messer Franz posted 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
By Messer Franz posted 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
@ Messer Franz By kalb posted 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
@ Messer Franz By Anonymous coward posted 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
@ Anonymous coward By Davide Bianchi posted 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
By emi_ska posted 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
By Anonymous coward posted 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
By Sistemista disperato posted 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
@ Sistemista disperato By Blipp posted 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
@ Sistemista disperato By Anonymous coward posted 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
By Anonymous coward posted 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 By Anonymous coward posted 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
@ Anonymous coward By Messer Franz posted 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
@ Messer Franz By Gero posted 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...
-- Gero
@ Gero By Anonymous coward posted 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...
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
@ Anonymous coward By Gero posted 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
By Tartapowskij posted 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
@ Tartapowskij By Antonio Pennino posted 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
By Messer Franz posted 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
By Guido posted 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
By Anonymous coward posted 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
This site is made by me with blood, sweat and gunpowder, if you want to republish or redistribute any part of it, please drop me (or the author of the article if is not me) a mail.
This site was composed with VIM, now is composed with VIM and the (in)famous CMS FdT.
This site isn't optimized for vision with any specific browser, nor
it requires special fonts or resolution.
You're free to see it as you wish.