Quante ore lavoro!

Orologio verdeDa tempo odiavo dover calcolare a mano a che ora sarei dovuto uscire. Ad esempio, se entro alle 8:12, faccio pausa dalle 12:38 alle 13:45 e devo rispettare le 8 ore canoniche… ho già mal di testa! Da alcuni giorni avevo risolto usando un foglio excel (per la solita storia che vuole che un ingegnere non usi la calcolatrice bensì la crei) ma ieri in un attimo di noia il mio animo nerd ha prevalso su ogni cosa ed ho scritto questo piccolissimo file.exe (in C#) che se volete potete usare anche voi.

Quante ore lavoro - GUI Applicazione

Non ho avuto né il tempo né la voglia di verificare se funzioni tutto a dovere sotto Window Vista/7, se qualcuno dovesse provarlo mi faccia sapere: il programma va semplicemente avviato, non genera file, non ha configurazioni, non scrive nel registro o chissà dove… dunque usatelo finché vi pare e appena non vi serve più cestinatelo senza problemi.

Scarica subito: OreLavoro!

Basta inserire gli orari e viene calcolato l’orario di uscita. Se invece si inserisce anche l’orario di uscita vengono calcolate le ore lavorate… leggero, semplice ed indolore. 🙂

Emanuele

Aggiornamento delle ore 15:18 del 29/06/2011: grazie a Claudio (donne guardate che bello quest’uomo e se usate Google Buzz aggiungete sia lui che me!) che mi ha fatto da beta-tester ho eliminato la possibilità di inserire date non fisicamente accettabili. Per nerdosità regressa però non ho ascoltato la sua idea di aggiungere degli if ma il controllo avviene attraverso una elegantissima espressione regolare.

Alcune stelle in cielo, altre dentro me.

Ad Agosto, avverrà anche questo.

Una sera, dopo una lunga ed intensa giornata di lavoro, uscirò dalla struttura in cui sarò ospite. Le zanzare mi daranno fastidio ma avrò voglia di sopportarle; seduto per terra, con le gambe stese e la schiena appoggiata su una parete, starò lì a sentire le voci del villaggio. Non mi importerà se la terra rossa sporcherà i talloni o se le imperfezioni del cemento massaggeranno senza delicatezza la mia schiena. Mi domando – e forse è uno dei particolari che mi incuriosisce maggiormente – se sentirò qualche cicala oppure se, quella sera, a scandire il tempo della notte provvederà qualche altro animale in lontananza. Odorerò l’aria per poterne rapire anche solo pochi grammi e tenerli in ostaggio, dentro me, per sempre.

Fisserò il cielo. Avrò un pensiero per ognuno di quei puntini.

Emanuele

CSS Sprites (anche su questo blog).

CSS SpritesNell’ottica di limare sempre più i tempi di caricamento, da alcune settimane molte delle immagini presenti su queste pagine vengono visualizzate attraverso la tecnica dei CSS Sprites. Per farvi capire meglio di cosa si tratta, prendiamo in considerazione l’immagine a lato.

La colonna di sinistra riporta in un’unica immagine tutti gli elementi grafici che compongono le pagine di questo blog. Per visualizzare uno di quegli elementi basta richiamare via CSS l’immagine intera indicando le coordinate (offset orizzontale e verticale) dell’area dell’immagine da mostrare. Nell’esempio ho fatto scorrere l’immagine di 146 pixel prima di visualizzarla in un’area alta 15 pixel per far apparire l’antipixel relativo a Technorati. Tutto il resto, essendo al di fuori di quell’area è come se rimanesse “sotto il vestito”.

.sprite-technorati {
background:#fff url(csssprite.png) no-repeat top left;
background-position:0 -146px;
}

Qual è il vantaggio dovuto all’uso dei CSS Sprites?

  • Riunendo in un’unica immagine tutti gli elementi la dimensione totale (in kb) sarà inferiore a quella della somma del peso di ogni immagine (in quanto le intestazioni del formato JPG non sono ripetute n-volte).
  • Il browser di un visitatore non dovrà effettuare n-richieste HTTP per ottenere tutte le immagini: basterà un’unica richiesta per ricevere tutti gli elementi che incontrerà nella pagina. Effettuato il primo download tutte le altre volte che dovrà mostrare quel file si accorgerà di averlo già scaricato (csssprite.png sarà in cache) e potrà visualizzarlo immediatamente facendo slittare l’immagine in base a quanto indicato via CSS.

Questo comporta un vantaggio sia per l’utente che navigherà sul sito più velocemente che per il gestore del sito web infatti minori richieste HTTP comportano un carico minore sul server che potrà, in questo modo, fronteggiare contemporaneamente alle richieste d’accesso di un numero maggiore di visitatori.

Inoltre sono sempre più convinto (ma dovrebbe essere prassi comune) che un “contenitoreleggero e scattante permette di destinare quei kb risparmiati ai contenuti (ad esempio le foto in un post). E’ come un ciclista che non usando una bicicletta di ferro può sfruttare quel peso per trasportare litri di acqua in più. 🙂

Quando non conviene usare i CSS Sprites?

  • Come al solito ogni scelta tecnica che si intraprende va valutata in base alle situazioni. In linea di massima comunque non conviene quando si prevede che esistano pagine con un livello di traffico non indifferente che visualizzano meno del 50% degli elementi grafici inseriti nel nostro sprite.

La tecnica è talmente importante per l’ottimizzazione di un sito che anche colossi come Google o Facebook la sfruttano nelle loro pagine da anni (senza che ve ne siate mai accorti).

Emanuele

Ti ho voluto bene come un vero scrittore.

Il trasferimento verso il nord sembrava esser stato indolore. Le valigie, neanche troppo numerose, le avevo riempite con solerzia e precisione di tutto ciò che sembrava impossibile abbandonare. Oltre ai vestiti, infatti, avevano trovato posto vecchie cianfrusaglie, oggetti carichi di ricordi e tutta una serie di strumenti che si pensa sempre possano tornare utili mentre, alla fine, ci si dimentica sistematicamente di loro al momento giusto. Tutto era un po’ “parte di me” e non è difficile, tutt’ora, sentire uno strano legame con ognuna di quelle cose.

Come sempre nella vita però, qualcosa sfugge al controllo. Qualcosa – come un ladro d’auto accovacciato per bene dietro il sedile posteriore – partì con me senza che me ne rendessi conto. Fece tutto il viaggio da clandestino. Io, potrei persino testimoniarlo di fronte ad un giudice: quel giorno non ero assolutamente consapevole della sua presenza.

L’arrivo in una nuova casa si sogna sempre possa avvenire con molta calma permettendoti di svuotare le valigie con la giusta attenzione, evitando di lasciarle di lato – piene di roba – per giorni. Anche questa, però, è una condizione idilliaca che non sempre si verifica. Il mio arrivo, come quello di tanti, fu un travaso frettoloso da una città all’altra, con gli impegni e il lavoro che imploravano con insistenza spazio nelle mie giornate. Qualche scatolo rimane tutt’ora trascurato e gli oggetti al loro interno stanno vivendo una fase molto triste: il “ricordo accantonato” è la proprietà più malinconica che un oggetto possa elencare.

E’ interessante notare, invece, come quel clandestino sia riuscito a trovare spazio nella mia vita in maniera talmente forte e marcata che persino gli altri, soprattutto quelli che mi conoscono meno, l’abbiano notato. Non è tanto questo a sorprendermi però. Ho costruito i miei pensieri con lui perché non potevo farne a meno. Come un umile cadetto, ho usato spesso – nei miei scritti – quel piccolo bastardo. Sì, “piccolo bastardo”, oggi è probabilmente la denominazione migliore che possa assegnargli. Ho sempre accettato la sua presenza: “fa parte delle regole” mi fu detto anni e anni orsono. “Fa parte delle regole” mi veniva istintivo pensare ogni volta che buttavo giù due righe. Gli ho voluto bene negli anni, sai, quell’affezione che si crea col tempo, un legame che non ti spieghi neanche come sia nato ma di cui non puoi fare a meno. Ed è forse questa la cosa più struggente del mio racconto.

Ho cambiato casa, ho salutato gli amici, ho detto “arrivederci” ad un bel po’ di persone ma ho sempre creduto che tutto e tutti dovessero ricambiare il mio affetto sincero e trasparente. Persino nei miei scritti doveva essere così.
Da alcuni mesi, invece, frequentemente, qualsiasi sconosciuto incontri mi avverte senza mezzi termini: “Tu non sei del nord” e senza pause, molto laconicamente continua “l’accento ti tradisce”.

Emanuele