Sunday, 13 February 2011
Treggialul Romaniei
Sulla falsariga del Treggia's blog - che seguo saltuariamente e raccomando - ecco a voi un esempio di treggia neocomunitaria raccolto ieri a Firenze, a Novoli. Di vetture con targa rumena, o anche bulgara, se ne vedono ormai da diversi anni. A parte qualche esempio di trabaghi da nouveau-riche di estrazione sospetta, si tratta di normali automobili di media cindrata e media età. La maggior parte dei romeni sembra arrivare comunque su corriere o grazie a ditte specializzate di trasporti, come la nervosamente chiamata Casa Nostra che quasi ogni giorno sbarca persone e masserizie di fronte al nuovo Palazzo di Giustizia.
Questa treggia comunque batte ogni record. La Mondeo, anche la prima versione, non è certo un automobile d'epoca. Io stesso ne ho guidata una abbastanza frequentemente anni fa (la prima o seconda versione SW col motore TD 1.8 delle ultime Escort, auto a dir poco tranquilla). Questo modello però batte ogni record. Non può avere più di una quindicina d'anni, ma ne dimostra almeno il doppio.Non so cosa ha passato sulle strade rumene, che, mi raccontano, sono in grado di sfasciare quasi qualsiasi sospensione.Certo che la ricostruzione della carrozzeria è rimarchevole. Parafango posteriore rosso, portiera amarano, portiera blu, fiancata nera. Non sapevo neanche che la Ford avesse mai prodotto Mondeo rosse. Ed ha la sigla RO orgogliosamente posta sia sulla targa che sull'adesivo accanto. Se il possessore avesse trovato una portiera gialla avrebbe potuto creare una combinazione di colori più patriottica.
Saturday, 29 January 2011
Renzmore
Renzi immortalato nella roccia sulla copertina Venerdì di Repubblica. Ed è davvero in ottima compagnia...
Friday, 28 January 2011
Shock value
Pochi centimetri di scaffale. E' il minimarket di un Autogrill, è vero: ma notate come ci siano almeno un paio di titoli che non utilizzano espressioni dialettali, volgari oppure relative al sesso. Cosa non farebbero le case editrici per attirare l'attenzione dei lettori, o aspiranti tali, in cerca di un buon titolo...
Saturday, 22 January 2011
Voodoo Visual Studio
While I was - uh - researching the previous post I fired up VS2008 and tried to establish a connection to a Microsoft access database via Server Explorer. I got this dialog...
instead of this dialog.
'Test Connection' invariably returns 'OK'. The advanced button remains grayed out. Clicking OK invariably yelds the message 'Format of the initialization string does not conform to the specification starting at index 0', even typing a perfectly valid Jet 4.0 connection string. Invoking the .NET OleDb provider directly from Server Explorer and linking it to Jet 4.0 driver seems to work, at first, but then an 'Object reference not set to an object instance' message stops everything. Programatically, using OleDb+Jet poses no problem whatsoever. I have also VS2005 on the same machine: same problem. And VS2010: no problem at all.
I spent quite a bit of time online searching for a solution. It looks like something related to a deleted registration (and I actually ran a registry cleaner utility a few months ago), even if it's strange that VS2010's working in this case. I found these solutions:
- regsvr32 query.dll
- checking if the default value of the ProgID subkey of registry key HKEY_CLASSES_ROOT\CLSID\{F9AE8980-7E52-11d0-8964-00C04FD611D7} is set to MSIDXS.1
- reinstalling/re-registering MDAC
- deleting invalid SQL Server connections from Server Explorer
- devenv /ResetSkiPkgs (devenv.exe is the VS2008 ide)
None of them worked. The problem seems to be relatively widespread, M$ knows about it, but the only surefire solution seems to be a complete reinstall (which is a major waste of time). I'm lucky not to really need the feature and to have several other machines where VS works...
Microsoft.Jet.OLEDB.4.0 provider is not registered
The above message can and will show up using some software using Access databases on 64 bit Windows computers (Seven, Vista, 2008, XP 64..). It happened yesterday to a colleague of mine, and I had to investigate. The puzzling thing is that Jet is registered, and other software using it runs fine. Firing up task manager shows that the problematic .exe is running in 64 bit mode (no *32 suffix). There is no 64 bit Jet driver because it's old software and the 32 bit Jet engine runs fine. Why would one write a 64 bit software to use a nonexistent database driver? Moreover, the same software on a 32 bit system runs flawlessly in 32 bit mode.
What is it? It's most probably .NET executable compiled with the 'AnyCPU' Project options. On a 32 bit system it runs in 32 bit mode and is able to use JET. On a 64 biti it runs in 64 bit mode, but it cannot use the non-existent 64 bit driver. Try this in Visual Studio, if you have it - it requires a single form and a single button:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Configuration;
namespace testaccess
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\\accessfile.mdb;";
OleDbConnection cnn = new OleDbConnection(connectionString);
cnn.Open();
}
}
}
What is it? It's most probably .NET executable compiled with the 'AnyCPU' Project options. On a 32 bit system it runs in 32 bit mode and is able to use JET. On a 64 biti it runs in 64 bit mode, but it cannot use the non-existent 64 bit driver. Try this in Visual Studio, if you have it - it requires a single form and a single button:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Data.OleDb;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Configuration;
namespace testaccess
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
String connectionString = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\\accessfile.mdb;";
OleDbConnection cnn = new OleDbConnection(connectionString);
cnn.Open();
}
}
}
Clicking the button will reproduce the problem on a 64 bit system. Obviously the solution is a recompile, if sources are available. Otherwise, there should be some way to force the executable in 32 bit mode, yeah?
Yeah, but it's not in .exe file properties, it's not something - as it would seem obvious - to put in a .manifest file along other things. It's a bit in the PE executable file. There is a Microsoft utility to do this: it's called CORFLAGS.EXE and to force a .NET executable to run in 32 bit mode it's usede this way:
CORFLAGS /32BIT+ filename.exe
To switch back to 64 bit mode:
CORFLAGS /32BIT- filename.exe
Where is CORFLAGS.EXE ? There doesn't seem to be an official download for the single file: that would be too simple, it's part of the latest SDKs (a few gigs to download). I got mine with Visual Studio, as I installed the .NET sdk. It's in %PROGRAMFILES%\Microsoft SDKs\Windows\v6.0A\bin"
Nota bene: make a backup of the original .exe anyway if it's not your software. Conceivably, using corflags.exe could conflict with some copy protection/activation schemes and render the software unworkable (though it's a bit unlikely).
Monday, 17 January 2011
Daspo Volant Ultras Manent
Il calcio per me è l'oppio dei popoli. I Daspo sono provvedimenti troppo blandi.
Per i writer ci vorrebbero pene corporali, da amministrare sulla pubblica piazza.
Però questo anonimo imbecille che almeno 'sa di latino' strappa un sorriso.
Pilone del ponte di Varlungo, Firenze, gennaio 2011.
Saturday, 15 January 2011
Œdipe Adroit
Why is this man smiling?
In France, he's under attack from almost all sides. His new book, Des gens très bien has been out just a few days ago. Oh, the man is Alexandre Jardin, he's a self-described purveyor - until now - of 'lightweight literature'.
The book is about Jules Jardin, Alexandre's grandfather. Grandpa was a high ranking officer in the cabinet of Pierre Laval, the french collaborationist prime minister. He was at his post when episodes like the roundup of Jews at the Vel d'Hiver took place. Jardin wants to expresshis 'cry of conscience', his 'shame' and his 'slow awakening' to his family responsabilities (at 46 years of age). But the book has stirred up quite a controversy in the Hexagone.
Take for example (pardon their French) 'Le nouvel Observateur', a leftist magazine:
In France, he's under attack from almost all sides. His new book, Des gens très bien has been out just a few days ago. Oh, the man is Alexandre Jardin, he's a self-described purveyor - until now - of 'lightweight literature'.
The book is about Jules Jardin, Alexandre's grandfather. Grandpa was a high ranking officer in the cabinet of Pierre Laval, the french collaborationist prime minister. He was at his post when episodes like the roundup of Jews at the Vel d'Hiver took place. Jardin wants to expresshis 'cry of conscience', his 'shame' and his 'slow awakening' to his family responsabilities (at 46 years of age). But the book has stirred up quite a controversy in the Hexagone.
Take for example (pardon their French) 'Le nouvel Observateur', a leftist magazine:
Or turn slightly to the center with Le Monde:
Le Figaro, France main right-wing daily newspaper, is a bit more explicit:
Basically, Jean Jardin wasn't particularly responsible for the crimes against the Jews, which were obviously perpetrated by others. This controversy is not very different, if not in intensity, from other similar recent controversies about people (especially Catholics like Pope Pius XII) who, in the eyes of some commentators, sinned by omission, not doing everything that they (supposedly) could to stop the massacre.
It's not unlikely that Jardin Jr. will find some other types ready to support him. The Guardian, of all newspapers, has recently published an english translation of Mr. Jardin's response to his critics. It was brought to my attention by, of all people, Nahum, the 'funny yid from London' (did I ever call him this way before? I don't think so) who always reads this blog, He, at least, will be happy to hear Jardin's story.
Alexandre Jardin is of course happier than ever, or at least he's crying all the way to the bank. His book (buy it here, make him happier!) won't sell less copies because of this kind of criticism. It's all kabuki to me, but Jardin could have tried harder.
You can read a brief excerpt (again, in French) of the book here at L'Express.
"Même si, bien sûr, il ne m'a pas échappé que les vrais commanditaires de l'horreur furent avant tout des Allemands : Heinrich, Oberg, Dannecker, Knochen et d'autres. "
"Pourquoi Jean n'a-t-il pas démissionné ce 16 juillet 1942 ?
Sans doute - aussi révoltant cela puisse-t-il paraître - parce qu'il crut faire le bien, selon son code éthique aussi rigoureux qu'éloigné du nôtre ; ou le moindre mal qui lui semblait alors ressortir à une forme atténuée de la grandeur. Génétiquement catholique, il fut ce qu'on appelle une conscience démangée par une morale exigeante. Une sorte de bloc d'innocence qui le rendait d'autant plus dangereux. Rien à voir avec un gestapiste de cinéma ; rien chez lui des claqueurs de talons qui aboyèrent à Vichy des opinions hargneuses. "
"Even if, surely, it did not escape me that the people responsible for the horror where before all some Germans: Heinrich, Oberg, Dannercker, Knochen and others"
"Why Jean didn't quit that July 16th 1942?"
"Without doubt, as revolting as it may seem, because he believed to do good, according to his ethical code, as rigorous as it was far from ours, or to exert the least damage. Something that seemed to attain to an attenuated form of granderu. Genetically cathlic, he was what could be called a conscience itched by an exigent moral. A sort of innocence block that rendered him even more dangerous. Nothing to do with a movie gestapo man, by him there was nothing of the heel-clackers who shouted with their aggressive opinions during Vichy"
Apparently this makes automatically his grandpa
"un acteur capital, sans jamais se renier par la suite, de l'un des plus criminels régimes de l'Histoire de France. Jusqu'à se hisser vers les sommets de la honte d'Etat ;"
"a main protagonist, without ever going back on his opinions , of one of the more criminal regimes in the history of France. Up to elevate himself to the pinnacle of infamy in State'
So he didn't quit, he had his reasons to do so, but he was guilty anyway. But it's useful for grandpa to be guilty, at least for the moment.
I wonder if, 50 o 60 years from now, there wil be stil a market for such a 'guilt lightweight literature'. I don't know: 'My grandpa knew all about the massacre in Gaza and did nothing'. 'My mother supported the Second Gulf War', or more modestly, 'My grandfather thought Sarkozy's pension cuts were a good idea' and so on..
Subscribe to:
Posts (Atom)