Vintage Computer Festival Berlin 2016

I visited the VCFB also this year. This time I don’t have much to write about it, instead this is just a placeholder to advertise I did manage to take a few pictures which you can see from the link below.
This time the highlight would have been a presentation from Naomi Weizenbaum, daughter of Joseph Weizenbaum who has the creator of the Eliza psychotherapist program. Unfortunately she did not show up. However I enjoyed once again the great selection of vintage computing, this time, as compared to the previous year, there were some interesting mechanical calculators on display – it was great seeing how the algorithm for division works mechanically.



Vintage Computer Festival Berlin, 2015

I visited the Vintage Computer Festival Berlin on 4th of October, 2015. The event was situated at the Pergamon Palais, a building of the Humboldt University right close to the Pergamon Museum and across the street from the Zwölf Aposteln restaurant.

Full set of pictures on flickr


UPDATE 2016.10.02 I also visited the VCFB 2016 event a year later. See it here:

Operating the PDP-11/70, a VT-100 terminal on the right
Digital PDP-11/70

Unfortunately I was not able to attend on Saturday. I would have greatly enjoyed the talk by Lee Felsenstein, the designer of the SOL-20 and Osborne 1 computers and an early visionary, who saw the social aspects of computing already in the early 70’s when the people who coined “social media” were not yet even born.

Despite that I was able to see and experience a great range of computers that until then I have only read or heard about. Some of the highlights include a collection of Digital PDP-11, PDP-8 and PDP-10 systems or parts, Felsenstein’s computers SOL-20 and Osborne 1, a selection of interesting DDR hardware including Robotron CM 1910 running Unix, analog computers, a fully functional BTX terminal featuring a live connection to a server providing info about the VCFB event (!), and a full Commodore PET 2001 setup with the 3040 dual floppy drive and the 3022 printer.

There was a separate Game Room set up with gaming machines of various eras which were available for anyone to play, including a couple of arcade machines, 80’s 8-bit computers such as the Atari 800 XL, early game consoles such as a Colecovision, Philips VideoPAC, Vectrex, and peculiarities such as the Nintendo Virtual Boy, a virtual reality headset + handheld console all-in-one that is a clear precursor of the Oculus Rift.

Another great idea was a soldering workshop for kids. Kids these days don’t know how to make a damn they say, well, after this workshop I think a couple of them will.

I attended a talk by Jörg Schilling about the history of UNIX which I found interesting, though I have read and heard about this a few times before.

I couldn’t wait for the prize draw – there was a vote on which exhibition was the best. I voted for the PDP-8 setup! I will definitely visit this event again next year.

A BTX (Bildschirmtext) terminal displaying VCFB info pages Digital PDP-10 The SOL-20, the computer designed by Lee Felsenstein Commodore Pet 2001, 3022 printer and 3040 dual drive floppy driv Game room with Atari 800 XL on the front

See more pictures on flickr

OpenVPN WiFi AP performance of Raspberry Pi vs. Raspberry Pi 2

I’ve been running an OpenVPN WiFi access point on my Raspberry Pi for a while now. This AP tunnels my devices seamlessly to a  VPN server in Finland – for example, ChromeCast, Android tablets etc.

The performance has been usable, but not great.  I should be able to get  over 30 Mbps over my current Internet connection, using the VPN server of Nebula in Helsinki, Finland. The original Pi is not that great in the CPU performance department and additionally it seemed like it was not able to handle the interrupts generated by the Ralink RT2870/RT3070 based cheapo WiFi USB dongle either.

So when the Pi2 was announced and after I figured that software-wise, it’s going to be a drop-in replacement if you’re running the most up to date version of Raspbian (a very nice job, by the way!), I ordered it to see how much things would improve.

Raspberry Pi 2 model B with Ralink USB Wifi dongle

It arrived yesterday and after transferring my SD card image to an Micro-SD card, I just connected the cables and booted it up. Yep, it Just Worked(tm). After a while I figured it’s still applying the overclocking settings meant for my old Pi, and selected the new frequencies meant for the Pi2 in raspi-config. I even bothered to try to make my Prolific PL2303 USB-serial adapter to work with my Mac again (it broke sometime after I upgraded to Mavericks or Yosemite) to make analyzing the board easier. For that, I found that the following driver package worked after rebooting my machine:

So everything apparently works now, and I did some non-scientific quick and dirty benchmarks using the infamous application. I ran the same benchmark against the same target server three times and picked the best result out of the three. Here they are:

  • Raspberry Pi 1, running at 700MHz: 5.34 Mbps
  • Raspberry Pi 2, running at 1000Mhz: 17.06 Mbps
  • Raspberry Pi 2, running at 1150Mhz (see below): 18.11 Mbps
  • Core i7-4771 PC running at 3.5GHz: 34.99 Mbps

So, a huge improvement and as easy as it can be; however there is still room for improvement. Maybe there are ways to tune the OpenSSL setup for improved performance?


Update1 23.02.2015:

Soon after I wrote this article, I started to experience problems with clients dropping off from the WiFi AP all the time, and this showed up in the /var/log/daemon.log:

hostapd: wlan0: STA xx:xx:xx:xx:xx:xx IEEE 802.11: deauthenticated due to inactivity

I workaround suggested on the Internets – to disable WMM by putting


into hostapd.conf, did not help. What did seem to help though was to update my board’s firmware, kernel, modules etc. with the rpi-update command. It’s been running fine for a day now.

Update2 28.2.2015

I started experimenting with overclocking. When I posted the results above my Raspi was running with the following overclocking settings:


My VPN provider uses the 128-bit Blowfish cipher so this is the most important CPu benchmark I can use. With these settings, the command

openssl speed bf-cbc

reported the following results:

blowfish cbc 19095.24k 21153.30k 21657.60k 21785.94k 21826.22k

. After some experiments I ended up with these settings:


With these settings the openssl benchmark reported

blowfish cbc 21917.48k 24319.51k 24907.61k 25054.21k 25100.29k

which is roughly a 15% increase. However this only translated into a speed increase from 17.06 to 18.11 Mbps, which is not that much. Even so, I believe more could be gained from increasing the Blowfish processing speed further. Other things to try are to test with a “better” WiFi dongle and figuring out if OpenSSL can be tuned somehow for more performance.

Update3 18.5.2015:

The “deactived due to inactivity” problem was not really solved by updating the firmware. I finally tried putting the WiFi dongle in a powered USB 2.0 hub, and it has been working stable ever since.
My VPN provider has some problems and their server is nowadays too slow for any serious use. I tried a new one – I found another VPN provider with a Finnish server that gives you a OpenVPN config file – and now I have good performance again.


Some stuff from IFA 2014

IFA Berlin 2014This Sunday I decided to skip enjoying the last warm sunny day of the summer, and go and see what’s cooking at the IFA 2014 Consumer Electronics fair in Berlin. This is not an exhaustive professional report in the way the big established blogs and magazines do, instead I am just going to mention a few things that I saw there and what I thought of them – in my own style. Some of the gadgets I saw were not brand new, having been on the market for a few weeks or months already, but I just happened to see them there for the first time. So, in random order, here we go:

Update1: Added a full photo set to Flickr

Samsung Gear S

Let’s say I’ve been sceptic of the first wave of smartwatches. My suspicion has been that they would be too large, too cumbersome, consume so much battery that they would be a bother to maintain, and ultimately useless… but, the Samsung Gear S was not THAT large, not THAT cumbersome, (battery life I couldn’t comment on without using it on a daily basis)… and it wasn’t THAT useless either.
The HERE-based Navigation feature seemed like a genuine thing. It was a bit slow in finding a route to the restaurant “The Bird” (my standard navigation test in Berlin) and typing the name of the venue was a bit hard on such a small screen… but it did work. For turn-by-turn walk navigation, that is. A tiny map display would sometimes work wonders in augmenting my sense of where I’m going though. Also I see a lot of potential in adding support for HERE Transit, too!
So, the tech is promising but I am going to wait for the second or third generation before considering purchasing anything… The thing has to become less bulky for starters.

Samsung Gear S


Samsung’s Galaxy Tab S 10.5

Having recently bought the Samsung Galaxy Tab Pro 10.1 for it’s impressive screen, performance and good size+weight, I was positively impressed by the flagship S model. The screen was even better than on the Pro, and remember I said I bought the Pro because of the awesome screen it had! The overall build quality and feel were also much improved – and good thing too, because the cheaper Pro model does have a decidedly plasticky, creaky feel to it and the cheap metal band surrounding the tablet frame fails to hide the fact. Well, you get what you pay for; the S model is almost 200 euros more expensive.
It is such a shame how Samsung continues to degrade the apparent feel of performance of their products by adding their own UI tweaks and features though.. and there is no Cyanogenmod build for the Exynos SOCs that are used in the Galaxy Tab S and my WiFi Pro model, as of yet anyway. Doing such large changes on their own also makes it harder to keep up with Google’s latest Android releases, so I wonder how long will it take them to upgrade to the Android “L” release.

Samsung Galaxy Tab S 10.5


The Sony XperiaZ3 Tablet

This felt like a Samsung Galaxy Tab Pro 8.4 but with a far better build quality. It had a firm metallic feel, no creaky plastickyness. It also felt incredibly thin and it was easy to hold in hand. Apparent performance was snappier than in any of the Samsungs – maybe because Sony didn’t add so many poorly optimized UI tweaks as Samsung did. I’d get this if I didn’t think 10″ is my optimal screen size (having moved up from 7″.)

Sony Xperia Z3 Tablet Compact


Nokia/Microsoft Lumia 930 

Not exactly a new phone anymore either, having been announced in Spring of this year, this was the first time I got to try one anyway. Well, it’s a clear logical improvement from last year’s Lumia 920. Apparent performance has improved a lot, especially in apps like Here Maps where panning and zooming around in satellite view was really snappy.
They were handing out Nokia lanyards at the Microsoft phone exhibition in the Deutsche Telekom area, which could well be the last IFA where they will be doing this.Nokia Lumia 930


Lumia 1030 rumours

I spoke to two Microsoft employees and asked about a follow-up model to the record-breaking Lumia 1020 supercamera phone. They of course couldn’t tell me about unannounced products but went on to hint that I should wait 2 weeks and see what happens; and that “I would definitely buy it” without saying anything about the “it”…

I wonder if I would though. Upgrading Windows Phones isn’t as easy as it could be. Backup/Restore is not so great, at least if you’re used to the reliability possible on desktop operating systems. While the OS does back some things up and you can restore these things onto a newer device, not everything gets backed up. Any app that does not save it’s data in the cloud basically loses it’s data when you factory-reset your phone or upgrade to a newer model. With apps I mean games, actually.. I would hate to lose my level 24 character in Angry Birds Epic for example.


The Tesla car

The Panasonic exhibition had a gorgeous red Tesla Motors car. The car drew a lot of attention and it was nearly impossible to get a good picture of it, as the car was really crowded. The exciting thing was when they popped the car hood open to show what’s inside… turns out that nothing – it’s actually a storage compartment! As they use Panasonic-made batteries, I guess that’s why it was in the Panasonic exhibition.

Tesla Motors car


Oculus Rift

Several groups had an Oculus Rift on display. It was too hard to get to try any of these, as all of them had really long queues. Too bad, but it’s great to see the technology has a lot of appeal even though their marketing is so far very minimal – after all, it’snot a finished product yet. They are teasing at a consumer version right now though.

Earthquake simulation with Oculus Rift and shaking devices



I was a heavy user of the Garmin Forerunner 205 years ago. But the device was kind of outdated in the size, software and user interface section and the company was dragging their feet updating the product. Eventually it broke down and Garmin had no decent replacement model, so I jumped into the more limited “Nike+ powered by TomTom” device (what a name!). This year at Garmin’s stand, I saw they’ve expanded their product lines a lot, with a multitude of health, fitness and navigation products being offered. This Forerunner 220 looks like the replacement I was waiting for and with a quick try, it seemed a lot more intuitive. I hope it doesn’t still come with that outdated PC software though…Garmin Forerunner 220



GDG Android bootcamp at c-Base

Droidcon Berlin 2013 is starting and the good folks of GDG Android Berlin organized a  Android training session as a good warm-up for the actual conference. The session was held at c-Base, the famous hacker space/crashed space station on Saturday morning 6th of April. The doors opened at 09:00 in the morning, which is a pretty tough time to wake up on a Saturday. I made it there around 09:20 and was among the first to show up – this is Berlin after all.

There was a never-ending supply of free Club Mate and food
There was a never-ending supply of free Club Mate and food

After some initial attempts of getting the microphones working, Benjamin Weiss was on the stage with the topic of Android 101. He covered some of the basic ingredients of an Android app, including the AndroidManifest.xml, Activities and Intents, Views, and application lifecycle. Also he gave some good pointers on where to learn more, such as, stackoverflow and openintents. While it was good stuff, I sort of missed an overall picture of what Android apps consist of; now it was more like a collection of useful info on various topics but nothing to really bind them together.

Next was Hasan Hosgel with the topic of Lists and Adapters. The basics of using the Android ListView and supplying data and custom behaviour using Adapters were covered. This was a well focused and good presentation. The topic itself wasn’t terribly exciting, but the ListView is useful in almost any kind of application.

Then it was Christian Ketterer going into much more detail about Intents. I found this part maybe the most interesting, at least judging by the large amount of notes I took. Both an overview of what Intents are used for (starting an Activity, sending a broadcast or starting service), and several good examples of using Intents were presented. Some particularly interesting parts were how to create a new contact with Intents, or how to start an Activity and get results back from the started Activity with startActivityForResult. Also, how to enable other developers to use your app via Intents by adding an Intent filter in AndroidManifest.xml, and by publishing your Intents on

Stephan Linzner covered the Android testing framework, which is based on JUnit 3. It seemed that this part of the Android framework was less familiar to the audience than the ones that were covered previously. Lots of good stuff for how to create automated tests for Android apps were shown, including test cases, test packages, how to use mock objects and contexts and how to use RenamingDelegatingContext to mock file accesses.  Perhaps my favourite was the Monkey tool which generates random input events to your app (iike a real monkey tester would do), often succeeding in making it crash. Running Monkey on the build server overnight seems like a cool idea!

Tim Messerschmidts topic was Managing Data Like a Boss. It was about the underlying SQLite database engine that Android apps rely on. SQLite is already familiar me on the C API level, and in the Android context it doesn’t look all that different. An introduction of SQLite was followed by how to perform queries, and how to iterate over the query result sets using Cursors. I got it that it’s not a good idea to call the getCount method often, as it’s expensive. Another good tidbit was the feature called FTS tables. These are a special type of table that enables fast Full Text Searches, which I found very useful. He also reminded us to use SQLite asynchronously, by creating a thread or an AsyncTask for all database operations. This makes me question: Why does the Android framework, being a high-level framework, offer synchronous (blocking) methods for SQLite access in the first place?

Stefah Hoth showed us how to get our apps published on the Google Play Store so we can make a lot of money with our brilliant apps. A good take-home message was that we should consider what permissions our apps should use – the more permissions they need, the less likely that the app will be included in the search results when an user searches for apps. For example, if you require permission to use the camera, then Nexus 7 users will never see the app as the Nexus 7 only has a front camera. Same for telephony etc..
During the session Stefan successfully published an incredibly useful app called BigRedButton, which some people in the audience were instantly able to install and rate..

Mister Ligi talked about Google+ Signin Integration. I was getting a little too tired at this point and was no longer able to concentrate, so unfortunately I missed the point here.

During the breaks I had some exciting chats with the other attendees and of course consumed some of the excellent sandwiches, fruits and Club Mate that was available thanks to the sponsors. Unfortunately after the official part of the day was done, I had to be elsewhere, otherwise I would have stayed and enjoyed the chance to chat some more and maybe have a beer or a few. I thank the organizers and the sponsors for a great Saturday, it’s events like this that prove Berlin is a great city for people who are into technology!

Windows Phone 7.x backup files

A few days ago the USB port on my Nokia Developer gift device Lumia 800 died. I need to get another phone, and as I don’t have another phone where I could restore the backups from my dead phone, I started wondering what could I salvage from those backups that are on my hard drive?

The first order of business was to discover where the Windows Phone app for Mac actually stores the backups. I wasn’t familiar with the "Containers" stuff on Mac, so it took me a while, but now I know they can be found under the following location:

 /Users/<username>/Library/Containers/ Support/Windows Phone/Devices/<deviceid>/Backup

Armed with this info, I can now dig deeper. Already I would appreciate if someone could tell me is there any nifty way to recover data specific to an app ("Isolated Storage") ? I need to recover a save file for the Dragon’s Blade game.

Updated 7.3.2013: I soon discovered that the backups are encrypted using some Microsoft encryption method, but also found a way to wiggle the USB cable just the right way to be able to charge my phone, and so I was able to manually retrieve my data from the device. So my investigations on this front have come to an end. However, I would like to use this space to complain that after getting a Lumia 820 to replace my dead 800, I’ve found that while the cloud backup features in WP8 are very nice as such – or "als solcher" as German patent language says – there appears to be NO WAY to backup any APPLICATION DATA. App makers are expected to save any important data to the cloud, however seems that many of my favourite apps actually don’t do this. Sigh.

Running Mac OS X on a Olympus E-P2 digital camera

Yes, this was an April Fool’s story.. but, like all the good ones, this one is also possible if someone was crazy enough to do it!

I was the first to run the full-blown version of Mac OS X on a smartphone (The Nokia N900), not even Apple did it before me. But I thought, why stop there? I’ve spent the last few weeks digging into the firmware and hardware of my digital camera, the Olympus E-P2 Micro Four Thirds camera body. As you know, digital cameras these days are pretty powerful machines, with plenty of RAM and storage space (in the form of a memory card) – you can get tens of gigabytes of storage with these things. And the display resolutions are nearing the level of yesterday’s desktop computers.

Continue reading Running Mac OS X on a Olympus E-P2 digital camera

Amazon Kindle Fire first impressions

Amazon Kindle Fire from an European perspective

I’ve been interested in tablet devices for years (Maemo devices, anyone?), even before the iPad created the current tablet market. However as smartphones became increasingly more powerful and meanwhile I got myself a really light laptop (MacBook Air), even though devices like the iPad and some of the more serious competing offerings are undeniably very well implemented, amazing devices, I simply didn’t see the need for those. On the other hand, I’m almost always carrying the ultralight Amazon Kindle WiFi e-book reader with me on travels, and often it also lives inside my coat pocket.

When the Amazon Kindle Fire was announced along with a cheap price tag and a size mostly comparable with the Kindle WiFi, I wanted to find out how useful it is and how well does it really work. I also knew that content services (books, magazines, videos, music, apps) are the main selling point for the device, and being an European – Finnish, currently living in Germany – I would probably be missing out on a lot, at least initially.

In this article I’ve collected my initial experiences, and I will continue to update this as I discover more, or as the Amazon offering gets updated. 

Last Updated: 14th February 2012

Continue reading Amazon Kindle Fire first impressions

Qt Dev Days 2011, Munich

Hi all, I wrote a short piece on Qt Developer Days 2011 (Munich), you can read it on my company’s blog:

I took some pics there as well, with my new-old Olympus E-p1 digital camera. Too bad the LCD screen broke during the flight, so framing the shots was “challenging”. I managed quite well anyway, but I wasn’t able to use my über oldie manual focus Canon 50/1.2 lens for Leica Screw Mount that I was planning to use, alas. The pics are on Flickr: