I wrote a custom Dear ImGui backend for Windows/DirectX in Odin. With thin abstraction layer to allow easy extension for more platforms/renderers:
github.com/alektron/img...
#imgui #DearImGui #Odin #Odinlang
@jonathan.tron.name
web, mobile and games dev (@games.openhood.com) owner @ openhood.com (dev/ops consulting specialized in Rails and Elixir) France ๐ซ๐ท / Luxembourg ๐ฑ๐บ
I wrote a custom Dear ImGui backend for Windows/DirectX in Odin. With thin abstraction layer to allow easy extension for more platforms/renderers:
github.com/alektron/img...
#imgui #DearImGui #Odin #Odinlang
I use ORMs when writing programs, raw SQL when doing analysis, debugging, or database admin.
The problem with raw SQL queries in code is that a) they don't compose well, and b) I still need to convert rows into objects somehow.
๐ New Blog Post ๐
I finally sat down to write about what I learned building a Volumetric Lighting effect for the web
In it, I detail how to blend raymarching with post-processing to create beautiful atmospheric light to elevate your next WebGL project
blog.maximeheckel.com/posts/shapin...
Looks like WebGPU will finally be available in Safari 26โฆ
webkit.org/blog/16993/n...
odin-c-bindgen can now create constants from C macros
Pictured: Generated raylib bindings that bring along constants based on `#define`s in the C header. Also included: Code alignment and comments.
Thanks to xandaron for helping me implement this.
Check it out: github.com/karl-zylinsk...
New blog post! "Load store conflicts", in which we look at some performance sensitive code that has surprisingly dramatic performance swings based on the compiler and the microarchitecture used. Reposts appreciated!
zeux.io/2025/05/03/l...
Four vector icons: a cream-coloured rabbit, green trees, a crimson bird with a white eye, and a silver cloud with raindrops in different shades of blue
part a: a mix task that will traverse /assets/ (or anywhere else you point it) for svg images of any size and complexity, and merge them together into a sprite sheet in /priv/static/assets/. โ mix phoenix_svg_sprites โ [info] Successfully generated SVG sprite sheet at priv/static/assets/sprites.svg the sprite sheet contains all of the processed svgs, stored as <symbol />s addressable by ids derived from the processed svg's filenames. bird.svg and rain.svg become: <svg> <symbol id="bird"><path d="m1154.3... <symbol id="rain"><path d="m1047... </svg>
part b: a phoenix component, <.sprite />, that will render the specified svg sprite in your heex template, the same way you might render a heroicon with core component's <.icon />. the four example sprites at the top of this page are rendered with this code: <.sprite icon="animal" class="animal" /> <.sprite icon="nature" class="nature" /> <.sprite icon="bird" class="bird" /> <.sprite icon="rain" class="rain" /> css classes are applied to the examples to allow for specific colour styling. however, an svg's internal fill, stroke, and other colour values will be preserved, and you can also use currentColor to colour your sprites dynamically through the text colour of a parent element. default tailwind size classes are applied automatically, but you can apply arbitrary classes and other attributes as well.
I just published my first Elixir + Phoenix LiveView package: Phoenix SVG Sprites!
Merge all of your SVG assets into one file, and display them individually, just like you do with <.icon />.
more info: www.argylewerewolf.com/code/sprites/
GitHub: github.com/ArgyleWerewo...
#Elixir #PhoenixLiveView
Handles update: I've made a handle-based map that uses growing arenas for storing the items. This gives good performance while keeping the pointers stable.
Check it out: github.com/karl-zylinsk...
Web support (uses dynamic arena instead of virtual growing arena): zylinski.se/odin-handle-...
New blog post: zylinski.se/posts/handle...
This is my own personal follow-up to @flohofwoe.bsky.social's classic article "Handles are the better pointers"
Hi Karl, I recently picked up Odin (and your book).
I'm interested in making games/apps and generally playing with graphics APIs (webgl / wgpu / vulkan / metal) on desktop and wasm (I got two PRs accepted this week for fixes in the "core:sys/wasm").
Feel free to add me to the list.
Prototype 03 released: playing with Fog of War, Merchant stall for new units, sound effects for battle and more.
Try it and tell us what you think.
games.openhood.com/2025/3/16/pr...
TIL: bundler/inline
It makes testing specific versions of gems in a single file and run it so easy. Highly recommended for creating reproducible test cases.
experiments.openhood.com/2025/3/4/rub...
Join my game jam if you:
- Want to learn game development
- Want to learn Odin or low-level programming
No prior knowledge required! You have 7 days to figure things out. You'll be able to make something!
No worries, no pressure. Just have fun!
Starts on March 8.
itch.io/jam/odin-7-d...
What an incredible explanation of how to implement layout in UI!
www.youtube.com/watch?v=by9l...
Here comes the second prototype, iterating on the previous one we added a new archer, and tried to have working controls for keyboard/mouse, touch and controllers.
Play it on our blog: games.openhood.com/blog/2025/2/...
Fish 4.0 just landed. From C++ to Rust transition is done!
#rust #rustlang #shell
fishshell.com/docs/current...
A list of images being displayed in the new app I'm developing, zooming, filtering by name and picking color.
New application window right after launch, with text explaining you have to drag and drop images or folders on it.
I couldn't find a basic and fast assets viewer for browsing and searching our growing collection.
Godot 4.4-rc1 being just released, it was time to implement one.
It's so fun how versatile Godot can be.
Given how useful it is for us, I'm thinking of releasing it to more people.
We decided to play with small prototypes, the first one is about some RTS melee movements. You can try it on games.openhood.com/blog/2025/2/...
20.02.2025 21:33 โ ๐ 0 ๐ 1 ๐ฌ 0 ๐ 0Been reminded today that NIFs taking more than 1ms should be flag to run on "dirty schedulers" to not block regular #erlang / #elixirlang processes schedulingโฆ and that is one macro away in Rustler: #[rustler::nif(schedule = "DirtyCpu")] for CPU intensive, "DirtyIo" for IO intensive functions
20.02.2025 21:30 โ ๐ 7 ๐ 2 ๐ฌ 0 ๐ 0Speaking of cool stuff coming from China check out this upcoming open-world RPG / city builder / infiltration game / ... set in ancient China www.youtube.com/watch?v=AY0u...
08.02.2025 17:11 โ ๐ 1 ๐ 1 ๐ฌ 0 ๐ 0Holy smokes this is awesome, a new debugger for Phoenix LiveView. Think React devtools, but not a chrome extension.
github.com/software-man...
#ElixirLang
โจ Oban Pro v1.5.0 is out!
๐จ Job Decorator
๐ฆ Unified Migrations
๐ฆ Enhanced Unique
๐ช Improved Batches
๐ Streamlined Chains
๐๏ธ Improved Workflows
๐ญ Worker Aliases
๐งฐ Performance tuning and bug fixes
Generally available after six months of RCs. Read the full release notes: oban.pro/releases/pro...
View a step-by-step playback of your feature test incl. JS console and network.
Powered by PhoenixTest + trace.playwright.dev
Great tool to debug feature test failures in CI.
#ElixirLang
"Very Experimental" GPU support for the LLVM libc: libc.llvm.org/gpu ๐ฅ๐ฅ๐ฅ
15.12.2024 18:39 โ ๐ 1 ๐ 2 ๐ฌ 0 ๐ 0On the topic of frozen string literals and Ruby 3.4, this post we wrote together with @byroot.bsky.social may be helpful to share again.
gist.github.com/fxn/bf4eed25...
You just don't realize how much work goes in the rendering of such a beautiful game as #TinyGlade from @pouncelight.bsky.social until its creators explain the crazy journey to get there. Thanks @h3r2tic.bsky.social and @anopara.bsky.social for the presentation! www.youtube.com/watch?v=jusW...
07.12.2024 20:38 โ ๐ 5 ๐ 2 ๐ฌ 0 ๐ 0This VSCode extension for #elixirlang refactoring looks amazing github.com/gp-pereira/r...
02.12.2024 19:15 โ ๐ 14 ๐ 2 ๐ฌ 2 ๐ 0today @supabase.com is releasing a Postgres storage system that's ~5.5x faster than the default storage system
the storage system is called OrioleDB, the work of Alexander Korotkov and his team. it's not production-ready but available for testing:
www.orioledb.com/blog/orioled...
Screenshot of Slang x WebGPU README on GitHub (where the link in the post points)
Sharing a starter setup for using @shader-slang.bsky.social with #WebGPU in C++ with #CMake, either for native or web targets. ๐น Uses the #reflection API to auto-generate boilerplate code! โจ
๐ github.com/eliemichel/S...
Very happy to take feedback about what's good and bad in this demo! Moreโคต๏ธ 1/8
We've just released the ErrorTracker v0.5.0 ๐!
It includes a new feature to store breadcrumbs, improved support for @ash-hq.org applications, better mobile experience and minor fixes.
You can check it out here: github.com/elixir-error...
#ElixirLang