All about technology

This page groups all technology category posts in one place for your convenience.

The iOS-apps I rely on

I was asked by a colleague what iOS apps I use the most and what I think are the "must haves" on an iPhone. Since I like listing things I was happy to oblige.

my homescreen

There are plenty of these sort of lists available and I have to say, that most are completely useless to me. We all have different needs that are defined by our lifestyle, work, friends and interests. Making a list that would satisfy all is nearly impossible. In addition, I'd like to say this is just a list of apps I feel comfortable recommending. I mention the apps but I don't review them in detail. I'd need to do a separate post if I'd wanted to do proper review.


Pretty Print JSON From Curl

This post is just a short tidbit, a tip how to pretty print JSON when using Curl.

The Solution

As an example, I'll request my latest post as JSON and pretty print it.

curl -H "Accept: application/json" | python -m json.tool

In the example, we first make a HTTP GET request with Curl. Additionally, I set Curl only to accept application/json. This way my site will produce json, not html which is the default. Then I pipe the result of the request to a python's json library. This approach should work as long as you have Curl and Python installed (as is the case with OS X and most *nix systems).


How To Prevent Wacom Sketch Manager Automatically Starting in OS X

Wacom makes great drawing tablets and fun drawing tools like the Inkling. Unfortunately I have been less than impressed with their Sketch Manager application in OS X, the software that comes bundled with the Inkling pen. When I login after a restart, the Sketch Manager starts automatically. This can get annoying and it's not the way this kind of OS X application should behave.

Sketch Manager


Back-Up Your Raspberry Pi SD-Card

Raspberry Pi uses SD-cards to as their root filesystem. Unfortunately SD-cards are not the most trustworthy medium of data storage and lower class cards’ filesystems have tendencies to get corrupted.

Fortunately, it’s very easy to make image-files out of SD-cards. Image files are handy, since they store the whole system as is with configurations and applications installed. In this post I will explain how I do a image file out of your Raspberry Pi SD-card.


Mac Tip: Managing BibTex References with BibDesk

In academic writing having good, relevant references is very important. Managing anything more than a few references manually is very labor intensive and not the best use of writers time. In academia, especially in mathematics and sciences, papers are often done using LaTeX. This because of its ability to handle complicated equations and large collection of references.

The references in those documents are typically stored in BibTeX formatted text files. Again, you could manage the references manually, but why would you when there are good free tools, such as BibDesk available.

BibDesk bibliography manager

I discovered BibDesk when I was writing my thesis last year. As the name hint’s, BibDesk managesBibTex-references but it can also manage and store the articles that you are referencing to.

BibDesk handles creating consistent reference-names automatically, provides a clean UI to view the references and makes it easy to insert cite-commands to the LaTeX-documents. It can also create groups and smart groups that can be used to organize-references. The smart groups are familiar for any iTunes user. The smart group is a dynamic collection of references that match certain user determined criteria. This feature was especially important for me, since I needed to arrange papers by year, category, research type and so on.

BibDesk is a free and open source project, hosted at SourceForge. The site is sourcefourgesky unappealing, but the application itself is full-featured and a valuable tool for any OS X user who also use LaTeX and BibTeX.

You can find BibDesk at


A Push Forwards in Cloud Enhanced Embedded Systems and in IoT

I have been interested for a while now about the integration of cloud services to the embedded systems that traditionally haven’t been able to communicate in anyway. Naturally, I’m not alone in this interest of course and that is for the good and if you are reading this article it’s a very good chance that you have an interest in the topic as well.

My master’s thesis was a mapping study of embedded systems that have been enhanced by the cloud and connectivity in general. I was also interested the current state, development, benefits and problems of these systems. One of the key issue that I found was the lack of industry supported, open protocols that would allow more ubiquitous connectivity. Different manufacturers use different protocols that cannot communicate with each other like for instance any Wi-Fi or Ethernet connected device supporting common protocols can.


Splitting Java FXML-views and controllers

In this post, I’m going to show how to split FXML-files and include one FXML-file to a second FXML-file. I will also show how to create a separate controller for those FXML-files.

Java FX and FXML, I’m sure, is everyone’s favourite GUI building library for Java. No? Not your favourite? You are surprised it’s even alive any more? Well it is. Since it seems that it is not actually widely used, there are limited amount of tutorials and help available. After getting help myself and doing bit of google-fu I managed to do what I wanted. This is what I found out.


Using Phillips Hue From The Command Line

Connected appliances are my thing. I actually wrote a thesis about those suckers. Cool stuff and most likely the way of the future.

That also means that I felt almost obliged to buy the Phillips Hue -lights. They are ordinary light bulbs but you can control them from your phone or via Internet. But really, you could control the lights from any device, program or service that has the ability send HTTP requests.

Hue and Curl work well together


So What Are Ruby :Symbols Anyway?

I was minding my own business and redoing my blog’s underlying engine like I tend to do every other week just because the next version will surely be more awesome than the earlier. As I was doing my rails blog app I ran into symbols.

I have used ruby for a while now and I haven’t given much thought what these funny little things called symbols are. You know the things that look like they are variables or objects but really aren’t. The ones with a colon in front of them like :post or :state_secret (and by colon I mean the two little dots not the last part of the digestive system).

Well, turns out that they are just strings. But they have magical powers. They are immutable.


Connected Appliances

My thesis covered the topic of cloud enhanced embedded systems or Cees for short. One of the requirements for such system is the ability to connect, to communicate with the surrounding world.

I briefly mentioned one such appliance in my writing. This was the Phillips Hue LED lightbulbs. They look like ordinary lightbulbs and behave as expected. You screw them in, turn the switch and presto, you have light. This is how people like their lights behaving, so nothing surprising there. What is interesting in these bulbs is that they have a ZigBee-radio and protocol stack built into them.

Hue LED lights


Cloud Enhanced Embedded Systems

Embedded systems are everywhere. The variety of different types of embedded systems and purposes are wide. Yet, many of these systems are islands in an age where more and more systems are being connected to the Internet. The ability to connect to the Internet can be taken advantage in multiple ways. One is to take advantage of the resources cloud computing can offer. Currently, there are no comprehensive overviews how embedded systems could be enhanced by cloud computing. In my master’s thesis “Cloud Enhanced Embedded Systems” we study what cloud enhanced embedded systems are and what their benefits, risks, typical implementation methods, and platforms are.


BitTorrent Sync

Earlier this year BitTorrent announced their first alpha of BitTorrent Sync. I don’t intend to do a lot of these announcement what some one else has done but this is truly interesting so I had to write about it.

This is not about the technical details of BitTorrent Sync but rather an exited rant about the topic. For more coherent explanation of Sync please refer to the Bittorrent Labs site or the wonderful Security Now -podcast episode 402.

BitTorrent Labs have developed a small application, still in alpha, that enables to sync folders (or directories as I like to call them) across the Internet or just across your own home network.

BitTorrent Sync (source:


Mac Tip: Turn Bluetooth On Without a Mouse

My main day-to-day computer is my snazzy MacBook Pro that I often hook up on a external display when I arrive at home. The lid is closed as I connect it to the monitor and then I notice I have my bluetooth off and I need it to use my mouse.

Now there are couple of solutions to overcome this serious issue. First off you need a keyboard with a cord. If you also use a bluetooth keyboard these tips won’t help you, but automating the whole process with ControlPlane could.


Laying Siege on My Site

Note: I'm no longer using Raspberry Pi + Wordpress. Results in this post doesn't reflect the current performance of my site.

In this post I will put my Raspberry Pi into the test. I’m going to essentially DDoS my site and see what kind of results I get. To do this I have to lay siege on my site.

Raspberry Pi in its white bottom case


Past, Present and Future of My Site

Note: I'm no longer using Wordpress and Raspberry Pi to run this blog.

I have modified, redefined, re-engineered and redesigned my personal website countless times since 2006 when I discovered the power of coding. Today I’m moving to WordPress and back to PHP on my personal site. What makes this an unusual site is that it runs on Raspberry Pi.

My first site back in 2006

This post describes my experiences with different technologies as I have experimented and developed my site. I will also go into what my current setup is.