Tuesday, 28 December 2010

Dove si trova l'aeroporto di Birgi?

Premettendo che:
  • se qualcuno mi chiedesse dove si trovi l'aeroporto di Birgi, in generale risponderei colloquialmente con una frase composta probabilmente da alcune delle seguenti espressioni: "in Sicilia", "in Sicilia Occidentale", "ad ovest di Palermo", "a metà strada tra Trapani e Marsala", "a sud di Trapani", "a nord di Marsala", il tutto ovviamente a seconda del contesto;
  • mi sembra chiarissimo che il bacino primario dell'aeroporto in questione sia più o meno sovrapponibile a quello dell'aeroporto di Punta Raisi, copra cioè tutta la Sicilia Occidentale;
  • personalmente ho sempre trovata abbastanza inutile, se non peggio, la questione sulla denominazione dell'aeroporto di Birgi che spesso fa capolino sia tra le lettere a Marsala.it sia altrove (c'è addirittura almeno un gruppo apposito su Facebook!), una questione comunque veramente secondaria, rispetto ad altre questioni ben più importanti riguardanti questa stessa infrastruttura, non ultima la questione dei trasporti pubblici, che mi pare siano ancora molto carenti soprattutto per quanto riguarda Marsala.
Questo premesso, volevo con questa dare un mio piccolo contributo per chiarire uno degli aspetti che mi sembra siano meno chiari: dove si trova, amministrativamente parlando, l'aeroporto di Birgi? Nel territorio comunale di Marsala o in quello di Trapani?

Storicamente il confine tra i comuni di Trapani e Marsala seguiva l'andamento del fiume Birgi, che però sfociava più a nord rispetto alla foce attuale. Avendo costruito l'aeroporto di Birgi su quello che era il "delta" del Birgi, l'alveo del Birgi è stato "raddrizzato" con una serie di interventi, ed oggi il fiume sfocia più a sud, ed il sedime aeroportuale si trova interamente a nord del fiume. Per quanto ne so la ridefinizione dei confini tra i Comuni di Trapani e Marsala utilizzando il nuovo asse del fiume Birgi non è stata ancora conclusa, cosa che ha recentemente trovato conferma dando uno sguardo alle cartografie dei confini amministrativi pubblicati dall'ISTAT in occasione del censimento del 2010 (e scaricabili da chiunque), per cui al momento attuale mentre buona parte del sedime aeroportuale si trova nel territorio del Comune di Trapani, compresa tutta l'area dei parcheggi, sia quello per le autovettore che quello per gli aeromobili, ed il terminale aeroportuale, mentre una minore parte del sedime aeroportuale, compresa la parte finale delle due piste dal lato del mare, si trova nel territorio del Comune di Marsala.

Ricapitolando:
  • l'aerostazione di Birgi si trova all'interno del territorio comunale di Trapani;
  • i parcheggi per le autovetture si trovano all'interno del territorio comunale di Trapani;
  • i parcheggi per gli aeromobili si trovano all'interno del territorio comunale di Trapani;
  • tutte le strutture civili, e quasi tutte quelle non civili, si trovano all'interno del territorio comunale di Trapani;
  • la maggior parte della estensione di entrambe le piste si trova all'interno del territorio comunale di Trapani;
  • una minor parte della estensione di entrambe le piste, dal lato del mare, si trova all'interno del territorio comunale di Marsala.

Tuesday, 31 August 2010

Mysterious error using the sqloledb provider on x64

Do you get a mysterious error using the sqloledb provider on x64?

Are things like -2146824535, 0x800A0EA9, Unknown error, Provider is not specified and there is no designated default provider (while it is there and apparently well specified) and similar wasting your day, even do the connection seems to open perfectly on x86 and amazingly even on some x64 code, but not in some other?

Give a look at the exact format of the connection string. Give it an hard look.

In my case, the x86 format was as such:

connectionString = _bstr_t("\
Provider=sqloledb; \
Data Source=") + server + _bstr_t(";\
Initial Catalog=") + database + _bstr_t(";");

This was not working at all in x64, returning all the above. Changing it in the following, made it working both for x64 and x86:

connectionString = _bstr_t("Provider=sqloledb; \
Data Source=") + server + _bstr_t(";\
Initial Catalog=") + database + _bstr_t(";");

The difference was basically 6 blank spaces, if you don't count the starting escape.

Amazing, isn't?

Sunday, 8 August 2010

La Russia brucia, pane e pasta alle stelle?

La Russia brucia.

Questa estate è stata la più calda registrata in Russia da quando sono iniziate le registrazioni delle temperature, a Luglio la temperatura massima media è stata di 31C, in alcune zone sono stati infranti record su record, ed il fenomeno sta continuando in questo primo scorcio di Agosto.

Soltanto il primo fine settimana di Luglio, quando le massime hanno iniziato ad oltrepassare i 40C in buona parte del paese, sono morte circa 300 persone perché affogate mentre cercavano di rinfrescarsi nei corsi d’acqua. Soltanto a Mosca nel mese di Luglio, quando si sono registrate minime notturne oltre i 35C, sono morte quasi 5000 persone in più che in media. La cifra totale delle morti direttamente correlabili all’ondata di caldo che ha colpito la Russia finirà probabilmente per essere stimata almeno nelle decine di migliaia di vittime, se non proprio con cifre a sei figure.

L’ondata di caldo, completamente anomala, ben oltre 7C oltre le medie stagionali, è stata accompagnata dalla peggiore siccità che abbia colpito la Russia in secoli, una combinazione letale che ha innescato migliaia di incendi che hanno già distrutto milioni di ettari di foreste e soprattutto 9 preziosissimi milioni di ettari di terreno agricolo.

Le previsioni per il raccolto di grano sono precipitate, delle 85 milioni di tonnellate previste al momento si spera di riuscire a raccoglierne almeno 70 milioni di tonnellate. Per far fronte alla perdita di oltre il 20% del raccolto, il governo Russo ha proibito le esportazioni di grano almeno fino a Dicembre. Il crollo delle previsioni sulla produzione di grano in Russia, che è uno dei principali esportatori, specialmente nell’area del Mediterraneo, e soprattutto il divieto di esportazione, hanno fatto letteralmente schizzare verso l’alto i prezzi del grano sui mercati mondiali.

Dall’inizio della calda estate russa ad oggi il prezzo medio mondiale del grano è praticamente raddoppiato, il che, come già accaduto un paio di anni fa, potrebbe tradursi in un nuovo incremento del prezzo al consumatore di pane, pasta e tutti i prodotti affini. Un paio di anni fa l’impennata dei prezzi fu in gran parte determinata dall’aumento dei prezzi del petrolio, perché oltre un certo livello di prezzi diventava più conveniente economicamente utilizzare i raccolti di cereali ed affini per produrre carburante biologico. In buona sostanza per far muovere le auto nei paesi più ricchi si alzava il costo dei beni alimentari di prima necessità nei paesi più poveri. Questa volta, se i prezzi del petrolio si dovessero mantenere stabili, si dovrebbe riuscire ad evitare una tale perversa dinamica, ma una qualsiasi impennata del petrolio in concomitanza alla difficile situazione determinata dalle perdite dovute alla siccità in Russia avrebbe conseguenze devastanti per le classi sociali più povere in molti paesi.

Friday, 9 July 2010

A quando stipendi da 120 mila Euro annui in Sicilia?

Lavoro in Inghilterra, in un paesino di poco meno di 60 mila abitanti. Qualche giorno fa durante la pause per il pranzo sono andato al locale ufficio delle poste per inviare una lettera per conto di mia moglie, e mentre tornavo in ufficio ho attraversato una zona dove vi sono diverse agenzie per la ricerca di lavoro. Una delle agenzie aveva diverse offerte per il settore in cui lavoro, quello delle tecnologie dell'informazione, per retribuzioni che andavano da 16 mila Sterline lorde (se ricordo bene per un primo impiego per lavorare con un programma gestionale molto usato, SAP) in su. La media delle retribuzioni offerte sui volantini in quella vetrino era intorno alle 40-45 mila Sterline lorde annue.

Mi ha colpito molto l'offerta più alta, 100 mila Sterline annue lorde (equivalenti al cambio odierno a 120 mila Euro annui lordi) per andare a lavorare come amministratore di database (DBA) su tecnologia Microsoft Sql Server, con esperienza in ambienti ad elevate prestazioni (la lista dei requisiti aggiuntivi non era comunque lunghissima, anzi).

In realtà, anche se oggi lavoro con altre tante altre tecnologie e soprattutto a fare altro, ho parecchia esperienza con
quella particolare tecnologia, e la gran maggioranza dei requisiti per quella posizione li avrei, e conosco abbastanza bene il mercato Britannico per quella posizione, e so che mediamente per le posizioni da permanent su Microsoft Sql Server le retribuzioni vanno da circa 30 mila sterline per i meno esperti a circa 50 mila sterline per i più esperti, per cui leggere di 100 mila Sterline mi ha colpito abbastanza.

Ho quindi cercato su Internet il sito dell'agenzia, ed ho trovato l'annuncio.

Nell'annuncio si nota subito che in realtà le 100 mila Sterline sono il limite massimo, l'offerta retributiva parte da 50 mila Sterline fino ad un massimo di 100 mila Sterline. Sempre un ottimo stipendio, per carità, ma almeno più in linea con il resto del mercato (Britannico, di quello Italiano o peggio Siciliano meglio non parlarne!), almeno il limite inferiore.

La cosa che però non avevo notato nel volantino sulla vetrina, e che invece mi ha colpito veramente di più alla fine, è stata scoprire che il luogo di lavoro per la posizione è Malta.

Confesso di non conoscere per nulla il mercato del lavoro Maltese, ma mi ha sorpreso veramente leggere un'offerta di lavoro con una retribuzione praticamente allo stesso livello di quelle Britanniche o comunque del nord Europa in un paese che sostanzialmente è a pochi chilometri di distanza dalle coste siciliane.

E mi chiedo: perché i Maltesi riescono ad offrire retribuzioni comparabili a quelle dei paesi più sviluppati in ambito internazionale, ed i Siciliani no? Qual'è la differenza?

L'unica risposta che mi sono dato è che i Maltesi non fanno parte della Repubblica Italiana.

Non che a far parte della Repubblica Italiana ci si perda in ogni caso, anzi, ci sono aree del paese che hanno giovato tantissimo dall'unificazione, ad esempio il Veneto e gran parte della cosiddetta Padania, aree poverissime per secoli fino ad oltre la metà del XIX secolo, ed in cui le traccia della povertà ataviche sono rimaste fino a pochi decenni fa, pensiamo ad esempio alla piaga della pellagra, ma a quanto pare alla Sicilia ed ai Siciliani non riesce proprio di far fruttare questa benedetta, o maledetta, dipende dai punti di vista, unità.

Ad ogni modo, se tra voi c'è qualche informatico, qualche ingegnere, magari qualche DBA, e lavorare ad una mezz'ora di aereo (ma forse saranno anche venti minuti) dalla Sicilia non vi scoraggia, ora sapete che magari uno sguardo a Malta glielo potreste dare, non soltanto dal punto di vista turistico, ma anche lavorativo!

Thursday, 8 July 2010

Reforestation of Eritrea

Centuries of deforestation had left Anatolia almost bare of trees. Since the inception of the republic in the early 20s of the XX century, Turkey started to revert this trend, and from 1960 onwards has been implementing a very strong policy of reforestation, that has seen the surface covered by forests grow from 10 to 25 million hectares nowadays (20% of which, 5 million hectares, is commercially exploited).

The additional 15 million hectares of forest created in Anatolia in the last 50 years (300 thousands hectares per year in average) would be enough to cover all the surface of Eritrea (slightly less 12 million hectares) with forests.

So reforesting Eritreans highlands or other areas is feasible, and the Turkish experience shows it could be done relatively quickly: taking in account the relative proportions, Eritrea should reforest "just" 40 thousands acre per year to reach the same rate of forest regrowth than Turkey.

[comment to a part of Solomon's Hgi Endaba: The Laws of our Ancestors ]

A T-SQL query to get the TCP ports used by the current sessions

The other day I was having some difficulty getting to a Sql Server in a different subnet, so I thought the issue could be in some firewall/gateway/proxy/other-chap-in-the-middle.

As part of my investigation, I quickly wrote this bit of T-SQL, which should retrieve, with other useful stuff, also the TCP ports used by the various sessions connected to a Sql Server:

SELECT
connections.session_id as [Session Id],
connections.net_transport as [Net transport protocol],
connections.local_net_address + ':' + cast (connections.local_tcp_port as varchar) as [Server net address and port],
connections.client_net_address + ':' + cast (connections.client_tcp_port as varchar) as [Client net address and port],
sessions.login_name as [Login name],
sessions.host_name as [Host name],
sessions.program_name as [Application name]
FROM sys.dm_exec_connections AS connections
INNER JOIN sys.dm_exec_sessions AS sessions
ON connections.session_id = sessions.session_id
ORDER BY
connections.net_transport,
connections.local_net_address,
connections.local_tcp_port

It may be useful to know if a non standard port is being used (the standard port is 1433), as firewalls or other stuff in the middle may not like those.

This is i.e. the result of such a query on a Dev Sql Server:

Session Id,Net transport protocol,Server net address and port,Client net address and port,Login name,Host name,Application name
52 Shared memory NULL NULL NT AUTHORITY\SYSTEM CERES Report Server
54 Shared memory NULL NULL NT AUTHORITY\SYSTEM CERES SQLAgent - Generic Refresher
57 Shared memory NULL NULL NT AUTHORITY\SYSTEM CERES Report Server
51 TCP 10.25.81.63:1433 10.25.81.0:2628 sa APOLLO Microsoft SQL Server Management Studio - Query
55 TCP 10.25.81.63:1433 10.25.81.64:3384 sa MITRA Microsoft SQL Server Management Studio - Query
56 TCP 10.25.81.63:1433 10.25.81.0:2844 sa APOLLO Microsoft SQL Server Management Studio
53 TCP 10.25.81.63:1433 10.25.81.64:3363 sa MITRA Microsoft SQL Server Management Studio