Author: vanitasvitae

  • Use Any SOP Binary With SOP-Java and External-SOP

    I just released another library named external-sop, which implements sop-java and allows the user to use any SOP CLI application of their choice from within their Java / Kotlin application!

  • Implementing Packet Sequence Validation using Pushdown Automata

    In the previous blog post I discussed how a formal grammar can be transformed into a pushdown automaton in order to check if a sequence of packets or tokens is part of the language described by the grammar. In this post I will discuss how I implemented said automaton in Java in order to validate OpenPGP messages in PGPainless.

  • Using Pushdown Automata to verify Packet Sequences

    As a software developer, most of my work day is spent working practically by coding and hacking away. Recently though I stumbled across an interesting problem which required another, more theoretical approach…

  • Creating a Web-of-Trust Implementation: Accessing Certificate Stores

    I made progress towards a full WoT implementation. The current milestone entails integrating certificate stores more closely with the core API. More specifically, an implementation of the Shared PGP Certificate Directory.

  • Creating a Web-of-Trust Implementation: Certify Keys with PGPainless

    Currently I am working on a Web-of-Trust implementation for the OpenPGP library PGPainless. Technically, the WoT consists of a graph where the nodes are OpenPGP keys (certificates) with User-IDs and the edges are signatures. In order to be able to create a WoT, users need to be able to sign other users certificates to create those edges.

  • Reproducible Builds – Telling of a Debugging Story

    I try to make PGPainless build reproducible. A few months ago I added some lines to the build script which were supposed to make the project reproducible by using static file modification dates, as well as a deterministic file order in the JAR archive. However, recently my JAR files started to contain mismatching bytes…

  • Europe Trip Journal – Entry 30: Thank You for Traveling with Deutsche Bahn

    It is time to go home. This morning I woke up at 9:20 and decided to get some breakfast. Afterwards I returned to my room and was greeted by my room mate H. who told me that the cleaning personnel wanted to do their job and that checkout was supposed to be done at 10:00. It was already 10:20, so I hurried and quickly collected all my belongings.

  • Europe Trip Journal – Entry 29: Prepare for Reentry

    Today I got up a bit earlier than yesterday, meaning I had to actually pay for breakfast again ;). Unfortunately the coffee was already running out, so I only got a single cup which had to do it. Milk was also empty, so no cereals this time. Well, there was yogurt as a worthy replacement.

  • Europe Trip Journal – Entry 28: The Above and the Beneath

    In retrospect I realize that during my trip I have made lots of photos of churches and cathedrals, even though I’m not a religious person. I believe that many problems of society are directly or indirectly caused by religious fanaticism, ideology and authoritarianism, hence I’m not a big fan. My philosophy is that if you need someone else – like a book – to tell you how to be a good human, you are not a good human. However, you cannot NOT be in impressed by the massive scales of cathedrals built hundreds of years ago. These architectural masterpieces stand testament to the fact that religion can also excel humanity, even though it may only be a side effect of exercising power.

  • Europe Trip Journal – Entry 27: Oh Champs-Élysées

    Yesterday I had some breakfast in my hostel and after that I took the metro to the Châtelet station which is close to the Seine. When I was in Paris near the start of my trip (which is almost 4 weeks ago at this point) I had walked down the riverside path of the Seine and therefore had missed some points of interest that lay behind the quay wall.