Sunday, September 13, 2009

Found a remarkable piece in The C++ Standard Library of Nicolai M. Josuttis (very useful book, by the way) in the beginning of the chapter dedicated to valarrays:
The valarray classes were not designed very well. In fact, nobody tried to determine whether the final specification worked. This happened because nobody felt "responsible" for these classes. The people who introduced valarrays to the C++ standard library left the committee a long time before the standard was finished. For example, to use valarrays, you often need some inconvenient and time-consuming type conversions...
How many bells did it ring to you, dear software development experts? And we are talking about C++ standard here :) (More revelations about design flaws and omissions could be found in the chapters about the other Standard C++ library components, - bitsets,for example).

By the way, the book has been written 10 years ago and it's still relevant because not many things have changed there. The work to introduce a better C++ standard is going anything but quick.

This probably explains, at least partially, at least to me, why younger folks are turning to the other languages (I mean Java-based crowd) which are largely feedback-driven, with the ability to adapt and/or evolve quickly, and which don't have a gloomy committee overseeing the Grand Design in the authoritative way...

Thursday, September 03, 2009

Confessions of a newbie ereader user

It is 2 days now since I have received my first ereader device. This one. Cybook OPUS. I have spent quite some time of these 2 days trying to come to terms with this thing... probably it's good time to put all this experience together, until it's safely forgotten / moved into the realm of the unconscious.

What do I like about the toy? (In no particular order)

1. It is cheap. 250 euro is not that much.
2. The screen quality is not bad at all. 200 dpi, 800x600. And the eyes don't get tired because there is no backlight. Just like a book.
3. It has 1 GB of internal memory. Wow!
4. The connection with the PC is not too painful. When the device is connected with USB cable, it is seen as an extra storage (even Vista doesn't mind, although it keeps prompting that it might be necessary to scan/fix it every time I connect the device ;) ). Putting files on it and getting files from it does not seem to be a problem.
5. They give away the source code under GPL. Seems to be a nice move.
6. The device has native PDF support.
7. Accelerometer, which allows to reorient text automatically when you turn the screen. There are issues though.
8. You can have any amount of books "open". When you "open" a book the next time, it will be the last page you have read. Nice!
9. There is out-of-the box support for 20 languages, including Russian. That also means one can have the UI in any of those languages. And the directory names. And the file names. Nice! Apart from that, Bookeen (the producer) claims that Chinese, Korean etc can be available for text files once you put the proper font into /Fonts directory but I haven't checked. Besides, there seem to be an issue with text files... now, is it time for booes? Yes, it is.

What I do not like that much? (In no particular order either).

1. The screen size. 3x4 inch is a bit too small for PDF's. Well, not _extremely_ small as you can have 70% of original size (not without some tricks, though, if the original article has side margins), but I would prefer to have 80% instead. But then, I am highly miopic and it feels even with lenses, so may be those who don't have problems with eyes would not really mind.
2. Bug #1. It doesn't recognize UTF8 text files. As simple as that. I have tried to read a Russian text file saved as UTF8 and Cybook thinks it's ASCII. I have tried UTF16 format too, same result. How did they check that they can read text files in other languages? Which encoding they used? I wish I knew. Definitely not these I've mentioned.
3. Bug #2, discovered today. If you switch accelerometer off, use the device for a while, then switch it on again and quickly turn the device upside down, the thing stucks. It stucked so profoundly that RESET (hidden under the battery cover) didn't help. The only thing that helped was to disconnect the whole battery and connect it again (the image on screen still appeared frozen, but after I switched the device ON, it obeyed).
4. Speaking about PDF scaling, why keep the left margin on scaled down PDF's? I have solved this problem - removing the margin from a PDF I just wanted to read - (it was this one, which is a bit above my humble understanding abilities, but still seems to be as interesting as a fairy tale in the language I pretent to know;)) via GSview (you can get one from here if you didn't know it already). This resulted in zooming to 70% instead of 56% which I could achieve using the device own option "adjust to the width". Believe me, it does feel as an improvement.
5. EPUB files are read just fine. Unfortunately, there are not really many formats the device can understand: PDF, EPUB, TXT and that is all. (They claim they can read HTML, I didn't succeed with that, may be my HTML files were not created the right way? From the other side, EPUB is nothing more than a zipped XML + CSS...) What about DJVU, FB2, PRC and other pocket reader formats?.. (BeBook can read all of these, by the way, and is a tad larger with its 6-inch screen; I am considering buying it too as I am not the one in our family who likes reading...) I will say a bit about conversion options later.
6. The file names in the browser seem to come from the internal properties of the file (for a PDF, it will be "Title"). Noticed issue: if you replace a PDF file on the device with another one having the same name, the device will show the "name" corresponding to the"Title" of the previous file. Apparently it never gets deleted somehow...

All said, the biggest problem, for me, is the screen size. Why are most ereaders released in Europe so small? Even 6 inch is not that much. There is IREX with 8.1-inch screen but it costs 2 times more!

A couple of tricks & more whining:

1. About conversion. I have tried Calibre, wanted to create a ePUB from an FB2 file. Dont do that. At least, don't do that if you have a non-ASCII file (French, German and Swedish people don't think it will not affect you with all your diacritical signs :) ) The thing is, if you have a file with Unicode characters, you are supposed to have Unicode fonts. And these fonts have to be embedded into ePUB file. Calibre either doesn't do that, or I don't know how to switch it on. Besides, it produces rather messed-up xml.
2. The best solution I have found for fb2 conversion: Google conversion tools. They also have doc and rtf to ePUB converters there, but I haven't tried them yet.
3. For the text files, here is an interesting link: .
4. For the djvu, the way to convert seem to be via one of the free PDF printing utilities: FreePDF or doPDF. Then you can print your file and specify one of those as the printing destination. As a result, PDF file will be created; quality is more or less OK but the pages with pictures might be blurred when seen in smaller size, and the resulting PDF will be bigger than the one produced with Acrobat itself.

A really crazy wish!

I wish somebody would be brave enough to release a eReader combined with a multilanguage dictionary.

Now, it's probably not all, but I am tired :) Hope it was not all competely in vain, and thanks to the people who responded to my tweets regarding the matter!