Show Sidebar

This is the home-page of Karl Voit.

On this page you can see the latest blog updates. For further articles, please use the search bar or navigate through the blue tags. My recommendations are pim, privacy, or security.

I recommend any decent RSS/Atom aggregator to get notified on blog updates.

Most recent articles or updates:

2017-09-17: PhD Students: Add a Reference to Your Future PhD into Papers

When I was working on my PhD between 2009 and 2012, I wrote some papers on the topic of Personal Information Management (PIM). Those papers resulted in my PhD thesis in late 2012. Of course, the thesis summarized all important findings of all papers, adding decent introduction chapters, summary, and all kinds of interesting stuff related to the topic.

Unfortunately, I was not able to stay in academia. Therefore, I was not able to promote my PhD thesis the way I promoted my papers. In academia, the usual way of promoting is self-citations in follow-up papers that get published in conference proceedings or journals, and then getting cited by peer researchers.

This resulted in an unfortunate situation: my most cited papers are not the end result, the PhD thesis.

Read the whole article ...

2017-09-14: My OnePlus 5 Smartphone

I've got a new smartphone. It's a OnePlus 5 32GB.

My must-have requirements were:

My nice-to-have requirements were:

The OnePlus 5 is almost a perfect match. Its dimensions are a little bit bigger and it does not feature Qi charging. The price tag of 500€ is tough but lucky me, I only had to pay a fraction because it is a device my company owns. I probably would not have paid that much money for a smartphone.

Read the whole article ...

2017-09-10: Essential Keyboard Shortcuts

Every computer user gets a more decent computer life by applying keyboard shortcuts to his or her daily work. This is absolutely nothing which should be used by so-called "geeks" or "nerds" only. Anybody should learn basic keyboard shortcuts to avoid inefficient mouse interaction which takes much longer when the fingers are on the keyboard already.

I personally do like to learn new keyboard shortcuts by placing so-called cheat sheets or reference cards beneath the monitor. When a shortcut is applied several times daily, you will notice that you don't need your cheat sheets any more after a couple of days.

The following tables summarize the most basic keyboard shortcuts from my perspective. They are of use for any computer user, for all usage levels from the occasional user up to the hard-core programmer. This should be taught in every school.

Read the whole article ...

2017-09-10: Think About Switching to An US International Keyboard Layout

If you are a person who works on a computer for many hours a day and who needs to type some code here and there, I urge you to switch to a US-International keyboard layout. This also includes non-English speaking and typing people like me.

At first sight, this US-international keyboard layout seems to be a bad choice especially for German speaking and typing people like me. However, there are really good reasons to do the switch.

Read the whole article ...

2017-08-29: Filetags now features tagtrees as well

Update 2017-08-29: appendfilename does also rename source files of symlinks

Today I added a very nice feature to my filetags tool you already have learned to enjoy when I described you my efficient way of handling files.

If you are familiar with the work I've done with tagstore and my PhD thesis, you might cheer up now: filetags is now able to generate (a sub-set of) tagtrees.

In short: this new option takes the files of the current directory and generates hierarchies up to level of 2 (by default) of all combinations of tags, linking all files according to their tags.

With using the maximum depth of 2, I limit the execution time and number of links created to a viable, reasonable amount. Both grow exponentially with the number of tags involved. This escalates quickly ;-)

But let us go back to why is it useful to you. Consider having a file like:

 My new car -- car hardware expensive.jpg	  

Now you generate the tagtrees with the new --tagtrees parameter. Then you'll find links to this file within sub-directories of ~/.filetags, the default target directory: new/ and hardware/ and expensive/ and new/hardware/ and new/expensive/ and hardware/new/ and so on. You get the idea.

Therefore, within the folder new/expensive/ you will find all files that have at least the tags "new" and "expensive" in any order. This is really cool to have. Having a tagtree hierarchy in-front of you, you can really get the most of your filetags.

Files of the current directory that don't have any tag at all, are linked directly to ~/.filetags so that you can find and tag them easily.

I personally, do use this feature within my image viewer of choice (geeqie). I mapped it to Shift-T because Shift-t is occupied by filetags for tagging purposes of course. So when I am within my image viewer and I press Shift-T, tagtrees of the currently shown images are created. Then an additional image viewer window opens up for me, showing the resulting tagtrees. This way, I can quickly navigate through the tag combinations to easily interactively filter according to tags.

Please note: when you are tagging linked files within the tagtrees with filetags, only the current link gets updated with the new name. All other links to this modified filename within the other directories of the tagtrees gets broken. You have to re-create the tagtrees to update all the links after tagging files.

Update 2017-08-29: today, I also added the handy "rename symbolic link source file if basenames are matching"-feature to appendfilename as well.

2017-08-28: Managing Digital Files (Like Photographs) in Files and Folders

Update 2014-05-14: added real world example

Update 2015-03-16: filtering photographs according to their GPS coordinates

Update 2016-08-29: replaced outdated method with new filetags --filter method

Update 2017-08-28: Email comment on geeqie video thumbnails

I am a passionate photographer when being on vacation or whenever I see something beautiful. This way, I collected many JPEG files over the past years. Here, I describe how I manage my digital photographs while avoiding any vendor lock-in which binds me to a temporary solution and leads to loss of data. Instead, I prefer solutions where I am able to invest my time and effort for a long-term relationship.

This (very long) entry is not about image files only: I am going to explain further things like my folder hierarchy, file name convention, and so forth. Therefore, this information applies to all kind of files I process.

Before I start explaining my method, we should come to an agreement whether or not we do have the same set of requirements I am trying to match with my method. If you are into raw image formats, storing your photographs somewhere in the cloud or anything else very special to you (and not to me), you might not get satisfied with the things described here. Decide yourself.

Read the whole article ...

2017-08-26: The LaTeX Fetish. Or: Choose Your Tools Wisely

Today I stumbled over a tweet mentioning an article where the author discusses reasons not to use LaTeX as an author:

The LaTeX fetish (Or: Don’t write in LaTeX! It’s just for typesetting) (always good to ask: 'why do we use this?')

— Wilfred Hughes (@_wilfredh) August 26, 2017

I never came across a more elaborated LaTeX critique which came to totally different conclusions I came to.

As we shall see, arguments in favour of writing in LaTeX are unpersuasive on a rational level: LaTeX is in fact quite bad for writing in (although it could be worse, i.e. it could be TeX). This doesn’t mean that people shouldn’t use LaTeX at all, but it does mean that people probably ought to stop recommending it as a writing tool.

What a statement. Let's have a closer look.

Read the whole article ...

2017-08-26: Adobe Digital Editions: Error #2038

For a year, I had a nice setup to obtain ebooks in EPUB format from my local library. I set up Adobe Digital Editions 1.7 (ADE) on my wine from Xubuntu 16.04.

You have to use ADE since the ebooks are using Digital Rights Management (DRM) which prevents you from using the data as you would like to. DRM is for protecting the property of companies. So you never own any DRM protected data. You only rent it as long as the DRM owner allows you to.

The only way to make it run was for me using winetricks with "install software" and choosing ADE version 1.7.2. Don't even try to install a downloaded ADE exe setup file within wine.

After setting up my Adobe account, I was able to download an EPUB into ADE. ADE then (sometimes) recognized my Kobo ebook reader and transferred the books onto its storage.

This worked somehow until recently:

ADE error #2038 when trying to download an EPUB

Read the whole article ...

2017-08-14: Erfahrungsbericht Rasenmäherroboter Gardena R40Li

Letztes Jahr habe ich angefangen, über die Anschaffung eines Rasenmäherroboters nachzudenken. Ich wollte mir nicht diktieren lassen, Teile meiner Freizeit regelmäßig für die paar Quadratmeter Gras zu opfern. Und es schaute danach aus, dass es sich auch finanziell auszahlt, sofern mir meine Zeit auch finanziell etwas Wert ist. Es wäre alternativ ohnehin die Anschaffung eines neuen, herkömmlichen Rasenmähers notwendig gewesen, weil ich bislang nur den alten Elektromäher meiner Eltern hatte.

Read the whole article ...

2017-08-13: Capitalism versus Socialism

Starting with this year, I followed some talks by Richard D. Wolff. He is an American Economist with degrees from all relevant important universities which comes to your mind.

One of his regular events is called Global Capitalism organized by Democracy at Work. I just listened to the August 2017 event.

It is highly recommended to watch or listen to this event. Not only because Richard D. Wolff is an excellent speaker who is able to express various things in easy to understand words. He is a great analyst who shares his findings with an interested public. He offers also a nice point of view from someone who favors the ideas of Socialism in explicit contrast to Capitalism, the current dominant system in the so-called western countries.

In the August event, he explains many interesting things. For example the difference between Socialism and Communism. A difference which is remarkable misunderstood by the majority of people.

Do yourself a favor and invest this ninety minutes of talking about so many important things. It widens up your view of the world, for sure.

2017-08-12: Org-Mode As a Rabbit Hole: Agenda Tasks Piling Up

I stumbled over a very interesting discussion where users of Emacs Org-mode are describing various approaches to avoid very long lists of agenda tasks.

Unfortunately, I have to admit that I also got the issue that unfinished tasks pile up in my agenda view. I do everything within Org-mode and too many things I do find interesting. Therefore, I also have the need to cope with this problem as well.

Read the whole article ...

2017-08-10: Safe and Secure (Self-Driving) Cars

You are driving your car, approaching a cross-way, when you see a speed limit sign instead the usual stop sign at the cross-way. You are going to shake your head, stop as usual, turn, and go on as usual.

Now imagine a self-driving car which has a certain dependency on reading traffic signs on its way to do its job. This speed limit sign instead of a stop sign may be a real threat to humans. A self-driving car can be irritated and forced to do wrong decisions.

And now for the best part: you don't have to physically exchange the sign.

Read the whole article ...

2017-08-06: Christopher Knight: 27 Years All Alone in the Woods

Please do read this awesome article about Christopher Knight who went to live in the woods for 27 years straight. He went there without any special outdoor knowledge or training. His camp was in Maine which got really strong conditions in winter.

2017-08-05: org-du: Visualizing Org-mode Heading Sizes

Update 2017-08-05: link to org-mind-map

Yesterday, I wrote my first Python 3 script which is a helper script to visualize sizes (number of lines) of Org-mode headings: org-du

I borrowed a different workflow from two GNU tools: Usually, the output of du (disk usage) is piped into xdu to visualize disk usage of directories. org-du mimics the output format of du in order to be able to use xdu to do the visualizing and navigational part.

Applying the script on the file and piping the output into xdu looks like this: | xdu	  

You can navigate through the output via mouse, navigate back in the tree by clicking the leftmost column, and quit via q.

The script also accepts multiple Org-mode files as arguments. This way, you can get a brief overview of all of your Org data.

org-du works on any platform which runs Python 3. However, xdu is available on UNIX/GNU/Linux only. You can do the org-du part via org-du > my-org-du-output.log on a Windows host, copy the result file to a GNU/Linux host and do the visualization part with xdu < my-org-du-output.log as well. This way, you can separate the data analysis and the data visualization part.

You can install org-du via sudo pip install org-du or clone from

Have fun with this tool!

Update 2017-08-05: if you need to visualize the structure of your Org-mode file, you could check out org-mind-map.

2017-08-04: The Space Between Us

2017-08-01: Connecting to a Projector

This photograph sums up everything that has gone wrong in the recent ten years of hardware development:

A set of adapters needed to plug in any computer to the projector

I wonder why there must be any hardware adapter at all. Projectors should accept non-proprietary wireless connections from computers.

Ten years ago, the situation was even much better. There was only VGA and it worked out of the box because 1024×768 was the common standard resolution of computers and projectors.

So: please do something about it. Now.

2017-08-01: Jesus intimissi

Fand ich einfach witzig:

Jesus am Kreuz neben einem gewagten Strumpfhosenplakat

2017-08-01: Yanis Varoufakis and Noam Chomsky About Politics and More

I absolutely recommend you to watch this one hour and 44 minutes video of Yanis Varoufakis talking with Noam Chomsky in April 2016 in New York.

I learned so much about history, the current political situation, world economics, philosophy, and ethics:

2017-08-01: Wire Cutters

Another awesome short animation movie:

2017-08-01: The Nostalgist

What a great short movie:

2017-07-26: A Quick and Dirty Performance Analysis of sshfs

Looking for a lightweight method to share file systems between multiple VMs within a host running Qubes OS I was told that sshfs does not have a mentionable overhead.

Well, this could be tested in a quick and dirty way.

Read the whole article ...

2017-07-25: How To Read Magazines Efficiently

This is a small trick to avoid losing track with magazine articles that are not that interesting to you: focus on the most interesting articles.

Read the whole article ...

2017-07-23: Skipping Empty Directories In zsh

On GitHub, I started to love a nice feature I would like to have in my zsh as well. If I change to a directory that contains nothing but a single sub-directory, change to this sub-directory instead (recursive).

Therefore, when I am in a directory which contains the following sub-directories, I would like to skip all directories until there_is_a_file when I type cd dir_with_empty_subdirs:

You can try out this feature on GitHub in my test repo: simply click on the directory dir_with_empty_subdirs and you really going to end up in the directory there_is_a_file.

In case I need to visit any (almost empty) directory within this cascade, I can do so by going back via "cd .." which does not skip empty directories, thus avoiding an endless loop and non-visitable directories.

Well, I was not able to come up with a solution on my own. Reddit-user seanliao96 did provide a perfectly working solution:

function chpwd() {
    files=$(ls -A | wc -l)
    if [[ $files = "1" ]]; then
        zmodload zsh/parameter
        if [[ "cd .." != $history[$HISTCMD] ]]; then
            f=$(ls -A)
            if [[ -d "$f" ]]; then
                cd "$f"

Simply paste this code in your zsh or add it to your ~/.zshrc.local and enjoy the higher usability in your shell.

2017-07-23: Qubes OS 3.2

Qubes OS is a single-user GNU/Linux-based operating system that has its focus on isolation between different virtual machines on a personal computer. You get different environments to work in which can not affect the others.

Virtual machines could be Linux-based (currently Fedora 23, Debian 8, Whonix) or even Microsoft Windows. «Qubes» is short for «Qubes OS» and is also used as name for the VMs within Qubes OS.

Multiple experts do promote Qubes OS. Most prominent: Edward Snowden.

If you're serious about security, @QubesOS is the best OS available today. It's what I use, and free. Nobody does VM isolation better.

— Edward Snowden (@Snowden) September 29, 2016

I watched a 32C3 talk by the awesome Joanna Rutkowska who is part of the inner Qubes OS team.

Further more, the German IT magazin iX features in its current issue and interesting article on nine months of experience with Qubes OS within a team. They were using Qubes for email, web, LaTeX, LibreOffice, password management, chat, printing, system administration, and VPN networks.

So I gave it a try. This long blog article summarizes my journey and the things I currently do miss with Qubes OS.

Read the whole article ...

2017-07-23: Visualizing GNU/Linux Disk Usage with xdu

Update 2017-07-23: Screenshot and block-size

Now and then, everybody has to look out for folders on the hard drive which do consume unusual amount of space for a variety of reasons. A very handy tool I am using on GNU/Linux since many years is xdu. The tool is using the visualization technique called layered space-filling tree browser to quickly give you an overview of what (sub-) directories occupy what amount of disk space.

Read the whole article ...