Jonathan Tron
banner
jonathan.tron.name
Jonathan Tron
@jonathan.tron.name
web, mobile and games dev (@games.openhood.com)

owner @ openhood.com (dev/ops consulting specialized in Rails and Elixir)

France 🇫🇷 / Luxembourg 🇱🇺
Reposted by Jonathan Tron
Our GitHub repository is now public!

github.com/elixir-lang/...
github.com
August 28, 2025 at 8:34 PM
Reposted by Jonathan Tron
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
GitHub - alektron/imgui-odin-backends: A custom backend for 'Dear ImGui' written in Odin
A custom backend for 'Dear ImGui' written in Odin. Contribute to alektron/imgui-odin-backends development by creating an account on GitHub.
github.com
July 17, 2025 at 7:01 AM
Reposted by Jonathan Tron
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.
July 19, 2025 at 2:06 PM
Reposted by Jonathan Tron
📝 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...
On Shaping Light: Real-Time Volumetric Lighting with Post-Processing and Raymarching for the Web - The Blog of Maxime Heckel
A deep dive into Volumetric Lighting implemented via Post-Processing leveraging a custom shader with raymarching to create beautiful light and atmospheric effect for your React Three Fiber and Three.j...
blog.maximeheckel.com
June 10, 2025 at 3:12 PM
Looks like WebGPU will finally be available in Safari 26…

webkit.org/blog/16993/n...
News from WWDC25: WebKit in Safari 26 beta
Welcome to WWDC25!
webkit.org
June 9, 2025 at 7:12 PM
Reposted by Jonathan Tron
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...
May 10, 2025 at 10:17 PM
Reposted by Jonathan Tron
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...
Load-store conflicts
meshoptimizer implements several geometry compression algorithms that are designed to take advantage of redundancies common in mesh data and decompress quickly - targeting many gigabytes per second in...
zeux.io
May 4, 2025 at 2:37 PM
Reposted by Jonathan Tron
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
May 2, 2025 at 4:47 PM
Reposted by Jonathan Tron
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-...
GitHub - karl-zylinski/odin-handle-map: Map a handle (index + generation) to an item.
Map a handle (index + generation) to an item. Contribute to karl-zylinski/odin-handle-map development by creating an account on GitHub.
github.com
March 28, 2025 at 2:05 PM
Reposted by Jonathan Tron
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"
"Handles are the better pointers": An Odin gamedev follow-up
Background Andre Weissflog wrote an article in 2018 called “Handles are the better pointers”. In it he talks about how one can use handles instead of pointers when one wants to store permanent referen...
zylinski.se
March 25, 2025 at 10:25 PM
Reposted by Jonathan Tron
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...
Prototype 03 - Fog of War · Openhood
Prototype 03 with Fog of War, sounds, merchant, and hero
games.openhood.com
March 16, 2025 at 12:47 PM
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...
bundler/inline for single-file ruby scripts · Openhood
Openhood technical blog.
experiments.openhood.com
March 5, 2025 at 9:55 AM
Reposted by Jonathan Tron
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...
Odin 7 Day Jam
A game jam from 2025-03-08 to 2025-03-23 hosted by Karl Zylinski. Make a game in 7 days using the Odin Programming Language ! Ever wanted to make video games using a low-level programming language? Od...
itch.io
March 3, 2025 at 4:56 PM
What an incredible explanation of how to implement layout in UI!

www.youtube.com/watch?v=by9l...
How Clay's UI Layout Algorithm Works
YouTube video by Nic Barker
www.youtube.com
March 2, 2025 at 12:33 PM
Reposted by Jonathan Tron
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/...
February 28, 2025 at 9:04 PM
Reposted by Jonathan Tron
Fish 4.0 just landed. From C++ to Rust transition is done!

#rust #rustlang #shell

fishshell.com/docs/current...
Release notes — fish-shell 4.0.0 documentation
fishshell.com
February 28, 2025 at 4:57 AM
Reposted by Jonathan Tron
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.
February 23, 2025 at 6:00 PM
Reposted by Jonathan Tron
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/...
Games · Openhood
We're a small indie game studio from Luxembourg.
games.openhood.com
February 20, 2025 at 9:33 PM
Been 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
February 20, 2025 at 9:30 PM
Reposted by Jonathan Tron
Holy smokes this is awesome, a new debugger for Phoenix LiveView. Think React devtools, but not a chrome extension.

github.com/software-man...

#ElixirLang
February 7, 2025 at 2:37 PM
Reposted by Jonathan Tron
✨ 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...
Pro v1.5 Releases
Oban is a background job system built in Elixir and Postgres, and packed with enterprise grade features, real-time monitoring with Oban Web, and complex workflow management with Oban Pro.
oban.pro
January 28, 2025 at 3:26 PM
Reposted by Jonathan Tron
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
December 15, 2024 at 7:36 AM
Reposted by Jonathan Tron
On 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...
ruby-the-future-of-frozen-string-literals.md
GitHub Gist: instantly share code, notes, and snippets.
gist.github.com
December 13, 2024 at 4:45 PM