NHFS – Nonhierarchical File System

This page is about NHFS, a nonhierarchical file system.
I developed NHFS for my bachelor’s thesis in Cognitive Science. In short, NHFS allows you to file any file into any number of directories. Likewise, you may place any directory into as many directories as you like. NHFS therefore allows you to create a nonhierarchical directory structure with polyhierarchically connected files. All this is mostly backward compatible – this means, you can use it from any file manager, any other application, and also the command line.

Continue reading “NHFS – Nonhierarchical File System”

My Bachelor’s Thesis

File Systems and Usability – the Missing Link


Usability has never been a priority in file system design. Instead, developers focus mainly on technical aspects, such as speed, reliability, and security. But in recent decades, technological innovations have created a modern information crisis. This is characterized by an ever-growing abundance of easily accessible information. Additionally, the user is able to create and store continuously increasing amounts of digital data. This data is usually managed on the user’s personal computer. Conventional file systems, however, which constitute the most important systems for document management tasks, impose a strict monohierarchy onto the user’s document collection. The user is constrained by the file system’s inability to represent multiple categorizations of documents without utilizing band-aid solutions such as shortcuts. As a possible approach to these issues, a file system prototype is portrayed that permits a nonhierarchical directory structure and polyhierarchical file categorizations while maintaining backward compatibility with existing applications. Furthermore, suggestions are made for carrying out a usability evaluation which could be used to measure the achieved improvement compared to conventional file systems.

Download thesis: File Systems and Usability – the Missing Link


Solutions for the exercises in the book: Haskell – The Craft of Functional Programming

I took a course that used the book: Haskell – The Craft of Functional Programming by Simon Thompson, Second Edition.

Solutions to exercises

Although most of the exercises in the book are not hard if you know some programming, maybe it’s still good to look up somebody else’s solutions to the exercises in Haskell – Craft of Functional Programming.

Note that the correctness of these solutions is not verified. Most of them should be correct, though.

I don’t have access to the book anymore though and will not be able to help you with any of the exercises not in my solutions. Please talk to your tutor 🙂

Why use email encryption?

This page describes some reasons why email encryption is good and should be used by everyone. It is not about how encryption works technically.

What is encryption?

Encryption is a mechanism that ensures that only the correct recipient of a message is able to read it. When I send a message to Thomas, it is encrypted, that means it is changed in a way that nobody can read it. Only Thomas is able to change it back to the original message (decrypt it), and will then be able to read it.

Continue reading “Why use email encryption?”