<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>dominik.suess.wtf</title><link>https://dominik.suess.wtf/</link><description>Recent content on dominik.suess.wtf</description><generator>Hugo</generator><language>en-us</language><atom:link href="https://dominik.suess.wtf/index.xml" rel="self" type="application/rss+xml"/><item><title>Weekly Wrap 26/10</title><link>https://dominik.suess.wtf/journal/2026-03-15-weekly-wrap/</link><pubDate>Sun, 15 Mar 2026 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/journal/2026-03-15-weekly-wrap/</guid><description>&lt;p&gt;
As I&amp;#39;m writing this, I&amp;#39;ve just migrated the final PVC to &lt;a href="https://piraeus.io/"&gt;piraeus&lt;/a&gt;. I&amp;#39;ve tested
things with smaller volumes over the past week and have now migrated my forgejo
storage volume, which was the last remaining jiva PVC. It took a bit of messing
around with the helm chart to get piraeus to a state in which I like it but the
end result is pretty convincing. It is light on resources, backup works well and
workloads can continue to write to the pvc even if the replica goes down.&lt;/p&gt;</description></item><item><title>Weekly Wrap 26/8</title><link>https://dominik.suess.wtf/journal/2026-03-01-weekly-wrap/</link><pubDate>Sun, 01 Mar 2026 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/journal/2026-03-01-weekly-wrap/</guid><description>&lt;p&gt;
Weather around here has taken a drastic turn and we&amp;#39;re up to 14C and sunshine!
Other than just enjoying the sun, I tinkered with a LED Matrix display we got
for a work event to make it display the album cover and song metadata of
whatever I&amp;#39;m currently listening to. I published the entire thing &lt;a href="https://codeberg.org/theSuess/idotmatrix-media-display/"&gt;on codeberg&lt;/a&gt;
for anyone to check it out. It felt great building something specific in scope,
not too complicated and with immediate results! While there&amp;#39;s still room for
improvement, I&amp;#39;m happy enough with it for now and will continue working on other projects.&lt;/p&gt;</description></item><item><title>Weekly Wrap 26/9</title><link>https://dominik.suess.wtf/journal/2026-03-08-weekly-wrap/</link><pubDate>Sun, 01 Mar 2026 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/journal/2026-03-08-weekly-wrap/</guid><description>&lt;p&gt;
One of our main projects for this spring is to build a raised bed planter. We
sketched out designs this week and I got to work building a CAD model to get
accurate measurements and know exactly how it&amp;#39;ll look like in the end.&lt;/p&gt;
&lt;p&gt;
I&amp;#39;m planning to write a longer post about this, but before that, I need to join
the dune3d matrix room to ensure I&amp;#39;m not doing something horribly wrong 😅.&lt;/p&gt;</description></item><item><title>Weekly Wrap 26/7</title><link>https://dominik.suess.wtf/journal/2026-02-22-weekly-wrap/</link><pubDate>Sun, 22 Feb 2026 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/journal/2026-02-22-weekly-wrap/</guid><description>&lt;p&gt;
This week, I finally found the time to try out &lt;a href="https://templ.guide"&gt;templ&lt;/a&gt; in detail. Turns out: I
love it! It solves the problem of &lt;a href="https://templ.guide/syntax-and-usage/context/"&gt;passing allong the global context&lt;/a&gt; elegantly,
has better flow control and allows hooking go functions in a type safe way.
IMHO, the main advantage over &lt;a href="https://www.gomponents.com/"&gt;gomponents&lt;/a&gt; which I &lt;a href="https://dominik.suess.wtf/journal/2026-01-25-weekly-wrap/"&gt;tried out before&lt;/a&gt; is the much
nicer flow control and built in reloading.&lt;/p&gt;
&lt;p&gt;
Thanks to &lt;a href="https://drshapeless.com/blog/index.html"&gt;Jacky Li&amp;#39;s excelent articels&lt;/a&gt; I managed to set up emacs with
&lt;a href="https://github.com/joaotavora/rassumfrassum"&gt;rassumfrassum&lt;/a&gt; + &lt;a href="https://github.com/kristoff-it/superhtml"&gt;superhtml&lt;/a&gt; + &lt;a href="https://github.com/danderson/templ-ts-mode"&gt;templ-ts-mode&lt;/a&gt; to get LSP capabilities for both templ
and html. I&amp;#39;m currently running a fork of superhtml which disables some checks
incompatible with templ. It still shows lots of false positives but I might
publish it at some point.&lt;/p&gt;</description></item><item><title>override language id in eglot</title><link>https://dominik.suess.wtf/notes/20260216t132538/</link><pubDate>Mon, 16 Feb 2026 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20260216t132538/</guid><description>&lt;p&gt;
To override the LSP language id presented to the consuming language server, use
this pattern when configuring the target lsp server:&lt;/p&gt;
&lt;div class="src src-elisp"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-elisp" data-lang="elisp"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;(&lt;span style="color:#00d3d0"&gt;add-to-list&lt;/span&gt; &lt;span style="color:#79a8ff"&gt;&amp;#39;eglot-server-programs&lt;/span&gt; &lt;span style="color:#00d3d0"&gt;&amp;#39;&lt;/span&gt;((&lt;span style="color:#00d3d0"&gt;templ-ts-mode&lt;/span&gt; &lt;span style="color:#f78fe7"&gt;:language-id&lt;/span&gt; &lt;span style="color:#79a8ff"&gt;&amp;#34;html&amp;#34;&lt;/span&gt;) &lt;span style="color:#00d3d0"&gt;.&lt;/span&gt; (&lt;span style="color:#79a8ff"&gt;&amp;#34;superhtml&amp;#34;&lt;/span&gt; &lt;span style="color:#79a8ff"&gt;&amp;#34;lsp&amp;#34;&lt;/span&gt;)))&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Weekly Wrap 26/6</title><link>https://dominik.suess.wtf/journal/2026-02-15-weekly-wrap/</link><pubDate>Sun, 15 Feb 2026 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/journal/2026-02-15-weekly-wrap/</guid><description>&lt;p&gt;
We&amp;#39;ve spent a lot of time at the vet this week but things are looking up! Turns
out, he apparently broke his tail ages ago and the reason for his current pain
was that he got in a fight with another cat. He&amp;#39;s almost back to normal now
which is great to see!&lt;/p&gt;
&lt;p&gt;
Due to the vet-chaos and going to the mountain again yesterday, there&amp;#39; isn&amp;#39;t
much to write home about this week but I did manage to rip out tailwind once and
for all! IMHO things look a bit cleaner now as well :)&lt;/p&gt;</description></item><item><title>Weekly Wrap 26/5</title><link>https://dominik.suess.wtf/journal/2026-02-08-weekly-wrap/</link><pubDate>Sun, 08 Feb 2026 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/journal/2026-02-08-weekly-wrap/</guid><description>&lt;p&gt;
The beginning of the week, we were still out skiing. We managed to do 75km in
one day which was pretty exhausting.&lt;/p&gt;
&lt;p&gt;
On Wednesday I finished up removing tailwind from the details section but found
one more place that needs cleanup before I can call the tailwind deprecation a
success.&lt;/p&gt;
&lt;p&gt;
In sadder news, one of our cats broke a part of their tail. The vet said he
might recover by himself but we&amp;#39;re still not seeing clear signs of improvement.
Keeping our hopes up that he&amp;#39;ll start lifting it on his own again soon 🥺&lt;/p&gt;</description></item><item><title>Weekly Wrap 26/4</title><link>https://dominik.suess.wtf/journal/2026-02-01-weekly-wrap/</link><pubDate>Sun, 01 Feb 2026 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/journal/2026-02-01-weekly-wrap/</guid><description>&lt;p&gt;
This week I continued with ripping out tailwind and finished up everything
except for the details page. During this process, I realized I like &lt;em&gt;some&lt;/em&gt; helper
classes but can do without most of them.&lt;/p&gt;
&lt;p&gt;
I also spent some time moving &lt;a href="https://winfriedsuess.eu"&gt;my dad&amp;#39;s homepage&lt;/a&gt; to &lt;a href="https://statichost.eu"&gt;statichost.eu&lt;/a&gt; and the DNS
server to &lt;a href="https://desec.io"&gt;desec.io&lt;/a&gt; which removes all dependencies on U.S. companies.&lt;/p&gt;
&lt;p&gt;
Another fun thing I did was to port the &lt;a href="https://github.com/Megus/chipnomad-tracker"&gt;ChipNomad Tracker&lt;/a&gt; as a hombrew app for
the Nintendo Switch.&lt;/p&gt;</description></item><item><title>OTTL cheat sheet</title><link>https://dominik.suess.wtf/notes/20260126t092536/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20260126t092536/</guid><description>&lt;p&gt;
&lt;a href="https://github.com/open-telemetry/opentelemetry-collector-contrib/blob/70c3a9b48535a0320b2e9b08d14573714a5f2380/pkg/ottl/ottlfuncs/README.md"&gt;Upstream function reference&lt;/a&gt;&lt;/p&gt;
&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
Promoting resource attributes to labels
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;p&gt;When sending data to the OTLP endpoints of Loki or Mimir, only specific resource
attributes are promoted to labels.&lt;/p&gt;
&lt;p&gt;
Other attributes are stored in the &lt;code&gt;target_info&lt;/code&gt; metric or as structured metadata in the case of loki.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://grafana.com/docs/loki/latest/send-data/otel/#format-considerations"&gt;Loki promoted labels&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://grafana.com/docs/mimir/latest/configure/configure-otel-collector/#work-with-default-opentelemetry-labels"&gt;Mimir promoted labels&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;For metrics, it is common to attach resource attributes to data points for
direct querying. As an example, the following snippet adds the &lt;code&gt;host.name&lt;/code&gt;
attribute from the &lt;code&gt;resourcedetection&lt;/code&gt; processor to metric data points directly:&lt;/p&gt;</description></item><item><title>Weekly Wrap 26/3</title><link>https://dominik.suess.wtf/journal/2026-01-25-weekly-wrap/</link><pubDate>Sun, 25 Jan 2026 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/journal/2026-01-25-weekly-wrap/</guid><description>&lt;p&gt;
Spoiled by gleam/lustre I took a look at &lt;a href="https://www.gomponents.com/"&gt;gomponents&lt;/a&gt; for sharepa but after
investing some time into replacing the existing &lt;code&gt;template/html&lt;/code&gt; based approach,
writing all HTML in go isn&amp;#39;t as fun as it sounds. With gleam, conditionals that
return values are built in while gomponens requires a custom &lt;code&gt;If/Iff&lt;/code&gt; and &lt;code&gt;Map&lt;/code&gt;
function. It also doesn&amp;#39;t support a way to map with the index which then casued
me to abandon the aproach alltogether.&lt;/p&gt;</description></item><item><title>Weekly Wrap 26/2</title><link>https://dominik.suess.wtf/journal/2026-01-18-weekly-wrap/</link><pubDate>Sun, 18 Jan 2026 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/journal/2026-01-18-weekly-wrap/</guid><description>&lt;p&gt;
This week I finished up the book creation logic in sharepa and gathered some
thoughts around how we want to structure our garden. We recently relocated some
of the trees to have more space and we&amp;#39;ll build a raised bed planter from
scratch so I started picking out what to grow there.&lt;/p&gt;
&lt;p&gt;
For our marathon prep, we ran 44km this week and went skiing all day yesterday
so I&amp;#39;m writing this pretty much in need of rest. We might check out &lt;em&gt;Metabolica&lt;/em&gt;
in a museum today but other than that, I&amp;#39;m taking a rest day.&lt;/p&gt;</description></item><item><title>Weekly Wrap 26/1</title><link>https://dominik.suess.wtf/journal/2026-01-11-weekly-wrap/</link><pubDate>Sun, 11 Jan 2026 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/journal/2026-01-11-weekly-wrap/</guid><description>&lt;p&gt;
As mentioned in my &lt;a href="https://dominik.suess.wtf/posts/2025/12/01/december-adventure-2025/"&gt;December Adventure&lt;/a&gt;, I&amp;#39;d like to try writing weekly posts on
what I did this week. The reasoning behind this is twofold: I&amp;#39;d like to write
more and reflecting on things I did gives me the feeling of progress which I&amp;#39;d
otherwise loose. My main inspiration is the &lt;a href="https://worm-blossom.org/"&gt;worm-blossom&lt;/a&gt; log but I don&amp;#39;t think I
have the time to match it in fidelity or content 😅.&lt;/p&gt;
&lt;p&gt;
I&amp;#39;m not sure if I&amp;#39;ll stick with it or if I&amp;#39;m even set on the type of things to
write down here but I guess I&amp;#39;ll see as time goes on.&lt;/p&gt;</description></item><item><title>Storygleam</title><link>https://dominik.suess.wtf/posts/2025/12/23/storygleam/</link><pubDate>Tue, 23 Dec 2025 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2025/12/23/storygleam/</guid><description>&lt;p&gt;
&lt;a href="https://hexdocs.pm/storygleam/"&gt;storygleam&lt;/a&gt; is a gleam package that allows you to test UI components using
&lt;a href="https://storybook.js.org/"&gt;storybook&lt;/a&gt; without having to write a single line of JavaScript!&lt;/p&gt;
&lt;p&gt;
It is published to &lt;a href="https://hex.pm/packages/storygleam"&gt;hex.pm&lt;/a&gt; and you can try it out today!&lt;/p&gt;
&lt;p&gt;
During this years &lt;a href="https://dominik.suess.wtf/posts/2025/12/01/december-adventure-2025/"&gt;December Adventure&lt;/a&gt;, I tried out gleam to build a finance
tracking app for our &lt;a href="https://parkour.wien"&gt;parkour community&lt;/a&gt;. It was my first time working with gleam
and I learned a lot of new things and am very happy to be doing some functional
programming again! During this endeavor, the talks from &lt;a href="https://www.lambdadays.org/lambdadays2025"&gt;Lambda Days 2025&lt;/a&gt; got
uploaded to youtube. One of the talks, &lt;a href="https://www.youtube.com/watch?v=lnvmbzwIt94"&gt;Testing functional UIs by Hayleigh
Thompson&lt;/a&gt; inspired me to explore UI testing further. While it specifically
mentions &lt;a href="https://github.com/lustre-labs/fable"&gt;fable&lt;/a&gt;, this didn&amp;#39;t work for me as I&amp;#39;m not actually using lustre for its
client side capabilities (only for straight forward html rendering).&lt;/p&gt;</description></item><item><title>eBPF dereference of modified ctx ptr</title><link>https://dominik.suess.wtf/notes/20251204t205102/</link><pubDate>Thu, 04 Dec 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20251204t205102/</guid><description>&lt;p&gt;
During this weeks &lt;a href="https://grafana.com/blog/2022/06/17/inside-grafana-labs-hackathons-how-they-work-and-what-projects-ended-up-on-the-product-roadmap/"&gt;Hackathon at Grafana Labs&lt;/a&gt;, I tried to get &lt;a href="https://github.com/go-delve/delve"&gt;delve&amp;#39;s&lt;/a&gt; eBPF tracing to work using a
remote-controlled agent. To do this, I took their &lt;a href="https://github.com/go-delve/delve/blob/62d821a5e490ceb93712a3eed7aaadf37482d39e/pkg/proc/internal/ebpf/bpf/trace.bpf.c"&gt;trace.bpf.c&lt;/a&gt; eBPF function that
extracts the passed parameters and returns them to a ringbuffer.&lt;/p&gt;
&lt;p&gt;
Turns out, just compiling this didn&amp;#39;t work. The validator always refused to load
the program with the following error:&lt;/p&gt;
&lt;div class="src src-text"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;dereference of modified ctx ptr r0&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
I found the article &lt;a href="https://mejedi.dev/posts/ebpf-dereference-of-modified-ctx-ptr-disallowed/"&gt;Ebpf: Dereference of Modified Ctx Ptr Disallowed&lt;/a&gt; which told
my why the validator refuses to load the program (arbitrary memory access at
offsets from the ctx pointer are not allowed) but doesn&amp;#39;t offer any fixes. The
most likely cause for these issues is the compiler optimizing the output in a
way that no longer passes validation.&lt;/p&gt;</description></item><item><title>December Adventure 2025</title><link>https://dominik.suess.wtf/posts/2025/12/01/december-adventure-2025/</link><pubDate>Mon, 01 Dec 2025 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2025/12/01/december-adventure-2025/</guid><description>&lt;p&gt;
The goal of &lt;a href="https://eli.li/december-adventure"&gt;December Adventure&lt;/a&gt; is to code a bit every day and write about it.
Using this as an opportunity to fill my blog with some &lt;em&gt;content&lt;/em&gt; while also
holding myself accountable to actually code a bit every day.&lt;/p&gt;
&lt;p&gt;
This year, I want to build something with &lt;a href="https://gleam.run"&gt;gleam&lt;/a&gt;! It has been on my radar for a
while, and I&amp;#39;ve decided it&amp;#39;s now time to finally commit to writing something
useful in it.&lt;/p&gt;</description></item><item><title>Configuring a VPN for a single Pod using Cilium</title><link>https://dominik.suess.wtf/posts/2025/11/18/kubernetes-pod-vpn-cilium/</link><pubDate>Tue, 18 Nov 2025 00:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2025/11/18/kubernetes-pod-vpn-cilium/</guid><description>&lt;p&gt;
I&amp;#39;ll not go into the details of exactly why you&amp;#39;d want this, but I needed to
configure a VPN for one of my homelab containers. While I could spawn a sidecar
container in the same network namespace to handle this, it didn&amp;#39;t feel like the
cleanest solution. It also might cause issues with networking inside of the
cluster so I wanted to steer clear of this approach. Doing this on the
Networking layer of the cluster should be possible, right?&lt;/p&gt;</description></item><item><title>Devolo Home Control with Home Assistant</title><link>https://dominik.suess.wtf/posts/2025/10/28/devolo-home-control-home-assistant/</link><pubDate>Tue, 28 Oct 2025 00:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2025/10/28/devolo-home-control-home-assistant/</guid><description>&lt;p&gt;
Fallen leaves, fallen leaves on the ground. And as the seasons (or what we still
have left of them) change, the cold sweeps over Vienna. We recently moved to a
new place and as such, had to figure out how to actually get it warm during the
cold months. In our previous flat, we had a simple thermostat that told our gas
boiler when to turn on and off. Our new place is connected to the remote heating
network of Vienna, but not new enough for in-floor heating. This means, heating
is controlled on the radiators directly. Usually they are fitted with an analog
valve but the previous owner left us their &lt;em&gt;devolo Home-Control&lt;/em&gt; based system.
Obviously, they reset their system before so I had to set it up again.&lt;/p&gt;</description></item><item><title>Setting up octothorpes in Hugo</title><link>https://dominik.suess.wtf/posts/2025/10/22/setting-up-octothorpes-in-hugo/</link><pubDate>Wed, 22 Oct 2025 00:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2025/10/22/setting-up-octothorpes-in-hugo/</guid><description>&lt;p&gt;
I recently gained access to the flagship &lt;a href="https://octothorp.es/"&gt;octothorp.es&lt;/a&gt; instance and set up this
page to automatically generate relevant links based on the categories on posts.&lt;/p&gt;
&lt;p&gt;
If you haven&amp;#39;t heard of octothorpes before, they&amp;#39;re basically a way to create
tags across the web. For example, this page is categorized as &lt;a href="https://dominik.suess.wtf/categories/hugo"&gt;hugo&lt;/a&gt;, &lt;a href="https://dominik.suess.wtf/categories/octothorpes"&gt;octothorpes&lt;/a&gt;
and &lt;a href="https://dominik.suess.wtf/categories/web"&gt;web&lt;/a&gt; on my blog. Clicking on these links takes you to a listing of all my
posts in these categories. But this creates silos and information wants to be
free. Now that I&amp;#39;ve enabled octothorpes, this page is indexed by the OP
(octothorpe protocol) server so I can link to the octothorpes versions of these
tags (&lt;a href="https://octothorp.es/~/hugo"&gt;hugo&lt;/a&gt;, &lt;a href="https://octothorp.es/~/octothorpes"&gt;octothorpes&lt;/a&gt;, &lt;a href="https://octothorp.es/~/web"&gt;web&lt;/a&gt;) as well. These index pages show you all pages
across the network using the same tags - how cool is that!&lt;/p&gt;</description></item><item><title>Keeping services up to date with flux &amp; renovate</title><link>https://dominik.suess.wtf/posts/2025/10/12/keeping-services-up-to-date/</link><pubDate>Sun, 12 Oct 2025 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2025/10/12/keeping-services-up-to-date/</guid><description>&lt;p&gt;
I often hear people complain how much work it is to keep a homelab up to date.
Once you deploy more than one service, you&amp;#39;ll eventually loose sight of
versions, updates and changes. I used to think this was just a thing I had to deal with.&lt;/p&gt;
&lt;p&gt;
Enter &lt;a href="https://immich.app"&gt;Immich&lt;/a&gt;. It&amp;#39;s a very neat piece of software that allows you to backup &amp;amp;
organize pictures. When I first set this up, the APIs weren&amp;#39;t super stable and
updates to the app sometimes broke the functionality entirely as the server
didn&amp;#39;t know about the new API endpoints yet. This was &lt;span style="text-decoration: underline;"&gt;very&lt;/span&gt; annoying so I
invested some time into building a flow that&amp;#39;d allow me to keep track of things
to update with ease.&lt;/p&gt;</description></item><item><title>Schema driven Observability with OpenTelemetry Weaver</title><link>https://dominik.suess.wtf/talks/schema-driven-observability-with-opentelemetry-weaver/</link><pubDate>Wed, 08 Oct 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/talks/schema-driven-observability-with-opentelemetry-weaver/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/e9dPuyJPjKc?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;</description></item><item><title>Automagic Observability with eBPF</title><link>https://dominik.suess.wtf/talks/automagic-observability-with-ebpf/</link><pubDate>Tue, 06 May 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/talks/automagic-observability-with-ebpf/</guid><description/></item><item><title>Context aware html/template</title><link>https://dominik.suess.wtf/posts/2025/05/01/context-aware-go-template/</link><pubDate>Thu, 01 May 2025 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2025/05/01/context-aware-go-template/</guid><description>&lt;p&gt;
Recently, I started working on &lt;a href="https://code.kulupu.party/sharepa/sharepa"&gt;sharepa&lt;/a&gt; again. While I still love the simplicity
and ease of use of &lt;a href="https://htmx.org"&gt;htmx&lt;/a&gt;, the &lt;code&gt;html/template&lt;/code&gt; package of the Go standard library is
getting increasingly more frustrating as the templates grow more complex.&lt;/p&gt;
&lt;p&gt;
The issue I want to address in this blog post is passing down per-request
context information like information about the authenticated user to templates.
For simple templates, it is usally enough to pass this information to the
template alongside your data. But once you introduce nested templates or &lt;code&gt;{{
block }}&lt;/code&gt; directives, this quickly becomes a hard to maintain mess of inline
variables and scope-wrangling.&lt;/p&gt;</description></item><item><title>Clickable banners in discourse</title><link>https://dominik.suess.wtf/posts/2025/03/05/clickable-banners-discourse/</link><pubDate>Wed, 05 Mar 2025 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2025/03/05/clickable-banners-discourse/</guid><description>&lt;p&gt;
To give our &lt;a href="https://parkour.wien"&gt;local parkour community&lt;/a&gt; a space to talk and organize, I host a
&lt;a href="https://discourse.org"&gt;discourse&lt;/a&gt; instance with many customizations and automizations to ensure smooth
weekly meetings and a good experience for first timers.&lt;/p&gt;
&lt;p&gt;
Over the past years, I came to dread discourse updates as something always
breaks. This time, it was the topic banner.&lt;/p&gt;
&lt;p&gt;
We make heavy use of topic banners to offer one-click access to the next planned
training. Sadly discourse does not allow users to click on banners by default.
Previous versions supported a workaround by &lt;a href="https://meta.discourse.org/t/no-way-to-click-on-a-banner-topic/143368/10"&gt;overriding the banner template&lt;/a&gt;.
Version &lt;code&gt;3.4.0&lt;/code&gt; migrates the banner component to a new way of defining components
which removes support for overriding templates.&lt;/p&gt;</description></item><item><title>250211</title><link>https://dominik.suess.wtf/journal/2025-02-11/</link><pubDate>Tue, 11 Feb 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/journal/2025-02-11/</guid><description/></item><item><title>Find processes using inotify</title><link>https://dominik.suess.wtf/notes/20250130t102208/</link><pubDate>Thu, 30 Jan 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20250130t102208/</guid><description>&lt;p&gt;
File watcher limits can be annoying and most online resources just tell you to increase the system limits. I&amp;#39;d rather fix the issue at the root and find out which processes are using the &lt;code&gt;inotify&lt;/code&gt; api.&lt;/p&gt;
&lt;p&gt;
Thanks to &lt;a href="https://stackoverflow.com/users/3945377/pauli-nieminen"&gt;Pauli Nieminen&lt;/a&gt;, in &lt;a href="https://stackoverflow.com/questions/25470672/how-to-stop-inotify-from-monitoring-a-directory"&gt;this StackOverflow thread&lt;/a&gt; for the following snippet:&lt;/p&gt;
&lt;div class="src src-bash"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;ps -p &lt;span style="color:#b6a0ff"&gt;$(&lt;/span&gt;find /proc/*/fd/* -type l -lname &lt;span style="color:#79a8ff"&gt;&amp;#39;anon_inode:inotify&amp;#39;&lt;/span&gt; -print 2&amp;gt; /dev/null | sed -e &lt;span style="color:#79a8ff"&gt;&amp;#39;s/^\/proc\/\([0-9]*\)\/.*/\1/&amp;#39;&lt;/span&gt;&lt;span style="color:#b6a0ff"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Minolta X-700: A renovation project</title><link>https://dominik.suess.wtf/notes/20250124t164447/</link><pubDate>Fri, 24 Jan 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20250124t164447/</guid><description>&lt;p&gt;
https://www.photrio.com/forum/threads/minolta-x-700-a-renovation-project.203947/&lt;/p&gt;
&lt;p&gt;
Contains a whole lot of pictures and detailed teardown instructions. Page is very slow though&lt;/p&gt;</description></item><item><title>My Minolta X-700 Repair</title><link>https://dominik.suess.wtf/notes/20250124t164104/</link><pubDate>Fri, 24 Jan 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20250124t164104/</guid><description>&lt;p&gt;
Here be dragons.&lt;/p&gt;
&lt;p&gt;
I&amp;#39;ve dug up an old Minolta X-700 and managed to shoot it. Once. Afterward, the
shutter would not trigger and the film advance lever seemed to be broken.&lt;/p&gt;
&lt;p&gt;
In the process of fixing it, I made things way worse.&lt;/p&gt;
&lt;p&gt;
As of February 2025, I now own a &lt;em&gt;second&lt;/em&gt; working Minolta X-700 which I plan on
keeping in the best shape possible. If this camera decides to break, at least I
have a spare now 🤷.&lt;/p&gt;</description></item><item><title>City of Last Chances</title><link>https://dominik.suess.wtf/notes/20250108t071746/</link><pubDate>Wed, 08 Jan 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20250108t071746/</guid><description>&lt;blockquote&gt;
&lt;p&gt;There has always been a darkness to Ilmar, but never more so than now. The city
chafes under the heavy hand of the Palleseen occupation, the choke-hold of its
criminal underworld, the boot of its factory owners, the weight of its wretched
poor and the burden of its ancient curse. What will be the spark that lights the
conflagration? Despite the city&amp;#39;s refugees, wanderers, murderers, madmen,
fanatics and thieves, the catalyst, as always, will be the Anchorwood – that
dark grove of trees, that primeval remnant, that portal, when the moon is full,
to strange and distant shores.&lt;/p&gt;</description></item><item><title>Wield the Hammer</title><link>https://dominik.suess.wtf/notes/20250108t072712/</link><pubDate>Wed, 08 Jan 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20250108t072712/</guid><description>&lt;blockquote&gt;
&lt;p&gt;The Maric workers&amp;#39; saying translates as &amp;#39;the most effective way to wield the hammer is to stop using it&amp;#39;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;From &lt;a href="denote:20250108T071746"&gt;City of Last Chances&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Using denote in hugo</title><link>https://dominik.suess.wtf/posts/2025/01/02/denote-hugo/</link><pubDate>Thu, 02 Jan 2025 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2025/01/02/denote-hugo/</guid><description>&lt;p&gt;
I recently stumbled upon &lt;a href="https://www.joshbeckman.org/"&gt;Josh Beckman&amp;#39;s wonderfull website&lt;/a&gt; and was very
delighted by the way they use their website to share their notes. Combined with
me reviving my telescope last week and needing a place to write things down that
don&amp;#39;t warrant a full blog post, I decided to build something like this as well.&lt;/p&gt;
&lt;p&gt;
I&amp;#39;m not a good notetaker but would like to become one. When trying out tools for this, I experimented with &lt;a href="https://www.orgroam.com/"&gt;org-roam&lt;/a&gt;, &lt;a href="https://obsidian.md/"&gt;obsidian&lt;/a&gt; and &lt;a href="https://protesilaos.com/emacs/denote"&gt;denote&lt;/a&gt;. Out of these tools, denote is the one I liked the most as it allows me to stay inside emacs, use &lt;code&gt;org-mode&lt;/code&gt; to write the notes and is much simpler and faster than &lt;code&gt;org-roam&lt;/code&gt;. The challenge then became - how can I get these notes published on my website?&lt;/p&gt;</description></item><item><title>Custom EQ5 Mount</title><link>https://dominik.suess.wtf/notes/20250102t134131/</link><pubDate>Thu, 02 Jan 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20250102t134131/</guid><description>&lt;p&gt;
My telecope mount is an upgraded Sky-Watcher EQ5. I got the base mount together
with my telescope and replaced the built-in tracking system with a custom
solution based on &lt;a href="denote:20250102T202531"&gt;OnStep&lt;/a&gt;. I followed &lt;a href="https://onstep.groups.io/g/main/message/33535"&gt;Oddvar Naess&amp;#39;&lt;/a&gt; post on the OnStep mailing
list and ended up with a slightly different setup.&lt;/p&gt;
&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
Parts
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;ul&gt;
&lt;li&gt;2x Nema 17 Motors, 1.7A, 1.8deg/step = 200 steps&lt;/li&gt;
&lt;li&gt;Gear ratio for RA &amp;amp; Dec = &lt;code&gt;60t/15t = 4&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;3D printed motor attachments based on &lt;a href="https://www.thingiverse.com/thing:4682671"&gt;these models&lt;/a&gt;. I changed the ports to
RJ11 and had to make some small cutouts.&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>OnStep</title><link>https://dominik.suess.wtf/notes/20250102t202531/</link><pubDate>Thu, 02 Jan 2025 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20250102t202531/</guid><description>&lt;p&gt;
OnStep (or OnStep X) is a project for DIY telescope mount controllers.&lt;/p&gt;
&lt;p&gt;
Project documentation and communication happens on the &lt;a href="https://onstep.groups.io/g/main"&gt;groups.io page&lt;/a&gt;&lt;/p&gt;</description></item><item><title>241229</title><link>https://dominik.suess.wtf/journal/2024-12-29/</link><pubDate>Sun, 29 Dec 2024 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/journal/2024-12-29/</guid><description/></item><item><title>241204</title><link>https://dominik.suess.wtf/journal/2024-12-04/</link><pubDate>Wed, 04 Dec 2024 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/journal/2024-12-04/</guid><description/></item><item><title>December Adventure 2024</title><link>https://dominik.suess.wtf/posts/2024/12/01/december-adventure-2024/</link><pubDate>Sun, 01 Dec 2024 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2024/12/01/december-adventure-2024/</guid><description>&lt;p&gt;
The goal of &lt;a href="https://eli.li/december-adventure"&gt;December Adventure&lt;/a&gt; is to code a bit every day and write about it.
Using this as an opportunity to fill my blog with some &lt;em&gt;content&lt;/em&gt; while also
holding myself accountable to actually code a bit every day.&lt;/p&gt;
&lt;p&gt;
My overall goal is to get working federation into my pet project &lt;a href="https://code.kulupu.party/sharepa/sharepa"&gt;sharepa&lt;/a&gt;, a
&lt;a href="https://www.youtube.com/watch?v=NOYa3YzVtyk"&gt;library of things&lt;/a&gt; for small communities. Ideally, this would prevent people from
buying stuff for one-time jobs if they can instead borrow it from someone in
their community. It&amp;#39;s currently nowhere near finished but I want to build it
with federation in mind from the beginning to avoid competing instances and
having to manage multiple accounts when part of multiple communities.&lt;/p&gt;</description></item><item><title>241119</title><link>https://dominik.suess.wtf/journal/2024-11-19/</link><pubDate>Tue, 19 Nov 2024 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/journal/2024-11-19/</guid><description/></item><item><title>Field report: PSI Secure browser works on Fedora 40</title><link>https://dominik.suess.wtf/posts/2024/10/23/psi-browser-fedora/</link><pubDate>Wed, 23 Oct 2024 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2024/10/23/psi-browser-fedora/</guid><description>&lt;p&gt;
If you are searching the web if you can complete your PSI Proctored exam (e.g. CKA) on a Fedora machine, your answer is &lt;span style="text-decoration: underline;"&gt;yes&lt;/span&gt;.&lt;/p&gt;
&lt;p&gt;
Even though the &lt;a href="https://helpdesk.psionline.com/hc/en-gb/articles/4409608794260--PSI-Bridge-FAQ-System-Requirements"&gt;system requirements&lt;/a&gt; only allow ubuntu, I completed the exam on a Fedora Workstation 40 machine as I couldn&amp;#39;t be bothered to install it.
You can also do a test exam beforhand which will use the same software as the live one.
Just make sure you run on X11 as wayland screensharing is still not there for PSI.&lt;/p&gt;</description></item><item><title>Simple Firefox themes with dark/light mode support</title><link>https://dominik.suess.wtf/posts/2024/10/23/firefox-themes/</link><pubDate>Wed, 23 Oct 2024 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2024/10/23/firefox-themes/</guid><description>&lt;p&gt;
I like my environments consistently themed. If an application does not support theming, chances are that I&amp;#39;m not going to use it.
Recently, I&amp;#39;ve also been on a journey to have consistent dark/light mode toggling for all my apps.
After switching from &lt;a href="https://codeberg.org/dnkl/foot/"&gt;foot&lt;/a&gt; to &lt;a href="https://alacritty.org/"&gt;alacritty&lt;/a&gt; (which I put off for a looooong time to avoid dealing with nixGL), Firefox was the last eyesore remaining.&lt;/p&gt;
&lt;p&gt;
Up until now, I was very happy with &lt;a href="https://color.firefox.com"&gt;color.firefox.com&lt;/a&gt; for my theming needs. I&amp;#39;ve used a custom &lt;code&gt;userChrome.css&lt;/code&gt; before but got tired of updates breaking the style.
The only downside is the fact that the color addon does not support dark/light mode. What a shame!&lt;/p&gt;</description></item><item><title>License to Observe: Why observability solutions need agents</title><link>https://dominik.suess.wtf/talks/license-to-observe/</link><pubDate>Sat, 28 Sep 2024 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/talks/license-to-observe/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/7rSwzGSosVE?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;</description></item><item><title>Enabling Play - Leveling up your DevEx Game</title><link>https://dominik.suess.wtf/talks/enabling-play/</link><pubDate>Fri, 14 Jun 2024 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/talks/enabling-play/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/lPO2Os8t298?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;</description></item><item><title>How to use Podman inside of a container</title><link>https://dominik.suess.wtf/notes/20240610t081524/</link><pubDate>Mon, 10 Jun 2024 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20240610t081524/</guid><description>&lt;p&gt;
&lt;a href="https://www.redhat.com/sysadmin/podman-inside-container"&gt;https://www.redhat.com/sysadmin/podman-inside-container&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Pass the podman socket to a rootless container</title><link>https://dominik.suess.wtf/notes/20240201t110404/</link><pubDate>Thu, 01 Feb 2024 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20240201t110404/</guid><description>&lt;p&gt;
The issue preventing this from &lt;em&gt;just working&lt;/em&gt; is caused by selinux.&lt;/p&gt;
&lt;p&gt;
To disable this, either use the &lt;code&gt;--security-opt label=disable&lt;/code&gt; or specify the following in compose files:&lt;/p&gt;
&lt;div class="src src-yaml"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-yaml" data-lang="yaml"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; runner:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; image: &lt;span style="color:#00bcff"&gt;drone/drone-runner-docker:1&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; security_opt:
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; - &lt;span style="color:#00bcff"&gt;label:disable&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;
Source: &lt;a href="denote:20240610T081524"&gt;Sysadmin: How to use Podman inside of a container&lt;/a&gt;&lt;/p&gt;</description></item><item><title>Create a database and user in PostgreSQL</title><link>https://dominik.suess.wtf/notes/20240129t220631/</link><pubDate>Mon, 29 Jan 2024 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/notes/20240129t220631/</guid><description>&lt;div class="src src-sql"&gt;
&lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#fff;background-color:#000;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b6a0ff"&gt;CREATE&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;DATABASE&lt;/span&gt; mydb;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b6a0ff"&gt;CREATE&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;USER&lt;/span&gt; myuser &lt;span style="color:#b6a0ff"&gt;WITH&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;ENCRYPTED&lt;/span&gt; PASSWORD &lt;span style="color:#79a8ff"&gt;&amp;#39;mypass&amp;#39;&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b6a0ff"&gt;GRANT&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;ALL&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;PRIVILEGES&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;ON&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;DATABASE&lt;/span&gt; mydb &lt;span style="color:#b6a0ff"&gt;TO&lt;/span&gt; myuser
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#a8a8a8"&gt;-- pg 15+
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;\&lt;span style="color:#b6a0ff"&gt;c&lt;/span&gt; mydb
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#b6a0ff"&gt;GRANT&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;ALL&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;ON&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;SCHEMA&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;public&lt;/span&gt; &lt;span style="color:#b6a0ff"&gt;TO&lt;/span&gt; myuser;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;</description></item><item><title>Running the OpenShift console in plain Kubernetes</title><link>https://dominik.suess.wtf/posts/2022/05/01/running-the-openshift-console-in-plain-kubernetes/</link><pubDate>Sun, 01 May 2022 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2022/05/01/running-the-openshift-console-in-plain-kubernetes/</guid><description>&lt;p&gt;
The OpenShift console offers a nice GUI intended for use within OpenShift
clusters. It offers a consolidated overview of resources, integrated metrics,
alerting and also allows you to update cluster resources from a web browser. As
the name implies, the console is developed with OpenShift being the primary
usecase. During my dayjob, I&amp;#39;ve grown to really like the OpenShift console for
quick checks and visualization of resources, so I wanted to set it up for myself.
The only problem: I run k3s at home due to resource constraints. So I set out on
a journey to see if I can get the console running on plain Kubernetes.&lt;/p&gt;</description></item><item><title>nebula - the VPN you never knew you wanted</title><link>https://dominik.suess.wtf/posts/2022/03/15/nebula-the-vpn-you-never-knew-you-wanted/</link><pubDate>Tue, 15 Mar 2022 10:00:00 +0100</pubDate><guid>https://dominik.suess.wtf/posts/2022/03/15/nebula-the-vpn-you-never-knew-you-wanted/</guid><description>&lt;p&gt;
So you&amp;#39;re out looking for a VPN for all your networking needs and somehow
stumbled across this page. Well let me present &lt;a href="https://github.com/slackhq/nebula"&gt;Nebula&lt;/a&gt; to you!&lt;/p&gt;
&lt;p&gt;
Nebula is an overlay network which allows you to join machines into a single
virtual network. It is also incredibly simple to set up and understand. The
underlying cryptographical protocol is the same as WireGuard (&lt;a href="https://noiseprotocol.org/"&gt;Noise Protocol Framework&lt;/a&gt;)
with the advantage of being easier to manage.&lt;/p&gt;</description></item><item><title>Operators for Beginners</title><link>https://dominik.suess.wtf/talks/operators-for-beginners/</link><pubDate>Fri, 24 Jan 2020 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/talks/operators-for-beginners/</guid><description>&lt;div style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden;"&gt;
 &lt;iframe allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share; fullscreen" loading="eager" referrerpolicy="strict-origin-when-cross-origin" src="https://www.youtube.com/embed/0p2m8TzBK-k?autoplay=0&amp;amp;controls=1&amp;amp;end=0&amp;amp;loop=0&amp;amp;mute=0&amp;amp;start=0" style="position: absolute; top: 0; left: 0; width: 100%; height: 100%; border:0;" title="YouTube video"&gt;&lt;/iframe&gt;
 &lt;/div&gt;</description></item><item><title>about</title><link>https://dominik.suess.wtf/about/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/about/</guid><description>&lt;div id="outline-container-headline-1" class="outline-2"&gt;
&lt;h2 id="headline-1"&gt;
Who am I?
&lt;/h2&gt;
&lt;div id="outline-text-headline-1" class="outline-text-2"&gt;
&lt;p&gt;
As you have probably gathered my name is Dominik Süß. I live in Vienna together
with my wife and our two cats.&lt;/p&gt;
&lt;p&gt;
I like building things, be it &lt;a href="https://dominik.suess.wtf/projects"&gt;software&lt;/a&gt;; physical stuff or &lt;a href="https://parkour.wien"&gt;communities&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;
Topics that interest me include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cooking&lt;/li&gt;
&lt;li&gt;Permacomputing/Degrowth&lt;/li&gt;
&lt;li&gt;Sports&lt;/li&gt;
&lt;li&gt;Boardgames/TTRPGs&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Books I recently enjoyed include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="https://dawnofeverything.industries/"&gt;The Dawn of Everything: A New History of Humanity&lt;/a&gt; by David Graeber and David Wengrow&lt;/li&gt;
&lt;li&gt;&lt;a href="https://www.goodreads.com/book/show/40604388-walkaway"&gt;Walkaway&lt;/a&gt; by Cory Doctorow&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Projects I&amp;#39;d like to work on/work with are:&lt;/p&gt;</description></item><item><title>Cloud Native Days Austria</title><link>https://dominik.suess.wtf/events/2025-10-07-cloudnative-days-austria/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/events/2025-10-07-cloudnative-days-austria/</guid><description/></item><item><title>DevConf.cz</title><link>https://dominik.suess.wtf/events/2025-devconf-brno/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/events/2025-devconf-brno/</guid><description/></item><item><title>DevFest Hamburg 2025</title><link>https://dominik.suess.wtf/events/2025-11-14-devfest-hamburg/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/events/2025-11-14-devfest-hamburg/</guid><description/></item><item><title>DevOpsDays Ljubljana</title><link>https://dominik.suess.wtf/events/2024-devops-days-ljubljana/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/events/2024-devops-days-ljubljana/</guid><description/></item><item><title>Grafana &amp; Friends #6: OTel me what's in store for Observability</title><link>https://dominik.suess.wtf/events/2025-06-17-grafana-friends-meetup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/events/2025-06-17-grafana-friends-meetup/</guid><description/></item><item><title>KCD Austria</title><link>https://dominik.suess.wtf/events/2024-kcd-austria/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/events/2024-kcd-austria/</guid><description/></item><item><title>now</title><link>https://dominik.suess.wtf/now/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/now/</guid><description>&lt;ul&gt;
&lt;li&gt;improving &lt;em&gt;this&lt;/em&gt; website, turning it less-professional and more personal&lt;/li&gt;
&lt;li&gt;building &lt;a href="https://dominik.suess.wtf/posts/2024/12/01/december-adventure-2024/"&gt;sharepa&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;reading &lt;a href="https://www.goodreads.com/book/show/59801798-blood-in-the-machine/"&gt;Blood in the Machine by Brian Merchant&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;del&gt;trying to move to a bigger appartment&lt;/del&gt; moving to our new place!&lt;/li&gt;
&lt;li&gt;training for a marathon next April&lt;/li&gt;
&lt;/ul&gt;</description></item><item><title>projects</title><link>https://dominik.suess.wtf/projects/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/projects/</guid><description/></item><item><title>PromCon EU 2025 - Munich</title><link>https://dominik.suess.wtf/events/2025-10-21-promcon/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/events/2025-10-21-promcon/</guid><description/></item><item><title>publications</title><link>https://dominik.suess.wtf/publications/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/publications/</guid><description>&lt;p&gt;Things I wrote somewhere else or that don&amp;rsquo;t fit the blog format.&lt;/p&gt;</description></item><item><title>SREDay London Q3</title><link>https://dominik.suess.wtf/events/2025-09-18-sreday-london/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/events/2025-09-18-sreday-london/</guid><description/></item><item><title>SREDay Paris Q4</title><link>https://dominik.suess.wtf/events/2025-11-19-sreday-paris/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/events/2025-11-19-sreday-paris/</guid><description/></item><item><title>Vienna DevOps and Security Meetup - Spring Edition</title><link>https://dominik.suess.wtf/events/2025-vienna-devops-security-meetup/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://dominik.suess.wtf/events/2025-vienna-devops-security-meetup/</guid><description/></item></channel></rss>