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

Friday, 25 June 2010

Alcuni aspetti della civiltà lacedemone

Le radici della civilità occidentale affondano profondamente e fermamente nell’humus delle civilità classiche dell’antichità mediterranea. Oltre che Roma ed Atene, una menzione particolare la merita Sparta.

Ci sono svariati aspetti della civiltà lacedemone meritevoli di attenzione, in alcuni casi di vera e propria ammirazione, in specialmente considerando il contesto storico ed il comportamento dei loro contemporanei, per non dire di quello di alcuni nostri contemporanei.

Tra i caratteri fondamentali della civiltà Lacedemone vi erano infatti l’assoluto dominio della legge, che è forse la loro eredità più importante e storicamente influente, l’altissima considerazione per le donne e per il loro ruolo nella società e soprattutto, a meno di non avere la ventura di essere uno dei primogeniti maschi dei due re, che ne erano gli unici esenti, l’educazione obbligatoria universale per entrambi i sessi.

Gli Ateniesi distinguevano bene o male le donne nelle due rozze categorie di puttane o riproduttrici, le prime destinate ad essere frequentate, quindi usate, soltanto fuori da casa, le seconde condannate a non uscire quasi mai dal luogo destinato al loro uso, la casa, e nel caso dovessero temporaneamente uscirne, soltanto se coperte come le Afghane sotto i Taliban, se non peggio, e soltanto se scortate da parenti stretti.

In netto contrasto, il fenomeno della prostituzione, comunissimo ad Atene, era praticamente sconosciuto in Lacedemonia.

Vi sono comunque tanti altri indizi che ci raccontano dell’inusuale considerazione delle donne nella civiltà lacedemone. Quale altra civiltà pre-moderna limitava l’età del matrimonio a “quell’età in cui le ragazze possano finalmente gioire dei piaceri del sesso“?

Oltre per la considerazione per la volontà ed i desideri delle ragazze, potremmo anche citare il fatto che fino al matrimonio, e spesso anche dopo, i ragazzi e le ragazze passavano buona parte della giornata a studiare insieme, o ad ad esercitarsi nudi o seminudi, il fatto che i matrimoni erano comunemente decisi ed organizzati dai diretti interessati, il fatto che l’adulterio non era usualmente punito, e che comunque quando uno Spartiata non si sentiva più in grado di soddisfare la moglie sessualmente, non aveva remore a chiedere il favore ad un amico a lei gradito, soprattutto se c’era bisogno di un erede per la famiglia, o il fatto che, probabilmente unici tra gli antichi e comunque tra i pochi anche tra i nostri contemporanei, gli Spartiati non auguravano “figli maschi”, ma “figli” (in genere neutrale nell’originale Dorico).

L’enorme libertà e considerazione delle donne spartane rimase un unicum per secoli, i Romani in epoca imperiale andavano in vacanza in Laconia per vedere con i propri occhi i costumi esotici di questo strano popolo, e ne erano probabilmente scioccati, se non disgustati, così come a suo tempo ne erano stati scioccati anche gli Ateniesi, soprattutto dall’idea di mandare a scuola le figlie.

Bisogna però puntualizzare che se da una parte è vero che tante caratteristiche della loro civiltà erano straordinariamente e sorprendentemente avanzate, ce ne sono tante altre però ci farebbero rabbrividire se non proprio inorridire.

Per usare un eufemismo, tra le caratteristiche meno meritevoli di ammirazione vi era certamente il brutale e fondamentalmente inumano trattamento riservato agli Heloti, l’incapacità di trovare una soluzione per contrastare il costante calo demografico degli Spartiati che alla fine determinerà il declino definitivo della potenza militare lacedemone, l’incapacità di riuscire a convivere in pace con i propri vicini, l’infanticidio di Stato, l’eugenia di Stato, possibilmente anche, ma magari non probabilmente, la pederastia di Stato.

Su quest’ultimo punto, ovviamente particolarmente controverso, in realtà noi non sappiamo con assoluta certezza se a Sparta venisse veramente implementata una vera e propria pederastia di Stato.

Mentre è una eventualità possibile, e se si interpreta in una certa maniera, cioé come una sorta di lezione per insegnare in maniera brutale ai ragazzi ed alle ragazze che il loro corpo non gli appartiene, ma appartiene allo Stato, potrebbe anche essere in carattere con tante altre cose che sappiamo sui Lacedemoni, non è molto probabile perché, come visto appena precedentemente, tante altre cose che sappiamo su di loro ci indicano l’esatto contrario: ad Atene, ad esempio, mentre siamo certi che la pederastia non fosse un affare di Stato, siamo invece assolutamente certi che fosse molto diffusa.

Era un tipo di relazione, per la nostra sensibilità contemporanea chiaramente sbilanciata, tra individui consenzienti, per quanto ne sappiamo fondamentalmente omosessuale (anche perché probabilmente le relazioni con prostitute bambine agli Ateniesi potrebbero purtroppo non essere sembrate particolarmente degne di nota o di importanza), dove gli adolescenti coinvolti cercavano compensi materiali, sia immediati che futuri.

A Sparta, come la prostituzione, anche l’omosessualità era, se non sconosciuta, probabilmente malvista, tant’è che anche l’archeologia conferma che mentre si possono trovare un po’ ovunque grandi quantità di ceramiche dipinte con scene omosessuali, in Lacedemonia sono rarissime, se non proprio assenti. Ci sono insomma tanti indizi che ci fanno quindi pensare che la pederastia di Stato degli Spartiati fosse probabilmente una delle tante calunnie messe in giro dai tanti loro nemici, tra i quali appunto gli Ateniesi.

I Lacedemoni erano infine molto conservatori, e certamente molto rispettosi delle tradizioni. Ad esempio gli ultimi che ad abbandonare la religione dei nostri progenitori furono proprio loro. Gli Spartani resistettero al proselitismo cristiano ed islamico praticamente fino al X secolo inoltrato!