<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>Capital&#x27;s Corner</title>
      <link>https://capitalex.codeberg.page</link>
      <description></description>
      <generator>Zola</generator>
      <language>en</language>
      <atom:link href="https://capitalex.codeberg.page/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Fri, 10 Mar 2023 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Crimes Against Type Checking [0]</title>
          <pubDate>Fri, 10 Mar 2023 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://capitalex.codeberg.page/crimes-against-type-checking/</link>
          <guid>https://capitalex.codeberg.page/crimes-against-type-checking/</guid>
          <description>&lt;p&gt;Type systems. They are a means to define, restrict, and refine data. There is 
endless debate around them. How useful they are, how neccesary they are, how 
powerful or restricting they are. yadda, yadda, yadda. blah, blah, blah.&lt;&#x2F;p&gt;
&lt;p&gt;As someone the comes from a dynamically typed background, I tend to find them
restrictive. There are a multitude of nominal type systems that force objects
and data into one specific box. A select number of structually typed languages
that don&#x27;t quite check all my boxes. But, I do find them types useful.&lt;&#x2F;p&gt;
&lt;p&gt;My primary interest in types are what you can express and how you can interact
with them at runtime. The ability refine them at any time, access to intelligent 
code completion, the ability to type on multiple propeties of my data. Lots of
things I can list here. However, there is one feature more important than any 
other: the ability to poke and prod the compiler.&lt;&#x2F;p&gt;
&lt;p&gt;I like exploring languages and seeing what ideas they bring to the table. I like
static typing and seeing what I can get away with. And, I want to share that
exploration. Expect ugly code, weird quirks, and so &lt;em&gt;so&lt;&#x2F;em&gt; many type errors.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Scripting Objects without Trash Day</title>
          <pubDate>Wed, 01 Mar 2023 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://capitalex.codeberg.page/scripting-languages-without-gcs/</link>
          <guid>https://capitalex.codeberg.page/scripting-languages-without-gcs/</guid>
          <description>&lt;p&gt;The two-axis chart. It&#x27;s a classic tool for simplifying information. However,
for the most part, it is... not very good. The metrics on them are almost always
vibe checks. And flattens endless nuance into a literal 2D plane. But, there is
one thing they do have above other charts: they&#x27;re fun to make.&lt;&#x2F;p&gt;
&lt;p&gt;So, in the spirit of the internet, I&#x27;ve made my own two-axis chart:&lt;&#x2F;p&gt;

  &lt;figure class=&quot;center&quot; &gt;
    &lt;img src=&quot;&#x2F;imgs&#x2F;diagram.png&quot; &#x2F;&gt;
    
      &lt;figcaption class=&quot;center&quot;&gt;A two axis chart for &amp;quot;GC vs No GC&amp;quot; and &amp;quot;Scripting language vs Not a scripting language&amp;quot;.&lt;&#x2F;figcaption&gt;
    
  &lt;&#x2F;figure&gt;

</description>
      </item>
      <item>
          <title>Give Me Flexibility *and* Give Me Types.</title>
          <pubDate>Tue, 21 Feb 2023 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://capitalex.codeberg.page/give-me-flexibility-and-give-me-types/</link>
          <guid>https://capitalex.codeberg.page/give-me-flexibility-and-give-me-types/</guid>
          <description>&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;A defence of multiple inheritance (and things suspeciously close to it).&lt;&#x2F;em&gt;&lt;&#x2F;p&gt;
&lt;&#x2F;blockquote&gt;
&lt;p&gt;One day, you wake up with a strange impulse: &amp;quot;I want to make a game&amp;quot;. So, you 
fire up your editor and get typing away. You decide to reach for tools you 
know well: Lua and LÖVE (just go with okay). This project begins with a few 
basic functions:&lt;&#x2F;p&gt;
&lt;pre data-lang=&quot;lua&quot; style=&quot;background-color:#0f1419;color:#bfbab0;&quot; class=&quot;language-lua &quot;&gt;&lt;code class=&quot;language-lua&quot; data-lang=&quot;lua&quot;&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;local function &lt;&#x2F;span&gt;&lt;span style=&quot;color:#ffb454;&quot;&gt;hurt&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29718;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bfbab0cc;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29718;&quot;&gt;amount&lt;&#x2F;span&gt;&lt;span&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#39bae6;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;health &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#39bae6;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;health &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;+ &lt;&#x2F;span&gt;&lt;span&gt;amount
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;end
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;local function &lt;&#x2F;span&gt;&lt;span style=&quot;color:#ffb454;&quot;&gt;heal&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29718;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bfbab0cc;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29718;&quot;&gt;amount&lt;&#x2F;span&gt;&lt;span&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#39bae6;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;health &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#39bae6;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;health &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;+ &lt;&#x2F;span&gt;&lt;span&gt;amount
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;end
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;local function &lt;&#x2F;span&gt;&lt;span style=&quot;color:#ffb454;&quot;&gt;attack&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29718;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bfbab0cc;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29718;&quot;&gt;other&lt;&#x2F;span&gt;&lt;span&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;    other&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color:#ffb454;&quot;&gt;hurt&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#39bae6;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;weapon&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;power)
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;end
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;local function &lt;&#x2F;span&gt;&lt;span style=&quot;color:#ffb454;&quot;&gt;parry&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29718;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#bfbab0cc;&quot;&gt;, &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29718;&quot;&gt;other&lt;&#x2F;span&gt;&lt;span&gt;)
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;local &lt;&#x2F;span&gt;&lt;span&gt;power_diff &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#39bae6;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;weapon&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;power &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;- &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#39bae6;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;weapon&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;.&lt;&#x2F;span&gt;&lt;span&gt;power
&lt;&#x2F;span&gt;&lt;span&gt;
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;if &lt;&#x2F;span&gt;&lt;span&gt;power_diff &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;&amp;gt;= &lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29718;&quot;&gt;0 &lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;then
&lt;&#x2F;span&gt;&lt;span&gt;        other&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color:#ffb454;&quot;&gt;hurt&lt;&#x2F;span&gt;&lt;span&gt;(power_diff)
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;else
&lt;&#x2F;span&gt;&lt;span&gt;        &lt;&#x2F;span&gt;&lt;span style=&quot;font-style:italic;color:#39bae6;&quot;&gt;self&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;:&lt;&#x2F;span&gt;&lt;span style=&quot;color:#ffb454;&quot;&gt;hurt&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span style=&quot;color:#f29668;&quot;&gt;-&lt;&#x2F;span&gt;&lt;span&gt;power_diff)
&lt;&#x2F;span&gt;&lt;span&gt;    &lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;end
&lt;&#x2F;span&gt;&lt;span style=&quot;color:#ff7733;&quot;&gt;end
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
</description>
      </item>
    </channel>
</rss>
