All posts by Mike Clements

Thoughts on the Dark Forest

I recently read Cixin Liu’s Three Body Problem and Dark Forest. This blog entry is a spoiler, so you may want to stop reading this if you plan to read these books.

Fermi’s Paradox is a key concept and plot element, particularly one explanation for it called the Dark Forest, tied to character Luo Ji’s axioms of life in the universe:

  1. Life’s goal is to survive
  2. Resources (matter & energy) in the universe are finite
  3. We can never be sure of alien life’s true intentions
  4. Distances between stars impair communication

Conclusion: (3) and (4) create a chain of suspicion making conflict inevitable.

I am not convinced. This is fixed-mindset, zero-sum thinking, similar to the flawed economic thinking behind Malthusian doomsday predictions and protectionist trade policies here on Earth. The above rules are not unique to outer space. The same could be said of different cultures here on Earth – every man presents a threat to all others as they must compete to secure the limited means of survival, leading to inevitable conflict. During some historical periods – primarily in pre-agricultural tribal societies – this was true. Yet today it is false. We have Human societies of size, complexity and interdependency that would be unimaginable to prior generations. Why?

Two key factors. First, the increased productivity of division of labor. Second (and a part of the first), Ricardo’s theory of Comparative Advantage. It was not love or enlightenment that caused Humans to stop fighting each other over the limited resources Nature provided (as animals do), and instead cooperate to create new resources making everyone better off. It was recognition of these fundamental economic facts.

The same applies to space exploration, even more so. Cixin Liu misses this point entirely and falls for the simplistic zero-sum thinking that has duped many before him. Items 1-4 are true, yet the conclusion does not necessarily follow. He’s missing an important 5th axiom: The potential benefits of cooperating with alien life are so tremendous they cannot be measured. When balanced against risks (3) and (4), conflict is no longer inevitable. The result may end in conflict or cooperation, depending on the situation.

Infinite Numbers

ℵ0 (Aleph zero, null or naught) is the smallest infinity, the size of the natural numbers. It is countably infinite, which means there exists some method of counting that will eventually reach each item in the set.

The rational numbers – all fractions of the form p/q where p and q are natural numbers, is also of size ℵ0. One way to prove this is to demonstrate a method for pairing each natural number with a rational number, and show that every rational number will have a pair. The classic proof draws a table of rational numbers and walks through it starting in a corner and marching along diagonals.

So we have the intuitive result that you can pair off the elements of 2 sets with each other, if and only if the sets are the same size.

To me it seems counterintuitive that the rational numbers are the same size as the natural numbers, even though this fact follows logically from the very simple and intuitive above proposition. It seems like there are a lot more rational numbers. However, what follows seems even stranger to me.

The irrational numbers – π, e, and myriad others, are more numerous. Their size is a bigger infinity called ℵ1. They are uncountable – which means there doesn’t exist any method of counting that will reach all of them. Every method you come up with will skip some. There is no way to pair them off with the rational or natural numbers – no matter how you do it, there will always be irrational numbers left over without a pair.

Despite being countable, the rational numbers are infinitely dense. Between any two of them lie infinitely many more. The irrational numbers are also infinitely dense. What is more, between any two rational numbers lie infinitely many irrational numbers. But we’d expect that, given there are more irrational numbers. Furthermore, and most strangely, between any 2 irrational numbers lie infinitely many rational numbers. How can that be, if irrationals outnumber rationals?

The proof is simple. Pick any two irrational numbers, n1 and n2. Take the absolute value of their difference, d = | n1 – n2 |. There are infinitely many irrational numbers smaller than d. If that’s not obvious, pick some natural number ε greater than both d and 1/d. Then 1/ε is a rational number smaller than d.

It seems strange that 2 sets, each infinitely dense, both in itself and in each other, can be of different sizes. But they’re both infinite,so this is probably just a manifestation of the intuitive difficulty conceptualizing different sizes of infinity.

Cyanogenmod Camera Bug and Fix

Good news: you’re running Cyanogenmod, the most popular open source version of Android. Pure Android, no bloatware crapplets from the carrier or manufacturer, and better device performance and battery life.

Bad news: Cyanogenmod has a bug in the camera driver. This is a well known bug; if you Google “cyanogenmod camera bug” you will find lots of info on it. Occasionally the camera won’t work and you have to reboot the phone to get it working again. There is no real fix to this bug.

Good news: there is a simple workaround that fixes it in a few seconds, no reboot needed.

Explanation

Android has a background process called mediaserver. It is always running and one of the many things it does is control access to the camera. This process has a bug in which it locks or hangs the camera driver, making the camera inaccessible.

This mediaserver process is part of Android and starts automatically during boot. The neat thing is, if mediaserver is ever killed, Android detects this and immediately starts a new instance. When this happens, it clears the camera lock and the camera works again.

So, to fix this problem all you have to do is kill the mediaserver process. Android is Linux, so you could simply open a terminal and run the command killall mediaserver. But it’s not quite that simple. Since mediaserver is a system process, you must have root privileges to kill it. Fortunately, that’s easy with Cyanogenmod.

Enabling Root

Rooting Cyanogenmod is easy – root is already built in, you only need to enable it.

Go to Settings, About Tablet, and tap Build Number repeatedly. A toast will pop up saying, “X more presses to enable developer mode”. Keep tapping until Developer mode is enabled.

Hit back (to Settings) and you’ll see a new option: Developer options. Tap it. Scroll down to Root access, and enable it.

Reset in a Terminal

Now you can open a terminal and run the command su (to become root). A popup will appear asking whether grant root access to the terminal. Allow it – you’ll only have to do this the first time. Then (back at the terminal command prompt) run the command killall mediaserver. Alternately, you can do it all in a single command: su – c “killall mediaserver”. If the camera was stuck, it’s now working again. It only takes Android a couple of seconds to detect that mediaserver has been killed and restart it.

NOTE: if the terminal doesn’t have a killall command, install BusyBox. It installs a bunch of standard Linux command line tools, including killall and many others.

Reset the Easy Way

Opening a terminal and entering a couple of commands only takes a few seconds, but you might want an even quicker and easier way to reset the camera driver. How about an app that you simply touch, and it instantly kills mediaserver in the background? There are several versions of this app available if you google for them. I built one myself using Tasker. It runs standalone on any Cyanogenmod device – doesn’t need Tasker to run.

This app is an APK that you will be side loading. For security reasons, side loading is disabled by default in Cyanogenmod. To install this app (or any other APK) you need to go to Settings, Security, and enable Unknown Sources.

Now download this APK file and copy it to your device, for example in the “Downloads” folder. Just like you would for any other file like a JPG photo or MP3 song. Use the Cyanogenmod file manager to navigate to the Downloads folder and touch the APK file. This will install it.

After you’ve installed it, if you want to you can disable Unknown Sources. The app will continue working since it’s already installed.

The first time you run this app it will ask for root privileges (needed to kill the system mediaserver process). Grant them. It won’t ask again. When the app runs it will pop up a message saying “Camera Reset”, which will disappear in about 1 second.

NOTE: I built and shared this APK only to help Cyanogenmod users – it has no ads, no telemetry, no viruses, and is legal and free. However, it has no warranty. Know what you’re doing and don’t blame me if it doesn’t work, breaks your device, or makes your hair fall out. If you don’t trust me or this source, use a different app from somewhere else or write your own.

Galaxy Note 4

My Galaxy Note 2 is a fantastic phone; I’ve had it for 5 1/2 years. T-Mobile abandoned it years ago to Android 4.3, so I replaced the bootloader & ROM with TWRP and Cyanogenmod, going through versions 11, 12 and 13. I would keep using this phone, but for 1 problem. It doesn’t support 700 MHz Band 12 for LTE, which T-Mobile has been using to expand their coverage. Because of this, my 4G/LTE data coverage on this phone is not that great. It’s not bad, but it could be a lot better. That’s hardware, so to fix it I had to get a different phone.

But what I’d like in a phone isn’t readily available:

  • Support for all T-Mobile 4G/LTE bands (especially Band 12)
  • 5.5″ screen (+/- 0.25″)
  • Extra long battery life
  • SD card
  • Removable battery
  • Supported by LineageOS (aka Cyanogenmod)

Some phones came close: Moto X Play, Oneplus 2, Nexus 6P. But none met all requirements – except the Galaxy Note 4. But the Note 4’s CM support was abandoned at 12.1 (Android 5). But since CM died and was reborn as LineageOS, the Note 4 is on the list of devices planned for official support. So I got one on eBay, cost about $240. It’s in near-new condition, appears to be a demo model. There is some slight screen burn-in near the top edge – this is a common problem with the Note 4. In mine, it’s non-obtrusive and I’ve seen worse. I wouldn’t have noticed except for running apps with screen patterns designed to detect it.

I wouldn’t want the Note 5 – battery was not removable. The Note 7 was a disaster. The Note 4 is definitely the peak of the Samsung Note line.

Differences from the Note 2:

  • Better mobile data coverage: supports all T-Mobile bands.
  • Screen: higher res, brighter, wider gamut
  • Speed: at least twice as fast
  • Better camera: dynamic range, color, with image stabilization
  • bug fixed: Evernote pen input
  • bug fixed: MMS texting (multiple people or with attachments)
  • Dimensions & weight: about the same (within a few mm and grams)

Setup:

  • Update: the phone came with Android 5. After 4 updates totalling over 2 GB of downloads, I had the latest 6.0.1.
  • Root: Chainfire has an easy root for the Note 4, works with Samsung’s latest 6.0.1 ROM. Push it to the phone using Odin, reboot and it’s automatic.
  • GMD SPen: Samsung’s built-in pen support sucks. Configuration is a hot mess and it can’t do the things I want. GMD SPen works seamlessly on top of TouchWiz, or can replace it.
  • Titanium Backup: My go-to backup app, does it all as well as letting you freeze or uninstall “unremovable” crapplets.
  • Nova Launcher: Samsung’s home screen is not very configurable. You can’t even set how many rows & columns! Nova Launcher is similar to CM’s Trebuchet launcher with all those options plus more.
  • Stylus Beta: the best handwriting keyboard I have found. Better than Samsung’s built-in or Google’s. Plus an easy clean interface.
  • Solid Explorer: the best file manager, supports root and includes LAN, FTP connections. Not free, but better than Astro or ES File Explorer. It also has a really nice photo viewer (better than the standard Android gallery app) and built-in text editor. If you go to root mode and edit a system file, when you save the file it automatically mounts system read-write, saves it, then remounts read-only.
  • Folder Sync: the best cloud folder sync utility. If you want your Box, Dropbox, etc. accounts to sync to your device like they do on a real computer, and your device has the storage capacity to support it, this is the only way to fly.
  • Tasker: for all those random little tasks you want to do, like run a command at boot, kill/restart the mediaserver process if your camera dies, whatever. This does it all.
  • Jota: Jota+, the best all-around Android text editor. I’ve tried many over the years and this is the one. It also has a root connector.
  • GPS Status: the best GPS status utility, also keeps your AGPS data up-to-date for quick position locks in all apps.
  • Sygic Maps: does much (though not all) of what Google Maps does – search, map, route, dynamic re-routing as you drive. But does it all on-device, in-memory, so it works even in places that have no mobile network.
  • MX Player: the best Android video player. Better than any built-in player or VLC. I love VLC on Linux desktops, but the Android version is not as good.
  • Power Amp: the best Android music player. Better than any built-in player or VLC. VLC doesn’t do gapless playback of MP3 files and it intermittently gets noise in the playback.
  • Office Suite: the best Android office app for viewing & editing MS Office docs. I’ve tried  many office suites over the years; this one is the best.
  • Textra: the best Android SMS/MMS experience. Beautiful and seamless to use, supports several emoji sets – iOS, FB and others. Sure you can hack the iOS emojis into your rooted Android phone by replacing the system ttf file, but with Textra you don’t need to.
  • View Ranger: the best outdoor hiking/biking tracking/routing/navigating GPS app. Doesn’t have Strava’s social features, but it has a ton of far more useful features Strava doesn’t have. Besides, I hate social.

This is not only the best phone I’ve owned, it’s one the best phones available on the market today. It has a brilliant AMOLED screen, not only bright but also with wide, accurate gamut. It’s very fast (even on the stock Touchwiz ROM – LineageOS will be even faster), great camera, lots of storage, excellent battery life, and great mobile data coverage.

VFAT, UUID, SD Cards, Android Mount

Last night I was setting up a new Android tablet to match an old one. Both have SD cards with apps that store data on it. To make things easier, I wanted the SD card to mount to the same point in the filesystem. But Android 6 mounts the SD card to a directory whose name is the card’s serial number (UUID). That is: /storage/XXXX-XXXX. We’re talking about the serial number, not the volume label – so it’s not easy to change – tune2fs can’t do it because it’s fvat, not ext.

Eventually I succeeded but there were a few twists along the way.

Ubuntu help forums online have a procedure to do this with dd commands, but I want to avoid performing block level I/O on the filesystem. I found a simpler, cleaner, safer way to do this:

First, install mtools. It’s in Ubuntu’s standard repos: sudo apt-get install mtools

Next, connect the SD card and check which device it is – in my case /dev/sdc1 but this will vary. Make sure it’s unmounted, but not ejected.

Next use mlabel to set the UUID: sudo mlabel -i /dev/sdc1 -N XXXXXXXX ::VOL-LABEL

NOTE: mlabel’s -i param is undocumented. It’s how you specify the device. You can omit the VOL-LABEL, but leave the :: in place.

NOTE: after doing this if you check the UUID using blkid or other commands, they will report it unchanged – even if you remove and reinstall the SD card. This is incorrect; the UUID did actually change. Apparently, you must reboot before Linux will recognize a changed UUID for a filesystem.

President Trump

There really wasn’t that much difference between Clinton and Trump. They differ vastly in demeanor and experience, but if you take their words at face value, both are statists who believe in bigger government. I could not vote for either – my belief in the US Constitution and liberty is too strong. I voted libertarian, as I usually do. And the libertarians got about 3% of the vote, which is the best they have ever done!

In my view, a Clinton administration would be professionally run but totally corrupt. A Trump administration would be … who knows? … but little good comes to mind.

However, despite the many obvious problems with someone like Trump being president, I see a few bright sides:

  • We’re likely to get a Supreme Court justice who believes the US Constitution means what it says.
  • We’re likely to see the unpopular disaster known as Obamacare repealed.

Don’t Pay Your Mortgage Early

It’s common for people to want to pay off their mortgage early, and for financial advisors to recommend this. I think it’s a bad idea. Here’s why:

You either have the cash to buy a house or you don’t.

If you do: if you invest your cash, a diversified long-term portfolio will return around 6-7% CAGR. You can get a 30-year fixed mortgage at less than 4%, and it’s tax deductible so it’s really less than 3%. Every dollar you pay for the house, is not being invested. So you lose 6-7% in order to save less than 3%. Don’t do that!

If you don’t: you can’t pay cash for a house, so you either rent or buy with a mortgage. If you buy with a mortgage, get a 30-year fixed and don’t pay it off early. Why? Consider the opportunity cost. That is: suppose you have an extra dollar – what should you do with it? Whatever gives you the highest return. Every financial situation is different, but a typical situation greatest benefit first looks something like this:

  • If you have credit card debt, you save 18% or more.
  • If you invest it, it will earn 6-7%.
  • If you put it into the mortgage, you save less than 3%.

Here’s a specific example: suppose you borrow $500k at 3% for 30 years. You decide to pay an extra $100 per month. You’ll pay off the loan about 2 years early saving about $21,000 in interest. If instead you invested $100 every month earning 6% annually, you’d have $100,000. That’s $36,000 in principal and $64,000 in earnings.

By paying off your mortgage early, you gave up $64,000 in order to save $21,000.

Addendum

The astute reader might say, “When you pay off the mortgage 2 years early, you can invest the entire payment over that 2 year period, which increases the value.” So let’s look at this.

The standard mortgage payment is $2,387 and you’ve been adding $100 so your payment is $2,487 per month. If you invest that for 2 years at 6% it earns $63,251. Add this to the $21,000 you saved and you’re at $84,251. This is still less than the $100,000 you would have earned if you invested that $100.

Kobo Aura One: First Impressions

The eInk reader bug recently bit me again and I tried a Kobo Glo HD. Nice, but too small so I bought a Kobo Aura One. It just arrived yesterday – these are my first impressions.

That screen. is. so. gorgeous. The 7.8″ size complements the great contrast and resolution, and the excellent font rendering algorithm. This is the best eInk screen I have ever seen. I could read this for hours. The bigger size screen is almost perfect for reading technical documents having charts & pictures. I say almost because it lacks color and the PDF experience is terrible.

It’s lighter and thinner than my 8″ tablet, easier to hold with a grippy back texture, and the screen is matte not glossy reducing reflections.

It synchronizes beautifully with Calibre, just like the Glo HD – topics become collections, syncing annotations, etc. And the software is open – you can side-load your own fonts and it renders them beautifully, and there are hacks available to open some closed features.

The touch screen sucks. There’s no other way to describe it. Too frequently it fails to register my touches. I don’t have this problem with phones, tablets, or the Kobo Glo HD. I’ve been trying to use it slower, but that’s a real pain when typing notes into my books.

The auto-dimming backlight is mysteriously broken. It’s fine in a dark room – evenly lit. Then when you turn on the room lights, the backlight gets brighter!? Just when you need less backlight, it gives you more? I set it for 2-3% in a dark room, then when I turn on the lights it goes up to 10%. If I hold it up close to the light it goes up to 30%. Also, when I put it to sleep, the backlight stays on! This is completely backward and wastes battery. And the auto-illumination level is unstable. As I read, every few moments the backlight subtly and slowly pulses dimmer & brighter. This is a distracting waste of battery.

It may be this auto-illumination is lighting up in a lighted room intentionally to give maximum contrast. But that’s such a waste! I can read the screen fine in a lighted room, so I don’t want to waste battery with unnecessary illumination. Especially since the battery is not all that impressive – see below.

You can slide a finger up and down the left side to adjust the brightness. Nice gesture, but it doesn’t work very well. Sometimes it fails to register the gesture (perhaps due to the touch screen insensitivity?), and even when it does, the brightness changes in big chunks, not smoothly, and with a lag. The only way to get just the right level of brightness is to use the menu.

Hue adjustment is a nice feature and works OK, but not great. At full brightness, the colors are even. But I never use full brightness. Below about 30% brightness, which is still pretty bright, the colors are uneven. A distracting greenish shard appears in the lower left of the screen. All that said, this greenish shard is almost unnoticeable when set at a neutral color between blue & red, and fixed there – disable the automatic hue shift.

The battery is under-whelming. It drops 6-8% per hour while reading, with backlight entirely off or set low (less than 5%). This makes for about 14 hours of reading – less than 1 week for me. That battery life is only a little better than the latest Android tablets. If you bring this on vacation, you will have to bring a charger. E-Ink readers should have battery life at least twice this.

Also, there is a problem with auto-sync killing battery even faster. Yesterday morning it was at 100% having charged all night. I unplugged it and put it to sleep. When I got back home from work 11 hours later it was at 35%. It consumed 70% of battery sitting on my nightstand asleep! I believe this is a bug with auto-sync. Yesterday I disabled auto-sync, charged it all night, it is sleeping all day off the charger, so I’ll find out this evening.

Update: I did a factory reset, which wipes the tablet, reloads the OS and updates firmware. This improved the battery. It now drops 1% in 12 hours while sleeping, and 4-5% per hour while reading, with auto-illumination. MUCH better. From what I read in  forums, many – but not all – users are experiencing this problem, and factory reset fixes it most of the time. Yet even after this “fix” the battery still occasionally drops 10-15% suddenly over a 5  minute period, giving 15-20 hours of reading on a full charge. That’s still not enough for an e-reader – if you go on vacation, you’ll have to take a charger with you.

I confirmed this reader is indeed waterproof. However, water does get inside! So after it’s been immersed, water slowly leaks out from the inside, mainly through the corners and the USB port, for the next 30 minutes or so.

So it’s an imperfect device. Is it worth keeping? I need more time with it to decide. Kobo’s terms give 30 days.

Kobo Aura One Summary:

Pros:

  • Beautiful Screen
  • Sync with Calibre

Cons:

  • Insensitive touch screen misses touches, frustrating to use
  • Limited battery life
  • Problematic auto-illumination
  • Uneven illumination hue

General note: E-Reader vs Tablet

There’s one simple reason why I’m not sure this is a keeper: for the same price I can get a good Android tablet. Same size screen and resolution, with color, that can do far more things. Even with reading, an e-ink reader can never be one device for it all. I read my news online using a mix of Feedly and Browser. An e-reader can’t do that. The best an e-reader can do is support pocket, so I can use a tablet or browser to find the news I want to read, push to pocket, then read it on my e-reader. But that’s cumbersome. Why not do it all with one device?

Indeed – why not? Here are the e-reader advantages:

  • eInk screen: visible in direct sunlight
  • Annotations: Calibre preserves them
  • Battery life: 1 week or more instead of 1 day

Here are the disadvantages:

  • No color – black & white only
  • PDF experience is poor compared to tablet
  • Buggy touch screen & laggy response compared to tablet
  • Night reading mode – not as nice as tablet, which does white on black
  • Single-function – cannot read news, watch video, check email, play games
  • One extra device to carry around, keep charged and loaded with books

 

Modes of Cognition, Artificial vs. Human Intelligence

I can think of 4 modes of human cognition:

  • Abstract Reasoning
    • Logic: how all humans universally know that  proof by contrapositive or induction is compelling.
  • Causal Understanding
    • Cause and effect: an infant learns in only a handful of trials that something he drops will hit the floor. Without causal understanding, this would require far more trials to learn.
  • Spatial Intuition
    • Bigger, smaller, inside, outside, etc. We visualize shapes and interactions in our minds without having to see from every angle or test every combination.
  • Pattern Recognition
    • The classic “which of these doesn’t belong?”. Humans are so good at pattern recognition we often find patterns that don’t even exist!

I don’t claim this list is exclusive, but I can’t think of any others. Every form of cognition seems to fall into one of these categories. Yet all forms of AI currently in practical use – neural nets, decision trees, etc. rely on pattern recognition alone. We simply don’t understand the other modes of cognition well enough to formalize them into algorithms.

We don’t even know if they can be formalized into algorithms! It’s possible – though by no means proven – that they might lie outside what Turing Machines can do. The reverse also may be possible – these forms of cognition might boil down in their fundamental elements to a single form of cognition expressible formally, for example as Turing Machine instructions. If so, the fact that we perceive them as different would be a mental illusion.

Either way, the fact remains that we don’t understand these other forms of cognition well enough to formalize into algorithms. Thus, all forms of AI are essentially based on pattern recognition.

Combining these forms of cognition is extremely powerful. A toddler learns to identify cats with only a handful of examples, yet Googe’s best image recognition AI requires millions. By combining spatial intuition with causal understanding and pattern recognition, the toddler learns much more quickly. Relying on pattern recognition alone severely handicaps AI in two critical ways:

  • It learns slower, requiring orders of magnitude more training examples.
  • Properly trained AI can out-perform humans on specific tasks, yet still performs poorly on tasks that are open-ended or outside its training.

A human toddler is still light-years ahead of AI. Will we find a way to make AI better despite these limitations? Will we break through these limitations – find a way to formalize other modes of cognition into algorithms?

These questions and the topics of human cognition, AI, and Turing Machines intrigue me.

Kobo Glo HD: Review & Comparison to Kindle

I recently bought a Kobo Glo HD, mainly out of curiosity to see how it compares with Kindle’s e-readers – specifically, the Kindle 4 and Kindle Touch. I bought it new from Japan for $100, which is cheaper than the Kobo web site price of $130. Now that I’ve been using the Kobo for a couple of weeks, here’s what I’ve found.

First I should list my e-reader priorities:

  • Screen: contrast, resolution, layout, font rendering. Unlike a tablet that does many things, an e-reader does only one. It should do it in the absolutely best way. The screen should be easy to read for hours: high contrast, high resolution, smoothly rendered fonts, optimal spacing, with the maximum possible user customization: margins, line spacing, font typeface, rendering, etc.
  • Book Formats: part of doing only one thing in the best way, an  e-reader should be able to read all popular book formats: at least the big three: MOBI, EPUB, PDF.
  • Reference Lookups: sometimes you want to look up a word in the dictionary or encyclopedia.
  • Calibre Integration: I use Calibre to manage my e-books. Pushing books to the e-reader from Calibre should be seamless. Automatically synchronizing collections, tags, highlights and annotations is a big plus.
  • Free and Open: I mean free as in liberty, not free as in beer. Books are available from many sources; the e-reader should not lock me into any single vendor’s ecosystem, devices or apps.
  • Ecosystem: the e-reader’s native ecosystem – selection, pricing, reviews, etc.

Now here’s how the Kobo Glo HD compares with the Kindle 4 and Kindle Touch.

Screen: overall, Kobo is better than Kindle – it has a nicer-looking easier to read page with a more customizable appearance and layout.

Size: Kobo and Kindle both have 6″ screens. The Kobo is smaller in overall dimensions, and lighter.

Resolution: Kobo is much higher resolution: 1448×1072 which makes 1.55 M pixels. A 6″ diagonal screen is about 4.25″ per side, which makes about 18 square inches, which makes 86k pixels per square inch, linear 294 dpi. This is the same as the Kindle Voyage, which I don’t have and didn’t compare. The Kindle 4 and Touch are both 800×600 which makes 480 K pixels, about 27k pixels per square inch, linear 163 dpi. The Kobo has much higher resolution.

Contrast: about the same. I didn’t observe any significant difference in contrast.

Layout: Kobo has far more layout options. Margins and linespacing can be adjusted over a wider range, and with more fine steps. Kobo spaces fonts and full justification more evenly. Kobo has a fullscreen option that eliminates the header & footer on each page, Kindle does not.

Fonts: Kobo has 7 built-in fonts and can render embedded publisher fonts. Kobo can also use any font files you copy to it, so its fonts are unlimited. Kindle has 3 fonts and you cannot add new ones. Kobo also has a wider range of font sizes with finer sizing steps so you can always get the “just right” size. Kobo has a font weight adjustment the Kindle entirely lacks, so you can get each typeface to the right level of light-dark-contrast to suit your eyes. This weight adjustment works only with Kobo’s built-in fonts, not user-added fonts. Kobo also renders fonts more smoothly – both the characters and kerning.

Lighting: Kobo has built-in lighting whose intensity you can adjust by sliding a finger up and down the left side of the screen. It turns off completely at the dimmest setting (slide downward). This blue-ish cast backlight illuminates the screen evenly. Kindle has no backlight. You can get Kindle cases with built-in lights, but they are expensive, run down the battery quickly, and light the screen unevenly.

Page Turns: Kobo lets you set how often it does a full screen refresh on page turns, where Kindle is fixed at 6. Kindle page turns are slightly faster than Kobo – probably because the Kobo has more than 3 times as many pixels.

Graphics: Many books have graphics and images. The Kindle can explode them full-screen for a better view. Kobo can do this only for books in the KEPUB format. This is not much of a problem because Calibre can convert any book to  KEPUB, and when the book is in KEPUB it opens other Kobo features.

Storage: Kobo has 4 GB of space and just over 3 GB is available for storage. Kindle 4 has 2 GB and Kindle Touch has 4 GB. None of them accept SD cards, but e-books don’t take up much space. You can store thousands of books on any of these devices.

Book Formats: The key difference here is that Kobo supports both MOBI and EPUB while Kindle supports only MOBI. Kobo supports EPUB, MOBI, PDF and KEPUB, Kobo’s proprietary format based on EPUB. Kindle supports MOBI, PDF and AZ3, Amazon’s proprietary DRM locked format based on MOBI. Neither has a good PDF experience – better to use a tablet or computer for PDFs.

Kobo has extra features with books in its native KEPUB format. Graphics can be zoomed and panned, it tracks detailed reading stats like your rate of reading and how long it will take to finish the current chapter or book. Also, the Kobo is more responsive, less sluggish and more accurate when highlighting and annotating text in KEPUB books. This is not a problem, since Calibre can convert any book into the KEPUB format, which does not have to be DRM-locked like Amazon’s proprietary AZ3 format.

Reference Lookups: Kobo and Kindle both have a built-in dictionary and link to Wikipedia. Kobo has dictionaries for additional languages and can translate foreign language words. Both have links to Facebook to share with friends what you are reading, but I haven’t used this feature (I don’t have a FB account).

Calibre Integration: both integrate with Calibre, but Kobo is more seamless in two ways. First, Calibre can automatically manage collections on the Kobo based on each book’s Calibre tags (or other Calibre properties). Thus, when you push your books to Kobo, they are automatically organized the same way they are in Calibre. With Kindle you must manage your collections separately. Second, Calibre synchronizes annotations – highlights and annotations you make on the Kobo appear in Calibre as notes in the book details screen. And if you delete the book from Kobo then re-send it from Calibre, your highlights & notes go with it. This is the killer feature for me – I use highlights & notes in all my books and it’s so nice to have them synchronized and stored. Kindle lets you manually copy your annotations as text files, but there’s no easy way to load them into Calibre attached to your books.

Free & Open: Kobo and Kindle both have a DRM-protected bookstore and ecosystem (apps, devices). Yet Kobo is not locked into this as strongly as Kindle is. Kobo has built-in support for Adobe Digital Editions accounts, making it easy to read library books from Overdrive, which most libraries use. As mentioned above, Kobo also reads both EPUB and MOBI files. Kobo’s software is also more open, and independent software developers have used this to create a more seamless Calibre experience. You can easily edit Kobo’s config files to enable a full screen reading mode, add fonts, and other things.

Ecosystem: here is Kindle’s advantage. Amazon’s selection of books is wider and pricing, while often the same as Kobo, is sometimes lower. Amazon has more readers and more reviews which helps when selecting books.

However, people like me who use Calibre to manage our e-books don’t depend on any single vendor’s ecosystem. I get books anywhere – Kobo, Google, Amazon, library, etc. Copy them to Calibre and organize them by topic so the source is on my PC, not out in someone else’s DRM-locked ecosystem or cloud. I convert them to any format I want, to read on any device I want.

Conclusion: If want the best reading experience and you maintain your books in Calibre, Kobo is your e-reader. The one area where Kindle beats Kobo is in the ecosystem. If you don’t want to manage your e-books yourself, if you prefer the speed and simplicity of single-click reading and you don’t mind being locked into a single vendor’s ecosystem, Amazon is the biggest and cheapest.

One-Device Alternatives: I had a Kindle years ago but for the past few years I read on my tablet because it gives one-device to rule them all – from aviation charts to movies to books to browsing, email and games, I can do everything on one device: my 8″ tablet. My tablet reader is Mantano which is a great app, and I synchronize with books on Dropbox. But this reading system has 2 key drawbacks. First, organizing books on my tablet. I’ve tagged all my books in Calibre but this doesn’t carry over to my tablet, where I have to re-organize everything. Second, my highlights and notes in Mantano cannot appear anywhere else. They don’t sync to Calibre and they are fragile – unless I’m careful I can lose them simply by changing where on the device I store the book. Kobo fixes both of these drawbacks. That could be enough for me to switch back to a dedicated e-reader.

While the Kobo suits my needs better than Kindle, the Kobo isn’t perfect. Here’s what I’d like to see Kobo do to make it better:

  • Enable it to display images in books to full screen, and zoom & pan – like Kindle does.
  • The default system font is too small and not resizeable. Make it bigger. Better yet, add a system font size setting that applies to the home screen, menus, etc.
  • Make it faster / more responsive. It’s a bit laggy pretty much everywhere. Kindle is laggy too, but Kobo is a bit more laggy than Kindle.
  • Keep it open – don’t lock it down with DRM. This is the Kobo’s key differentiating feature from Kindle.