Become a sponsor to Mario Zechner
Hi,
it'se me, Mario! You may know me from such hits as libGDX (which I created), RoboVM (for which I built a debugger and which is still alive as MobiVM), or Spine.
I'm incurably in love with programming random things and teaching others about them. Usually, I dabble in game development adjacent topics or compilers/debuggers/virtual machines.
Recent OSS work
- Mario's assembly control flow graph viewer, a little web app that you can feed various assembly code for which it will spit out a graph visualization of the assembly's control flow. You can use it in your own projects through asmcfg!
- BMFG a minimalist fixed-width pixel font glyph generator. You can find the sources on GitHub.
- lilray a smol raycasting engine for educational purposes, running on Windows, Linux, macOS, and the web
- ulang, A virtual machine and debugger, plus a full fledged IDE in your browser to write DOS-like assembly programs to put pixels on the screen. Safe your projects as Gists. Grab the sources from GitHub.
- Rendering like it's 1996 (r96) a blog series with accompanying source repository to follow along with on software rasterization techniques from the 90ies implemented with more modern tools.
- DOS demo/game development template, a turn-key solution to get up and running programming C/C++ DOS programs with modern tools, including remote debugging the app in DOSBox-x!
- heisse-preise.io, a grocery store price tracking web app. Tracks almost 200.000 products across all big Austrian chains. Motivated by insance price increases, covered by Austrian media and politics.
- ledit, a readonly Reddit client. Everything happens on your device, the server just sends you
.html/.js/.css
files making up a single page app.
That's the most recent selection.
Recent OSS contributions
I also play around with and incorporate other folk's tech. Sometimes that leads to me finding bugs and reporting or fixing them. E.g.
- I've submitted a simple fix to DOSBox-x to get serial port/nullmodem emulation through TCP working on macOS again.
- I've found a JIT bug in DOSBox-x on Apple Silicon that's a tad nasty.
- I've created and submitted a Emscripten/web backend for minifb
- I've also created a DOS backend for minifb. Hope they don't start hating me for sending all those PRs.
- I've found a crash bug in Skia/Flutter on one of the recent Google Android flag ship phones which is currently under investigation.
Sharing knowledge
I often document my adventures, including my workflows, on my blog so others can learn from my mistakes. A small selection
- Shakyboi, a 4 part series on how to build a tree shaker for JVM byte code from the ground up.
- Why moving your pixels at sub-pixel precision is hard, an investigation.
- Rendering like it's 1996, a series on building software rasterizer algorithms from the 90ies with tools from today.
I'm also known to share live-insights when working on things on Twitter and Mastodon.
Why GitHub Sponsors?
Since 2021, I'm a father, and it has obviously become harder to dedicate time to things like the above. I've opened the GitHub sponsors account to:
- See if this type of work resonates with an audience willing to pay to keep it going. If this gets into "can support our living expenses" territory I could imagine dedicating a lot more time to this type of work that's freely shared with the world.
- Potentially finance new books for my toddler's book shelf, so the nights I spent on free stuff for others have a positive effect on him as well. Until he can read and shows an interest in programming, at which point the content I create will be of value for him as well, even if just for nostalgic reasons.
o
Featured work
-
libgdx/libgdx
Desktop/Android/HTML5/iOS Java game development framework
Java 23,357 -
TypeScript 18
-
badlogic/heissepreise
Jo eh.
JavaScript 960 -
badlogic/r96
Repository for the blog post series "Rendering like it's 1996"
C 130 -
badlogic/asmcfg
An assembly control flow graph/basic block visualizer for the web
Assembly 34 -
badlogic/dos-dev-template
Template project for developing DOS games/apps with DJGPP, including source-level remote debugging with GDB and DOSBox.
C 222