<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: lleqsnoom</title>
    <description>The latest articles on DEV Community by lleqsnoom (@mielony).</description>
    <link>https://dev.to/mielony</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3892225%2Fe9071ef4-8334-4d42-8e9a-9d8ed1853f4b.png</url>
      <title>DEV Community: lleqsnoom</title>
      <link>https://dev.to/mielony</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mielony"/>
    <language>en</language>
    <item>
      <title>Sampling Parameters as Substances: An Honest Analogy</title>
      <dc:creator>lleqsnoom</dc:creator>
      <pubDate>Mon, 14 Sep 2026 06:11:00 +0000</pubDate>
      <link>https://dev.to/mielony/sampling-parameters-as-substances-an-honest-analogy-4ep6</link>
      <guid>https://dev.to/mielony/sampling-parameters-as-substances-an-honest-analogy-4ep6</guid>
      <description>&lt;h1&gt;
  
  
  Sampling Parameters as Substances: An Honest Analogy
&lt;/h1&gt;

&lt;p&gt;A strange question that works: &lt;em&gt;why does cannabis seem to make people more creative?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It doesn't make anyone smarter — it changes &lt;strong&gt;filtering&lt;/strong&gt;. The mind lets through associations it would normally reject. Distant ideas reach awareness more easily. That feels like creativity from the inside.&lt;/p&gt;

&lt;p&gt;Then someone asked a better question: &lt;em&gt;so it's like turning up a model's temperature?&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Yes. And that opens a door. Every sampling parameter in a language model sits on the same trade-off — &lt;strong&gt;how boldly the model picks its next word&lt;/strong&gt; — and each one has a rough equivalent in how a mind works.&lt;/p&gt;

&lt;h2&gt;
  
  
  The one trade-off behind everything
&lt;/h2&gt;

&lt;p&gt;A language model doesn't "know" what to say. At every step it produces a probability for every token it could write next, then picks one.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Pick the most likely word every time&lt;/strong&gt; and the text is safe, correct, boring. It loops.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Pick something unlikely often enough&lt;/strong&gt; and the text is surprising — sometimes brilliant, sometimes nonsense.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Every parameter below just moves the needle between those two poles.&lt;/p&gt;

&lt;h2&gt;
  
  
  The LLM pharmacopoeia
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnk0wxyt5cer3r5ndktqt.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fnk0wxyt5cer3r5ndktqt.png" alt="Sampling parameters mapped to mental states — temperature, top-p, context window, repetition penalty, max tokens" width="799" height="367"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Max tokens is the odd one out — it's a budget, not a mood. It never touches &lt;em&gt;which&lt;/em&gt; token gets picked, only how many are allowed.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why this matters now
&lt;/h2&gt;

&lt;p&gt;One caveat, because it's the most interesting part: &lt;strong&gt;the dial is disappearing.&lt;/strong&gt; The newest reasoning models expose no temperature at all. The industry stopped turning the knob up and started spending the compute on thinking instead.&lt;/p&gt;

&lt;p&gt;The full article develops the analogy parameter by parameter, with a careful caveat up front: these are analogies, not neuroscience. No substance has a &lt;code&gt;top_p&lt;/code&gt; value, and a model is not a mind with loose filters. The comparison earns its place because a person and a model both face a version of the same decision — choosing among thousands of possible next steps, and deciding how much to trust the obvious one.&lt;/p&gt;

&lt;p&gt;→ Read the full post on mielony.com.&lt;/p&gt;

</description>
      <category>llm</category>
      <category>ai</category>
      <category>explainers</category>
      <category>sampling</category>
    </item>
    <item>
      <title>Path-Tracing Doom on macOS: Metal Ray Tracing on Apple Silicon</title>
      <dc:creator>lleqsnoom</dc:creator>
      <pubDate>Sun, 13 Sep 2026 14:30:45 +0000</pubDate>
      <link>https://dev.to/mielony/path-tracing-doom-on-macos-metal-ray-tracing-on-apple-silicon-4dkb</link>
      <guid>https://dev.to/mielony/path-tracing-doom-on-macos-metal-ray-tracing-on-apple-silicon-4dkb</guid>
      <description>&lt;p&gt;&lt;strong&gt;There is no Vulkan ray tracing on macOS.&lt;/strong&gt; Apple ships Metal, so a Vulkan RT app runs only through &lt;strong&gt;MoltenVK&lt;/strong&gt; — and MoltenVK's ray tracing is an experimental, unmerged pull request, not an installable driver. On that missing layer, the 1993 game's path tracer runs: every pixel traced per frame, direct and bounced light, reflections, soft shadows — at ~44 FPS at 800p on an M4 Max.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fddmlww8xypyg7ad66sea.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Farticles%2Fddmlww8xypyg7ad66sea.jpg" alt="Path-traced Doom 2 on Apple Silicon" width="800" height="420"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The short version
&lt;/h2&gt;

&lt;p&gt;I ported path-traced Doom 2 to Apple Silicon on a patched MoltenVK with Metal RT. It translates SPIR-V to Metal Shading Language and runs the same RTGL1 path tracer and Doom port as the Intel Arc article. The port ships as a self-contained zip (game + path tracer + patched MoltenVK + SDL); you supply &lt;code&gt;Doom2.wad&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Download + every patch:&lt;/strong&gt; &lt;a href="https://mielony.com/blog/path-tracing-doom-on-macos/" rel="noopener noreferrer"&gt;https://mielony.com/blog/path-tracing-doom-on-macos/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Why macOS is different
&lt;/h2&gt;

&lt;p&gt;On Intel Arc the bug class was "assumptions about the device." macOS goes further — there is no Vulkan loader at all. The game links MoltenVK (Vulkan-on-Metal), which stops at Vulkan 1.2 graphics/compute. Ray tracing (&lt;code&gt;VK_KHR_acceleration_structure&lt;/code&gt;, &lt;code&gt;VK_KHR_ray_tracing_pipeline&lt;/code&gt;) exists only on an unmerged MoltenVK PR (#2771), which maps the Vulkan RT entry points onto Metal behind &lt;code&gt;MVK_CONFIG_ENABLE_EXPERIMENTAL_RAY_TRACING=1&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  What broke, layer by layer
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Driver.&lt;/strong&gt; MoltenVK fails &lt;code&gt;vkCreateDevice&lt;/code&gt; if &lt;em&gt;any&lt;/em&gt; requested feature is unsupported, and the path tracer asks for its full set up front — the patch clears every feature bit the device does not report. SPIRV-Cross's MSL backend lacked Metal types for ray-tracing built-ins like &lt;code&gt;gl_LaunchIDEXT&lt;/code&gt;, so every ray-generation shader failed to compile until a +21-line patch added them.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Renderer.&lt;/strong&gt; An sRGB swapchain double-encoded the already display-ready image; a missing barrier loaded stale tiles — 8×8 and 16×16 artifacts on a tile-based Apple GPU.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Game.&lt;/strong&gt; Metal surface from &lt;code&gt;SDL_Metal_CreateView&lt;/code&gt;, true fullscreen, HighDPI matching the panel backing store (3456×2234), and a green &lt;code&gt;FPS: n&lt;/code&gt; HUD counter.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Performance
&lt;/h2&gt;

&lt;p&gt;Doom 2 &lt;code&gt;demo1&lt;/code&gt; on the M4 Max: &lt;strong&gt;43.8 FPS at 800p&lt;/strong&gt;, &lt;strong&gt;51.7 FPS at 450p internal&lt;/strong&gt;. &lt;code&gt;rt_renderscale&lt;/code&gt; sets internal render height, and RT cost scales with it — not the window. For comparison, the Intel Arc A770 reaches 90 FPS at 450p internal on the same renderer.&lt;/p&gt;

&lt;h2&gt;
  
  
  Should you bother?
&lt;/h2&gt;

&lt;p&gt;Only if the Mac is the point. It runs 44–52 FPS at low internal resolutions, has no music, stands on an open unmerged PR, and needs a commercial Doom 2 IWAD plus a ModDB lighting addon. If nothing ties you to macOS, Arc/Linux or an RTX machine is smoother — same renderer either way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Full write-up with benchmarks, build scripts and every patch:&lt;/strong&gt; &lt;a href="https://mielony.com/blog/path-tracing-doom-on-macos/" rel="noopener noreferrer"&gt;https://mielony.com/blog/path-tracing-doom-on-macos/&lt;/a&gt;&lt;/p&gt;

</description>
      <category>doom</category>
      <category>rtx</category>
      <category>mac</category>
      <category>macos</category>
    </item>
  </channel>
</rss>
