<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Blogs on Jens Knipper</title>
    <link>https://jensknipper.de/blog/</link>
    <description>Recent content in Blogs on Jens Knipper</description>
    <image>
      <title>Jens Knipper</title>
      <url>https://jensknipper.de/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</url>
      <link>https://jensknipper.de/%3Clink%20or%20path%20of%20image%20for%20opengraph,%20twitter-cards%3E</link>
    </image>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Mon, 19 Jan 2026 01:00:00 +0000</lastBuildDate>
    <atom:link href="https://jensknipper.de/blog/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Demystifying Dependency Injection - What It Is and Why It Matters</title>
      <link>https://jensknipper.de/blog/demystifying-dependency-injection-what-and-why/</link>
      <pubDate>Mon, 19 Jan 2026 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/demystifying-dependency-injection-what-and-why/</guid>
      <description>Most projects use Dependency Injection in some form. However, many developers take it for granted and do not really question what it is or why they are using it in the first place. This article aims to answer those questions, even though they are rarely asked.</description>
    </item>
    <item>
      <title>Documentation as Code with AsciiDoctor, GitLab CI, and GitLab Pages</title>
      <link>https://jensknipper.de/blog/gitlab-ci-pages-asciidoc-documentation-as-code/</link>
      <pubDate>Thu, 03 Apr 2025 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/gitlab-ci-pages-asciidoc-documentation-as-code/</guid>
      <description>Writing documentation should be as low-key as possible to remove the pain from the process. One way to achieve this is through Documentation as Code. Setting it up and configuring it may take some time, but once it&amp;#39;s done, you can focus on creating the content itself.</description>
    </item>
    <item>
      <title>Using Sieve to Filter Emails with Zip Attachments</title>
      <link>https://jensknipper.de/blog/roundcube-sieve-filter-attachments/</link>
      <pubDate>Mon, 08 Jul 2024 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/roundcube-sieve-filter-attachments/</guid>
      <description>I was recently the target of a phishing attack using fake invoices. They were easy to spot, but it was still annoying that they were landing in my inbox. So, I wanted to create a solution where these emails would not bother me anymore.</description>
    </item>
    <item>
      <title>Artikel &#34;Lokales Testen von AWS Serverless Lambda-Funktionen&#34; in der Java Aktuell 03-2023</title>
      <link>https://jensknipper.de/blog/java-aktuell-lambda-testing-article/</link>
      <pubDate>Tue, 25 Apr 2023 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/java-aktuell-lambda-testing-article/</guid>
      <description>Nachdem ich über das Thema auf der JavaLand einen Talk gehalten habe, habe ich die Chance bekommen das Ganze in Form eines Artikels in einer Zeitschrift zu veröffentlichen.</description>
    </item>
    <item>
      <title>Recording and Slides of My Talk &#34;Local testing of AWS serverless lambda functions&#34; at an OpenValue Meetup</title>
      <link>https://jensknipper.de/blog/openvalue-meetup-lambda-testing-talk/</link>
      <pubDate>Thu, 10 Nov 2022 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/openvalue-meetup-lambda-testing-talk/</guid>
      <description>Last week I hold my talk &amp;#34;Local testing of AWS serverless lambda functions&amp;#34; at a virtual meetup of OpenValue. In this post, you can find the slides and the recording of my talk.</description>
    </item>
    <item>
      <title>Accepted as a JavaLand newcomer speaker</title>
      <link>https://jensknipper.de/blog/speaker-javaland-newcomer/</link>
      <pubDate>Fri, 07 Oct 2022 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/speaker-javaland-newcomer/</guid>
      <description>I struggled with a problem at work, was able to solve it neatly and thought it would make a great topic for a talk or a blog article. So I applied at the call for papers of the JavaLand newcomer program with it and got accepted!</description>
    </item>
    <item>
      <title>Enable logging in Traefik</title>
      <link>https://jensknipper.de/blog/traefik-logging/</link>
      <pubDate>Thu, 11 Aug 2022 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/traefik-logging/</guid>
      <description>In this article I will show you how to activate logging in Traefik. There are two kinds of logs in Traefik, the general log and the access log. We will have a look at both of them and take a deeper look into the possibilities they provide.</description>
    </item>
    <item>
      <title>Receiving mails in Java with IMAP or POP3</title>
      <link>https://jensknipper.de/blog/receiving-emails-in-java/</link>
      <pubDate>Mon, 30 May 2022 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/receiving-emails-in-java/</guid>
      <description>I was recently in need to write some small demo project which was receiving and processing mails. There is a lot of documentation for sending mails, but gathering information about the receiving and processing part is less easy.</description>
    </item>
    <item>
      <title>Redirecting to an external domain with Traefik</title>
      <link>https://jensknipper.de/blog/traefik-redirect-to-external-domain/</link>
      <pubDate>Sun, 03 Apr 2022 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/traefik-redirect-to-external-domain/</guid>
      <description>Redirecting to another domain is a regular use case I need a lot. Luckily Traefik makes it easy to implement it.</description>
    </item>
    <item>
      <title>Fixing permissions of files in ssh folder</title>
      <link>https://jensknipper.de/blog/fix-ssh-folder-file-permissions/</link>
      <pubDate>Mon, 28 Jun 2021 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/fix-ssh-folder-file-permissions/</guid>
      <description>I recently got an error on my work machine when copying ssh keys from Windows into WSL Linux. The error stated that the permissions were to open for my private key.</description>
    </item>
    <item>
      <title>Recording and Slides of My Talk &#34;Testing email with GreenMail, a mock mail server&#34; at an OpenValue Meetup</title>
      <link>https://jensknipper.de/blog/openvalue-meetup-greenmail-talk/</link>
      <pubDate>Sat, 05 Jun 2021 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/openvalue-meetup-greenmail-talk/</guid>
      <description>Last week I hold my talk &amp;#34;Testing email with GreenMail, a mock mail server&amp;#34; at a virtual meetup of OpenValue. In this post, you can find the slides and the recording of my talk.</description>
    </item>
    <item>
      <title>Exposing Traefik dashboard to a subdomain</title>
      <link>https://jensknipper.de/blog/exposing-traefik-dashboard/</link>
      <pubDate>Sun, 16 May 2021 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/exposing-traefik-dashboard/</guid>
      <description>The Traefik dashboard is the central place where everything you configured is represented in a clear manner. In case you are running into problems and you are in need to do some troubleshooting, the dashboard should be your place to go.</description>
    </item>
    <item>
      <title>Adding basic authentication to secure a service with Traefik</title>
      <link>https://jensknipper.de/blog/basic-authentication-with-traefik/</link>
      <pubDate>Thu, 15 Apr 2021 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/basic-authentication-with-traefik/</guid>
      <description>Adding authentication to a service that does not support it by default can be done easily by using Traefik. This way you gain an additional layer of security and you can leverage other features of Traefik like domain names.</description>
    </item>
    <item>
      <title>Manually testing email notifications with GreenMail mock mail server</title>
      <link>https://jensknipper.de/blog/greenmail-mock-mail-server-dev-setup/</link>
      <pubDate>Tue, 16 Feb 2021 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/greenmail-mock-mail-server-dev-setup/</guid>
      <description>Are you sending mails featured with HTML and CSS and want see how they look before pushing your changes to production? You also do not want mails to leak from your local environment to your customer? A mock mail server like GreenMail might just be the tool you need.</description>
    </item>
    <item>
      <title>Generating generic fields in JCodeModel</title>
      <link>https://jensknipper.de/blog/dealing-with-generic-fields-in-jcodemodel/</link>
      <pubDate>Wed, 14 Oct 2020 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/dealing-with-generic-fields-in-jcodemodel/</guid>
      <description>Another article about JCodeModel. This time we will make a short excursion about how to generate generic fields in JCodeModel.</description>
    </item>
    <item>
      <title>Generating Enums in Java with JCodeModel</title>
      <link>https://jensknipper.de/blog/generating-enums-in-java-with-jcodemodel/</link>
      <pubDate>Sun, 11 Oct 2020 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/generating-enums-in-java-with-jcodemodel/</guid>
      <description>This article will show you how to generate your own enum classes with jCodeModel. A framework to generate java classes.</description>
    </item>
    <item>
      <title>Using Maven on Windows with the Linux subsystem</title>
      <link>https://jensknipper.de/blog/using-maven-in-wsl/</link>
      <pubDate>Fri, 03 Jul 2020 01:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/using-maven-in-wsl/</guid>
      <description>Installing and configuring Maven on Windows does not have to be a pain anymore. Thanks to the WSL it becomes almost as straightforward as using Linux. Although depending on your use case there might be some restrictions.</description>
    </item>
    <item>
      <title>Testing Regular Expressions in Traefik</title>
      <link>https://jensknipper.de/blog/traefik-regex-testing/</link>
      <pubDate>Sun, 17 May 2020 20:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/traefik-regex-testing/</guid>
      <description>Testing regular expressions for application configuration is always a pain as every programming language has a slightly different implementation. This results in expressions giving different results for different applications.</description>
    </item>
    <item>
      <title>HTTP to HTTPS redirects with Traefik</title>
      <link>https://jensknipper.de/blog/traefik-http-to-https-redirect/</link>
      <pubDate>Sat, 02 May 2020 12:00:00 +0000</pubDate>
      <guid>https://jensknipper.de/blog/traefik-http-to-https-redirect/</guid>
      <description>This article covers the basic examples how to redirect HTTP-requests to HTTPS. This can be achieved per domain, for a single application only or globally for all containers.</description>
    </item>
  </channel>
</rss>
