[{"content":"Hi, I’m a software developer from Germany, mainly focused on backend development. I enjoy building software projects around Avalonia, containers, LinqToDb and my no-code framework.\nHobbies Coding 💻 Homelab 🖧 Hiking 🥾 Gaming 🎮 3D printing 🖨️ Languages German Dutch English Skills C# Java Kotlin SQL JS/TS MAUI Avalonia Spring Boot Podman / Docker ","date":"20 April 2026","externalUrl":null,"permalink":"/","section":"Dutches","summary":"","title":"Dutches","type":"page"},{"content":" New website with Hugo and Blowfish # Some weeks ago I received a notification from my (now) previous hosting provider Contabo, that they will (again) increase the price for my rather low spec VPS starting from May 2026. Well, who doesn\u0026rsquo;t like a nice price increase without any improvements in the product, right? After a deep breath, I came to the conclusion that paying them €20 for that level of performance simply wasn\u0026rsquo;t worth it anymore.\nLooking for better, still European alternatives, I checked the major hosters I could think of and stumbled upon a (new?) cheaper product from netcup: ARM64 VPS. Since most of my stuff is platform independent, I thought it would be a good idea to give it a try.\nMe, seeing how I can save money (colorized) While migrating my services and data, I also wanted to improve some stuff that has fallen by the wayside so far. Obviously, hence this post, one of those was a new website, away from WordPress and the many, albeit mostly plugin related, security risks it brings with it.\nAfter some evaluation I decided to go with Hugo and the stunning Blowfish theme.\nIn short; Hugo is an open-source static website generator, where the pages are defined in simple Markdown files. No more hassle with databases, PHP, updates or a publicly exposed backoffice. And since the content is served statically through Nginx, the CPU and RAM usage is typically lower than with a dynamic CMS like WordPress.\nTo make things even better: Since all the content is stored in some Markdown files, one can simply store everything in a git repository, pack it in a rootless container image and deploy it using your preferred (obviously podman) containerization tool. You can even trigger deployments using via repository actions/workflows/pipelines or a simple WebHook.\nOn that note, I need to work on my CI/CD workflows\u0026hellip;\nHow about some procrastination? ","date":"20 April 2026","externalUrl":null,"permalink":"/posts/2026/hello-hugo/","section":"Posts","summary":"","title":"Hello ̶w̶o̶r̶l̶d̶ Hugo!","type":"posts"},{"content":"","date":"20 April 2026","externalUrl":null,"permalink":"/tags/hugo/","section":"Tags","summary":"","title":"Hugo","type":"tags"},{"content":"","date":"20 April 2026","externalUrl":null,"permalink":"/posts/","section":"Posts","summary":"","title":"Posts","type":"posts"},{"content":"","date":"20 April 2026","externalUrl":null,"permalink":"/tags/","section":"Tags","summary":"","title":"Tags","type":"tags"},{"content":"","date":"20 April 2026","externalUrl":null,"permalink":"/tags/vps/","section":"Tags","summary":"","title":"Vps","type":"tags"},{"content":"","date":"20 April 2026","externalUrl":null,"permalink":"/tags/website/","section":"Tags","summary":"","title":"Website","type":"tags"},{"content":"","externalUrl":null,"permalink":"/authors/","section":"Authors","summary":"","title":"Authors","type":"authors"},{"content":"","externalUrl":null,"permalink":"/categories/","section":"Categories","summary":"","title":"Categories","type":"categories"},{"content":" Verantwortlicher im Sinne der Datenschutzgesetze, insbesondere der EU-Datenschutzgrundverordnung (DSGVO), ist: # Marcel van der Heide\nIhre Betroffenenrechte # Unter den angegebenen Kontaktdaten unseres Datenschutzbeauftragten können Sie jederzeit folgende Rechte ausüben:\nAuskunft: über Ihre bei uns gespeicherten Daten und deren Verarbeitung (Art. 15 DSGVO) Berichtigung: unrichtiger personenbezogener Daten (Art. 16 DSGVO) Löschung: Ihrer bei uns gespeicherten Daten (Art. 17 DSGVO) Einschränkung: der Datenverarbeitung, sofern wir Ihre Daten aufgrund gesetzlicher Pflichten noch nicht löschen dürfen (Art. 18 DSGVO) Widerspruch: gegen die Verarbeitung Ihrer Daten bei uns (Art. 21 DSGVO) Datenübertragbarkeit: sofern Sie in die Datenverarbeitung eingewilligt haben oder einen Vertrag mit uns abgeschlossen haben (Art. 20 DSGVO) Sofern Sie uns eine Einwilligung erteilt haben, können Sie diese jederzeit mit Wirkung für die Zukunft widerrufen.\nSie können sich jederzeit mit einer Beschwerde an eine Aufsichtsbehörde wenden, z. B. an die zuständige Aufsichtsbehörde des Bundeslands Ihres Wohnsitzes oder an die für uns als verantwortliche Stelle zuständige Behörde.\nEine Liste der Aufsichtsbehörden (für den nichtöffentlichen Bereich) mit Anschrift finden Sie unter: https://www.bfdi.bund.de/DE/Service/Anschriften/Laender/Laender-node.html.\nErfassung allgemeiner Informationen beim Besuch unserer Website # Art und Zweck der Verarbeitung: # Wenn Sie auf unsere Website zugreifen, d.h., wenn Sie sich nicht registrieren oder anderweitig Informationen übermitteln, werden automatisch Informationen allgemeiner Natur erfasst. Diese Informationen (Server-Logfiles) beinhalten etwa die Art des Webbrowsers, das verwendete Betriebssystem, den Domainnamen Ihres Internet-Service-Providers, Ihre IP-Adresse und ähnliches.\nSie werden insbesondere zu folgenden Zwecken verarbeitet:\nSicherstellung eines problemlosen Verbindungsaufbaus der Website, Sicherstellung einer reibungslosen Nutzung unserer Website, Auswertung der Systemsicherheit und -stabilität sowie zur Optimierung unserer Website. Wir verwenden Ihre Daten nicht, um Rückschlüsse auf Ihre Person zu ziehen. Informationen dieser Art werden von uns ggfs. anonymisiert statistisch ausgewertet, um unseren Internetauftritt und die dahinterstehende Technik zu optimieren.\nRechtsgrundlage und berechtigtes Interesse: # Die Verarbeitung erfolgt gemäß Art. 6 Abs. 1 lit. f DSGVO auf Basis unseres berechtigten Interesses an der Verbesserung der Stabilität und Funktionalität unserer Website.\nEmpfänger: # Empfänger der Daten sind ggf. technische Dienstleister, die für den Betrieb und die Wartung unserer Webseite als Auftragsverarbeiter tätig werden.\nSpeicherdauer: # Die Daten werden gelöscht, sobald diese für den Zweck der Erhebung nicht mehr erforderlich sind. Dies ist für die Daten, die der Bereitstellung der Website dienen, grundsätzlich der Fall, wenn die jeweilige Sitzung beendet ist.\nIm Falle der Speicherung der Daten in Logfiles ist dies nach spätestens 14 Tagen der Fall. Eine darüberhinausgehende Speicherung ist möglich. In diesem Fall werden die IP-Adressen der Nutzer anonymisiert, sodass eine Zuordnung des aufrufenden Clients nicht mehr möglich ist.\nBereitstellung vorgeschrieben oder erforderlich: # Die Bereitstellung der vorgenannten personenbezogenen Daten ist weder gesetzlich noch vertraglich vorgeschrieben. Ohne die IP-Adresse ist jedoch der Dienst und die Funktionsfähigkeit unserer Website nicht gewährleistet. Zudem können einzelne Dienste und Services nicht verfügbar oder eingeschränkt sein. Aus diesem Grund ist ein Widerspruch ausgeschlossen.\nSSL-Verschlüsselung # Um die Sicherheit Ihrer Daten bei der Übertragung zu schützen, verwenden wir dem aktuellen Stand der Technik entsprechende Verschlüsselungsverfahren (z. B. SSL) über HTTPS.\nInformation über Ihr Widerspruchsrecht nach Art. 21 DSGVO # Einzelfallbezogenes Widerspruchsrecht # Sie haben das Recht, aus Gründen, die sich aus Ihrer besonderen Situation ergeben, jederzeit gegen die Verarbeitung Sie betreffender personenbezogener Daten, die aufgrund Art. 6 Abs. 1 lit. f DSGVO (Datenverarbeitung auf der Grundlage einer Interessenabwägung) erfolgt, Widerspruch einzulegen; dies gilt auch für ein auf diese Bestimmung gestütztes Profiling im Sinne von Art. 4 Nr. 4 DSGVO.\nLegen Sie Widerspruch ein, werden wir Ihre personenbezogenen Daten nicht mehr verarbeiten, es sei denn, wir können zwingende schutzwürdige Gründe für die Verarbeitung nachweisen, die Ihre Interessen, Rechte und Freiheiten überwiegen, oder die Verarbeitung dient der Geltendmachung, Ausübung oder Verteidigung von Rechtsansprüchen.\nEmpfänger eines Widerspruchs # Änderung unserer Datenschutzbestimmungen # Wir behalten uns vor, diese Datenschutzerklärung anzupassen, damit sie stets den aktuellen rechtlichen Anforderungen entspricht oder um Änderungen unserer Leistungen in der Datenschutzerklärung umzusetzen, z.B. bei der Einführung neuer Services. Für Ihren erneuten Besuch gilt dann die neue Datenschutzerklärung.\nFragen an den Datenschutzbeauftragten # Wenn Sie Fragen zum Datenschutz haben, schreiben Sie uns bitte eine E-Mail oder wenden Sie sich direkt an die für den Datenschutz verantwortliche Person in unserer Organisation:\ninfo@dutches.de\nDie Datenschutzerklärung wurde mithilfe der activeMind AG erstellt, den Experten für externe Datenschutzbeauftragte (Version #2020-09-30).\n","externalUrl":null,"permalink":"/datenschutzerklaerung/","section":"Dutches","summary":"","title":"Datenschutzerklärung","type":"page"},{"content":" Angaben gem. § 5 TMG # Marcel van der Heide\nNelkenstr. 17\n83562 Rechtmehring\nKontakt # Mail: info@dutches.de\n","externalUrl":null,"permalink":"/impressum/","section":"Dutches","summary":"","title":"Impressum","type":"page"},{"content":" Noticeable repositories # Dutch/Linq2DbRepo Repository implementation for Linq to DB incl. recursive CRUD operations and ManyToMany associations. C# 0 0 Dutch/Avalon.Core C# 0 0 Dutch/SimpleCache C# 0 0 Dutch/workflow-base-image Dockerfile 0 0 Other projects # ","externalUrl":null,"permalink":"/projects/","section":"Dutches","summary":"","title":"Projects","type":"page"},{"content":"","externalUrl":null,"permalink":"/series/","section":"Series","summary":"","title":"Series","type":"series"}]