Skip to content

Commit

Permalink
fix typo
Browse files Browse the repository at this point in the history
  • Loading branch information
andyleclair committed Dec 30, 2024
1 parent 1e79e7e commit b2e7d6d
Show file tree
Hide file tree
Showing 6 changed files with 474 additions and 477 deletions.
348 changes: 174 additions & 174 deletions output/posts/2024/09-09-gltest.html

Large diffs are not rendered by default.

192 changes: 96 additions & 96 deletions output/posts/2024/09-10-opengl-part-2.html

Large diffs are not rendered by default.

362 changes: 181 additions & 181 deletions output/posts/2024/09-11-opengl-part-3.html

Large diffs are not rendered by default.

46 changes: 23 additions & 23 deletions output/posts/2024/11-15-how-to-do-a-preload-good.html
Original file line number Diff line number Diff line change
Expand Up @@ -36,44 +36,44 @@ <h2>
How do you solve it? More functions!</p>
<h2>
The Solution</h2>
<pre><code class="makeup elixir"><span class="kd">def</span><span class="w"> </span><span class="nf">get_thing</span><span class="p" data-group-id="6084835655-1">(</span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">opts</span><span class="w"> </span><span class="o">\\</span><span class="w"> </span><span class="p" data-group-id="6084835655-2">[</span><span class="p" data-group-id="6084835655-2">]</span><span class="p" data-group-id="6084835655-1">)</span><span class="w"> </span><span class="k" data-group-id="6084835655-3">do</span><span class="w">
</span><span class="n">from</span><span class="p" data-group-id="6084835655-4">(</span><span class="n">t</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="nc">Thing</span><span class="p">,</span><span class="w"> </span><span class="ss">where</span><span class="p">:</span><span class="w"> </span><span class="n">t</span><span class="o">.</span><span class="n">id</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="o">^</span><span class="n">id</span><span class="p" data-group-id="6084835655-4">)</span><span class="w">
</span><span class="o">|&gt;</span><span class="w"> </span><span class="n">preload</span><span class="p" data-group-id="6084835655-5">(</span><span class="n">opts</span><span class="p" data-group-id="6084835655-6">[</span><span class="ss">:preload</span><span class="p" data-group-id="6084835655-6">]</span><span class="p" data-group-id="6084835655-5">)</span><span class="w">
</span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">one</span><span class="p" data-group-id="6084835655-7">(</span><span class="p" data-group-id="6084835655-7">)</span><span class="w">
</span><span class="k" data-group-id="6084835655-3">end</span><span class="w">
<pre><code class="makeup elixir"><span class="kd">def</span><span class="w"> </span><span class="nf">get_thing</span><span class="p" data-group-id="0506537343-1">(</span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">opts</span><span class="w"> </span><span class="o">\\</span><span class="w"> </span><span class="p" data-group-id="0506537343-2">[</span><span class="p" data-group-id="0506537343-2">]</span><span class="p" data-group-id="0506537343-1">)</span><span class="w"> </span><span class="k" data-group-id="0506537343-3">do</span><span class="w">
</span><span class="n">from</span><span class="p" data-group-id="0506537343-4">(</span><span class="n">t</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="nc">Thing</span><span class="p">,</span><span class="w"> </span><span class="ss">where</span><span class="p">:</span><span class="w"> </span><span class="n">t</span><span class="o">.</span><span class="n">id</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="o">^</span><span class="n">id</span><span class="p" data-group-id="0506537343-4">)</span><span class="w">
</span><span class="o">|&gt;</span><span class="w"> </span><span class="n">preload</span><span class="p" data-group-id="0506537343-5">(</span><span class="n">opts</span><span class="p" data-group-id="0506537343-6">[</span><span class="ss">:preload</span><span class="p" data-group-id="0506537343-6">]</span><span class="p" data-group-id="0506537343-5">)</span><span class="w">
</span><span class="o">|&gt;</span><span class="w"> </span><span class="nc">Repo</span><span class="o">.</span><span class="n">one</span><span class="p" data-group-id="0506537343-7">(</span><span class="p" data-group-id="0506537343-7">)</span><span class="w">
</span><span class="k" data-group-id="0506537343-3">end</span><span class="w">

</span><span class="kd">defp</span><span class="w"> </span><span class="nf">preload</span><span class="p" data-group-id="6084835655-8">(</span><span class="n">query</span><span class="p" data-group-id="6084835655-8">)</span><span class="p">,</span><span class="w"> </span><span class="ss">do</span><span class="p">:</span><span class="w"> </span><span class="n">preload</span><span class="p" data-group-id="6084835655-9">(</span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="no">true</span><span class="p" data-group-id="6084835655-9">)</span><span class="w">
</span><span class="kd">defp</span><span class="w"> </span><span class="nf">preload</span><span class="p" data-group-id="6084835655-10">(</span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="6084835655-10">)</span><span class="p">,</span><span class="w"> </span><span class="ss">do</span><span class="p">:</span><span class="w"> </span><span class="n">query</span><span class="w">
</span><span class="kd">defp</span><span class="w"> </span><span class="nf">preload</span><span class="p" data-group-id="0506537343-8">(</span><span class="n">query</span><span class="p" data-group-id="0506537343-8">)</span><span class="p">,</span><span class="w"> </span><span class="ss">do</span><span class="p">:</span><span class="w"> </span><span class="n">preload</span><span class="p" data-group-id="0506537343-9">(</span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="no">true</span><span class="p" data-group-id="0506537343-9">)</span><span class="w">
</span><span class="kd">defp</span><span class="w"> </span><span class="nf">preload</span><span class="p" data-group-id="0506537343-10">(</span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="no">nil</span><span class="p" data-group-id="0506537343-10">)</span><span class="p">,</span><span class="w"> </span><span class="ss">do</span><span class="p">:</span><span class="w"> </span><span class="n">query</span><span class="w">

</span><span class="kd">defp</span><span class="w"> </span><span class="nf">preload</span><span class="p" data-group-id="6084835655-11">(</span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="no">true</span><span class="p" data-group-id="6084835655-11">)</span><span class="w"> </span><span class="k" data-group-id="6084835655-12">do</span><span class="w">
</span><span class="kd">defp</span><span class="w"> </span><span class="nf">preload</span><span class="p" data-group-id="0506537343-11">(</span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="no">true</span><span class="p" data-group-id="0506537343-11">)</span><span class="w"> </span><span class="k" data-group-id="0506537343-12">do</span><span class="w">
</span><span class="n">from</span><span class="w"> </span><span class="n">q</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">query</span><span class="p">,</span><span class="w">
</span><span class="ss">left_join</span><span class="p">:</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">assoc</span><span class="p" data-group-id="6084835655-13">(</span><span class="n">q</span><span class="p">,</span><span class="w"> </span><span class="ss">:thing</span><span class="p" data-group-id="6084835655-13">)</span><span class="p">,</span><span class="w">
</span><span class="ss">left_join</span><span class="p">:</span><span class="w"> </span><span class="n">s</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">assoc</span><span class="p" data-group-id="6084835655-14">(</span><span class="n">t</span><span class="p">,</span><span class="w"> </span><span class="ss">:sub_thing</span><span class="p" data-group-id="6084835655-14">)</span><span class="p">,</span><span class="w">
</span><span class="ss">preload</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6084835655-15">[</span><span class="w">
</span><span class="ss">thing</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6084835655-16">{</span><span class="n">t</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="6084835655-17">[</span><span class="ss">sub_thing</span><span class="p">:</span><span class="w"> </span><span class="n">s</span><span class="p" data-group-id="6084835655-17">]</span><span class="p" data-group-id="6084835655-16">}</span><span class="w">
</span><span class="p" data-group-id="6084835655-15">]</span><span class="p">,</span><span class="w">
</span><span class="ss">order_by</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="6084835655-18">[</span><span class="ss">asc</span><span class="p">:</span><span class="w"> </span><span class="n">t</span><span class="o">.</span><span class="n">index</span><span class="p" data-group-id="6084835655-18">]</span><span class="w">
</span><span class="ss">left_join</span><span class="p">:</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">assoc</span><span class="p" data-group-id="0506537343-13">(</span><span class="n">q</span><span class="p">,</span><span class="w"> </span><span class="ss">:thing</span><span class="p" data-group-id="0506537343-13">)</span><span class="p">,</span><span class="w">
</span><span class="ss">left_join</span><span class="p">:</span><span class="w"> </span><span class="n">s</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">assoc</span><span class="p" data-group-id="0506537343-14">(</span><span class="n">t</span><span class="p">,</span><span class="w"> </span><span class="ss">:sub_thing</span><span class="p" data-group-id="0506537343-14">)</span><span class="p">,</span><span class="w">
</span><span class="ss">preload</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0506537343-15">[</span><span class="w">
</span><span class="ss">thing</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0506537343-16">{</span><span class="n">t</span><span class="p">,</span><span class="w"> </span><span class="p" data-group-id="0506537343-17">[</span><span class="ss">sub_thing</span><span class="p">:</span><span class="w"> </span><span class="n">s</span><span class="p" data-group-id="0506537343-17">]</span><span class="p" data-group-id="0506537343-16">}</span><span class="w">
</span><span class="p" data-group-id="0506537343-15">]</span><span class="p">,</span><span class="w">
</span><span class="ss">order_by</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="0506537343-18">[</span><span class="ss">asc</span><span class="p">:</span><span class="w"> </span><span class="n">t</span><span class="o">.</span><span class="n">index</span><span class="p" data-group-id="0506537343-18">]</span><span class="w">
</span><span class="p">]</span><span class="w">
</span><span class="k" data-group-id="6084835655-12">end</span><span class="w">
</span><span class="k" data-group-id="0506537343-12">end</span><span class="w">

</span><span class="kd">defp</span><span class="w"> </span><span class="nf">preload</span><span class="p" data-group-id="6084835655-19">(</span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="n">preloads</span><span class="p" data-group-id="6084835655-19">)</span><span class="w"> </span><span class="k" data-group-id="6084835655-20">do</span><span class="w">
</span><span class="kd">defp</span><span class="w"> </span><span class="nf">preload</span><span class="p" data-group-id="0506537343-19">(</span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="n">preloads</span><span class="p" data-group-id="0506537343-19">)</span><span class="w"> </span><span class="k" data-group-id="0506537343-20">do</span><span class="w">
</span><span class="n">from</span><span class="w"> </span><span class="n">q</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="ss">preload</span><span class="p">:</span><span class="w"> </span><span class="o">^</span><span class="n">preloads</span><span class="w">
</span><span class="k" data-group-id="6084835655-20">end</span></code></pre>
</span><span class="k" data-group-id="0506537343-20">end</span></code></pre>
<p>
Edit: I made a mistake here originally. Thanks to <a href="https://twitter.com/atomkirk">@AtomKirk</a> for pointing it out!</p>
<p>
What I had originally was:</p>
<pre><code class="makeup elixir"><span class="kd">def</span><span class="w"> </span><span class="nf">preload</span><span class="p" data-group-id="3439478271-1">(</span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="no">true</span><span class="p" data-group-id="3439478271-1">)</span><span class="w"> </span><span class="k" data-group-id="3439478271-2">do</span><span class="w">
</span><span class="n">from</span><span class="w"> </span><span class="n">q</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="ss">preload</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3439478271-3">[</span><span class="w">
<pre><code class="makeup elixir"><span class="kd">def</span><span class="w"> </span><span class="nf">preload</span><span class="p" data-group-id="4678292675-1">(</span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="no">true</span><span class="p" data-group-id="4678292675-1">)</span><span class="w"> </span><span class="k" data-group-id="4678292675-2">do</span><span class="w">
</span><span class="n">from</span><span class="w"> </span><span class="n">q</span><span class="w"> </span><span class="ow">in</span><span class="w"> </span><span class="n">query</span><span class="p">,</span><span class="w"> </span><span class="ss">preload</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4678292675-3">[</span><span class="w">
</span><span class="ss">:association</span><span class="p">,</span><span class="w">
</span><span class="ss">other_assoc</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3439478271-4">[</span><span class="ss">:sub_assoc</span><span class="p" data-group-id="3439478271-4">]</span><span class="w">
</span><span class="p" data-group-id="3439478271-3">]</span><span class="w">
</span><span class="k" data-group-id="3439478271-2">end</span></code></pre>
</span><span class="ss">other_assoc</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="4678292675-4">[</span><span class="ss">:sub_assoc</span><span class="p" data-group-id="4678292675-4">]</span><span class="w">
</span><span class="p" data-group-id="4678292675-3">]</span><span class="w">
</span><span class="k" data-group-id="4678292675-2">end</span></code></pre>
<p>
However, this is incorrect. The correct way to do this is to use the <code class="inline">left_join</code> with <code class="inline">assoc</code> functions.</p>
<p>
What I described originally was how <a href="https://ash-hq.org/">Ash</a> does it. In Ash, you’d do something like:</p>
<pre><code class="makeup elixir"><span class="nc">Ash</span><span class="o">.</span><span class="n">get!</span><span class="p" data-group-id="3871777538-1">(</span><span class="nc">Thing</span><span class="p">,</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="ss">load</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3871777538-2">[</span><span class="ss">:association</span><span class="p">,</span><span class="w"> </span><span class="ss">other_assoc</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="3871777538-3">[</span><span class="ss">:sub_assoc</span><span class="p" data-group-id="3871777538-3">]</span><span class="p" data-group-id="3871777538-2">]</span><span class="p" data-group-id="3871777538-1">)</span></code></pre>
<pre><code class="makeup elixir"><span class="nc">Ash</span><span class="o">.</span><span class="n">get!</span><span class="p" data-group-id="1896135127-1">(</span><span class="nc">Thing</span><span class="p">,</span><span class="w"> </span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="ss">load</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1896135127-2">[</span><span class="ss">:association</span><span class="p">,</span><span class="w"> </span><span class="ss">other_assoc</span><span class="p">:</span><span class="w"> </span><span class="p" data-group-id="1896135127-3">[</span><span class="ss">:sub_assoc</span><span class="p" data-group-id="1896135127-3">]</span><span class="p" data-group-id="1896135127-2">]</span><span class="p" data-group-id="1896135127-1">)</span></code></pre>
<p>
For a more explicit example, check out <a href="https://github.com/andyleclair/garage/blob/main/lib/garage_web/live/builds_live/show.ex#L197">this code here</a></p>

Expand Down
1 change: 0 additions & 1 deletion output/posts/2024/12-30-adding-rss-to-a-static-site.html
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ <h3><a href="https://www.youtube.com/watch?v=rVpR_WTRhmc">Related Listening</a><
I’m going to push what I have so far and close the issue, but I’ll be back with another post about getting fancy with the XML generation.</p>
<p>
Check out the PR <a href="https://github.com/andyleclair/andyleclair.github.io/pull/2">here</a> to see what the code looks like. </p>
<pre><code></code></pre>

</article>

Expand Down
2 changes: 0 additions & 2 deletions posts/2024/12-30-adding-rss-to-a-static-site.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,5 +18,3 @@ I think it will also be the time I finally get around to having a real dev serve
I'm going to push what I have so far and close the issue, but I'll be back with another post about getting fancy with the XML generation.

Check out the PR [here](https://github.com/andyleclair/andyleclair.github.io/pull/2) to see what the code looks like.
```

0 comments on commit b2e7d6d

Please sign in to comment.