HackerLangs
TopNewTrendsCommentsPastAskShowJobs

jesse__

no profile record

Submissions

Bonsai: A Voxel Engine, from scratch

github.com
259 points·by jesse__·7 เดือนที่ผ่านมา·44 comments

1B^3 Voxel Worlds [video]

youtube.com
1 points·by jesse__·8 เดือนที่ผ่านมา·0 comments

comments

jesse__
·17 วันที่ผ่านมา·discuss
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__
·28 วันที่ผ่านมา·discuss
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__
·28 วันที่ผ่านมา·discuss
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__
·2 เดือนที่ผ่านมา·discuss
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

[email protected]
jesse__
·3 เดือนที่ผ่านมา·discuss
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__
·3 เดือนที่ผ่านมา·discuss
That's hella cute
jesse__
·3 เดือนที่ผ่านมา·discuss
Yeah, like 50 years too late.
jesse__
·3 เดือนที่ผ่านมา·discuss
> 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__
·3 เดือนที่ผ่านมา·discuss
> 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__
·3 เดือนที่ผ่านมา·discuss
> 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__
·4 เดือนที่ผ่านมา·discuss
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__
·4 เดือนที่ผ่านมา·discuss
This should be the top comment
jesse__
·4 เดือนที่ผ่านมา·discuss
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__
·4 เดือนที่ผ่านมา·discuss
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.
jesse__
·4 เดือนที่ผ่านมา·discuss
> If you need to wait YEARS ...

Imagine working on voyager II .. or some old-ass banking software that still runs RPG (look it up, I'll wait), or trying to hire someone to do numerical analysis for the genesis of a format that supercedes IEEE float .. or .. whatever.

There are many applications for extremely specific skillsets out there. Suggesting otherwise is, in my opinion, clearly unwise
jesse__
·4 เดือนที่ผ่านมา·discuss
Thanks for your work on Zulip!

I have some feedback that's annoyingly non-specific.

I used Zulip a few years ago as a contractor. It seemed _fine_, but I didn't love it. Specifically, the UI felt sluggish and generally the experience was somewhat unpolished. Maybe things have changed, a lot happens in a couple years, but there you go
jesse__
·5 เดือนที่ผ่านมา·discuss
Of the three, I only like cars.

I'm from Canada, and I like cars for many of the same reasons I like programming. They're complicated, fickle, and go fucking fast when you get everything right. It's like mainlining adrenaline and validation at the same time.. who wouldn't like that?! They're just fucking fun
jesse__
·5 เดือนที่ผ่านมา·discuss
As someone who accidentally discovered the anti-depressive effects of psilocybin in my early 20s, I approve this message!
jesse__
·5 เดือนที่ผ่านมา·discuss
> Here, we don't have winter, fall or anything anymore.

I was in the bar in Revelstoke (where I lived, at the time) chatting with an old-timer the other year, and I asked him "is it just me, or did it used to snow more?"

He laughed, and told me that when he was a kid growing up, they weren't allowed to play on the tops of snowbanks because you'd get electrocuted by the high tension power lines. At the time, mid-winter, it was raining outside with a sad pile of slush maybe 1 foot deep.

Even when I was a kid in Revy, snowbanks were 10' deep mid-winter, every winter. It's been raining in town for the last 5 years, all winter. Winter's over. Time to start surfing, I guess.
jesse__
·5 เดือนที่ผ่านมา·discuss
> 60 FPS — Optimized for smooth rendering

I don't wanna dunk on this, it's a cool idea, but you can generate a lot of Perlin noise in 16ms ..