New Apple Magic Keyboard with Numeric Keypad is surprisingly good, even excellent!

Recently, I’ve managed to render my beloved old Apple Keyboard (full-size, with numeric keypad) useless – accidentally pouring half a glass of tap water over it was sufficient, unfortunately (due to the mineral ions in the tap water; distilled water wouldn’t have conducted electricity and thus wouldn’t have shorted circuits; on the other hand, drinking distilled water would probably shorten your life, so please don’t consider doing this).

Luckily, I could temporarily use a similarly old, compact Apple Bluetooth keyboard instead. As I really wouldn’t recommend that keyboard for everyday work though (poor, bubbly typing experience, odd placement of keys requiring weird function key combinations, no numeric keypad), I had to order a full-size keyboard as a replacement again, so I ordered one of the new Apple Magic Keyboards with a Numeric Keypad (in Space Gray and I really like that, but the colour doesn’t matter in regard to the typing experience):

(above is the Swiss German version, US version:

I first thought that the even smaller lift of the keys (luckily with scissor and not butterfly switches) of this new keyboard would be very disturbing and that I’d have a hard time getting accustomed to it.

To my big surprise however I got accustomed to this new typing experience within a couple of hours already and now, after about 3 weeks of using it, I can confidently say: I love this new Apple Magic Keyboard with Numeric Keypad even much more than my previous, old Apple Keyboard with Numeric Keypad and wouldn’t want to switch back anymore.

Typing with it feels so immediate, so quick and so “raw” and “crunchy”, it’s literally almost addictive. I can type considerably faster with it than with the previous keyboard, let alone any regular IBM-type keyboards (although I like those too, for their build-quality, for the interesting history and stories behind them, for their customizability and standardization, for the bustling keyboard enthusiast scene around it). Further, typing for a prolonged time feels much less tiring for the fingers, hands and forearms.

It feels as if you had to work with a wobbly tool for quite some time, then all of a sudden, get a very precise and exact instrument, like e.g. skiing with racing skis vs. with allround skis. It’s pure joy!

The difference is difficult to describe, so I would recommend you rather go experience it yourself and judge for yourself. For me, it’s my most favourite keyboard so far.

I’m even thinking of getting one for the Windows workstation at work too, it’s that good.

Got a recent Mac and Boot Camp? You’ll need unofficial drivers.

(Or: The sad state of Apple’s Boot Camp support)

If you use Boot Camp with the official AMD GPU drivers the Boot Camp assistant installs, you’ll notice that many recent games in Windows 10 will issue warnings about outdated AMD GPU drivers and/or will simply crash (e.g. after a couple of minutes, like Forza Horizon 4).

Apparently, the only remedy is installing unofficial AMD drivers from (kudos!). It worked fine for me ( Adrenalin 19.1.2 V3 on a 15 inch MBP late 2018 with an AMD Radeon Pro 560X) – the games stopped crashing – BUT apparently, installing unofficial drivers from the above web site happens to void your Apple Care warranty (read: You do it at your own risk).

This means that one has the choice to either void the warranty or stick with an unacceptably buggy Boot Camp installation. Really, Apple?

Using multiple Skype accounts on macOS

With the recent changes in Skype, the “traditional” method of running several Skype instances using different system users doesn’t work anymore (as the the new authentication dialog strangely doesn’t get the focus anymore).

So, in order to use several Skype accounts on macOS (formerly known as Mac OS X), do the following:

  1. Open the Script Editor (in the ‘Utilities’ folder in the ‘Applications’ folder)
  2. Create a new script with the following content:
    do shell script "open -na /Applications/ --args -DataPath '/Users/your_system_user/Library/Application Support/Skype_any_identifier'"

    Replace your_system_user by your regular macOS user account (see ‘whoami’ in Terminal)
    Replace _any_identifier by the according Skype account name, e.g. _myskypename (doesn’t really matter what, just don’t use an empty string)
    Please mind the double quotes and single quotes (important!)

  3. Save the script as an application: File.. Save.., choose “Application” as file format, give it a name and store it e.g. in your home directory or in the Applications folder

Repeat these steps for any of your Skype accounts, giving each Skype account a different Skype_any_identifier. You can then start the according Skype instances by double clicking on the according app.


The above script starts a new instance of Skype (which would otherwise be prevented), using the -n argument. Each instance of Skype gets its own directory to store the according account data, using the -DataPath argument.

Guaranteeing memory safety in Rust | Air Mozilla

Nicholas Matsakis of Mozilla on how Rust guarantees type soundness, memory safety, and data-race freedom while still offering control similar to C/C++:

(via Guaranteeing memory safety in Rust | Air Mozilla.)

Rust, with its funny name, reminds more of a mutt than an academic programming language. It’s that pragmatism however, that has a lot of potential to help solving well-known “real world” reliability problems in software engineering. It would definitely make a worthwhile addition to other programming languages taught in CS classes.

Mozilla has already started building Servo, a web browser engine based on Rust. While still far from usable (Disclaimer: I’ve just compiled and quickly tested the current master branch sources on Mac OS X Mavericks), it’s the right strategic move and I wonder when other browser projects, like Chromium, will start shifting to safer programming languages too.

Modern web browsers are very complex and accordingly vulnerable pieces of software and yet, with the rise of the browser as an app platform, we depend more and more on their reliability, safety and security.

Ironically, my Chrome browser irrecoverably froze while I was drafting this blog post. Although chrome doesn’t rust, some Rust would actually be a good thing for Chrome, in the long term.

Moving Zimbra Collaboration Server to a new IP address

Here’s a quick overview how to migrate a ZCS mail server (based on Ubuntu) to a new IP address:

0) Not covered here: Adjusting DNS entries. Make sure you lower the TTLs of the relevant DNS entries a couple of days in advance in order to minimize downtime for clients (e.g. set a TTL of 300 for a 5 minute downtime).

1) Set the new IP address in:
* The relevant DNS entries
* /etc/network/interfaces
* /etc/hosts
* If ZCS runs in a container/VM, don’t forget to adjust its IP address too.

2) If the new IP address is part of a new subnet, make sure to add this new subnet to ZCS’s trusted_networks, otherwise, sending (relaying) messages through ZCS from Zimbra Desktop (or any other mail client) won’t work[1]. This can be set using ZCS’s web admin interface (i.e.
Navigate to “Server settings”, then open the “MTA” tab and set something analogous to the following in “MTA Trusted Networks”: w.x.y.z/26

3) Restart networking and the ZCS services (it’s important, as this adjusts the trusted_network setting in ZCS’s amavisd too):
# /etc/init.d/zimbra stop
# /etc/init.d/networking restart
# /etc/init.d/zimbra start

Alternatively, just reboot the server, particularly if it runs in a VM.


Note: The need for the adjustments in step 2) might come as a surprise. Authenticated messages to be relayed through ZCS apparently seem to originate from the external IP address, not localhost/

[1] A typical postfix error message might look like:
Delivery Failure Notification: Invalid address: somebody . com.zimbra.cs.mailbox.MailSender$SafeSendFailedException: MESSAGE_NOT_DELIVERED; chained exception is: com.zimbra.cs.mailclient.smtp.InvalidRecipientException: RCPT failed: Invalid recipient 554 5.7.1 : Relay access denied

Mac OS X Snow Leopard Server: Send e-mail alert if RAID 1 degraded/fails/goes offline

By default, Mac OS X Snow Leopard Server (and later versions likely too) doesn’t send any e-mail alerts when a RAID set degraded. Fortunately, sending such a notification can be implemented using a script, as explained in

# vi /etc/periodic/daily/150.check-raid

# cat /etc/periodic/daily/150.check-raid

# This script checks for any degraded/offline/failed/whatever software
# RAIDs, and if any are found emails a note to an admin.  To use it,
# replace the ADMIN_EMAIL value with your own email address, drop it in
# /etc/periodic/daily, and change the owner to root.  This’ll make it
# run its check every morning at 3:15am.
# Warning: this script doesn’t check anything other than software RAIDs
# built with the Apple (i.e. Disk Utility) RAID tools.  It does not check
# any hardware RAIDs (including Apple’s RAID card), or even any third-party
# software RAIDs.  If “diskutil listraid” doesn’t list it, it’s not going
# to be checked.


if diskutil listraid | grep “^Status:” | grep -qv “Online$”; then
diskutil listraid | mail -s ‘RAID problem detected’ “$ADMIN_EMAIL”

# chmod a+x /etc/periodic/daily/150.check-raid

Of course this requires that your server can actually send outgoing e-mail messages which may need some manual configuration, as explained in:

Mac OS X Snow Leopard Server: Configuring outgoing SMTP authentication for postfix

[Edit 20130401: Clarified the phrasing, anonymized data]

Samsung Audio Dock DA-E750 supports AirPlay and AllShare

Das Samsung Audio Dock DA-E750 ist das erste Audio-Device mit integrierter Docking Funktion, das über ein einzigartiges Dual Dock System verfügt. [..]

Darüber hinaus „verbindet“ das Samsung Audio Dock DA-E750 auch kabellos – und zwar nicht nur mit dem Samsung Galaxy S II und Galaxy Note über AllShare. Auch Apple iPod, iPhone und iPad können sich barrierefrei über AirPlay andocken. [..]

Der gute Ton macht die Musik
Für audiophile Enthusiasten spielt das DA-E750 alle Stücke. Das Gerät ist mit Samsungs exklusiver Hybrid-Technologie an Röhrenverstärkern ausgestattet. Sie erzeugt die, für diese Verstärkertechnik typischen, klaren und warmen Klänge. Das 2.1-Soundsystem samt integriertem Subwoofer sorgt für 100 Watt sattem Sound. Das Samsung Audio Dock ist aber nicht nur für die Ohren, sondern auch für die Augen konzipiert. Die Lautsprecher sind aus Fieberglas gefertigt. Das Dock selbst verbirgt sich kaum sichtbar im Hintergrund und die Oberfläche aus Holz verleiht dem Produkt ein elegantes Auftreten.

via Offen für Neues? Samsung Audio Dock DA-E750 verbindet

Would like to listen to it to compare it to other high-end Airplay iPhone/iPod/iPad docks like the B&W Zeppelin Air.

The Samsung DA-E750 isn’t a steal, but considering the high-quality components and manufacturing, a price of around 700 CHF seems reasonable.


Belkin Zero Stand for MacBook Pro

Belkin’s stylish Zero Stand is the ultimate solution for your MacBook or MacBook Pro, providing an optimal viewing angle for comfortable, everyday use.


  • Rubber grip keeps laptop in place
  • Open design improves airflow
  • Clutter-free cable management
  • Easy to assemble

via Belkin Zero Stand for MacBook Pro – Apple Store (U.S.).

Haven’t tried it yet with my 13″ MacBook Air, but this stand seems to be pretty good (though expensive) according to reviews (youtube video).

(Thanks to @fjoachim for the hint)

HP 48G: How to fix the “Warning: Invalid Card Data” problem

Recently, my good old HP 48G calculator (one of the best calculators ever built and my longtime personal favourite till today) started displaying the following message whenever I switched it on:

Warning: Invalid Card Data

Which seems a bit odd at first, considering the 48G model has no card slot (only the 48GX model has one). Luckily, there’s a simple solution: Execute the PINIT command by typing “PINIT” (without the double quotes) and pressing the ENTER key.

There’s a great, detailed explanation of this problem and the according fix in the “invalid card data at my hp48g” thread over at the independent HP calculator museum. If this warning message appears on a HP 48GX and the problem persists after applying this fix, take a look at step 3 described in the  article titled “Message, Invalid Card Data, is Displayed when the Calculator is Turned On” on HP’s support forum.

Wouldn’t it be a pity if a company with such a great history and so many great hardware products ceased to be a hardware company?

Animated Driving Directions using Google Maps Street View

A simple and yet fascinating and useful example app by Keir Clarke (@keirclarke) for all those many people who don’t have a Google Nexus One mobile phone yet (or any other similarly powerful turn-by-turn navigation device):

Google Maps Street View API Driving Directions Example

E.g. for driving directions on how to get from Zurich Airport to Printscreen GmbH‘s homebase by car(*), enter

From: Zurich-Airport

To: Heinrichstr. 223, Zurich

Speed: Choose Medium or Fast

And hit the “Route” button to display a map and list with driving directions.

Then click on “Drive” to see an animated simulation of your drive on Google Maps Street View.

Great, isn’t it? Now imagine this would be a seamless video..

P.S. If you’re looking for ideas for a road trip, consider taking this Grand Tour in Italy (and Switzerland and France). (Even better: Go by train and other public transport and you won’t even need a car or driving directions ;)

(*) Note: I’d strongly suggest using public transport instead. It’s almost as fast (during rush hour even faster), cheaper and tends to be more relaxing.