Apple. Why is it not possible to delete all photos of 2016 (or 2015 or 2014, but you got the point) from an iShit device in any other way than:

  1. Turn off iCloud photo sharing (or some shit like that) on the iShit device
  2. Reboot the iShit device
  3. Connect the iShit device to a Mac with a USB cable
  4. Use Mac Image Capture to select all photos of 2016 and click delete

If the iCloud photo sharing is on, step #4 just silently fails.

Why is it not possible to select all-photos-of-a-year/month on an iShit device? You have to fucking click 1500 times to select each photo individually?

Why is it not possible to select all-photos-of-a-year/month at You have to fucking click 1500 times to select each photo individually?

Ultra fucking annoying and un-userfriendly. I just can’t believe it. I would love to keep buying Apple hardware but you’re making it more and more unlikely.



Amazon Video and it’s lame geographic restrictions (for Android)

Got interested in Amazon Video due to their new series “The Grand Tour”, a.k.a. TGT, a.k.a. “Top Gear Two”. I decided to try Amazon Prime 30-day trial, that includes the video service. To my big surprise, I could register in a minute and was watching the show in HD. With a laptop browser. Video quality was very nice.

However, it is convenient to be able to watch the videos on a tablet or a phone as well. Amazon does have apps for Android, however they’re not in the official Google Play Store, but in their own Amazon Underground. I got the Amazon Underground App installed, but when trying to install the Amazon Video from there, it told me I was unable due to “geographic restrictions”. Sigh. Yet another artificial problem.

Solution: install Amazon Video App from and watch all the videos you want.

No need for fake mail addresses, fake IP/DNS or VPNs. At least not for the TGT. At least not today.


How to merge massive formatting-only commits between git branches

*** As always, first backup everything (your git working directory etc.) ***

Let’s assume formatting changed in branch A, and you’re working in branch B

To make life easier, prepare two git clones, the other one is checked out
with branch A (in dir gitA), the other one with branch B (in dir gitB).
You need to have both branches in gitB up-to-date, so:

gitB> checkout A
gitB> git pull
gitB> checkout B
gitB> git pull

Let’s assume the formatting-only megacommit has hashcode AAAA and the commit
before that has hashcode BBBB. You can check the latest commits to
branch A like this:

gitA> git log | less

First, merge A to B until the last commit before the formatting-only commit.

gitB> git merge BBBB

Do the usual merge-stuff and commit. Do not push. For later analysis store
the changed filenames:

gitB> git diff --name-only A > ../diffsbeforemerge

Close Eclipse or other clever software that is holding to your git working clone.


gitB> git clean -d -x -f .

Copy all files to a safe place, e.g.

gitB> cd ..
xxxx> tar cf gitB.tar gitB

Create another tar file without .git directory:

xxxx> cp gitB.tar gitB-nogit.tar
xxxx> tar --delete -f gitB-nogit.tar gitB/.git

Merge the formatting-only megacommit (hashcode AAAA):

xxxx> cd gitB
gitB> git merge AAAA

Don’t worry about any conflicts… Just copy over the old files:

gitB> cd ..
xxxx> tar xf gitB-nogit.tar

At this point, format all source codes with the same formatter as in branch A,
e.g. by starting Eclipse and importing the correct formatter and then selecting
all projects and ‘Source/Format’.


xxxx> cd gitB
gitB> git add *
gitB> git commit -m "Synchronized formatting with branch A."

Now it is a good time to check what was changed before you push your changes
anywhere. Remember that you have the backup of the situation before merging,
so you can just wipe away the gitB directory and extract the tarball gitB.tar.

You can check that the formatting-only-merge did not add any new diffs to

gitB> git diff --name-only A > ../diffsaftermerge
gitB> diff -u ../diffsbeforemerge ../diffsaftermerge