<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Csharp on Hi, I'm *squid*</title><link>https://orivega.io/tags/csharp/</link><description>Recent content in Csharp on Hi, I'm *squid*</description><image><title>Hi, I'm *squid*</title><url>https://orivega.io/images/og.png</url><link>https://orivega.io/images/og.png</link></image><generator>Hugo</generator><language>en</language><lastBuildDate>Mon, 02 Nov 2026 12:25:00 +0100</lastBuildDate><atom:link href="https://orivega.io/tags/csharp/index.xml" rel="self" type="application/rss+xml"/><item><title>tmail: My Winter Project Is a Mail Client for the Terminal</title><link>https://orivega.io/tmail-my-winter-project-a-mail-client-for-the-terminal/</link><pubDate>Mon, 02 Nov 2026 12:25:00 +0100</pubDate><guid>https://orivega.io/tmail-my-winter-project-a-mail-client-for-the-terminal/</guid><description>Every year I pick one personal project for the winter and give it a deadline: the first day of spring. This year it is tmail, a keyboard-driven mail client for the terminal. Should it also talk XMPP and IRC?</description></item><item><title>Moongate v2 Dev Log #1: When Your Architecture Lies to You</title><link>https://orivega.io/moongate-v2-dev-log-1-when-your-architecture-lies-to-you/</link><pubDate>Thu, 26 Feb 2026 23:00:00 +0000</pubDate><guid>https://orivega.io/moongate-v2-dev-log-1-when-your-architecture-lies-to-you/</guid><description>How I fixed the bootstrap, added source generators, and scripted items with Lua in Moongate v2 -- a modern Ultima Online server built with .NET 10.</description></item><item><title>Moongate v2: Rewriting a Ultima Online Server From Scratch (Because I Wanted To)</title><link>https://orivega.io/moongate-v2-rewriting-a-ultima-online-server-from-scratch-because-i-wanted-to/</link><pubDate>Fri, 20 Feb 2026 23:00:00 +0000</pubDate><guid>https://orivega.io/moongate-v2-rewriting-a-ultima-online-server-from-scratch-because-i-wanted-to/</guid><description>A personal story about nostalgia, a terrible job, and rewriting an Ultima Online server emulator from scratch with .NET 10 and NativeAOT.</description></item><item><title>Building a DOOM-Like Engine in 2026: Discipline Through Constraints</title><link>https://orivega.io/building-a-doom-like-engine-in-2026-discipline-through-constraints/</link><pubDate>Wed, 14 Jan 2026 19:53:00 +0000</pubDate><guid>https://orivega.io/building-a-doom-like-engine-in-2026-discipline-through-constraints/</guid><description>&lt;p&gt;&lt;img alt="Darklilly" loading="lazy" src="https://orivega.io/images/darklilly.webp"&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m building (Dark) Lilly Engine, a 3D DOOM-inspired engine in C# with OpenGL. Not to clone DOOM. Not to romanticize the past. But because rebuilding foundational ideas until they&amp;rsquo;re &lt;em&gt;yours&lt;/em&gt; is the only way to truly understand them.&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Sometimes the only way to understand a system is to rebuild it.
Not copy it. Not romanticize it. Just rebuild the ideas until they&amp;rsquo;re yours.&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;m not building a DOOM clone.
I&amp;rsquo;m building an engine that grew from the same questions DOOM answered, under different constraints.&lt;/p&gt;</description></item><item><title>The Book That Pulled Me Back Into DOOM’s Engine Room</title><link>https://orivega.io/the-book-that-pulled-me-back-into-dooms-engine-room/</link><pubDate>Sun, 11 Jan 2026 19:29:00 +0000</pubDate><guid>https://orivega.io/the-book-that-pulled-me-back-into-dooms-engine-room/</guid><description>&lt;p&gt;&lt;img alt="IMG_2654" loading="lazy" src="https://orivega.io/images/img_2654.webp"&gt;&lt;/p&gt;
&lt;h1 id="why-i-bought-the-game-engine-black-book-doom"&gt;Why I Bought the &lt;em&gt;Game Engine Black Book: DOOM&lt;/em&gt;&lt;/h1&gt;
&lt;p&gt;I recently picked up Fabien Sanglard’s &lt;em&gt;Game Engine Black Book: DOOM&lt;/em&gt;.&lt;br&gt;
Not as a collector’s item, not as a coffee-table trophy, but because DOOM has always been an unfinished chapter for me.&lt;/p&gt;
&lt;p&gt;It was the second game I ever fell in love with.&lt;br&gt;
The first one was Wolfenstein 3D, which ran fine on my old 486 (yes, IBM PS/2). DOOM didn’t. I would launch it, stare at a frozen screen, and realize the hardware simply wasn’t enough. So I played DOOM at friends’ houses, glued to the monitor, half jealous and half hypnotized.&lt;/p&gt;</description></item><item><title>Day 45: Using Linux as My Primary Development Environment: A Technical Review After 45 Days</title><link>https://orivega.io/day-45-using-linux-as-my-primary-development-environment-a-technical-review-after-45-days/</link><pubDate>Wed, 07 Jan 2026 09:04:00 +0000</pubDate><guid>https://orivega.io/day-45-using-linux-as-my-primary-development-environment-a-technical-review-after-45-days/</guid><description>&lt;p&gt;&lt;img alt="99663eee9d43bda71dc57434a7446320" loading="lazy" src="https://orivega.io/images/99663eee9d43bda71dc57434a7446320.webp"&gt;&lt;/p&gt;
&lt;p&gt;It has now been 45 days since I started my “100 Days of Linux” journey on November 24th. The goal was simple but radical: replace macOS and Windows entirely and verify whether Linux could cover &lt;em&gt;everything&lt;/em&gt;—development, gaming, productivity, graphics, and daily use—without compromise.&lt;/p&gt;
&lt;p&gt;The conclusion so far is clear: Linux has become my main system, and it works flawlessly.&lt;br&gt;
Below is my technical review as of January 7th, 2026.&lt;/p&gt;</description></item></channel></rss>