Self hosted now

Due to limitations of free blogs (no code coloring, analytics, etc) I’ve moved to self hosted blog at


QSqlDatabase ODBC connection to MS SQL Express 2005

In last post I’ve written a recipe how to connect from Linux to Microsoft SQL Server Express using ODBC. Now, since I’m using Qt framework for app portability, it is the time to do the same on Windows.

Read more

Linux ODBC connection to MS SQL on Virtual Box Windows

From some time I was looking for a way to develop MS SQL connected application on Linux. I want to create a bridge between two applications and one of them stores data in Microsoft SQL. Since Kubuntu Linux is my development platform of choice I needed a way to be able to connect to the database from my system.

There are several obstacles to overcome, of which the most annoying is that you can’t put MS SQL on Linux directly. There might be a dozen solutions to this (like having an additional Windows/MS SQL server) I prefer to keep all the needed things on my dev box.

Since I have Windows 7 RC downloaded and there’s a free download of Microsoft SQL Server Express 2005 I decided to put Virtual Box to hard work for me.

Read more…

Redmine and Passenger on Dreamhost

A few months ago I’ve updated and recreated my Redmine install to latest version. Currently I’m always running on the edge version.

However after update I was constantly receiving a 404, “no route to index.html” error… Continue reading

Git as a branch container and Visual Studio

One of the features, that differentiates Git from other DSCM like Bazaar and non-distributed SCM like Subversion, is that it holds all of your branches within .git repository that’s in your working copy directory.

Some of devs consider it a disadvantage: you get main development line and all of the branches in one working copy; others as an advantage – since you get all the repository in one directory.
Continue reading

Git: private repositories on shared hosting

“You are a developer, software engineer, web designer, text writer… You want your files accessible from all the places (like a source for your project or a template for a website) – and you want to be sure that it is always the most up to date version…

Sure you can drag those files along on a USB stick and copy it forth and back. You have those files even if there’s no Internet access. Important? Sure but…”

Remember this? I have written very similar article on using Bazaar-NG for private repositories on shared hosting. It is time to make the same with git – which is becoming very popular due to its robustness and support from Linus and kernel devs themselves.

With MinGW Git port (no need for Cygwin!) coming to the light – git now looks as a great alternative to both Subversion and Bazaar.

Update:  With latest release a preliminary support for git-svn has been brought!

Let’s get things started.

Continue reading

On SATA/PATA, libata and JMicron controllers

This might be useful for all of you oldtimers 🙂

I had an IDE HDD and IDE DVD drives connected on one stripe. The HDD was in the middle and the DVD was at the end of the cable due to “internal architecture” in my computer case. Again HDD was selected as a master and DVD as a slave using switches on the drives. Just like you’d do this in the old, <=UDMA33, times.

Everything went smoothly until I’ve upgraded my motherboard (+ CPU + RAM) to Asus P5B-V like six months ago. I’ve connected both drives to the single available IDE slot without changing their config.

Lately I’ve noticed “host 80-wire cable detection failed” messages in my logs (kernel 2.6.23) and wanted to switch completely to libata — as I have also bought a new SATA drive.

To my disappointment the pata_jmicron kernel libata/pata driver was only detecting the DVD. HDD went into driver oblivion.

Googling around showed that some people have similar problem – but it was about pata_jmicron not detecting their IDE DVD/CD drives; no one mentioned a problem when only one of the drives was not detected.

So I asked the LKML list about the pata_jmicron. Together we came to a solution (thanks!):

The ATA66 standard (80-wire cables) always considers the last drive on the cable as master. You can change it with switches and it will work… with old ATA driver. This is not the case with new libata. It conforms to the standard.

Conclusion: with ATA66 always use cable-select.

After changing drives configs to cable-select (I now boot off SATA drive) everything works perfectly. Goodbye ATA, welcome libata!