<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://video.d20.social/about/instance</loc></url><url><loc>https://video.d20.social/videos/local</loc></url><url><loc>https://video.d20.social/w/cab3PyAGt5VgMowj6FLTvX</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/8f43fc3b-2fb7-4f40-89eb-b1c70457ab77.jpg</video:thumbnail_loc><video:title>First devlog for Mirth Gate</video:title><video:description>I've been working on a Nethack-like dungeon generation algorithm recently.

Here's a quick #gamedev update.

*This was originally published on Mastodon Jan 28, 2024, 08:21 PM.*</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/5a5c6970-7ea6-4814-b720-c8cd929d04e5/2bbb96ee-d007-4dcd-8280-f6b242c9c800-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/cab3PyAGt5VgMowj6FLTvX</video:player_loc><video:duration>213</video:duration><video:rating>0</video:rating><video:view_count>2</video:view_count><video:publication_date>2025-06-17T17:06:02.864Z</video:publication_date><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/jiPkJaGKwDMniKgcUfyWBh</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/2c00eab6-ba92-43c3-87bf-6e0b72baa39b.jpg</video:thumbnail_loc><video:title>It's another #gamedev update!</video:title><video:description>Working with #rails and ActionCable, adding a *second* player was easy work. 🎮 🕹️ 

I mentioned in here "over a second", and immediately realised that it's a millisecond, which explains why everything feels snappy still!</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/94415079-a27d-48d6-8012-b82033af8136/c957c450-4e7e-4dd6-b95d-9812d6a8febd-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/jiPkJaGKwDMniKgcUfyWBh</video:player_loc><video:duration>118</video:duration><video:rating>0</video:rating><video:view_count>2</video:view_count><video:publication_date>2025-06-17T21:35:45.992Z</video:publication_date><video:tag>Rails</video:tag><video:tag>DevLog</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/knmEjhHiB6c2M6kPrgHLuY</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/f709eb1b-6d70-4e48-8ebd-c4bc33da7ece.jpg</video:thumbnail_loc><video:title>Core mechanic time: a Mirth Gate.</video:title><video:description>This gate is operated by giving a key - any key - and it will take you to the corresponding dungeon.

Pretty excited about this #gamedev update because it the start of a gameplay loop forming!</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/9cd8fc7b-b112-40bc-aa6a-7ad4118a49f8/49486ccc-8a7b-49cc-98c7-ea5e2f361fd2-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/knmEjhHiB6c2M6kPrgHLuY</video:player_loc><video:duration>93</video:duration><video:rating>0</video:rating><video:view_count>2</video:view_count><video:publication_date>2025-06-17T21:39:52.961Z</video:publication_date><video:tag>GameDev</video:tag><video:tag>DevLog</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/gSbZWft4cS7UdqrBcMHFFN</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/24e08879-15af-4ef4-996b-597bb28a36ef.jpg</video:thumbnail_loc><video:title>Any ole string</video:title><video:description>The Mirth Gate works with any ole string now! An infinite improvement over yesterday's hardcoded dungeons.

A short #gamedev update tonight, as I'm taking an hour long walk home. Apparently exercise is good for you.</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/807b0bf4-c460-4d96-8e2d-6d75e37a04d8/fe134dc2-3365-4628-80be-cf2253b6a7d3-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/gSbZWft4cS7UdqrBcMHFFN</video:player_loc><video:duration>26</video:duration><video:rating>0</video:rating><video:view_count>3</video:view_count><video:publication_date>2025-06-17T21:41:45.880Z</video:publication_date><video:tag>GameDev</video:tag><video:tag>DevLog</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/vxQMAtVaB68KSEsVSDAfaQ</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/19228ba7-a182-4ccc-b20d-0a2caaa6371f.jpg</video:thumbnail_loc><video:title>Shiney rocks</video:title><video:description>I know you're all excited about this evening's #gamedev log!

💎 💎

Not quite as far as I wanted and thank goodness for [@mudge](https://ruby.social/@mudge) always swooping in to help with some Ruby.</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/ef4b24bd-b27f-429a-8de4-d3663a80fa52/367e8f48-90d5-42ee-a542-9d1f7c55445e-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/vxQMAtVaB68KSEsVSDAfaQ</video:player_loc><video:duration>53</video:duration><video:rating>0</video:rating><video:view_count>3</video:view_count><video:publication_date>2025-06-17T21:45:07.459Z</video:publication_date><video:tag>GameDev</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/xezorjjXEeGEWiwazCwkos</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/dd5e564f-ff74-40af-967f-9438394704c0.jpg</video:thumbnail_loc><video:title>Picking up</video:title><video:description>For tonight's #gamedev log, I present: picking up items and some inventory system. More complexity to come on that.</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/fcf08af7-742d-431c-a18d-4d80e6553792/dfc5a805-6125-4703-91c7-d7a3d502ef00-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/xezorjjXEeGEWiwazCwkos</video:player_loc><video:duration>85</video:duration><video:rating>0</video:rating><video:view_count>2</video:view_count><video:publication_date>2025-06-17T21:47:06.148Z</video:publication_date><video:tag>GameDev</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/2krABLfc3xLpf6HjGKTDME</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/c814ba4b-0cac-4b7b-9c56-e872990ebf80.jpg</video:thumbnail_loc><video:title>UI Day</video:title><video:description>As promised: some UI changes for today's #gamedev log.

Lots of #css changes, as well as setting up my own `@font-family` for the first time.

Back to features for a bit now, and maybe even reinvestigating the Point data type.</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/0ad00b7e-b00a-4836-adbf-1e89f5279534/6b4399b4-605c-4630-8e75-0c4e8ef46f29-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/2krABLfc3xLpf6HjGKTDME</video:player_loc><video:duration>116</video:duration><video:rating>0</video:rating><video:view_count>3</video:view_count><video:publication_date>2025-06-17T21:48:30.003Z</video:publication_date><video:tag>CSS</video:tag><video:tag>GameDev</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/fY16k3JwCtm4WzLTGpH1Tj</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/b71fbf30-d10e-4917-90ea-7cd6d64483c3.jpg</video:thumbnail_loc><video:title>Selling Items</video:title><video:description>Work, cooking, then D&amp;D back-to-back this evening. But I obviously managed to squeeze in a bit of #gamedev.

I'm away to London from tomorrow for the week. Will there be a dev log whilst I'm away from home? Only time will tell!</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/7931a623-4bfb-4839-81a6-762854192f38/fb58c705-9668-457c-b0c3-519a626f9715-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/fY16k3JwCtm4WzLTGpH1Tj</video:player_loc><video:duration>20</video:duration><video:rating>0</video:rating><video:view_count>0</video:view_count><video:publication_date>2025-06-17T21:49:53.186Z</video:publication_date><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/92jBDt5R3A85mYBWbcNXBi</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/695b29cc-6860-4921-9c47-febdf63358f1.jpg</video:thumbnail_loc><video:title>Line of Sight</video:title><video:description>Pretty excited about this feature... when it starts working properly.

This uses Bresenham's line algorithm to decide what's visible to the player.

I was hoping to finish off Shops this evening, but that code is unchecked-in on my other laptop...</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/40f8531f-4810-47a4-8093-232bda60bedb/4bd6ba17-7a21-4f5c-abbc-fecd7aee0fe3-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/92jBDt5R3A85mYBWbcNXBi</video:player_loc><video:duration>46</video:duration><video:rating>0</video:rating><video:view_count>2</video:view_count><video:publication_date>2025-06-17T21:51:14.406Z</video:publication_date><video:tag>GameDev</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/dYwqzGh2vYpwzJ7DCeit5D</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/d9270b09-baf8-430b-a64a-597d3958010b.jpg</video:thumbnail_loc><video:title>Dependabot</video:title><video:description>No screen of green tonight for tonight's #gamedev log, but maybe another familiar sight: lets merge some dependabot PRs before going to bed.

I think that extends the streak another day! Back home tomorrow. So, hopefully some kind of useful feature added to the game!</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/6912107b-1c18-45c6-b59b-2ea7e32eaf11/59f2a88f-2d4e-4abd-b9c7-d7fa013cbf18-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/dYwqzGh2vYpwzJ7DCeit5D</video:player_loc><video:duration>28</video:duration><video:rating>0</video:rating><video:view_count>2</video:view_count><video:publication_date>2025-06-17T21:52:21.951Z</video:publication_date><video:tag>GameDev</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/cLx1jZ9GbqwsAxbEwsJiTr</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/f6785157-6e01-46d3-b1f5-577a45c1b246.jpg</video:thumbnail_loc><video:title>Fog of War</video:title><video:description>We've got line of sight and fog of war working now!

To keep track of the "remembered" dungeon layout, I'm chucking those arrays of coords into #redis, set to expire after a week (which might be too long). I figured that since the dungeons will be so ephemeral holding onto them for any longer than that is a waste.

Pleased with this #gamedev log because it really does start to make it feel like a game.</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/5f4c5bea-7c2d-49ba-beb2-5fe4662ff37b/db3a1238-c646-41ab-a0bc-942b9e51b9d9-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/cLx1jZ9GbqwsAxbEwsJiTr</video:player_loc><video:duration>93</video:duration><video:rating>0</video:rating><video:view_count>1</video:view_count><video:publication_date>2025-06-17T21:54:10.590Z</video:publication_date><video:tag>Redis</video:tag><video:tag>GameDev</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/tgLDQ6DwoeGj6TPoqNohN6</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/754b0eca-313d-4736-a0e0-53fa729bc915.jpg</video:thumbnail_loc><video:title>Placing Doors</video:title><video:description>The loop of going into a dungeon, finding enough loot to sell, and then going to buy something really feels nice! Exploring and hoping to find something you're after is more fun than I was expected at this stage.

Today's #gamedev log shows off a new core feature: players can change the dungeons too.

These two features have left behind a trail of bugs though... Definitely some debt to clean up.

#rails is holding up really well too. It's getting a little slower with each new feature though.</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/dcda6b14-9e87-4188-9205-f4c1d3cde001/10b20db7-4612-4a50-8f3e-83bcc146604a-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/tgLDQ6DwoeGj6TPoqNohN6</video:player_loc><video:duration>60</video:duration><video:rating>0</video:rating><video:view_count>1</video:view_count><video:publication_date>2025-06-17T21:55:13.830Z</video:publication_date><video:tag>GameDev</video:tag><video:tag>Rails</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/d8QewNf8gnpqMdRPPmDwcu</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/76226d97-555f-428f-bb9f-ae73cc3611e0.jpg</video:thumbnail_loc><video:title>Moving Items</video:title><video:description>Shifting rocks around in tonight's #gamedev log.

Slowly growing concern about the latency of each action and move now - not that you can see it in today's video. I'll have to do an optimisation day soon.</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/6245985a-9ed9-4b00-b590-84c54748207a/e8b565e6-8e74-4db9-8af3-44186c6cc4f6-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/d8QewNf8gnpqMdRPPmDwcu</video:player_loc><video:duration>44</video:duration><video:rating>0</video:rating><video:view_count>2</video:view_count><video:publication_date>2025-06-17T21:57:06.539Z</video:publication_date><video:tag>GameDev</video:tag><video:tag>Rails</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/qtNgtUr5C4QPNjeWiKvzb1</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/0cbd3a46-bd80-4c19-88a8-23a3b6bb4106.jpg</video:thumbnail_loc><video:title>Rotating Items</video:title><video:description>After a frustrating day, I wasn't all that keen on continuing with rotation for tonight's #gamedev. 

BUT GOSH AM I GLAD I DID.

Look at this thing! It rotates! What wonderful joy. What giddy glee!</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/c63cec31-7334-450a-b709-0dfd6b196fc0/1ca6a4f3-0d5b-4464-8a2d-8aa3325e0fc3-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/qtNgtUr5C4QPNjeWiKvzb1</video:player_loc><video:duration>91</video:duration><video:rating>0</video:rating><video:view_count>2</video:view_count><video:publication_date>2025-06-17T21:58:47.994Z</video:publication_date><video:tag>GameDev</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/pqG2HLu3su84m1tPKMybVB</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/6d83f67c-cdc2-41af-9033-b3406b99b535.jpg</video:thumbnail_loc><video:title>Inventory Improvements</video:title><video:description>Some more inventory improvements for tonight's #gamedev log.

I'm going to head home now, but I may turn my hand to adding some critters to the dungeons tomorrow. 👾</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/bdb4b574-bcf9-4ba9-8914-687a4f424f7d/04c2ad65-cb98-4e03-b3ca-4fb918818140-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/pqG2HLu3su84m1tPKMybVB</video:player_loc><video:duration>57</video:duration><video:rating>0</video:rating><video:view_count>3</video:view_count><video:publication_date>2025-06-17T22:01:08.847Z</video:publication_date><video:tag>GameDev</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/rLN7fotpC8jfSX89NweWZ1</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/e7d6ebfd-8930-412e-8c1b-2ee5b830cbee.jpg</video:thumbnail_loc><video:title>Slug</video:title><video:description>Get your bug hunting hats on 🔍 

There are now dungeon slugs, roaming around!

Are they just harmless pests, or do they serve a vital purpose within the dungeons? Who knows!

Their "ticks" are backed by SolidQueue, which I've been very excited to make use of.</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/d0b59b76-5f1a-464d-80fb-bea8663cafaa/8ff1cfc6-f9bd-4e18-b670-ec48a7848516-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/rLN7fotpC8jfSX89NweWZ1</video:player_loc><video:duration>51</video:duration><video:rating>0</video:rating><video:view_count>3</video:view_count><video:publication_date>2025-06-17T22:02:29.378Z</video:publication_date><video:tag>Rails</video:tag><video:tag>GameDev</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/vEq9HbpVYBKZozqPquSvgG</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/557bf071-8455-4c8b-8411-46b9cfa48bdc.jpg</video:thumbnail_loc><video:title>Latency issues</video:title><video:description>Today's #devlog sees me losing a fair bit of steam, chasing my tail on code performance issues.

I've also been reading a bit about #jruby - maybe I'd get some speed boost from that, but I should focus on the core issues at the moment, I feel. But, I would love to make use of concurrent threads. They'd be very useful for this game. I hear this is coming to MRI, but probably not soon?

I forgot to mention that in the video I'm showing a diff (with `git difftool`); left is before, right is after.</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/f0362adf-746b-4f00-8fad-ced4ff82bbf2/de5f7ea1-d228-4dcf-b773-9b623765c801-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/vEq9HbpVYBKZozqPquSvgG</video:player_loc><video:duration>139</video:duration><video:rating>0</video:rating><video:view_count>5</video:view_count><video:publication_date>2025-06-17T22:04:52.161Z</video:publication_date><video:tag>DevLog</video:tag><video:tag>JRuby</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/dQ5gmJnNGY4Vf478j8r581</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/bc0b8248-0a89-4e55-8473-423e8af0ea2c.jpg</video:thumbnail_loc><video:title>Starting up again</video:title><video:description>Hello! I'm back to working on this project after more than a year...

In this video, we take a quick look at the new combat, inventory systems, crafting, and lodestones. That gets me most of the game loop! Delve → Survive → Find cool stuff → Return and build → Delve stronger!

You'll see I stumble upon a bunch of bugs though, so I'll be looking into those this weekend.</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/67e3fe3e-cef6-415c-bb7c-6cf1ee7baa7e/8852daba-b769-4a11-be2b-f09fce93575a-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/dQ5gmJnNGY4Vf478j8r581</video:player_loc><video:duration>350</video:duration><video:rating>0</video:rating><video:view_count>11</video:view_count><video:publication_date>2025-07-11T11:42:11.358Z</video:publication_date><video:tag>DevLog</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/j3qCHpHXwHSn23pS49Dfj6</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/78030892-4215-4762-82bd-17c4474b2933.jpg</video:thumbnail_loc><video:title>Audio devlog from York</video:title><video:description>I’m away from a computer this weekend, so here is an audio only update. </video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/921b29fe-d885-41d5-a708-d382f8924739/c37709ba-21b6-4205-8cbd-3f55d1c70240-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/j3qCHpHXwHSn23pS49Dfj6</video:player_loc><video:duration>324</video:duration><video:rating>0</video:rating><video:view_count>0</video:view_count><video:publication_date>2025-07-19T17:11:13.367Z</video:publication_date><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/eK2MHi6nD6XPUMsedezk2R</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/3d66b15d-1c45-466a-a16e-d84b59c5d3cc.jpg</video:thumbnail_loc><video:title>Notifications for Brokepoint</video:title><video:description>Making use of the [Notification Web API](https://developer.mozilla.org/en-US/docs/Web/API/Notification) to add alerting to Brokepoint when an error happens. More and more errors are being hidden in background jobs and streams, where I often don't even notice something has gone wrong. This will take that problem away!</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/6f48e2fc-b970-424b-8f77-ad2afecdc1cf/fcab5cb2-bb37-4402-9fd2-fac04c5325c8-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/eK2MHi6nD6XPUMsedezk2R</video:player_loc><video:duration>142</video:duration><video:rating>5</video:rating><video:view_count>6</video:view_count><video:publication_date>2025-08-04T14:42:08.041Z</video:publication_date><video:tag>webdev</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/w/uiLbJ9iyqzCyF7pNRxqpec</loc><video:video><video:thumbnail_loc>https://video.d20.social/lazy-static/thumbnails/34fde1d6-a1e8-4b45-9320-50f34425cca9.jpg</video:thumbnail_loc><video:title>Tollport: a self-hosted registry for container images</video:title><video:description>Tollport is self-hosted software that lets you host, manage, and share Docker compatible images without the restrictions that other services do. Keep full control, set fine-grained permissions, and even sell your images through your own marketplace.

Hopefully this quick intro will get you interested enough to take a look.

https://tollport.shane.computer/</video:description><video:content_loc>https://video.d20.social/static/streaming-playlists/hls/e53ac1aa-77c0-4e34-b812-1f362ad01a89/9186eae3-0ebd-45fd-88a7-acc347964049-master.m3u8</video:content_loc><video:player_loc>https://video.d20.social/videos/embed/uiLbJ9iyqzCyF7pNRxqpec</video:player_loc><video:duration>292</video:duration><video:rating>5</video:rating><video:view_count>2</video:view_count><video:publication_date>2025-10-15T11:56:09.848Z</video:publication_date><video:tag>tollport</video:tag><video:family_friendly>YES</video:family_friendly><video:uploader info="https://video.d20.social/c/haikushane/videos">haikushane</video:uploader><video:live>NO</video:live></video:video></url><url><loc>https://video.d20.social/c/haikushane/videos</loc></url><url><loc>https://video.d20.social/a/shane/video-channels</loc></url></urlset>