Sunday, March 8, 2009

Kindle's wireless

A few years ago, I was really impressed when I first tried out an e-book reader - the screen really did feel like paper for reading, so when Amazon released the first Kindle, I decided that I'd get one, when the second version came out, fixing anything bad in the first one (which a little piece of advice I give to anyone - never get the first of something, it always sucks in some way).

Just recently, this second version came out, and I decided to check it out. The screen really is nice, and reading on it is great - I have about 20GB of stored e-books which I may finally get to read. I was also happy to find out that the Kindle allows you to just copy PDFs into it over USB, so I wouldn't be tied to their exclusive content.

On the first version, the Kindle had wifi connection so you could buy and download new ebooks right from the device. This was a killer feature - I was definitely willing to buy new books this way (even though I have downloaded ebooks from torrents in the past, I don't mind paying for them, if it's convenient enough). On the second Kindle, came an "improvement" of this technology - instead of requiring a standard WiFi 802.11 connection, it now comes with a builtin cell-phone-like EVDO connection. One would think that the main problem here would be the restricted EVDO coverage (even in the US, it's not available everywhere), but they took one lame step further and don't allow you to just put any cell phone SIM in it - they wanted it to be cost-free to the users, which means they had to pay the cell phone providers themselves, ultimately meaning it's tied to Sprint.

Sprint is not that bad, one may say (and lots of others will disagree), but unfortunately Sprint only exists in a small country in North America, meaning all the rest of the world is essentially locked out of buying stuff on the Kindle. Of course, you can buy it on your computer, then transfer by USB, but it takes all the fun out. Why, Amazon?? Was it really so hard to allow me to use my own cell phone connection, or just plain old WiFi like the first Kindle did?

I'm now looking for another e-book reader...

UPDATE: Ars Technica has an article detailing how to bypass the Kindle's whispernet restriction, but its still far from ideal. It also seems that the "free" whispernet is not really free - if you transfer too much they'll charge you.

Friday, March 6, 2009

Anti-virus gaming edition?

Symantec just released Norton Gaming Edition, an anti-virus meant to protect gaming computers, by not slowing them down as much as regular anti-viruses, and by scanning online gaming for virus propagation.

Nothing wrong with their product, per se, except that the whole concept of an anti-virus is fundamentally wrong - instead of fixing the fundamental security problems which plague the vulnearable OSs (which IS possible, otherwise other OSs would have the same problem) or in the online games themselves, they create a separate, paid app to tell you that you're screwed when those vulnerabilities are exploited. This made sense in old OSs like DOS which had no way to protect against this (no protected mode code execution, for instance), but nowadays, it's just plain dumb.

The main reason why people accept this is that they've been educated by the industry in general to accept it - it's not taken as something absurd like it shold, but rather as a natural consequence, that a computer can get a virus just like someone can get a flu, and most people never even question it.

Region-locked content

During my trip to Australia I bought a few PS3 games, and was happy to find out that they work on my US PS3 just fine - a wise decision by Sony, I thought, specially since there's currently no known way to make pirate copies of PS3 Blu-ray (or downloadable) games, so they don't have to worry about cross-region piracy. One of these games was Prince of Persia, which I happily played to the end and got almost all thropies from (except the 14-hit combo one).

Yesterday, then, they announced the playable epilogue of the game, available as a download from the Playstation Network Store. The PSN store is not really available for my country, but I created an account with a valid US address (my company's HQ, which would just forward any correspondence to me) with my real ZIP code, which seems to be the only info used to validate my credit card billing address, so buying games there has worked really well, and I got myself nice titles like Echochrome.

I went on and downloaded and paid for the epilogue the usual way - US$9.99, a reasonable price for a game. The 581MB download went on for a few minutes, and then my frustration started - the epilogue was nowhere to be found - not a separate game, not available anywhere inside the game. I searched the internet for where to find it, to no avail - sounded like it should have been so obvious where to find it that nobody would ask or tell. I beat the game again (from a savegame close to the end), thinking that maybe the epilogue would kick in after the ending, but it just threw me back to the main menu.

Obviously frustrated, I decided to look through PS3's game data files, to find a file called "Prince of Persia DLC - Americas". Only then it came to my senses - the download was region-locked! The download was in region 1, while the game disc was region 4, and those just wouldn't work with each other. From the Ubisoft forum, I found out that I was not the only one with the same problem. Damn you Ubisoft, I thought.

So, let's look at a few facts:
  1. Sony allows me to use the US PSN store from a Brazilian IP (even though they block the videos store, so it would be very easy to block that too)
  2. Sony allows me to purchase US content from Brazil
  3. Sony allows me to play an Australian game in my US console, from Brazil
  4. Sony knows that I have the Aussie version of the game, 'cause the trophies are registered on their servers
  5. In spite of (4), Sony does allow me to download the US version of the Epilogue without giving ANY warning, not even in the fine print of the download
  6. It doesn't work, and it doesn't even tell me why
  7. They won't refund me 'cause I already downloaded it
  8. They won't allow me to buy again from the Australian PSN store 'cause I don't have a valid Australian credit card
Conclusion 1: Sony is dumb
Conclusion 2: Ubisoft is dumb
Conclusion 3: DRM in general is stupid (that takes a few more facts to conclude, but that's beyond the scope of this posting)
Conclusion 4: online billing methods are a complete and absolute mess - why do I need a valid Oz address to buy from the Aussie store? Isn't the fact that I have an Australian version of the game enough? Why doesn't it detect that and already gives me the right version?

Media playing frustrations, part 4: wireless audio

For a change, in this post I'll show a success case - or at least one of the closest things I've seen to that.

I was recently in Australia for work, and during my nice stay there a friend, Lars, took us on a trip on his boat. I was quite impressed that not only he had internet on the boat, but also that he had a wireless audio system called Sonos which would stream music directly from the internet from a service called Rhapsody (I searched for many songs including some hard-to-find ones and it just played them), could play different music in different zones (upper deck, lower deck, etc.), plays shoutcast radios, plays Ogg Vorbis, can stream from, and does all this without needing a computer. After all my previous frustration, this sounded like a dream. I came out of there decided to buy this thing, except I had learned from my previous mistakes, and this time decided to investigate the *whole* thing before buying.

As expected, it has some caveats. The first one is the price tag - about 1000 US dollars for the cheapest sonos bundle, including only one speaker, but I could live with that. What I cannot live with is that it's a very closed system. UPnP support is non-existent, so I end up needing a computer if I want to play my MP3s in it. Conversely, the Rhapsody (and apparently most online music sources) are full of DRM crap, so I cannot copy songs I download from there to a computer even if I'm paying for those services. Also, the wireless functionality (the speakers are wireless) is completely proprietary, so it's impossible to have just plug any audio application or output to play through it without needing lossy analog line-in/line-out connection between the audio source and the sonos, meaning I'd have to switch the cable from my TV to the PS3 to the computer whenever I wanted to play audio from a different source. Finally, there's no linux support for the things you do need a software to do.

I also found some other alternatives to the Sonos, such as the Squeezebox, which supports Linux, but still has no UPnP support, still doesn't support playing from other digital sources, and is still covered in DRM.

Given these limitations, I'm yet to find the perfect sound system.

Media playing frustrations, part 3: UPnP

UPnP basically allows the PS3 or any device that supports it (even some TVs do) to see other computers on my network, and play media from them, which act as file servers (very inefficient ones, but file servers nevertheless). Except I'd have to set up a home server to use this, which, well, consumer a lot power and with that comes cost and carbon emissions, and it also made the large PS3 hard drive pretty much useless (I wouldn't use 320GB for games). I considered using a mac mini, but since I don't have one, it wasn't worth the cost. I went with the regular server then...

I went on to read the UPnP specification, which totally sold the idea to me - it defines a dream world where each device can implement a content server, a renderer, or a controller client - so I could basically have my mac control my linux server to render media on my PS3, which would be perfect since linux does have the codecs to play all formats, subtitles, and everything else. Except it doesn't work. Most devices only accept that themselves be the controller and the renderer, only allowing a separate server (such as my linux home server), so I am still stuck with the codecs the PS3 can play, and a little research on Google revealed that this is the case for 99.9% of the devices.

My first attempt was to use Azureus's internal UPnP server, which automagically shares all files you download over UPnP. This would have been largely successful, if it weren't for the fact that most videos come compressed in RAR format. Azureus is open source, so I could have changed it to uncompress the RARs, except the RAR format itself is not open, so I couldn't legally distribute it.

I also happen to have a wireless access point by asus which features a 160GB hard drive with a bittorrent client and UPnP server (more ramblings about it later), which sounded fantastic back when I bought it, but of course, with a simple embedded ARM CPU and a slow drive, streaming a movie from it is impossible - it's just not fast enough - the movie doesn't play, and my internet connection comes down.

I then moved to another UPnP server solution - Mediatomb - which worked very nicely from the file serving perspective. It even allows me to group the files in any way I want, such as allowing me to find my MP3s by Artist/Album or Genre/Artist, etc, all scriptable for my coding pleasure. It even allows me to expose media inside RAR files and stream it appropriately.

So, finally, I got a working solution, which costed me several hundred dollars more than it should have and took me a lot of tech work which most people wouldn't be willing to do or simply wouldn't know how to do - your average home user can't install a mediatomb server, edit its XML config and create scripts for it. The big question left is - WHY? Why does all this super-advanced technology have to be so crappily implemented and integrated? Are the engineers out there so lazy that they can't do better?

Media playing frustrations, part 2: PS3

A couple years after my HDMI frustration, I also got myself a PS3, in part because of the games, but also with the (silly) intention of having it as a media center in addition to a gaming console. It sounded way better than buying a PVR which didn't have any games, connectivity or photo handling. I got a nice 320GB SATA drive for it to hold my MP3s an movies, and all was going well until I actually tried to use it for that.

My first attempt was to copy my ~140GB of MP3s into its hard drive. It copied without any problem, but then I found out it lacked a fundamental feature - a decent player. You can play music from its home screen (the XMB) but it will only organize the media in a few ways, such as everything by each artist, all algum names from all artists together, all 140GB of MP3s in the same listing, or by year. All that added to the fact that it uses ID3 for the top-level organization, but the song name it displays is actually the file name instead, so I had to make scripts to sync all my MP3s ensuring the filename matched the ID3, which alone took me a couple of days. I finally settled for organizing by artist and having hte album and track name in the filename, which still sucks - I cannot shuffle songs of the same genre for instance, and creating a playlist is really painful.

After giving up on the MP3s, I thought maybe at least I could use its web browser to play, since it supports flash - or does it? Of course it doesn't work :) A shoutcast client, maybe? Nope, since Sony doesn't allow anyone but the "chosen few" (and I've been among those in the past) to develop any apps for their system, nobody can develop a decent app to replace Sony's crappy ones.

Likewhise, I started copying some movies into its hard drive, only to find out that it doesn't really play all variations of DivX, so most of my movies simply don't play there. Also, when downloading episodes in highres, MKV seems now to be the preferred container format, and even though the contents of the MKV are often plain MPEG, it won't open the container, so I have to manually convert those to plain MPEG (and of course my mac doesn't open MKV files out of the box either, so I had to download additional software for that). Is it really that hard to support the most common file formats like MKV, Ogg vorbis, Xvid, etc.? No, it's pretty damn easy, except Sony is too lazy to do it (yes, lazy, or dumb - a lot of people would buy their console for using as media centers if they had such support, so it's financially worth it). You cannot even argue that it's a licensing problem, since all these formats are free and open.

Looking at my alternatives, I realized that the PS3 allows me to install linux in it, so I could just install linux and play everything I wanted, right? Wrong. I downloaded Yellow Dog Linux (a derivative of RedHat, which I used since version 5.0 and through the Fedora Core editions), and my first disappointment was that you cannot just partition the PS3's hard drive any way I want - it gives me two choices: leave 10GB for linux or leave 10GB for the PS3. WHY, Sony, why??? It's not like there's any trick in partitioning a hard drive, and it's not like anyone can leave with only 10GB for their games. Of course the PS3's file system is also totally proprietary (and likely encrypted) so it's impossible to read the media files from it. I thought of accessing them over the network, only to realize that Yellow Dog doesn't support PS3's wifi (and I have absolutely no intention of running a network cable across my entire house for this).

Is there anything open that this damn thing supports, then? Well, yes, there's one thing, which is finally what I turned my attention to - UPnP.More on the next post...

Media playing frustrations, part 1: HDMI

For the longest time I didn't even have a TV at home - simply because there was nothing worth watching that I couldn't watch on my PC. Then the new generation of consoles came out, and I indulged myself to a Nintendo Wii, and bought a nice HDTV to use it. The nintendo wii was nice, except it couldn't do anything except for playing games - even though it has a DVD drive, it cannot play video DVDs. Even though it has a wifi connection, it cannot see my other computers on the network and play video or audio from them. At the time, I thought it was ok, after all it's a gaming console and nothing else.

The TV I got also had a nice new shiny HDMI port, and I was very happy to find out that HDMI is signal-compatible with DVI (which was a very smart decision in the middle of a sea of tech craziness), so I could easily plug a computer to the TV to play movies, which would allow big-screen movie watching. I got a DVI to HDMI adapter for $10, and to my big surprised, it just worked - or well, kind of. Video worked just fine, but there was no way to inject audio even though reports say the audio signal is SPDIF-compatible, the only converter I could find that allowed me to also inject the audio costed well over $1000, so the whole solution was a no-go. I'd just have to keep watching movies on my computer for the time being.

(to be continued...)


First, let me introduce myself and the motivation for creating this blog. I'm a engineer for big high-tech company (and the disclaimer is that everything I post here is my own personal opinion and not theirs) who is largely frustrated with the shortcomings of the technological products available ot us, and specially annoyed with seeing hundreds of articles praising that same technology.

Being a software and hardware developer myself and having designed things from database applications to 3D acceleration chips, I am absolutely sure that the problems with these are not fundamental impossibilities of improvement, but rather pure laziness (many times to cut costs).

My first real post will come next, exposing the well-intentioned but poorly-implementd UPnP technology.