Sunday, February 27, 2011

buying E-books: thousands reasons against DRM

I have a great device that makes my life easy and colorful (well gray is a color, isn't it ?) - BeBook Neo.
I decided to read some new books bought in polish e-store.  It should be easy ? It was not:
  1. The book have a DRM. 
  2. I am using Linux.
If you sum-up these two you can end up in hell. First, to read content which is protected you need to have an Adobe Digital Edition. As, usual there is no version for Linux. But browsing net you can find out that it should run smoothly on wine. Well, thats true as long as you are not using cross over. On cross over you can install it but the software crashes just after clicking acceptance button in ADE. After some time I have managed to install ADE using standard wine for ubuntu. Great ? Not, really.

But there is at least some progress. I am  able to download the book I've paid for. Well, I am EVEN able to read it on my linux machine. To transfer the book to my BeBook I should just plug it in and authorize with my Adobe ID. Let's try it ... result ... nothing. Maybe it works smoothly on Windows or Mac, my device is not discovered by ADE so there is no chance to transfer the book. Another try. On a BeBook site you can read that to read DRM content the newest firmware is needed. Downloading...Copying...Restarting... Reconnecting... and ... no change. 

So why not to just get rid of DRM ? If you're interested how to do so, you can google for the answers or just jump there. There was slight modification needed in my case. 
  1. To run the ineptkey.pyw I had to use windows version of the Python and PyCrypto lib.
  2. To get rid of the DRM I needed to run the cli version of the ineptepub.pyw script using linux version of python (with windows version there was an access error : IOError: [Errno 13] Permission denied)
To sum-up I have spent thousands of seconds to be able to read my book on my eBook device.  I don't want to install Windows only to be able to read my books. But thanks to Adobe great ideas I almost have to do so. 

If you know any easier way to read your books on BeBook I would like to hear from you. 

Monday, February 21, 2011

CNF goes RAP.

I am glad to announce that Common Navigation Framework is ported to RAP. Thanks to the effort of CNF it was not so difficult.
There is a lot publish on CNF, so if you want to know how to start with CNF you can go here or there.
Framework is really useful and now ready to be used in webapps.

Anyway I decided to show a short example. So here it is.

There are two content providers that contribute to the tree. One providing a real nodes, second providing "virtual" ones. To put CNF online and still keep it single-sourced is good to separate the RAP application logic from the view contribution.

Then our contribution navigations should be marked optional (org.eclipse.ui, org.eclipse.ui.navigator, org.eclipse.ui.rap, and org.eclipse.rap.ui.navigator).  The dependency is resolved at the run-time for both RAP and RCP configuration.

This example can be downloaded as zip archive which contains two bundles and starting configuration
The starters for RAP and RCP configurations are attached in the examples.
Oh... And the last important thing:

The CNF port project page is maintained at Eclipse Wiki.
So you can find a link to CVS sources there :)