How to add USB Gamepad support for your Android phone or tablet


I was almost at the point to buy a playstation or xbox controller to use with my tablet, since they seem to be supported out-of-the-box. But actually I still have an old USB controller lying around, which would be more than good enough for playing some games. Interestingly my gamepad did in fact work partly, but only the left analog stick and one or two buttons, and the rest did not. My hacker spirit told me that this must be fixable somehow.

So I started hacking around and added support for my old USB gamepad for my android tablet. In this post, I’ll show you how I did it and how you can to add support for any gamepad to your phone or tablet as well!

Continue reading

DIY: Black Rolls/Trigger Point-like foam rollers for myofascial release

Black RollsFinished DIY version

I am a big fan of using foam rollers for myofascial release, especially after workout.

There are a lot of foam roller products for myofascial trigger point treatment out there, but I am too cheap to buy a piece of recycled plastic pressed into a cylindrical form for 20 EUR or higher. This is one of the easiest DIY projects possible, so make your own! Continue reading

Samsung Galaxy S3 repair – Glass screen/digitizer replacement and why it is not recommended

Glass screen replacedA friend asked me to repair her friends Samsung Galaxy S3 mobile phone, that had a broken glass screen/digitizer, so I had a closer look at it. The process of replacing the glass screen/digitizer on a Samsung Galaxy S3 is straight forward and not many tools are needed. However, what you really need is patience… a lot of it.

This post shows how it is done and why I still would not recommend it anyway.

Continue reading

DIY: “barefoot”/natural running shoes

Finished sole

At the end of last year I went to a sports and health fair, where I wanted to have a closer look at the available natural running shoes, especially the ones from Vibram (FiveFingers) and Leguano. Both type of shoes were comfortable and seemed to be of good quality. However, with an above the 70 EUR price range, they are quite expensive for a shoe that aims to be like no shoe at all. In fact, they are more like a pair of high quality socks with a special thin rubber layer glued to the sole (whereas the Vibram FiveFingers also seem to have some supportive structure integrated, which is kind of a contradiction to the barefoot philosophy). Making a custom fitted version should not be that hard, so I decided to make my own.

Continue reading

QCAD – Symbols, special characters and font styles in dimension labels

Cover - QCAD with Alpha and l_ABz dimensions

QCAD is a great free and open source CAD software. Although limited to 2D design, it is my favorite tool for drafting, construction and simple sketches. It is well documented overall, but one issue I could not find a solution for, was how to label dimensions with symbols, special characters or certain font styles (bold, italic, super-/subscript).

This blog post provides a simple trick to get it done.

Continue reading

Maxima (software) and gnuplot – plot functions using lines with symbols on it (workaround)


I am recently working on some scientific papers for which I have to visualize a lot of mathematical functions. In a good scientific paper the graphs (and visualizations in general) should be colorless and utilize dotted/dashed lines or lines with symbols on it instead of colors. This has several advantages: A colorless plot is more neutral to the reader, he/she does not get distracted by the different colors. A reader may also have a (subliminal) preference in color, so he/she pays more attention to e.g. the red curve than the yellow one, that is hardly readable on the white background anyway. This also helps to distinguish functions, if they are plotted in one diagram and printed in gray scale mode or read by color blind people. Also, if two identical functions are plotted in one diagram, using just colors will probably only show one of the functions and hide the other.

I am using the CAS software Maxima to do the calculations, which in turn uses gnuplot to plot the functions. Gnuplot alone does the job perfectly. However, when plotting functions (and not discrete data points) using lines with symbols on it from within Maxima (which also uses gnuplot to plot the graphs), the results are quite ugly. There seems to be no proper solution to this problem.

This blog post suggests a workaround that is rather ugly, but which produces very nice graphics, that meet the above-mentioned requirements.

Continue reading

Samsung SSD 840 EVO 2.5 Zoll SATA – Firmware update under GNU/Linux

I recently bought a Samsung SSD to replace my HDD in my Arch Linux notebook. It is a “Samsung SSD 840 EVO 2.5 Zoll SATA”. One of the first things I do when I get new hardware is to make sure the latest firmware is installed. Mine did not have the latest firmware update and – as it was to expect – Samsung SSD firmware updates under GNU/Linux are not (officially) supported. Samsung ships only Microsoft Windows software, called “Magician”, which can directly update the firmware or create a live USB-Stick to do the update. Additionally, they provide *.iso image files (one for Microsoft Windows systems and one for Apple computer, respectively) to update the firmware from a live CD. The *.iso image file intended for Microsoft Windows would also work under GNU/Linux, only that my notebook does not have a CD Drive anymore. Obvioulsy, the only option left was to create my own live USB-Stick under GNU/Linux – without using Microsoft Windows and that crappy Samsung “Magician” software. A simple “dd” comand to “burn” the *.iso file on an USB-Stick did not do the trick, as the Isolinux version Samsung uses is over 10 years (!) old.

This article shows how to update the firmware of a “Samsung SSD 840 EVO 2.5 Zoll SATA” under GNU/Linux using a bootable live USB-Stick.

Continue reading

UEFI, GNU/Linux and HP notebooks – problems and how to get it working

There is a lot of confusion and wrong information in the internet about the Unified Extensible Firmware Interface (UEFI) and how to set it up correctly – especially under GNU/Linux. What makes things worse and also confused me a lot is that all vendors tend to implement this “standard” differently. So although UEFI is defined as a new industry standard replacing the BIOS, it can hardly be called “standard” at this time. Yet another problem of understanding UEFI is, that people seem to mix up words that have a special meaning.

My old notebook still uses the old BIOS-MBR setup, not capable of any UEFI fancy-ness. But it is dying, so I recently bought a new one. It is an “HP EliteBook 840 G1″. I used that opportunity to familiarize myself with UEFI and GNU/Linux.

This article explains two things (only taking GPT setups into account):

  • How is UEFI implemented in practice and set up with GNU/Linux?
  • How to set up UEFI and GNU/Linux on HP notebooks?

Continue reading

Coders’ forbidden vocabulary

I often have to read a lot of code from other people that is not exactly well written or easily understandable. I am working on several different projects; some open-source for fun & giggles and some closed-source for money & fame. I just noticed that the biggest problem in understanding other peoples code is not about things you could easily measure, like code quality in the sense of code formatting standards or the language that it is written in. Naming of constants and variables make all the difference for understanding the code others have written.

forbiddenvocabularyI realized, that there are some words which should just be forbidden to use on their own. They are too broad or just don’t add any valuable information. I am also very sorry that these following examples contain PHP code, but this is where examples for doing things wrong are easily found. Most of the example code listings are not good practice in other senses as well, but that’s not what this post is about; It’s about the kind of readability which applies to all programming languages.

Continue reading

How touch screens turn people into zombies or why keyboards are irreplacable

I just wanted to finish a draft blog post using my tablet, since after all, it’s a full blown computer. It has more than enough horsepower to run virtually any writing application. But right after I began to type in letter by letter, I realized that touch screens make you lazy. So lazy, that the blog post would have become much shorter than I wanted it to be. Additionally it would have included strange auto-completion artifacts and misplaced punctuation not resembling my usual writing style. Let’s explore the brave new world of touch screen computing, why touch screens suck and how they make us to internet zombies.

Continue reading