54,302 blogs · [ { "id": "01a08c67-65a8-7255-9091-fab14d019913", "title": "Named Return Values Without Oopsies", "url": "https://zylinski.se/posts/named-return-values-without-oopsies/", "published_at": "2026-09-01T21:35:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab14daeacae", "title": "Tom's Namespaces: An Odin Fanfic", "url": "https://zylinski.se/posts/toms-namespaces/", "published_at": "2026-05-11T11:15:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab14e3ba18f", "title": "Audio in Karl2D: Software mixing, OS APIs and general design", "url": "https://zylinski.se/posts/audio-in-karl2d-software-mixing/", "published_at": "2026-02-20T20:04:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab14f0a6c2f", "title": "Iterating strings and manually decoding UTF-8", "url": "https://zylinski.se/posts/iterating-strings-and-manually-decoding-utf8/", "published_at": "2025-09-23T07:29:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab14f2924cb", "title": "Know why you don't like OOP", "url": "https://zylinski.se/posts/know-why-you-dont-like-oop/", "published_at": "2025-08-26T20:15:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab14fa729d2", "title": "Understand the Temporary Allocator; Understand arenas", "url": "https://zylinski.se/posts/temporary-allocator-your-first-arena/", "published_at": "2025-08-25T18:45:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab14fe757a4", "title": "Odin: A programming language made for me", "url": "https://zylinski.se/posts/a-programming-language-for-me/", "published_at": "2025-05-12T11:04:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab1504c6b27", "title": "No-engine gamedev using Odin + Raylib", "url": "https://zylinski.se/posts/no-engine-gamedev-using-odin-and-raylib/", "published_at": "2025-04-28T11:04:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab150653e86", "title": "Handle-based maps: Three implementations", "url": "https://zylinski.se/posts/handle-based-maps-three-implementations/", "published_at": "2025-04-10T14:43:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab15083ce42", "title": "Mistakes and cool things to do with arena allocators", "url": "https://zylinski.se/posts/dynamic-arrays-and-arenas/", "published_at": "2025-04-04T10:29:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab1517c123b", "title": "Generate Odin bindings for C libraries", "url": "https://zylinski.se/posts/generate-odin-bindings-for-c-libraries/", "published_at": "2025-04-02T18:30:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab151dde4e1", "title": "\"Handles are the better pointers\": An Odin gamedev follow-up", "url": "https://zylinski.se/posts/handle-based-arrays/", "published_at": "2025-03-25T11:59:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab152884651", "title": "Writing 'Understanding the Odin Programming Language'", "url": "https://zylinski.se/posts/writing-a-book-about-odin/", "published_at": "2025-01-21T15:28:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab152b78900", "title": "Data-oriented ideas for small gamedev teams", "url": "https://zylinski.se/posts/data-oriented-ideas-for-small-gamedev-teams/", "published_at": "2024-08-15T18:45:45+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab153a2b0f2", "title": "Introduction to the Odin Programming Language", "url": "https://zylinski.se/posts/introduction-to-odin/", "published_at": "2024-06-07T19:16:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab1543e3d2b", "title": "Solodevs and the trap of the game engine", "url": "https://zylinski.se/posts/solodevs-and-the-trap-of-the-game-engine/", "published_at": "2024-05-23T00:00:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab1549d41a6", "title": "Make games using Odin and Raylib #3: An animated player", "url": "https://zylinski.se/posts/gamedev-for-beginners-using-odin-and-raylib-3/", "published_at": "2024-02-20T00:00:00+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab154b86d5d", "title": "Make games using Odin and Raylib #2: A controllable player", "url": "https://zylinski.se/posts/gamedev-for-beginners-using-odin-and-raylib-2/", "published_at": "2024-02-11T13:47:11+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab1551cc0a2", "title": "Make games using Odin and Raylib #1: Setup + First Program", "url": "https://zylinski.se/posts/gamedev-for-beginners-using-odin-and-raylib-1/", "published_at": "2024-02-09T13:47:11+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab155b6d8ec", "title": "Hot Reload Gameplay Code: What, why, limitations and examples!", "url": "https://zylinski.se/posts/hot-reload-gameplay-code/", "published_at": "2023-09-15T13:47:11+00:00" }, { "id": "01a08c67-65a8-7255-9091-fab1562c51d2", "title": null, "url": "https://zylinski.se/portfolio/", "published_at": null }, { "id": "01a08c67-65a8-7255-9091-fab15652b7a5", "title": "CAT & ONION presskit", "url": "https://zylinski.se/cat-and-onion-presskit/", "published_at": null }, { "id": "01a08c67-65a8-7255-9091-fab156e7d0d3", "title": "Contracting services", "url": "https://zylinski.se/contracting/", "published_at": null } ] posts Claim your blog
Back to Karl Zylinski
Blog · corpus.blog/blogs/zylinski.se/posts

Karl Zylinski

zylinski.se

2026

2025

2024

2023

Undated