Feel like a geek and get yourself Ema Personal Wiki for Android and Windows

12 November 2009

Filezilla and the trash

Filezilla took a lot of time lately after I gave the command to delete a local file or directory. Like ten seconds before the file or directory was deleted. That is really unacceptably slow, so I fired up sysinternals procmon to see what was happening.

Filezilla turned out to be browsing through my trash stuff before deleting the file which I requested to be deleted. There were really a lot of items in the trash, so it is obvious why Filezilla became so slow. I emptied the trash and Filezilla was happy again.

Less obvious is: why is Filezilla browsing through my trashed items? Or is it a system "feature" for which Filezilla cannot be blamed?

04 November 2009

One of the advantage of open source libraries

Today I once again experienced one of the great advantages of using open source libraries over using its closed source equivalents.

For our core library, we make use of several open source components, Nini being one of them. In our case Nini is used to read and write INI files.

Recently we discovered that a problem in one of our product had to do with this library. The library simply "ate" characters behind a double quote if the double quote was part of the setting.
Block1 = Something, "Some caption", 1
The output would be:
Assert.AreEqual("Something, ", getValue("/Blocks/Block1"));
After discovering the Nini library was the cause, we decided we should investigate if we could solve the problem ourselves by creating a patch, since the library is open source. So we downloaded the code and opened it in Visual Studio. After some browsing through the code however, we quickly found a workaround: set the ConsumeAllKeyText property true on the IniReader instance.

With a closed source library, problems like this are as likely to occur as with open source products. The huge advantage of using open source in this case is obvious. If you're using a closed source product, you can only hope and pray for support in case of problems. With open source libraries, you can take things into your own hand.