HNHacker News
TopNewBestAskShowJobs

cshenton

387 karma · joined January 27, 2016

I write statistical software https://github.com/cshenton
submissionscomments
cshenton··on Leaving Rust gamedev after 3 years
My experience is that the ecosystem is a mess, have hit winit, wgpu, and countless bevy bugs, iteration times are abysmal, documentation is nonexistent. In the time it would take me to make a game in popular Rust tooling I could build the game and engine from scratch in C and also have something that would crash less.
cshenton··on GPU compute in the browser at the speed of native: WebGPU marching cubes
You absolutely cannot implement stream compaction “at the speed of native” as WebGPU is missing the wave/subgroup intrinsics and globally coherent memory necessary to do that efficiently as possible.
cshenton··on My personal C coding style as of late 2023
Really lovely. A lot here reminds me of design in Odin lang. Short integral types, no const, composite returns over out params. Big fan of the approach of designing for a single translation unit and exploiting the optimisations that provides from RVO etc.
cshenton··on Small joys of programming in Odin
Odin is lovely and a great fit for graphics and games programming. I’ve been doing my real time graphics research in it (the CPU parts at least).
cshenton··on Stop Saying C/C++
Absolutely! On a related note, looking for C development jobs is a real pain for this reason.
cshenton··on Learning Modern 3D Graphics Programming (2012)
I personally find the experience of writing GPU compute code pretty nice on graphics APIs. The interface is pretty much the same “dispatch a 1-3D set of 1-3D work group indices”.

The main pain points vs dedicated compute stuff like cuda is libraries and boilerplate to manage memory and launch kernels.

cshenton··on Learning Modern 3D Graphics Programming (2012)
For 3D, use a game engine. Unity, Unreal, maybe Godot depending on your perf requirements.
cshenton··on Learning Modern 3D Graphics Programming (2012)
When you look at how much nicer the programming experience is for something like Metal it’s hard to blame them.

Think I’d prefer to write 3 backends for Metal level complexity APIs than a single one targeting Vulkan.

cshenton··on Learning Modern 3D Graphics Programming (2012)
If someone wants to get into graphics API programming that’s probably a bit too high level, as lovely as it is.
cshenton··on Learning Modern 3D Graphics Programming (2012)
I know you mean major desktop platforms, but in terms of market share for real time 3D applications, mobile and console dwarf Mac and Linux.
cshenton··on Nuklear – A single-header ANSI C immediate mode cross-platform GUI library
Not faster to integrate it into a build system or compile it though.
cshenton··on Nuklear – A single-header ANSI C immediate mode cross-platform GUI library
I suspect (1) is just because Dear ImGui is BYO graphics backend, so it doing lots of clever texture management stuff for lots of images would increase the surface area of that integration which would make it harder to use for most folks.
cshenton··on Nuklear – A single-header ANSI C immediate mode cross-platform GUI library
Dear ImGui certainly seems more popular wherever skinning isn’t a priority (though I’ve seen games use it even for user facing UI). It’s become a bit of a Wilhelm scream, love spotting it in the wild.
cshenton··on I like Odin
Odin is probably the most productive I’ve been in a language. I went from reading the docs to having a working interactive PBD particle sim in VR via OpenXR in around 48 hours wall clock time.

I am currently writing a rigid body engine in it. It is perfect for graphics/games programming.

cshenton··on Stable Diffusion Public Release
This is completely wrong, the digital art industry is enormous and, mind you, pretty uniformly pissed off that this model has been trained off of their non public-domain work.
cshenton··on Negative incentives in academic research
Another interesting factor. PhD stipends are getting gobbled up by inflation. I wonder how many people will forgo starting a research career because they want to be able to pay rent.
cshenton··on Modern cloud for multiplayer games
What are your egress charges?
cshenton··on DevOps is a failure
Why not all of the above?
cshenton··on Bayesian Workflow (2020)
Also worth pointing out that Bayesian methods are the only good option when performing data assimilation into large scale simulators (like epidemic models) which are typically statistically under identified by available data. So this stuff is very relevant!
cshenton··on Bayesian Workflow (2020)
Bayesian statistics gets tonnes of practical use. Software packages like STAN-MC get lots of use in traditional stats/econometric circles, while probabilistic programming languages like Turing, Edward, and PyMC get plenty of use elsewhere. Developing algorithms to sample from or solve for the posterior distribution given an arbitrary prior and likelihood is an active area of research. If you want stuff to google, relevant families of algorithms are Variational Inference, Approximate Bayesian Computation, Markov Chain Monte Carlo, and Particle Filters / SMC. However there’s a few newer families of algorithms that have popped up in recent years.
cshenton··on Advice for academic refugees
As someone about to pause an industry career for a PhD, I still think this is good advice!
cshenton··on Meta VR prototypes aim to make VR 'indistinguishable from reality'
That last one is a good point. The size of the “sweet spot” in an HMD isn’t discussed enough.
cshenton··on Meta VR prototypes aim to make VR 'indistinguishable from reality'
Quest 2 can overclock to 120Hz can’t it?
cshenton··on Meta VR prototypes aim to make VR 'indistinguishable from reality'
Oculus is leading the pack in wireless by offering Airplay out of the box. I’d wager that’s part of their vision too.

Also the UE5 demo running on a PS5 doesn’t mean that it could push pixels on two screens at the frame rate needed for VR.

cshenton··on Meta VR prototypes aim to make VR 'indistinguishable from reality'
Even as an enthusiast (5 headsets and counting) I have to agree. There have been several month periods where I didn’t use VR due to driver instability.

That being said, body tracking is what made the platform click for me. Hanging out with friends from all over the world in an immersive space feels like the future.

cshenton··on Lorien – Infinite canvas drawing/whiteboarding app
Dreams doesn’t quite use an octree SDF for its geometry representation.

It uses a tree of CSG edits (basically the raw stroke inputs) which is then stochastically sampled (as an SDF) to produce points on the surface that are splatted. Alex Evans’ talk on this is fantastic btw and I thoroughly recommend it.

cshenton··on Rust without the async (hard) part
Why isn’t imperative event loop programming more widely used? It’s a reasonably common pattern for games networking libraries like Enet, and has the added bonus that you get to design exactly how you lay out the memory of all your in flight work and therefore have it be easily debuggable.
cshenton··on Science needs more research software engineers
Would love to work at a University as a Research Engineer. Would not love to do it for less than I made as an undergrad out of college. Universities can avoid not paying market, but they pay more like 40-50% of market.
cshenton··on Bunnymark GL in Jai – 200k sprites at 200fps [video]
This is doable on a single core in JavaScript.
cshenton··on Bunnymark GL in Jai – 200k sprites at 200fps [video]
It is not impressive. This workload is entirely bandwidth constrained and is more a test that your renderer isn’t doing anything stupid.
Page 1 of 5Next →