<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Hammer Blog - Linux, Docker &amp; Self-Hosting Guides on Hammer Blog</title><link>https://hmmr.online/</link><description>Recent content in Hammer Blog - Linux, Docker &amp; Self-Hosting Guides on Hammer Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Sun, 05 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://hmmr.online/index.xml" rel="self" type="application/rss+xml"/><item><title>Why I Switched from WordPress to Hugo</title><link>https://hmmr.online/posts/why-hugo-not-wordpress/</link><pubDate>Sun, 05 Apr 2026 00:00:00 +0000</pubDate><guid>https://hmmr.online/posts/why-hugo-not-wordpress/</guid><description>&lt;h2 id="i-just-want-to-put-text-on-the-internet"&gt;I Just Want to Put Text on the Internet&lt;/h2&gt;
&lt;p&gt;That&amp;rsquo;s it. That&amp;rsquo;s the whole requirement. I write things, I want them on a website. Markdown in, HTML out. After years of WordPress slowly losing its mind, I switched to &lt;a href="https://gohugo.io" target="_blank" rel="noopener"&gt;Hugo&lt;/a&gt;, a static site generator that starts with exactly that and lets you bolt on the rest yourself.&lt;/p&gt;
&lt;p&gt;WordPress heard &amp;ldquo;simple&amp;rdquo; and said hold on, let me spin up a MySQL database, a PHP runtime, an admin panel with a login page, a REST API, a block editor nobody wanted, a cron system, a media library, and, oh you&amp;rsquo;ll love this, a built-in emoji script. &lt;code&gt;wp-emoji-release.min.js&lt;/code&gt;. Ships on every single page. Every. Page.&lt;/p&gt;</description></item><item><title>Adding Search to Hugo with Pagefind</title><link>https://hmmr.online/posts/hugo-search-pagefind/</link><pubDate>Sat, 04 Apr 2026 00:00:00 +0000</pubDate><guid>https://hmmr.online/posts/hugo-search-pagefind/</guid><description>&lt;h2 id="i-have-four-posts"&gt;I Have Four Posts&lt;/h2&gt;
&lt;p&gt;Four. That&amp;rsquo;s the entire content library of this blog. And I just spent an evening adding search to my Hugo site with &lt;a href="https://pagefind.app" target="_blank" rel="noopener"&gt;Pagefind&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You could literally scroll for three seconds and find every post I&amp;rsquo;ve ever written. But no, I needed a search bar. Because what if someone lands on my site and desperately needs to find that one article about &lt;a href="https://hmmr.online/posts/wallpaper-sources/"&gt;wallpapers&lt;/a&gt; but can&amp;rsquo;t be bothered to move their eyes slightly downward? What then? Chaos. Anarchy. An unacceptable user experience.&lt;/p&gt;</description></item><item><title>I Replaced Nginx Proxy Manager with Traefik</title><link>https://hmmr.online/posts/traefik-reverse-proxy/</link><pubDate>Thu, 02 Apr 2026 00:00:00 +0000</pubDate><guid>https://hmmr.online/posts/traefik-reverse-proxy/</guid><description>&lt;h2 id="the-uptime-kuma-alert"&gt;The Uptime Kuma Alert&lt;/h2&gt;
&lt;p&gt;I got an SSL certificate expiry alert from my Uptime Kuma on a Tuesday. Ten days left. Fine, I thought. Nginx Proxy Manager handles renewal. That&amp;rsquo;s literally the one thing it needs to do.&lt;/p&gt;
&lt;p&gt;Ten days later, my sites were serving browser warnings. You know those full-page &amp;ldquo;Your connection is not private&amp;rdquo; screens that make your site look like it&amp;rsquo;s distributing malware? Yeah. That.&lt;/p&gt;
&lt;p&gt;Nginx Proxy Manager just&amp;hellip; stopped renewing. No error in the logs, no failed attempt, nothing. The UI still showed the certificates as &amp;ldquo;valid.&amp;rdquo; They weren&amp;rsquo;t. I restarted the container, clicked &amp;ldquo;Renew&amp;rdquo; manually, waited. Clicked again. Refreshed. Clicked again like it&amp;rsquo;s a crosswalk button.&lt;/p&gt;</description></item><item><title>Where to Actually Find Good Wallpapers</title><link>https://hmmr.online/posts/wallpaper-sources/</link><pubDate>Tue, 10 Mar 2026 00:00:00 +0000</pubDate><guid>https://hmmr.online/posts/wallpaper-sources/</guid><description>&lt;h2 id="i-just-want-a-nice-background"&gt;I Just Want a Nice Background&lt;/h2&gt;
&lt;p&gt;You&amp;rsquo;d think finding a good wallpaper in 2026 would be easy. Google &amp;ldquo;4K wallpaper&amp;rdquo;, pick one, done.&lt;/p&gt;
&lt;p&gt;Nope.&lt;/p&gt;
&lt;p&gt;Every site promises &amp;ldquo;Ultra HD&amp;rdquo; and &amp;ldquo;4K&amp;rdquo; and whatever other buzzwords they can cram into their SEO title. You download the image, set it as your background, and&amp;hellip; it&amp;rsquo;s blurry. Some 1080p file that got upscaled to pretend it&amp;rsquo;s high-res. The thumbnail looked sharp. The actual file is garbage.&lt;/p&gt;</description></item><item><title>Ricing Hyprland with Claude Code CLI</title><link>https://hmmr.online/posts/hyprland-claude-code/</link><pubDate>Tue, 06 Jan 2026 00:00:00 +0000</pubDate><guid>https://hmmr.online/posts/hyprland-claude-code/</guid><description>&lt;h2 id="i-never-had-time-for-this"&gt;I Never Had Time for This&lt;/h2&gt;
&lt;p&gt;You know those &lt;a href="https://www.reddit.com/r/unixporn/" target="_blank" rel="noopener"&gt;r/unixporn&lt;/a&gt; posts with the gorgeous Hyprland setups? I&amp;rsquo;ve been jealous of those for years. But every time I tried to get into ricing, I&amp;rsquo;d hit a wall. Config files everywhere, weird syntax, tools I&amp;rsquo;ve never heard of. And honestly? I have a job and a family. I don&amp;rsquo;t have weekends to burn figuring out why my window borders won&amp;rsquo;t change color.&lt;/p&gt;
&lt;p&gt;So I just used Gnome. It works, it&amp;rsquo;s fine, whatever. I spent my free time on other projects.&lt;/p&gt;</description></item><item><title>Hugo in Docker: Benefits and Practical Guide</title><link>https://hmmr.online/posts/hugo-docker-container/</link><pubDate>Wed, 10 Dec 2025 00:00:00 +0000</pubDate><guid>https://hmmr.online/posts/hugo-docker-container/</guid><description>&lt;h2 id="why-docker-for-hugo"&gt;Why Docker for Hugo?&lt;/h2&gt;
&lt;p&gt;I used to install Hugo directly on my system. Then I switched to Docker, and honestly? I&amp;rsquo;m never going back. Here&amp;rsquo;s why:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;No cluttering your system.&lt;/strong&gt; Hugo installed bare metal means adding binaries, dependencies, and configuration to your machine. With Docker, it&amp;rsquo;s isolated. Clean.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Version switching is painless.&lt;/strong&gt; Need a different Hugo version? Just change the image tag. No reinstalling, no conflicts with system packages. One line change.&lt;/p&gt;</description></item><item><title>Access Granted</title><link>https://hmmr.online/wp-admin/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://hmmr.online/wp-admin/</guid><description/></item><item><title>Search</title><link>https://hmmr.online/search/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://hmmr.online/search/</guid><description/></item></channel></rss>