Linkblog/2025/02/20
Dungeon of Quake, Why Odin for Games, britpop.online, Elon asks to deorbit ISS, reactbits.dev, Bluesky Lossy Timelines, OverSSH, Svelte 5 is not Javascript, Deno in 2024, Randy banger SFX, Tiny Minecraft in SDL3 GPU.
jakubtomsu/dungeon-of-quake - Retro FPS game inspired by Quake, using Odin and Raylib
Jakub Tomšů’s (now archived) Odin/Raylib Quake esq game, very cool.
Some cool screenshots from its development over on Jakub’s website:

Also, a level editor:

In which levels, as data, exist simply as ASCII.
#####www#####
#-----------#
#-SL-t---t--#
#-Mw--------#
#---h k h---#
w-t- k ---w
w---kkgkk---w
w--- k ---w
#---h k h---#
#--------ww-#
#-t------wFe#
#------- -- #
#####www#####
^ Like this, this is the games “ARENA” level.
Very cool project, I potentially its character controller would be something good to study, since I’d love to have a quake-like-feel in a game of my own using similar technologies someday…
Jakub Tomšů - Why I use Odin for Game and Engine Development
More Jakub, hell yeah.
Many points made in this video I resonate heavily with, although I have not shipped a game, unlike Jakub.
Therefore its a second-hand opinion I trust!
Discussion on /r/gameenginedevs on this video.
Brit brit brit brit brit like brit pop

Huge LP drop, picked up one for me and a friend, hyped to spin.
Eric Berger - Elon Musk recommends that the International Space Station be deorbited ASAP
:(
Announcing Rust 1.85.0 and Rust 2024
New Rust edition!
I have not dug into it, since I am living in Odin land as of late, but still cool to see another edition be released, the last one was Rust 2021.
reactbits.dev - Hand-picked animated components collection for creative developers
Some very cool, very flashy, components in this collection.
Checkout the infinite menu component, its so smooth.
Jaz - When Imperfect Systems are Good, Actually: Bluesky’s Lossy Timelines
Often when designing systems, we aim for perfection in things like consistency of data, availability, latency, and more.
[…]
I recently made some major tradeoffs in the design of Bluesky’s Following Feed/Timeline to improve the performance of writes at the cost of consistency in a way that doesn’t negatively affect users but reduced P99s by over 96%.
I’ve been interested in how Bluesky is built, given, as you can see in the article: “When you make a post on Bluesky, […] This process involves looking up all of your followers, then inserting a new row into each of their Timeline tables in reverse chronological order with a reference to your post.”.
Which honestly, in some aspects, feels cursed, but I am also a big fan of SQLite and, well, that’s what each one of these databases is.
This post basically discusses trade offs with handling users who follow many many accounts, and making potentially some writes just, not hit their timeline, and how most likely, that is fine.
Obviously missing someones Bluesky post you might care about might be frustrating (this would only occur if you follow a insane amount of people supposedly), but if it means that they have the following happen to their production database(s) usage:

I get it.
OverSSH - Secure File Transfer for Developers
$ ssh overs.sh < my-secure-file.txt
Waiting for someone to download the file...
Download link:
https://overs.sh/d/eba5349c34
Pipe file to overs.sh
, get a link, give to other person, and the data will be streamed directly from your SSH session to them over HTTP.
Technically yes the data is accessible in memory while things are in flight, but Alex is cool.
hodlbod - Svelte 5 is not Javascript
For the last couple of weeks, I’ve been dealing with the fallout of upgrading a web application to Svelte 5. […]
I’ll try not to complain too much in this post, since I’m grateful for the many years of Svelte 3/4 I’ve enjoyed. But I don’t think I’ll be choosing Svelte for any new projects going forward. I hope my reflections here will be useful to others as well.
Seems like, if what the author has to say is true, Svelte 5 is much more proxy based than Svelte 4… that does not spark joy (as someone who has seen what travesties one can do with proxies).
Quite a few points are brought up, which go over my head as someone who has not spent much time with Svelte, but the author ends on:
Easy things are nice, but as Rich Hickey says, easy things are not always simple. And like Joel Spolsky, I don’t like being surprised. Svelte has always been full of magic, but with the latest release I think the cognitive overhead of reciting incantations has finally outweighed the power it confers.
Note: I have used Svelte before, but not very much, so I cannot say with certainty my take is valid at all, its just a post I thought interesting to bring up.
Honestly, I likely still will give Svelte 5, or SvelteKit, a go some day, but it will be interesting to see how I find the ergonomics of Svelte 5(+) myself.
You can now run Node applications with Deno 2, which offers native
package.json
andnode_modules
support, as well as improved compatibility with CommonJS. These improvements also unlock the ability to incrementally adopt pieces of Deno’s all-in-one toolchain.
The big one, this was nice to see.
This year we introduced JSR, a modern, open sourced JavaScript registry, which has native TypeScript support (you can publish modules as TypeScript source), can handle module loading across runtimes and environments, auto-generates documentation from JSDoc-style comments, and can be used with any npm compatible package manager. Read more.
JSR is also quite cool, not just something for Deno, but anything.
Publishing modules as just the TypeScript source… so nice…
After 5 years of development, we stabilized
rusty_v8
, a Rust crate that provides high-quality, zero-overhead Rust bindings to V8’s C++ API, and which runs at the core of Deno. If you’re interested in creating custom JavaScript runtimes or embedding JavaScript in Rust applications, be sure to explore its API.
Very cool! Bindings are sometimes hard to get right, and to make truly zero overhead, big accomplishment.
Randy - How I make banger SFX with no cost
To kick things off, you can go to this link to download 204 GIGABYTES of high quality sound fx that are completely royalty free.
Big data.
jsoulier/blocks - Tiny Minecraft clone in C and GLSL using the new SDL3 GPU API

SDL3 GPU Minecraft clone, so cool!
SCC reports:
───────────────────────────────────────────────────────────────────────────────
Language Files Lines Blanks Comments Code Complexity
───────────────────────────────────────────────────────────────────────────────
C 11 3672 108 0 3564 370
C Header 11 470 36 0 434 0
───────────────────────────────────────────────────────────────────────────────
Total 22 4142 144 0 3998 370
───────────────────────────────────────────────────────────────────────────────
Not a whole lot of code, honestly a codebase to study to get good.
Feels like a graphic / engine programmers hello world these days to a certain degree is some Minecraft-esq thing, which honestly, is dope.
Odin SDL3 GPU Tutorial: Part 5 - Texture Sampling, A Wall of Cobblestone
More SDL3 GPU tutorial content from nadako, nice.
This tutorial was used for the basis of textures in my current project, next up for me is to get multiple textures for different models cooked up, maybe stb/rect_pack can come in clutch so I can cook up a big ‘ol atlas to shove into VRAM.