Monday 28 February 2011

Firebird with .NET - a quick and dirty guide

So, you have received from a client a .FDB database and you have to use it with .NET to, hopefully,  handle adn convert the data. Here’s a possible path to a quick and successful “opening” of the database: these are just my reworked notes on the subject, I have no pretence of completeness, but in my case, this worked.

FDB is the file extension for some versions Firebird. Firebird is an open source sql database: its origins lie in Interbase, a commercial SQL database from Borland. For a while, Borland changed its name to Inprise, one of the many blatant blunders that have brought a once great company to be a shadow of its former self. During this time (about 10 years ago) it looked like Linux was about to take over the world, at leat for a brief time. So Inprise put out an open source version of Interbase. There was only one or two open source releases from Inprise, but the code was taken and indepently developed in an independent open source project – Firebird.

There are, even here in Italy, several business applications using Firebird databases, most often written in Delphi. The advantages against MSDE/SQL Express are questionable, especially nowadays, but they do exist.

 Anyways: the .FDB database is not a backup file like the ones MS SQL dbs are usually shipped in. It’s the actual database file, much like MS SQL Files. It just needs to sit somewhere in a directory and to have a corresponding Firebird server servincing it. You might try, here http://www.firebirdsql.org/index.php?op=files&id=engine_250, Firebird version 2.5. Install it into ‘classic mode’ (‘modern’ version use other filetypes). You don’t need to install it as service. Just run the black and yellow icon, and make sure the same icon appears in the tray area.

Firebird is just a databases server and does not come with a graphical interface like Management Studio Express ‘in the box’. There is a text mode utility, but of course a graphical manager is much better, especially for casual use. There are many 3rd party utilities available: the most advanced freeware option is FlameRobin, available here from sourceforge. Install it, run it after Firebird. To use the FDB database you must ‘attach’. Right click on localhost, select ‘Register Existing Database’. Choose the FDB file and use SYSDBA masterkey as the login account.

This should allow you to run queries over the database, inspect tables etc. Settings are retained after quitting Flamerobin but of course you must always run Firebird first.

To ‘use’ the FDB file programmatically from Visual Studio with ADO.NET you need a Firebird ADO.NET provider. Probably using OleDB or even ODBC will work just as well, but since a freeware provider is available, why not use it?

The right provider can be downloaded here. http://sourceforge.net/projects/firebird/files/firebird-net-provider/2.6.0/ Pay attention, you must download the right version for your version of VS/.NET Framework. (get the 2.0 version for 2005, the 3.5 for 2008 etc. 2.0 in 2008 targeting .NET 2.0 doesn’t seem to work. The files live in %PROGRAMFILES%\FirebirdClient

Create a reference to  FirebirdSql.Data.FirebirdClient.dll, you may put it or not put it in your project folder.

Now, is it possible to add these using directives to your module:

using FirebirdSql.Data.FirebirdClient;
using FirebirdSql.Data.Isql;                

to open a database:

string ConnectionString = "User ID=sysdba;Password=masterkey;" +
               "Database=localhost:C:\\foo\\data\\barbaz.fdb; " +
               "DataSource=localhost;Charset=NONE;";

FbConnection PizzaConnection = new FbConnection(ConnectionString);
            PizzaConnection.Open();

This assuming the fdb file is in c:\foo\data\. To read a forward cursor:

private FbDataReader firebirdadoreader;
FbCommand firebirdcommand =
new FbCommand("SELECT bubba FROM tblBill", PizzaConnection);


firebirdadoreader = firebirdcommand.ExecuteReader();

while (firebirdadoreader.Read()  ) {

Console.WriteLine(firebirdadorreader[“bubba”]);
}

If you have a dataGridView1 Data Grid component on a form and want to fill it with the contents of a Firebird table (tblOthertable):



private System.Data.DataSet dataSet1;

FbDataAdapter firebirddataadapter = new FbDataAdapter("select * from tblOthertable", PizzaConnection);


firebirddataadapter.Fill(dataSet1);
dataGridView1.DataSource = dataSet1.Tables[0];
dataGridView1.Refresh();

You should get the hang of it now…

Scempi


Nei miei ormai non pochi anni di attività lavorativa mi è sempre capitato, con poche eccezioni, di guidare delle Ford. Mondeo, Escort, Focus, Fiesta, in diversi modelli: secondo i boss delle aziende che le hanno acquistate, hanno il miglior rapporto prezzo-prestazioni. Può essere: di sicuro è meglio manutenerle accuratamente. Mi ricordo ad esempio di una delle ultime Escort andata praticamente a fuoco passato Rioveggio (“sì, si era accesa quella spia, ma non pensavo fosse grave…”), oppure di una Mondeo col motore grippato (“Andrea ti ricordi di controllare l’olio?” – “Uh…”) o anche di una Sierra spiaggiata ad Empoli in condizioni simili (“si è quando prendemmo da Carro la Fiestina con l’impianto GPL”).

Con questo, l’altra mattina mi sono trovato a passeggiare per le vie di un’amena cittadina della provincia toscana (dopo un tranquillo tragitto in treno, a bassa emissione di CO2(*)). E mi ritrovo davanti a questo curioso esemplare di devastazione italiota di un’onesto prodotto tedesco-statunitense. Anche con le motorizzazioni più spinte la Focus non inspira certo un che di particolarmente aggressivo:  è una media vettura per famiglie medie, o medi lavoratori itineranti, o comunque medi guidatori.

A che scopo ridurne una, praticamente nuova, in questo modo? Avevo solo la infima fotocamera del telefonino con me: l’immagine catturata non rende veramente giustizia al lavoro fatto, ci vorrebbe una risoluzione più alta. Spoiler posteriore, ‘minigonne’ alle portiere. Paravento al finestrino (per compensare l’aumento di drag aerodinamico di tutte le aggiunte?). Strisce adesive sulla fiancata. Adesivo che simula un prezioso tappo carburante ‘aeronautico’. Placchette fausse prise d’air sul cofano. Il tocco di classe? Gli ugelli in plastica cromata per l’acqua dei tergicristalli.

Certo, si vede di molto peggio: ma generalmente su Fiat 600 anni ’90 giallo canarino, vecchie Punto azzurrine. Utilitarie tout court dove certi interventi suonano - almeno involontariamente – come un pizzico di sana ironia. Oppure sulle incoutournables VW Golf: lo sboronamento dello sboronamento.

Ma una Focus kittata in questo modo? E’ come prendere un qualsiasi travet con moglie, figlio e mutuo a tasso variabile e conciarlo come Cristiano Malgioglio o Renato Zero negli anni ’70.
Una inutile crudeltà.

(*) Il biglietto dice così, ma la motrice era una D.445

Sunday 27 February 2011

Rimpatri dalla Libia


In queste settimane in Libia sta succedendo qualcosa: non si sa bene esattamente cosa ancora, in realtà, ma di fatto sembra un'ennesimo stravolgimento. Con qualche difficoltà più o meno superabile stanno tornando a casa la maggior parte degli italiani che si trovavano a lavorare in Libia: non una grande notizia rispetto alla figura ormai tragicomica del colonnello al-Qadhdhāfī detto Gheddafi, ai governi ribelli spuntati dal nulla, agli attacchi aerei (coi caccia?) sulle moltitudini di manifestanti, alle fosse comuni (documentate in comuni cimiteri)

A me invece torna in mente una storia di giusto una settantina di anni fa. Bengasi. Entrano in città le truppe britanniche. Una  famiglia curiosamente composta è in subbuglio. Il marito, piemontese della Valsesia, è un militare di carriera ma  lavora esclusivamente in ufficio, anche per l'età non proprio giovanissima. La moglie, più giovane, appartiene a una famiglia di commercianti che proviene da una delle zone più meridionali e povere della Sicilia, come molti coloni. Un figlio, già alle elementari, è nato a Bengasi. Da poco, durante un soggiorno in Métropole, la signora ha partorito a 29 anni - da vecchia secondo le sue stesse parole - una bambina.
Visti i compiti non proprio marziali assegnatigli, il neopadre si è convinto che non sarà fatto prigioniero dagli inglesi. Nel frattempo il resto della famigliola si appresta a fuggire precipitosamente in Sicilia con un aeroplano. All'ultimo momento c'è un cambio di velivolo. Fortunato, da una parte, perché il primo apparecchio si inabisserà inesorabilmente pochi minuti dopo il decollo.
Sfortunato perché, d'altra parte, il militare non più giovanissimo verrà dopotutto fatto prigioniero. Portato, come molti altri commilitoni, in India per due anni non avrà nessuna notizia della famiglia se non quella della distruzione dell'aeroplano dove era ancora convinto che si trovasse.
Tornerà dall'India, più morto che vivo, dopo altri quattro anni, in un'Italia senza più quarta sponda, e senza molto altro. Ma almeno con moglie e figli in vita.

Wednesday 23 February 2011

Scalpore per un cacciatore di nazisti.

La stampa italiana, come se in questi giorni ci fosse poco da scrivere, si è buttata a pesce su una notizia riportata da una fonte affidabilissima, la BILD-Zeitung. Per chi non sapesse il tedesco e volesse sapere qualcosa di più ecco una traduzione al volo da un interessante articolo di Die Zeit,  noto giornale scandalistico germanico.

http://www.zeit.de/gesellschaft/zeitgeschehen/2011-02/ns-verbrecher-enthuellung

Scalpore per un cacciatore di nazisti.


Mark Gould si è finto un nazi ed ha documentato con dei video delle conversazioni con un ex-ufficiale delle SS, il 97enne Bernhard Frank. Ma cosa ha veramente scoperto?

"Un ebreo si finge neonazista e prova la colpevolezza di un massacratore delle SS", scrive la BILD-Zeitung. Ma Mark Gould, californiano di 43 anni, non è ebreo; e non lo ha mai sostenuto. Ed il 'massacratore delle SS' Bernhard Frank, di cui ha 'provato la colpevolezza', vive dalla fine della guerra apertamente a Francoforte sul Meno, dove ha scritto diversi libri sul suo passato di ufficiale delle SS ed è apparso in televisione in testimonianze filmate. Non è mai stato associato a crimini di guerra fino adesso e per il momento non deve certo essere designato come 'massacratore'.

Ma ora la procura di Francoforte ha aperto un fascicolo sul novantasettenne sospettato di omicidio. Questo soprattutto per un ordine del 28 luglio 1941 in relazione con l'attacco tedesco contro la Bielorussia "Se la popolazione è inferiore dal punto di vista umano o della razza, (..) bisogna fucilarli tutti" recitava la direttiva che le truppe tedesche in azione in Ucraina dovevano seguire, cita la Bild.

Secondo quanto descritto Gould per 4 anni si è finto un simpatizzante nazista, per guadagnarsi la fiducia di Frank. Ha documentato con dei video alcune conversazioni col novantasettenne, in parte in tedesco, in parte in inglese. Con questultimo Frank si mostra visibilmente in difficoltà. L'ex tenente colonnello parla tra l'altro della sua relazione, stretta secondo alcuni, con Heinrich Himmler, il capo supremo delle SS.

La Bild stilizza Frank sulla base delle ricerche di Gould come una figura chiave della storia del III Reich, finora sconosciuta in 66 anni dalla fine della guerra. "L'ordine speciale firmato da Frank" sarebbe la prima prova scritta conosciuta che dimostri che dall'ideologia razzista e antisemita del NSDAP derivi  l'eliminazione fisica. Che si siano verificati questi massacri, sebbene l'organizzazione dell'Olocausto fu delineata per la prima volta con la conferenza di Wannsee del 20 gennaio 1942, è però noto da tempo.

Gould mostra l'ordine sotto forma di una copia di cattiva qualità solo per poco di fronte alla telecamera. Più tardi appare ancora una volta l'ultima pagina dell'ordine, dove si può osservare la firma di Frank, con l'aggiunta "f.d.R.", für die Richtigkeit, "per conformità". A destra si osserva scritto a macchina "gez. H. Himmler" (firmato H. Himmler). Frank aggiunge, "è un ordine di Himmler, che io ho confermato... l'ho solo confermato."

Gould ha documentato online due altri documenti con la firma di Frank. Uno è un rapporto sui risultati dell'operazione paludi di Pripjet, che come 'risultato complessivo' da 10.142; si intende chiaramente i civili assassinati nelle paludi bielorusse, perlopiù ebrei. Il firmatario è un HSSUPD (Höherer SS- und Polizeführer Witte). Frank, essendo uno dei destinatari, ha vidimato con la sua firma l'inizio del telegramma.

Un altro dei documenti messi online da Gould è un'istanza relativa una missione delle Waffen-SS per la fucilazione di '800 prigionieri civili'. Gould sostiene su internet che Frank, che anche qui ha firmato con 'f.d.R.', ha dato il nulla osta a questa fucilazione. E' però discutibile che Frank, che all'epoca dell'ordina aveva solo il grado di capitano, ne avesse davvero l'autorità.

In realtà il pubblico ministero di Francoforte ha iniziato le indagini sulla base di documenti che a dicembre sono stati forniti anonimamente all'ufficio centrale per le indagini sui crimini nazisti di Ludwigsburg. E' ignoto se sia Gould l'anonimo mittente del materiale compromettente. Da lì è partito direttamente il materiale - un hard disk e 5 CD-ROM con dati, molto più di quanto pubblicato da Gould online - per la competente procura.

Lo smascheramento di Mark Gould ha già fatto scalpore a dicembre sui media israeliani e britannici. E' interessante che il californiano di 43 anni sia descritto dalla Bild come uno "storico" e dal New York Times come "College-dropout" - studente che abbandonato gli studi. Gould avrebbe speso parte del suo patrimonio accumulato con speculazioni di borsa in cimeli nazisti e si sarebbe messo per questo sulle tracce di Frank, che come ultimo responsabile della difesa dell'Obersalzberg, la residenza alpina di Hitler, pose Goering, capo della Luftwaffe, agli arresti domiciliari durante l'ultima fase della guerra.

Il  New York Times sostiene che Gould pensando al pubblico, vorrebbe scrive un libro e vendere i diritti cinematografici della sua storia. Anche Efraim Zuroff del Centro Wiesenthal a Gerusalemme, un cacciatore di nazisti certificato, dubita sul Guardian, il quotidiano britanncio, sui motivi dello 'smascheratore'.

Gould ha intentato negli USA insieme a parenti ebrei del suo padre adottivo una causa civile contro Frank, per ottenere un risarcimento danni per il danno subito dai loro ascedenti. Non ha sporto denunce in Germania.


Gli investigatori della procura di Wiesbaden controlleranno dapprima negli archivi militari dove si trovava Frank e in quale periodo durante la guerra, come ha detto Moeller-Scheu. Per questo ci vorranno alcune settimane. Solo dopo le autorità si metteranno in contatto con Frank.

Sunday 20 February 2011

M-Audio Fast Track Pro unboxing

Just what you needed, another M-Audio Fast Track Pro video, but what the heck...

Monday 14 February 2011

Gear Review: Asus VH242H

few weeks ago I bought a new monitor. It's an Asus VH242H: 24 inches, 16:9  full hd, with speakers. Here's a quick 'unboxing' video I made at the time. The screen can be had for a couple hundred euros, and it's a thouroghly honest product, for the price. It delivers a decent picture both for general computer work and for viewing videos and BDs. It has all the necessary connections (HDMI, only one connector, DVI, VGA, 3.5mm audio, 3.5 mm headphones, coaxial SPDIF). The stand is fully tiltable. The built-in amplification is of minimal quality, get a pair of good audio monitor if you want to listen to music and videos. There's a 'splendid video' option, nothing more than a tweak on gamma correction/color temperature, as usual. All cables are included, except HDMI (and SPDIF). The screen has, thank God, an antiglare coating. The frame has a reflective finish, instead, but it's passable. A good feature/price ratio: there is really no reason to use less than a 24 inch monitor nowadays. The extra screen space and the size are really good for today's application. In the future I'd like to add a 19'' 1280x1024 monitor to use when debugging or when using Photoshop, though.

Sunday 13 February 2011

YT content detection


The other day I posted this video on my YT channel. Basically because at the time I couldn't think of anything better to do. It's a rather insignificant video of a cold winter morning in Trento. To make up for a soundtrack I went to my stack of music sheets and looked for the first song with 'morning' in the title. I came up with a few beats for the old standard 'Carolina in the Morning', fired up a 'Jazz Ballad' style on my PX-320 and switched on the webcam microphone for an extremely quick and dirty bad recording of an improptu bad rendition of the melody of that old standard.

Now, look in the video suggestion for my masterpiece: currently there's a "Carolina in the morning" sung by, of all people, Judy Garland. Ok, melody detection algorithms aren't exactly something like a software holy grail, but the guys at YT/BigG surely seem to have one working algorithm.

Primo Emendamento

Se cercate un'introduzione semplice e comprensibile alla storia del conflitto arabo-israeliano, una buona scelta potrebbe essere Palestine Peace Not Apartheid di Jimmy Carter. Premio Nobel per la Pace e (nella mia umile opinione) ultimo presidente USA davvero dignitoso. E' un libro di un paio di centinaia di pagine scritto molto chiaramente. L'unico problema è che bisogna conoscere l'inglese - nonostante sia stato un best seller negli USA non è mai stato tradotto in italiano. Comunque grazie ad Amazon è disponibile rapidamente  per pochi spiccioli anche in Italia.

Quando uscì, 4 anni fa, il libro provocò non poche polemiche. Leggete ora sul Whasington Post cosa succede ancora, dopo tutto questo tempo (originale qui).

Il presidente Carter è stato querelato per 5 milioni di dollari per il suo libro sulla Palestina.


di Stephen Lowman


Più di 4 anni dalla sua pubblicazione, cinque lettori irritati hanno presentato una class-action contro il presidente Jimmy Carter e il suo editore, Simon & Schuster, sostenendo che il suo saggio del 2006, "Palestine Peace Not Apartheid" contiene "numerose affermazioni false e coscientemente fuorvianti, intese a promovuere la propaganda anti-israeliana dell'autore e ad ingannare il pubblico dei lettori, invece di presentare affermazioni accurate, come pubblicizzato".


I 5 querelanti stanno cercando di ottenere almeno 5 milioni di danni. L'edizione rilegata costa 27 dollari.


La querela accusa Carter e il suo editore di violare la legge per la protezione del consumatore dello stato di New York perché si è impegnato in "pratiche ingannevoli nello svolgimento della propria attività commerciale", e afferma che ha cercato profitti promuovendo il libro come un "saggio".


In un comunicato stampa uno degli avvocati, Nitsana Darshan-Leitner, ha sostenuto: "La causa esporrà tutte le falsità e i travisamenti del libro di Carter e proverà che il suo odio per Israele lo ha portato a frodare il pubblico. Ha diritto alle proprie opinioni, ma inganni e menzogne non devono trovarsi nei libri di storia".


Adam Rothberg, un portavoce della Simon & Schuster, ha dichiarato al Washington Post: "Questa querela è temeraria e priva di fondamento. Un evidente tentativo dei querelanti, a dispetto delle loro affermazioni, di punire l'autore, vincitore di un Nobel e statista di fama mondiale, insieme al suo editore, per aver scritto e pubblicato un volume con il quale semplicemente essi non sono d'accordo. E' un raggelante attacco alla libertà di espressione che intendiamo difendere con ogni mezzo".


La portavoce di Carter non ha risposto immediatamente alle nostre richieste di commenti.

Sin dall'inzio il libro di Carter è stato accusato di parzialità, in certi ambienti.Per esempio, nella sua recensione sul Whasington Post, Jeffey Golberg ha scritto:



"Palestine Peace Not Apartheid è venduto come un saggio di storia, ma un libro onesto direbbe che le ragioni per le quali il conflitto continua a imputridirsi non sono da imputare solo agli insediamenti ma dovrebbero essere cercate anche nel ruolo sostanziale tenuto dal fatto che gli Arabi che circondano Israele hanno iniziato numerose guerre contro di esso, con lo scopo di terminarne l'esistenza."


La querela, Unterberg et al v. Jimmy Carter et al. è stata presentata ierie nel Distretto Sud di New York. Gli avvocati sostengono che è la prima volta che un presidente e il suo editore sono stati querelati per aver violato la legge per la protezione del consumatore.


Una copia della querela si trova qui.


di Stephen Lowman - 2 Febbraio 2011

ZCS global password reset.

Why, why ZCS has to keep practically EVERYTHING, except mailbox messages, in a LDAP directory. Which is implemented with quarter-of-century old Berkeley DB files. Why don't ZCS administrators implement at least a simple backup scheme. Why don't ZCS box owners   buy larger drives and let their mail system die of lack of disk space. Why is it always me who has to fix all the resulting mess.

But anyway, do you need a script to reset all your accounts to a temporary password and to impose change at next login? With ZCS, of course. Look no further.


#!/usr/local/bin/perl
while(<>)
{
$a = $_;
chop($a);
print "zmprov sp $a  YouTempPass\n";
print "zmprov ma $a zimbraPasswordMustChange TRUE\n";
}



Save to whatever.pl, then, as the zimbra user, do something like:

zmprov -l gaa your.mail.domain | perl whatever.pl | sh


Hee-hah!


Il più giovane ex presidente di provincia che dimostra peggio i suoi anni

L'ineffabile sindaco di Firenze è impegnato a promuovere il suo nuovo instant book (su FB ha annunciato una mattina che si è svegliato alle 4 di domenica per terminarlo, wow..). L'impostazione della copertina è (fosse solo quella) berlusconiana. Dal nome scritto a caratteri cubitali alla foto che vorrebbe essre ammiccante. Peccato che la faccia di Renzi cominci un po' a cadere: ha 36 anni ma qui ne dimostra 45. Sembrano essersene accorti anche i fan osannanti della pagina di FB all'uopo rinominata 'matteorenziufficiale'. Peccato che sembrano essere più preoccupati della foto che della sempre più probabile cassazione della linea 3 della Tramvia.

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.