<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Hari&apos;s Weblog</title><description>(Very) occasional posts and musings | Articles Only</description><link>https://haripm.com/</link><item><title>Solving AoC Day 3 Without Thinking</title><link>https://haripm.com/2025/12/03/aoc-day-3-without-thinking/</link><guid isPermaLink="true">https://haripm.com/2025/12/03/aoc-day-3-without-thinking/</guid><description>&lt;p&gt;&lt;a href=&quot;https://tangled.org/haripm.com/aoc_2025&quot;&gt;I&amp;#39;m doing&lt;/a&gt; &lt;a href=&quot;https://adventofcode.com&quot;&gt;Advent of Code&lt;/a&gt; again this year, and part 1 of &lt;a href=&quot;https://adventofcode.com/2025/day/3&quot;&gt;today&amp;#39;s problem&lt;/a&gt; reminded me immediately of some of the problems I&amp;#39;m doing in my &lt;a href=&quot;https://ucd.ie/modules/COMP30060&quot;&gt;Program Construction&lt;/a&gt; module at UCD. So, I&amp;#39;m going to be coming up with a formally verified algorithm to solve Part 1 using Edsger W. Dijkstra&amp;#39;s Structured Programming style of Program Composition.&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2025/12/03/aoc-day-3-without-thinking&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Wed, 03 Dec 2025 17:27:22 GMT</pubDate></item><item><title>Semester in Review: Stage 2 Autumn</title><link>https://haripm.com/2025/01/01/autumn-stage-2/</link><guid isPermaLink="true">https://haripm.com/2025/01/01/autumn-stage-2/</guid><description>&lt;p&gt;A while back, I came across a couple of other blogs by college students reviewing the courses they took over the previous semester. I decided to do the same because it feels like a good way to lend a sense of closure to the semester, especially since exam season was a mad rush without time for much else than revision.&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2025/01/01/autumn-stage-2&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Wed, 01 Jan 2025 00:00:00 GMT</pubDate></item><item><title>The Docker Container Only Works on My Computer</title><link>https://haripm.com/2024/07/11/docker-bad-dns/</link><guid isPermaLink="true">https://haripm.com/2024/07/11/docker-bad-dns/</guid><description>&lt;p&gt;A few months ago, one of NetSoc&amp;#39;s committee members built an &lt;a href=&quot;https://www.reddit.com/r/place&quot;&gt;r/place&lt;/a&gt; clone just for NetSoc&amp;#39;s members, and we figured it would be nice to have a Discord bot to periodically take screenshots of the pixel art website and post updates to our server. When I volunteered to make it (because why not?), I never thought I&amp;#39;d spend about 5 hours wrestling with Docker while trying to deploy the app to our server, because &lt;em&gt;the Dockerised app would only run on my computer.&lt;/em&gt;&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2024/07/11/docker-bad-dns&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Thu, 11 Jul 2024 12:27:23 GMT</pubDate></item><item><title>Insertion Sort is... Crappy Mergesort?</title><link>https://haripm.com/2025/02/19/insertion-sort-is-merge-sort/</link><guid isPermaLink="true">https://haripm.com/2025/02/19/insertion-sort-is-merge-sort/</guid><description>&lt;p&gt;Something I realised while playing around with sorts in Haskell.&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2025/02/19/insertion-sort-is-merge-sort&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Wed, 19 Feb 2025 00:00:00 GMT</pubDate></item><item><title>Notes from January 2026</title><link>https://haripm.com/2026/01/31/jan-26/</link><guid isPermaLink="true">https://haripm.com/2026/01/31/jan-26/</guid><description>&lt;p&gt;It&amp;#39;s almost spring!&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2026/01/31/jan-26&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Sat, 31 Jan 2026 22:27:00 GMT</pubDate></item><item><title>My Self-Hosted Setup</title><link>https://haripm.com/2024/08/29/my-selfhosted-setup/</link><guid isPermaLink="true">https://haripm.com/2024/08/29/my-selfhosted-setup/</guid><description>&lt;p&gt;I recently deployed a couple of services on a VM in the cloud so I could get my feet wet when it comes to self-hosting apps for my own personal use. So far, it&amp;#39;s been pretty fun but also frustrating at times; I figured I&amp;#39;d document everything I&amp;#39;ve done up until now so it&amp;#39;s easier for me when I migrate to a different server at some point in the future.&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2024/08/29/my-selfhosted-setup&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Thu, 29 Aug 2024 13:33:27 GMT</pubDate></item><item><title>Setting up Neovim on NixOS</title><link>https://haripm.com/2025/09/05/neovim-nixos-setup/</link><guid isPermaLink="true">https://haripm.com/2025/09/05/neovim-nixos-setup/</guid><description>&lt;p&gt;Of all the pieces of software I had to set up again when I switched to NixOS, Neovim took me the longest. This kind of surprised me at first: given that the Venn Diagram of NixOS users and Neovim users is fairly close to a circle ­— the set of people who are most productive when fiddling with configuration — I thought it&amp;#39;d be a breeze to get Neovim going on NixOS. Unfortunately, all that seems to have happened is, perhaps predictably, the evolution of a dozen different ways to go about this.&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2025/09/05/neovim-nixos-setup&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Fri, 05 Sep 2025 14:21:28 GMT</pubDate></item><item><title>Nixmas Pt. 1 - Spring (Winter) Cleaning</title><link>https://haripm.com/2026/01/13/nixmas-part-1/</link><guid isPermaLink="true">https://haripm.com/2026/01/13/nixmas-part-1/</guid><description>&lt;p&gt;I&amp;#39;ve been using NixOS since June 21 2025, according to my commit history, but I never bothered to really learn Nix after setting it up.Recently, a couple of my friends started getting into Nix themselves.I couldn&amp;#39;t miss out on the fun, so decided to reboot my system config over the holidays, fully modularising my Nix flake and upgrading my old Ubuntu VPS to &lt;em&gt;three&lt;/em&gt; new NixOS servers for my self-hosted experiments!&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2026/01/13/nixmas-part-1&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Tue, 13 Jan 2026 12:40:49 GMT</pubDate></item><item><title>Nixmas Pt. 2 - The Wild, Wild Web</title><link>https://haripm.com/2026/01/17/nixmas-part-2/</link><guid isPermaLink="true">https://haripm.com/2026/01/17/nixmas-part-2/</guid><description>&lt;p&gt;In my last post, I wrote about cleaning up the Nix flake I use to configure my laptop and promised to describe using Nix to manage remote servers in a later post. This is that post!&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2026/01/17/nixmas-part-2&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Sat, 17 Jan 2026 21:25:39 GMT</pubDate></item><item><title>Nixmas Pt. 3 - Friendship ended with Docker...</title><link>https://haripm.com/2026/01/17/nixmas-part-3/</link><guid isPermaLink="true">https://haripm.com/2026/01/17/nixmas-part-3/</guid><description>&lt;p&gt;Now Podman is my best friend! I have a couple of servers up and running with Caddy installed, so I can finally go about setting up the services I want to self-host. I like running my services in OCI containers and knowing they&amp;#39;re well isolated from each other. Previously, I&amp;#39;d been using Docker, but I&amp;#39;ve had my eye on Podman for a while now due to its rootless, daemonless model and systemd integration.&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2026/01/17/nixmas-part-3&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Sat, 17 Jan 2026 21:25:40 GMT</pubDate></item><item><title>Using the Shunting Yard Algorithm to Write Truth Tables</title><link>https://haripm.com/2024/07/28/shunting-yard-truth-tables/</link><guid isPermaLink="true">https://haripm.com/2024/07/28/shunting-yard-truth-tables/</guid><description>&lt;p&gt;If you&amp;#39;ve gone through the first year of a undergraduate Computer Science degree, you&amp;#39;ll have written enough truth tables to last you a lifetime. Personally, I decided I&amp;#39;d had enough halfway through the semester and wrote a program to write my truth tables for me in Go. Unfortunately, we&amp;#39;d moved on from the topic before I finished working on this, but I still think it&amp;#39;s a pretty interesting project.&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2024/07/28/shunting-yard-truth-tables&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Sun, 28 Jul 2024 18:04:49 GMT</pubDate></item><item><title>Using Htpdate</title><link>https://haripm.com/2024/06/10/using-htpdate/</link><guid isPermaLink="true">https://haripm.com/2024/06/10/using-htpdate/</guid><description>&lt;p&gt;While doing some routine maintenance on a society server running Ubuntu (I&amp;#39;m a sysadmin for my university&amp;#39;s computer and networking society), I noticed that its system clock had drifted away from the true time by approximately 20 minutes. This amount of drift isn&amp;#39;t something one would expect to see on a long-running server with an active NTP service ... except, of course, the NTP service wasn&amp;#39;t working.&lt;/p&gt;
&lt;a href=&quot;https://haripm.com/2024/06/10/using-htpdate&quot;&gt;Read the full post.&lt;/a&gt;</description><pubDate>Mon, 10 Jun 2024 13:11:17 GMT</pubDate></item></channel></rss>