<?xml version="1.0" encoding="UTF-8" ?><rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><atom:link href="https://matthewtolman.com/rss" rel="self" type="application/rss+xml"/><title>Matthew Tolman - Blog</title><link>https://matthewtolman.com</link><description>Blog about coding and software development</description><language>en-us</language><category>code</category><category>software</category><category>software development</category><category>programming</category><category>coding</category><item><title>Retrying Emacs</title><description><![CDATA[ Lately I've been retrying Emacs. I've been enjoying NeoVim, and I got a pretty good tmux + NeoVim workflow going. However, there were some things that I just missed. Not every key combination is possible in the terminal, which has been... ]]></description><link>https://matthewtolman.com/articles/2025-09-retrying-emacs</link><guid>https://matthewtolman.com/articles/2025-09-retrying-emacs</guid><pubDate>Wed, 17 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Switching to Erlang</title><description><![CDATA[ Recently I rewrote my blog again. This time, I moved from a language I know really well (TypeScript/JavaScript) to a language I don't (Erlang). I'm familiar enough with Erlang, but haven't made any projects of this scale or complexity... ]]></description><link>https://matthewtolman.com/articles/2025-08-switch-to-erlang</link><guid>https://matthewtolman.com/articles/2025-08-switch-to-erlang</guid><pubDate>Sat, 16 Aug 2025 00:00:00 GMT</pubDate></item><item><title>On Readers and Writers</title><description><![CDATA[ Recently I've been "Zigifying" my C++ code. As part of this, I've been moving away from using C++'s streams to custom readers and writers. Honestly, I like it a lot better. Not only is it a lot simpler, but it's a lot easier to compose.... ]]></description><link>https://matthewtolman.com/articles/2025-06-30-on-readers-and-writers</link><guid>https://matthewtolman.com/articles/2025-06-30-on-readers-and-writers</guid><pubDate>Mon, 30 Jun 2025 00:00:00 GMT</pubDate></item><item><title>RAII Was a Mistake</title><description><![CDATA[ Recently I've been revisiting C++ after writing some Zig code. As part of the transition, I got frustrated with the C++ way of doing things and started doing "Zig in C++" style of coding. After removing a lot of move destructors to... ]]></description><link>https://matthewtolman.com/articles/raii-was-a-mistake</link><guid>https://matthewtolman.com/articles/raii-was-a-mistake</guid><pubDate>Wed, 18 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Authorization: System vs User</title><description><![CDATA[ Recently I've been working on authorization systems for some projects. At some point, I ran into some design mistakes on one of them, and it hit me that there's a little unspoken secret about authorization. There are two types of... ]]></description><link>https://matthewtolman.com/articles/authorization_system-vs-user</link><guid>https://matthewtolman.com/articles/authorization_system-vs-user</guid><pubDate>Sun, 8 Jun 2025 00:00:00 GMT</pubDate></item><item><title><![CDATA[ How Clean Code Ruined PHP's Best Feature ]]></title><description><![CDATA[ I've done PHP programming professionally for a decade. I started with just FTP'ing files to web servers, transitioned into version control, then the whole blue/green CI/CD pipeline. I've written my own autoloaders, written PHP... ]]></description><link>https://matthewtolman.com/articles/2025_05_why_php_hot_reload_is_broken</link><guid>https://matthewtolman.com/articles/2025_05_why_php_hot_reload_is_broken</guid><pubDate>Fri, 2 May 2025 00:00:00 GMT</pubDate></item><item><title>Learning from Baremetal</title><description><![CDATA[ Lately I've been working with baremetal servers. I have two servers in a rack for personal use. They aren't big or fancy, and I got them used. But, they do work. As part of this, I've learned a lot about servers and server management,... ]]></description><link>https://matthewtolman.com/articles/2025_04_learning_from_baremetal</link><guid>https://matthewtolman.com/articles/2025_04_learning_from_baremetal</guid><pubDate>Tue, 29 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Erlang Deployment: First Impressions</title><description><![CDATA[ Lately I've been experimenting with deploying to bare metal servers. No Kubernetes. No Docker. No AWS Console.  Just the physical hardware, mounted to a rack, no OS pre-installed, and no RAID preconfigured.  Just that beautiful, metal... ]]></description><link>https://matthewtolman.com/articles/2025_04_erlang_deployement_first_impressiosn</link><guid>https://matthewtolman.com/articles/2025_04_erlang_deployement_first_impressiosn</guid><pubDate>Fri, 25 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Moving away from a static site</title><description><![CDATA[ Up until today, my site was hosted by as a static site.  I've used several static file hosts (including S3, Cloudflare, open source, custom ones with custom telemetry, etc.).  During this time, I've been working primarily on my site... ]]></description><link>https://matthewtolman.com/articles/2025-04-moving-away-from-a-static-site</link><guid>https://matthewtolman.com/articles/2025-04-moving-away-from-a-static-site</guid><pubDate>Wed, 16 Apr 2025 00:00:00 GMT</pubDate></item><item><title>Building Channels in C++: Part 7 - Fixing an infinite loop</title><description>In Building Channels in C++: Part 6 - Adding timeouts we added timeouts to the select statements we made in Building Channels in C++: Part 5 - Writing a select statement. These selects work pretty well. However, there is a sneaky hidden...</description><link>https://matthewtolman.com/articles/2025-04-fixing-select</link><guid>https://matthewtolman.com/articles/2025-04-fixing-select</guid><pubDate>Mon, 7 Apr 2025 00:00:00 GMT</pubDate></item></channel></rss>