<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://myoualid.github.io/feed.xml" rel="self" type="application/atom+xml" /><link href="https://myoualid.github.io/" rel="alternate" type="text/html" /><updated>2026-04-13T21:47:56+01:00</updated><id>https://myoualid.github.io/feed.xml</id><title type="html">Fleeting thoughts</title><subtitle>Why so serious? Laugh while you can. These are fleeting thoughts in time and space, living as a digital capsule.</subtitle><entry><title type="html">Welcome to Jekyll!</title><link href="https://myoualid.github.io/jekyll/update/2026/04/11/welcome-to-jekyll.html" rel="alternate" type="text/html" title="Welcome to Jekyll!" /><published>2026-04-11T16:07:56+01:00</published><updated>2026-04-11T16:07:56+01:00</updated><id>https://myoualid.github.io/jekyll/update/2026/04/11/welcome-to-jekyll</id><content type="html" xml:base="https://myoualid.github.io/jekyll/update/2026/04/11/welcome-to-jekyll.html"><![CDATA[<p>You’ll find this post in your <code class="language-plaintext highlighter-rouge">_posts</code> directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run <code class="language-plaintext highlighter-rouge">jekyll serve</code>, which launches a web server and auto-regenerates your site when a file is updated.</p>

<p>Jekyll requires blog post files to be named according to the following format:</p>

<p><code class="language-plaintext highlighter-rouge">YEAR-MONTH-DAY-title.MARKUP</code></p>

<p>Where <code class="language-plaintext highlighter-rouge">YEAR</code> is a four-digit number, <code class="language-plaintext highlighter-rouge">MONTH</code> and <code class="language-plaintext highlighter-rouge">DAY</code> are both two-digit numbers, and <code class="language-plaintext highlighter-rouge">MARKUP</code> is the file extension representing the format used in the file. After that, include the necessary front matter. Take a look at the source for this post to get an idea about how it works.</p>

<p>Jekyll also offers powerful support for code snippets:</p>

<figure class="highlight"><pre><code class="language-ruby" data-lang="ruby"><span class="k">def</span> <span class="nf">print_hi</span><span class="p">(</span><span class="nb">name</span><span class="p">)</span>
  <span class="nb">puts</span> <span class="s2">"Hi, </span><span class="si">#{</span><span class="nb">name</span><span class="si">}</span><span class="s2">"</span>
<span class="k">end</span>
<span class="n">print_hi</span><span class="p">(</span><span class="s1">'Tom'</span><span class="p">)</span>
<span class="c1">#=&gt; prints 'Hi, Tom' to STDOUT.</span></code></pre></figure>

<p>Check out the <a href="https://jekyllrb.com/docs/home">Jekyll docs</a> for more info on how to get the most out of Jekyll. File all bugs/feature requests at <a href="https://github.com/jekyll/jekyll">Jekyll’s GitHub repo</a>. If you have questions, you can ask them on <a href="https://talk.jekyllrb.com/">Jekyll Talk</a>.</p>]]></content><author><name></name></author><category term="jekyll" /><category term="update" /><summary type="html"><![CDATA[You’ll find this post in your _posts directory. Go ahead and edit it and re-build the site to see your changes. You can rebuild the site in many different ways, but the most common way is to run jekyll serve, which launches a web server and auto-regenerates your site when a file is updated.]]></summary></entry><entry><title type="html">Agentic AI</title><link href="https://myoualid.github.io/learning/2026/04/11/Agentic_AI.html" rel="alternate" type="text/html" title="Agentic AI" /><published>2026-04-11T11:59:00+01:00</published><updated>2026-04-11T11:59:00+01:00</updated><id>https://myoualid.github.io/learning/2026/04/11/Agentic_AI</id><content type="html" xml:base="https://myoualid.github.io/learning/2026/04/11/Agentic_AI.html"><![CDATA[<h2 id="how-does-claude-code-work">How does Claude Code work</h2>

<p>Github repository on Claude Code Architecture:</p>

<!-- https://github.com/alejandrobalderas/claude-code-from-source/tree/main -->]]></content><author><name>Yassine Oualid</name></author><category term="learning" /><summary type="html"><![CDATA[How does Claude Code work]]></summary></entry><entry><title type="html">mcp</title><link href="https://myoualid.github.io/learning/2026/04/11/MCP.html" rel="alternate" type="text/html" title="mcp" /><published>2026-04-11T11:59:00+01:00</published><updated>2026-04-11T11:59:00+01:00</updated><id>https://myoualid.github.io/learning/2026/04/11/MCP</id><content type="html" xml:base="https://myoualid.github.io/learning/2026/04/11/MCP.html"><![CDATA[<h2 id="what-is-mcp-">What is MCP ?</h2>

<p>Client: llm model
Server: external tools</p>

<p>Works in the loop and enables concurent tools running!</p>]]></content><author><name>Yassine Oualid</name></author><category term="learning" /><summary type="html"><![CDATA[What is MCP ?]]></summary></entry><entry><title type="html">Game Dev Optimisation</title><link href="https://myoualid.github.io/learning/2026/04/11/GameDev-Optimisation.html" rel="alternate" type="text/html" title="Game Dev Optimisation" /><published>2026-04-11T11:59:00+01:00</published><updated>2026-04-11T11:59:00+01:00</updated><id>https://myoualid.github.io/learning/2026/04/11/GameDev%20Optimisation</id><content type="html" xml:base="https://myoualid.github.io/learning/2026/04/11/GameDev-Optimisation.html"><![CDATA[<p>I have started writing an article on techniques used for optimising game performance. These techniques are useful for any 3D application, not just games. The Gaming industry has spent decades solving how to render your game screen without lag.
Everything must feel smooth.</p>

<p>Let’s look at the stratetgies that are implemented from a systemic point of view, regardles of coding language or framework used. These are elementary principles.</p>

<h2 id="measuring-performance">Measuring performance:</h2>

<p>In sofwtare engineering terms, this is called profiling. We must measure what needs to be optimised.</p>

<p>Our target performance :</p>

<ul>
  <li>60 Frames per Second or 120+ FPS for Virtual reality.</li>
  <li>CPU/GPU frame time breakdown</li>
  <li>draw calls ( &lt; 500-1000)</li>
  <li>triangle/pixel count,</li>
  <li>overdraw</li>
  <li>memory usage,</li>
  <li>GC pauses</li>
</ul>

<p>Profiling is usually done on target device, under different loads, and pushing it for worst-case loads.</p>

<h3 id="performance-bugets">Performance Bugets</h3>

<p>A performance budget is the amount of work or usage that you allocate to a speicifc operation.</p>

<ul>
  <li>For example:  30% usage CPU for rendering commands.</li>
</ul>

<p>This then tells you that if performance budget is exceeded, you must make the operators more efficient.</p>

<p>There are a range of situations that affect performance.</p>

<p>We must measure a couple of metrics to understand when bottlenecks occur, and</p>

<p>One must know what bottlenecks exist in different scenarios, and tackle these.</p>

<p>need to</p>

<h2 id="i---loading-performance">I - Loading performance:</h2>

<h3 id="sidecar-caching">“sidecar caching”</h3>

<h3 id="geometry-buffers--per-model-buffers">Geometry Buffers / per model buffers</h3>

<h3 id="per-batch-buffers">Per batch buffers</h3>

<h3 id="progressively-loading-geometry-during-streaming">Progressively loading geometry during streaming</h3>

<h2 id="ii---rendering-performance">II - Rendering performance</h2>

<h3 id="bvh-treees">BVH Treees</h3>

<h3 id="merging-geometry-and-selection-from-faces-that-will-be-rendered">Merging geometry and selection from “faces that will be rendered”</h3>

<h3 id="frustum-culling">Frustum Culling</h3>

<p>“Per object frustum culling with glMultiDrawElements” -&gt;  Collapse per-mesh draws into glMultiDrawElementsIndirect</p>

<!-- https://github.com/alejandrobalderas/claude-code-from-source/tree/main -->]]></content><author><name></name></author><category term="learning" /><summary type="html"><![CDATA[I have started writing an article on techniques used for optimising game performance. These techniques are useful for any 3D application, not just games. The Gaming industry has spent decades solving how to render your game screen without lag. Everything must feel smooth.]]></summary></entry></feed>