jLuger.de - Blog

Start snap firefox with hustior

With Ubuntu 21.10 Canonical started to ship Firefox not as a deb package but as a snap package by default. While Ubuntu 21.10 still has the deb package of Firefox with 22.04 the snap version of Firefox will be the only one available. Snap apps are self contained and isolated. For the isolation they use linux namespaces. Just like hustior does and running namespaced applications in a namespace isn't easy. So this promised some work.

Another fix for libseccomp2 and Alpine 3.13 on Raspberry OS 10

Since some months the latest alpine docker image won't have network access on my raspberry pi. It turned out that it isn't a network problem but more a time problem. See https://gitlab.alpinelinux.org/alpine/aports/-/issues/12091. Fortunately the release notes contain a workaround. See https://wiki.alpinelinux.org/wiki/Release_Notes_for_Alpine_3.13.0. In short the solution is to download the default seccomp profile, modify it and provide it as an argument to the run command. Unfortunately the build command won't take a seccomp profile as an argument. Someone provided a solution for this but it requires importing packages from testing into stable which I didn't like. So here is another fix for this.

hustior - new features II

It has been a while since I've touched hustior but that was because it was working perfectly fine for me. Recently my workflow changed and thus hustior needed two new features: screen support and a permanent home directory.

Implement Drag'n'Drop in ECMAScript 2017

In this post I will explain how to implement Drag'n'Drop in ECMAScript 2017. Wait, isn't there a native Drag'n'Drop in HTML 5. Yes there is but I had several reasons not to use it.


Podman is a container engine where a normal user (id > 0) can start containers and there is no daemon running as root to do the actual work. Some may say "Oh wow another tool to manage Linux namespaces" but while working on hustior I've found some issues that should prevent such a tool like podman. So when they released version 1.0 this year I was very excited on how they solved the issues but couldn't find time to do the research. Well until recently.


Some time ago I wanted to stream a video from my webcam to someone else. Of course there a lot of online services that allow you to do that. But I wanted to setup my own server to have full control of the video data. While searching for some open source software I've discovered WebRTC. WebRTC is short for Web Real-Time Communication and is an official standard by W3C and IETF. That means all you need to access your webcam is a modern browser (so no Internet Explorer) and some HTML+JavaScript. The communication in WebRTC is meant to be peer-to-peer. All of that sounded so great that I've wanted to dive into it. Here are my lessons learned.

Native x86 Microservice in Java: The container

This is the fourth and last part of a series about developing a native x86 microservice in Java. And it is about putting the executable in a container.

Native x86 Microservice in Java: The native executable

This is the third part of a series about developing a native x86 microservice in Java. And it is about making an x86 binary from a Java program.

Native x86 Microservice in Java: The Java program

This is the second part of a series about developing a native x86 microservice in Java. And it is about the creating of the microservice in Java.

Native x86 Microservice in Java

In November 2018 I've attended the SOFTWARE ENGINEERING CAMP and gave the talk "Native x86 Microservice in Java". This series of blog posts is an extended version of the talk.