Categorie
Informatica

stefano e guglielmo

Stefano Lavori e Guglielmo Cancelli, chi sono?
vediamo cosa ci racconta la bbc…

per la cronaca si sta parlando di Steve Jobs e Bill Gates…

Categorie
Informatica

cache

inteso sia nel senso francese che in quello triestino. =)
scena ufficio: c’è F., collega con vent’anni di esperienza su pl/sql, alle prese con una procedura oracle che va e non va.
cioè sembra andare ma su internet exploder la pagina con i dati non è aggiornata.
allora F. chiama il capufficio C. dicendo “guarda ci deve essere qualche problema, la procedura blabla, il commit funziona blabla… e i dati sono errati”. il capufficio C. guarda la procedura, ok, guarda il codice java, ok, guarda il browers, no ok!
Strumenti -> opzioni internet -> file temporanei -> elimina. reload. dati corretti!
C.: È un problema della cache. hai capito perchè non uscivano i dati giusti?
F.: no, cioè…
C.: ho cancellato la cache di internet exploder e quindi…
F.: quindi la procedura…
C.: no, che procedura! internet exploder!
F.: sì, perchè tiene in memoria…
C.: cosa tiene in memoria secondo te?
F.: eh… i parametri del calcolo… (e sempre più fantozzianamente)… i risultati della procedura…
C.: sicuro? tiene in memoria i parametri?
io, da dietro le spalle di C., come se fossimo a scuola durante l’interrogazione, faccio sventolare un foglio di carta suggerendo “pagine, pagine”.
C. mi vede riflesso nel vetro dell’anta dell’armadio e io smetto…
F.: beh, così se devi riaggiornare… forse tiene la SGA! ecco, c’è la SGA nella cache e allora (sta per affondare nella sedia)…
C.: ah, secondo te exploder ha la SGA di Oracle nella cache…
F.: forse…
C.: exploder tiene memoria delle pagine html! le pagine generate dal server! se ce le ha già in memoria non le richiede di nuovo al server, quindi tu vedi i dati vecchi. cancellata la cache il browser va a richiedere la pagina al server che gliela dà con i dati aggiornati. chiaro?
F.: beh, sì, non avevo capito.
C.: bene.
C. esce. dieci secondi e torna.
C.: potresti telefonare a Larry Ellison e Bill Gates e suggerirgli di fare in modo che tutti i client scambino col server la SGA di Oracle, sarebbe leggero e veloce e tutti potrebbero accedere ai dati senza problemi… (riesce sghignazzando…)
umorismo informatico. io ho riso. poi mi sono scusato con F., ma proprio non ce la facevo a resistere… fantastico =)
per la cronaca e per chi non lavora con oracle, la SGA, System Global Area, è una porzione di memoria _grande_ che il server Oracle usa condividendola sulle varie istanze di database. _grande_ nel senso che nel nostro caso sarà qualcosa tipo dai 2 ai 4 GigaByte. condividerla con il mondo è un’idea alquanto balzana

Categorie
Politica Satira

attento al pacemaker!

serata dei telegatti: la Yespica si lascia andare: “Presidente, con lei andrei su un’isola deserta”. E lui: “Io con te andrei ovunque”. Poi il Berlusca fa il gigione anche con la Carfagna “guardatela, se non fossi già sposato me la sposerei”…
insomma il Berlusca ricomincia a fare il “figo” con le donne e la moglie si arrabbia.
e alle letterine Veronica risponde con una letterona su Repubblica: “mio marito mi deve pubbliche scuse, visto che quelle private non me le ha date…”.
probabilmente Silvietto avrà dormito sul divano stanotte…
già me lo vedo, stamattina, in pigiama, con il riporto spettinato, che dice a Veronica
“Veronica, ti prego, facciamo PACS“! (alla facciaccia di Ruini)

Categorie
Informatica

un’altra scimmia

sì perchè ci sono delle cose che proprio mi piacciono, che mi danno quel senso di ubriachezza felice che ti fa voglia di averle o continuare a farle… mi sono spiegato?
no?
ok. mi spiego meglio: da qualche tempo ho sentito parlare di Ruby, un linguaggio interpretato, orientato agli oggetti, debolmente tipato, anzi Duck Typed, creato da un giapponese diversi anni fa. sembrava molto interessante, ma finchè non è stata pubblicata della documentazione in inglese, ruby è rimasto confinato nella terra del sole che sorge.
comunque la grande popolarità è arrivata quando un danese americano, David Hansson, ha scritto un framework con Ruby per gestire applicazioni web: Ruby On Rails.
fatto sta che l’ha fatto proprio bene. già si deve onorare Ruby per l’eleganza di alcune espressioni, che lo rendono un linguaggio molto di alto livello (sembra proprio di “parlare” in Ruby), e Rails aggiunge questa eleganza anche alla gestione dell’applicazione. RubyOnRails (detto RoR) unisce al modello MVC di base, una serie di best-practices, che rappresentano, tutto insieme, una sorta di stato dell’arte per lo sviluppo web. così esce da solo il paradigma convention over configuration che anima l’intero RoR: in pratica dice “se segui queste ottime convenzioni, scrivere l’applicazione sarà molto più facile”. e, devo dire, ha ragione.
la scimmia mi ha preso proprio perchè ho cominciato a studiare ruby e rails, prima guardando un po’ in giro sul web, poi prendendo un libro “Sviluppare applicazioni web con rails” (traduz. di “Agile web developement with rails”, dello stesso Hansson), e adesso con gli screencast. ce ne sono di bellissimi. me li guardo con vero gusto. e sto imparando molte cose.
vi consiglio quelli sul sito ufficiale di RoR, quelli su ScribeMedia, oppure da cercare su besttechvideos.
insomma adesso ho la scimmia e non riesco ad andare a dormire…

Categorie
Informatica

sviluppo, produzione, test

ho cambiato ufficio. prima stavo in stanza col capufficio, persona molto in gamba, al quale chiedevo le cose che non capivo o non sapevo ecc.
ora sono in un’altra stanza, e i colleghi chiedono a me come fare…
il collega L. si sta arrovellando con una pagina jsp che non gli funziona:
L: ma come!!! faccio il submit della form e invece di andare nella pagina nuova finisce nella pagina vecchia!!!
io: guarda che quella pagina è stateless, non si ricorda da dove è venuta e chi l’ha generata. è html. non può sapere che prima esisteva la pagina vecchia. se hai scritto correttamente il form andrà dove tu vuoi che vada!
L: ma no, vedi, in debug mi entra nel controller, fa tutto il giro, non può essere…
io: guarda che no. hai cannato di scrivere la pagina oppure non l’hai aggiornata sul server
— passano due minuti. una bestemmia. sua.
L: noooo porc..@€%£@%§… stavo lavorando con i dati di produzione… stavo facendo le modifiche sul database di produzione… per forza che la pagina restava quella vecchia… è l’apocalisse…
per fortuna le modifiche che stava facendo erano non irreversibili anche sui dati di produzione. altrimenti avrebbe dovuto recuperare chissà come il backup di stanotte e integrare tutto il lavoro fatto da centinaia di filiali in tutto il mondo oggi…
insomma, imparate dalle “best practices”: usate tre ambienti di lavoro separati: sviluppo per lavorarci e massacrare tutto, test per provare con dati buoni che tutto giri correttamente, produzione con solo le cose funzionanti e i dati veri che servono al cliente.
fate in modo che passare dall’uno all’altro sia chiaro per voi. per esempio usate un colore diverso per le pagine web, in modo che sia visibile in modo chiaro quale è l’ambiente.
per ultima cosa vi ricordo le prime due regole del buon sysadmin, che vanno bene anche per un buon programmatore:

  1. se funziona non toccare niente
  2. fai sempre il backup. ma controlla anche che sia funzionante
Categorie
Politica

l’agevolata

chi non è di trieste e dintorni, non sa cos’è l’agevolata: si tratta di un prezzo di favore per l’acquisto di benzina, che così diventa appunto agevolata. i motivi e i perchè di questo trattamento non ve li sto a spiegare.
vi dico invece che dopo un bel po’ di anni (20 o più?), questo regime di vendita della benzina decade, perchè a suo tempo il fondo Trieste, che permetteva questo favore, aveva una scadenza e la scadenza è arrivata.
scrivo questo post perchè cinque minuti fa ho sentito una canzone di Paolo Paolin e i Rocciosi che sintetizzava bene lo spirito “triestino” e faceva più o meno così:
se volè che la gente la ga el morbin
cavène la benzina e agevolène el vin!
e se qualchedun disi che el vin no xè tuto
alora agevolène anche el parsuto!

per i “foresti” la canzone dice
se volete che la gente abbia un sacco di energia positiva e voglia di vivere,
toglieteci la benzina agevolata e agevolateci il vino
e se qualcuno dice che il vino non è tutto,
allora agevolateci anche il prosciutto

sante parole…

Categorie
Blog Varie

grande capo vuole pranzo

no, dai, ho già mangiato… ieri con la morosa e due buoni amici siamo andati a vedere “il grande capo”, ultimo film di Lars Von Trier. Il regista danese ci ha preparato proprio un bel film, e me lo sono proprio goduto. lo consiglio, per quanto il mio consiglio possa essere apprezzato.
una delle cose più interessanti del film è l’uso della macchina da presa, senza cameramen (almeno un paio di stipendi in meno da pagare per il produttore…)
in pratica il regista ha posizionato alcune macchine in posti che secondo lui potevano andare bene per la scena. poi ha attaccato tutto ad un computer che in “autonomia” sceglie se zoomare o tiltare o fare una veronica. gli attori, ripresi contemporaneamente da più parti, non sanno quale è la telecamera giusta alla quale rivolgersi.
copincollo dal web:
AUTOMAVISION® è una regola per girare film (e registrare suoni) sviluppata con l’intento di limitare l’influenza umana formulando le varie possibilità senza meditarle e dando quindi al lavoro una superficie priva di idee libera dalla forza della consuetudine e dell’estetica.
Una volta che il direttore della fotografia ha deciso la migliore posizione e apertura della cinepresa fissa dal punto di vista artistico, viene chiesto ad un computer programmato con una formula a gamma limitata di fornire una lista di possibilità da applicare: panoramiche, obiettivo, apertura, posizionamento verticale e orizzontale, per il suono viene redatta una lista corrispondente di possibilità: filtraggio, livello, ecc. da utilizzarsi una volta che il direttore del suono ha operato le sue scelte. Una volta randomizzati i parametri, il regista, il direttore della fotografia e il direttore del suono possono valutare le modifiche, e decidere di abbandonare la ripresa. Ma ogni volta che la cinepresa si ferma, secondo la regola di Automavision®, bisogna ricominciare tutta la randomizzazione. Per trasformare la maggior parte di queste inquadrature parzialmente randomizzate e delle ambientazioni audio nel film finale, non è permessa nessun altra lavorazione di queste ultime fatta eccezione per un semplice montaggio di assembramento delle scene nell’ordine prestabilito, con suono e immagine legati insieme. In altre parole, non si può apportare alcun cambiamento a livello della gradazione del colore, della manipolazione delle immagini o del missaggio del suono, perchè il materiale verrà trasferito direttamente nella copia destinata alla distribuzione. Nel caso de Il Grande Capo c’era anche una regola che vietava l’uso di illuminazione aggiuntiva oltre quella già presente. Ogni scena del film ha quindi preso forma rispettando le regole di Automavision®, fatta eccezione per quattro brevi interruzioni contenenti i commenti del regista.


a questo si aggiunge un montaggio molto particolare, che tralascia volontariamente gli aspetti della continuità (la continuity girl anche lei a casa…), e lascia un po’ sorpresi, ma piacevolmente, gli spettatori (o per lo meno me stesso).
by the way, il titolo mi ha fatto venire in mente il bambino dei sofficini, fotografato sull’ultima pagina del Topolino, con una criniera piumata da indiano, che diceva “Grande capo vuole pranzo”… e sua mamma, Grande Aquila, proprio i sofficini gli dava… bah. mai sopportati.
nè loro, nè i sofficini…

Categorie
Informatica

l’importanza del logging

ho detto logging, non jogging. che fa anche lui bene.
fatto sta che metto in cron sul server di produzione l’ultima mia fatica in java. il programma legge dati da un web service e da un file ascii (circa 15000 record totali) e aggiorna se necessario i record su database.
sto simpatico programmino gira ogni ora per 12 ore al giorno. bene, log4j è il sistema di logging, classico, segnala con una mail se qualcosa va storto e scrive su un file di log gli eventuali record errati. tutto facile.
il programma entra in produzione il giorno 27/12. per qualche motivo il web service viene disattivato il giorno dopo, il 28. ritorno al lavoro mercoledì 3/1, sei giorni dopo: “non sarà successo niente…”. infatti. nessuna mail di errore… strano… ma neanche di successo… come mai???… controllo il file di log. eccolà! 524Mb di file di log!!! ogni inserimento di record sbagliato per 12 volte al giorno per 6 giorni ha generato una o più righe nel file di log, producendo un file assssurdo.
quindi ho riguardato il file di log4j e ho corretto l’appender modificandolo da FileAppender a RollingFileAppender.
e ho scritto 100 volte sulla lavagna: “stai attento a quello che metti in produzione”.
alla maggior parte di voi, di questa storiella non gliene sarà fregato un piffero, per alcuni invece sarà didattica.
per questi ultimi aggiungo allora anche una configurazione buona e valida di log4j, a futura memoria…

<appender name="file" class="org.apache.log4j.RollingFileAppender">
     <param name="File" value="${log.dir}/nome_del_file.log" />
     <param name="Append" value="true" />
     <param name="MaxFileSize" value="1024KB" />
     <param name="MaxBackupIndex" value="10" />
     <layout class="org.apache.log4j.TTCCLayout">
          <param name="dateFormat" value="ISO8601" />
     </layout>
</appender>