Skip to content

eKitaab

For a long time i wanted to write a small application which will help me to organize my large archive of electronic books. I wish I could edit file names of my books the same way I edit and organize my music files.

I thought about several options and even wrote small code snippets trying different approaches, but unfortunately almost all of public book’s information APIs sucks, each one differently. The most promising and most annoying effort was to write a wrapper around ISBNDB.com service.
I guess they are not interested in promoting their site and service, otherwise why make users like me suffer?

Yesterday I cleaned up several Gb of junk from my home PC and I discovered a small Java application in downloads directory. It is
called eKitaab and you can find it here. Apparently I never tried it and it laid forgotten for months. Imaging how surprised I was when It did exactly what I was looking for so long. It is like MP3 tags editor which allows you to rename your file according specific format and correct names according to information from online services.

Pros :

  1. Works with large amount of files
  2. Renames files according to information retrieved from Amazon web service.
  3. Allows tagging ( instead of folders) similar to gmail labels (I.M.H.O killer feature)
  4. Supports reading lists

Cons:

  1. Has a very sever bug - adds ‘#’ sign as part of file name, thus renamed chm files will not be readable.
  2. It is java application, i.e. not native look & feel, slow and takes days to start
  3. Requires latest java version, but does not have java web start ( can save dependencies problems)
  4. Checks for latest version, but not smart enough to update itself

Conclusion:
Yes it is buggy and looks non-professional, but it is the best option available. It is free and open source. Bottom line - it does what it intended to do. It’s worth giving a try.

I wish a good luck to developers of this application, I event could have spent some time debugging and fixing things if it were .net application.

Good Omens

Good Omens is a great book, which I am reading right now. I feel that this book is definitely the best book I read in the last five years. I would like to recommend it to anybody who relishes the funny and elegant style of Terry. Pratchett.

I quote from Amazon:

When a scatterbrained Satanist nun goofs up a baby-switching scheme and delivers the infant Antichrist to the wrong couple, it’s just the beginning of the comic errors in the divine plan for Armageddon which this fast-paced novel by two British writers zanily details. Aziraphale, an angel who doubles as a rare-book dealer, and Crowley, a demon friend who’s assigned to the same territory, like life on Earth too much to allow the long-planned war between Heaven and Hell to happen. They set out to find the Antichrist and avert Armageddon, on the way encountering the last living descendant of Agnes Nutter, Anathema, who’s been deciphering accurate prophecies of the world’s doom but is unaware she’s living in the same town as the Antichrist, now a thoroughly human and normal 11-year-old named Adam. As the appointed day and hour approach, Aziraphale and Crowley blunder through seas of fire and rains of fish, and come across a misguided witch hunter, a middle-aged fortune teller and the Four Horsepersons of the Apocalypse. It’s up to Adam in the neatly tied end, as his humanity prevails over the Divine Plan and earthly bungling. Some humor is strictly British, but most will appeal even to Americans “and other aliens.” Literary Guild alternate.

WPF data bindings : Binding to Nested Class

Today I come across interesting data binding situation. I wanted to display a ListBox control binded to all possible values of specific enum. The challenging part was the fact that enum was defined inside static dictionary class. Apparently, you shall use the plus + sign in order to achieve the required result.

1 namespace DataBindings 2 { 3 public static class Terms 4 { 5 public enum MyColor 6 { 7 Red, 8 Green, 9 Blue 10 } ; 11 }12 }

And the xaml is listed bellow. Please notice the plus sign in the line 13:

1 <Window x:Class="WpfDataBindings.MainWindow" 2 xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation" 3 xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" 4 Height="100" Width="150" 5 xmlns:myns="clr-namespace:DataBindings" 6 xmlns:sys="clr-namespace:System;assembly=mscorlib" 7 > 8 <Window.Resources> 9 <ObjectDataProvider MethodName="GetValues" 10 ObjectType="{x:Type sys:Enum}" 11 x:Key="MyColor">12 <ObjectDataProvider.MethodParameters>13 <x:Type TypeName="myns:Terms+MyColor" />14 </ObjectDataProvider.MethodParameters>15 </ObjectDataProvider>16 </Window.Resources>17 <Grid>18 <ListBox 19 ItemsSource="{Binding Source={StaticResource MyColor}}"20 />21 </Grid>22 </Window

My first post

Hi, my name is Michael Pavlovsky and this is my first public post. I hesitated for a long time: to make public posts or to continue private publishing. Eventually I decided to stop worry and start posting.