MAR
13

Che vita a Bologna!

Situazione: ieri ho lavorato e quindi sono rimasto a dormire dai miei. Stamane, ore 7 e 21 minuti mi alzo per prendere la corriera che, solitamente in ritardo di 5 minuti, parte invece con un anticipo di ben 2 minuti. Io in macchina seguo la corriera per 2km quando finalmente la supero e riesco a salire alla fermata successiva. Durante il viaggio (da casa dei miei a Bologna è un’oretta scarsa di autobus), ho raggiunto il livello di Ammiraglio nel gioco Naval Battle del mio cellulare e quindi la mia mente è stata praticamente assente per 30 minuti buoni. Alle porte di Bologna la corriera passa tranquillamente la redazione de “Il Resto del Carlino” e la rotonda della tangenziale quando, poco prima del cavalcavia di casa mia, ecco che accade tutto.

Due suonate di clacson dell’autista del bus

Alzo gli occhi per capire cosa sta succedendo, una macchina ha appena tagliato la strada all’autobus, regolarmente sulla corsia preferenziale.

Frenata

Nella mia mente si accendono immagini e riesaltazioni di film, ieri sera ho visto “Final Destination 2″, su Rai 2 mi pare, tutto è come in un film… poi,

Botta

L’autobus prende in pieno la macchina. Mi sveglio e impiego un millesimo di secondo per capire che sto bene, ma vedo cadere una signora che era in piedi in mezzo alla passerella del bus e la forza dell’impatto la trascina a 2mt di distanza, istintivamente cerco di avvicinarmi per accertarmi se va tutto bene, ma i passeggeri più vicini arrivano prima di me. La signora si alza, un pò tramortita, ma fortunatamente è incolume. Guardo attorno a me, nessuno a bordo si è fatto nulla. A questo punto l’autista si accerta che stiamo tutti bene e apre le porte del bus, per farci uscire. Ora guardo attorno a me cercando il mio portatile, fortunatamente è salvo (ora posso preoccuparmi di me stesso). Adesso è scontro aperto con l’autista della macchina, una signora. Doveva girare a destra, ma a destra c’è anche la preferenziale, “Avrebbe dovuto guardare!”, secondo alcuni. L’autista chiama prontamente soccorso, e dopo soli 4 minuti l’ambulanza arriva per portare via la signora. Io mi intrattengo qualche altri minuto, poi mi avvio a piedi verso casa. Il resoconto finale è una leggera sensazione di paura, un pò di brivido e un pizzico di tenerezza per la signora che è caduta. I medici faranno del loro meglio.

Questo è quanto ha provocato l’impatto:

botta

Ho ovviamente sbiancato la targa della vettura, non è il caso di far conoscere nei dettagli i protagonisti della vicenda, a parte me. Ecco quello che capita a Bologna sure emoticon

MAR
11

Rinnovamento contenuti

bloglife

Finalmente dopo tanti sforzi sono riuscito a mettere insieme qualcosa ed ho preparato un layout un pò più modesto, senza cianfrusaglie varie e che dedica più spazio ai contenuti. Come vedete sulla destra ho rimpiazzato la vecchia sidebar doppia con una singola ma secondo il mio parere più funzionale, poi attendo i vostri feedback per sapere come vi trovate. La grafica non è cambiata tantissimo, tuttavia ho cercato di dare più spazio alle informazioni e quello che voglio esprimere, tanto che per ogni tipologia di articolo ho diversificato l’immagine rappresentativa dello stesso (accanto al titolo a sinistra). Presto, studio studio emoticon permettendo, aggiungerò qualche altra miglioria qua e la, come il blogroll che devo ancora decidere dove posizionare per segnalare i vari blog a cui sono abbonato, come ormai i già citati PausaXn e Standweb. Attendo i vostri commenti. A presto! ok emoticon

MAR
10

sql

Primo articolo per quanto riguarda l’SQL, il più famoso linguaggio di interrogazione per database. Il problema riguarda l’ordinamento casuale dei record di una qualsiasi tabella su un database Access. Su SQLServer risolvere il problema è abbastanza semplice, basta infatti specificare un ordinamento del tipo:

SELECT * FROM tabella ORDER BY NEWID();

ed il gioco è fatto. Questo tipo di approccio invece non è possibile se il database che stiamo usando è un database Access.

Ecco perciò come ho risolto:

SELECT * FROM tabella ORDER BY Rnd((ID+Timer())*-1);

e quindi nel complesso:

set conn=Server.CreateObject("ADODB.Connection")
conn.Provider="Microsoft.Jet.OLEDB.4.0"
conn.Open Server.MapPath("/mdb-database/accademia.mdb")
set rs = Server.CreateObject("ADODB.Recordset")
rs.Open "SELECT * FROM tabella ORDER BY Rnd((ID+Timer())*-1)", conn

Essendo la funzione Timer() precisa al centesimo di secondo, è praticamente impossibile ottenere due query ordinate nello stesso modo. Il campo ID deve essere ovviamente numerico e nel mio caso è autoincrementale. Grazie a questo tip ho risparmiato ore di lavoro inutile, devo perciò ringraziare la fonte dell’informazione, il blog di Lorenzo Benaglia e soprattutto il commentatore Giorgio Rancati che ha proposto questa soluzione. ok emoticon

MAR
8

Auguri a tutte le donne!

mimosa

Visto che è l’8 marzo, faccio i miei auguri a tutte le ragazze, signore, donne che visitano il mio blog (se capita confused emoticon ). Buon 8 marzo! ciao emoticon

MAR
8

Bandiere da tutto il mondo!

Salve ragazzi, è un pò che non aggiorno ed il motivo è semplice… Esame il 27, già provato parecchie volte senza successo… stavolta quindi mi sono messo d’impegno un bel pò prima wink emoticon Poi tra il lavoro e l’aggiornamento del layout (sto sistemando qua e la per rendere un pò più ordinata la home), tempo praticamente nullo per poter aggiornare il blog sad emoticon

Tuttavia ho voluto lo stesso rendervi partecipi di questa cosa. Essendo che sto realizzando un sito multilingue mi è capitata la necessità di avere le bandierine con cui identificare appunto le varie lingue, in cui poi l’utente clicca e cambia la lingua del sito. Fin qui tutto Ok, se non fosse che non si sa dove trovarle. Allora vi aiuto io, ho messo insieme due zip contenenti praticamente un numero spropositato di icone di paesi di tutto il mondo.

(All’interno dell’articolo i link per il download)

Continua a leggere "Bandiere da tutto il mondo!"