445 days ago

Pomodoro Timer: Prototype, Round 3

The “pomodoro technique” is a simple time management method, which requires a robust, simple-to-use timer, which doesn’t distract from the task at hand. For the third version, I constructed a plywood case to house the microcontroller, the 4-digit display, and the two buttons to control the timer.

More ...

478 days ago

Pub combinatorics: the joy of rediscovery

Learning is often a process of rediscovering things. I enjoyed this process recently when trying to solve a combinatorial puzzle, in the pub, in the bus, and at home. A tale of allowing myself to explore, to tinker, and to be awed by the great thinkers of long gone times.

More ...

492 days ago

Quick-fix: Typing ÄÖÜ on a UK Keyboard

UK keyboards, for good reasons, do not come with keys for ÄÖÜ. Here is a quick-and-dirty fix to customize the xkb symbols map, tested on on Arch Linux.

More ...

506 days ago

Pomodoro Timer: Prototype, Round 2

The “pomodoro technique” is a simple time management method, which requires a robust, simple-to-use timer, which doesn’t distract from the task at hand. After the first prototype with the ATmega32-based RN-Control v1.4 experimental board, I built another prototype: this time with a 4-digit display.

More ...

554 days ago

Pomodoro Timer: Prototype with an ATmega32

The “pomodoro technique” is a simple time management method, however in my opinion completely lacks support from something essential: a robust, simple-to-use timer, which doesn’t distract from the task at hand. Thus, I built a prototype with the ATmega32-based RN-Control v1.4 experimental board.

More ...

787 days ago

Right control key on keyboard as i3 modifier in Ubuntu 20.04

If you ever wanted to use the right Ctrl button in Ubuntu 20.04 as an i3 modifier, and struggled with xmodmap, try editing the modifier mappings directly in /usr/share/X11/xkb/symbols/pc. It’s dirty, and may fail during software update─but meh until then it appears to work.

More ...

1111 days ago

A formula for converting pace from min/mile to min/km in Google Spreadsheets

If you are a runner and desperate for a quick-and-dirty formula you can use in a Google Spreadsheet to convert running pace from minutes per mile into minutes per kilometer, this nerdy post will give the formula to you.

More ...

1180 days ago

Visualizing Strava activities with BigQuery and Google Data Studio

How to load Strava activities into Google Cloud BigQuery and visualizing the activities with Google Data Studio? This article is for (hobby) athletes interested in taking a walk through the Strava API, Google Cloud Platform and Google Data Studio; showing how to gain the freedom to explore and visualize the data you have been sweating for over years.

More ...

1444 days ago

Thoughts on Model Thinking: a smörgåsbord

A review of Scott Page’s Model Thinking course, which has been overall entertaining, inspiring, informative albeit at times a bit repetitive when going through arithmetics. If you are interested in trying to make sense out of the complex world around you, this course might be for you.

More ...

1754 days ago

Statistics tell you when to stop practicing

Assume you are practicing for an exam. You could spend all your time left until the exam practicing (possibly too much), or you could spend almost no time practicing (likely too little). So how do you know when enough is enough? When can you stop practicing and yet be confident that you will pass the exam?

More ...

1809 days ago

Applying Machine Learning to Strava activities using BigQuery ML

Today, I’ll demo how to train a logistic regression model in BigQuery ML. That is Machine Learning models written in SQL, and executed in BigQuery.

More ...

1865 days ago

Inspecting air pollution data from OpenAQ using Colab, Pandas, and BigQuery

OpenAQ is publishing real-time air quality data from around the world to BigQuery. Today, I have poked around in the dataset to inspect air quality from many places of the world.

More ...

1990 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 ...

2085 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 ...

2103 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 ...

2117 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 ...

2121 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 ...

2173 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 ...

2335 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 ...

2590 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 ...

2648 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 ...

2672 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 ...

2923 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 ...

3453 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 ...

3559 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 ...