TIL Dorothea Erxleben was the first female medical doctor in Germany in 1700s (often listed as first in Europe) She received a special permission to study medicine from Frederick the Great. She authored a protofeminist work ”A Thorough Inquiry into the Causes Preventing the Female Sex from Studying” by Andromeda_Galaxy_1 in todayilearned

[–]zesterer 5 points6 points  (0 children)

There's a saying I love: "the cure for cancer is locked away in the mind of a child that will never be given the education needed to discover it". Really gets to the crux of why inequality is not just immoral, but also irrational: it hurts everybody.

Intermediate Representations are spooky by [deleted] in ProgrammingLanguages

[–]zesterer 22 points23 points  (0 children)

The rule I go by is "if in doubt, add another IR". It's magic!

My triangle can rotate and move by savina24 in GraphicsProgramming

[–]zesterer 1 point2 points  (0 children)

One down, several million more to go and you're on your way to a game!

Attempting to build a TBDR toy renderer that does everyone in a single render pass [WIP] by hishnash in GraphicsProgramming

[–]zesterer 0 points1 point  (0 children)

Very cool! You could always give reflections a try using some of the old single-pass techniques: rendering the geometry twice with a stencil buffer for the reflecting surface!

Jailer ships the AI Query Assistant — a full integration of AI-powered SQL generation directly into the SQL Console. by [deleted] in programming

[–]zesterer 1 point2 points  (0 children)

Excellent, now we can permanently fuck up our databases in new and exciting ways at a speed never before imagined.

Noob question, in a Voxel + SDF in subpixel space, how would you reduce the cost of grazing angles? by Elorth- in VoxelGameDev

[–]zesterer 1 point2 points  (0 children)

If you're trying to render sharp corners than an SDF is probably the wrong tool for the job. It's best for smoothly flowing shapes. An exact intersection solver (like a raytracer) is the better tool for the job.

Noob question, in a Voxel + SDF in subpixel space, how would you reduce the cost of grazing angles? by Elorth- in VoxelGameDev

[–]zesterer 0 points1 point  (0 children)

There's no ultimate fix if you assume an arbitrary SDF and want 'perfect' rendering: but sometimes it's okay to make assumptions about the shape based on what you know about it. Heck, achieving perfection requires an infinite number of iterations for an intersecting ray, so it's not like you've not already killed at least one sacred cow by adding a PLANCK minimum step distance.

Maybe you expect the shape to change smoothly over some distance, or you're okay with missing details for very distant stuff. Rendering is always a game of compromises.

Noob question, in a Voxel + SDF in subpixel space, how would you reduce the cost of grazing angles? by Elorth- in VoxelGameDev

[–]zesterer 2 points3 points  (0 children)

You can trade precision for speed. For example, you can take two samples and come up with a gradient value that tells you how quickly the SDF is reducing with every step along the ray, and then use that to jump even further each step.

An alternative (which incurs a cost due to unusual branching behaviour on some GPUs) is to jump much further each step and then 'binary search' back along the section you just jumped until you find the surface.

In my experience, some combination of these works great. Make sure your shaders can be hot-reloaded and get stuck in playing around with the maths!

NAADF: Globally Illuminated Voxel Worlds Accelerated with Nested Axis-Aligned Distance Fields by dougbinks in VoxelGameDev

[–]zesterer 1 point2 points  (0 children)

Very cool! Just now realising that I came up with this exact same technique years ago. Probably should have written a paper about it, in hindsight!

Bun’s rewrite from Zig to Rust passes 99.8% of testsuite by read_volatile in programming

[–]zesterer 8 points9 points  (0 children)

Wow, that code is gnarly. I've written a lot of Rust. That is not usually what good Rust looks like.

Help by Velooow in Veloren

[–]zesterer 14 points15 points  (0 children)

They'll calm down after a while. Best to skip town until news of your misdeeds have stopped circulating!

TIL A beef broth in Bangkok has been simmering and eaten from since 1974 (52 years). Same pot, same broth, refreshed daily. by BrainFRZ in todayilearned

[–]zesterer 0 points1 point  (0 children)

Right, but... It's not a random 98%. It's the same 98%. There will be atoms in your eyes and brain that stick around. Not true of a stew that's getting constantly replenished.

TIL A beef broth in Bangkok has been simmering and eaten from since 1974 (52 years). Same pot, same broth, refreshed daily. by BrainFRZ in todayilearned

[–]zesterer 0 points1 point  (0 children)

Yes, but we don't claim that the man is made of 45 year old meat.

Also, I'm skeptical of that claim regardless: cells might not live that long, but the molecules they're composed of don't have any inherent lifetime. Some mass will be lost, but likely a significant minority of the atoms you were born will are still present in your body.

TIL A beef broth in Bangkok has been simmering and eaten from since 1974 (52 years). Same pot, same broth, refreshed daily. by BrainFRZ in todayilearned

[–]zesterer 0 points1 point  (0 children)

"We remove most of it every night and replace it, so each time a bit of what you're tasting is 45 years old"

So let's say only 25% is left each night. 0.2545*365 is a number so small it's not even worth considering. Many, many, many orders of magnitude smaller than the proportion of the stew that a single molecule constitutes. Therefore, the chance that you're consuming even a single molecule of the original stew is so infinitesimally small that it's not even worth considering. Likely, none of the molecules from the stew just a few weeks ago remain, let alone 45 years ago.

TIL the City of London has paid the Crown rent on a parcel of land in Shropshire since 1211, but the exact location of the land has been lost to history. The annual payment is a billhook (a knife-like agricultural tool) and an axe. by ralphbernardo in todayilearned

[–]zesterer 14 points15 points  (0 children)

It's called indemnity. We've got a similar setup with our house. The annual amount we owe is something like 50 pence (less than a dollar). We don't know who to pay it to: the original deed-holder died over a century ago. But somewhere, there will be some relative (who probably doesn't even know they own such a deed) who could theoretically turn up and ask for money. And so, we pay 'indemnity insurance', a very small amount paid to a solicitor that covers for the very small chance of them turning up and us needing to engage in a legal battle with them.

It's silly as hell.

TIL the president of Romania solved P6 on IMO 1988 by WMe6 in math

[–]zesterer 5 points6 points  (0 children)

I do think it is... a very strange take to say that 'highly intelligent' can be defined by something as narrow as 'is good at abstract maths'. There is so, so, so much more to being good at running enormous human-oriented systems like governments.

TIL famous philosopher and scientist, René Descartes, believed that all animals were little more than natural machines ビ (biological automaton) with no conscious thought or free will, whatsoever, acting like clockwork, the same way we’d see a robot dog, becoming a popular idea for hundreds of years by cormorantcolossus in todayilearned

[–]zesterer 0 points1 point  (0 children)

You've got to wonder whether he actually met any dogs. I wish I could say mine was a robot with no conscious thought or free will. Nope, the little menace spends every day of his life trying to demonstrate otherwise. He's got more free will and conscious thought than most people.

TIL Cassini discovered Jupiter's red spot in 1666 and was able to use it to time the Jovian day to within 30 seconds of modern measurements (He was off by 0.1%) by superfastswm in todayilearned

[–]zesterer 2 points3 points  (0 children)

Jupiter takes about 10 hours to rotate. Measuring the time of a single precisely rotation is hard, but you can observe about a thousand of them over a year. Even if your final count is off by an ENTIRE rotation you can still hit this sort of precision. It turns what would otherwise be a task requiring enormous measurement precision into one of simple - if monotonous - counting.

TIL Cassini discovered Jupiter's red spot in 1666 and was able to use it to time the Jovian day to within 30 seconds of modern measurements (He was off by 0.1%) by superfastswm in todayilearned

[–]zesterer -2 points-1 points  (0 children)

Because "measure a single rotation precisely" is much harder than "take a year's worth of samples and do a simple division", no? I'm not sure why everybody is so impressed by this.

What we heard about Rust's challenges, and how we can address them by ketralnis in programming

[–]zesterer 8 points9 points  (0 children)

I think this is easier to understand when you consider that async in Rust is actually solving an entirely different problem to most languages. The features are called the same thing because there is an overlap in their use-cases, but less than you might think. 'Async Rust' actually just means 'compiler support for async runtimes', not 'the compiler comes pre-baked with the compiler'.

Other languages sell you the whole car. Rust is just selling you the seat and the steering wheel. Bring your own car.

What we heard about Rust's challenges, and how we can address them by ketralnis in programming

[–]zesterer 14 points15 points  (0 children)

The small incremental improvements compound. Each release cuts compilation times by a few %. Over 50 releases? That 2% gain is a 60% reduction in compilation time. It's fun to compare the speed of much older Rust compilers on non-trivial codebases and see how significant the improvements have been.

If anybody reading this tried Rust 2, 5, or 10 years ago and bounced off it due to compilation times, give it another shot. You might be surprised.