<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>Mads Opheim</title>
        <link>https://madsopheim.com/</link>
        <description>Doing my best for a better world. Through better tech and better policies.</description>
        <lastBuildDate>Tue, 24 Feb 2026 14:33:33 GMT</lastBuildDate>
        <docs>https://validator.w3.org/feed/docs/rss2.html</docs>
        <generator>Feed for Node.js</generator>
        <copyright>All rights reserved 2026, Mads Opheim</copyright>
        <atom:link href="https://madsopheim.com/feed.xml" rel="self" type="application/rss+xml"/>
        <item>
            <title><![CDATA[Test your legacy code]]></title>
            <link>https://madsopheim.com/blog/2019-03-28-test-your-legacy-code</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2019-03-28-test-your-legacy-code</guid>
            <pubDate>Thu, 28 Mar 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[Do you want tests for your code, but find it hard to get started? Or maybe you got it going, but ran into code you were not able to test?]]></description>
        </item>
        <item>
            <title><![CDATA[Tips for finding your next conference]]></title>
            <link>https://madsopheim.com/blog/2019-03-31-where-to-give-a-talk</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2019-03-31-where-to-give-a-talk</guid>
            <pubDate>Sun, 31 Mar 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[Where do I head to find places to apply for speaking?]]></description>
        </item>
        <item>
            <title><![CDATA[White male privilege]]></title>
            <link>https://madsopheim.com/blog/2019-04-05-White-male-privilege</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2019-04-05-White-male-privilege</guid>
            <pubDate>Fri, 05 Apr 2019 00:00:00 GMT</pubDate>
            <description><![CDATA["I'm a developer and tech lead, working in the tech industry.]]></description>
        </item>
        <item>
            <title><![CDATA[Microservices with Microprofile]]></title>
            <link>https://madsopheim.com/blog/2019-08-18-microservices-with-microprofile</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2019-08-18-microservices-with-microprofile</guid>
            <pubDate>Sun, 18 Aug 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[Welcome to the world of microservices! We now can provide you with the tools you miss from your time with Java EE, while still leaving you free to switch application server whenever you want, without having to change your Java code.]]></description>
        </item>
        <item>
            <title><![CDATA[Switching appservers]]></title>
            <link>https://madsopheim.com/blog/2019-10-18-switching-appservers</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2019-10-18-switching-appservers</guid>
            <pubDate>Fri, 18 Oct 2019 00:00:00 GMT</pubDate>
            <description><![CDATA[With MicroProfile, you can switch application servers for your Java or Kotlin application without touching your code at all.]]></description>
        </item>
        <item>
            <title><![CDATA[How to make your own scraper and then forget about it?]]></title>
            <link>https://madsopheim.com/blog/2022-10-28-scraping</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2022-10-28-scraping</guid>
            <pubDate>Fri, 28 Oct 2022 00:00:00 GMT</pubDate>
            <description><![CDATA[You've found a web page you want to keep track of how changes, but they don't keep a changelog? Make your own!]]></description>
        </item>
        <item>
            <title><![CDATA[Enterprise Kotlin - Kotlin and Jakarta EE]]></title>
            <link>https://madsopheim.com/blog/2023-05-25-enterprise-kotlin</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2023-05-25-enterprise-kotlin</guid>
            <pubDate>Thu, 25 May 2023 00:00:00 GMT</pubDate>
            <description><![CDATA[Kotlin is nice. Jakarta EE is nice. Let’s dive into how to make them play well together!]]></description>
        </item>
        <item>
            <title><![CDATA[Continuous delivery for your open-source library]]></title>
            <link>https://madsopheim.com/blog/2024-05-30-cd-open-source</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2024-05-30-cd-open-source</guid>
            <pubDate>Thu, 30 May 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[If you are building a software library, I suggest creating and pushing out new versions on every commit on _main_.]]></description>
        </item>
        <item>
            <title><![CDATA[1Z0-1113 - The Oracle certification no one cares about?]]></title>
            <link>https://madsopheim.com/blog/2024-07-06-1z0-1113-pre</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2024-07-06-1z0-1113-pre</guid>
            <pubDate>Sat, 06 Jul 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Tempted to do the 1Z0-1113 certification on Helidon from Oracle? The toughest part might be to find information.]]></description>
        </item>
        <item>
            <title><![CDATA[Package an uber-JAR with OpenLiberty]]></title>
            <link>https://madsopheim.com/blog/2024-10-14-openliberty-uberjar</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2024-10-14-openliberty-uberjar</guid>
            <pubDate>Mon, 14 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[With OpenLiberty, you can easily get your artifact as a WAR file. But what if you (for some reason) want a self-containing JAR instead?]]></description>
        </item>
        <item>
            <title><![CDATA[1Z0-1113 - Update on my progress]]></title>
            <link>https://madsopheim.com/blog/2024-10-31-1z0-1113-update</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2024-10-31-1z0-1113-update</guid>
            <pubDate>Thu, 31 Oct 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[I wrote this summer about the 1Z0-1113 certification. What's my status?]]></description>
        </item>
        <item>
            <title><![CDATA[Ringesentralen - say what?]]></title>
            <link>https://madsopheim.com/blog/2024-11-09-ringesentralen</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2024-11-09-ringesentralen</guid>
            <pubDate>Sat, 09 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[This side project of mine, what is it about? It's time to dive into what it's actually doing - meet Ringesentralen]]></description>
        </item>
        <item>
            <title><![CDATA[1Z0-1113 - I passed!]]></title>
            <link>https://madsopheim.com/blog/2024-11-11-1z0-1113-I-passed</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2024-11-11-1z0-1113-I-passed</guid>
            <pubDate>Mon, 11 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[1Z0-1113 certification: I passed]]></description>
        </item>
        <item>
            <title><![CDATA[Local development with MicroProfile RestClient]]></title>
            <link>https://madsopheim.com/blog/2024-11-14-restclient-local</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2024-11-14-restclient-local</guid>
            <pubDate>Thu, 14 Nov 2024 00:00:00 GMT</pubDate>
            <description><![CDATA[Test your HTTP calls on your own fake]]></description>
        </item>
        <item>
            <title><![CDATA[Replace simple sub-GitHub Actions with plain run]]></title>
            <link>https://madsopheim.com/blog/2025-04-23-github-actions</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2025-04-23-github-actions</guid>
            <pubDate>Wed, 23 Apr 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[Use the GH CLI directly instead of wrappers you don't need]]></description>
        </item>
        <item>
            <title><![CDATA[Switching blog engine]]></title>
            <link>https://madsopheim.com/blog/2025-06-03-rewriting-the-blog</link>
            <guid isPermaLink="false">https://madsopheim.com/blog/2025-06-03-rewriting-the-blog</guid>
            <pubDate>Tue, 03 Jun 2025 00:00:00 GMT</pubDate>
            <description><![CDATA[I recently realized that the engine that used to run this blog wasn't updated since 2020]]></description>
        </item>
    </channel>
</rss>