Gli "Ospiti" della Sala Macchine |
Cose' sta' roba??? Qualche tempo fa', un po' annoiato, mi sono messo a scrivere quello che succede nel mio ufficio (rimuovendo i nomi ovviamente) sul gruppo it.comp.os.linux.sys. La cosa pare abbia trovato degli estimatori, cosi' ho pensato di "preservare" questi capolavori per i posteri... Un po' di tempo dopo qualcuno ha pensato che poteva inviarmi le SUE storie da pubblicare. Percio' eccole qui'.
|
Nota: i miei commenti (quando ci sono) sono in italico
Programmazione StrutturataDa qualche settimana sono stato, mio malgrado, distaccato presso $cliente. La cosa non mi piace per niente, perche' $cliente e' una ditta enorme (diretta dipendente da Deutsche Telekom, con tutte le conseguenze del caso!) e, come tutte le ditte enormi, e' burocratica fino alla nausea.E poi non posso neanche bestemmiare come al solito quando Winscheiße si inchioda. E in piu' ho bisogno di una ChipCard anche per aprire la porta del cesso! (Nota: L'ultimo cliente che ho visto con tutti i PC senza Floppy e CD, e con la ChipCard nella tastiera per accedere al sistema, con controlli ad ogni piano per il tuo tesserino d'identita' e fregnacce varie e' la BfA [l'equivalente tedesco dell'assicurazione pensionistica statale]. Ho poi scoperto che, visto che tenevano tanto alla sicurezza, il SysAdmin accedeva al Server principale in SSH COME ROOT E CON AUTENTICAZIONE TRAMITE IP! Senza password! L'ultima volta che ci sono stato io in un posto "ultrasicuro", la password di root era 'root'... E' ora di fare una pensione integrativa!!! Comunque ogni volta che vedo ditte che "tengono alla sicurezza" in questo modo, non posso fare a meno di pensare alla BfA) L'unica nota positiva e' che sono a 10 minuti da casa, posso dormire un quarto d'ora un piu' e mangiare a casa. E arrivo a casa 10 minuti prima! In tre settimane che sono qui, per motivi burocratici, ho fatto l'equivalente del lavoro che, da qualsiasi altra parte, farei in una giornata... Vabbe'! Cerchiamo di arrivare a fine giugno, cosi' si torna in sede... Durante la perdita di tempo di oggi mi e' pero' capitato qualcosa di talmente assurdo che ho pensato di conservarlo per la posterita'. Stamani entro in ufficio, dopo una settimana passata a letto con 39° di febbre (perche' mi sono beccato una bella influenza durante le ultime festivita'!). Dopo la lettura della posta e della storia settimanale, mi accingo a lavorare. Vado dunque dal collega che mi riassume quanto e' successo la settimana scorsa. Mi racconta la rava e la fava e perdo la mattinata e parte del pomeriggio per scaricare i nuovi sorgenti (mai avrei pensato di sentire la nostalgia di VSS! E' milioni di volte piu' comodo di Sinergy! E anche TANTO piu' veloce!). Compilo il tutto e comincio a scrivere la mia parte. Prima di cominciare, pero', mi viene il dubbio... Non e' che quello stordito ha fatto delle modifiche al DB senza dirmi niente? Chiedo e, si!, ha fatto modifiche! OK! Mi spedisce lo script SQL con le modifiche. Lo guardo, vabbe'!, crea le tabelle (poi si scopre che ha dimenticato un campo e dobbiamo rifare tutto capo!) ma non gli mette dentro niente...
IO: Senti, guarda che qua non metti niente nelle tabelle! E io cosa ci devo mettere che non so quasi neanche cosa devono fare le tabelle? Vabbe', piglio il buon vecchio Toad e comincio a scrivere un Record. Mi blocca!
CL: NO! Non puoi fare cosi'! Devi scrivere uno Script SQL!!! Vabbe'! Rinuncio ad indagare e metto su dei dati piu' o meno sensati. Fatto questo, scrivo la mia bella classe Java. Lui intanto e' di dietro che mi osserva interessato (ma non aveva detto che aveva tanto lavoro da fare? E allora cosa stai qua a rompere?). Inizializzo il Manager (dentro un try/catch, perche' non si sa mai!), chiamo la funzione (altro try/catch) e ritorno il valore! Mi blocca subito!
CL: NO! Non devi usare i try/catch! Sono vietati!!! Provo ad eseguire la mia bella classe: NullPointerException. Toh! Questa e' bella! E perche' mai? Vabbe', facciamo un po' di debug... Mmmm... sembra proprio che il Manager non sia stato caricato dal Registry, il Registry mi ritorna null e ovviamente non posso lanciare una funzione in una classe non istanziata! Non ci sarebbe problema se avessi potuto mettere la cosa in un try/catch, ma senza... Beh! Senza l'inizializzazione viene fatta in una funzione che fallisce e ritorna l'Exception a Enfinity che SE NE SBATTE ALTAMENTE e continua per la sua strada cercando di lanciare la funzione e, ovviamente, genera il NullPointerException! Si, ma perche' mai non viene caricato il Manager? Boh, io faccio quello che posso... Se non lo carica, forse non e' stato prima registrato. Il Manager, pero', non l'ho scritto io, ma CL.
IO: Senti, se lancio la classe ottengo NullPointerException. Credo che il
problema sia nel Registry che non riesce a darmi indietro l'instanza.
Sei sicuro di aver registrato correttamente il Manager? OK! Questa settimana potrei anche spegnere il PC e scrivere il codice su carta, non cambia niente! Potro' vedere se ho fatto cazzate solo la settimana prossima! Ma allora perche' ho dovuto smadonnare per cercare di inserire nel DB dei dati sensati? E, sopratutto, perche' non dovrei fare perno sul piede, mandarli tutti a defecare e andarmene a casina? Hint: perche' ti pagano. Luca Bertoncello
|
Copyright | 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, cosi' il giorno che faccio delle aggiunte potro' avvisarvi e magari mandarvi il testo aggiornato. |
Questo sito non e' ottimizzato per la visione con nessun browser
particolare, ne' per nessuna risoluzione particolare ne' impone l'uso di
font particolari.
Siate liberi di vederlo come vi pare e piace.
Ultimo aggiornamento: 7 Giugno 2004