Dec 30 2009

Interest for Digital TV in Linux

There seems to be a lot of interest in the old post about digital TV in Linux that I dug up from my archives. Please leave me a comment if you follow the instructions in the post so I know if the information in it is still relevant or if it should be updated. I don’t have the USB tuner anymore myself, so I can’t try it out by myself. Thanks.

Dec 30 2009

Blog buffer

I’ve gotten off to a good start with my new blog in my opinion. The hardest thing about blogging in the beginning is thinking of things to write about. I’ve had a few websites before, but all of them ultimately grew stale without any new content. So the most important thing is to just start writing and keep up a steady pace.

But what should I write about? Sometimes it feels difficult to think of things to write about, while at other times there are many things in the news or that have happened that are worth blogging about. The solution I have for this problem is that on days that I have many ideas, I create a bunch of posts with only a heading and save them as drafts. This way I can always choose a ready idea if I’m out of ideas when I want to write.

Another type of buffer that I use sometimes is the delayed publishing feature of WordPress. The feature lets me write complete posts and schedule them for publishing at a later date. This way I can spread out posts written on one day over the next few days if needed. From a search engine perspective, it’s important to keep a site regularly updated to keep robots indexing the site at regular intervals. These are a few tips that can help you keep your blog alive and active.

Have any own blogging tips? Let me know in the comments!

Dec 30 2009

My top free apps for Android

Sure, there are a lot of top lists for Android applications. But there is not yet one for my top Android apps. So here are my top 5 (or so) applications for Android:

1. MyTracks

MyTracks is Google’s sports tracking software for Android, much like Nokia Sports Tracker is for S60 devices. With this application you can track your sporting (or other) routes and see statistics over your performance. The application lets you upload routes to Google maps and statistics to a Google Docs spreadsheet for easy analysis.

I really like this application as I bicycle a lot. Being able to measure routes and see average speeds, resting time vs moving time and other statistics really make working out more interesting (and geeky).  It allows you to concentrate on the sports performance without having to worry about pausing the application every time you take a break for instance.

[Image courtesy of Google]

2. Fring

Even though I mostly use Google Talk on my HTC Hero, I occasionally need to contact people without Google Talk accounts. Fring is by far the best application I have found to do this on the Android platform. Fring lets you access contacts on pretty much any imaginable instant messaging network, like MSN, AOL, Yahoo, Skype, as well as its own Fring protocol. To make things even better, the application has support for making Skype calls over 3G and WLAN, which has come in handy while traveling.

[Image courtesy of Fring]

3. Google Maps

I want to mention Google Maps even though it comes with the phone. I use the application almost daily, looking up nearby services or routes to places. The Maps application on the HTC Hero lacks navigation, which would definitely place this application at the top of the list. Once you have gotten used to having a GPS in your pocket, there is no going back.

4. handyCalc

This is probably the best calculator I have found for Android. It allows you to do simple calculations easily, but also supports much more. For instance, it supports solving equations, plotting graphs and converting currency. This application is a must-have for anyone that has to do some more advanced math once in a while and doesn’t like lugging around a Texas Instruments calculator all the time.

5. ConnectBot

ConnectBot is a very handy SSH client for Android. It allows you to easily connect to SSH servers and perform maintenance tasks without having to bring along your laptop everywhere. Combined with the large screen of the Hero, this application is really useful.

[Image courtesy of ConnectBot]

6. Bebbled

The final application on this list is a game. The game is much like Bejewled, and easily as addicting. The major difference is that it supports turning around the device have the blocks move to the “ceiling.” This brings a new dimension to the game and makes it really addictive.

[Image courtesy of Bebbled]

What are your favorite Android Apps? Please share any apps that you have found useful in the comments.

Dec 30 2009

How Apple lost an iPhone customer

Ever since the day the iPhone was released, I wanted one badly. The sleek design and intuitive user interface seemed like everything I could ever ask for in a phone. The marketing and hype easily made up for all the (major) shortcomings of the device, like the inability to have any third party applications. But as I waited it became clear that this device was not destined to come to Finland. Sure, many imported hacked iPhones from the US and were happy with them. But I was hesitant to put down money on a phone without any kind of warranty and whose functionality relied on a hack written by someone on the internet.

A year went by and the iPhone finally got 3G capabilities, like all the other phones many years earlier. Not only that, the iPhone now had the possibility to use and install third party applications. Watching Steve Jobs’ keynote on the device, I thought to myself that this device would probably again be limited to the US. To my great amazement, Jobs announced that the device would be available in many smaller European countries, Finland included!

At this point I was ready, my wallet in my hand, waiting for the phone to come out. But then disaster struck. Not only did Apple export their device to Finland, but along with it they exported the completely incomprehensible way of selling phones locked to carriers. There had never before been a phone that I couldn’t buy without a contract. The custom in Finland is that people can buy the phone they like, and then choose a carrier that suits their needs. The system works very well – Finland has among the cheapest cell phone rates and best coverage anywhere in the world despite being more sparsely populated than the US. Buying the phone separately also allows people to freely buy new phones when they come out and keep their existing phone number and services without interruptions.

Sonera was, and still is, the only operator in Finland that sells the iPhone. They are notorious for having the most expensive calls and text messages of any operator, in addition to the premium price of the iPhone. For example, changing from my existing provider would have meant that I would have paid 9.90€/month for 384kbps maximum 3G in stead of 9.90€/month for 2Mbps 3G.

I started looking at options. Some European countries, like Italy, had managed to coerce Apple into selling the device unlocked. Many Finns that were in the same situation as me, unwilling to sign a 2 year contract with Sonera, decided to import the devices themselves. The phones worked fine, but the problems started coming in as they began to break. The European Union dictates that the warranty of any product sold in the EU is valid in all other EU countries that have that product for sale. Despite this, I read several horror stories on forums about how people had tried to get Apple to fix their broken phones, but had got rejected. A few determined people decided to push Apple on the issue and finally got their phones sent for repairs. In some cases the phones came back operator locked to the countries from where they were originally purchased. The clear picture here is that Apple does not want to have their phones sold unlocked, even at full price.

After going through my options time and time again, I realized that I had in essence 2 options:

  • Pay almost 800€ for an unlocked phone from Italy without a working warranty
  • Sign a 2 year contract with Sonera and pay significantly more for the service I currently had

Since there really wasn’t an option that was acceptable, I decided to look into alternatives. Nokia had released the N97, which based on reviews and my own short tests proved to be a total failure, and was out of the question. Another alternative was the HTC Hero. Even if the first reviews complained about it being slow, I could see potential in the phone and finally decided to get one.

I have to say that having used Android for about 5 months now, I really couldn’t even think of owning an iPhone anymore. What Android lacks in esthetics it more than makes up for in functionality. Sure, multitasking makes the phone a bit slow at times, but having to close applications when switching between them is really not an answer for that. I like the fact that I can have a chat program on in the background, listening to Grooveshark while still being able to read emails when they come in.

What really excites me about Android as a platform is its openness. Unlike the iPhone App Store, anyone can have their application added to the Android Market. In the long run, with Android gaining a bigger market share, I can see more and more of developers switching to Android as their main platform. The risk of developing an application for the iPhone and not getting it approved to the App Store will surely make many developers choose the the open platform with the larger growth potential first.

Me not getting an iPhone because of Apples policies was annoying, but the big issue here is that Apple has most likely shot itself in the foot, allowing Android to take over a market that the iPhone once dominated. Google has clearly also noticed this and will be selling their upcoming phone without contract to those who want it.

Dec 30 2009

Nexus one rumor update

Today, Engadget had got their hands on leaked Nexus One documents, showing a unsubsidized price of $530 or an option of a 2 year T-mobile contract + $180. The price is certainly higher than the previously rumored $99-$199, but much more believable.

Interestingly, the agreement text hints at international shipping. If the device shipped to Finland, the price would be 370€ + 22% vat, totaling just over 450€. That would still be a very competitive price point, as Nokia N900 is selling for almost 600€ and other Android handsets at almost 500€. The Sony Ericsson Xperia X10 with similar specs is available for pre-order for 750€.

It will certainly be interesting to see if the phone is sold directly by Google, and if it will actually be an European version with the right charger. If the phone is sold through third parties, the price will probably be right up there with the X10 at over 700€.

Dec 24 2009

Merry Christmas

Merry Christmas everyone!


Dec 23 2009

Google wave invitation giveaway

As a present to all readers, I’m handing out 17 invitations to Google Wave. All you have to do to get your invitation is to be among the 17 first non-spambot commenters in this post.

Update: There are still 11 invites left.

Dec 23 2009

Digital TV in Linux

Watching digital tv in Linux with em2880 devices

Note: This post is from my earlier site. I moved it over here because I see that a lot of people are trying to access it without finding it. It is written in 2007, so all content may not be up to date. You can report successes/failures in the comments so I know if it needs to be updated.

I found a really cheap refurbished Pinnacle PCTV USB DVB-T receiver in my local computer store and after googling to make sure it supported Linux I bought it. Here’s how I made it work in Linux.

The USB stick itself is fairly small, although it is just wide enough to block the other USB port on my laptop. It came with a small antenna with a magnetic stand and a tiny remote. The antenna is connected to the USB stick with a regular antenna connector, you can easily connect it to a better antenna if needed.

In this article I’ll show you how I first set up the drivers for the tuner, then setting up kaffeine for viewing TV and lastly configuring the remote. The steps should be fairly easy to follow if you’ve used the console before – if not, just copy n paste and you should be fine.

This article is about the Pinnacle PCTV USB Stick DVB-T receiver, but the same steps should work for any device using the em2880 driver. According to the em28xx wiki, these devices should also work:

Digital devices:

  • Pinnacle/800e|Pinnacle HD Pro Stick (North American version, NTSC/ATSC)
  • Kworld 350 U DVB-T
  • Kworld 310 U
  • MSI DigiVox A/D (USB2.0)
  • Hauppauge HVR 950 (NTSC/ATSC)
  • Hauppauge WinTV HVR 900 M/R: 65008/A1C0
  • Terratec Cinergy Hybrid T XS – ZL10353
  • Terratec Cinergy Hybrid T XS – MT352
  • Terratec Cinergy Hybrid T XS France
  • Terratec Prodigy Hybrid T XS
  • Terratec Cinergy T XS – xc3028
  • Terratec Cinergy T XS – mt2060
  • Pinnacle PCTV USB Stick
  • DNT DA2 Hybrid
  • Pinnacle PCTV Hybrid Pro Stick
  • Empire USB 2.0 Pen Dual TV
  • BestBuy Easy TV USB hybrid

Analog devices:

  • Usbgear VD204v9
  • Leadtek Winfast USB II deluxe
  • SIIG AVTuner-PVR
  • Prolink PlayTV USB 2.0
  • Terratec Cinergy 250 USB
  • Pinnacle PCTV USB 2
  • Hauppauge WinTV USB 2
  • MSI VOX USB 2.0
  • Pinnacle Dazzle DVC 90
  • Kworld PVR TV 2800 RF
  • Hercules Smart TV USB 2.0
  • MSI Movie Vox
  • D-Link DUB-T210 TV Tuner
  • Gadmei UTV 330
  • Gadmei UTV 310
  • Supertronindia Supercomp TV USB 2.0

Programs needed

You will need the following programs for this to work, we’ll install everything up front so we can concentrate on the more interesting stuff later.

  • a recent kernel with sources, 2.6.15 and newer should be fine (install kernel-sources in SuSE)
  • Hg from (in SuSE you should find a package named mercurial)
  • kaffeine with the xine engine (in SuSE, add packman and guru repositories and install kaffeine, libxine and libxine-dvb)
  • lineak with kde plugin (on SuSE, install lineakd, lineakd_kde and lineak_defaultplugin)
  • gcc compiler, is included on most distros by default
  • dvb package (dvb in SuSE)

For Ubuntu (Edgy) you’ll need the following packages:

All should be available from the default repositories, make sure to have the “Universe” repositories enabled (under System>Administration>Software Sources).

  • mercurial
  • gcc
  • build-essential
  • linux-source
  • linux-headers-`uname -r` (the linux headers for your specific kernel version)
  • kaffeine (version 0.8 or above. Other dvb watching applications will work as well but only kaffeine will be covered here)

Otherwise the install works the same as for SuSE.

Downloading and compiling the driver

Some users will need a firmware file to make their devices work, if you see your device listed here follow the directions, if not continue on to installing the driver.

These devices need firmware version 1:

  • Terratec Cinergy Hybrid T XS (french edition)
  • Terratec Cinergy T XS
  • DNT DA2 Hybrid
  • Kworld 350U

These devices need firmware version 2:

  • MSI DigiVox A/D
  • Kworld 310U
  • Terratec Cinergy Hybrid T XS (USB ID=0ccd:005e)

These devices need firmware version 3:

  • HVR 900 B2C0(sticker on the dev.)
  • HVR 900 A1C0
  • Terratec Cinergy Hybrid T XS
  • Pinnacle PCTV Hybrid Pro
  • Pinnacle PCTV Hybrid Pro Stick (320e) (USB ID=eb1a:2881)

These devices need firmware version 4:

  • Pinnacle HD Pro Stick (North American version, NTSC/ATSC)

These firmware files can be obtained from here.

IMPORTANT: Download the file into /lib/firmware, then extract them with “sudo tar zxvf filename.tar.gz”
Getting and installing the driver

Create a folder somewhere convenient.

mkdir driver

Now, go into that directory and type

hg clone

Which will download a copy of the driver sources to your directory.

Compiling the driver varies a bit depending on if you had to download the firmware or not. If you had to download it keep reading here, if not skip on to part b.


cd v4l-dvb-kernel/v4l
sudo make install

You now need to reboot (bookmark this page so you’ll find it again).

The fun part

Hi and welcome back, I hope the boot didn’t take too long.

If everything has gone well you should be a few short steps away from viewing tv on your computer.

We still need to load the driver we compiled earlier, as root type in the following.

modprobe em28xx

You shouldn’t get any messages, just be returned to the prompt.

Open up kaffeine either from the menu, or from the console by typing ‘kaffeine’. It should recognize that you

have a dvb adapter and ask you for some additional info.

Select your location and check that everything else is in order and then continue.

In kaffeine you have in the menu bar a DVB menu, select channels from that. Now just press scan and hope. If all went well you’ll soon start seeing all the channels that have been found. If you can’t find any channels its most likely because of the tiny little antenna that came with the tuner, either try going to some place with better reception, or plug the antenna cable to a roof-top antenna.

If you’re happy controlling your viewing with a mouse and keyboard, you’re done. If you want to get the remote to work as well stay with me for a little while longer.

Setting up the remote

The remote is just another input device to the system, just like the extra buttons on newer keyboards, so I decided to use lineak for the task.

I used xev to get the different key codes the buttons on the remote are sending, unfortunately not all of them sent anything. I don’t know if this is just something that’s wrong with my remote, or a “feature”.

Anyway, here is the section to that I added to /etc/lineakkb.def:

#### Pinnacle PCTV USB Stick Remote ####


  brandname = "Pinnacle"

  modelname = "PCTV USB Stick Remote Control"


    Mute             = 160

    Record           = 177

    Power            = 222

    Rewind           = 152

    Stop             = 232

    Play|Pause       = 110

    Forward          = 233

    VolumeUp         = 176

    VolumeDown       = 174



#### END Pinnacle PCTV USB Stick Remote ####

If you find the missing key codes, please leave a comment and I’ll update this.

Save the lineakkb.def file and as a regular user type:

lineakd -c PCTV

It will create a configuration file for your keyboard in ~/.lineak/ named lineakd.conf

In this file you can set up what you want all the buttons to do, below is a mine as a sample:

 # LinEAK - Linux support for Easy Access and Internet Keyboards

#  Copyright (c) 2001,2002, 2003

#     Sheldon Lee Wen <> (Current Maintainer)

#      and Mark Smulders <>



# lineakd configuration file


# example key configuration:

#     play    = "xmms --play-pause"

#     eject    = EAK_EJECT


# Lineakd supports the following modifier keys:

#    control alt shift mod2 mod3 mod4 mod5

CdromDevice = /dev/cdrom

Display_align = center

Display_color = 0aff00

Display_font = -adobe-helvetica-bold-r-normal-*-*-240-*-*-p-*-*-*

Display_hoffset = 0

Display_plugin = internal

Display_pos = bottom

Display_soffset = 1

Display_timeout = 3

Display_voffset = 50

KeyboardType = PCTV

MixerDevice = /dev/mixer

RAWCommands = 

Screensaver = 

conffilename = /home/marcus/.lineak/lineakd.conf

keystate_capslock = 

keystate_numlock = 

keystate_scrolllock = 

Forward = "dcop kaffeine KaffeineIface posPlus"

Mute = "KMIX_MUTE"

Play|Pause = "dcop kaffeine KaffeineIface pause"

Power = "kaffeine DVB"

Record = "dcop kaffeine KaffeineIface fullscreen"

Rewind = "dcop kaffeine KaffeineIface posMinus"

Stop = "dcop kaffeine KaffeineIface stop"

VolumeDown = "KMIX_VOLDOWN"

VolumeUp = "KMIX_VOLUP"

As you see, I had to put the record button to control full screen toggling, as I couldn’t get the key code for the real full screen button. Please check the lineak documentation for additional commands, as well as typing ‘dcop kaffeine KaffeineIface’ to get a list of all the commands you can send to kaffeine.

To start type


To start lineak automatically with KDE make a symbolic link like this:

 ln -s /usr/bin/lineakd /home/marcus/.kde/Autostart/

So that’s it, now you should be able to enjoy your favorite tv shows on your computer and control it with the remote (although the effective distance on the remote is probably less than the length of your arm :)


The em28xx wiki check this wiki if you have any problems, they are probably solved there.

Lineak documentation

Dec 23 2009

Lumix DMC-TZ7 purple dots on display

I bought a Panasonic Lumix DMC-TZ7 camera a few months back and recently noticed that it had developed a cluster of purple dots on its display. The dots are in the upper right quadrant of the display and can be seen in the image below (click to view full size image).

The weird thing is that the pixels do not seem to be stuck, they are only purple against a darker color. The dots are invisible when viewing a menu with a white or yellow background. I’ll have to take the camera for warranty service, but I was interested in hearing if anyone else has seen these types of dots and might know what causes them.

Dec 23 2009

Google Nexus One rumors and walkthough

Lately, there have been a huge buzz around the internet about Google starting to sell their own Android-based handset.  Apparently, Google has given out phones, called Nexus One,  to Google employees for internal testing before the launch. This has resulted in a lot of blurry pictures and descriptions of the new mystery device.

If this is a marketing stunt by Google, which I think it is, its very effective. The device certainly looks good.

Engadget had managed to get their hands on one of the devices and seemed to be very impressed. They noted that the Nexus One has: “… probably the best screen we’ve seen on a smartphone so far.” They were also impressed by the speed of the device, something that has been a major issue for most Android devices so far. Comparing browsing speeds they noted:

When comparing the three phones in loading a webpage over Wi-Fi, the Nexus One loaded first, the iPhone 3GS came in a few seconds later, and the Droid came in a little while after that. This was constant throughout many webpage loads, so it’s indicative of something going on inside with the hardware.

A video walkthough of the interface looks very promising. The interface moves quickly, and the screen seems very spacious compared to my HTC Hero.

The Nexus One is rumored to be sold without contract, for $199 or $99 for existing Google account holders. If this is true and Google sells the phone to Finland, I’m definitely getting one. The low price point seems too low to be true. If it is true, I’m sure that Google will have some ads and/or usage monitoring to recoup the hardware costs.

Reuters reported that the phone should go on sale directly from Google on January 5th. We’ll just have to wait until then and see which rumors are true.