Friday 31 July 2009

Divergenze parallele




In questi giorni è in visita privata a Firenze il prince Al-Walid bin Talal, membro della famiglia re reale Saudita. Il principe, come si può leggere qui è commendevole per la sua passione per il ciclismo, per il suo stile casual e disinvolto, e in fin dei conti anche per la sua competenza in fatto di home cinema.

Leggo però con stupore che il sindaco Matteo Renzi lo ha ricevuto a Palazzo Vecchio. Qualche settimana fa in città era capitato in visita ufficiale il premier cinese Hu Jintao - a Palazzo Vecchio non era stato ricevuto, e gli era stato regalato un libro sulla democrazia in Toscana, come gesto polemico. Sarebbe stato ancora meglio fargli girare il centro città come un normale cittadino senza bloccare tutto (e in particolare il sottoscritto che pedalava pacificamente). Però l'Arabia Saudita, a differenza della Cina, è una monarchia assoluta. Rispetto alla repubblica popolare la pena di morte è applicata con fantasia forse maggiore, anche se il numero di vittime è inferiore.

Mah ?

Thursday 23 July 2009

Ticket Party

L'altro giorno è partita la nuova campagna antievasione dell'ATAF, a Firenze.
I dettagli si trovano qui, ad esempio. In due righe, alcune fermate chiave saranno presidiate da controllori in pettorina fosforecente. Cercheranno di fermare chi è senza biglietto (ma questi potranno comunque salire a bordo dichiarando di voler acquistare il biglietto dall'autista, pare).

La durata dell'operazione è per ora limitata nel tempo. Veramente incredibile venire a conoscenza che l'ATAF abbia avuto fino ad ora solo ventiquattro controllori.

Dei 100 punti del neosindaco Renzi, il punto 24 sui controlli a terra mi aveva favorelmente colpito. Speriamo però che tutto non si riduca a questa operazione, come al solito mediatica. Chiunque abbia viaggiato su una linea trafficata negli ultimi anni non può non sospettare che la maggior parte dei passeggeri non abbia in realtà pagato un bel nulla. Quello che ci vorrebbe (e che forse con poca spesa potrebbe contribuire a sanare il bilancio dell'azienda) è un blocco
all'entrata della vettura. Chi è senza titolo di viaggio, semplicemente non entra.

Troppo difficile ?

Cfr. anche la Renzata N.11 per un altro punto di vista sulla questione.

Tuesday 21 July 2009

A Tale of Two Regions


Here's a brief chronology of the history of Judea & Samaria (or more correctly the whole of Palestine, at first at least) and Tuscany, my land. Whose history, according to some people, is nothing short of Hell on Earth. Go figure...


TUSCANYJUDEA-SAMARIA

1350-1150 BC

Apennine Culture

1100-700 BC

Villanovian Culture


1440 BC

First mention of the Habiru

1300 BCE

Possibly the birth of Moses

1187 BC

Sea People invasion, possibly the Philistines among them
1000 BC

Kingdoms of Judah and Israel, according to the Bible

700-280 BC

Etruscan civilization organised as a loose federation of city states:
large transport infrastructure,agriculture,mining
art. Fiesole, Arezzo, Volterra, Chiusi are founded.
At first Rome is dominated by the Etruscans. The first kings of Rome
are probably Etruscan. With the rise of the Republic Tuscany
is conquered progressively by the Romans

722 BC

Assyrian invasion
586 BC
Babylonian conquest of the Kingdom of Judah.

The Jews are exiled, according to the Bible.

539-333BC

Cyrus II conquers the Babylonian empire incorporating
Judah and Israel.

333 BCE

Conquest by Alexander the Great. Seleucid and Ptolemaic
dinasties dispute over the land.


280BC-476CE

Roman domination: Florence, Pisa, Lucca, and Siena are founded.
Social wars.
In 90BC all Tuscans become roman citizens.


165-64 BCE

Maccabees, Hasmonean dinasty.

63 BCE

Roman conquest, destruction of the Second Temple
70CE

Destruction of the second temple.

135 CE

Bar Kokhba revolt. Several hundred thousands of victims.
351 CE

War against Gallus
Byzantine domination
Progressive christianization.


476-569CE

Ostrogoth and Byzantine domination

569CE

Lombard conquest. Edict of Rothari.

772CE

Desiderius, duke of Tuscany surrenders to Charlemagne.
Tuscany becomes a margravate, formally a part the Holy Roman Empire.

970CE

Hugh of Tuscany moves his residence from Lucca to Florence. In his honour
every year a mass is celebrated in Florence.

X century.

Construction of several castles.


613 CE

Persian conquest under Khosrau II

638 CE

Islamic conquest
Umayyad,Abbasids, Tulunids, Ikshidids, Fatimids, Seljuks dinasties.
The Dome of the Rock and Al-Aqsa mosques are built.


XI century.

Pisa becomes one of the most importan maritime republics, scoring victories
against the saracens. The Aldobrandeschi rule in southern Tuscany.

XII century

Medieval communes. First medieval examples of self government and democracy.
Foundation of the first Guilds.

XIII century.

Dante and Giotto.

Battle of Campaldino. The Guelphs defeat the Ghibellines.


1096-1244

Crusades.
Jerusalem and part of Palestine is conquered by the Crusaders but
part of the territory is lost and reconquered several times until
the Ottoman conquest. Muslim and Jewish massacres.


XIV Century.

Rise of the Republic of Florence. Florence becomes a major trading and
banking centre.

XV Century

Rise of the Medici signoria. Lorenzo de' Medici. The Renaissance.
Almost all Tuscany is conquered by the Medici.
Girolamo Savonarola. Pier Soderini.
Reconquest by the Medici with spanish forces.
1737

The last Medici Grandduke- Gian Gastone dies.

Tuscany is took over by the austrian Lorraine house.
Under the Lorraine Grand Dukes the death penalty is abolished for
the first time in a European state. Railways are built for the
first time. Agriculture is reformed, the last vestiges of serfdom
abolished. Drainages in the Maremma.
The Lorraine house rule until 1859, excluding the napoleonic interlude.
1859

Tuscany becomes part of the Kingdom of Italy.

1865

For a brief period Florence becomes the capital of the new Kingdom, hosting
its first Parliament until Rome is conquered and annexed.

1096-1244

Crusades.
Jerusalem and part of Palestine is conquered by the Crusaders but
part of the territory is lost and reconquered several times until
the Ottoman conquest. Muslim and Jewish massacres.


1880s

Rise of socialism. First syndicates.
1930s

Rise of Fascism.
New motorways, new railway between Florence and Bologna
1940

WWII. Allied bombings. Massacres of civilians by the retiring Wehrmacht.
Florence is liberated by Italian partisans and allied troops August 11th 1944.


1881

First Aliyah, after the russian pogroms.

1890

Second Aliyah

1920

Balfour declaration

1921-1947

British mandate

1924

Third Aliyah

1928

Wailing Wall incidents

1929

Pogroms in Hebron and Safed: 113 Jewish victims

1934

Illegal Jewish immigration

1935

Arab revolt

1936

Homa Oumigdal

1937

British repression against the Arabs

1938

The Irgun executes several terrorist attacks.

1944

Other terrorist attacks by the Irgun and Lehi.


1950-60

Italian economic boom

1966

Flood of the Arno River



1948

Proclamation of the State of Israel

1949

The West bank - assigned to the Arab state - is
controlled by Iraqi and Jordanian forces.

1967

Six day war. The West bank, Gaza and the Golan Heights
fall under Israeli occupation.

UN Resolution 242


2009

The new Florence tramway line is finished ...almost.

1993

Oslo Accords

2000

Camp David 2000

2002

Road map for peace

2009

Obama and Nethanyau debate on settlement freeze.
Bibi talks about building Tuscan village-like Towers in the Israeli
settlements, like in San Gimignano.


Monday 20 July 2009

Google Analytics e la Palestina


L'immagine sopra è una clip di Google Analytics, che tra le altre cose uso per le statistiche di accesso di questo blog. Curiosamente la Cisgiordania e Gaza appaiono come il mare. Perchè succede questo ? In rete non sono riuscito a trovare niente, a parte altri blogger che si interrogano sulla stessa stranezza. Altri territori disputati non sembrano presentare questa bizzarra caratteristica. Su Google Maps non si verifica lo strano "annacquamento".



Friday 17 July 2009

La Toscana non è laggiù.


Visto che il post precedente sembra interessare diversi extracomunitari, perchè non proporlo anche in Italiano ? Nesià Tovà (per la vera Toscana, naturalmente) a tutti.

Su Usenet (ah, che miniera di notizie interessanti) è stato recentemente menzionato un curioso annuncio pubblicitario della 'pro loco' della Regione del Binyamin nei Territori Occupati. Byniamin deriva dal nome della tribù di Beniamino, che secondo il racconto biblico abitava nella zona - che è al di fuori dei confini di Israele, quelli stabiliti dall'ONU almeno.
Il testo in piccolo è abbastanza convenzionale, degustazione di vini, escursioni, come arrivare, eccetera. Quello che è sorprendente è il titolo e lo slogan. "La Toscana è qui" - "Non c'è bisogno di andare in Italia, il Binyamin è a portata di mano", si legge.

Ora, sono nato e cresciuto in Toscana, ci ho sempre vissuto e lavorato. Mio padre è nato in un piccolo borgo a nord di Firenze. La mia famiglia ha ancora un piccolo appezzamento di terra nel Chianti. Posso assicurare che la Toscana è qui, non è nel Binyamin. Un po' di foto di quel posto si possono visionare sullo stesso sito http://www.binyamin.org.il - avranno senzaltro dei vini ottimi, dei posti interessanti da vedere. Senza dubbio è più vicino ad Israele dell'Italia (per un israeliano, per un palestinese dipende dalla metrica utilizzata temo).

Ma non è la Toscana. Se qualche italkim mi legge dalla riva orientale del Mediterraneo mi dispiace, ma qui l'erba è più verde che nel Binyamin.

E nonostante qui i secoli passati siano stati tuttaltro che una pacifica siesta, in Toscana da più di un millennio nessun gruppo etnico religioso cerca di occupare forzatamente la terra di un altro gruppo. Guerre, dominatori imposti dallo straniero, quello sì ma la Toscana è sempre stata la terra dei Toscani. Credo che l'ultima volta che è successo, Paolo Diacono doveva ancora scrivere la Historia Langobardorum.




Way beyond Chutzpah


A very funny guy from London (allegedly not in London, at the moment) mentioned recently an amusing advertising for the Matte Binyamin Regional Council in the West Bank:
"Tuscany is here" - "There's no need to travel to Italy. Binyamin is at hand", reads the ad.

Now, you see - I was born and raised in Tuscany, and I have always lived and worked in Tuscany, Italy. My father was born in a small village north of Florence. We still own a small plot of land in the Chianti. I can assure you, Tuscany is not there, in the Binyamin region. I've seen the pictures on http://www.binyamin.org.il - I'm pretty sure that they have decent wines to be tasted , there are probably interesting places to see, it is without a doubt closer to Israel than Italy (for an Israeli at least).

But it's no Tuscany. I am sorry if some guy from the east coast of the Mediterranean is reading this (some certainly do) but our grass is most definitely greener than yours.
The last 15-20 centuries have not been without a little turbulence here, in Tuscany, for sure, but (it's greener, much greener) there has not been a single case of a religious-ethnic group systematically entering and exploiting another ethnic group's territory, at least since the time of the Longobards.

Wednesday 15 July 2009

"una piccola finestra mobile, sostanzialmente impercettibile per le persone"


Les jeux son faits, andremo in pensione a 75/80 anni... quando i governi (di dx e sx) fanno questi annunci così alla chetichella, balnearmente, significa che siamo veramente fottuti.

Breve guida alla creazione di servizi windows con Visual Studio

Questo post è una rielaborazione di una guida che ho preparato per dei colleghi: si tratta di indicazioni sulla creazione di servizi Windows usando Visual Studio e il framework .NET (2.0 e superiori). Niente di speciale rispetto a quanto già disponibile in rete, solo che è in italiano e risponde perlomeno pienamente alle ...mie esigenze.

Creazione di uno scheletro di servizio

Lanciare VS2005/2008 e creare una nuova soluzione C# o VBNET
di tipo “Windows service”

- viene creato uno scheletro di classe che eredita da ServiceBase

- il metodo OnStop viene chiamato allo stop del servizi

- il metodo OnStart all’avvio

- per cambiare nome al servizio modificare i vari riferimenti al namespace e ai nomi delle classi

- attenzione anche al codice nomeservizio.designer.cs per il nome passato poi all’eventuale event logger; il nome del servizio è definito in più punti.

Così com’è il servizio non è installabile. Andare in design mode sulla classe derivata da ServiceBase e fare tasto destro e sceglire “add installer”.

Viene aggiunta al progetto un’altra classe che deriva dall’oggetto Installer ed ha una direttiva di compilazione specifica, con due componenti serviceprocessinstaller e serviceinstaller. Modificarne le proprietà per cambiare nome, nome esteso, e account di default per l’installazione alservizio (ricordo che i servizi di windows hanno un nome sintetico usato ad esempio dai comand NET START o sc da prompt e un nome esteso visibile ad esempio in pannello di controllo servizi; l’account è l’utente con i permessi del quale è eseguito il servizio)

A questo punto si può installare il servizio in windows con
l’utility installutil.exe inserita nel dotnet framework (se non è nel path andare in c:\windows\Microsoft.net\Framework\ per trovarla.

Installutil.exe
nomeseguibile.exe
per installare

Installutil.exe
/u nomesegubile.exe
per disinstallare


E’ anche possibile aggiungere un progetto di installazione alla soluzione (solution = gruppo di progetti in VS.NET) ma è più laborioso, installutil inoltre è più adatto all’attività di sviluppo.

Debugging

Per quanto riguarda il debug: non si può debuggare direttamente un servizio come un normale programma. E’ necessario compilare, INSTALLARE, poi scegliere l’opzione ‘Attach process’ dal debugger di Visual Studio per agganciarsi al processo del servizio in esecuzione. Si tratta di settare uno o più breakpoint: una volta che il codice del servizio installato arriva, pur senza essere stato lanciato dal debugger, al punto del breakpoint, inizia l’esecuzione controllata. Dopo ogni modifica al sorgente bisogna disinstallare, reinstallare, far ripartire il servizio e rifare l’attach del processo. Per modifiche non sostanziali sembra possibile evitare di disinstallare e
reinstallare il servizio con InstallUtil. E’ comunque consigliabile testare prima il grosso del codice in un’applicazione convenzionale separata.

Comandi utili per controllare i servizi da prompt:

NET STOP nomesintetico

NET START nomesintetico

Sc stop nomesintetico

Sc start nomesintetico

Sc query nomesintetico

Sc query

L’ultimo comando lista tutti i servizi in esecuzione, il penultimo da informazioni solo sul servizio specificato.Il comando sc.exe è più recente del comando NET e consente di visualizzare più informazioni sul servizio, oltre a disporre di molte altre opzioni.

Note sulla programmazione dei servizi (in dotnet)

Non usare time di tipo System.Windows.Forms.Timer, ma timer di tipo System.Timer (sulla copia di Visual Studio che uso io questo tipo di timer non è presente di default sulla palette Components, però si può aggiungere facendo tasto destro Add.. sul titolo della palette stessa). I primi compilano senza problemi, ma non fanno mai scattare l’evento. Esistono anche timer di tipo System.Threading.Timer che non si possono aggiungere a design time e presentano altre problematiche.

All’avvio e all’arresto di un servizio viene generato automaticamente un evento in Visualizzatore Eventi/Applicazioni con il nome sintetico con cui è stato creato il servizio stesso. Anche eventuali eccezioni a runtime vengono loggate nella medesima destinazione. Per scrivere nel log
usare i normali componenti System.Diagnostics.EventLog settando la proprietà Log ad ‘Application’ e la proprietà Source al nome del servizio.

Per fermare il servizio dall’interno (p.es. per un errore trappato) usare this.Stop() dalla classe principale (equivale a chiamare ServiceBase.Stop() ). Verrà ovviamente eseguito il codice dell’evento OnStop

Interoperabilità col mondo COM/VB6

E’ possibile tranquillamente usare ADO (basta un riferimento a Microsoft ADO 2.x ) da un servizio dotnet. Viene creata in questo modo una dll chiamata Interop.ado.dll che deve sempre accompagnare l’eseguibile del servizio stesso.

E’ possibile usare dll visual basic da servizi dotnet sia in early che in late binding, non dovrebbero però interagire col destkop, così come del resto il servizio stesso.

I servizi in dotnet possono tranquillamente essere multithreaded – nella classe generata da VS esiste già del codice relativo da commentare, questo però è da evitare se si chiamano dll VB6/ActiveX (per il tipo di modello di threading usato da queste ultime le variabili globali – le c.d. variabili di modulo) rimangono in comune tra tutte le instanziazioni della dll stesa.

I servizi dotnet supportano la registration free COM, ovvero i file .manifest per gestire dll activex localmente, senza registrazione.


Friday 10 July 2009

How to check for lower or upper case case in Transact-SQL

A colleague of mine needs to extract data from a table where one field has lower case characters (any lower case charcater). Logically this would be the obvious solution...

SELECT my_field FROM my_table where myfield <> UPPER(my_field)

But normally with T-SQL it never yelds results becasuse the default collation is case insensitive. But one can use the COLLATE keyword and use a suitable case sensitive collation order...

SELECT my_field FROM my_table where myfield <> UPPER(my_field) COLLATE Latin1_General_CS_AI

Use this to list the available collation tags..

SELECT * FROM fn_helpcollations()

Thursday 9 July 2009

A simple WSH script to simulate ALT-TAB continuously


Set WshShell = WScript.CreateObject("WScript.Shell")
While true
WScript.Sleep 4000 ' 4000 ms = 4 seconds
WshShell.SendKeys "%{ESC}" ' "%{TAB} doesn't work well

Wend

In a Usenet newsgroup I've been asked to simulate the ALT-TAB (switching active windows) behaviour in Windows, without installing new software. This simple Vbs\WSH script (save as myscript.vbs and run with cscript.exe or wscript.exe accomplishes the task. I actually simulate the ALT-ESC behaviour instead of ALT-TAB (it's the %{ESC} thing) which doesn't seem to run right on WSH - ALT-ESC is the same, it's just in order of opening.

Also check out http://www.autohotkey.com/ - a free utility I've found very useful in the past.



Thursday 2 July 2009

ALn 668 3160 - Sulle tracce del vero responsabile del disastro di Viareggio

Locale di Guida - VIETATO L'ACCESSO
L'altra sera sono stato tra i primi a venire a conoscenza tramite Internet del disastro ferroviario di Viareggio . Per un po' in mancaza di giornalisti sonnacchiosi le prime immagine riportate sono state quelle uploadate su youtube da privati cittadini. In questi giorni si dipanano le solite polemiche, i soliti scaricabarile, le solite geremiadi sullo stato delle nostre ferrovie, le immancabili invettive contro i relativi colpevoli.

Questa mattina recandomi in Valdelsa mi sono trovato - al posto del Minuetto che effettua di solito la corsa a quell'ora- una Automotrice leggera a nafta modello 668. Costruite dalla Fiat in diverse centinaia di esemplari queste littorine continuano a coprire buona parte del traffico locale italiano, pur con diversi decenni di vita sulle spalle. Le 668 su cui sono stato sono ancora relativamente dignitose: funziona quasi tutto, gli interni sono rinnovati, vengono ancora pulite.

Come (pare) dicesse un noto intellettuale francese però, le diable est dans les détails. Come si può essere talmente lassisti da scrivere con un pennarello indelebile 'locale di guida - vietato l'accesso' ? Con una calligrafia peggiore di quella di un piccolo vandalo di terz'ordine, e invece di spendere una manciata di minuti per un cartellino, anche artigianale ?

Le tragicommedie italiane nascono qui, al posto di guida della Automotrice leggera a nafta 668 3160.