DIY MIDI Footswitch Controller

I am using a Behringer X32 digital mixing desk both when mixing other bands and mixing my own band while performing at the same time on stage. In the latter case I always struggle to turn the vocal reverb on and off in time when a song starts or ends. When I was using an analog mixing console, I had the option to attach a footswitch to toggle this effect on and off. On the X32 this is not possible but it is possible to remote control the desk via MIDI commands. So I decided to build a footswitch controller that will send MIDI commands to the X32.

Continue reading

Enabling iPhone push emails on your Ubuntu mail server

The iPhone does not support the IMAP Idle protocol to receive push notifications for new emails. Fortunately the open source project Z-Push implements the ActiveSync protocol which can be also used by iOS to receive push email notifications.

If you followed my other articles on how to install a mail server on Ubuntu, you have a running Dovecot server. You also need a running Apache server with PHP5. The server has to respond to https requests. If your server meets these requirements, adding Z-Push to this setup is easy.

Continue reading

Secure Offsite Backups for Synology NAS

I have a solid backup strategy in place where my 2-bay Synology NAS is the central data store. The HDDs in the NAS are setup in a JBOD configuration. I don’t need a RAID so this way I am more flexible in which data is stored where.

One HDD is dedicated as a backup drive. Every computer is backed up via Time Machine on this drive. The other HDD is used for network shares. Important documents, pictures, whatever are stored on a dedicated documents share on that HDD. This share is also backed up daily onto the backup drive.

Once per week I connect a USB drive to the NAS and create a backup of the backup drive.

Continue reading

Optimizing scanned documents with ImageMagick

I am in the process of scanning in all my paper receipts and correspondence. I use a small standalone document scanner that creates jpg images on an SD card. These documents are then converted into searchable PDF files.

The problem is that the images have not enough contrast to be easily readable on screen. Text is usually grey instead of black and you always see a grayish paper background.

Here comes ImageMagick to the rescue. You can easily stretch the color distribution so that light gray becomes white and dark gray becomes black. I use the following command line to modify all images in a folder before converting them to the PDF format:

for img in *.jpg; do mogrify -normalize -level 10%,90% -sharpen 0x1 $img; done

The level values fit my requirements. You should try different values if you don’t like the result.

Please note that pictures will look worse after the above step. Text documents will improve but the colors might change a bit.

Running OLA without network

Recently I bought a Raspberry Pi. My plan was to use this tiny computer as a lighting controller for my band on stage. I have installed the Open Lighting Architecture (OLA) daemon to talk to a cheap FT232 based DMX interface I bought from ebay and developed a simple lighting controller software in python which uses the OLA ClientWrapper API to talk to the DMX interface.

Continue reading

Standalone nginx & PHP Guide for Ubuntu 10.04

The last 1 or 2 years I have been running nginx as reverse proxy in front of Apache2. Now with the release of nginx version 1.2.0 I decided to revamp my installation and use nginx as a standalone server again. This guide explains my installation which uses nginx, PHP via FastCGI connector and SSL running on Ubuntu 10.04.

I want to use the current version of nginx, so I use the PPA repository where current nginx builds can be found:

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:nginx/stable
sudo apt-get update
sudo apt-get install nginx

Continue reading

Quickie: Change Time Machine interval

Here is a quick shell snippet to change the time machine backup interval on OSX. The time interval is specified in seconds. If you want to change it to 4 hours open terminal and enter:

sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto.plist StartInterval -int 14400

You can restore the default interval with:

sudo defaults write /System/Library/LaunchDaemons/com.apple.backupd-auto.plist StartInterval -int 3600

Configuring a PPTP-VPN on iOS and Android

About a year ago, I wrote a blog posting about how to setup a PPTP VPN service on a Amazon EC2 node. This is a follow up to that posting which describes how to setup the VPN on an iOS or Android device.

Please note that some carriers might block PPTP traffic. I experienced problems with using the VPN connection via 3G, while connecting through Wifi works for me. On 3G I can connect to the server, but no data is being transferred. On the server I see a lot of messages of the type “Protocol-Reject”. So if your device seems to be connected to the VPN but you get no traffic, it might be blocked by your carrier. You then need to find a Wifi Hotspot to use the VPN.

Continue reading

Speeding up ProFTPD logins

One year ago I have switched from PureFTPd to ProFTPD because it runs smoother on the virtual server I am running. The server is really easy to setup and maintain, but with the standard configuration it always takes around 5 to 10 seconds to log on to the server. After searching for a solution to these slow logins, it turns out that there is even a point in the FAQ on how to speed up the login process.

Just edit the file /etc/proftpd/proftpd.conf and add these 2 lines:

UseReverseDNS off
IdentLookups off

Lesson learned: I should read manuals more often.