We use the WASM build of DuckDB quite extensively at Count (https://count.co - 2-3m queries per month). There are a couple of bugs we've noticed, but given that it's pretty much maintained by a single person seems impressively reliable!
HN user
jasmcole
Physics -> software
I blog at jasmcole.com I work at count.co
Wow! I just checked your CV (we were at Cambridge at the same time :) ), and I will never dismiss a Geography degree again!
Hey, if you click through to one of the example simulations you'll be able to change the visualization from waves to time-averaged power density, which should be closer to what you're looking for.
Thanks! If you navigate to one of the example simulations, you'll be able to change the instantaneous field visualisation to one of time-averaged power density, which sounds closer to what you're looking for.
The cool thing about the speed of WebGPU is that you can drag things around and watch changes in real-time, even if you have to average lots of simulation steps per rendered frame.
Interesting! I have a desktop 3070 and hear the same. I don't hear anything on a Mac M1 though.
Definitely the vibe I'm going for!
Good question! This is actually a numerical solver for a few coupled partial differential equations - the method in this context (electromagnetism) is called FDTD. It's implemented as a WebGPU compute shader.
You absolutely could do this using WebGL2 compute shaders too, but I thought it would be fun to try this newer API.
Agreed! Though support should be coming soon it seems. As a complete WebGPU novice I was really impressed with how quick it was to get going.
See also the blog post here discussing this project:
Author here - amazing how this old post comes back around! I know this book is a bit divisive with the big time jump, but you can't argue with the opening line.
Shameless plug - I've become a better engineer since then, and if you'd like to work with me check out this role I'm hiring for:
https://jobs.ashbyhq.com/count/d49bdc38-96ea-4dbd-9ab5-ae4f5...
If you're interested in a mix of SQL, Python, DuckDB and low-code interfaces to SQL databases, you may want to check out https://count.co
https://count.co perhaps?
We use Pyodide at https://count.co and think it's pretty amazing! Congrats on the new release. I read about the snapshot support for Cloudflare workers and assumed it was a feature that Cloudflare had developed - the fact it may be coming to all users of Pyodide is great news.
Thanks for the heads up - a page more focussed on dbt specifically is here:
https://count.co/product/data-modeling/
and associated blog post:
https://count.co/blog/how-we-made-data-modeling-multiplayer/
If you're interested in interrogating dbt models using DuckDB, you may be interested in some new dbt features we've recently released at https://count.co
We settled on DuckDB as our in-browser DB at count.co - it's been great! Just waiting for extensions and compression in the WASM build now...
Me too! Other recent gadgets that have scratched the same itch are the Steam deck and folding phones, though nothing quite captures the feeling of the gadget experimentation going on back then.
Nice! I made a quick'n'dirty Typescript notebook with React + Plotly as a Matlab clone a few years ago. I was impressed with how everything you need to compile and execute TS was built-in to Monaco, using web workers etc.
Merry Christmas HN!
We implemented a WebGL plot + text renderer for https://count.co - adding support for emoji was a pain. In particular you can't use normal SDF maps as for other monochrome characters, so there has to be a per-character flag in the fragment shader to interpret the texture correctly.
Nice article!
When we wrote the instanced WebGL line renderer for https://count.co one of the tricky parts was switching between mitre and bevel joins based on the join angle - for very acute angles the mitre join shoots off to infinity.
Another nice extension (that we are yet to implement) is anti-aliasing, but I think that requires extra geometry to vary the opacity over.
I wrote that - thanks! Somehow it ranks highly on Google, but there are some links at the bottom to some other (better!) posts that I read first.
Those interested in SQL notebooks can also check out https://count.co
What a great blog you have! I'm interested that your path to a research position occurred via game development. Is that common? (I've subscribed to your feed, the combination of topics you cover is uncannily similar to my own interests.)
Started 6 years ago now, occasional investigations into maths, physics, and data.
I went deep down the art of code rabbit hole on YouTube, a great channel for learning about shaders.
I wrote this blog post on writing interactive SDF shaders:
One application (which I used to work on) is generating electric field strengths beyond the 'Schwinger limit'. This is a field strength below which various QED processes are exponentially damped, such as electron-positron pair production. Generating such field strengths in the laboratory (as opposed to, say, the surface of pulsars) will allow studies of strong-field QED.
Pre print from arXiv:
Very sad. Reading datagenetics inspired me to start my own blog, which has been very fun over the years. Thanks Nick for the great posts and inspiration!
6371km is the radius of the earth :)