<?xml version="1.0" encoding="UTF-8"?><?xml-stylesheet href="/rss/styles.xsl" type="text/xsl"?><rss version="2.0"><channel><title>Modulo Lotus</title><description>The personal site of Matthew Davidson.</description><link>https://modulolotus.net/</link><item><title>A case study in refactoring Clojure trie code for performance </title><link>https://modulolotus.net/blog/2018-05-31-clojure-trie-performance/</link><guid isPermaLink="true">https://modulolotus.net/blog/2018-05-31-clojure-trie-performance/</guid><description>A detailed exploration of optimizing Clojure trie implementation for performance, showing the progression from idiomatic but slow code to highly optimized JVM-specific implementations with significant speed improvements through algorithmic changes and JVM optimizations.</description><pubDate>Thu, 31 May 2018 00:00:00 GMT</pubDate></item><item><title>Premature optimization is the root of all hair loss</title><link>https://modulolotus.net/blog/2014-07-11-premature-optimization/</link><guid isPermaLink="true">https://modulolotus.net/blog/2014-07-11-premature-optimization/</guid><description>A cautionary tale about focusing on algorithmic optimization before profiling. I wasted time implementing fancy graph algorithms for a puzzle only to discover that Java startup time was the actual bottleneck.</description><pubDate>Fri, 11 Jul 2014 00:00:00 GMT</pubDate></item><item><title>Arrhythmic Beats - IDM</title><link>https://modulolotus.net/blog/2019-05-03-my-fav-idm/</link><guid isPermaLink="true">https://modulolotus.net/blog/2019-05-03-my-fav-idm/</guid><description>A curated list of influential IDM artists and essential albums from the 90s, featuring Aphex Twin, Autechre, Boards of Canada, and more.</description><pubDate>Fri, 03 May 2019 00:00:00 GMT</pubDate></item><item><title>Undertale in EXAPUNKS</title><link>https://modulolotus.net/blog/2023-03-17-undertale-exapunks/</link><guid isPermaLink="true">https://modulolotus.net/blog/2023-03-17-undertale-exapunks/</guid><description>My mashup demo recreating Undertale inside the Zachtronics&apos; game EXAPUNKS.</description><pubDate>Fri, 17 Mar 2023 00:00:00 GMT</pubDate></item><item><title>Using Clojure for the Cryptopals cryptography challenges</title><link>https://modulolotus.net/blog/2017-05-17-thoughts-on-cryptopals-1/</link><guid isPermaLink="true">https://modulolotus.net/blog/2017-05-17-thoughts-on-cryptopals-1/</guid><description>Insights and challenges from solving the Cryptopals cryptography exercises using Clojure, highlighting specific implementation issues, JVM limitations for byte manipulation, and offering tips for specific challenges.</description><pubDate>Wed, 17 May 2017 00:00:00 GMT</pubDate></item><item><title>Adding HTTP/2 client support to Aleph</title><link>https://modulolotus.net/blog/2023-06-20-aleph-http2-changes/</link><guid isPermaLink="true">https://modulolotus.net/blog/2023-06-20-aleph-http2-changes/</guid><description>A technical overview of implementing HTTP/2 client support in Aleph, detailing challenges with stream handling, protocol negotiation, and real-world implementation differences from the HTTP/2 specification.</description><pubDate>Tue, 20 Jun 2023 00:00:00 GMT</pubDate></item><item><title>You should test less - skip irrelevant tests with impact analysis</title><link>https://modulolotus.net/blog/2025-03-04-test-impact-analysis/</link><guid isPermaLink="true">https://modulolotus.net/blog/2025-03-04-test-impact-analysis/</guid><description>Test-impact analysis (TIA) optimizes CI pipelines by running only relevant tests based on code changes, reducing test execution time and resource consumption.</description><pubDate>Tue, 04 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Using IPA to improve my Thai</title><link>https://modulolotus.net/blog/2025-03-25-learning-thai-with-ipa/</link><guid isPermaLink="true">https://modulolotus.net/blog/2025-03-25-learning-thai-with-ipa/</guid><description>An exploration of using the International Phonetic Alphabet (IPA) to enhance Thai language learning, focusing on improved vowel pronunciation.</description><pubDate>Tue, 25 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Why do Thai people use the &quot;w&quot; sound as a &quot;v&quot; substitute?</title><link>https://modulolotus.net/blog/thai-v-vs-w/</link><guid isPermaLink="true">https://modulolotus.net/blog/thai-v-vs-w/</guid><description>They&apos;re not close in production.</description><pubDate>Sat, 28 Jun 2025 00:00:00 GMT</pubDate></item><item><title>I declared nix bankruptcy</title><link>https://modulolotus.net/blog/i-declared-nix-bankruptcy/</link><guid isPermaLink="true">https://modulolotus.net/blog/i-declared-nix-bankruptcy/</guid><description>I gave up on nix-darwin, and reverted back to Homebrew.</description><pubDate>Tue, 29 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Test-induced design damage in Clojure</title><link>https://modulolotus.net/blog/2022-06-22-tidd/</link><guid isPermaLink="true">https://modulolotus.net/blog/2022-06-22-tidd/</guid><description>An exploration of test-induced design damage (TIDD) in Clojure, examining how code modifications made solely for testing can lead to unnecessary complexity, with comparisons of various approaches including with-redefs, binding, protocols, and the dynamic-redef library.</description><pubDate>Wed, 22 Jun 2022 00:00:00 GMT</pubDate></item><item><title>Setting up Rails 4.0.0 with Nginx and Postgres on Digital Ocean</title><link>https://modulolotus.net/blog/2014-06-08-setting-up-rails/</link><guid isPermaLink="true">https://modulolotus.net/blog/2014-06-08-setting-up-rails/</guid><description>A comprehensive guide to setting up a Ruby on Rails 4.0.0 application with Nginx and PostgreSQL on a Digital Ocean droplet, covering user creation, Ruby installation via RVM, Nginx configuration, and database setup.</description><pubDate>Sun, 08 Jun 2014 00:00:00 GMT</pubDate></item><item><title>Using Algo to setup the strongSwan VPN</title><link>https://modulolotus.net/blog/2017-03-28-setting-up-algo/</link><guid isPermaLink="true">https://modulolotus.net/blog/2017-03-28-setting-up-algo/</guid><description>A practical guide to setting up a personal VPN using Algo and strongSwan on an existing Ubuntu server, including solutions to common issues with SSH connections, firewall configurations, and root access requirements.</description><pubDate>Tue, 28 Mar 2017 00:00:00 GMT</pubDate></item></channel></rss>