Friday, December 30, 2011

Recording the N9/N950 "desktop"

More as reminder for myself, but here goes.

This has more-or-less been posted on many forums, but not with the flipping. gstreamer comes with a nice element for it, videoflip, worked fine on my desktop but didn't like to link on the phone, after some head scratching I found that it needed a colorspace conversion both before and after for some reason.

gst-launch-0.10 -e -t -v -m ximagesrc ! videoscale ! videorate ! \
 video/x-raw-rgb,framerate=${R}/1,width=${W},height=${H} ! ffmpegcolorspace ! \
 videoflip method=clockwise ! ffmpegcolorspace ! ${ENC} ! \
 avimux ! filesink location=desktop.avi

Tuesday, December 27, 2011

A Nokia Lumia 800

This arrived just before Christmas. Thanks Santa :).

Nokia Lumia 800

As I already have a N950 I'll let me gf use the Lumia 800 (replacing a Nokia E51), she promised to write a review for this blog. Might get a more objective one from her (as I'm a Windows hater). She was already "ooh, it's fast" and "nice big screen, now I can watch youtube".

Upgrade your dx bluetooth module firmware

The cheap bluetooth modules available on dealextreme have a very limited firmware (Linvor HC06), fortunately it is possible to change it! Found this blog the other day that explains the procedure of changing the firmware to HC05.

I haven't tried it yet as the SPI lines need to be connected, an well, it's not easy to solder anything to that tiny thing.

Qt and QtQuick/QML resources for N9/N950 development

Finding documentation and other resources for N9 (and N950) development is not hard, but it's a bit too spread around. Generic Qt information can be found on the Nokia Qt site, then N9 specific stuff are in another place. Then there are at least 3 forums to follow.

I started writing this some time ago already, I was going to write some more later when I had time but this post is more or less what I was about to write. So there, go read it.

Thursday, December 08, 2011

My über soldering skilz aka Bluetooth module test rig

So I got a bunch these teenytiny bt modules, I didn't release that they where that small, so soldering was going to be a small challenge.

After some thinking i decided to try if even some of the solder points would match with the vero-board pitch, luckily they did so I first anchored the module on this points and added to extra connections that was needed. Luckly not that many, tx/rx, vcc and gnd.

Bluetooth module test rig
Ugly, but it works :)

Sunday, November 13, 2011

Qt SDK upgrade

So there is an update for the SDK now. Should I just do it ? I've had too many problems with previous upgrades that I'm just a tiny bit skeptical that it-will-just-work.

Friday, October 28, 2011

More Arduino toys

I ordered some stuff from DealExtreme to play with. An Ethernet Shield and a very tiny bluetooth transceiver module. It's going to be a challenge to solder something to it :)

Ethernet Shield and Bluetooth module
It's the cheaper version of the network shield, so no TCP/IP stack included on any chip, just an Ethernet over SPI chip (the ENC28J60), but still an easy to use chip over SPI from the Arduino. And of course there exists a library for it so using it is very easy and there is nice example code available, I made a quick test just to check that the shield works using the DHCP example.

The bluetooth module should be extremely easy to use, after somehow soldering some wires to the tiny thing. I'll let you know how it goes.

Wednesday, October 26, 2011

Garmins OpenCaching geocache service

I've been a semi-active geocacher for 2-3 years now, using, but I've been trying Garmins OpenCaching now for awhile.
I must say it is much nicer in many ways, they offer an open API, with data under the Creative Commons Attribution Share-Alike 3.0 License. And the best part, no payments to get more features (who the hell pays for anything on the Internet ? Not me).
OpenCaching caches in Turku area
The API especially is interesting, I might do something with that soon. I even got off my ass and asked for an API key a couple of days ago.

I have only two caches hidden right now, but I'm planning on adding more soon.

The service is not very popular yet here in Europe but I do see new caches popping up now and then, even here in Turku.


Monday, October 17, 2011

QML DatePicker giving a headache ?

More as a note-to-self but maybe someone else has the same problem. I was trying out the QML DatePicker from and it just didn't like to work in the Simulator. After some random clicking around I found the solution, make sure you have selected "Harmattan" as the platform in the Simulators "Application" configuration tab.

Wednesday, October 12, 2011

I was given a laptop as it was "broken"

I was given an old laptop by a co-worker last week as it had broke down according to him and he was about to throw it away. As a computer enthusiast and collector I wanted to check it out first, even just for parts. I assumed that probably the memory was faulty and ran memtest86 for a while, no problems there. Well, what the hell, let's see if it boots... It wasn't that broken after all.
The only problem was Windows XP didn't start properly, just bluescreened and instantly rebooted. Boot into rescue mode from the XP install disk and a chkdsk run fixed that problem and the laptop "works" just fine again.
And if that wouldn't have fixed it a "simple" re-install would have been the other option.

This started me thinking, how many computers are considered broken by normal computer users just because it won't boot ? And how many of these computers are thrown away ?

Monday, October 10, 2011

The Smurf got its name(s)

Yep, I'm an Uncle, "again". My sister got a small boy a couple of months ago, the temporary name they use (used? let's see how it goes :) was Smurffi. He got a proper name yesterday. The event was different, neither parent belongs the church, so no traditional Ristiäiset this time. We had to guess the names given, using pices of paper with letters. It was actually much more fun event than a traditional one.

Oh, the name ?

Linus Frans Mikael
Let's hope the name leads to something big :)

Friday, October 07, 2011

Now for something completely different, Tori Amos, Helsinki 28.09.2011

Amazing! Tori Amos released her new album, Night of Hunters, a couple of weeks ago. I had mine pre-ordered from for some time and it dropped in the next day of release. It's very different from her previous work, released on a classical label and all songs are inspired from classical works by classical masters. Listening to it needs complete focus, it can not be in the background, imho.

The Night of Hunters tour started here in Finland at the old Helsinki Ice-hall on the 28.09.2011. The show was absolutely amazing, she played most songs with a quartet and some solo. I tried to tweet (@oniongarlic) as much of the set list, but my song title memory is not the best, also I didn't recognize all the new songs.
From the new album, my favorite is Star Whisperer (and Carry), especially after the live performance, it's just amazing.

Set list:
  1. Shattering Sea
  2. Graveyard
  3. Suede
  4. Baker Baker
  5. Fearlessness
  6. Mrs. Jesus (solo)
  7. Marianne (solo)
  8. Girl Disappearing
  9. Cloud On My Tongue
  10. Star Whisperer
  11. Running To Stand Still (solo) [U2]
  12. Sister Janet (solo)
  13. Caught A Lite Sneeze (solo)
  14. Cruel
  15. Nautical Twilight
  16. Snow Cherries From France
  17. Winter
  1. A Multitude of Shades [Apollon Musagete Quartet piece]
  2. Your Ghost
Second encore
  1. Mr. Zebra (solo)
  2. Tear In Your Hand (solo)
  3. Silent All These Years (solo)
  4. Carry
(Shameless copy from undented)

A very good recording is available on but to not completely go no-computer-geek with this post, I took this as a nice opportunity to test the N950 microphone quality and recorded the whole thing. Absolutely amazing quality for a phone, check out a sample here. And to be more geeky, I had to do the recording using gstreamer from the CLI as the currently available recording app on Ovi store records in a silly 32-bit, 22Khz, mono format, how strange is that ?
Anyway, this did the trick nicely:
gst-launch-0.10 pulsesrc ! audioconvert ! 
 audio/x-raw-int,rate=44100,width=16,channels=2 ! 
 queue ! wavenc ! filesink location=rec.wav

Qt SDK install problems

I've installed the Qt SDK many months ago, kept it updated and so on but never really got motivated enough to start trying out anything more than looking at the examples and tutorials.

Finally got motivated to trying out some QML and everything was broken. Missing files, simulator didn't do anything just got stuck.

For example this (and I'm not alone with this, see comments here):
module “Qt.labs.components” is not installed 

Re-installed using off-line installer, that didn't work, even after installing everything for Harmattan available in the maintenance tool the simulator didn't have an entry for the N9. So after a rm -rf ~/QtSDK and re-install using the on-line installer I finally got it working.

The strange thing was that everything works perfectly on my home computer, 64-bit and using own linux distro. All problems was on my work Ubuntu laptop.

Anyway, now I'm able to do my first proper QML app, more on that later, stay tuned.

Thursday, September 08, 2011

N950 module playback packages

And if you would like to test module playback on your N950 or N9, then you can install the armel packages available at

You need these two:
Just install with dpkg and that should be it.

(Let me know if it works, especially if you have a N9 with the rumored to have more up-to-date firmware than the one on the N950. Thanks.)

N950 module playback

Preliminary testing of adding module playback support to the N950 (and N9). Getting playback didn't require as much work as for the N900, tracker already marks modules as audio and the media player picks them up, but can't play them as it's missing the required gstreamer element (modplug).

A proper tracker miner would be a plus, as right now all modules get dumped in the "Unknown artist"/"Unknown album" categories and the filename is used as the title. Not nice.

Anyway, my first talkie:

Tuesday, August 30, 2011

Something about a date and the N9

I was lucky to see a calendar with something written about the Nokia N9. Let's see if it is correct :)
And don't ask, I ain't telling.

Something nice in the mail

I was on holiday in Greece when the N9 and N950 was announced so I missed the opportunity to get a developer device, as I didn't spend much time on-line. Fortunately I was able to get on the next 50 devices and a couple of weeks ago something nice came in the mail.
Thank you Nokia.

Friday, July 22, 2011

Vacation is fun, but not when your systems decide to go on one too

Typical. I was on a 4 week vacation, the first two weeks in Greece and the last 2 weeks around Finland. I was semi on-line only, checking my mail, twitter and facebook from time to time, but kept myself away from anything work related or coding, including my various maemo projects. So I never checked my web sites...

My database virtual Xen machine had decided to go off-line, or to be more specific the virtual network from the database server to the rest had died for some odd reason. Other virtual machines in the same host and network where just fine. And the database server was also running.

Anyway, everything is up and running again now. Enjoy,, and

Wednesday, May 25, 2011

More openstreetmapping of Limnos, Greece

It's only 4 weeks until our 2 weeks holiday on Limnos. I've made pretty good progress on mapping from the bing satellite images, the island is not empty anymore, but there is still plenty to do. The costline is still blocky in some places, not a big priority but goes with the beach mapping nicely.

I've started to draw forest (what little there are, not much), scrubs and farmlands also to get the island to look more "green", the default grey must be somekind of psychological way to get people to draw nature areas...

Some details:
But as you can see, there is still very much to do, plenty of tiny tracks and a lot of farmland to draw. And beaches as there are many of those all over Limnos.

    Thursday, April 14, 2011

    New camera-ui in CSSU

    There is a new, open, camera-ui in the latest CSSU. It looks like to the but has some impressive new feature also. Distance to focus point, configurable startup/shutdown of camera app, more geotagging options (gps/location), image effcets, triggering from touch screen, timer and quick access to White balance and ISO sensitivty settings.

    Screenshots below:
    New camera-ui main interface, notice the new focus distance information, timer, trigger, image effects and the two 'A's

    New startup/shutdown options
    Look just like the original

    Now you can select how to geotag your images, with GPS position and/or textual location

    Capture timer

    And last, image effects.

    Great work! And thanks to the whole CSSU team for their awesome work.

    Thursday, April 07, 2011

    gdspeak, a D-Bus espeak service

    I've been planning on doing this for a while now (a year or so, sigh), a simple and easy to use D-Bus service for speech output, using espeak.

    What it does is queue text with a simple priority system, with just a few simple D-Bus calls. There are two interfaces, on fire-and-forget and one that can be used for tracking the output so calling applications know when it's speech has been output. It will also send signals for spoken words and such. Language and voice settings can be changed.
    Currently LC_MESSAGES is used to set the default voice, but a proper control panel applet is planned.

    It is still work-in-progress but works mostly. My current problem is that when using pulseaudio output espeak won't report any events. Testing version is available in extras-devel, but not recommended yet for any serious use.

    •  Fix the event reporting
    •  Make control panel applet

    Sunday, March 20, 2011

    Arduino and GPS

    I found a a cheap GPS module from a finnish electronics dealer, Partco, for only 10€. It's a bit old, from 2004 but whatever, it's cheap :) It's a Fastrax uPatch100 with a Sony chipset (CXA3355 and CXD2956). There are four different models, but the only one available is the -C9 with CMOS level serial output. Acctually that is perfect as the Arduino as you can plug it directly into the arduino (well, almost, TX can, RX needs a level conversion as the Arduino I/O pins are 5v).

    I did it :)
    The module outputs plain NMEA so it's easy to parse. You can also talk to it and set different parameters. Datasheets are available on the net, just google for uPatch100 and you should find them.

    Anyway, I'm not very experienced with electronics but I've done my fair share of soldering, but mainly easy stuff like making my own RCA or RS-232 cables. Or easy "high" pitch breadboard.

    The pitch of the device was a bit scary at first, but I was able to solder a ribbon cable just fine after some careful soldering.

    I used a long flat cable and a IDC for easy attaching for any GPS project. I didn't have a female IDC connector so it cut one from an old motherboard serial port adapter and soldered that to a breadboard. And on the breadboard a pin strip for easy plugging to a solderless breadboard.
    I made a very simple arduino sketch to read the serial TXD0 port from the module and output it to the serial port. I used the softserial library and first thought it was the reason for the problem I had. Only the first couple of NMEA messages came trough succesfully and then output stopped. The datasheet mentions for the RS-232 level module that "RXD0 line must be electrically connected in the uPatch100-Rx versions even if it is not used!"
    My module was not the -Rx version but I connected RXD0 to ground and that fixed my problems. Clear NMEA messages startet coming!

    Next is to make something fun with all this :)

    Sunday, March 13, 2011

    Deciding on vacation destination and mapping the destination

    Me and my gf finally decided where to go this summer, first the country and the final destination. We where to Parga, a nice little village in Greece, last summer and fell in love with greece. Friendly people, very good and cheap food, especially the sea food.

    So, it was easy to decide on Greece for the country this year too. Then to pick the destination. After looking around in various (finnish) travel agencies we found Limnos (or Lemnos) (Λήμνος). Aurinkomatkat had a cheap 2 week package, but when we finally had decided, it had gone. But who cares about packages... so we just booked the flights EFHK-LGAV-LGLM-LGAV-EFHK from blue1 and now we are looking for somekind of hotel.

    Anyway, I beeing an openstreetmapper (and semi-active geocacher) checked out the map of Limnos.. google maps sucks, bing sucks and openstreetmap sucked, but not anymore ! Thanks to the Bing satellite images available I've been tracing roads couple of hours per day now for almost month and it's starting to look like something now.

    My target is to have every single road that I can see from the satellite images drawn before going, so I have about 3.5 months time to do it :)

    Unfortunately there are only on geocache on the whole island.

    Arduino and a 16x1 LCD (Displaytech 161A)

    Got myself an Arduino last year, unfortunately I didn't have time to get into it that much yet, but I started playing with my LCD display today. You would imagine that the LiquidCrystal library would take care of the 16x1 display but no, it needs a bit on tweaking as you have to address it like a 8x2 display.
    Below is my very simple serial monitor testing code. It will just take whatever comes in from the serial line and write it to the display and wrap to the beginning every 16 character.

    /* Testing code for using a 16x1 LCD display with Arduino LiquidCrystal library.
       LCD used is a Displaytech 161A 16x1 display.
      See this page for an explanation how it works (161A is a "Type-1"):
    LiquidCrystal lcd(12, 11, 5, 4, 3, 2);
    int c=0;
    int r=0;
    void setup(){
      lcd.begin(8, 2);
    void loop()
      int i=0;
      if (Serial.available()) {
        while (Serial.available() > 0) {
          if (i==-1)
          if (c==8) {
           r=(r==1 ? 0 : 1);

    Monday, February 28, 2011

    N900 RSS reader hacking, part 2

    Making some progress, now with pannable feed list, pannable folder management (that broke the folder management, sigh) and more finger friendly text entries. First try at stopping the annoying connection dialog spamming didn't work, I must have missed something somewhere. No surprise there, the code is a mess.

    Testing packages available at you need both osso-rss-feed-reader-lib and osso-rss-feed-reader debs.

    Finger friendly text entries

    Pannable feed list

    Friday, February 25, 2011

    N900 RSS reader hacking, part 1

    I'm pretty happy with the RSS reader in the N900 (and 770+N8x0), it works pretty much ok and does what it's supposed to do. But Nokia didn't do a very good work in porting it over from the old tablets. A lot of non-fingerfriendlyness, no portrait mode, and does not really follow the windowing method used by for example the e-mail app.
    I've been thinking about doing something about it for a while now and the CSSU work inspired me to take a look at it.

    First was to get rotation and portrait mode working, that was pretty easy, pretty much a copy&paste job from my rotation code in Mapper.When rotated it hides useless functionality from the toolbar.

    Next up is fixing the layout in portrait mode, as currently it sucks, as you can see below:

    Thursday, February 24, 2011

    "The Wise Man's Fear" is out !

    I've had it on pre-order from since the summer of 2009. Now it's finally out, just got mail that it has been posted. Yay :D

    Wednesday, February 23, 2011

    Maemo CSSU in images

    Fortunately for the N900 the maemo community is very much alive still. And now with some proper updates to the system itself with Community Seamless Software Update or CSSU. Main focus has been on enabling much requested features (portrait mode) and bug fixes. The textual changelog is a bit dry and searching the forum is a pain, imho.
    So below you can find some of the new features of the CSSU in pictures. Enjoy!

    Portrait USB connection dialog

    Application manager is patched to support portrait mode properly.

    Portrait mode Application Manager

    Settings now supports portrait mode. Two appplets, osso-applet-notificationlight and osso-applet-display have been replaced with FOSS clones. And a new applet for displaying credits for the CSSU has now also been added. The reason for not changing the system version that is displayed in the "About product" dialog is to keep the system compatible with Ovi requirements.

    Settings now supports portrait mode

    Rewrite of Display applet, in portrait mode

    Rewrite of notification light applet, in portrait mode

    New CSSU about dialog

    Application list supports portrait mode too

    System main menu works in portrait mode

    Tuesday, February 22, 2011

    Wine extras building progress

    Got the wine package building on extras as you might have noticed. Next is to tidy up the package a bit and make it semi usable.Adding a winemine desktop entry that is :)
    Not much else that you can do currently with wine on arm, unless someone likes to port some windows apps.