Archives for September, 2010

14
Sep

Kindle 3 – after some time

When I was writing my “first day review” about Kindle 3, I promised to get back with some experience after more days of using. Well, here it is. Two weeks of usage.

My initial worries about space where to place thumbs was false, kind of. I developed new way to grab Kindle, because it’s smaller and lighter and because the place together with buttons isn’t large. Not an issue anymore.

Mentioning the buttons, previous and next page buttons to be precise. As I wrote, the buttons are around the edge of device, so when you press one, it goes little bit of the device on the bottom. And you can also press it by grabbing Kindle on both edges. But I simple untaught myself grabbing it that way ;) , not a big deal. And feeling the button from the bottom? No problem, I got used to it. The buttons are smaller, so now I’m pressing these by tip of my finger, not whole finger as I was. I think it’s just a different way for different model. Both moves are equal for me.

After two weeks of usage I don’t have enough samples to judge the battery life. But from the way the battery icon looses it’s fill I’m sure it’s not worse than the previous one. My guess is, with 3G and/or WiFi turned on and occasionally using these plus heavily using the device for reading, it would take roughly two weeks to get fully out of juice. With all networks turned off (and using it of course ;) ), probably about a month, similarly to previous model (which I can confirm). From my experience with previous model these numbers are more than good to forgot to charge it before you leave for business trip (and of course forgetting cable). :) Good enough for me.

The new Kindle still outruns the old one very. So far I didn’t find any problem that would make me regretting the buy. I would still recommend it to anyone who loves to read. And a recently discovered way to get documents into it for free without having to plug it in using cable, it’s my primary device for all content I read that takes more than minute or two to read.

14
Sep

Přednáška Open Data Protocol (OData) – WUG Brno

Znáte OData nebo dlouze Open Data Protocol? Ať tak či tak, pokud se chcete dozvědět více, můžete přijít na mou přednášku na WUGu [akce.altairis.cz] 21.9.2010 (úterý).

12
Sep

Sending documents wirelessly to Kindle for free

Today I accidentally discovered the way to send documents into Kindle for free. It’s pretty easy.

  1. Optionally set your charge limit in your Amazon account to 0.
  2. Send your documents to <your selected name>@kindle.com (if your charge limit is 0) or <your selected name>@free.kindle.com.
  3. Optionally you’ll get notice in your Kindle (as well via email) that the limit was exceeded, delete it.
  4. Connect to WiFi network (if you’re not already) and in a couple of seconds your documents will be downloaded through this connection.

I think is probably described somewhere, but who has time to read manuals, isn’t it? ;)

10
Sep

Multigenerational architecture (in databases) and immutable structures (from functional programming)

I’ve just realized something interesting.

Right now we’re kind of experiencing the renaissance of functional programming and some (well many) functional concepts are heading into mainstream programming languages.

One of the important concepts in functional programming is, that everything is immutable, hence if you want to change it, you need to create new item with new value(s). Consequently this is very good for parallel programming, as when nothing can change implies there’s no shared state.

And one of the segments, where parallel programming is used heavily is database systems. This brings me to my point. You know MGA/MVCC is used in Firebird, but only in it, also with some modifications in Oracle Database, MS SQL Server, Postgres, …, in fact many todays modern RDBMSs. But the concept of MGA is actually idea of using immutable data structures. Yes, it uses some additional concepts to fully support ACID and scale well in some particular cases etc., but the core idea is same.

Isn’t it nice? Sometimes you know two things and then suddenly you realize both are based on same idea and are basically same. Connecting dots…

8
Sep

Identification of Kindle browser

New Kindle 3 has also new browser. It’s based on WebKit and I have to say, it’s noticeably better than the previous one. The browsing, if the page is focused on text, is really pleasant.

However if you’re webmaster or simply some website owner you might be wondering how the browser in Kindle identifies itself when accessing your page. Probably because you may consider showing mobile version of your site or you just wanna know how many visitors are accessing your page from Kindle.

Well, it’s:

Mozilla/5.0 (Linux; U; en-US) AppleWebKit/528.5+ (KHTML, like Gecko, Safari/528.5+) Version/4.0 Kindle/3.0 (screen 600x800; rotate)

with current latest firmware (515460094). Exactly same identification is sent when the screen is in landscape mode.

6
Sep

Seamless support for Boolean and GUID datatypes in Firebird and Entity Framework

It may came as a shock but Firebird does not have direct support for neither bools nor guids. On the other hand people around Firebird are smart and came with more or less standard solutions for both. The bool is easy, just use number with constraint to 0 or 1. For guid we (ab)use special character set available in engine. It’s called OCTETS and it’s exactly what you think it is. Just a bunch of binary data, without any other interpretation from engine. That means CHAR(16) and the above character set is a perfect match for storing (not only) guids.

On the other side, where .NET Framework and Entity Framework lives, the bool and guid datatypes are core part of both frameworks. This created a small mismatch or better to say inconvenience. It wasn’t showstopper but working with (or actually without) it wasn’t pleasure either.

But this is over, since today, I used similar trick we used for “identity” columns and added two new special keyword (if I can call it like that). #BOOL# and #GUID#. When you use these (we’re looking for these in whole comment, so you can place it anywhere you want), your model will contain properties with accordant types. (Note, we’re not doing any checks whether your underlying datatype is compatible, it’s up to you.) Similarly the internals of Entity Framework support were improved to handle these changes correctly (as well as Model First support).

If you wanna try it, grab it from SVN or weekly builds and enjoy. And report any problems you encounter, of course.

1
Sep

Kindle 3rd edition (3G, WiFi) – first sight review

Last (almost) day I was playing with new Kindle 3rd generation and I’ll share my initial thoughts. I’ll came with more detailed observations later (i.e. battery life).

Let’s start with pictures. Kindle 3rd generation compared to Kindle 2nd generation.

The new Kindle is smaller and lighter (you can’t get that from the picture :) ). Exact dimensions at Amazon page. Important is you feel it’s smaller and it looks good. Partially also because it’s graphite and the old one was white. What I was worried about is the smaller space on left and right side of display, where I place my thumb while reading. Now it’s just to place it there and not press the button(s). The back is not some metal alloy but it’s plastic (good for weight) and covered with some antiskid layer. And it really works, at least from what I can judge from one day using.

Talking about buttons etc. you may notice the numbers are gone, you have to use “SYM” key to type numbers or Alt+top row keys, (to make the device even smaller) and keyboard contains home, back, menu buttons and 5-way key. On previous Kindle I typed only couple of characters I don’t think I’ll notice at all. Previous page as well as next page buttons are on both sides and are smaller. When I first time saw the pictures I had doubts about it (together with above mentioned smaller place for thumbs). To press the button, I need to focus more (maybe because I’m used to old ones), partly because it’s smaller and partly because the button isn’t pressed directly down but slightly down and left/right (on left side left, on right side right). Also if you grab Kindle on sides you may accidentally press the button, as happened couple of times to me. Taking into account turning pages and holding Kindle is what I do most, this could be serious drawback. Or maybe it’s just a question of getting used to it. I’ll definitely report back after some time.

While pressing buttons you’ll notice faster responses. Speed of old one wasn’t bad, but the new one is better. Waking it up, opening book etc. every move is faster. Some more some less, but every little counts.

If you look at image above, you can see the difference between displays. The new has better contrast. (For PDFs you can set it up.) I had no problems reading on old one, no eye glare etc. But it was not black on white. New one is better. Letters are darker, close to pure black and the background, I think, is slightly lighter (If it’s not an optical illusion caused by darker letters. I did not make any exact measurements.). Less work for my eyes isn’t bad at all. :)

The new Kindle has also new browser based on WebKit. With non-restricted browsing even outside USA it’s a useful improvement. I checked only couple of pages (including homepage of my blog) and everything renders quickly, looking same as using desktop browsers (including JavaScript rendered pieces). With this browser I’ll read more articles on Kindle than previously, I feel it.

The WiFi, new feature in 3rd generation, simply works. In “Settings” you see networks available, select one a optionally provide credentials. You can connect to networks 802.11b or 802.11g standard with support for WEP, WPA and WPA2 security using password authentication.

As a second to last paragraph, I’ll mention the migration. Shortly it wasn’t bad, though I was expecting it easier. I was expecting turning it on and after a while having the new Kindle in with same content as in old one, with books at same pages. Nope. First you have to manually redownload all books from “Archived Items” and then resynchronize collections. Then when you open the book you will get the standard message about “Sync to Furthest Page Read”. As a result your new Kindle will be sooner or later as old one. Sure own content you have uploaded via USB you have to upload manually again and similarly you have to push samples to new one again as well.

Conclusion? The new Kindle is great. I’m happy spending my money on new Kindle. The improvements are worth it. If I get used to new buttons on sides without problems, I’ll not change these words.