<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Technology on a thought abroad</title><link>https://www.athoughtabroad.com/categories/technology/</link><description>Recent content in Technology on a thought abroad</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 13 Sep 2026 11:21:04 +0000</lastBuildDate><atom:link href="https://www.athoughtabroad.com/categories/technology/index.xml" rel="self" type="application/rss+xml"/><item><title>Fixing my Logitech MX Vertical mouse</title><link>https://www.athoughtabroad.com/posts/fixing-my-logitech-mx-vertical-mouse/</link><pubDate>Sun, 13 Sep 2026 11:21:04 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/fixing-my-logitech-mx-vertical-mouse/</guid><description>&lt;p&gt;Left click. Nothing happens. Left click. Nothing. Time for a new mouse? No. Instead, I repaired my Logitech MX Vertical mouse after many hours spent on troubleshooting, desoldering, soldering, and tinkering. But it was as educational as successful. Left click. Bliss! The mouse works again.&lt;/p&gt;</description></item><item><title>Autoland</title><link>https://www.athoughtabroad.com/posts/autoland/</link><pubDate>Thu, 09 Apr 2026 13:29:34 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/autoland/</guid><description>&lt;p&gt;How to build a controller that automatically lands an airplane after approaching a runway via the Instrument Landing System (ILS) in GeoFS, the flight simulator?&lt;/p&gt;</description></item><item><title>ILS, Follow the Glide Slope</title><link>https://www.athoughtabroad.com/posts/ils-follow-the-glide-slope/</link><pubDate>Thu, 12 Mar 2026 13:10:15 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/ils-follow-the-glide-slope/</guid><description>&lt;p&gt;How to build a controller that automatically puts an airplane on the glide slope from the beam of the Instrument Landing System (ILS) in GeoFS, the flight simulator?&lt;/p&gt;</description></item><item><title>ILS, Follow the Localizer</title><link>https://www.athoughtabroad.com/posts/ils-follow-the-localizer/</link><pubDate>Mon, 09 Mar 2026 07:26:03 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/ils-follow-the-localizer/</guid><description>&lt;p&gt;How to construct a controller that automatically aligns an airplane with the runway using the deviation from the localizer beam of the Instrument Landing System (ILS) in GeoFS, the browser-based flight simulator?&lt;/p&gt;</description></item><item><title>Where is the Runway?</title><link>https://www.athoughtabroad.com/posts/where-is-the-runway/</link><pubDate>Mon, 23 Feb 2026 03:44:01 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/where-is-the-runway/</guid><description>&lt;p&gt;Can&amp;rsquo;t spot the runway in GeoFS, the browser-based flight simulator? I fixed it by extending GeoFS with Google Maps, showing thousands of airports, as well as the extended centerline of the runway at the destination on the map.&lt;/p&gt;</description></item><item><title>Virtualizing the Controllers</title><link>https://www.athoughtabroad.com/posts/virtualizing-the-controllers/</link><pubDate>Mon, 09 Feb 2026 11:39:52 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/virtualizing-the-controllers/</guid><description>&lt;p&gt;A little quest to get every single button on my throttle quadrant to work with GeoFS, the browser-based flight simulator. A quest that not only taught me a little bit about evdev in Linux, but also led to many more quests later on.&lt;/p&gt;</description></item><item><title>Controls, Yours Or Mine?</title><link>https://www.athoughtabroad.com/posts/controls-yours-or-mine/</link><pubDate>Sun, 08 Feb 2026 06:26:15 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/controls-yours-or-mine/</guid><description>&lt;p&gt;Discovering all kind of difficulties of controlling the aircraft in the GeoFS flight simulator. As well as some remedies, whether in adjustments to software, hardware, or simply through deliberate practice.&lt;/p&gt;</description></item><item><title>Foraying into Flight Simulation and Control</title><link>https://www.athoughtabroad.com/posts/foraying-into-flight-simulation-and-control/</link><pubDate>Sun, 08 Feb 2026 00:29:31 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/foraying-into-flight-simulation-and-control/</guid><description>&lt;p&gt;A session with the flight simulator turned into a both entertaining and educational quest into control theory. Topics that I haven&amp;rsquo;t dabbled with for one, two, or even more decades. From a self-imposed lockdown to my first attempts to use PID controllers and fuzzy logic for steering the aircraft in GeoFS.&lt;/p&gt;</description></item><item><title>Pomodoro Timer: Prototype, Round 3</title><link>https://www.athoughtabroad.com/posts/pomodoro-timer-prototype-round-3/</link><pubDate>Fri, 30 Dec 2022 05:39:11 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/pomodoro-timer-prototype-round-3/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Pub combinatorics: the joy of rediscovery</title><link>https://www.athoughtabroad.com/posts/pub-combinatorics-the-joy-of-rediscovery/</link><pubDate>Sun, 27 Nov 2022 02:44:14 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/pub-combinatorics-the-joy-of-rediscovery/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Quick-fix: Typing ÄÖÜ on a UK Keyboard</title><link>https://www.athoughtabroad.com/posts/quick-fix-typing-aeoeue-on-a-uk-keyboard/</link><pubDate>Sun, 13 Nov 2022 07:34:00 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/quick-fix-typing-aeoeue-on-a-uk-keyboard/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Pomodoro Timer: Prototype, Round 2</title><link>https://www.athoughtabroad.com/posts/pomodoro-timer-prototype-round-2/</link><pubDate>Sat, 29 Oct 2022 11:54:05 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/pomodoro-timer-prototype-round-2/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Pomodoro Timer: Prototype with an ATmega32</title><link>https://www.athoughtabroad.com/posts/pomodoro-timer-prototype-with-an-atmega32/</link><pubDate>Mon, 12 Sep 2022 07:35:38 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/pomodoro-timer-prototype-with-an-atmega32/</guid><description>&lt;p&gt;The &amp;ldquo;pomodoro technique&amp;rdquo; is a simple time management method, however in my opinion completely lacks support from something essential: a robust, simple-to-use timer, which doesn&amp;rsquo;t distract from the task at hand. Thus, I built a prototype with the ATmega32-based RN-Control v1.4 experimental board.&lt;/p&gt;</description></item><item><title>Right control key on keyboard as i3 modifier in Ubuntu 20.04</title><link>https://www.athoughtabroad.com/posts/right-control-key-on-keyboard-as-i3-modifier-in-ubuntu-2004/</link><pubDate>Sat, 22 Jan 2022 09:09:05 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/right-control-key-on-keyboard-as-i3-modifier-in-ubuntu-2004/</guid><description>&lt;p&gt;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&amp;rsquo;s dirty, and may fail during software update─but meh until then it appears to work.&lt;/p&gt;</description></item><item><title>A formula for converting pace from min/mile to min/km in Google Spreadsheets</title><link>https://www.athoughtabroad.com/posts/a-formula-for-converting-pace-from-min-mile-to-min-km-in-google-spreadsheets/</link><pubDate>Thu, 04 Mar 2021 10:49:15 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/a-formula-for-converting-pace-from-min-mile-to-min-km-in-google-spreadsheets/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Visualizing Strava activities with BigQuery and Google Data Studio</title><link>https://www.athoughtabroad.com/posts/visualizing-strava-activities-with-bigquery-and-google-data-studio/</link><pubDate>Fri, 25 Dec 2020 04:53:48 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/visualizing-strava-activities-with-bigquery-and-google-data-studio/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Thoughts on Model Thinking: a smörgåsbord</title><link>https://www.athoughtabroad.com/posts/thoughts-on-model-thinking-a-smoergasbord/</link><pubDate>Sun, 05 Apr 2020 08:46:49 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/thoughts-on-model-thinking-a-smoergasbord/</guid><description>&lt;p&gt;A review of Scott Page&amp;rsquo;s &lt;em&gt;Model Thinking&lt;/em&gt; 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.&lt;/p&gt;</description></item><item><title>Statistics tell you when to stop practicing</title><link>https://www.athoughtabroad.com/posts/statistics-tell-you-when-to-stop-practicing/</link><pubDate>Thu, 30 May 2019 13:33:21 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/statistics-tell-you-when-to-stop-practicing/</guid><description>&lt;p&gt;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?&lt;/p&gt;</description></item><item><title>Applying Machine Learning to Strava activities using BigQuery ML</title><link>https://www.athoughtabroad.com/posts/applying-machine-learning-to-strava-activities-using-bigquery-ml/</link><pubDate>Sat, 06 Apr 2019 07:33:28 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/applying-machine-learning-to-strava-activities-using-bigquery-ml/</guid><description>&lt;p&gt;Today, I&amp;rsquo;ll demo how to train a logistic regression model in BigQuery ML. That is Machine Learning models written in SQL, and executed in BigQuery.&lt;/p&gt;</description></item><item><title>Inspecting air pollution data from OpenAQ using Colab, Pandas, and BigQuery</title><link>https://www.athoughtabroad.com/posts/inspecting-air-pollution-data-from-openaq-using-colab-pandas-and-bigquery/</link><pubDate>Sat, 09 Feb 2019 09:51:06 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/inspecting-air-pollution-data-from-openaq-using-colab-pandas-and-bigquery/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>What probability theory tells you about starting on time</title><link>https://www.athoughtabroad.com/posts/what-probability-theory-tells-you-about-starting-on-time/</link><pubDate>Sat, 06 Oct 2018 13:52:01 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/what-probability-theory-tells-you-about-starting-on-time/</guid><description>&lt;p&gt;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&amp;rsquo;s explain the dilemma with probability theory.&lt;/p&gt;</description></item><item><title>Analysing Strava activities using Colab, Pandas &amp; Matplotlib (Part 4)</title><link>https://www.athoughtabroad.com/posts/analysing-strava-activities-using-colab-pandas-matplotlib-part-4/</link><pubDate>Wed, 04 Jul 2018 07:46:03 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/analysing-strava-activities-using-colab-pandas-matplotlib-part-4/</guid><description>&lt;p&gt;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&amp;rsquo;s invite scikit-learn and NLTK to the party, and apply some Machine Learning.&lt;/p&gt;</description></item><item><title>Analysing Strava activities using Colab, Pandas &amp; Matplotlib (Part 3)</title><link>https://www.athoughtabroad.com/posts/analysing-strava-activities-using-colab-pandas-matplotlib-part-3/</link><pubDate>Fri, 15 Jun 2018 15:37:24 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/analysing-strava-activities-using-colab-pandas-matplotlib-part-3/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Analysing Strava activities using Colab, Pandas &amp; Matplotlib (Part 2)</title><link>https://www.athoughtabroad.com/posts/analysing-strava-activities-using-colab-pandas-matplotlib-part-2/</link><pubDate>Fri, 01 Jun 2018 14:26:31 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/analysing-strava-activities-using-colab-pandas-matplotlib-part-2/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Analysing Strava activities using Colab, Pandas &amp; Matplotlib (Part 1)</title><link>https://www.athoughtabroad.com/posts/analysing-strava-activities-using-colab-pandas-matplotlib-part-1/</link><pubDate>Mon, 28 May 2018 11:57:33 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/analysing-strava-activities-using-colab-pandas-matplotlib-part-1/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Misleading infographics: How Not To Bubble Chart</title><link>https://www.athoughtabroad.com/posts/misleading-infographics-how-not-to-bubble-chart/</link><pubDate>Sat, 07 Apr 2018 10:46:59 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/misleading-infographics-how-not-to-bubble-chart/</guid><description>&lt;p&gt;I discovered a misleading infographic on mortality cause by gender in the OECD report &amp;ldquo;Health at a Glance 2017&amp;rdquo; while working on a course assignment. A few notes on how not to do bubble charts.&lt;/p&gt;</description></item><item><title>Memories from University: Teaching the Computer to play Connect Four</title><link>https://www.athoughtabroad.com/posts/memories-from-university-teaching-the-computer-to-play-connect-four/</link><pubDate>Thu, 26 Oct 2017 14:06:50 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/memories-from-university-teaching-the-computer-to-play-connect-four/</guid><description>&lt;p&gt;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?&lt;/p&gt;</description></item><item><title>Missing Maps: Use Your Phone for the Better</title><link>https://www.athoughtabroad.com/posts/missing-maps-use-your-phone-for-the-better/</link><pubDate>Mon, 13 Feb 2017 14:50:24 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/missing-maps-use-your-phone-for-the-better/</guid><description>&lt;p&gt;The opportunities created by the advance of technology and the efforts of people are amazing. In this post, I&amp;rsquo;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.&lt;/p&gt;</description></item><item><title>How data can assist us in forming good habits</title><link>https://www.athoughtabroad.com/posts/how-data-can-assist-us-in-forming-good-habits/</link><pubDate>Sat, 17 Dec 2016 12:42:20 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/how-data-can-assist-us-in-forming-good-habits/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Missing Maps: Putting People on the Map</title><link>https://www.athoughtabroad.com/posts/missing-maps-putting-people-on-the-map/</link><pubDate>Wed, 23 Nov 2016 13:40:23 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/missing-maps-putting-people-on-the-map/</guid><description>&lt;p&gt;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&amp;rsquo;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&amp;rsquo;s what I think.&lt;/p&gt;</description></item><item><title>Energy from Thin Air: Measuring Air Pollution with CleanSpace</title><link>https://www.athoughtabroad.com/posts/energy-from-thin-air-measuring-air-pollution-with-cleanspace/</link><pubDate>Thu, 17 Mar 2016 14:02:55 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/energy-from-thin-air-measuring-air-pollution-with-cleanspace/</guid><description>&lt;p&gt;Let&amp;rsquo;s face it. Air quality in London is quite poor. You don&amp;rsquo;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!&lt;/p&gt;</description></item><item><title>Bletchley Park and the rebuilt bombe</title><link>https://www.athoughtabroad.com/posts/bletchley-park-and-the-rebuilt-bombe/</link><pubDate>Sat, 04 Oct 2014 14:51:04 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/bletchley-park-and-the-rebuilt-bombe/</guid><description>&lt;p&gt;A visit to Milton Keynes gave me a brief look into former codebreakers&amp;rsquo; life at Bletchley Park during World War II. The exhibition also featured a rebuilt exemplar of the &lt;em&gt;bombe&lt;/em&gt;, an electromechanical machine that played a role in breaking the code of the Enigma. I got fascinated for several reasons.&lt;/p&gt;</description></item><item><title>Motion Segmentation of RGB-D Videos via Trajectory Clustering</title><link>https://www.athoughtabroad.com/posts/motion-segmentation-of-rgb-d-videos-via-trajectory-clustering/</link><pubDate>Sat, 21 Jun 2014 03:08:53 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/motion-segmentation-of-rgb-d-videos-via-trajectory-clustering/</guid><description>&lt;p&gt;Persistence paid off. The little, remaining work on my Master&amp;rsquo;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.&lt;/p&gt;</description></item><item><title>Preview: Motion Segmentation of RGB-D Videos via Trajectory Clustering</title><link>https://www.athoughtabroad.com/posts/preview-motion-segmentation-of-rgb-d-videos-via-trajectory-clustering/</link><pubDate>Sat, 10 May 2014 20:24:32 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/preview-motion-segmentation-of-rgb-d-videos-via-trajectory-clustering/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Fixing a Shimano EF50-8R bicycle shifter</title><link>https://www.athoughtabroad.com/posts/fixing-a-shimano-ef50-8r-bicycle-shifter/</link><pubDate>Mon, 21 Apr 2014 03:50:59 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/fixing-a-shimano-ef50-8r-bicycle-shifter/</guid><description>&lt;p&gt;For some reasons, the front shifter of my bicycle stopped working properly. Time to take a screwdriver and see how the shifter actually works.&lt;/p&gt;</description></item><item><title>Programmer-friendly German keyboard layout on GNU/Linux</title><link>https://www.athoughtabroad.com/posts/programmer-friendly-german-keyboard-layout-on-gnu-linux/</link><pubDate>Tue, 07 Jan 2014 09:20:39 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/programmer-friendly-german-keyboard-layout-on-gnu-linux/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Case study: when average speed matters</title><link>https://www.athoughtabroad.com/posts/case-study-when-average-speed-matters/</link><pubDate>Wed, 20 Nov 2013 10:42:37 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/case-study-when-average-speed-matters/</guid><description>&lt;p&gt;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 &amp;hellip; no! But it is an illustrative example with concrete numbers that shows why reporting top speeds creates illusions.&lt;/p&gt;</description></item><item><title>Recursive circle packing with PostScript</title><link>https://www.athoughtabroad.com/posts/recursive-circle-packing-with-postscript/</link><pubDate>Fri, 18 Oct 2013 10:56:01 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/recursive-circle-packing-with-postscript/</guid><description>&lt;p&gt;Ten lines of PostScript are sufficient to draw a pretty self-similar pattern constructed by packing circles into circles.&lt;/p&gt;</description></item><item><title>Managing encrypted devices with LVM on top of LUKS with luksctl</title><link>https://www.athoughtabroad.com/posts/managing-encrypted-devices-with-lvm-on-top-of-luks-with-luksctl/</link><pubDate>Mon, 10 Jun 2013 14:00:51 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/managing-encrypted-devices-with-lvm-on-top-of-luks-with-luksctl/</guid><description>&lt;p&gt;Start small: my first Arch Linux package submitted to the AUR. &lt;a href="https://aur.archlinux.org/packages/luksctl"&gt;luksctl&lt;/a&gt; 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 &lt;a href="https://bitbucket.org/jeadorf/luksctl"&gt;luksctl on Bitbucket&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Benchmarking Google's Speech Recognition Web Service</title><link>https://www.athoughtabroad.com/posts/benchmarking-google-s-speech-recognition-web-service/</link><pubDate>Fri, 24 May 2013 04:08:47 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/benchmarking-google-s-speech-recognition-web-service/</guid><description>&lt;p&gt;Curious: how far can we push Google&amp;rsquo;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.&lt;/p&gt;</description></item><item><title>Asus Xtion Pro Live – First Impressions</title><link>https://www.athoughtabroad.com/posts/asus-xtion-pro-first-impressions/</link><pubDate>Wed, 22 May 2013 15:08:43 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/asus-xtion-pro-first-impressions/</guid><description>&lt;p&gt;It is now a couple of years since affordable depth cameras have entered the market. Out of a developer&amp;rsquo;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.&lt;/p&gt;</description></item><item><title>Using Google's Speech Recognition Web Service with Python</title><link>https://www.athoughtabroad.com/posts/using-google-s-speech-recognition-web-service-with-python/</link><pubDate>Wed, 22 May 2013 08:47:56 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/using-google-s-speech-recognition-web-service-with-python/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>Speech Input in Google Chrome: x-webkit-speech</title><link>https://www.athoughtabroad.com/posts/speech-input-in-google-chrome-x-webkit-speech/</link><pubDate>Wed, 08 May 2013 11:33:47 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/speech-input-in-google-chrome-x-webkit-speech/</guid><description>&lt;p&gt;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 &lt;a href="http://www.dropandforget.com"&gt;into action&lt;/a&gt;. How well speech input actually works depends heavily on what kind of words you use, though.&lt;/p&gt;</description></item><item><title>Clustering Crash Simulation Data with LLCA</title><link>https://www.athoughtabroad.com/posts/clustering-crash-simulation-data-with-llca/</link><pubDate>Fri, 12 Apr 2013 10:43:09 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/clustering-crash-simulation-data-with-llca/</guid><description>&lt;p&gt;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.&lt;/p&gt;</description></item><item><title>German PC keyboard layout in Mac OS</title><link>https://www.athoughtabroad.com/posts/german-pc-keyboard-layout-in-mac-os/</link><pubDate>Thu, 11 Apr 2013 08:12:08 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/german-pc-keyboard-layout-in-mac-os/</guid><description>&lt;p&gt;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: &lt;a href="http://www.nullpointer.de/stuff/keylayout"&gt;www.nullpointer.de/stuff/keylayout&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Prolonging the Life of a Logitech K340 Keyboard</title><link>https://www.athoughtabroad.com/posts/prolonging-the-life-of-a-logitech-k340-keyboard/</link><pubDate>Mon, 25 Feb 2013 02:29:56 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/prolonging-the-life-of-a-logitech-k340-keyboard/</guid><description>&lt;p&gt;Successful life-hacker experiment: Removed all the keys from the keyboard, washed both keys and chassis, and almost as good as new. A Swiss knife is useful, but not absolutely necessary.&lt;/p&gt;</description></item><item><title>Computing PageRank for the Swedish Wikipedia</title><link>https://www.athoughtabroad.com/posts/computing-pagerank-for-the-swedish-wikipedia/</link><pubDate>Mon, 18 Feb 2013 08:02:43 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/computing-pagerank-for-the-swedish-wikipedia/</guid><description>&lt;p&gt;Time to play search engine and experiment with PageRank. How much time does it take to page-rank a network with a million pages? I got curious during working on a university exercise and tested two power iteration variants and one Monte-Carlo method.&lt;/p&gt;</description></item><item><title>Case Study: Role-Playing Game in C++</title><link>https://www.athoughtabroad.com/posts/case-study-role-playing-game-in-c/</link><pubDate>Wed, 30 Jan 2013 09:48:54 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/case-study-role-playing-game-in-c/</guid><description>&lt;p&gt;A minimal implementation in C++ of a role-playing game with 2D graphics, as part of an exercise at university.&lt;/p&gt;</description></item><item><title>Artificial Neural Network: Animation of Training</title><link>https://www.athoughtabroad.com/posts/artificial-neural-network-animation-of-training/</link><pubDate>Thu, 24 Jan 2013 17:04:49 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/artificial-neural-network-animation-of-training/</guid><description>&lt;p&gt;See a live animation of how an artificial neural network is trained to represent a Gaussian-shaped function.&lt;/p&gt;</description></item><item><title>Inspecting Algorithms with Graphs</title><link>https://www.athoughtabroad.com/posts/inspecting-algorithms-with-graphs/</link><pubDate>Tue, 22 Jan 2013 15:31:28 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/inspecting-algorithms-with-graphs/</guid><description>&lt;p&gt;Graphs and algorithms are tightly connected. One surprisingly simple way to inspect algorithms graphically is to let the algorithms plot graphs during their execution using GML (Graph Modeling Language). The produced graphs can be formatted with graph editing software.&lt;/p&gt;</description></item><item><title>HP Officejet 6500 e710n-z on Arch Linux</title><link>https://www.athoughtabroad.com/posts/hp-officejet-6500-e710n-z-on-arch-linux/</link><pubDate>Fri, 11 Jan 2013 05:47:35 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/hp-officejet-6500-e710n-z-on-arch-linux/</guid><description>&lt;p&gt;A road story on how to use my HP Officejet 6500 E710n-z printer on Arch Linux without dispensing the duplex unit and the feed scanner.&lt;/p&gt;</description></item><item><title>Task Manager with Focus on Usability: dropandforget</title><link>https://www.athoughtabroad.com/posts/task-manager-with-focus-on-usability-dropandforget/</link><pubDate>Mon, 07 Jan 2013 01:28:07 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/task-manager-with-focus-on-usability-dropandforget/</guid><description>&lt;p&gt;Entering a TODO item into a task manager should be as easy as typing a few words and hitting enter. Moving your TODO item to another list should be exactly one mouse-click away. All lists should be shown at once. The experimental task manager &amp;ldquo;dropandforget&amp;rdquo; does just that.&lt;/p&gt;</description></item><item><title>Netgear WNR612 Classic Wireless Router – Good Value for Money</title><link>https://www.athoughtabroad.com/posts/netgear-wnr612-classic-wireless-router-good-value-for-money/</link><pubDate>Sat, 05 Jan 2013 10:05:49 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/netgear-wnr612-classic-wireless-router-good-value-for-money/</guid><description>&lt;p&gt;Surprisingly much for the price of 299 SEK: while the range is rather limited, the router features a separate guest network, an intuitive and comparably well-designed user interface for router management, okayish help information, humble packaging, factory defaults easy to find, a short Ethernet cable, and two years guarantee. Good for private use. Quality needs to be appreciated!&lt;/p&gt;</description></item><item><title>Version Control on Top of Dropbox</title><link>https://www.athoughtabroad.com/posts/version-control-on-top-of-dropbox/</link><pubDate>Fri, 14 Dec 2012 03:15:08 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/version-control-on-top-of-dropbox/</guid><description>&lt;p&gt;Suppose, two people are working together on a set of files. How to find a version control solution that is accessible for everyone (such as &lt;em&gt;Dropbox&lt;/em&gt;) and powerful enough for sharing code (such as &lt;em&gt;git&lt;/em&gt;)?&lt;/p&gt;</description></item><item><title>Public Transport in Munich now on Google Maps</title><link>https://www.athoughtabroad.com/posts/public-transport-in-munich-now-on-google-maps/</link><pubDate>Thu, 22 Nov 2012 14:20:45 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/public-transport-in-munich-now-on-google-maps/</guid><description>&lt;p&gt;Finally! Now it is possible in Munich to look up directions and connections with public transport on Google Maps (bus connections are still missing!). According to Süddeutsche Zeitung, this took MVG (the local company responsible for operating public transport) a whole man year to finish the interface to Google Maps.&lt;/p&gt;</description></item><item><title>Quick-fix for X11: Typing Å on German Keyboard</title><link>https://www.athoughtabroad.com/posts/quick-fix-for-x11-typing-aring-on-german-keyboard/</link><pubDate>Sat, 17 Nov 2012 11:36:51 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/quick-fix-for-x11-typing-aring-on-german-keyboard/</guid><description>&lt;p&gt;German keyboards come with ÄÖÜ. But they lack the character Å, which is frequently used in Scandinavian languages. Here is a quick-and-dirty fix to customize the xkb map for X11 on Arch Linux.&lt;/p&gt;</description></item><item><title>Rudimentary Recognition of Spoken Words at KTH</title><link>https://www.athoughtabroad.com/posts/rudimentary-recognition-of-spoken-words-at-kth/</link><pubDate>Fri, 12 Oct 2012 10:44:56 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/rudimentary-recognition-of-spoken-words-at-kth/</guid><description>&lt;p&gt;Pattern recognition (EN2202) at KTH Stockholm turned out to be a very good course, concerning lecture, exercises, and the accompanying project work. Together with a fellow student, we created a rudimentary recognizer for spoken words. It is far from production quality, of course. While a good part of the coding has been prepared for the students, the task left enough freedom to play around with hidden markov models in the context of word recognition.&lt;/p&gt;</description></item><item><title>Recognizing Textured Planar Objects with OpenCV</title><link>https://www.athoughtabroad.com/posts/recognizing-textured-planar-objects-with-opencv/</link><pubDate>Tue, 09 Oct 2012 16:01:31 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/recognizing-textured-planar-objects-with-opencv/</guid><description>&lt;p&gt;How can we recognize textured objects under the assumption of planarity in images? OpenCV provides extensive support for this task, and helps with local feature extraction, fast approximative matching, and robust model fitting. This article describes a minimalistic detector based solely on OpenCV for all vision subtasks, and also offers pictures, videos, and the source code.&lt;/p&gt;</description></item><item><title>The Viterbi Algorithm and Breadth-First Search</title><link>https://www.athoughtabroad.com/posts/the-viterbi-algorithm-and-breadth-first-search/</link><pubDate>Thu, 27 Sep 2012 15:20:21 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/the-viterbi-algorithm-and-breadth-first-search/</guid><description>&lt;p&gt;Given a hidden Markov model, we can use the Viterbi algorithm in order to compute the most likely sequence of latent states that produced a certain sequence of observations. Neat: the algorithm is sort of breadth-first search for a maximum in a certain perfect N-ary search tree.&lt;/p&gt;</description></item><item><title>Arch Linux: switched to systemd</title><link>https://www.athoughtabroad.com/posts/arch-linux-switched-to-systemd/</link><pubDate>Sun, 02 Sep 2012 01:33:43 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/arch-linux-switched-to-systemd/</guid><description>&lt;p&gt;Time was ripe for me to migrate my Arch Linux installation from SysV to systemd. The transition was simple enough and turned out to be smooth in my case. There were not any troubles to be resolved. Furthermore, systemd made a very good first impression.&lt;/p&gt;</description></item><item><title>Rotating Backups with rsnapshot</title><link>https://www.athoughtabroad.com/posts/rotating-backups-with-rsnapshot/</link><pubDate>Sun, 26 Aug 2012 10:00:10 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/rotating-backups-with-rsnapshot/</guid><description>&lt;p&gt;Looking for a light-weight, space-efficient backup solution for your data on local machines and remote servers? Give rsnapshot a try: relying on existing toolchains, opting for convention over configuration, and simple customization for slightly trickier backup tasks.&lt;/p&gt;</description></item><item><title>Olve Maudal and Deep C++</title><link>https://www.athoughtabroad.com/posts/olve-maudal-and-deep-c/</link><pubDate>Fri, 15 Jun 2012 13:46:23 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/olve-maudal-and-deep-c/</guid><description>&lt;p&gt;Wonder about the depths of C++? Wonder why the code you wrote yesterday no longer works in the morning? Olve Maudal stated on &lt;a href="http://www.tngtech.com/de/events-bigtechday05-abstracts.html#OlveMaudal"&gt;TNG Big Techday 5&lt;/a&gt; in Munich that you ought to look under the hood when you want to understand more about C++. His key statements were: C++ is fast and powerful. Yet, a shark is always lurking in your back, so have an appropriate model in mind. I enjoyed the talk, for more about this, see &lt;a href="http://olvemaudal.wordpress.com/2011/10/10/deep-c"&gt;Olve Maudal&amp;rsquo;s blog&lt;/a&gt; and the freely available &lt;a href="http://www.slideshare.net/olvemaudal/deep-c"&gt;slides&lt;/a&gt; on the topic.&lt;/p&gt;</description></item><item><title>Mappotino: A Robot for Exploration, Mapping, and Object Recognition</title><link>https://www.athoughtabroad.com/posts/mappotino-a-robot-for-exploration-mapping-and-object-recognition/</link><pubDate>Sun, 27 May 2012 09:56:30 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/mappotino-a-robot-for-exploration-mapping-and-object-recognition/</guid><description>&lt;p&gt;How can we let a robot create a map of an unknown indoor environment using three cameras that simultaneously provide depth information and color images? We investigated this question in a four-week practical course at our university. This article sheds some light on the challenges involved.&lt;/p&gt;</description></item><item><title>Template Tracking using Hyperplane Approximation</title><link>https://www.athoughtabroad.com/posts/template-tracking-using-hyperplane-approximation/</link><pubDate>Sat, 11 Feb 2012 05:19:25 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/template-tracking-using-hyperplane-approximation/</guid><description>&lt;p&gt;Tracking an object over a sequence of 2D images is a challenging task. One approach uses a linear mapping between observed intensity differences and target motion; this is presented in the paper &lt;a href="http://www.cs.jhu.edu/~hager/Public/teaching/CS600.641/Juries-Hyperplane.pdf"&gt;Hyperplane Approximation for Template Matching&lt;/a&gt; by F, Jurie and M. Dhome. Here are some results from an implementation in Matlab by a fellow student and me.&lt;/p&gt;</description></item><item><title>Fix for Wireless Presenters and Flash-based Full-screen Prezi</title><link>https://www.athoughtabroad.com/posts/fix-for-wireless-presenters-and-flash-based-full-screen-prezi/</link><pubDate>Thu, 12 Jan 2012 09:53:14 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/fix-for-wireless-presenters-and-flash-based-full-screen-prezi/</guid><description>&lt;p&gt;Your wireless presenter is not working for prezi.com in full-screen mode? Here is how you might be able to fix the issue on X-based Linux desktops by temporarily remapping the &amp;ldquo;Page Up&amp;rdquo; and &amp;ldquo;Page Down&amp;rdquo; buttons of your keyboard.&lt;/p&gt;</description></item><item><title>Reinventing the Wheel: Panorama Stitching with Matlab</title><link>https://www.athoughtabroad.com/posts/reinventing-the-wheel-panorama-stitching-with-matlab/</link><pubDate>Tue, 06 Dec 2011 13:06:59 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/reinventing-the-wheel-panorama-stitching-with-matlab/</guid><description>&lt;p&gt;A set of images that have some common overlapping regions can be stichted together to form a panorama picture. Some recent camera models can even compute the panorama picture internally and do not require post-processing on the computer. While this is a problem that has already been solved (for example, there is &lt;a href="http://www.cs.bath.ac.uk/brown/autostitch/autostitch.html"&gt;AutoStitch&lt;/a&gt;, here are some hints on classic DIY-panorama-stitching using Matlab, SIFT, DLT and RANSAC.&lt;/p&gt;</description></item><item><title>Saving the Parrots with Homogeneous Coordinates</title><link>https://www.athoughtabroad.com/posts/restoring-the-parrot-rotation-and-translation-using-homogeneous-coordinates/</link><pubDate>Wed, 09 Nov 2011 08:25:24 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/restoring-the-parrot-rotation-and-translation-using-homogeneous-coordinates/</guid><description>&lt;p&gt;A well-known result from linear algebra is that one can use a matrix to represent any linear mapping between two vector spaces. While rotation is a linear mapping, translation unfortunately is not. But, wait&amp;hellip; by adding another dimension to the vector space, and by interpreting the vector coordinates correctly, we are able to perform rotation and translation with a single matrix multiplication! This article describes how to restore a fragmented image with the help of homogeneous coordinates.&lt;/p&gt;</description></item><item><title>A Connection between Motion Blur and the Fourier Transform</title><link>https://www.athoughtabroad.com/posts/a-connection-between-motion-blur-and-the-fourier-transform/</link><pubDate>Sat, 22 Oct 2011 04:20:07 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/a-connection-between-motion-blur-and-the-fourier-transform/</guid><description>&lt;p&gt;Motion blur usually occurs in an image, when the camera was moved with respect to the subject. Motion blur has an interesting effect on the Fourier-transformed image, as pointed out by D. Burschka at University of Technology, Munich. Here is an example how the Fourier-transformed images of toy images look like that have been subject to motion blur.&lt;/p&gt;</description></item><item><title>Disabling hot-corner effect in Gnome 3</title><link>https://www.athoughtabroad.com/posts/disabling-top-left-hot-corner-effect-in-gnome-3/</link><pubDate>Fri, 21 Oct 2011 13:05:56 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/disabling-top-left-hot-corner-effect-in-gnome-3/</guid><description>&lt;p&gt;When using Gnome 3, one can access the dashboard by moving the cursor to the top-left corner of the screen. As it turns out, I always kept accidentally moving the cursor to this &amp;ldquo;hot corner&amp;rdquo;, thereby opening the dashboard involuntarily. Here is a small hack that disables this hot-corner effect. You are still able to show the dashboard by activating the &amp;ldquo;super&amp;rdquo; key.&lt;/p&gt;</description></item><item><title>Dual-booting Arch and Ubuntu with LVM on top of LUKS</title><link>https://www.athoughtabroad.com/posts/dual-booting-arch-and-ubuntu-with-lvm-on-top-of-luks/</link><pubDate>Sat, 08 Oct 2011 15:18:14 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/dual-booting-arch-and-ubuntu-with-lvm-on-top-of-luks/</guid><description>&lt;p&gt;Encrypting your hard drive is generally a good idea. Yet, the encryption renders dual-booting a little more difficult. Here I briefly sketch how I installed Ubuntu in parallel to an existing Arch installation on a LUKS-encrypted drive.&lt;/p&gt;</description></item><item><title>Team Black Sheep presents amazing stunts with first-person-view RC plane</title><link>https://www.athoughtabroad.com/posts/team-black-sheep-presents-amazing-stunts-with-first-person-view-rc-plane/</link><pubDate>Fri, 27 May 2011 13:17:28 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/team-black-sheep-presents-amazing-stunts-with-first-person-view-rc-plane/</guid><description>&lt;p&gt;Being suprised by a low-flying unidentified objects? Maybe it was just a remote-controlled airplane by &lt;a href="http://team-blacksheep.com/"&gt;Team Black Sheep&lt;/a&gt;, who were giving a talk at &lt;a href="http://www.bigtechday.com"&gt;TNG Big Techday&lt;/a&gt; in Munich on 2011-05-27.&lt;/p&gt;</description></item><item><title>Sampling from a Poisson distribution - a benchmark</title><link>https://www.athoughtabroad.com/posts/generating-poisson-distributed-random-values/</link><pubDate>Fri, 13 May 2011 22:52:24 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/generating-poisson-distributed-random-values/</guid><description>&lt;p&gt;Having a poisson-distributed random variable X, how can we efficiently generate samples (or say realizations) of that random variable? This article shows how Knuth&amp;rsquo;s technique can be derived and it also indicates that the Ratio-of-Uniforms method is quite efficient.&lt;/p&gt;</description></item><item><title>Understanding someone else's source code</title><link>https://www.athoughtabroad.com/posts/understanding-someone-else-s-source-code/</link><pubDate>Wed, 09 Mar 2011 13:50:17 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/understanding-someone-else-s-source-code/</guid><description>&lt;p&gt;Who has the luxury of working on a green field project where you can write everything from scratch, and thus feel in control about your code? I usually don&amp;rsquo;t. There are several good reasons that force programmers to develop their skills in reading code they have not written by themselves. You might want to add a feature (&lt;em&gt;extending&lt;/em&gt; existing code), fix a bug (&lt;em&gt;maintaining&lt;/em&gt; existing code), look for inspiration (&lt;em&gt;learning&lt;/em&gt; from existing code) or integrate functions into another project (&lt;em&gt;reusing&lt;/em&gt; existing code). All of these goals require you to read code.&lt;/p&gt;</description></item><item><title>Enhancing Details with Unsharp Masking</title><link>https://www.athoughtabroad.com/posts/enhancing-details-with-unsharp-masking/</link><pubDate>Mon, 25 Oct 2010 09:05:58 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/enhancing-details-with-unsharp-masking/</guid><description>&lt;p&gt;&lt;em&gt;Unsharp masking&lt;/em&gt; is an image enhancement technique that sharpens an image and highlights fine detail and put more weight on edges. By subtracting a blurred version of the original image, one obtains an &lt;em&gt;unsharp mask&lt;/em&gt; that in turn can be added to the original image. An easy-to-digest explanation can be found in the &amp;ldquo;GIMP help pages&amp;rdquo;:file:///usr/share/gimp/2.0/help/en/plug-in-unsharp-mask.html. Here is an example of a picture before and after unsharp masking:&lt;/p&gt;</description></item><item><title>Nearest-Neighbor-Resampling in Matlab</title><link>https://www.athoughtabroad.com/posts/nearest-neighbor-resampling-in-matlab/</link><pubDate>Thu, 14 Oct 2010 19:07:10 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/nearest-neighbor-resampling-in-matlab/</guid><description>&lt;p&gt;This article shows the derivation of an algorithm for resizing images in Matlab, using nearest-neighbor interpolation. Scaling an image is mathematically just multiplying image coordinates by a scaling factor. Surprisingly, when dealing with digital images, the scaling process becomes a little bit more complex.&lt;/p&gt;</description></item><item><title>Zweidimensionale Bereiche plotten mit Wolfram|Alpha</title><link>https://www.athoughtabroad.com/posts/bereiche-im-r2-plotten-mit-wolframalpha/</link><pubDate>Thu, 24 Jun 2010 15:05:23 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/bereiche-im-r2-plotten-mit-wolframalpha/</guid><description>&lt;p&gt;Besonders nett und nicht nur zum Entwerfen von Tapetenmustern hilfreich. Wolfram|Alpha zeichnet Bereiche im R^2. Beispiel:&lt;/p&gt;</description></item><item><title>Hosting bei Dreamhost, Domain woanders</title><link>https://www.athoughtabroad.com/posts/hosting-bei-dreamhost-domain-woanders/</link><pubDate>Wed, 16 Jun 2010 08:30:34 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/hosting-bei-dreamhost-domain-woanders/</guid><description>&lt;p&gt;Über wenige Webhosts lassen sich beliebige Top-Level-Domains registrieren. Beispielsweise ist es derzeit (Juni 2010) bei Dreamhost nicht möglich, de-Domains zu bestellen. Bei deutschen Anbietern wiederum ist dies möglich, im Niedrigpreissektor z.B. bei Evanzo. Bei Evanzo hat man Zugriff auf die DNS-Einträge der Domäne.&lt;/p&gt;</description></item><item><title>Eine weitere Identität für Binomialkoeffizienten</title><link>https://www.athoughtabroad.com/posts/eine-weitere-identitaet-fuer-binomialkoeffizienten/</link><pubDate>Thu, 20 May 2010 02:29:51 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/eine-weitere-identitaet-fuer-binomialkoeffizienten/</guid><description>&lt;p&gt;Keine besonders umwerfende Erkenntnis, aber diese Identität hat mir letztens weitergeholfen:&lt;/p&gt;&#10;$${n \choose a} {n-a \choose b} = {n \choose b} {n-b \choose a}$$</description></item><item><title>Remote Procedure Calls über den DBus</title><link>https://www.athoughtabroad.com/posts/remote-procedure-calls-ueber-den-dbus/</link><pubDate>Tue, 27 Apr 2010 12:12:52 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/remote-procedure-calls-ueber-den-dbus/</guid><description>&lt;p&gt;Wozu dient der DBus? Und wie spricht man ihn an? Ein einfaches Beispiel in fünf verschiedenen Sprachen &amp;mdash; mit Java, OCaml, Python, C und der Shell!&lt;/p&gt;</description></item><item><title>2D-Grafik-Ausgabe mit Cairo und OCaml</title><link>https://www.athoughtabroad.com/posts/2d-grafik-ausgabe-mit-cairo-und-ocaml/</link><pubDate>Sun, 11 Apr 2010 12:31:09 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/2d-grafik-ausgabe-mit-cairo-und-ocaml/</guid><description>&lt;p&gt;Feldversuch. Wie funktioniert &lt;a href="http://cairographics.org/"&gt;Cairo&lt;/a&gt; in Verbindung mit &lt;a href="http://caml.inria.fr/ocaml/"&gt;OCaml&lt;/a&gt;?&lt;/p&gt;</description></item><item><title>Programmierkonzepte für Multi-Core-Prozessoren</title><link>https://www.athoughtabroad.com/posts/programmierkonzepte-fuer-multi-core-prozessoren/</link><pubDate>Fri, 02 Oct 2009 10:30:54 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/programmierkonzepte-fuer-multi-core-prozessoren/</guid><description>&lt;p&gt;This article briefly introduces some existing programming concepts. It is a summary of a couple of interesting approaches that were presented at &lt;a href="http://www.ferienakademie.de/"&gt;Ferienakademie 2009&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Funktionsgraphen zeichnen mit PostScript</title><link>https://www.athoughtabroad.com/posts/funktionsgraphen-zeichnen-mit-postscript/</link><pubDate>Wed, 16 Sep 2009 14:40:48 +0000</pubDate><guid>https://www.athoughtabroad.com/posts/funktionsgraphen-zeichnen-mit-postscript/</guid><description>&lt;p&gt;PostScript ist eine Programmiersprache, die zur Beschreibung von Seiten dient. Mit ihr programmiert man direkt auf dem Stack und nutzt dabei die umgekehrte polnische Notation, was einigen Spaß bereitet, sobald man mal den Dreh herausgefunden hat. Mit PostScript kann man programmatisch skalierbare Grafiken zeichnen.&lt;/p&gt;</description></item></channel></rss>