67 days ago

What probability theory tells you about starting on time

Whether you are an event organizer waiting for participants to turn up or whether you are a bus driver waiting for passengers running to catch the bus, there is a dilemma: if you are so kind and wait for everyone to arrive, you make everyone else wait. Let’s explain the dilemma with probability theory.

More ...

161 days ago

Analysing Strava activities using Colab, Pandas & Matplotlib (Part 4)

How do you analyse Strava activities—such as runs or bike rides—with Colab, Python, Pandas, and Matplotlib? In my fourth article on this topic, let’s invite scikit-learn and NLTK to the party, and apply some Machine Learning.

More ...

180 days ago

Analysing Strava activities using Colab, Pandas & Matplotlib (Part 3)

How do you analyse Strava activities—such as runs or bike rides—with Colab, Python, Pandas, and Matplotlib? In my third article on this topic, I am demonstrating how to visualize the data in different ways.

More ...

194 days ago

Analysing Strava activities using Colab, Pandas & Matplotlib (Part 2)

How do you analyse Strava activities—such as runs or bike rides—with Colab, Python, Pandas, and Matplotlib? In my second article on this topic, I am demonstrating how to group and aggregate the data in many different ways.

More ...

198 days ago

Analysing Strava activities using Colab, Pandas & Matplotlib (Part 1)

How do you analyse Strava activities—such as runs or bike rides—with Colab, Python, Pandas, and Matplotlib? In this post, I am demonstrating how to get started, and will give you a taster of what is possible with this state-of-the-art technology for data analysis.

More ...

249 days ago

Misleading infographics: How Not To Bubble Chart

I discovered a misleading infographic on mortality cause by gender in the OECD report “Health at a Glance 2017” while working on a course assignment. A few notes on how not to do bubble charts.

More ...

412 days ago

Memories from University: Teaching the Computer to play Connect Four

How do you teach a computer to play games? I took a classic brute-force approach along with some techniques to make the search for a good move faster. Can you beat the machine?

More ...

667 days ago

Missing Maps: Use Your Phone for the Better

The opportunities created by the advance of technology and the efforts of people are amazing. In this post, I’ll show how to take advantage and use the Mapswipe App as a first step to gain valuable insights for NGOs operating in places of the world for which there is no proper map yet.

More ...

725 days ago

How data can assist us in forming good habits

Habits are an important key to success. But how do we establish a habit? How do we know whether our perception aligns with reality? How do we decide about the next change to make? Did we succeed? I want to know. A reflection on habits, insights from data using running as an example.

More ...

749 days ago

Missing Maps: Putting People on the Map

There are places on our planet where people live but there is no map. How are NGOs like Médecins Sans Frontières (MSF) supposed to do field work if they don’t know where people live, how many, how to get there? The Missing Maps project is addressing the issue via crowdsourcing. I gave it a try, and here’s what I think.

More ...

1000 days ago

Energy from Thin Air: Measuring Air Pollution with CleanSpace

Let’s face it. Air quality in London is quite poor. You don’t need technology to notice. As soon as you reach the country side, the difference is usually very apparent. I will soon get hold of an active sensor that transfers carbon monoxide readings to my phone in real-time. Interesting: the sensor is powered only from energy harvested from wireless and broadcast networks. Energy from thin air!

More ...

1530 days ago

Bletchley Park and the rebuilt bombe

A visit to Milton Keynes gave me a brief look into former codebreakers’ life at Bletchley Park during World War II. The exhibition also featured a rebuilt exemplar of the bombe, an electromechanical machine that played a role in breaking the code of the Enigma. I got fascinated for several reasons.

More ...

1635 days ago

Motion Segmentation of RGB-D Videos via Trajectory Clustering

Persistence paid off. The little, remaining work on my Master’s thesis at KTH is finally completed. I can hardly remember touching a subject at university that was as demanding and as satisfying as the research on how to segment moving objects in videos taken by a RGB-D camera. Thanks to everyone who helped me with this mission.

More ...

1676 days ago

Preview: Motion Segmentation of RGB-D Videos via Trajectory Clustering

Humans are quite good at detecting motion. How about machines? Can computers automatically segment objects in videos? I dedicated my Master thesis to a particular variant of this question. Here are a few videos as a preview.

More ...

1696 days ago

Fixing a Shimano EF50-8R bicycle shifter

For some reasons, the front shifter of my bicycle stopped working properly. Time to take a screwdriver and see how the shifter actually works.

More ...

1800 days ago

Programmer-friendly German keyboard layout on GNU/Linux

German keyboards are usually pretty annoying for programming. Mapping the third-level of the buttons D, F, C, V to {, }, [, ] places the curly braces and brackets at more convenient locations without destroying much of the benefits of a German keyboard.

More ...

1848 days ago

Case study: when average speed matters

This case study shows the effects of acceleration, top speed, deceleration on total travel time on short distances at the example of Transrapid in Shanghai. Bottom line: it is the average speed that matters, not the top speed. Groundbreaking result … no! But it is an illustrative example with concrete numbers that shows why reporting top speeds creates illusions.

More ...

1881 days ago

Recursive circle packing with PostScript

Ten lines of PostScript are sufficient to draw a pretty self-similar pattern constructed by packing circles into circles.

More ...

2011 days ago

Managing encrypted devices with LVM on top of LUKS with luksctl

Start small: my first Arch Linux package submitted to the AUR. luksctl manages (portable) LUKS-encrypted devices with a logical volume manager on top of it. Profiles control how the devices are (un)locked, the logical volumes (de)activated, and the filesystems (un)mounted with a single command. Details are found at luksctl on Bitbucket.

2028 days ago

Benchmarking Google's Speech Recognition Web Service

Curious: how far can we push Google’s speech recognition web service that is used in Chrome 25+ for speech input? I measured the word accuracy of the service on the TSP speech dataset that consists of recordings of the Harvard sentences in order to get the picture.

More ...

2030 days ago

Asus Xtion Pro Live – First Impressions

It is now a couple of years since affordable depth cameras have entered the market. Out of a developer’s perspective, the Asus Xtion Pro Live seemed to be better suited for development than the XBOX 360 Kinect. I still think so. Here are my first impressions gained when working with the Xtion in a university project.

More ...

2030 days ago

Using Google's Speech Recognition Web Service with Python

Google powers a mostly undocumented web service for speech recognition. The web service accepts audio data and returns a transcription. Here is a way to communicate with the web service via HTTPS POST and Python.

More ...

2044 days ago

Speech Input in Google Chrome: x-webkit-speech

Google Chrome 25+ features a nice extension for speech input, which is enabled by adding the x-webkit-speech to text input fields. I put it into action. How well speech input actually works depends heavily on what kind of words you use, though.

2070 days ago

Clustering Crash Simulation Data with LLCA

Four longitudinal chassis beams of a Chevrolet pickup truck. The nodes of their corresponding finite element model shall be partitioned into clusters such that the nodes within one cluster show similar behaviour in a row of car crash simulations. The question: is the local clustering approach (LLCA) applicable? A summary of a research project.

More ...

2071 days ago

German PC keyboard layout in Mac OS

For those like me who cannot switch easily between different keyboard layouts: How to use the German PC keyboard layout in Mac OS? This recipe worked for me: www.nullpointer.de/stuff/keylayout