Archive for June, 2007

Love Over Gold – Dire Straits (1982)

June 29, 2007

Dire Straits never were a three minute single band, but the trend towards longer, elaborate songs reached its peak in their 1982 album, Love Over Gold. This is their most intimist, almost nocturne album. Springsteen‘s influence is still present, but it’s not as evident as in their previous album, Making Movies.

The initial song, “Telegraph Road“, is probably my favourite from this album. It’s the most “Springsteenesque” from a musical point of view, but also in its fourteen minutes of length. “Private Investigations” is more intimate, with Knopfler’s Gibson Chet Atkins, an electrified, solid body classic (!) guitar, in greater evidence. “Industrial Disease” is a complete change of tempo, to the point that it sounds a little out of place. It’s the first instance of Dire Straits’ use of rock’n’roll as a vehicle for ironic themes, which will re-surface in a lighter form in their subsequent “Twisting by the Pool” single. “Love Over Gold” goes back to the themes and atmosphere of the first two songs, while “It never rains” is more of a standard Dire Straits song, both in tempo and melody.

Dire Straits are not my favourite band, but I’m rather fond of this record, if just because I respect the way they did not just try and cash in on Making Movies‘s success. Love Over Gold is definitely worth buying, just possibly not as one’s first taste of Dire Straits music; for that I’d go for their eponymous first album.

Boost.SqlCli’s design goals

June 28, 2007

The goal of Boost.SqlCli is to provide the lowest abstraction layer that may effectively hide the details of the underlying database technology. This choice comes for the observation that there are many possible approaches to a more abstract representation of a database and there is no consensus on a best one. Actually I’m convinced that different applications are best served by different ways of using RDMBS’s.

However, at the lowest level, all these different approaches tend to share a remarkably uniform architecture, whose main elements are connections, statements and result sets. This architecture may be observed in many different existing libraries, such as SOCI, SQLAPI++ and CodeGear‘s VCL, just to mention those I’m most familiar with.

In order to be useful as a building block for higher level solutions Boost.SqlCli should be limited to the minimal feature set that proves to be convenient in performing queries to a database and retrieving the corresponding results. Trying to be too helpful may well result in choices that do not match well with other libraries’ needs.

Last but not least the library should be pleasant to use by competent programmers, but simple enough not to scare beginners away. The ultimate goal is to come up with a design that is worthy of submission to the C++ standard committee.

Whether I’ll be up to fulfilling these goals remains to be seen 🙂

Quote of the day #2

June 28, 2007

“What I like about concepts is that it adds another whole programming language to C++, which already has 3 or 4.”

Scott Meyers

Quoted by Eric Niebler here.

Quote of the day #1

June 27, 2007

“The trouble with C++ is neither the length nor the steepness of its learning curve; it’s the number of rocks that fall on your head while you climb it”

Nicola Musatti

Yes, I just made it up. If it isn’t fortune stuff, I don’t know what is 🙂

Introducing Boost.SqlCli

June 25, 2007

During the last few months I’ve been working on and off on a basic C++ library to interface relational databases. I was inspired by a discussion on the Boost developers’ mailing list and by SOCI, a rather popular library whose programming interface I’m not very fond of. The idea is to define an API that may be considered suitable for inclusion in a future version of the C++ standard and to provide an experimental implementation. My aim is to implement an ODBC backend and possibly also a PostgreSQL one.

SqlCli doesn’t have a home yet; I plan to upload it to the new Boost Sandbox whenever the current discussions on its structure settle to an agreement. Meanwhile you can find a not too old snapshot in the Boost Vault, which also contains all the currently available documentation. Since I put it there very little went on: I mainly gathered a few ideas and many doubts. I plan to post both to this blog, in the hope of gathering useful suggestions 🙂