2
<p>Anyway, I like testing things before I use them, so after implementing my &quot;if&quot; and &quot;while&quot; I decide to write a simple Fizzbuzz program. This causes me to immediately realize—</p><p>I FORGOT TO IMPLEMENT &gt; AND &lt;</p><p>I just forgot!! Fortunately I *did* include bit arithmetic ops, so I implement &lt;, &gt;, &lt;=, &gt;= in userland as well, by testing bit (1&lt;&lt;63) as a proxy for 2&#39;s compliment negative. This is actually a little worrisome. I&#39;m not sure if this code truly &quot;works&quot; or if I&#39;m just leveraging UB in Rust.</p>
Attached image 0Attached image 1
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@gamingonlinux" class="u-url mention">@<span>gamingonlinux</span></a></span><br />Every time i read in the announcements something like &quot;Events and team news&quot; I&#39;m hopping to see something like &quot;there are events now in Mastodon&quot;.<br />But then i realize it&#39;s just there events 😢</p><p>Events are really the thing, why I&#39;m still using Facebook</p><p><a href="https://chaos.social/tags/Mastodon" class="mention hashtag" rel="tag">#<span>Mastodon</span></a></p>
<p>Like, I wrote the code, but I don&#39;t understand it. I initially wrote it with all the `make-quote`s being `return`s, and that didn&#39;t work, so I experimentally replaced them with make-quotes and it did work. I need to reread the interpreter code to really understand why that was required.</p><p>If even the designer can&#39;t understand the model here, the model is probably too complicated for anyone ELSE to write self-modifying code either! That&#39;s a sign of a problem, or better abstractions needed.</p>
<p>Before I can start, I need to make some utilities. By &quot;utilities&quot; I mean &quot;if&quot; and &quot;while&quot; statements, which again, this language currently lacks. MVP, remember. Implementing these in userland is possible! It&#39;s *ugly*, though. For `if`, I simulate branching by putting the two possible outcomes (functions) into an array, casting the condition to a bool and then the bool to an int, and using that as an index to the array.</p><p>&quot;while&quot; is even more nightmarish. I don&#39;t… understand the use of make-quote.</p>
Attached image 0
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@gamingonlinux" class="u-url mention">@<span>gamingonlinux</span></a></span><br />Huh, a free to play game actually working on Linux? That&#39;s neat.</p>
<p>Some nice work going into Mastodon updates lately <a href="https://blog.joinmastodon.org/2025/04/trunk-tidbits-march-2025/" target="_blank" rel="nofollow noopener" translate="no"><span class="invisible">https://</span><span class="ellipsis">blog.joinmastodon.org/2025/04/</span><span class="invisible">trunk-tidbits-march-2025/</span></a></p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> core security was an Argentinian company that AFAIK did bindiff of windows updates in order to find undisclosed security updates.</p><p>Maybe I&#39;m wrong in some details 😅</p>
<p><span class="h-card" translate="no"><a href="https://chaos.social/@mega" class="u-url mention">@<span>mega</span></a></span> coresec?</p>
<p><span class="h-card" translate="no"><a href="https://mastodon.social/@whitequark" class="u-url mention">@<span>whitequark</span></a></span> ah yes, the coresec way</p>