<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Wesley Cabus on Blog</title><link>https://blog.djvelimir.com/tags/wesley-cabus/</link><description>Recent content in Wesley Cabus on Blog</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 02 Sep 2026 18:08:57 +0200</lastBuildDate><atom:link href="https://blog.djvelimir.com/tags/wesley-cabus/index.xml" rel="self" type="application/rss+xml"/><item><title>Safety first! Low-level C# without the unsafe keyword</title><link>https://blog.djvelimir.com/post/conferences/safety-first-low-level-c%23-without-the-unsafe-keyword---wesley-cabus---ndc-sydney-2024/</link><pubDate>Wed, 02 Sep 2026 18:08:57 +0200</pubDate><guid>https://blog.djvelimir.com/post/conferences/safety-first-low-level-c%23-without-the-unsafe-keyword---wesley-cabus---ndc-sydney-2024/</guid><description>&lt;p&gt;For a side project, I converted DooM from C to C#. Having to deal with strange file types, alternative ways of (re)allocating memory, data structures being passed around as void* pointers and the likes, it&amp;rsquo;s tempting to use unsafe code in C#. Turns out, that&amp;rsquo;s not needed!&lt;/p&gt;
&lt;p&gt;In this session, let&amp;rsquo;s look at how C translates to modern C#, and how C# adds safeguards to avoid shooting yourself in the foot.&lt;/p&gt;</description></item></channel></rss>