metasyn icon navigation icon
pastel rainbow stripes

bad diode/ badd10de

July 2nd, 2026 - an interview with badd10de (@bd)

bad diode has been a really interesting person to me in the icon representing the epistemic certainty of the linked pagemerveilles community, and someone who i am really inspired by. during a road trip across oregon, i was talking to my partner about all these questions i wanted to ask him, and how interesting i thought he was. smartly, she enouraged to simply interview him.

baddiode’s responses are quoted below like this

on computing

i know your computing background is vast - from retrocomputing, to low level C, to your contributions to the Varvara and UXN ecosystems, to video game development, graphics programming, and so on…

Q: how did you originally get into programming and computing?

When I was a kid in the 90s my father used to bring home some old retired computers from the office. One of the first computers I interacted with was one of those greenscreen only machines that had like 2 programs on disks: Accounting software and Logo (the programming language), which for me it was just “the turtle game”. I didn’t remember much from from that computer, but I grew up among DOS machines and later Windows 3.x and simply loved spending time with them. My mind was blown with the simple things like navigating directories, listing files or executing different programs, it looked like magic to me! But more than anything I was fascinated with games. Typing prince.exe and start playing “Prince of Persia” is burned into my memory as one of my formative computing experiences.

With that fascination, I gravitated towards computers because I wanted to understand how they worked and how could I make them work differently. So I learned how to configure them, how to install more games, and how to fix the problems I ended up creating for myself when unsupervised. That passion still burn inside of me and there is still so much more to learn, so many ways one can bend these machines into our will.

Q: what was your first programming experience like?

I’ve already mentioned Logo, though I would be lying if I said I remember anything about that time. The first time I remember touching code was trying to modify some Basic games that came with one of those DOS machines. While not strictly programming, I have a lot of fond memories of playing around with “Cartooners (1989)”. You could say it’s something like scripting, but I loved writing little stories and see the characters move through the screen.

Growing up in the 90s, it was natural for me to develop an interest on the Internet, and so I learned to make small websites. First by hand, and later with “Microsoft Frontend” (which I remember frustrated me because it kept inserting weird HTML and I didn’t understand why). I maintained a small php video-game forum in a free hosting site full of ads and made a lot of friends during that period. One of these friends introduced me to RPG Maker (95 I think and later 2003), and given that I always wanted to learn to make video-games I was really taken by it. I think this is the first proper programming I ever did, it was a lot of fun to make a little battle system and to continue making small stories that I would never go and finish.

Q: what has kept you engaged with computing up to today?

I was always fascinated by technology, one of those kids that unmounts and (tries to) put back together most of their toys. Computers ar fascinating machines and made me want to learn more about them, and the thing with computers is that it seems there is always something more you can learn.

Q: what projects and parts of computing today are you most excited about?

I feel these days computers are fast enough, and yet the experience of using software feels worse as time goes on. Everything is bloated and overcomplicated and things are not as snappy as they should be. I like to show up what’s possible to achieve with decades old and underpowered machines by today’s standards. Working with memory and CPU constrained devices really makes you think about how to better use the resources available to you. It’s also incredibly fun to see your work run on non-pc hardware like the GBA, Playdate, e-ink devices, micro-controllers, etc. One of my areas of interest is performance optimizations, and though I’m not an expert by any means, with some simple guidelines things can be made to go very fast without even using SIMD, multi-threading or ASM micro-optimizations. Sometimes I help my friends and colleagues optimize things though more often than not I try to improve things out of a desire to learn and to make things feel better to use.

I also had fun recently re-learning about DSP algorithms and doing some experiments with granular synthesis and sampling. I studied telecommunications engineering so I have some background on the matter, but one learns better while it’s having a good time and playing around and I feel I learned more in a couple of months exploring these topics on my own than in several years of formal studies.

For the future, I would love to invest some time into making a VM based text-editor/programming playground. Kind of a mini-emacs of sorts but using my own programming language for it. It’s a bit of a daunting task, but so it was compiler development!

In any case, there is always something new to learn, some more understanding to be had and some more toys to make. So many exciting things one could dedicate time to work on, to learn, to teach and to inspire others to do the same.

on creating programming languages

on a similar note, you’ve also created your own self-hosted programming language, badlang.

Q: what led you to create your own programming language - and what makes it unique?

I’ve always been interested in programming languages, they felt like magic and at the end they are the user interface between a programmer and a machine. They are both a technical challenge as well as a UX one. This was enough to make me want to learn to build a small Lisp/Scheme interpreter and see how that kind of thing works. One thing I discovered while working on this is that I don’t really like Scheme that much, I prefer statically typed Algol-like languages. Perhaps it’s Stockholm Syndrome, but I’m fond of C, I like its surface-level simplicity (and hate the hidden footguns, awful syntactic choices and lack of ergonomics).

What I wanted was a language that could be compiled down to bare metal, didn’t rely on garbage collection, allowed me to use it to program for old machines and was fun and ergonomic to work on. Additionally I wanted to have a language simple enough that a single person could fully understand the compiler in it’s entirety, which means I had to keep the number of features low. I wanted something like C and that was highly interoperable with C that I would be happy to make all my future projects on for the rest of my life.

At the moment, Oni has the following features which I consider essential:

  • Statically typed with bi-directional inference. I like the flexibility of type inference, but it can be taken too far. Some top level declarations help a lot to understand what kind of arguments a function takes or what the memory layout is like.
  • Compiles to C, and can emit C code directly for that backend to easily create bindings to C libraries. The Oni to C compiler is very fast, though of course the total time still depends on the compilation speed of the generated C code. Luckily, projects like Tiny C Compiler (TCC) exist, which thanks to the quick compilation speed makes it so that one could compile and run Oni code kind of like a scripting language, but if final performance is needed you can always use GCC or Clang to generate the final executable.
  • It supports Algebraic Data Types (sum and product types) and parametric polymorphism. There is no macro system but these two features combined handle most of my metaprogramming needs.
  • Supports the defer keyword, that allows one to execute a function or block of code at the end of a lexical scope. Very useful for cleanup and resource de-initialization.
  • Allows out of order type and function definitions. I generally use “unity builds” and like to be able to import different files without a complicated module system.
  • One can override specific files from libraries (including the standard library) if needed. Sometimes it can be useful to have your own Array type or replace panic() for systems that can’t really halt.
  • It’s fully self-hosted, with an initial version written in C and the current implementation being written in Oni itself. Still bootstrapping the compiler is easy, as the current C generated code for Oni is included as a single C file. I’m very happy with the language and have already used it extensively for the compiler itself, some experiments with DSP programming and even Playdate console development.

Q: what are your biggest sources of inspiration, language wise?

A big philosophical inspiration came from Go, since the authors have a strong vision of simplicity and readability. You may like it or hate it but I admire the commitment to those ideals and the desire for great tooling built around the language.

There are a lot of modern “Better C” languages out there these days (D, Zig, Odin, etc.) but I’m not trying to compete with anyone. I’m just making something I personally find useful. Like a carpenter that makes it’s own workbench, this is tailored for my current needs, but I would be happy if a little community formed around it.

The syntax is lightly inspired by Rust but I tried my best to simplify things as much as possible and be as consistent as I could. Oni was born from my initial Scheme implementation, so I was happy to use let and set to declare and modify variables and I wanted to remove the visual noise of having semicolons after every expression. For new languages, it helps to keep a familiar syntax to other existing languages, but there is some leeway for weirdness and unfamiliarity as well.

Q: where do you want to take the language next, or, do you have plans for its future?

I’m quite happy with the Oni as it stands, I still need to use it more to find potential issues, shortcomings and bugs, but the core it’s good enough for my all my needs. There are some bugs that need fixing for some corner cases, but I think what it needs the most is more work on the standard library and more examples.

I’d also be interested to make a VM and/or REPL and other backends that don’t require a separate C compiler (AARCH64, x86_64, etc.). Additionally, I’d like to explore some simple optimizations that could be applied before code-generation.

If some more people would start to use it I’d be happy to support them, but I don’t want to add much more to the language for now, and it’s quite freeing to consider this project kind of done for the time being.

on video games

you’ve also worked on a variety of GBA code bases, and have obvious expertise in the realm of graphics programming and video game development.

Q: how did you get into graphical and video game programming?

Well I would definitely not call myself an expert, I just have a keen interest in those topics. I did have to learn some graphics programming to make some of these tools, and I have made a few tiny games in the past but nothing worth releasing, more for personal exploration. I tend to gravitate more to making tools and small-scope utilities. Since I love music and love making tools, I end up making tools to make music instead, only I make those sometimes for video-game consoles. It’s all quite a lot of fun!

I would like to work on video-game development but I fear I don’t have the attention span or the ability to make an original fun game by myself, though perhaps it’s just a matter of keeping the scope under control.

Q: whats one of your all-time favorite games, and what did you like about it?

I’m a big fan of Bloodborne, the aesthetics of it are sublime and feels really good to play. I enjoy challenging games, though there is a fine line between enjoyment and frustration. Luckily I tolerate failure well enough to push through, and overcoming that challenge is always such a rush.

Q: have you been playing any games of late?

I’ve been playing (and replaying) a few. The one that surprised me the most recently was Signalis, even as someone that hasn’t really enjoyed that many survival horror games, I really resonated with this one. Finally finished Disco Elysium (to my controversial disappointment) and The Drifter (to my delighted enjoyement). Other than that I’ve been on a Hollow Knight, Silksong, Bloodborne rotation and spending some time on roguelikes like Slay the Spire II, Spelunky 2 and Hades.

on music

similarly, your background in music also wide ranging, from digital signal processing, to theory and practice, to releasing your own music. in addition to [your own song], you even mixed and mastered the Merveilles ambient compilation elmet brae!

Q: where did your journey as a musician begin? what was your first instrument?

I learned to play the piano and some music theory when I was a kid. I wouldn’t say that I loved it, but I’m happy I had that experience. What I wanted to play at the time was To Zanarkand, from FFX, but alas, I had to practice Beethoven for the recitals. Still beautiful music but definitely different from what I wanted.

When I went to the university I learned to play the guitar and invested a lot of time an effort to learn as much as I could. I wanted to play everything, from rock to jazz and spent hours on the instruments until my fingers bled. For a time I consider dropping my studies to try to be a professional music player and teacher. The reality is that the money I was getting from teaching and writing some articles from some blogs and magazines was ridiculously little. Perhaps in time I could have figured it out but at the time I had no idea of how to run a business and I had no contacts and not enough expertise for the matter.

My passion burned like fire, and so I burned out with it when I had to go back to study engineering instead of pursuing this way of life. This left a scar in me, so deep that I couldn’t even bring myself to grab an instrument for several years after that. I would feel anxious as the desire to make music came back, but with time this scar healed bit by bit. Some years ago I picked up a few synths and made a few songs and the anxiety started to go away (though never fully).

Q: where have you been spending your musical energies lately? what does your musical practice look today?

I have a few open projects, though I’m ashamed to say I didn’t really had the energy to finish those up until now. A few years ago I got together with three other friends to compose an original soundtrack to the movie They Live by John Carpenter, which we then played live for a single show session. It was a great experience and we want to release those songs at some point, but I still need to finish some arrangements for a couple of them and wrap up the mixes.

The truth is lately I haven’t been investing too much energy into music making. Instead, I’ve taken photography as a creative outlet and enjoying to go out for walks, hikes and travels. I feel I spend an awful lot of time inside the house, so even though photo editing still takes time, it leads to a more balanced life. Still I’m looking forward to finish up some of my existing projects and make some of more jams, just gotta get myself into the right creative space for it.

closing curiosities

Q: recent books, albums, or movies you’d recommend?

My favorite book(s) in the past couple of years have been The Book of the New Sun by Gene Wolfe. It’s pretty fun how the story is re-contextualized several times throughout the different volumes.

As for music, we recently went to a show of Ze Ibarra that was simply wonderful, so I would like to recommend the album AFIM, a modern take for the Popular Brazilian Music genre (MPB).

Finally, the last movie I really enjoyed was Bugonia. Surreal, tense and sometimes funny, a very interesting piece of media.

Q: favorite recipe lately?

So many to choose from! I really like the basic staples, like lentils, beans or a good salad. My veggie paella is usually quite a success and my partner recently also made a killer risotto with truffle and shiitake mushrooms. We’ve also experimented with some pasta al limone and with white beans, yum!

Q: why badd10de?

Not a lot to it really, for this alias I wanted a name I could write with just hexadecimal numbers and that was exactly 8 characters long (as to fit a 4 byte/32 bit number) while searching for potential words that meet these parameters, I thought this combination was pretty funny.

in conclusion

if you didn’t already know about bad diode, i hope you do now! what an interesting individual. i really appreciate all your thoughtful answers to the questions i had prepared.

are you interested in being interviewed by me? icon representing the epistemic certainty of the linked pagecontact me ^__^


last updated:

2026.07.16