<script data-pm-proxy="intercept"></script><?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:googleplay="http://www.google.com/schemas/play-podcasts/1.0"><channel><title><![CDATA[Barn Lab]]></title><description><![CDATA[A weekly roundup of topics, projects, and news that tingle the mind and scratch the itch for learning about obscure curiosities.]]></description><link>https://warped3.substack.com</link><image><url>https://substackcdn.com/image/fetch/$s_!Y3ue!,w_256,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a66-a476-404c-a8f4-bea7082bbfe9_500x500.png</url><title>Barn Lab</title><link>https://warped3.substack.com</link></image><generator>Substack</generator><lastBuildDate>Fri, 04 Sep 2026 13:36:10 GMT</lastBuildDate><atom:link href="/__u/warped3.substack.com/feed" rel="self" type="application/rss+xml"/><copyright><![CDATA[Ivan Rogoz]]></copyright><language><![CDATA[en]]></language><webMaster><![CDATA[warped3@substack.com]]></webMaster><itunes:owner><itunes:email><![CDATA[warped3@substack.com]]></itunes:email><itunes:name><![CDATA[Ivan Rogoz]]></itunes:name></itunes:owner><itunes:author><![CDATA[Ivan Rogoz]]></itunes:author><googleplay:owner><![CDATA[warped3@substack.com]]></googleplay:owner><googleplay:email><![CDATA[warped3@substack.com]]></googleplay:email><googleplay:author><![CDATA[Ivan Rogoz]]></googleplay:author><itunes:block><![CDATA[Yes]]></itunes:block><item><title><![CDATA[Link Shell Extension]]></title><description><![CDATA[Most Windows users know two ways to put something in another folder: copy it or create a shortcut, but there&#8217;s a different, more powerful way that Windows supports but never explains]]></description><link>https://warped3.substack.com/p/link-shell-extension</link><guid isPermaLink="false">https://warped3.substack.com/p/link-shell-extension</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 28 Aug 2026 19:02:00 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/7bfd67d3-e660-4e30-9dfc-dcdf399b54e8_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My hard drive is littered with different AI models in different folders, and when doing a WizTree overview, I got a reality check. Over 400 GB in just 30 files, of which 20 were copies in different folders. It&#8217;s just that different examples of usage expected the models to be under its folder structure. <a href="https://pinokio.co/">Pinokio</a> solves this better, and still, multi gigabyte model files just keep piling up. </p><div class="callout-block" data-callout="true"><p>Most Windows users know two ways to put something in another folder: copy it or create a shortcut, but there&#8217;s a different, more powerful way that Windows supports but never explains, not without delving into Command Prompt and writing sausages of full file or folder paths. </p></div><h4>That way is &#8230; Links. </h4><p>This concept did not originate with Windows. Not even close. It existed since the early days of operating systems and goes back to Unix. Historical Unix filesystems were designed around the idea that directory entries refer to filesystem objects rather than the filename somehow being inseparable from the data.</p><p>The classic Unix &#8216;<strong>ln</strong>&#8217; command creates another link to an existing file. Hard links were part of Unix long before symbolic links appeared. </p><p>You can make a file appear in several folders without creating several copies. You can make one directory appear somewhere completely different on the disk. You can make software believe that a folder exists at &#8216;<strong>C:\Something</strong>&#8217; while the actual data lives on &#8216;<strong>D:\Storage</strong>&#8217;. You can even construct entire duplicate-looking directory trees that consume almost no additional disk space.</p><p>The strange part is that Windows Explorer has never exposed that option to the user. The most the user can do is just copy or create a shortcut, and a shortcut is not a link to the file. A Windows shortcut is essentially a small file containing information about another file, folder, or application. For example, a &#8216;<strong>Photoshop.lnk</strong>&#8217; on your desktop can point to &#8216;<strong>C:\Program Files\Adobe\Photoshop\Photoshop.exe</strong>&#8217;, but the shortcut itself is a real &#8216;.<strong>lnk</strong>&#8217; file. Explorer understands it and opens the target when you double-click it. But the operating system does not generally pretend that the shortcut is the target. That distinction matters. If software expects &#8216;<strong>C:\MyProgram\Data</strong>&#8217;, you normally cannot create &#8216;<strong>C:\MyProgram\Data.lnk</strong>&#8217; pointing elsewhere and expect the application to behave as though &#8216;<strong>Data</strong>&#8217; were a real directory.</p><p>The application may not understand Windows shortcuts at all. Shortcuts are primarily a shell/user-interface feature. Filesystem links operate at a lower level.</p><p>That is exactly the problem <a href="https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html">Link Shell Extension</a>, by Hermann Schinagl, solves.</p><p>Link Shell Extension adds hard links, junctions, symbolic links, volume mount points, link-aware cloning, and several more advanced operations directly to Windows Explorer&#8217;s context menu. Instead of opening a command prompt typing  &#8216;<strong>mklink</strong>&#8217;, &#8216;<strong>fsutil</strong>&#8217; or other commands, and remembering the full file paths, you can pick a file or folder, go somewhere else, and choose what kind of link you want to create.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!pD_v!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!pD_v!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png 424w, /__u/substackcdn.com/image/fetch/$s_!pD_v!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png 848w, /__u/substackcdn.com/image/fetch/$s_!pD_v!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pD_v!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!pD_v!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png" width="505" height="497" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:497,&quot;width&quot;:505,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Pick Link Source&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Pick Link Source" title="Pick Link Source" srcset="/__u/substackcdn.com/image/fetch/$s_!pD_v!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png 424w, /__u/substackcdn.com/image/fetch/$s_!pD_v!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png 848w, /__u/substackcdn.com/image/fetch/$s_!pD_v!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png 1272w, /__u/substackcdn.com/image/fetch/$s_!pD_v!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7d823ab7-47fb-40e6-8835-6ecc7a02ac9f_505x497.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!aytH!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!aytH!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png 424w, /__u/substackcdn.com/image/fetch/$s_!aytH!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png 848w, /__u/substackcdn.com/image/fetch/$s_!aytH!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png 1272w, /__u/substackcdn.com/image/fetch/$s_!aytH!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!aytH!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png" width="533" height="642" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:642,&quot;width&quot;:533,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Drop Hardlink&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Drop Hardlink" title="Drop Hardlink" srcset="/__u/substackcdn.com/image/fetch/$s_!aytH!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png 424w, /__u/substackcdn.com/image/fetch/$s_!aytH!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png 848w, /__u/substackcdn.com/image/fetch/$s_!aytH!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png 1272w, /__u/substackcdn.com/image/fetch/$s_!aytH!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3020524e-5611-4a01-b73a-dfc7c1036953_533x642.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Now, there are different kinds of links, and for a full overview, check out the Link Shell Extension page for more details, but the basics are:</p><h3>Hard Links</h3><p>A hard link is probably the most conceptually interesting type.</p><p>Suppose we have &#8216;<strong>D:\Photos\master.jpg</strong>&#8217; and create a hard link to &#8216;<strong>D:\Website\images\hero.jpg</strong>&#8217;. There aren&#8217;t now two JPEG files. There is still one underlying file. It simply has two directory entries pointing to it. Microsoft describes an NTFS hard link as another directory entry referencing the same file. Programs can open any of those names and modify the file, and the file remains in the filesystem until its final hard link has been removed.</p><div class="callout-block" data-callout="true"><p>This leads to an important consequence. There isn&#8217;t really an &#8220;original&#8221; and a &#8220;hard-link copy&#8221;. After the second link is created, both names are peers. But if you delete &#8216;<strong>master.jpg</strong>&#8217;, the data does not disappear as long as &#8216;<strong>hero.jpg</strong>&#8217; still exists. The filesystem simply removes one name for that data.</p></div><p>Hard links have an important limitation, which is that they must remain on the same filesystem volume, so no hard links between drives. </p><p>For ordinary Windows use, hard links are generally used for files, not directories.</p><h4>Symbolic Links</h4><p>Symbolic links, or usually shortened to symlinks, are the closest Windows equivalent to the Unix links most Linux users know, and are the closest to how actual shortcuts should work or how people think they work. A symbolic link is itself a filesystem object containing a reference to another path. Unlike a hard link, it does not refer directly to the same underlying file record. It refers to another path. That difference gives symlinks much greater flexibility.</p><p>Windows symbolic links can point to either files or directories, and Microsoft supports both absolute and relative symbolic-link targets. They can also target remote paths.</p><p>Symbolic links arrived natively in NTFS with Windows Vista. Microsoft explicitly describes them as having been implemented partly to improve migration and compatibility with Unix style systems.</p><p>Hard Link vs Symbolic Link</p><p>The distinction becomes much clearer if the target disappears. If there&#8217;s a hard link to a file <strong>A</strong> called <strong>B</strong> and you delete <strong>A</strong>, <strong>B</strong> is still pointing to the same data, but with a symbolic link, if you delete <strong>A</strong>, then <strong>B</strong> stops working as there is no longer a location <strong>A</strong> to which it was pointing. And <strong>B</strong> becomes a dangling link.</p><div class="callout-block" data-callout="true"><p>To sum up, Hard Links point to actual data, creating more than one name for the same data on the drive, while a symlink creates a shortcut to that data (not to be confused with a Windows shortcut, as explained earlier). </p></div><p>There are other types of links, but they are more specialized or just obsolete and superseded by symlinks. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!c2DT!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!c2DT!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!c2DT!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!c2DT!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!c2DT!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!c2DT!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/b8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1421196,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/212954821?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!c2DT!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!c2DT!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!c2DT!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!c2DT!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fb8e1a874-ee95-4acb-bb78-1ed88cb7ec72_1672x941.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><h3>So Why Doesn&#8217;t Windows Explorer Just Have a &#8220;Create Link&#8221; Button?</h3><p>This is where things become more interesting. The underlying filesystem can do all of this. Windows itself uses these mechanisms. Microsoft provides APIs and command-line utilities for them.  There is no single official Microsoft statement saying &#8220;we deliberately hid filesystem links from Explorer for reason X&#8221;, so the following is an interpretation based on the architecture and historical behavior of Windows.</p><p>There are several likely reasons.</p><h4>Windows Was Built Around a Different User Model</h4><p>Unix exposed filesystem concepts directly to technically oriented users very early. Commands such as &#8216;ln&#8217;, &#8216;mount&#8217;, &#8216;chmod&#8217;, and others were fundamental system-administration tools.</p><p>Windows evolved with a much stronger graphical abstraction. For ordinary users, a &#8216;file&#8217; or a &#8216;folder &#8217; was a deliberately easier concept than filesystem object, directory entry, relative symbolic target, and so on. That abstraction was probably beneficial for most users. But power users lost convenient access to some very capable filesystem features.</p><h4>Links Can Produce Very Surprising Behaviour</h4><p>Hard links can cause confusion because Explorer may show multiple files with full file sizes even though those names reference the same underlying content. Microsoft specifically warns that hard links and reparse points can make disk-space calculations confusing.</p><p>Backup software also has to understand links correctly. If it blindly follows a junction, it may copy the same directory twice. If links form loops, na&#239;ve recursive software can get into serious trouble.</p><p>So this isn&#8217;t merely Microsoft hiding an obvious button. Links genuinely introduce semantics users and applications need to understand, but if you are just linking two folders, there should not be an issue.</p><h4>Security</h4><p>Symbolic links can also create security problems when applications are not written to handle them safely. One process may believe it is writing into a harmless directory while a link redirects the operation somewhere unexpected. Microsoft therefore historically treated symbolic-link creation as a privileged operation.</p><p>Modern Windows has become friendlier to developer symlink workflows, but the historical security model helps explain why symbolic links never behaved quite as casually as Unix users might expect.</p><p>---</p><h3>Enter Link Shell Extension</h3><p>Once installed, it adds link operations directly to Explorer. The basic workflow is wonderfully simple. Select something, right click and choose &#8216;Pick Link Source&#8217;. Then go to another directory, open the context menu, and choose something such as &#8216;Drop HardLink&#8217; or Drop As...</p><ul><li><p>Junction</p></li><li><p>Symbolic Link</p></li><li><p>HardLink Clone</p></li><li><p>Symbolic Link Clone</p></li></ul><p>The extension also supports drag-and-drop creation. It is one of those utilities that makes a hidden filesystem capability suddenly feel like a normal Windows feature.</p><p></p><h4>Moving Huge Application Data Off C:</h4><p>Another excellent use case is moving storage without changing what an application sees. Suppose a program stores 500 GB in:</p><p>C:\Users\Ivan\AppData\Local\SomeApplication\Data</p><p>Move it to:</p><p>D:\ApplicationData\SomeApplication</p><p>and create a symlink at the original location.</p><p>The application continues requesting:</p><p>C:\Users\Ivan\AppData\Local\SomeApplication\Data</p><p>while NTFS transparently redirects those operations to D: \.</p><p>This technique can be useful for:</p><ul><li><p>game libraries</p></li><li><p>model files</p></li><li><p>caches</p></li><li><p>development tools</p></li><li><p>giant SDKs</p></li><li><p>application databases</p></li><li><p>media indexes</p></li><li><p>software that refuses to let you change its data directory</p></li></ul><p>Obviously, anything involving application databases or actively used data should be moved carefully and with the application stopped.</p><p>---</p><p># Shared Assets Between Projects</p><p>Imagine five projects all need:</p><p>textures\</p><p>models\</p><p>samples\</p><p>reference\</p><p>Copying the assets creates five independent versions.</p><p>A junction or symlink can instead point every project toward:</p><p>D:\SharedAssets</p><p>For example:</p><p>Project-A\Assets &#9472;&#9472;&#9488;</p><p>Project-B\Assets &#9472;&#9472;&#9532;&#9472;&#9472;&gt; D:\SharedAssets</p><p>Project-C\Assets &#9472;&#9472;&#9496;</p><p>Update the central assets, and every project sees the change.</p><p>Developers have been using filesystem links for exactly this type of architecture for decades.</p><p># Mount Points</p><p>Link Shell Extension also exposes &#8216;volume mount points&#8217;. These are conceptually related but operate at the volume level. Instead of giving a disk its own drive letter like E:\, Windows can mount the volume inside a directory such as &#8216;C:\Storage\Archive&#8217;.</p><p>From the user&#8217;s perspective, &#8216;Archive&#8217; looks like another folder. Behind it is an entirely separate filesystem volume. This is another idea Unix users will recognize immediately: filesystems do not fundamentally need drive letters. Drive letters are mostly a Windows convention. NTFS mount points allow Windows to behave much more like a unified filesystem tree.</p><div><hr></div><p>And that&#8217;s it. <a href="https://schinagl.priv.at/nt/hardlinkshellext/linkshellextension.html">Link Shell Extension</a> solved my storage problem beautifully. It doesn&#8217;t replace NTFS. It doesn&#8217;t install some virtual filesystem. It simply exposes capabilities that were already sitting underneath Explorer.</p><p>For a developer, administrator, digital hoarder, photographer, game modder, AI enthusiast, or anyone constantly moving giant directories around, it can fundamentally change how you organize storage.</p><p>Once you understand filesystem links, copying a 100 GB directory simply because another program wants to see it somewhere else starts to feel almost barbaric.</p>]]></content:encoded></item><item><title><![CDATA[Pixel Ortho]]></title><description><![CDATA[Pixel or Vector Projections generate 3D object]]></description><link>https://warped3.substack.com/p/pixel-ortho</link><guid isPermaLink="false">https://warped3.substack.com/p/pixel-ortho</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 24 Jul 2026 19:00:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!NxE6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I saw a project from <a href="https://x.com/Pixel_Salvaje">Pixel_Salvaje</a> called <a href="https://pixel-salvaje.itch.io/pixzels">pixzels</a>. And was intrigued. Looks like magic, so I dove in, trying to understand how that&#8217;s possible. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://pixel-salvaje.itch.io/pixzels" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!cid9!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a10de09-153c-46e9-9b73-8c0b648c481f_400x356.gif 424w, /__u/substackcdn.com/image/fetch/$s_!cid9!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a10de09-153c-46e9-9b73-8c0b648c481f_400x356.gif 848w, /__u/substackcdn.com/image/fetch/$s_!cid9!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a10de09-153c-46e9-9b73-8c0b648c481f_400x356.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!cid9!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a10de09-153c-46e9-9b73-8c0b648c481f_400x356.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!cid9!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a10de09-153c-46e9-9b73-8c0b648c481f_400x356.gif" width="400" height="356" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/2a10de09-153c-46e9-9b73-8c0b648c481f_400x356.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:356,&quot;width&quot;:400,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:&quot;https://pixel-salvaje.itch.io/pixzels&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!cid9!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a10de09-153c-46e9-9b73-8c0b648c481f_400x356.gif 424w, /__u/substackcdn.com/image/fetch/$s_!cid9!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a10de09-153c-46e9-9b73-8c0b648c481f_400x356.gif 848w, /__u/substackcdn.com/image/fetch/$s_!cid9!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a10de09-153c-46e9-9b73-8c0b648c481f_400x356.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!cid9!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F2a10de09-153c-46e9-9b73-8c0b648c481f_400x356.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p><a href="https://github.com/IvRogoz/pixel-ortho">Pixel Ortho</a> is my take on that idea. The idea is that you already have clean orthographic drawings of an object; the app can use them as constraints to produce a simple 3D result. It lacks the polish and options of the original, but it&#8217;s a good starting point for them to be added in the future if needed. Pixzels is a paid version after all. </p><p>The pixel workflow starts with bitmap projections. These are flat images of the same object from orthographic directions: front, left, back, right, top, and bottom.</p><p>The minimum useful setup is usually front, left, and top. Front gives width and height. Left gives depth and height. Top gives width and depth. Once those three planes are aligned, every possible x, y, z position inside the grid can be tested.</p><blockquote><p>I took ambulance projections to test out the app without asking; hope no one will get mad about that. </p></blockquote><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!NxE6!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!NxE6!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif 424w, /__u/substackcdn.com/image/fetch/$s_!NxE6!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif 848w, /__u/substackcdn.com/image/fetch/$s_!NxE6!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!NxE6!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!NxE6!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif" width="727" height="758.80625" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/fc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:501,&quot;width&quot;:480,&quot;resizeWidth&quot;:727,&quot;bytes&quot;:2424734,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/205460637?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!NxE6!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif 424w, /__u/substackcdn.com/image/fetch/$s_!NxE6!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif 848w, /__u/substackcdn.com/image/fetch/$s_!NxE6!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!NxE6!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ffc2b0adc-1f54-41c5-807a-3148195fb984_480x501.gif 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The test is simple. Front says this x/y position is occupied, left says this z/y position is occupied, top says this x/z position is occupied; if all active shape views agree, keep the voxel. That creates a voxel volume from the intersection of projections. The output is intentionally mechanical. If the input views line up well, the model reads well. If one view is shifted, scaled differently, or drawn from a slightly different angle, the intersection shows that immediately.</p><p>The voxel mode uses a shared square grid.  128 x 128 is usually the practical upper end for detailed sprites. Smaller grids are faster and cleaner for rough forms, icons, and early tests.</p><p>There is also an auto-size option. When &#8220;Auto-size grid from first imported image&#8221; is enabled, the first imported bitmap sets the grid size from its largest dimension, capped at 128. Later imports use that same grid. That matters because all views must share one coordinate system. If the front image fills the grid and the side image is tiny within it, the generated result is not wrong from the app&#8217;s perspective. It is doing exactly what the projections asked it to do. </p><p>Bitmap imports use transparency as the main signal. Transparent pixels do not create voxels. Opaque pixels do.</p><p>The preview and export do not create one separate cube mesh per voxel. The app builds one surface mesh by checking neighboring voxels and emitting only exposed quads. Internal faces are skipped, which keeps the result smaller than a naive cube-per-voxel model.</p><p>The exported GLB contains the generated geometry, vertex colors, and one material using those colors. It does not include the reference planes, source files, UI state, or project JSON.</p><p>Voxel mode also includes projection painting. Choose `Edit` on a source projection, then paint or erase pixels directly on that projection.</p><p>This is not a separate texture paint system. Editing the projection changes the source pixels, so the voxel shape and the sampled surface colors rebuild from that edited projection.</p><p>That is useful for quick fixes: closing a gap, erasing a stray background pixel, moving a silhouette toward the result you actually intended, or checking how a small projection change affects the 3D volume.</p><p>Currently, those edits are not saved to disk or edited on the original input, but that&#8217;s an option that will be added in the future. </p><p>I wanted to see if similar thinking can be made using vectors. Something like <a href="https://2catteam.github.io/AmbigramGenerator/">AmbigramGenerator</a>.</p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!WWFa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!WWFa!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif 424w, /__u/substackcdn.com/image/fetch/$s_!WWFa!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif 848w, /__u/substackcdn.com/image/fetch/$s_!WWFa!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!WWFa!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!WWFa!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif" width="724" height="236.80833333333334" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:157,&quot;width&quot;:480,&quot;resizeWidth&quot;:724,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!WWFa!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif 424w, /__u/substackcdn.com/image/fetch/$s_!WWFa!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif 848w, /__u/substackcdn.com/image/fetch/$s_!WWFa!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!WWFa!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F357be3ae-7890-4e2b-b817-af3dfa8453b0_480x157.gif 1456w" sizes="100vw" loading="lazy"></picture><div></div></div></a></figure></div><p>The vector workflow is separate from the voxel workflow. It starts with filled SVG projections and builds a vector visual hull.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!py0A!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!py0A!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif 424w, /__u/substackcdn.com/image/fetch/$s_!py0A!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif 848w, /__u/substackcdn.com/image/fetch/$s_!py0A!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!py0A!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!py0A!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif" width="480" height="501" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:501,&quot;width&quot;:480,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:824326,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/205460637?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!py0A!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif 424w, /__u/substackcdn.com/image/fetch/$s_!py0A!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif 848w, /__u/substackcdn.com/image/fetch/$s_!py0A!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!py0A!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8233b13a-5829-4aad-bafb-feb17207b7b1_480x501.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Instead of turning pixels into occupied grid cells, the app parses closed filled SVG shapes, flattens curves into polygon contours, extrudes each projection through 3D space, and intersects those extrusions.</p><p>Vector mode supports filled closed geometry. Unsupported content is ignored with a warning. That includes strokes, open paths, clipping, masks, filters, and text.</p><p>The important detail is that strokes do not constrain the model. If a line needs to affect the result, it has to be represented as filled geometry.</p><p>When you select &#8220;Edit&#8221; on a vector source, the camera locks to that source plane. The white points are anchors. The purple points are Bezier handles. Dragging an anchor also moves its attached handles. Dragging a handle changes the curve. The source path updates during the drag, and the final Boolean mesh rebuilds when the edit is committed. Vector sources also have offsets and visibility toggles. Visibility matters because only visible vector projections participate in the generated mesh.</p><p></p><p>It could be interesting to add more features to it, but for now I&#8217;m satisfied; my itch was satisfied. A working base is <a href="https://github.com/IvRogoz/pixel-ortho">here</a>. </p>]]></content:encoded></item><item><title><![CDATA[The future is local ]]></title><description><![CDATA[Small distilled and quantized AI models are becoming feasible.]]></description><link>https://warped3.substack.com/p/the-future-is-local</link><guid isPermaLink="false">https://warped3.substack.com/p/the-future-is-local</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 17 Jul 2026 19:00:35 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!6dkC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!6dkC!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!6dkC!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!6dkC!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!6dkC!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6dkC!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!6dkC!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png" width="1456" height="819" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:819,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1955383,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/204982880?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!6dkC!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png 424w, /__u/substackcdn.com/image/fetch/$s_!6dkC!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png 848w, /__u/substackcdn.com/image/fetch/$s_!6dkC!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png 1272w, /__u/substackcdn.com/image/fetch/$s_!6dkC!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F3c876a8e-c76f-4a7e-964a-679766ebc7a5_1672x941.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>We live in a strange world; I feel it has become like a mantra enabling us to feel safe in our ignorance while we watch the world pass us by. Or better yet, feel we can&#8217;t understand. And I feel, so many feels in this paragraph, for those people. I&#8217;ve spent my entire life trying to be in sync with the world's knowledge, as much as a single person can. I don&#8217;t need to understand every nuance and every detail of technology, process, biology, sociology, but to know general strokes. That enables me to focus on finding out more about a subject I'm interested in at any time. &#8230; Master of none, but still better than master of one. </p><p>And, I&#8217;ve finally fully embraced AI. I haven&#8217;t seen a line of code in my off time in weeks, months at this point. ( I code for fun too )</p><div><hr></div><p>I remember talking to a college colleague of mine in 2006 at a nondiscript bar attached to a supermarket about artificial intelligence and how it could emerge spontaneously from the chaos of information we produce. At that time, I thought about my research about how much information the internet can contain at a certain time, which I completed a couple of years ago, way before the AI revolution of 2024. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;ffe1c36d-8225-4e4a-b5c3-afb08491094c&quot;,&quot;caption&quot;:&quot;At the turn of the century I&#8217;ve become interested in the size of the Internet and how soon could we see the emergence of intelligence from the chaos that we call the web. The premise is that chaos breads its own structure as at that time I was fascinated with fractals. This kind of became reality with big data and neural networks that at the end of the &#8230;&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Is the stage set for emergence of Intelligence from the chaos of Internet?&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32258022,&quot;name&quot;:&quot;Ivan Rogoz&quot;,&quot;bio&quot;:&quot;\&quot;Magic is just science we don't understand yet.\&quot;&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bbc88209-54ef-46e3-94fe-0cff7b9acd6b_402x402.gif&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2022-05-24T14:56:50.718Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!UcKc!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Faf12b911-73b6-404b-8feb-0be6e1b00a30_1295x651.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://warped3.substack.com/p/is-the-stage-set-for-emergence-of&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:40937704,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:320593,&quot;publication_name&quot;:&quot;Barn Lab&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Y3ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a66-a476-404c-a8f4-bea7082bbfe9_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>I was close; it did not self arrange out of chaos at a global scale, so far we know, but did self arange, with guidance, in neural nets. </p><p>As I&#8217;m writing this, I&#8217;m cracking up. Decades of skill summed up in a couple of billion neuron connections. LoL. I know it&#8217;s not funny, but it kinda is. The sheer power is intoxicating. Ability to finish projects, experiment with different approaches. The ability to go from idea to working concept is just a prompt away. It truly is a drug. </p><p>I could not have predicted it; it was decades away, if ever. But now, here we are. On my modest setup at home, I'm running a 35 billion parameter mixture of experts model, <a href="https://qwen.ai/blog?id=qwen3.6-35b-a3b">Qwen 35B MoE</a> via <a href="https://lmstudio.ai/">LM Studio</a>, that can do tasks that would take me weeks, if not months, to complete, and it does it in minutes. It still breaks my mind thinking about it. Frontier models have over 700 billion parameters and some over 1.5 TRILLION, but, as it turns out,  for tasks like coding, they don&#8217;t need that much. They need as few as a dozen billion. </p><p>I don&#8217;t think the future is some global supercomputer; I think that what I wrote in my post about Apple is still correct. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;1105678d-32c1-45a6-88f2-49e2d448725f&quot;,&quot;caption&quot;:&quot;Ever since Jobs passed away, Apple started feeling like a luxury appliance company that occasionally taped a new camera bump onto the same rectangle. Meanwhile, the world sprinted through AR, crypto, metaverse, and now AI, leaving Apple in the dust, waving politely from the sidewalk.&quot;,&quot;cta&quot;:null,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Apple&#8217;s AI &#8220;failure&#8221; might be the most Apple thing they&#8217;ve done in a decade&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32258022,&quot;name&quot;:&quot;Ivan Rogoz&quot;,&quot;bio&quot;:&quot;\&quot;Magic is just science we don't understand yet.\&quot;&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bbc88209-54ef-46e3-94fe-0cff7b9acd6b_402x402.gif&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2026-01-23T20:00:55.764Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/youtube/w_728,c_limit/A0onppIyHEg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://warped3.substack.com/p/apples-ai-failure-might-be-the-most&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:181873094,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:2,&quot;publication_id&quot;:320593,&quot;publication_name&quot;:&quot;Barn Lab&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Y3ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a66-a476-404c-a8f4-bea7082bbfe9_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>The future is local models. It may seem like it's unattainable, but when, not if, the bubble bursts and memory and compute become affordable, everyone will run their local AI models. Let&#8217;s just look at memory. High speed memory this, high speed memory that, but I&#8217;m fine if a task takes a couple of minutes longer; that&#8217;s just fine. I&#8217;m on an AM4 platform with DDR4 memory at 2400mhz, nowhere close to 6000mhz or more that a newer system can achieve, and that&#8217;s fine. System memory speed  is important, as a large portion of the model I'm running is offloaded to system memory; if not, it would all be on fast GPU vram.  And at the end of the day, data is mine, output is mine, control is mine; no one is mining me for data.</p><p>I remember a time when 60mb hard drives was a luxury. I remember 5.25 inh drives, not the 3.5&#8217;&#8217; disk drives that everyone nowadays thinks of as a save icon. The actual 5.25inch disk that was flimsy as hell, and where the name floppy disk comes from, as you could use it as a freaking fan. And, what&#8217;s more to the point, it was not that long ago; I'm not some senile greybeard techno freak; it&#8217;s just that we have attention and retention deficits and think that everything that happened 30 years ago is ancient history. </p><p>Today, I have a 2 terabyte drive, one of many, in my system, with &#8220;modest&#8221; 32 gb or system memory. I remember trying to optimize my apps and fighting the bloat for every kilobyte so that the entire Windows app remains bellow 1mb, and feeling ecstatic about it. Now, a freaking Notepad with modern bells and whistles is above 100mb. Such absurdity. </p><p>The point is,  a 700 billion parameters AI model that requires 1Tb of working high speed memory are not that unattainable. Yes, they are expensive now. Well, if you are well off and have 5k or so to spend, you can get NVIDIA Spark or an AMD equivalent 365 AI with 128 GB of unified memory. Get a couple of those or two Mac Studio Pros with 512 GB each, and you've got yourself a full-blown local equivalent to ChatGPT.  </p><p>So, yes, it is expensive but not like it's unachievable or that the path towards domestication of that technology is not visible. It is already present. </p><p><span>I&#8217;m aware my hardware is not up to snuff to run more productive models, so until that time I&#8217;ll just pretend to be happy to spend over 14.000 monopoly bucks on ChatGpt, but that can not last. Such subsidy can not last. </span></p><div class="twitter-embed" data-attrs="{&quot;url&quot;:&quot;https://t.co/1e0zFhbFuo\&quot;>pic.twitter.com/1e0zFhbFuo</a></p>&amp;mdash; SemiAnalysis (@SemiAnalysis_) <a href=/__u/warped3.substack.com/%22https://x.com/SemiAnalysis_/status/2064815044085318040?ref_src=twsrc%5Etfw\%22>June&quot;,&quot;full_text&quot;:&quot;Recently, we purchased one of each Anthropic/OpenAI subscription plan and randomly ran long horizon coding tasks until we exhausted the weekly limit. It's widely believed that a $200/month plan maxes out at ~$2000/month worth of tokens (assuming API pricing). However, we found &quot;,&quot;username&quot;:&quot;SemiAnalysis_&quot;,&quot;name&quot;:&quot;SemiAnalysis&quot;,&quot;profile_image_url&quot;:&quot;https://pbs.substack.com/profile_images/2062973370157694976/CdplNoi1_normal.jpg&quot;,&quot;date&quot;:&quot;2026-06-10T21:00:43.000Z&quot;,&quot;photos&quot;:[{&quot;img_url&quot;:&quot;https://pbs.substack.com/media/HKeyVeRXAAAGLnY.jpg&quot;,&quot;link_url&quot;:&quot;https://t.co/1e0zFhbFuo&quot;}],&quot;quoted_tweet&quot;:{},&quot;reply_count&quot;:205,&quot;retweet_count&quot;:600,&quot;like_count&quot;:6206,&quot;impression_count&quot;:3552047,&quot;expanded_url&quot;:null,&quot;video_url&quot;:null,&quot;video_preview_media_key&quot;:null,&quot;belowTheFold&quot;:true}" data-component-name="Twitter2ToDOM"></div><p>We should all be aware of the ancient Chinese proverb or curse, depending on who you ask: may you live in interesting times. I thought that those times were behind me, but as it turns out, we are in the middle of them right now. </p><p>I took a couple of weeks off writing to test and finish a couple of projects I wanted to do, so stay tuned. </p><p></p>]]></content:encoded></item><item><title><![CDATA[Mid week Music Break #21 - Deborah De Luca Edition]]></title><description><![CDATA[A little mid week music break from artists you maybe don't know of.]]></description><link>https://warped3.substack.com/p/mid-week-music-break-21-deborah-de</link><guid isPermaLink="false">https://warped3.substack.com/p/mid-week-music-break-21-deborah-de</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Wed, 03 Jun 2026 19:00:37 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/q0JyYJGy2PA" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>Recorded during the Pandemic</p><div id="youtube2-q0JyYJGy2PA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;q0JyYJGy2PA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/q0JyYJGy2PA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-RQLoZKaCQfA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;RQLoZKaCQfA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/RQLoZKaCQfA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p>]]></content:encoded></item><item><title><![CDATA[Mid week Music Break #20]]></title><description><![CDATA[A little mid week music break from artists you maybe don't know of.]]></description><link>https://warped3.substack.com/p/mid-week-music-break-20</link><guid isPermaLink="false">https://warped3.substack.com/p/mid-week-music-break-20</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Wed, 27 May 2026 19:01:18 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/WKijb-tw4jM" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>If you have never heard of Jam, go and have a listen to her debut album, <a href="https://youtube.com/playlist?list=OLAK5uy_lSpNn5RnN-xPVc9vk77HjAC0mWjtXh0Qc&amp;si=FVqT-WXe3eK4w3t8">Finally Woken</a>. You will not believe how many of her songs you have heard before. </p><div id="youtube2-WKijb-tw4jM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;WKijb-tw4jM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/WKijb-tw4jM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-k53NGe64RBU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;k53NGe64RBU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/k53NGe64RBU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><div id="youtube2-V4xw5ujKPv0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;V4xw5ujKPv0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/V4xw5ujKPv0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[ASCII Animations]]></title><description><![CDATA[An idea from TikTok turned into a surprisingly powerful little ASCII art machine.]]></description><link>https://warped3.substack.com/p/ascii-animations</link><guid isPermaLink="false">https://warped3.substack.com/p/ascii-animations</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 22 May 2026 19:01:06 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!fLi2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I love ASCII art, I know it&#8217;s also <strong>ANSI art</strong>, basically text art plus <strong>ANSI escape codes</strong> for color, cursor movement, blinking, bold text, background colors, etc. But I call it simply ASCII, as at the end of the day, they are all created using colored text characters. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;73962db5-a15b-4576-9ce4-3b16b6ba7e09&quot;,&quot;caption&quot;:&quot;In the early 90&#8217;s I was constantly online, just not on the Internet, on the BBS&#8217;s or Bulletin board system. You used your modem to dial directly to another computer just like making a telephone call but between computers. The called-up computer ran a BBS program where people could leave messages and files for others. Once you disconnected others could c&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Textual Images and some ASCII tricks&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32258022,&quot;name&quot;:&quot;Ivan Rogoz&quot;,&quot;bio&quot;:&quot;\&quot;Magic is just science we don't understand yet.\&quot;&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bbc88209-54ef-46e3-94fe-0cff7b9acd6b_402x402.gif&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2024-01-19T22:19:26.697Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!CTI1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a6c53ea-5033-412e-9ba5-a04490627dc8_1440x2232.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://warped3.substack.com/p/textual-images-and-some-ascii-tricks&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:105042296,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:320593,&quot;publication_name&quot;:&quot;Barn Lab&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Y3ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a66-a476-404c-a8f4-bea7082bbfe9_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>One day, while browsing the TikToks, the almighty algorithm served me this video, and I thought, " That is so cool, I also have access to modern AI coding tools, let&#8217;s give it a whirl&#8221;. </p><div id="tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40made.by.anton%2Fvideo%2F7638645021792734487&amp;key=e27c740634285c9ddc20db64f73358dd" class="tiktok-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://www.tiktok.com/@made.by.anton/video/7638645021792734487&quot;,&quot;title&quot;:&quot;When I was a kid, mobile phones were just starting to appear and the only pixel-based imagery I could create was a two-frame animation made of dots and dashes in a text message on my Nokia 5110. To be honest I only wanted that phone so I could design inappropriate animations to send to my mates during the most boring classes. Little did I know then that I&#8217;d grow up to be a pixel pusher. I never imagined this tech would evolve so far beyond recognition, becoming the universal building block for everything we see, even by reinventing the pixel itself. Fonts: Tobias by @xyz_displaay NaN Tragedy Display Mono &amp; NaN Serf A Display by @nan_xyz Icons by @nounproject&#8232;Meat by Thuy Nguyen Owl by Pinky Cat and snake by Kim Sun Young Cheese by Visual Language #graphicdesign #typography #branding #ascii &quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d270f2a3-7aba-49c4-aa30-4fee820038f8_1080x1920.jpeg&quot;,&quot;author&quot;:&quot;Anton Burmistrov&quot;,&quot;embed_url&quot;:&quot;https://cdn.iframe.ly/api/iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40made.by.anton%2Fvideo%2F7638645021792734487&amp;key=e27c740634285c9ddc20db64f73358dd&quot;,&quot;author_url&quot;:&quot;https://www.tiktok.com/@made.by.anton&quot;,&quot;belowTheFold&quot;:false}" data-component-name="TikTokCreateTikTokEmbed"><iframe id="iframe-tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40made.by.anton%2Fvideo%2F7638645021792734487&amp;key=e27c740634285c9ddc20db64f73358dd" class="tiktok-iframe" src="https://cdn.iframe.ly/api/iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40made.by.anton%2Fvideo%2F7638645021792734487&amp;key=e27c740634285c9ddc20db64f73358dd" frameborder="0" allow="autoplay; fullscreen; encrypted-media" allowfullscreen="" scrolling="no"></iframe><iframe src="https://team-hosted-public.s3.amazonaws.com/set-then-check-cookie.html" id="third-party-iframe-tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40made.by.anton%2Fvideo%2F7638645021792734487&amp;key=e27c740634285c9ddc20db64f73358dd" class="third-party-cookie-check-iframe" style="display: none;"></iframe><div class="tiktok-wrap static" data-component-name="TikTokCreateStaticTikTokEmbed"><a href="https://www.tiktok.com/@made.by.anton/video/7638645021792734487" target="_blank"><img class="tiktok thumbnail" src="/__u/substackcdn.com/image/fetch/$s_!m07K!,w_640,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd270f2a3-7aba-49c4-aa30-4fee820038f8_1080x1920.jpeg" style="background-image: url(/__u/substackcdn.com/image/fetch/$s_!m07K!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd270f2a3-7aba-49c4-aa30-4fee820038f8_1080x1920.jpeg);"></a><div class="content"><a class="author" href="https://www.tiktok.com/@made.by.anton" target="_blank">@made.by.anton</a><a class="title" href="https://www.tiktok.com/@made.by.anton/video/7638645021792734487" target="_blank">When I was a kid, mobile phones were just starting to appear and the only pixel-based imagery I could create was a two-frame animation made of dots and dashes in a text message on my Nokia 5110. To be honest I only wanted that phone so I could design inappropriate animations to send to my mates during the most boring classes. Little did I know then that I&#8217;d grow up to be a pixel pusher. I never imagined this tech would evolve so far beyond recognition, becoming the universal building block for everything we see, even by reinventing the pixel itself. Fonts: Tobias by @xyz_displaay NaN Tragedy Display Mono &amp; NaN Serf A Display by @nan_xyz Icons by @nounproject&#8232;Meat by Thuy Nguyen Owl by Pinky Cat and snake by Kim Sun Young Cheese by Visual Language #graphicdesign #typography #branding #ascii </a></div></div><div class="fallback-failure" id="fallback-failure-tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40made.by.anton%2Fvideo%2F7638645021792734487&amp;key=e27c740634285c9ddc20db64f73358dd"><div class="error-content"><img class="error-icon" src="/__u/substackcdn.com//img/alert-circle.svg">Tiktok failed to load.<br><br>Enable 3rd party cookies or use another browser</div></div></div><p>At its most direct, the app can turn uploaded media into ASCII art. A photograph becomes a field of glyphs. A video becomes a moving grid of characters. Shadows, midtones, and highlights are mapped into different marks, and the app gives the user control over the whole translation process.</p><p>The grid resolution can be changed so it looks blocky or increased to resemble the original image or video more closely. The background color can be changed. Brightness can be inverted. The output can zoom, pan, rotate, scale, and shift over time.  </p><p>The core of the app is the seven-state system. Instead of treating an image as a continuous blur of brightness, the ASCII Dither Filter divides it into seven tonal levels, from deep shadow to highlight. Each level can have its own color and its own uploaded SVG. The app can read colors from the uploaded image or video and apply them directly to the ASCII. It can also extract a seven-color palette from the source media, giving the shadow-to-highlight ladder a palette that belongs to the image itself. If the user wants a more synthetic look, colors can be randomized, cycled, or animated between keyframes.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!fLi2!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!fLi2!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif 424w, /__u/substackcdn.com/image/fetch/$s_!fLi2!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif 848w, /__u/substackcdn.com/image/fetch/$s_!fLi2!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!fLi2!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!fLi2!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif" width="720" height="822.375" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:731,&quot;width&quot;:640,&quot;resizeWidth&quot;:720,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;brave_41Ifwx58jK.gif [optimize output image]&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="brave_41Ifwx58jK.gif [optimize output image]" title="brave_41Ifwx58jK.gif [optimize output image]" srcset="/__u/substackcdn.com/image/fetch/$s_!fLi2!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif 424w, /__u/substackcdn.com/image/fetch/$s_!fLi2!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif 848w, /__u/substackcdn.com/image/fetch/$s_!fLi2!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!fLi2!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F5ba57daf-3b26-4fad-a358-20d1707ec5b1_640x731.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Animation is where the tool becomes more than a still-image processor. Every major property can be keyframed: glyph sets, colors, zoom, zoom position, rotation, scale, inversion, source-color behavior, and other filter settings. The timeline sits below the main canvas so it can be edited with more horizontal space. Keyframe markers show where changes happen, and a dedicated keyframe list appears when an animation exists.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;e2c44e26-8ceb-4067-afce-95e3fbd5baaa&quot;,&quot;duration&quot;:null}"></div><p>This makes it possible to build gradual transformations. An image can begin as a tight monochrome ASCII grid, then expand into colored SVG shapes. A video can start with small upright glyphs, then rotate and scale into a more abstract pattern. A palette can jump from source colors into random tones and then interpolate into another saved state. </p><p>Video handling follows the same logic. When a video is loaded, the animation timeline adapts to the length of the clip. Scrubbing the timeline also scrubs the video frame, so the filter settings and the source footage stay connected. </p><p>Animation can be saved and exported as a WebM video. </p><p>If you would like to experiment with video, you can get free videos at <a href="https://www.pexels.com/search/videos/abstract/?orientation=portrait">Pexels</a>, but any image would do. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;00fd26e2-faaa-4b47-b842-62ab111b3b58&quot;,&quot;duration&quot;:null}"></div><p>This was a fun project, and the code can be found, as always, on <a href="https://github.com/IvRogoz/ascii-dither-filter">Barn Lab&#8217;s GitHub</a> page. </p><p></p><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Mid week Video Break #2 - Old TV Cartoons]]></title><description><![CDATA[A blunt commercials ads for toys but still they have more heart then newer slop.]]></description><link>https://warped3.substack.com/p/mid-week-video-break-2-old-tv-cartoons</link><guid isPermaLink="false">https://warped3.substack.com/p/mid-week-video-break-2-old-tv-cartoons</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Wed, 20 May 2026 19:01:25 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!ziRm!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="https://www.dailymotion.com/video/x8h02xd" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ziRm!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png 424w, /__u/substackcdn.com/image/fetch/$s_!ziRm!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png 848w, /__u/substackcdn.com/image/fetch/$s_!ziRm!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ziRm!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ziRm!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png" width="1257" height="888" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/f269f745-226b-425c-be57-8416947f98ca_1257x888.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:888,&quot;width&quot;:1257,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:1450271,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:&quot;https://www.dailymotion.com/video/x8h02xd&quot;,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/194156436?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ziRm!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png 424w, /__u/substackcdn.com/image/fetch/$s_!ziRm!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png 848w, /__u/substackcdn.com/image/fetch/$s_!ziRm!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ziRm!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Ff269f745-226b-425c-be57-8416947f98ca_1257x888.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p></p><div id="youtube2-2CqemAT4iwI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;2CqemAT4iwI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/2CqemAT4iwI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>alternative <a href="https://www.dailymotion.com/video/x89av60">https://www.dailymotion.com/video/x89av60</a></p><p></p><div id="youtube2-gpuAspacFmY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;gpuAspacFmY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/gpuAspacFmY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>alternative <a href="https://www.dailymotion.com/video/x8jxnie">https://www.dailymotion.com/video/x8jxnie</a></p><p></p><div id="youtube2-SdtcK1Qs2K4" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;SdtcK1Qs2K4&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/SdtcK1Qs2K4?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><a href="https://www.dailymotion.com/video/x9bbwxe">https://www.dailymotion.com/video/x9bbwxe</a></p><p></p><div id="youtube2-ib8wlTm3Z3E" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;ib8wlTm3Z3E&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/ib8wlTm3Z3E?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><a href="https://www.dailymotion.com/video/x8gz92x">https://www.dailymotion.com/video/x8gz92x</a></p>]]></content:encoded></item><item><title><![CDATA[Portal]]></title><description><![CDATA[It was some 18 years ago that Johnny Lee uploaded his Head tracking demo using Wii Remotes, and not since then have I stopped thinking about how to use that effect.]]></description><link>https://warped3.substack.com/p/portal</link><guid isPermaLink="false">https://warped3.substack.com/p/portal</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 15 May 2026 20:23:38 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/c0b097e6-84af-4add-801b-561fc8c25aac_600x288.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-Jd3-eiid-Uw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Jd3-eiid-Uw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Jd3-eiid-Uw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The idea is simple. Use the Wii sensor bar, which is just two IR LEDs spaced at a specific distance apart, and invert the tracking. Instead of the Wii sensor bar being static, he made the camera static and the sensor bar movable. As LEDs are placed at a known distance from one another, all kinds of data can be extrapolated, such as distance from the camera, rotation, angle, etc. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!kcZJ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!kcZJ!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!kcZJ!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!kcZJ!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!kcZJ!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!kcZJ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg" width="1456" height="1248" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1248,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!kcZJ!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!kcZJ!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!kcZJ!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!kcZJ!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F81149f93-63b6-4012-83ed-b515113ff2d4_2000x1714.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The concept was such a paradigm shift that he was invited to demonstrate his idea at the TED conference. </p><div id="youtube2-QgKCrGvShZs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;QgKCrGvShZs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/QgKCrGvShZs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Now, that approach was not that new as <a href="https://www.trackir.com/">TrackIR </a>did a similar trick almost seven years earlier and is still in business. But it is expensive, while the Wii at that time was omnipresent, and such a &#8220;simple&#8221; hack was visibly impressive. </p><p>That was all good 18 years ago, but now we have AI models galore. In 2019, Google released MediaPipe. An AI model for human pose tracking  with a total of 543 landmarks that can be tracked. Also, the model can be focused on certain parts of the body to increase tracking accuracy and speed. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!C-69!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5667036-002f-44cd-a169-dadf219672b3_600x337.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!C-69!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5667036-002f-44cd-a169-dadf219672b3_600x337.gif 424w, /__u/substackcdn.com/image/fetch/$s_!C-69!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5667036-002f-44cd-a169-dadf219672b3_600x337.gif 848w, /__u/substackcdn.com/image/fetch/$s_!C-69!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5667036-002f-44cd-a169-dadf219672b3_600x337.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!C-69!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5667036-002f-44cd-a169-dadf219672b3_600x337.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!C-69!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5667036-002f-44cd-a169-dadf219672b3_600x337.gif" width="600" height="337" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/d5667036-002f-44cd-a169-dadf219672b3_600x337.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:337,&quot;width&quot;:600,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;layout: forward target: https://developers.google.com/mediapipe/solutions/vision/face_landmarker/  title: Face Mesh parent: MediaPipe Legacy Solutions nav_order: 2 &#8212; MediaPipe  v0.7.5 documentation&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="layout: forward target: https://developers.google.com/mediapipe/solutions/vision/face_landmarker/  title: Face Mesh parent: MediaPipe Legacy Solutions nav_order: 2 &#8212; MediaPipe  v0.7.5 documentation" title="layout: forward target: https://developers.google.com/mediapipe/solutions/vision/face_landmarker/  title: Face Mesh parent: MediaPipe Legacy Solutions nav_order: 2 &#8212; MediaPipe  v0.7.5 documentation" srcset="/__u/substackcdn.com/image/fetch/$s_!C-69!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5667036-002f-44cd-a169-dadf219672b3_600x337.gif 424w, /__u/substackcdn.com/image/fetch/$s_!C-69!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5667036-002f-44cd-a169-dadf219672b3_600x337.gif 848w, /__u/substackcdn.com/image/fetch/$s_!C-69!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5667036-002f-44cd-a169-dadf219672b3_600x337.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!C-69!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fd5667036-002f-44cd-a169-dadf219672b3_600x337.gif 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>And that&#8217;s what I did with my earlier tests, where I wanted to create a window to the past using Blender and its internal scripting. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!V4WG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!V4WG!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif 424w, /__u/substackcdn.com/image/fetch/$s_!V4WG!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif 848w, /__u/substackcdn.com/image/fetch/$s_!V4WG!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!V4WG!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!V4WG!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif" width="852" height="480" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:480,&quot;width&quot;:852,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!V4WG!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif 424w, /__u/substackcdn.com/image/fetch/$s_!V4WG!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif 848w, /__u/substackcdn.com/image/fetch/$s_!V4WG!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!V4WG!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F939fbb69-9f9a-4402-8095-4474e82f1b23_852x480.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;b8ae772e-6004-4804-9401-cb44672345bb&quot;,&quot;caption&quot;:&quot;I&#8217;m currently working on a project of mine that I call Window to the Past. Its premise is to have a window-like display that displays a scene from the past/future from the point of view of the viewer, a sort of Augmented Reality without the need for glasses.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;md&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Blender and MediaPipe&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32258022,&quot;name&quot;:&quot;Ivan Rogoz&quot;,&quot;bio&quot;:&quot;\&quot;Magic is just science we don't understand yet.\&quot;&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bbc88209-54ef-46e3-94fe-0cff7b9acd6b_402x402.gif&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2022-06-17T16:41:59.786Z&quot;,&quot;cover_image&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/9f716a23-6f05-438f-b231-ad13b2a601b1_634x478.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://warped3.substack.com/p/blender-and-mediapipe&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:54895034,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:320593,&quot;publication_name&quot;:&quot;Barn Lab&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Y3ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a66-a476-404c-a8f4-bea7082bbfe9_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Well, it worked, not well or fast, but it did, and since 2022, Google has improved the model to the point that a tiny, tincy model that is less than 4mb can detect hundreds of facial points really well now and do it fast. </p><p>From the original Blender script, it evolved into a standalone demo app with which I&#8217;m tinkering. It can be found as per usual on the <a href="https://github.com/IvRogoz/Portal">BarnLab GitHub repo</a>. </p><p>There are a whole lot of different customization options with which you can play around, but ones that I would suggest you alter first are to reduce the room depth and depth sensitivity, as defaults are currently a little too aggressive. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;f3046a47-6861-472c-ac0a-be0a9dfdf6a4&quot;,&quot;duration&quot;:null}"></div><p>You can load custom targets as .GLB, which can be exported from Blender. </p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;8a4435bf-730b-4ef2-992a-68ca6abb8398&quot;,&quot;duration&quot;:null}"></div><p>One additional note: don&#8217;t use &#8220;Use scene.glb&#8221; unless you provide such a file. Mine is too large for GitHub. It will replace the entire &#8220;room&#8221; with a custom scene for you to look around as if through a window. </p><p>This is an ongoing experiment and should have updates, so stay tuned. Until then, give it a twirl. Any suggestions or improvements are welcome.</p>]]></content:encoded></item><item><title><![CDATA[Mid week Music Break #19 - Call for a Revolution]]></title><description><![CDATA[A little mid week music break from artists you maybe don't know of.]]></description><link>https://warped3.substack.com/p/mid-week-music-break-19-call-for</link><guid isPermaLink="false">https://warped3.substack.com/p/mid-week-music-break-19-call-for</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Wed, 13 May 2026 19:00:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/hxL5IF1RmgQ" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-hxL5IF1RmgQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;hxL5IF1RmgQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/hxL5IF1RmgQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-PkGwI7nGehA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;PkGwI7nGehA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/PkGwI7nGehA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-0oMEuyhBkRo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;0oMEuyhBkRo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/0oMEuyhBkRo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-2B4bsqYxwo0" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;2B4bsqYxwo0&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/2B4bsqYxwo0?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-_3YPik6HTpw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;_3YPik6HTpw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/_3YPik6HTpw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[Bike grid laser light #1 - Intro]]></title><description><![CDATA[Getting this ridiculous concept out of my head]]></description><link>https://warped3.substack.com/p/bike-grid-laser-light-1-intro</link><guid isPermaLink="false">https://warped3.substack.com/p/bike-grid-laser-light-1-intro</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 08 May 2026 19:01:55 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!WAPQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It was some time ago, according to YouTube, over 8 years ago, that a video got stuck in my mind. It popped up in my feed once again last week, so I wanted to see what is needed to make it.</p><p>The project first appeared on <a href="https://www.yankodesign.com/2013/05/21/lumigrids-while-cycling/">Yanko Design</a>, and, like most posts there, Lumigrids was just a design practice without the end product. </p><p>I searched far and wide and found no mention of any product, just concept art and ideas for the last 8 years, with the last being from <a href="https://odditymall.com/lumigrids-grid-bicycle-light-projector">2020, and it shows a weird deja vu effect</a> (<em>note from future me as i had this post in draft for a while, I don&#8217;t know why I wrote that it has a wierd dejavu, but I&#8217;m leaving it in for future contemplation, there has to be a reason I wrote this</em>). </p><p>The concept is interesting, but I can also see why it was never realized as a commercial product. It projects a laser grid in front of the cyclists, and based on how warped the grid is, the cyclists could be warned about potholes or any unevenness on the road. </p><p>Why not just use a bike light? Well, that&#8217;s the question. A bright bike light should reveal any obstacle, with the added benefit of being an actual light that lights up your path much further than this, making this approach nothing more than a gimmick. But an interesting one which, as mentioned, got stuck in my mind, and now that I have some grown-up money, I could actually get unstuck. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!WAPQ!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!WAPQ!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!WAPQ!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!WAPQ!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!WAPQ!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!WAPQ!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg" width="1456" height="848" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/e9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:848,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:&quot;Lumigrids bicycle grid projection light - Projecting laser grid for night bicycle riding safety&quot;,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="Lumigrids bicycle grid projection light - Projecting laser grid for night bicycle riding safety" title="Lumigrids bicycle grid projection light - Projecting laser grid for night bicycle riding safety" srcset="/__u/substackcdn.com/image/fetch/$s_!WAPQ!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!WAPQ!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!WAPQ!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!WAPQ!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fe9830e35-b58a-4591-a583-18d010c60ca0_1500x874.jpeg 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!AeJ-!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!AeJ-!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif 424w, /__u/substackcdn.com/image/fetch/$s_!AeJ-!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif 848w, /__u/substackcdn.com/image/fetch/$s_!AeJ-!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!AeJ-!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!AeJ-!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif" width="719" height="403.37901498929335" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:262,&quot;width&quot;:467,&quot;resizeWidth&quot;:719,&quot;bytes&quot;:2950838,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!AeJ-!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif 424w, /__u/substackcdn.com/image/fetch/$s_!AeJ-!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif 848w, /__u/substackcdn.com/image/fetch/$s_!AeJ-!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!AeJ-!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F63d035e0-a44f-49c2-a7a3-a15473fb8e60_467x262.gif 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div id="youtube2-I1dCI7es_wM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;I1dCI7es_wM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/I1dCI7es_wM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>To start off, I was thinking of using a line laser. I know I have a line laser in the barn lab somewhere that was used in early experiments with<a href="https://www.instructables.com/Raspberry-Pi-Laser-Scanner/"> laser line 3D scanning</a>.  But, then again, could it not be possible to make a lens that projects a certain image? eBay to the rescue. </p><p>A little search later, and we have <a href="https://www.ebay.com/itm/194031189522?hash=item2d2d28fe12:g:G4oAAOSwYrVgcBAx">this </a></p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!5uFa!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!5uFa!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png 424w, /__u/substackcdn.com/image/fetch/$s_!5uFa!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png 848w, /__u/substackcdn.com/image/fetch/$s_!5uFa!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5uFa!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!5uFa!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png" width="747" height="241" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:241,&quot;width&quot;:747,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:111850,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!5uFa!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png 424w, /__u/substackcdn.com/image/fetch/$s_!5uFa!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png 848w, /__u/substackcdn.com/image/fetch/$s_!5uFa!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png 1272w, /__u/substackcdn.com/image/fetch/$s_!5uFa!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F1a72121b-442e-4671-b0b1-5e225fe626d1_747x241.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!p9sD!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!p9sD!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png 424w, /__u/substackcdn.com/image/fetch/$s_!p9sD!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png 848w, /__u/substackcdn.com/image/fetch/$s_!p9sD!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png 1272w, /__u/substackcdn.com/image/fetch/$s_!p9sD!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!p9sD!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png" width="747" height="261" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:261,&quot;width&quot;:747,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:138737,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!p9sD!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png 424w, /__u/substackcdn.com/image/fetch/$s_!p9sD!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png 848w, /__u/substackcdn.com/image/fetch/$s_!p9sD!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png 1272w, /__u/substackcdn.com/image/fetch/$s_!p9sD!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F4b440ec7-66c1-4948-bd7b-159c5a629bb1_747x261.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!QqHG!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!QqHG!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png 424w, /__u/substackcdn.com/image/fetch/$s_!QqHG!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png 848w, /__u/substackcdn.com/image/fetch/$s_!QqHG!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QqHG!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!QqHG!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png" width="747" height="265" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/e5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:265,&quot;width&quot;:747,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:72364,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!QqHG!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png 424w, /__u/substackcdn.com/image/fetch/$s_!QqHG!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png 848w, /__u/substackcdn.com/image/fetch/$s_!QqHG!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png 1272w, /__u/substackcdn.com/image/fetch/$s_!QqHG!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fe5108f43-1d95-4e26-be3c-87d0e776446d_747x265.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>So I ordered some lasers, lenses, and casings to put them in.</p><p>Now we wait for some free time to get them all put together, so stay tuned. </p>]]></content:encoded></item><item><title><![CDATA[Mid week Music Break #18 - Theremin music edition]]></title><description><![CDATA[A little mid week music break from artists you maybe don't know of.]]></description><link>https://warped3.substack.com/p/mid-week-music-break-16-theremin</link><guid isPermaLink="false">https://warped3.substack.com/p/mid-week-music-break-16-theremin</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Wed, 06 May 2026 19:01:46 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/7G4HaN2iv-I" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-7G4HaN2iv-I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;7G4HaN2iv-I&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/7G4HaN2iv-I?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-DCRDWeq3zGU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;DCRDWeq3zGU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/DCRDWeq3zGU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[New volumetric display]]></title><description><![CDATA[YouTube user ancientjames has made, in my opinion, the first true volumetric display that won't chop your fingers.]]></description><link>https://warped3.substack.com/p/new-volumetric-display</link><guid isPermaLink="false">https://warped3.substack.com/p/new-volumetric-display</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 01 May 2026 19:02:15 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/YbxsYhTjYFI" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m a long time fan of holograms, as I suspect most people are. Those futuristic displays have been teasing us with what looks like inevitability as long as sci-fi has existed as a genre. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;3afe494d-74ff-434a-ac93-94d99cc1872a&quot;,&quot;caption&quot;:&quot;Unlike static holograms whose production has been perfected for over 50 years. Ever since the Hungarian physicist Dennis Gabor made the first hologram in 1947 and was awarded the Nobel Prize in Physics in 1971 the world was amazed by the technology and ideas of how to make a movable version became abound. But it&#8217;s not that easy.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Overview of \&quot;holographic\&quot; displays&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32258022,&quot;name&quot;:&quot;Ivan Rogoz&quot;,&quot;bio&quot;:&quot;\&quot;Magic is just science we don't understand yet.\&quot;&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bbc88209-54ef-46e3-94fe-0cff7b9acd6b_402x402.gif&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2022-10-11T10:46:11.092Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!EL7_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff4d0b5cb-5cdc-460f-86fa-5b9b6fb9691b_1024x768.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://warped3.substack.com/p/overview-of-holographic-displays&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:61323475,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:320593,&quot;publication_name&quot;:&quot;Barn Lab&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Y3ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a66-a476-404c-a8f4-bea7082bbfe9_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>But last week, a YouTube user named <a href="https://www.youtube.com/@ancientjames">ancientjames </a>posted his new experiment with a volumetric hologram that actually looks promising. </p><p>His channel got on my radar when he used a crystal cube engraving as a projection surface. That was brilliant. He called it a Solid State Volumetric Display. Where he sliced the resolution of a projection into layers, and each of the layers contained the resolution/n layers of pixels. So More layers, less resolution. Then, all layers are aligned they create a pixel grid equal to the resolution. Then you can project to different layers as you know which pixel is on which depth layer, and get a 3D image of low resolution. Remember, the projector resolution is divided by the number of layers. Here, the biggest issue is aligning everything correctly.  </p><div id="youtube2-wrfBjRp61iY" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;wrfBjRp61iY&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/wrfBjRp61iY?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>This time, he went a step further and, in my eyes, was even more impressive. When I saw it, I was instantly reminded of SeaQuest DSV Professor Martenson's hologram projection. Or <a href="https://en.wikipedia.org/wiki/Heliodisplay">Heliodisplay</a>, now defunct, decades ahead of their time. </p><p>His approach uses the same principle but makes it way more advanced and impressive. </p><div class="captioned-image-container"><figure><a class="image-link image2" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!60Qi!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!60Qi!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp 424w, /__u/substackcdn.com/image/fetch/$s_!60Qi!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp 848w, /__u/substackcdn.com/image/fetch/$s_!60Qi!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!60Qi!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!60Qi!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp" width="604" height="453" data-attrs="{&quot;src&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/f8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:225,&quot;width&quot;:300,&quot;resizeWidth&quot;:604,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!60Qi!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp 424w, /__u/substackcdn.com/image/fetch/$s_!60Qi!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp 848w, /__u/substackcdn.com/image/fetch/$s_!60Qi!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp 1272w, /__u/substackcdn.com/image/fetch/$s_!60Qi!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Ff8a8a707-7c5a-4657-a1e7-d8b39aec7cd7_300x225.webp 1456w" sizes="100vw" fetchpriority="high"></picture><div></div></div></a><figcaption class="image-caption">SeaQuest DSV</figcaption></figure></div><p>A projector image is split into 8 different views of an object, so again, the projector&#8217;s resolution is divided by 8. Those 8 views are then recombined with mirrors that converge at a central point where a bunch of water atomizers produce fine water vapor that&#8217;s used as a projection screen medium. </p><div id="youtube2-YbxsYhTjYFI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;YbxsYhTjYFI&quot;,&quot;startTime&quot;:&quot;512&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/YbxsYhTjYFI?start=512&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>The result is just shy of amazing. With a better projector or more of them and some fine tuning of alignment, I can truly say that this is the first real contender for a free standing volumetric display that will not chop off your fingers if you try to touch it. Most current volumetric displays use fast moving screens or blades to create an image and are usually housed behind protective glass. <a href="https://www.youtube.com/@ancientjames">Ancient </a>even built his own version of that finger chopping monstrosity. </p><div id="youtube2-pcAEqbYwixU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;pcAEqbYwixU&quot;,&quot;startTime&quot;:&quot;683&quot;,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/pcAEqbYwixU?start=683&amp;rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Also, one suggestion would be to add a top shroud that would pull the water vapor up and make it a closed loop, some water is reclaimed and does not contribute to the humidity of the room that much. But that&#8217;s nitpicking. </p><p>I'm genuinely interested in the future development of this approach, and if you are like me, go and subscribe to his channel.  </p>]]></content:encoded></item><item><title><![CDATA[Mid week Music Break #17 - Old farts Rapping]]></title><description><![CDATA[A little mid week music break from artists you maybe don't know of.]]></description><link>https://warped3.substack.com/p/mid-week-music-break-16-old-farts</link><guid isPermaLink="false">https://warped3.substack.com/p/mid-week-music-break-16-old-farts</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Wed, 29 Apr 2026 19:01:41 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/GBuTTz1-IQU" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-GBuTTz1-IQU" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;GBuTTz1-IQU&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/GBuTTz1-IQU?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-sLLQFLXz6VE" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;sLLQFLXz6VE&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/sLLQFLXz6VE?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-SLIZpWrK8xo" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;SLIZpWrK8xo&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/SLIZpWrK8xo?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[SWAG]]></title><description><![CDATA[indispensable resource for anyone interested in efficient programming from the days gone by]]></description><link>https://warped3.substack.com/p/swag</link><guid isPermaLink="false">https://warped3.substack.com/p/swag</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 24 Apr 2026 19:01:23 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!3f0q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>It is important to remember the past so you don&#8217;t have to reinvent the wheel. </p><p>Every now and again, I think about SWAG. It was mid early 1990&#8217;s,  and I was scouring the BBS&#8217;s of that time (did not have internet, 14.4 modem, dial-up, and a huge phone bill), just a kid looking for a new packet of SWAG. </p><p>SWAG (SourceWare Archival Group) was StackOverflow of that dialup age. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!mztl!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!mztl!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png 424w, /__u/substackcdn.com/image/fetch/$s_!mztl!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png 848w, /__u/substackcdn.com/image/fetch/$s_!mztl!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mztl!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!mztl!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png" width="616" height="369" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:369,&quot;width&quot;:616,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!mztl!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png 424w, /__u/substackcdn.com/image/fetch/$s_!mztl!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png 848w, /__u/substackcdn.com/image/fetch/$s_!mztl!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png 1272w, /__u/substackcdn.com/image/fetch/$s_!mztl!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F15bfd5af-c35a-4f5e-b83c-fec01aaec3e4_616x369.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>SWAG ended up as a collection of around 4000 pieces of PASCAL and Delphi code when it was discontinued in 1997. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;ca2e6c00-1064-41eb-8b66-4eb7ae2d6de1&quot;,&quot;caption&quot;:&quot;aaa the good old Pascal, the second programing language I learned after Basic. I remember how frightened I was holding a Pascal intro book I just got from the library and thinking &#8220;this is so different, I won&#8217;t be able to get it, why am I making my self do this?&#8221;. It turned out it was just my anxiety on seeing Pascal syntax for the first time. Pascal mo&#8230;&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;The forgotten King of Rapid Software Development &quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32258022,&quot;name&quot;:&quot;Ivan Rogoz&quot;,&quot;bio&quot;:&quot;\&quot;Magic is just science we don't understand yet.\&quot;&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bbc88209-54ef-46e3-94fe-0cff7b9acd6b_402x402.gif&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2022-05-10T14:00:36.959Z&quot;,&quot;cover_image&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/9db18911-f32d-4d94-a26c-9c074a0b64bf_450x298.webp&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://warped3.substack.com/p/the-forgotten-king-of-rapid-software&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:53232859,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:320593,&quot;publication_name&quot;:&quot;Barn Lab&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Y3ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a66-a476-404c-a8f4-bea7082bbfe9_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><p>It contained samples, example code for almost any problem you could imagine, tutorials on how to draw plasma, how to repaint buttons, how to do encryption, and so much more. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!3f0q!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!3f0q!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!3f0q!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!3f0q!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!3f0q!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!3f0q!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg" width="1280" height="720" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:720,&quot;width&quot;:1280,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!3f0q!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!3f0q!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!3f0q!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!3f0q!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F4c6b3b28-5fd4-4fec-9c73-c3ce0faac8ca_1280x720.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>I can&#8217;t stress how powerful or meaningful that archive was.  I remember when I did a network chat for a computer science competition in high school over <a href="https://learn.microsoft.com/en-us/windows/win32/ipc/mailslots">mailslot </a>and had to basically recreate my own protocol, my first stop was SWAG, and how to calculate CRC16. </p><p>While that code is mostly obsolete for long-dead systems, many of the algorithms are universal. Windows today are so closed off from underlying hardware that it&#8217;s a miracle anything can be done on them without the blessings of Redmond. When I think about that, I guess that&#8217;s why the refurbished new Windows 95 era computers for industrial use are a thing. A $1.000 for an old new PC is just amazing business. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!ohJP!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!ohJP!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png 424w, /__u/substackcdn.com/image/fetch/$s_!ohJP!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png 848w, /__u/substackcdn.com/image/fetch/$s_!ohJP!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ohJP!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!ohJP!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png" width="1456" height="1583" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:1583,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:864927,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/194486984?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!ohJP!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png 424w, /__u/substackcdn.com/image/fetch/$s_!ohJP!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png 848w, /__u/substackcdn.com/image/fetch/$s_!ohJP!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png 1272w, /__u/substackcdn.com/image/fetch/$s_!ohJP!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F762f093f-52df-4020-86a0-5d380ec0de01_1749x1902.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Windows back then could do amazing shit, they could interact with hardware directly, things like making your keyboard status lights (any keyboard), be it a VU meter or a status panel for your HDD read/writes, and so on.  And it was so simple, a couple of Assembler code to write directly to the keyboard register, and that was it, it was magic. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!k0rk!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!k0rk!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif 424w, /__u/substackcdn.com/image/fetch/$s_!k0rk!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif 848w, /__u/substackcdn.com/image/fetch/$s_!k0rk!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!k0rk!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!k0rk!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif" width="436" height="624.2727272727273" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:252,&quot;width&quot;:176,&quot;resizeWidth&quot;:436,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!k0rk!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif 424w, /__u/substackcdn.com/image/fetch/$s_!k0rk!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif 848w, /__u/substackcdn.com/image/fetch/$s_!k0rk!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!k0rk!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9296fd8f-0ec4-48fe-bd95-76c3e4d97138_176x252.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><div class="pullquote"><p>There is also a lot to be learned from this code written back when concerns dealt with fitting your entire program on a 1.2 meg floppy, running in 64K memory block sizes and on slower CPUs. Learning from these examples of efficiency illustrated here can only result in better performance in our programs today.</p><p><a href="https://github.com/nickelsworth/swag">https://github.com/nickelsworth</a></p></div><p><a href="https://github.com/delphidabbler/code-snippets">DelphiDabbler Code Snippets Collection</a> is a spiritual successor to that original project and is maintained by Peter Johnson. That collection contains some 700 example code snippets for Delphi. He also has a <a href="https://github.com/delphidabbler/swag">mirror of SWAG</a>. </p><p>An online version you can browse right now is on the <a href="http://www.retroarchive.org/swag/index.html">RetroArchive SWAG page</a>. </p><p>For an even further stroll down memory lane, check out </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;bf96e041-2d36-4059-8c88-a6a8c5b51934&quot;,&quot;caption&quot;:&quot;I was rummaging around my BackUp folder and found a bunch of old BASIC code. Most of it was in binary format saved several decades ago so it was not readable as text. QBasic can still be run on Windows systems but within DOSBox which takes time to set up. Luckily, there is a much better alternative in&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;lg&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Blast from the past - QBasic 4.5&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32258022,&quot;name&quot;:&quot;Ivan Rogoz&quot;,&quot;bio&quot;:&quot;\&quot;Magic is just science we don't understand yet.\&quot;&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bbc88209-54ef-46e3-94fe-0cff7b9acd6b_402x402.gif&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2022-04-07T09:10:31.029Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!ppeU!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2Fedbd5686-338f-4de4-910b-7bbd505393b9_1280x1280.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://warped3.substack.com/p/blast-from-the-past-qbasic-45&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:51712054,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:320593,&quot;publication_name&quot;:&quot;Barn Lab&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Y3ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a66-a476-404c-a8f4-bea7082bbfe9_500x500.png&quot;,&quot;belowTheFold&quot;:true,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Mid week Music Break #15 - The 90's fun music]]></title><description><![CDATA[A little mid week music break from artists you maybe don't know of.]]></description><link>https://warped3.substack.com/p/mid-week-music-break-15-the-90s-fun</link><guid isPermaLink="false">https://warped3.substack.com/p/mid-week-music-break-15-the-90s-fun</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Wed, 22 Apr 2026 19:00:31 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/xjwkXYB4nHs" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>The mid 90s of the past century were fun, and we got a lot of funny songs, unlike today, when everything is so freaking serious. We had Weird Al Yankovic and the Presidents of the United States. And in my opinion The Presidents are way more funnier as they are more cerebral satire than direct one, what Al did. </p><div id="youtube2-wo2L--mZ4h8" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;wo2L--mZ4h8&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/wo2L--mZ4h8?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-3GCrzjVdmSg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;3GCrzjVdmSg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/3GCrzjVdmSg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-Y8lBxUScbXg" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;Y8lBxUScbXg&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/Y8lBxUScbXg?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div><hr></div><div id="youtube2-R3GzhOKY-3c" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;R3GzhOKY-3c&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/R3GzhOKY-3c?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>and the original from The Presidents of the United States:</p><div id="youtube2-xjwkXYB4nHs" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;xjwkXYB4nHs&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/xjwkXYB4nHs?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[Interesting game startup idea recreated]]></title><description><![CDATA[Old tricks never die.]]></description><link>https://warped3.substack.com/p/interesting-games-startup-idea-recreated</link><guid isPermaLink="false">https://warped3.substack.com/p/interesting-games-startup-idea-recreated</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 17 Apr 2026 19:00:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!4RU_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I was doom scrolling TikTok one day, as any normal person does, and this post came up. </p><div id="tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40cobratekku.games%2Fvideo%2F7615626852341714208&amp;key=e27c740634285c9ddc20db64f73358dd" class="tiktok-wrap outer" data-attrs="{&quot;url&quot;:&quot;https://www.tiktok.com/@cobratekku.games/video/7615626852341714208&quot;,&quot;title&quot;:&quot;We love the response we got to the demo for KIYO - Bunny Tyranny during #NextFest! Thank you to @beardedmuscletv for trying out our game and sharing it with your community!&quot;,&quot;thumbnail_url&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/12e940ea-85fc-4dbd-8641-058c0965a254_1080x1920.jpeg&quot;,&quot;author&quot;:&quot;CobraTekku Games&quot;,&quot;embed_url&quot;:&quot;https://cdn.iframe.ly/api/iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40cobratekku.games%2Fvideo%2F7615626852341714208&amp;key=e27c740634285c9ddc20db64f73358dd&quot;,&quot;author_url&quot;:&quot;https://www.tiktok.com/@cobratekku.games&quot;,&quot;belowTheFold&quot;:false}" data-component-name="TikTokCreateTikTokEmbed"><iframe id="iframe-tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40cobratekku.games%2Fvideo%2F7615626852341714208&amp;key=e27c740634285c9ddc20db64f73358dd" class="tiktok-iframe" src="https://cdn.iframe.ly/api/iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40cobratekku.games%2Fvideo%2F7615626852341714208&amp;key=e27c740634285c9ddc20db64f73358dd" frameborder="0" allow="autoplay; fullscreen; encrypted-media" allowfullscreen="" scrolling="no"></iframe><iframe src="https://team-hosted-public.s3.amazonaws.com/set-then-check-cookie.html" id="third-party-iframe-tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40cobratekku.games%2Fvideo%2F7615626852341714208&amp;key=e27c740634285c9ddc20db64f73358dd" class="third-party-cookie-check-iframe" style="display: none;"></iframe><div class="tiktok-wrap static" data-component-name="TikTokCreateStaticTikTokEmbed"><a href="https://www.tiktok.com/@cobratekku.games/video/7615626852341714208" target="_blank"><img class="tiktok thumbnail" src="/__u/substackcdn.com/image/fetch/$s_!QE8E!,w_640,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e940ea-85fc-4dbd-8641-058c0965a254_1080x1920.jpeg" style="background-image: url(/__u/substackcdn.com/image/fetch/$s_!QE8E!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F12e940ea-85fc-4dbd-8641-058c0965a254_1080x1920.jpeg);"></a><div class="content"><a class="author" href="https://www.tiktok.com/@cobratekku.games" target="_blank">@cobratekku.games</a><a class="title" href="https://www.tiktok.com/@cobratekku.games/video/7615626852341714208" target="_blank">We love the response we got to the demo for KIYO - Bunny Tyranny during #NextFest! Thank you to @beardedmuscletv for trying out our game and sharing it with your community!</a></div></div><div class="fallback-failure" id="fallback-failure-tiktok-iframe?media=1&amp;app=1&amp;url=https%3A%2F%2Fwww.tiktok.com%2F%40cobratekku.games%2Fvideo%2F7615626852341714208&amp;key=e27c740634285c9ddc20db64f73358dd"><div class="error-content"><img class="error-icon" src="/__u/substackcdn.com//img/alert-circle.svg">Tiktok failed to load.<br><br>Enable 3rd party cookies or use another browser</div></div></div><p>And I was like, I know how that&#8217;s made, done a similar trick before. What you do is on start take a screenshot of the screen and then apply effects on that image. Not that hard to do, but yes, it&#8217;s effective. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4RU_!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4RU_!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif 424w, /__u/substackcdn.com/image/fetch/$s_!4RU_!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif 848w, /__u/substackcdn.com/image/fetch/$s_!4RU_!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!4RU_!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4RU_!,w_1456,c_limit,f_auto,q_auto:good,fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif" width="720" height="396" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/afb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:330,&quot;width&quot;:600,&quot;resizeWidth&quot;:720,&quot;bytes&quot;:null,&quot;alt&quot;:null,&quot;title&quot;:null,&quot;type&quot;:null,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:null,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" srcset="/__u/substackcdn.com/image/fetch/$s_!4RU_!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif 424w, /__u/substackcdn.com/image/fetch/$s_!4RU_!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif 848w, /__u/substackcdn.com/image/fetch/$s_!4RU_!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!4RU_!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_lossy/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2Fafb5ad20-3d3a-4b23-8249-943c312523e5_600x330.gif 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>- captures the current desktop image at launch</p><p>- opens a fullscreen borderless topmost window</p><p>- replays the captured desktop as a tile-based dissolve into black</p><p>- reveals a centered welcome message near the end of the effect</p><p>- exits when the user presses &#8220;esc<code>&#8221;</code></p><p>Code for this effect can be found on <a href="https://github.com/IvRogoz/GameOpeningScreen">BarnLabs GitHub</a>. </p>]]></content:encoded></item><item><title><![CDATA[Mid week Video Break #2 - TV Nostalgia edition]]></title><description><![CDATA[Full TV episodes and Seasons are available on Youtube]]></description><link>https://warped3.substack.com/p/mid-week-video-break-2-tv-nostalgia</link><guid isPermaLink="false">https://warped3.substack.com/p/mid-week-video-break-2-tv-nostalgia</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Wed, 15 Apr 2026 19:01:01 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/af9d4f64-d024-4f7a-b076-83c598fa1a7e_1224x800.jpeg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>When I was a kid, there were several shows that stuck with me. Every Sunday, I would eagerly wait for the next episode of The Littlest Hobo. An intelligent, ownerless German Shepherd wanders from town to town, where he befriends people in trouble. Be it a family, a child, or anyone facing a problem, he uses his cleverness and bravery to help them solve it.</p><p>Once the situation is resolved, he gently refuses offers to stay as a pet and continues his lonely journey to the next adventure.</p><div id="youtube2-kqjQSHMqgss" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;kqjQSHMqgss&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/kqjQSHMqgss?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Then there was  Captain Power and the Soldiers of the Future. I remember spending hours upon hours with my friends discussing how those armours could become reality. We were just getting introduced to chemistry and thought electroplating was probably the best solution, but slow (dumb, I know, but we were kids) </p><p>In the year 2147, after the <strong>Metal Wars</strong>, evil machines rule the Earth. Led by the tyrannical <strong>Lord Dread</strong>, the robotic Bio-Dreads hunt down surviving humans and &#8220;digitize&#8221; them. Captain Jonathan Power and the Soldiers of the Future use high-tech <strong>Power Suits</strong> that transform them into armored super soldiers. They wage a guerrilla war against the machine empire from their hidden base, hoping to restore humanity&#8217;s freedom.</p><div id="youtube2-5aeiE_t6tlM" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5aeiE_t6tlM&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5aeiE_t6tlM?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>Automan was a weird show, but it had graphics that I never knew were possible at that time. It&#8217;s a basic procedural crime fighting show, but I was mesmerized. A police computer expert creates <strong>Automan,</strong> a powerful holographic superhero who can materialize in the real world at night.</p><p>Together with a small floating helper called Cursor, Automan fights crime in flashy, high-tech style. He can shape-shift, create objects out of thin air (including the iconic glowing supercar), and pull off impossible stunts while pretending to be a government agent.</p><div id="youtube2-OuTQUJNQMxI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;OuTQUJNQMxI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/OuTQUJNQMxI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p>And finally, a slow, true 80s teen scifi show about a girl from the future that gets sent back in time. What I remember to this day is that her ship had the ability to producee clean water and that the criminal in the show was pumping toilet water to his future society for profit as they had none. </p><div id="youtube2-NRO8gvpPVoQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;NRO8gvpPVoQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/NRO8gvpPVoQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p></p><p></p>]]></content:encoded></item><item><title><![CDATA[Direct Win32 API, Weird-Shaped Windows, and Why They Mostly Disappeared]]></title><description><![CDATA[The nice thing about Win32 is that it does not try to talk you out of any of this. It just gives you the messages, the handles, the drawing APIs, and enough rope to ...]]></description><link>https://warped3.substack.com/p/direct-win32-api-weird-shaped-windows</link><guid isPermaLink="false">https://warped3.substack.com/p/direct-win32-api-weird-shaped-windows</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 10 Apr 2026 19:01:24 GMT</pubDate><enclosure url="https://substackcdn.com/image/fetch/$s_!Ogvq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>I&#8217;m fed up with generic looking apps. Today, all Windows desktop apps look the same as they are the same; they are all built on crap React, Electron, electronbun, and Tauri browser wrappers that mimic the real Desktop apps. They run slow, take a shit load of memory, basically bloatware. Notepad is a freaking basic NOTE taking app, not a Word replacement, calculator is a calculator, not a NASA moon mission planner. Somewhere along the way, Microsoft has lost the plot. It&#8217;s like they have given up and gave the reins to a bunch of web developers who have no concept of optimization. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;7f52f668-03cc-4b7f-8278-613f12e710cc&quot;,&quot;caption&quot;:&quot;I&#8217;m on a quest.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;Quest for the Ultimate GUI Framework&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32258022,&quot;name&quot;:&quot;Ivan Rogoz&quot;,&quot;bio&quot;:&quot;\&quot;Magic is just science we don't understand yet.\&quot;&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bbc88209-54ef-46e3-94fe-0cff7b9acd6b_402x402.gif&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2025-06-27T19:01:47.754Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F26803c2e-48dc-4724-9eea-7b2186752ed7_680x383.jpeg&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://warped3.substack.com/p/quest-for-the-ultimate-gui-framework&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:163187895,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:1,&quot;comment_count&quot;:0,&quot;publication_id&quot;:320593,&quot;publication_name&quot;:&quot;Barn Lab&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Y3ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a66-a476-404c-a8f4-bea7082bbfe9_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>A freaking notepad app takes almost 50mb in memory when equivalent NOTEPAD done in pure Win32 C takes 1.8mb of memory. It doesn&#8217;t look like 50mb is that much in today&#8217;s world, but that&#8217;s the point, mb by mb it all adds up. I recently got a brand new Intel Ultra 9 285 with 32 GB of RAM, and it&#8217;s freaking memory is 77% full when freaking Windows 11 starts up. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!DCDX!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!DCDX!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png 424w, /__u/substackcdn.com/image/fetch/$s_!DCDX!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png 848w, /__u/substackcdn.com/image/fetch/$s_!DCDX!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png 1272w, /__u/substackcdn.com/image/fetch/$s_!DCDX!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!DCDX!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png" width="1456" height="863" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:863,&quot;width&quot;:1456,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:79495,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:true,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/191760630?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!DCDX!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png 424w, /__u/substackcdn.com/image/fetch/$s_!DCDX!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png 848w, /__u/substackcdn.com/image/fetch/$s_!DCDX!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png 1272w, /__u/substackcdn.com/image/fetch/$s_!DCDX!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F694a3e71-3222-4679-8580-9c81ecb7531d_1631x967.png 1456w" sizes="100vw" fetchpriority="high"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Programming with Win32 API is a lost art now, and I look longingly at how Windows apps were once programmed. It was messy, but it gave you complete control. </p><p>Most modern UI programming tries to hide the operating system from you. You are stuck with a rectangular box while there was a period in the Windows XP era when it was cool to have non standard application window, even Windows Media Player had it. </p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!4_W1!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!4_W1!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!4_W1!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!4_W1!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!4_W1!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!4_W1!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg" width="587" height="440" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:440,&quot;width&quot;:587,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:49036,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/191760630?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!4_W1!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!4_W1!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!4_W1!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!4_W1!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F7a28e491-14af-4e30-96ad-ec6d2318c205_587x440.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>Not everything had to be a bland, rounded rectangle with a sidebar, a settings cog, and a web stack squatting underneath it. There was a period when Windows apps were allowed to look strange. Media players looked like hardware. Desktop mascots walked around your screen. Utility panels looked like dashboards, toys, radios, or little alien control consoles. A window did not have to be a rectangle just because the operating system started you with one.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!1T1b!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!1T1b!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!1T1b!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!1T1b!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!1T1b!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!1T1b!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg" width="975" height="403" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:403,&quot;width&quot;:975,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:55265,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/jpeg&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:false,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/191760630?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!1T1b!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg 424w, /__u/substackcdn.com/image/fetch/$s_!1T1b!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg 848w, /__u/substackcdn.com/image/fetch/$s_!1T1b!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg 1272w, /__u/substackcdn.com/image/fetch/$s_!1T1b!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F654a8b12-1d93-4099-93d4-3d81316f5069_975x403.jpeg 1456w" sizes="100vw"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The point was usually not usability. It was identity. </p><p>That is the part modern desktop UI mostly lost. Not because Windows cannot do it anymore, but because most people no longer program at the level where the window itself is something they control.</p><p><a href="https://github.com/IvRogoz/WierdApps">The GitHub repository </a>of this post is a small reminder that Win32 still lets you do exactly that. One example makes a window elliptical. Another shapes it from a bitmap. The third turns the whole thing into an animated desktop mascot. None of it requires a giant framework. It just requires dealing with Windows directly.</p><p>The first thing that confuses people if they come from games, browsers, or modern UI frameworks is that Win32 does not revolve around an update loop you own. It revolves around messages. Your app sits there, and Windows keeps handing it events:</p><p><code>while (GetMessage(&amp;msg, NULL, 0, 0) &gt; 0) {</code></p><p><code>    TranslateMessage(&amp;msg);</code></p><p><code>    DispatchMessage(&amp;msg);</code></p><p><code>}</code></p><p>That loop is the contract. Windows says something happened, and your window procedure decides what that means. &#8220;WM_CREATE&#8221; means the window is being created. &#8220;WM_PAINT&#8221; means it needs to be redrawn. &#8220;WM_SIZE&#8221; means its client area changed. &#8220;WM_DESTROY&#8221; means it is done. That is the real shape of Win32 programming: you build behavior one message at a time.</p><p>And once you understand that, weird-shaped windows stop feeling mysterious.</p><p>A normal top-level window is rectangular, but Windows also has the idea of a region object, an &#8220;HRGN&#8221;. If you assign a region to a window with &#8220;SetWindowRgn&#8221;, only that part counts as the actual window. The rest disappears, both visually and interactively. That is the trick.</p><p>The simplest version is the one in &#8220;basic/main.c&#8221;. It creates a borderless window and then does this:</p><p><code>region = CreateEllipticRgn(0, 0, rc.right, rc.bottom);</code></p><p><code>SetWindowRgn(hwnd, region, TRUE);</code></p><p>That is enough to turn the window into an oval. Not a fake oval painted inside a rectangular frame, but an actual oval HWND. The sample also handles the practical bit people forget: once you remove the title bar, the system is no longer going to drag the window for you. So on &#8220;WM_LBUTTONDOWN&#8221;, it fakes a title-bar drag by sending &#8220;WM_NCLBUTTONDOWN&#8221; with &#8220;HTCAPTION&#8221;.</p><p>That little detail is the whole story of custom windows in miniature. Making the shape is easy. Replacing what the normal frame used to do for free is the real work.</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!nE-g!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!nE-g!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png 424w, /__u/substackcdn.com/image/fetch/$s_!nE-g!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png 848w, /__u/substackcdn.com/image/fetch/$s_!nE-g!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nE-g!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!nE-g!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png" width="845" height="547" data-attrs="{&quot;src&quot;:&quot;https://substack-post-media.s3.amazonaws.com/public/images/331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:547,&quot;width&quot;:845,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:48480,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/png&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/191760630?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!nE-g!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png 424w, /__u/substackcdn.com/image/fetch/$s_!nE-g!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png 848w, /__u/substackcdn.com/image/fetch/$s_!nE-g!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png 1272w, /__u/substackcdn.com/image/fetch/$s_!nE-g!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F331a3e1a-6a3a-42ac-a757-00a094d5f044_845x547.png 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>The next sample is where it gets more interesting. Instead of defining the shape mathematically, &#8220;drivenbyimage/main.c&#8221; derives it from bitmap data. It loads &#8220;shape.bmp&#8221;, reads the pixels with &#8220;GetDIBits&#8221;, then scans the image row by row. Every horizontal run of non-transparent pixels becomes a tiny rectangle region, and those runs are combined into one final window region.</p><p><code>#define TRANSPARENT_COLOR RGB(255, 0, 255)</code></p><p>Magenta means empty space. Everything else becomes part of the window.</p><p>That means the bitmap is doing two jobs at once. First, it is the thing you paint in &#8220;WM_PAINT&#8221;. Second, it is the shape of the actual window. That is how a lot of old skinned apps worked. You were not limited to circles, rounded corners, or neat vector geometry. If the image looked like a dog, a spaceship, a stereo, or a cartoon face, the window could be that shape too.</p><p>This is the part that made old desktop software fun. The window frame stopped being a law of nature and became just another asset.</p><p>But bitmap-driven regions still have a hard edge. A pixel is either in or out. That is perfect for silhouettes and cutout UI, but if you want soft edges, translucent pixels, or animation, you need to move to layered windows.</p><p>That is what the &#8220;Animated/&#8221; example does. I found a nice sprite sheet of an animated 8bit dog on itch from the artist <a href="https://inmenus.itch.io/dog">inmenus, </a>who gave that art to Creative Commons. So thank you for that.  </p><p>Instead of carving the window out of a region, the example creates a &#8220;WS_EX_LAYERED&#8221; popup and uploads a 32-bit alpha image into it with &#8220;UpdateLayeredWindow&#8221;. The sample uses a sprite sheet, advances frames on a timer, draws into a memory bitmap with GDI+, and then pushes the result to the desktop. At that point, you are not really saying &#8220;my window is an ellipse&#8221; or &#8220;my window matches this mask.&#8221; You are saying &#8220;my window is whatever these pixels are right now.&#8221;</p><div class="captioned-image-container"><figure><a class="image-link image2 is-viewable-img" target="_blank" href="/__u/substackcdn.com/image/fetch/$s_!Ogvq!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif" data-component-name="Image2ToDOM"><div class="image2-inset"><picture><source type="image/webp" srcset="/__u/substackcdn.com/image/fetch/$s_!Ogvq!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif 424w, /__u/substackcdn.com/image/fetch/$s_!Ogvq!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif 848w, /__u/substackcdn.com/image/fetch/$s_!Ogvq!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!Ogvq!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_webp, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif 1456w" sizes="100vw"><img src="/__u/substackcdn.com/image/fetch/$s_!Ogvq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif" width="1130" height="362" data-attrs="{&quot;src&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Ogvq!,w_1456,c_limit,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif&quot;,&quot;srcNoWatermark&quot;:null,&quot;fullscreen&quot;:null,&quot;imageSize&quot;:null,&quot;height&quot;:362,&quot;width&quot;:1130,&quot;resizeWidth&quot;:null,&quot;bytes&quot;:455889,&quot;alt&quot;:&quot;&quot;,&quot;title&quot;:null,&quot;type&quot;:&quot;image/gif&quot;,&quot;href&quot;:null,&quot;belowTheFold&quot;:true,&quot;topImage&quot;:false,&quot;internalRedirect&quot;:&quot;https://warped3.substack.com/i/191760630?img=https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif&quot;,&quot;isProcessing&quot;:false,&quot;align&quot;:null,&quot;offset&quot;:false}" class="sizing-normal" alt="" title="" srcset="/__u/substackcdn.com/image/fetch/$s_!Ogvq!, /__u/warped3.substack.com/w_424, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif 424w, /__u/substackcdn.com/image/fetch/$s_!Ogvq!, /__u/warped3.substack.com/w_848, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif 848w, /__u/substackcdn.com/image/fetch/$s_!Ogvq!, /__u/warped3.substack.com/w_1272, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif 1272w, /__u/substackcdn.com/image/fetch/$s_!Ogvq!, /__u/warped3.substack.com/w_1456, /__u/warped3.substack.com/c_limit, /__u/warped3.substack.com/f_auto, /__u/warped3.substack.com/q_auto:good, /__u/warped3.substack.com/fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F8583506a-b1b6-4ca3-9eb9-8e7f674b05b7_1130x362.gif 1456w" sizes="100vw" loading="lazy"></picture><div class="image-link-expand"><div class="pencraft pc-display-flex pc-gap-8 pc-reset"><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container restack-image"><svg aria-hidden="true" width="20" height="20" viewBox="0 0 20 20" fill="none" stroke-width="1.5" stroke="var(--color-fg-primary)" stroke-linecap="round" stroke-linejoin="round" xmlns="http://www.w3.org/2000/svg"><g><path d="M2.53001 7.81595C3.49179 4.73911 6.43281 2.5 9.91173 2.5C13.1684 2.5 15.9537 4.46214 17.0852 7.23684L17.6179 8.67647M17.6179 8.67647L18.5002 4.26471M17.6179 8.67647L13.6473 6.91176M17.4995 12.1841C16.5378 15.2609 13.5967 17.5 10.1178 17.5C6.86118 17.5 4.07589 15.5379 2.94432 12.7632L2.41165 11.3235M2.41165 11.3235L1.5293 15.7353M2.41165 11.3235L6.38224 13.0882"></path></g></svg></button><button tabindex="0" type="button" class="pencraft pc-reset pencraft icon-container view-image"><svg xmlns="http://www.w3.org/2000/svg" width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="lucide lucide-maximize2 lucide-maximize-2"><polyline points="15 3 21 3 21 9"></polyline><polyline points="9 21 3 21 3 15"></polyline><line x1="21" x2="14" y1="3" y2="10"></line><line x1="3" x2="10" y1="21" y2="14"></line></svg></button></div></div></div></a></figure></div><p>An animated mascot works better as a layered window because you get per-pixel alpha, cleaner edges, proper transparency, and freedom to change the visible shape every frame.</p><div><hr></div><p>But there is an issue with Win32 API programming. And the truth is that custom windows mean doing everything yourself, controlling every Windows message, and that is fragile. </p><p>The awkward part begins the moment you decide to throw away the normal frame. Then you own dragging, resizing, close behavior, hit testing, keyboard handling, repaint correctness, DPI handling, and every annoying little edge case the default window had already solved decades ago. That is why weird shaped windows are easy to prototype and expensive to polish.</p><p>Users do not usually reward that effort unless the result is genuinely exceptional.</p><p>Desktop UI culture shifted from &#8220;look at this crazy skin&#8221; to &#8220;work reliably and get out of my way.&#8221; Weird windows became associated with gimmicks, adware, toolbars, and bloated utilities more often than with serious software. Which is a shame. </p><p>Still, I like that this stuff exists. It reminds you that Windows was once a platform where software could have a physical presence, not just a page layout inside a disguised browser tab. Most of the time, a normal rectangular window is the right answer. But it is good to remember that it is a choice, not a law.</p><p>The nice thing about Win32 is that it does not try to talk you out of any of this. It just gives you the messages, the handles, the drawing APIs, and enough rope to build something interesting.</p><p>Code can be found in <a href="https://github.com/IvRogoz/WierdApps">the GitHub repository </a>of this post.</p>]]></content:encoded></item><item><title><![CDATA[Mid week Music Break #16 - Master of Beatboxing]]></title><description><![CDATA[A little mid week music break from artists you maybe don't know of.]]></description><link>https://warped3.substack.com/p/mid-week-music-break-16-master-of</link><guid isPermaLink="false">https://warped3.substack.com/p/mid-week-music-break-16-master-of</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Wed, 08 Apr 2026 19:00:48 GMT</pubDate><enclosure url="https://substackcdn.com/image/youtube/w_728,c_limit/bioYs6oAD8g" length="0" type="image/jpeg"/><content:encoded><![CDATA[<div id="youtube2-bioYs6oAD8g" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;bioYs6oAD8g&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/bioYs6oAD8g?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-YEHRz2013RI" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;YEHRz2013RI&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/YEHRz2013RI?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-nGrcpc-v6lA" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;nGrcpc-v6lA&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/nGrcpc-v6lA?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-EwI-Ttci9qQ" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;EwI-Ttci9qQ&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/EwI-Ttci9qQ?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2--Cs3GyzRB2k" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;-Cs3GyzRB2k&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/-Cs3GyzRB2k?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><div id="youtube2-eh-72yBP7sw" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;eh-72yBP7sw&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/eh-72yBP7sw?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div>]]></content:encoded></item><item><title><![CDATA[Programming Music ]]></title><description><![CDATA[Instead of a piano keyboard, let's use a computer keyboard for coding music.]]></description><link>https://warped3.substack.com/p/programming-music</link><guid isPermaLink="false">https://warped3.substack.com/p/programming-music</guid><dc:creator><![CDATA[Ivan Rogoz]]></dc:creator><pubDate>Fri, 03 Apr 2026 19:01:42 GMT</pubDate><enclosure url="https://substack-post-media.s3.amazonaws.com/public/images/a537f8ff-c329-4136-8587-24fae45832fd_1536x1024.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>As a programmer, I love seeing an innovative approach to established paradigms of how things should be.</p><div class="native-video-embed" data-component-name="VideoPlaceholder" data-attrs="{&quot;mediaUploadId&quot;:&quot;6c110ffe-0296-4749-a40f-e13d1629c57b&quot;,&quot;duration&quot;:null}"></div><p>This is not the first time this has been made. Well, it is, but there was a similar approach to music in the early 80s called MOD. Born in the late 1980s on the Commodore Amiga, it was itself a hacker&#8217;s answer to limited hardware. You had a few sound channels, a set of samples stored in memory, and a vertical grid where time advanced in rows much like an Excel sheet of music. Each cell told the machine what to play, how to play it, and when to stop.<br>Something like:</p><pre><code><code>C-3 01 20
--- -- --
E-3 02 A0</code></code></pre><p>Notes, instrument numbers, and effects. Every column, every row was tightly packed data telling the sound chip what to do. It was deterministic, constrained, and brutally efficient. Every byte counted. Every row meant something. The composer was half musician, half assembler programmer. A MOD file wasn&#8217;t just a song; it was an instruction sheet for sound, and I loved it. To this day, I love 8bit music. </p><p>I remember hours spent listening to MOD music using FastTracker II. There&#8217;s a whole post about that legendary player. </p><div class="digest-post-embed" data-attrs="{&quot;nodeId&quot;:&quot;6363372b-eb81-4ffc-b0a6-f534439f0abb&quot;,&quot;caption&quot;:&quot;As a musical update to my post about the Demo scene let me introduce to you the MOD or Module file. Before mp3 but after the computer speaker chirps and beeps came MOD file.&quot;,&quot;cta&quot;:&quot;Read full story&quot;,&quot;showBylines&quot;:true,&quot;showDescription&quot;:true,&quot;showImage&quot;:true,&quot;size&quot;:&quot;sm&quot;,&quot;isEditorNode&quot;:true,&quot;title&quot;:&quot;FastTracker II - King of 8bit tunes&quot;,&quot;publishedBylines&quot;:[{&quot;id&quot;:32258022,&quot;name&quot;:&quot;Ivan Rogoz&quot;,&quot;bio&quot;:&quot;\&quot;Magic is just science we don't understand yet.\&quot;&quot;,&quot;photo_url&quot;:&quot;https://bucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com/public/images/bbc88209-54ef-46e3-94fe-0cff7b9acd6b_402x402.gif&quot;,&quot;is_guest&quot;:false,&quot;bestseller_tier&quot;:null}],&quot;post_date&quot;:&quot;2021-06-02T08:12:23.394Z&quot;,&quot;cover_image&quot;:&quot;https://substackcdn.com/image/fetch/$s_!q4ka!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fbucketeer-e05bbc84-baa3-437e-9518-adb32be77984.s3.amazonaws.com%2Fpublic%2Fimages%2F5b581bcf-dac4-4880-90ab-13b4a1ec5625_1894x1225.png&quot;,&quot;cover_image_alt&quot;:null,&quot;canonical_url&quot;:&quot;https://warped3.substack.com/p/fasttracker-ii-king-of-8bit-tunes&quot;,&quot;section_name&quot;:null,&quot;video_upload_id&quot;:null,&quot;id&quot;:34270659,&quot;type&quot;:&quot;newsletter&quot;,&quot;reaction_count&quot;:0,&quot;comment_count&quot;:0,&quot;publication_id&quot;:320593,&quot;publication_name&quot;:&quot;Barn Lab&quot;,&quot;publication_logo_url&quot;:&quot;https://substackcdn.com/image/fetch/$s_!Y3ue!,f_auto,q_auto:good,fl_progressive:steep/https%3A%2F%2Fsubstack-post-media.s3.amazonaws.com%2Fpublic%2Fimages%2F9dc41a66-a476-404c-a8f4-bea7082bbfe9_500x500.png&quot;,&quot;belowTheFold&quot;:false,&quot;youtube_url&quot;:null,&quot;show_links&quot;:null,&quot;feed_url&quot;:null}"></div><p>Enough about MOD and old school music formats. Let&#8217;s look at <a href="https://strudel.cc/">Strudel</a>.</p><div id="youtube2-5KotMHcTx1I" class="youtube-wrap" data-attrs="{&quot;videoId&quot;:&quot;5KotMHcTx1I&quot;,&quot;startTime&quot;:null,&quot;endTime&quot;:null}" data-component-name="Youtube2ToDOM"><div class="youtube-inner"><iframe src="https://www.youtube-nocookie.com/embed/5KotMHcTx1I?rel=0&amp;autoplay=0&amp;showinfo=0&amp;enablejsapi=0" frameborder="0" loading="lazy" gesture="media" allow="autoplay; fullscreen" allowautoplay="true" allowfullscreen="true" width="728" height="409"></iframe></div></div><p><a href="https://strudel.cc/workshop/getting-started/">Strudel</a>, at its core, is the JavaScript reincarnation of <a href="https://tidalcycles.org/">TidalCycles</a>. It runs entirely in your browser with no installation, no compilation, no setup headaches, unlike <a href="https://tidalcycles.org/">TidalCycles</a>. You open a tab, write a few lines of code, and sound emerges. Its design feels lightweight but conceptually dense. You&#8217;re not writing imperative code that &#8220;plays&#8221; a note; you&#8217;re defining patterns, rules, and transformations that unfold over time. Time itself becomes a variable, a playground. Its syntax can be cryptic at first, like any new programming language, but as soon as you &#8220;get it,&#8221; it becomes second nature to use. </p><p>Now, there are issues. Browsers are imprecise timekeepers; JavaScript timers jitter, and latency can vary across devices. Also, you get synths built from oscillators, samples, filters, and the creative limits of JavaScript&#8217;s Web Audio API. It sounds good, but could be better. </p><p><a href="https://sonic-pi.net/">Sonic Pi</a>, on the other hand, descends from a different lineage. Originally conceived as an educational project for the Raspberry Pi, it grew into a fully fledged live performance environment. </p><p><a href="https://sonic-pi.net/">Sonic Pi</a> is a desktop app. It connects directly to <strong><a href="https://supercollider.github.io/">SuperCollider</a></strong>, a veteran sound synthesis engine that powers serious digital instruments. That link gives Sonic Pi a richness Strudel can&#8217;t yet match: complex synthesizers, modulated effects, MIDI integration, network sync, and rock-solid scheduling. Its loops are threaded through a scheduler that guarantees temporal precision, even while you rewrite them on the fly. It&#8217;s less ephemeral than Strudel, more grounded, more mature.</p><p>Strudel treats time as a pattern to be reshaped, where everything is data, everything is transformable. Sonic Pi treats time as flow or something to be looped, synchronized, stretched, but always flowing forward.</p><p>They&#8217;re not rivals. They&#8217;re parallel evolutions in the same ecosystem. Strudel for immediacy, Sonic Pi for depth. Together, they remind us that code is not just logic. When we type, we don&#8217;t just command a machine, we compose, we improvise, we listen. Strudel and Sonic Pi are proof that sometimes, the most elegant code doesn&#8217;t just print &#8220;Hello, world.&#8221; </p><p>There is a <a href="https://github.com/eefano/strudel-songs-collection/tree/main">collection of Strudel songs on GitHub</a> for you to tryout and enjoy. And if you would like to save any music to your local drive, use <a href="http://warm.strudel.cc">warm.strudel.cc</a>, which has an export function. But I found that it has a tendency to crash if you are exporting long songs. There is a Python script on <a href="https://github.com/IvRogoz/strudl">BarnLab&#8217;s GitHub</a> that can do that. </p>]]></content:encoded></item></channel></rss>