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
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
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
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
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
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
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.