HNHacker News
TopNewBestAskShowJobs

jesse__

1,399 karma · joined April 4, 2022

jesse@scallywag.software

Website: https://scallywag.software

Bonsai :: A 3D Voxel engine, in a pot: https://github.com/scallyw4g/bonsai

Poof :: A C Metaprogramming Environment: https://github.com/scallyw4g/poof

Reddit: https://reddit.com/r/scallywag_software

submissionscomments
jesse__··on Software may be getting worse, but it used to be horrible
Case in point, the original release of Hearthstone was built by a team of like 10 people. Indies pull that kind of stuff off all the time, but it's comparatively rare for a big studio to do it.
jesse__··on Ask HN: Who wants to be hired? (October 2026)

  Location:  BC, Canada
  Remote:    Yes
  Relocate:  Unlikely
  Tech:      Windows Linux C C++ SIMD OpenGL WebGL WASM JS TS

  Github:    https://github.com/scallyw4g
  Portfolio: https://scallywag.software
  Résumé/CV: https://scallywag.software/resume.html
  Email:     jesse[at]scallywag[dot]software

  12 Years of Experience
--------

Hello, my name is Jesse. If I was born to do one thing in this world, it's program computers.

I describe myself as a competent generalist; I'm frequently working on something I've never done before. I've worked at every level of the stack, from cycle-shaving hot SIMD loops to the frontend of large web applications. Coworkers have described me as "the best engineer I've ever worked with" surprisingly frequently.

My most recent professional experience has been about a year at a semiconductor startup; I worked on prototypes for an ISA, compiler, a cycle simulator, and a visual debugger.

My most impressive open-source contribution is a voxel engine called Bonsai. It's written completely from scratch, and depends on nearly nothing external. Bonsai was on the front page a while ago : https://news.ycombinator.com/item?id=46285319

I'm comfortable working in heavily multithreaded/async soft-realtime environments where performance is a key acceptance criteria. I have a good understanding of modern hardware architectures, including GPUs, from main memory to registers and instruction pipelines.

I'm pretty much exclusively interested in GPU compiler work. I'd also get excited about 3D rendering or low-level performance work. If your team needs someone with breadth that get's shit done, let's talk.

Personally, I'm easy to get along with. I enjoy climbing in the summer, backcountry snowboarding and travelling to surf in the winter.

Thanks for reading,

Jesse

jesse__··on Ask HN: What are you working on? (September 2026)
I actually convert the SDFs to voxels and render triangles, but.. some people have written direct SDF renderers. There's a guy that posted to YouTube not too long ago that wrote a really cool one with physics and everything
jesse__··on Ask HN: What are you working on? (September 2026)
Hey, thanks for the kind words!

I'd say the defining feature is the editor and terrain generation system. At the moment it's not well documented, but once the big rewrite I've been working on has settled I plan to take some time to make tutorial materials.

As far as the license goes, I chose WTFPL originally because I figured it would dissuade 'real' companies (with legal teams) from using it. I've since thought about changing the license to something permissive that might play nice with legal teams, like MIT. You can do whatever the fuck you want; it says so right in the license ;) I'd actually love it if people used it. My intent now is to keep the engine open source, and build games with it in closed-source repos.

You're right, I should change the logo. It's on the todo list .. it's just a really long list ;)

jesse__··on Ask HN: What are you working on? (September 2026)
Oh yeah, I've seen that guys engine before. It's super impressive.
jesse__··on Ask HN: What are you working on? (September 2026)
Yeah, it seems enough people have done enough work on voxel engines now that we're actually starting to see games proliferate. I'm stoked about it!

I'm a lot less interested in minecraft-style survival games than I am in exploring .. other .. types of games that push the medium further. Most voxel games that make it to release basically boil down to 'hack-n-slash RPG with a lego world'. As you mentioned, it's obviously a successful recipe, but I feel like it's barely scratching the surface in terms of how far the underlying tech has come.

I've got a game in-flight where the primary mechanic is modifying the environment to achieve a goal. Teardown is really the only other game that's made it to market and done this. The mechanics are going to be intentionally simplistic .. it's more of an existence proof that a deeper game could exist and people are interested in it.

jesse__··on Ask HN: What are you working on? (September 2026)
I'm tangentially familiar .. I played the demo a couple times over the last few years when they did major releases. It's impressive to say the least.
jesse__··on Ask HN: What are you working on? (September 2026)
Wow, thanks for all the kind words folks! I really appreciate it <3
jesse__··on Ask HN: What are you working on? (September 2026)
Wow, high praise! Thanks :D I'm slightly biased, but I tend to agree with you; it's actually the best metaprogramming language I've ever used. JAI is probably better, but I haven't sat down and done a real project with it yet.

As far as following development on the game .. I'll probably start doing marketing when I've got enough for a trailer. I'll announce updates on Discord and Youtube, if you'd like to follow along there

https://discord.com/invite/kmRpgXBh75

https://www.youtube.com/@scallyw4g

jesse__··on Ask HN: What are you working on? (September 2026)
I've been working on a voxel game engine called Bonsai for ~10 years.

Probably the most interesting thing about it at the moment is the editor. The world, and most things in it, are represented as collections of SDFs. More accurately, they're density fields, but, potato-tomato.

Bonsai has undergone a large rewrite over the last couple years that's nearing completion. A world edit is defined as a bunch of SDF parameters which get projected/rasterized into the voxel grid by a shader on the GPU. One neat thing about SDFs is they've been thoroughly researched and documented by a guy named Inigo Quilez, and they have a lot of nice mathematical properties. For example, you can do a smooth union of arbitrary SDFs to get nice rounded contours where shapes join.

I've written every system from scratch, all the way from the memory allocators and font rasterizer to the collision detector and simulation loop. I even wrote a metaprogramming language as a replacement for C++ templates, which is a whole other story. IIRC the only external dependency is the C runtime library for starting the process and my very occasional use of variadic functions arguments.

For a long time, an explicit non-goal of the project was to ship a game. It sounded insane to me to write an entire 3D engine and then ship a game. As it turns out, I've gotten it to the point where I can actually make a game. I've got a start on the game systems in a closed-source repo, and hope to have a steam page for it by the end of the year.

I'll do some shameless self-promotion and leave some links here for anyone interested in looking at the engine, language code, or some pretty pictures.

https://github.com/scallyw4g/bonsai

https://github.com/scallyw4g/poof

jesse__··on Ask HN: Who wants to be hired? (September 2026)
Location: Remote, Canada

Technologies : C, C++, SIMD, OpenGL, WebGL, WASM, JS, TS

Interests : systems programming, compilers, 2D & 3D graphics, performance

--------

Hello, my name is Jesse.

I describe myself as a competent generalist, and a lifelong learner. I'm frequently working on something I've never done before. I've worked at every level of the stack, from cycle-shaving hot loops to the frontend of large web applications. My most recent professional experience has been about a year at a semiconductor startup; I wrote prototypes for an ISA, compiler, a cycle simulator and visual debugger.

In terms of hard technical skills, I can quickly become productive in nearly any language, and at any level of the stack. I'm comfortable working in heavily multithreaded/async soft-realtime environments where performance is a key acceptance criteria. I have a good understanding of modern hardware architectures, including GPUs, from main memory to registers and instruction pipelines. I have working knowledge of interpreters, dynamic language runtimes and garbage collectors. I'm convinced I can learn nearly anything (albeit some things more quickly than others), given an appropriate problem domain to apply it to.

In terms of business value, I can take hand-wavy visions of new products and turn them into working prototype(s), quickly. I'm comfortable refining those raw materials and delivering real value to customers, internal or external. I have a track record of successfully identifying 80/20 solutions and love the feeling of making tools that make peoples lives better.

In my personal life, I enjoy travelling, surfing, climbing, backcountry skiing, snowmobiling, pirates, and attending raves. I like the phrase "have strong opinions, weakly held".

If I was born to do one thing in this world, it's program computers.

Jesse

--------

https://scallywag.software

https://scallywag.software/resume.html

https://github.com/scallyw4g

jesse@scallywag.software

jesse__··on A fortuitous decade as an indie software developer
"surfing is not a sport, it's a way of life"

Agreed friend

Also, "it takes five years to become an overnight success" is a fantastic line.

Great read

jesse__··on Hax – a minimalist, terminal-native coding agent written in C
I lol'd at this
jesse__··on Show HN: Wyzer Programming Language
Okay.

I've written two separate moving collectors for dynamic language runtimes, as well as done significant work in realtime 3D graphics, and what you're saying mostly smells like bullshit.

> The interaction of a moving collector with most object is bump allocation when they're allocated (similar to stack allocation) and... that's it. The GC never sees them again, scans them again, or is even aware of their existence

I mean .. sure, but, a copying GC eats somewhere on the order of 10% of your total memory bandwidth just copying shit around. I can guarantee that if you use sane allocation strategies (arenas & freelists, pools, whatever) you spend <1% of your total system resources fucking around with memory allocation.

> Moving collectors [...] requires that (nearly) all pointers be movable, something that low-level languages can't do

Completely false. You have to do some manual bookkeeping in C++, Rust, Zig, whatever, but you can do it, and in fact many commercial GCs do (V8 is a good example).

...

The rest of what you said is just empty-sounding claims that I'm not going to address. I looked at the single paper that you linked in another comment, from the 80s, which is hardly relevant on modern hardware.

Please, if you're going to make the claims you're making, back them up with hard evidence. I've looked, and the overwhelming majority of papers out there claim that GCs are slow, memory hungry and, generally, a waste of time.

jesse__··on Show HN: Wyzer Programming Language
I don't understand how you can claim that using a GC does not make a language slower and less predictable.

Running a GC takes time, pollutes the cache, and is often run at an unpredictable time. Sure, the GC is not necessarily the SLOWEST thing about the language (python), but it's not helping, either.

jesse__··on Ask HN: Who wants to be hired? (August 2026)
Location: Remote, Canada

Technologies : C, C++, SIMD, OpenGL, WebGL, WASM, JS, TS

Interests : systems programming, compilers, 2D & 3D graphics, performance

--------

Hello, my name is Jesse.

I describe myself as a competent generalist, and a lifelong learner. I'm frequently working on something I've never done before. I've worked at every level of the stack, from cycle-shaving hot loops to the frontend of large web applications. My most recent professional experience has been about a year at a semiconductor startup; I wrote prototypes for an ISA, compiler, a cycle simulator and visual debugger.

In terms of hard technical skills, I can quickly become productive in nearly any language, and at any level of the stack. I'm comfortable working in heavily multithreaded/async soft-realtime environments where performance is a key acceptance criteria. I have a good understanding of modern hardware architectures, including GPUs, from main memory to registers and instruction pipelines. I have working knowledge of interpreters, dynamic language runtimes and garbage collectors. I'm convinced I can learn nearly anything (albeit some things more quickly than others), given an appropriate problem domain to apply it to.

In terms of business value, I can take hand-wavy visions of new products and turn them into working prototype(s), quickly. I'm comfortable refining those raw materials and delivering real value to customers, internal or external. I have a track record of successfully identifying 80/20 solutions and love the feeling of making tools that make peoples lives better.

In my personal life, I enjoy travelling, surfing, climbing, backcountry skiing, snowmobiling, pirates, and attending raves. I like the phrase "have strong opinions, weakly held".

If I was born to do one thing in this world, it's program computers.

Jesse

--------

https://scallywag.software

https://scallywag.software/resume.html

https://github.com/scallyw4g

jesse@scallywag.software

jesse__··on Show HN: An ASCII 3D Rendering Engine
Cool project! I viewed the landing page on mobile (chrome, android) and touching to drag the globe worked once or twice, but stopped working afterwards. The globe would appear to freeze (and, actually, the whole page locked up for a second or two), but then resume rotating on its own. Seems fairly reproducible on reloading the page.

Nice work!

jesse__··on Every Frame Perfect
I like this comment. The idea that animations should be able to be picked apart frame by frame and always be coherent doesn't make much sense, because the user will never actually do that.

I do like the point the article makes about using ui fidelity as a proxy for software quality, and agree that they pointed out some bad animations. But, I think you hit the nail on the head .. frame by frame coherence isn't the best yardstick for measuring animation "goodness".

jesse__··on Every Frame Perfect
Animations are highly effective tools for conveying state information.

Consider a toolbar with a mix of enabled and disabled buttons. Hover effects (which I would consider animations) convey that something is clickable, and on-click effects confirm an action. These effects convey meaningful information to both beginner users and power users of any software, and are in no way inconvenient to either group.

I generally agree animations tend to get in the way when you want to get shit done, but the idea that animations are only applicable as artistic effects rings untrue to me.

jesse__··on Ask HN: Who wants to be hired? (May 2026)
Location: Remote, Canada

Technologies : C, C++, SIMD, OpenGL, WebGL, WASM, JS, TS

Interests : systems programming, compilers, 2D & 3D graphics, performance

--------

Hello, my name is Jesse.

I describe myself as a competent generalist, and a lifelong learner. I'm frequently working on something I've never done before. I've worked at every level of the stack, from cycle-shaving hot loops to the frontend of large web applications. My most recent professional experience has been about a year at a semiconductor startup; I wrote prototypes for an ISA, compiler, a cycle simulator and visual debugger.

In terms of hard technical skills, I can quickly become productive in nearly any language, and at any level of the stack. I'm comfortable working in heavily multithreaded/async soft-realtime environments where performance is a key acceptance criteria. I have a good understanding of modern hardware architectures, including GPUs, from main memory to registers and instruction pipelines. I have working knowledge of interpreters, dynamic language runtimes and garbage collectors. I'm convinced I can learn nearly anything (albeit some things more quickly than others), given an appropriate problem domain to apply it to.

In terms of business value, I can take hand-wavy visions of new products and turn them into working prototype(s), quickly. I'm comfortable refining those raw materials and delivering real value to customers, internal or external. I have a track record of successfully identifying 80/20 solutions and love the feeling of making tools that make peoples lives better.

In my personal life, I enjoy travelling, surfing, climbing, backcountry skiing, snowmobiling, pirates, and attending raves. I like the phrase "have strong opinions, weakly held".

If I was born to do one thing in this world, it's program computers.

Jesse

--------

https://scallywag.software

https://scallywag.software/resume.html

https://github.com/scallyw4g

jesse@scallywag.software

jesse__··on Too much discussion of the XOR swap trick
In my experience, relying on the compiler to auto vectorize your code is a path fraught with peril.

It'll break eventually. If it matters, write the simd yourself. It'll probably be 2-50x better than the compiler anyways.

jesse__··on Too much discussion of the XOR swap trick
That's hella cute
jesse__··on C++26 is done: ISO C++ standards meeting Trip Report
Yeah, like 50 years too late.
jesse__··on C++26 is done: ISO C++ standards meeting Trip Report
> Aside from this being trivial in C++26

Great, it took them 51 years to make a trivial operation trivial. Call me next millennium when they start to figure out the nontrivial stuff, I guess.

jesse__··on C++26 is done: ISO C++ standards meeting Trip Report
> powerful compile-time and metaprogramming capabilities

While I agree that, generally, compile time metaprogramming is a tremendously powerful tool, the C++ template metaprogramming implementation is hilariously bad.

Why, for example, is printing the source-code text of an enum value so goddamn hard?

Why can I not just loop over the members of a class?

How would I generate debug vis or serialization code with a normal-ish looking function call (spoiler, you can't, see cap'n proto, protobuf, flatbuffers, any automated dearimgui generator)

These things are incredibly basic and C++ just completely shits all over itself when you try to do them with templates

jesse__··on C++26 is done: ISO C++ standards meeting Trip Report
> The C (near-) subset of C++ is (modulo standard libraries) a starting point for this; just adding on templates for type system power (and not for other exotic uses) goes a long way.

In my experience, this is absolutely true. I wrote my own metaprogramming frontend for C and that's basically all you need. At this point, I consider the metaprogramming facilities of a language it's most important feature, by far. Everything else is pretty much superfluous by comparison

jesse__··on We rewrote our Rust WASM parser in TypeScript and it got faster
This somehow reminds me of the days when the fastest way to deep copy an object in javascript was to round trip through toString. I thought that was gross then, and I think this is gross now
jesse__··on We rewrote our Rust WASM parser in TypeScript and it got faster
This should be the top comment
jesse__··on Building a Procedural Hex Map with Wave Function Collapse
I read an 'i hate myself' post one time where someone encountered a variable named leghands. Obviously, it had once read legendHandles, and had since been helpfully shortened by the author.
jesse__··on Building a Procedural Hex Map with Wave Function Collapse
Love this.

As an aside, if the author reads this, did you consider using bitfields for the superposition state (ie, what options are available for a tile)? I did a wfc implementation a while back and moved to bitfields after a while.. the speedup was incredible. It became faster to just recompute a chunk from scratch than backtrack because the inner loop was nearly completely branchless. I think my chunks were 100 tiles cubed or something.

Page 1 of 18Next →