<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><description>(Always) Aspiring graphics programmer, math lover, technical director at We The Collective.&#xA;&#xA;https://github.com/liamegan&#xA;&#xA;https://www.surface-detail.com/&#xA;&#xA;https://codepen.io/shubniggurath/pens/</description><link>https://bsky.app/profile/liamegan.bsky.social</link><title>@liamegan.bsky.social - Liam Egan</title><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mr3kwv4sbk2l</link><description>A love letter to Pachinko!&#xA;&#xA;Converting from font to SVG to collision object, using matter.js to play pachinko with letters!</description><pubDate>20 Jul 2026 15:04 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mr3kwv4sbk2l</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mmcbbnkcck26</link><description>Something new in the works. &#xA;&#xA;#gsap</description><pubDate>20 May 2026 15:54 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mmcbbnkcck26</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mm5iceb46s2q</link><description>We recently created a new recipe for our internal WebGL library that provides a way to attach WebGL programs to DOM elements (inspired by curtains.js). This opens up a lot of options for us on internal projects.</description><pubDate>18 May 2026 18:16 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mm5iceb46s2q</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mlo5bbehec2v</link><description>I&#39;ve wanted to make this for quite some time; a WebGPU sand simulator using compute shaders and persistent states (none of the messy WebGL texture workarounds). it turned out to be surprisingly solid (even if there *are* some funny limitations like sand sitting on water).</description><pubDate>12 May 2026 15:49 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mlo5bbehec2v</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mlbfaosthc2l</link><pubDate>07 May 2026 14:07 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mlbfaosthc2l</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mk6dyn7b7s22</link><pubDate>23 Apr 2026 15:41 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mk6dyn7b7s22</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mjnwmfdfgs2j</link><description>I&#39;ve been reading Shadow &amp; Claw by Gene Wolf, and I&#39;m struggling with it. It feels almost like Canterbury Tales if it were written by Tarantino, which should be amazing, but I&#39;m just having difficulty finding the motivation to pick it up every day.</description><pubDate>17 Apr 2026 02:59 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mjnwmfdfgs2j</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mjcdjvwmhk25</link><description>So much of the online AI discourse just sounds like performative rationalization.&#xA;&#xA;&#34;AI means I can forget syntax and focus on engineering&#34;. How frequently are you just blindly accepting Claude&#39;s changes?</description><pubDate>12 Apr 2026 12:19 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mjcdjvwmhk25</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mj7zyp4cmk2e</link><description>I wanted to recreate the super-cool variable-font field from the Hottype Exat site (links in next post).</description><pubDate>11 Apr 2026 14:23 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mj7zyp4cmk2e</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mj36fb6xl22f</link><description>Heerich GPU renderer + a simple context-free tree system.</description><pubDate>09 Apr 2026 15:58 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mj36fb6xl22f</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3miynlm6yek22</link><pubDate>08 Apr 2026 15:52 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3miynlm6yek22</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3miyjjtbeo22e</link><description>Adding @gkjohnson.bsky.social pathtracer.</description><pubDate>08 Apr 2026 14:39 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3miyjjtbeo22e</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3miwamu3od22v</link><description>GPU renderer for Heerich, here using Three.JS as a target. Pretty rough at the moment, but it works.</description><pubDate>07 Apr 2026 16:55 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3miwamu3od22v</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3miw5zvpmc226</link><description>First pass writing a technology agnostic GPU renderer for Heerich, I think I may have an issue with winding :D</description><pubDate>07 Apr 2026 16:08 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3miw5zvpmc226</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mirtapmatk2z</link><description>Got the polygon clipping and hatching working&#xA;&#xA;#plottertwitter</description><pubDate>05 Apr 2026 22:45 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mirtapmatk2z</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mirpp4gyn22l</link><description>Hatching @meodai.bsky.social</description><pubDate>05 Apr 2026 21:41 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mirpp4gyn22l</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3miopkirb4227</link><description>Plotted a Heerich drawing. No occlusion culling on this one (haven&#39;t been able to get it to work yet).&#xA;&#xA;@meodai.bsky.social &#xA;&#xA;#plottertwitter</description><pubDate>04 Apr 2026 17:01 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3miopkirb4227</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3mioo2yn6qs27</link><description>Fail plot. I forgot to properly calibrate the pen down position...</description><pubDate>04 Apr 2026 16:34 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3mioo2yn6qs27</guid></item><item><link>https://bsky.app/profile/liamegan.bsky.social/post/3miol27g33k2e</link><description>@meodai.bsky.social Heerich + CFDG&#xA;&#xA;meodai.github.io/heerich/</description><pubDate>04 Apr 2026 15:40 +0000</pubDate><guid isPermaLink="false">at://did:plc:5e3ahd5skyvcmtsaa3qbvimi/app.bsky.feed.post/3miol27g33k2e</guid></item></channel></rss>