Windows 10 backups using Duplicati

“File History”, the built-in backup functionality of Windows 10, leaves a lot to be desired. It starts with a totally non-intuitive, “dumbed-down” user interface (displaying a backup size of 0 bytes, “backing up your data…” and an enabled “Back up now” button at the same time) and ends with lacking transparency (no information about progress and speed at all) and checkability in general.

Luckily, there’s a better open source alternative: Duplicati

Duplicati might not be the fastest backup solution either, but it has a good, intuitive GUI and wizard. And it’s fully transparent and highly adjustable.

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 https://www.bootcampdrivers.com (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?

Paragon CampTune – a handy tool to resize the Boot Camp partition

Recently I ran out of space on a Boot Camp partition with Windows 10 Pro. So I looked around for ways to make more space for Windows by shrinking the macOS partition and enlarging the Windows partition. Apple doesn’t officially support this in Boot Camp without reinstalling Windows, and doing these operations by hand, e.g. with the help of GNU Parted, is time consuming and tedious.

Luckily, I stumbled over Paragon CampTune, a commercial macOS utility (ready for 10.14 Mojave) that automates these tedious tasks and allows to resize the macOS and Boot Camp partitions on the fly, without having to reinstall Windows or macOS.

It finally worked wonderfully, the only irritating thing was that the tool showed a bland error at the first start of the repartitioning process: “Object not found”. After restarting the process with slightly different partition sizes, it could be successfully completed.

I can thus recommend this handy utility as it can save hours of work for a few bucks (ca. 22 USD).

Karabiner: Use PC-style Home/End keys on Mac OS X

Karabiner allows to customize almost any aspect of the keymap on Mac OS X in a convenient way:

Karabiner – A powerful and stable keyboard customizer for OS X. (formerly known as KeyRemap4MacBook)

For example, you can make the “Home” and “End” keys behave like on a PC. Regarding these two keys, I find the PC style behaviour more intuitive, e.g. using shift-home and shift-end to select text, rather than using the tricky three-finger-combinations shift-cmd-left_cursor and shift-cmd-right_cursor in Mac OS X.

Here’s how to configure this in Karabiner:

karabiner_use_pc_style_home_and_end_keys

 

Further, I decided to lower the “Key Repeat Delay Until Repeat” to 100 ms and the “Key Repeat” to 23 ms for quicker navigation and repetitive typing.

Of course, there are many other useful tweaks to explore.

Microsoft and Skype’s privacy settings

I don’t know exactly when these settings were introduced in Skype, but it’s obvious that they haven’t been there in this form before Microsoft’s acquisition of Skype.

The irritating thing is that one of my Skype accounts had the “Allow Microsoft to use your Skype profile information to show you more relevant ads in this application” setting enabled and I can’t remember (nor imagine) I ever knowingly allowed ad targeting.

skype_privacy

The other one is “Allow Microsoft to collect information on my behalf to make the service better” which they decided to hide in the “advanced” settings tab, although it’s clearly very privacy relevant (just read the disclaimer).

skype_advanced

So, make sure to revise all your settings in Skype, particularly those in the privacy and advanced tabs.

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.

Some helpful Git resources

A friend recently told the following joke:

“The idea that git can be used offline is an illusion – you still need connectivity for googling which arguments to pass to what command.”

That’s an exaggeration, of course, but as always, there’s a grain of truth in it. So here we go:

Delete duplicate e-mail messages

If you need to delete duplicate e-mail messages on an IMAP server, take a look at this useful IMAP de-duplicator script:

IMAP de-duplicator – IMAPdedup

As IMAPdedup is a command line interface tool (a python script), it’s particularly useful for:

  • automated deletion of duplicates (as it can be called from other scripts)
  • extraordinarily big mailboxes or if you have many subfolders (as there’s no intervention by the user required)
  • if you have console/shell access to the IMAP server (as you can then run the script on the server itself, speeding the de-duplication process further up)

I also found that it deals relatively well with failures (e.g. when a folder is read-only and hence messages can’t be deleted): It simply reports them on the screen and carries on.

Here’s a quick’n’dirty bash script to de-dup the inbox and all subfolders of the specified account:

#!/bin/sh
# Delete all duplicate messages in all folders of said account.
# Note that we connect through SSL (-x) to the default port.

SERVER="my.server.com"
USER="mylogin"
PASS="mypass"

for folder in `imapdedup.py -s $SERVER -x -u $USER -w $PASS -l`;
do
 imapdedup.py -s $SERVER -x -u $USER -w $PASS $folder
done

If you only have to de-duplicate messages in a small folder, you could also use the following de-duplication add-on for Mozilla Thunderbird:

Remove Duplicate Messages Add-on for Thunderbird

Note however that the ‘Remove Duplicate Messages’ add-on is intended for interactive use only, not for batch processing. I also noticed that it fails at cleaning big mail folders (e.g. containing 50’000 messages).