### Analytical convolution integral (Analytische Faltung) with Matlab and Maple

With $\sigma(t) = Heaviside(t)$ and $\delta(t) = Dirac(t)$
Function 1 (e.g. input signal/Eingangssignal):
$u(t) = \sigma(t-1) - \sigma(t-4)$

Function 2 (e.g. impulse response/Stoßantwort):
$g(t) = -\frac{1}{RC}\exp(-\frac{t}{RC})\sigma(t) + \delta(t)$

### Automatically convert videos in Powerpoint file (pptx) to a different format

I have been trying to convert a lot of embedded videos in pptx files to a different format lately due to compatibility issues on some systems, but have not found an easy and fast way – so I wrote this bash script.

The goal was to have a pptx with videos that can be played using Powerpoint 2010 or later on Windows as well as OS X without plugins. That seems to only be the case for MPG videos (mpeg1video codec).

To convert videos in a presentation

1. make sure that ffmpeg and a zip/unzip application is installed (ffmpeg can easily be replaced by avconv, but avconv somehow could not convert some files that were no problem for ffmpeg during my tests)
3. edit the options at the beginning of the file, if you want to (mainly video output format and bitrate)
4. Change to the directory with the pptx file(s) and start the conversion with /path/to/pptx_video_convert.sh myPresentation.pptx
5. Check if everything worked by looking at myPresentation_converted.pptx  or the logs

### 3D printed Arduino Nano case

I put a a practical Arduino Nano case on Thingiverse.

### Oneplus One touchscreen bug fix

There is a very common touchscreen bug with the Oneplus One that can only be partly/temporarily fixed by a reboot and shows in several ways:

• Touchscreen less responsive at all times
• Touches are often not recognized (apparently triggered by heat)
• Ghost touches (apparently triggered by heat)

Although this seems to be in some way related to the hardware (because I could easily reproduce it by making it warmer), a new touchscreen firmware was published recently in the CyanogenMod 12.1 repository that seems to work arround the problem somehow. I can attest that installing the new firmware fixed the problem on two Oneplus Ones that I tried it on. Battery life is noticably worse though, but this is said to be fixed with some changes that were committed to the CM12.1 repository on June 2.

### Simple LDAP server as authentication back end / Single sign-on on Ubuntu 14.04

I have wanted to create an LDAP server as authentication back end for a small student association that I am in for quite some time, but I did not do it yet because of the administrative chaos that LDAP servers seemed to be. I did not find a good ressource which described the best and simplest solution for a simple use case:

• Create, change and delete user accounts
• Have several, easily-managable groups
• Have easily-integrated interfaces for different services (e.g. Dokuwiki)

Most of the tutorials I found seemed overly-complicated, and I did not want to leave an administrative mess for the next person who has to manage the system.

The following (German) blog post described the process in very easy terms. I set up a working LDAP server with OpenLDAP in under one hour (including some testing I did that was not in the tutorial):

http://www.welzels.de/blog/projekte/raspberry-pi/low-budget-nas-mit-einem-raspberry-pi/pi-nas-ldap-server/

I followed the tutorial until “LDAP Samba Implementierung” and had no problems under a virtualized Ubuntu 14.04 LTS server (not on a Raspberry Pi).

### Automatically reboot TP-Link router WDR4300 / N750 with bash script

I wanted to reboot some TP-Link WDR4300 routers automatically, because the TP-Link firmware is rather buggy and often causes WLAN problems after a few days of use.
Sadly, rebooting those routers with current firmwares is not quite as easy as it used to be (simple and short one-line curl call). You first have to generate a cookie with the name ‘Authorization’ and value

(pseudocode). And then you have to extract some kind of one-time key from the post-login page to get the actual HTTP address of the reboot page ( http://$IP/$KEY/userRpm/SysRebootRpm.htm?Reboot=Reboot ). Did I mention you also have to set your HTTP referer to the reboot page?

### No wired (LAN) connection in Linux, although everything looks right

Today I experienced a strange problem with my notebook (Dell Precision M4800) and LAN card (Intel I217-LM, driver e1000e). I connected a LAN cable, but it just would not get a connection. Not via DHCP and network-manager, not via DHCP/dhclient, and not via static ip. On the same notebook, everything worked fine under Windows 8. Symptoms:

### Android DialogFragment that gives the user some list options to choose from

• DialogFragment that creates an AlertDialog with the title and options specified in the constructor
• Can store some a data object (useful if you want the user to select an action on a specific item)
• Is retained in case of an orientation change
• Works great with ActionBarSherlock
• FIXME: do not use custom constructor, but add data with .setArguments and a Bundle

### Using a TI LM35 temperature sensor with Arduino Mega

This is some code I wrote for fun to read the temperature from a TI LM35 temperature sensor and output the result with a speaker as morse code.

Note: Fig. 7 from the LM35 datasheet seems so have a different number in the current version of the datasheet