Decreasing the pain of updating OwnCloud

OwnCloud is a file, calendar and address book storage service that you can run on your own PHP enabled web host. I use it for syncing my calendars (over CalDAV, with Lightning for Thunderbird and AnDal for Android) and my address book (over CardDAV, with Inverse SOGo Connector for Thunderbird and CardDAV-Sync for Android).

However, there’s one major pain point in using OwnCloud: Every few weeks, the project releases a security update that needs to be installed. However, they don’t have any means of notification: There’s neither an “announce” mailing list, nor an RSS feed for updates. I monitor the changelog with changedetection.com, so that I get an email when there’s a new version of OwnCloud.

When you know that there’s an update, you still need to install it. This isn’t done automatically with a single click like in WordPress, so you have to follow a procedure as outlined in the OwnCloud Administrators Manual. Previously, I needed to look it up every single time, so I wrote a shell script to automate some of it:

#!/bin/bash

if [ -z "$1" ]; then
        echo "usage: $0 owncloud-x.y.z.tar.bz2"
        exit 1
fi

tar xvf $1
sudo rsync --inplace -rtv owncloud/ public/owncloud/
rm -r owncloud $1

Prerequisite: The running owncloud instance is located in public/owncloud/, relative to the directory from which you run the script. Change the script as you need it.

You use like that:

$ wget http://download.owncloud.org/community/owncloud-x.y.z.tar.bz2
$ ./update-owncloud.sh

Afterwards, you need to open your OwnCloud instance in your browser to trigger the database upgrade.

That’s it!

Facebook: How to hide your online status or disable chat

After signing in to Facebook, your friends can see that you’re online by default. You can open the chat window in the lower right corner of the window and choose to go offline, but after your next login to Facebook, this setting is lost and you’re online, again.

This may be not the way to go for multiple reasons:

  • If I’m logging in to Facebook, this doesn’t necessarily mean that I want to chat. (People who know me probably also know that I don’t use instant messaging at all…)
  • Privacy: I don’t want everyone (of my Facebook friends) to track my use of Facebook.
  • When I use a phone with a Facebook app running in the background, I appear to be online and ready for chatting as long as the phone is connected to the Internet (probably always). This happened at least with the official Facebook app for Android.

So what to do? A friend of mine was so kind to show me a simple procedure to trick Facebook into hiding my status: Continue reading

Merkwürdiges Verhalten von Lichtschaltern

Wechselschalter ermöglichen es, die gleiche Lampe durch zwei Lichtschalter steuern zu können. Wenn alles korrekt verkabelt ist, funktioniert das ungefähr so:

Wechselschalter, korrekt verkabelt

Zwischen den beiden Wechselschaltern bestehen zwei Verbindungen. Wenn beide Schalter auf die gleiche Verbindung schalten, fließt Strom (rot), sonst nicht. Wenn man einen beliebigen Schalter umschaltet wird der Zustand der Lampe (an/aus) geändert, so wie man das von einem Lichtschalter erwartet.

Wenn aber einer der Schalter defekt ist und ersetzt werden muss, hat man beim Anschließen der Kabel eine Chance von zwei Dritteln, dass hinterher die folgende Schaltung herauskommt: Continue reading

Show me the bill!

I share a flat with two other students. When someone bought something we all (or two of us) will benefit of like food or household articles, we don’t split up the price immediately. Instead, we put it on a (paper-based) list. When this list is full, someone (me…) needs to do the math and figure out who needs to pay how much money to whom. This is where computer science comes in handy 😉 So I finally wrote a small program which takes such a list and prints something like “A needs to pay B 23.42 Euro”. Continue reading