Keno's blog

Subscribe this blog's RSS feed

12 March 2024
QubesOS in Emacs Org Mode: Link to files of other qubes

I use Emacs Org Mode to maintain a personal wiki for pretty much everything. It includes my appointments and todos, university lecture notes, flash cards for spaced repetition learning, diary entries and more. Since much of the information is quite sensitive and since all of the pages are created by myself, they reside in a network-isolated, highly trusted qube.

Sometimes, though, I want to link to a file residing in another qube (for example, an untrusted PDF of an academic article residing in my work qube. When I click the link, it should open the file in the corresponding qube. Additionally, I want auto completion of the file path when creating the link. This blog post details how I achieved both of these requirements.

Continue reading…

18 July 2023
Back up all of signal-desktop's media files

I don't own a smartphone, so I need to use Signal's desktop client (registering my phone number with signal-cli) for my encrypted instant messaging needs. This situation kind of sucks, as Signal's desktop client is more of an afterthought and is missing many crucial features. One annoyance with it is that you can only view the recent media of a conversation in the desktop client. Pictures and videos that you received or sent some time ago are not visible. I worked around this problem by writing a Python script that directly accesses Signal's database and data store to dump all of the images and videos in a directory, grouping them by conversation.

Continue reading…

29 January 2023
Encrypted incremental backups in QubesOS with BorgBackup

The official backup tool of QubesOS does not support incremental backups. Just to backup my around 180GB of data to an external hard drive, it takes over 7 hours. Incremental backups are much faster. Borg is my preferred backup tool, supporting encrypted incremental backups to a disk or to an SSH server. I make encrypted backups to borgbase.com and created a qrexec service for this purpose. It enables remote, encrypted, incremental backups even of network-isolated qubes. This blog post describes my approach.

Continue reading…

01 December 2022
Using Unix pass in Qubes OS

The Unix program pass is my password manager of choice. It keeps your passwords as gpg-encrypted files in the directory ~/.password-store. There also exists a dmenu script called passmenu that can be bound to a keybinding to easily access your passwords. To get this to work in Qubes OS, you need to put in some work. In this blog post, I share the qrexec service I'm using for this purpose.

Continue reading…

28 November 2022
Writing a Gemini server in C

A few days ago, my brother introduced me to the internet protocol Gemini. It's basically a very lightweight alternative to the web, and while I'm not sure how much of a following it will ever have, I like its fundamental concepts. Particularly, I like that implementing a server for this from scratch is actually manageable for a single person. So that's what I started doing.

Continue reading…

16 October 2019
My Experience of Writing a Bachelor’s Thesis in Physics

I’ve been incredibly annoyed at how it was impossible to find some examples for a finished thesis, which is why I have decided to publish mine online. You can download it by clicking on this link. I got a grade of 1,1 on the thesis (1,0 by the primary supervisor and 1,3 by the secondary supervisor). The full source code is available on my GitLab.

Continue reading…