0023: HYTRADBOI teaser, dida vs datalogui, preimp cruft, dbsp, links etc

Published 2022-04-24

I made a HYTRADBOI teaser trailer.

As I write we're at 293 attendees. All the infrastructure is wired up and my todo list is mercifully clear for these last few days.


I sat down briefly with Marco Munizaga to look at using dida in datalogui. The main outcome is that it's really clear that I need to rethink how the js bindings work wrt reference types. Probably the new version will move the graph builder api entirely into js and just ship the whole thing across as a value type. I'll also stop using pointers directly in favor of handles, so that memory management mistakes on the js side (eg freeing the shard and then trying to read from it) lead to exceptions instead of UB.


I made a bunch of build-time improvements to the little clojurescript dialect that I demoed in the last log. No major changes in the demo, but a lot of the cruft has been removed, the error handling has been improved so the demo can't brick itself and I can actually ship a jar now instead of only being able to run it in figwheel.


DBSP is a new formalization of incremental maintenance from the folks behind differential datalog. I will have a lot more to say about this in the future, but the short version is that it drops some of the capabilities of differential dataflow (eg out-of-order inputs, temporal operators, efficient parallel execution over fine-grained timestamps) but in exchange has a much simpler formalization and implementation, and crucially can still incrementally maintain recursive functions.

I made some progress on a didactic implementation that I hope to turn into a little interactive essay, but I definitely won't be able to finish it until after HYTRADBOI.


Links:

The self-hosted zig compiler can now build itself. #89 tracks the remaining tasks before it can ship. A huge amount of other improvements to the language are blocked on shipping the new compiler, so it's pretty exciting.

Alexander Obenauer lab notes detail his experiments replacing the application model with a composable data-oriented interface.

The tower of weakenings continues the rust teams heroic efforts to define exactly what behavior is safe. The status quo in all other languages:

So as an educator, I eventually have to bottom out on sending you a shrug-emoji if you keep asking for what the real rules are. No one really knows!

On the heavy influence of fossil fuel companies in UK academia.

Free as in ...? Points out that freedoms afforded by foss software to the average computer user are effectively the same as proprietary software, because it's too difficult to even find the source and build it, let alone make any changes. Advocates the foss developers should not think only about the things that users are not legally prevented from doing, but about what things they are realistically empowered and supported in doing.

Wisp - a wasm-based lisp with a gorgeous structural editor.

A taxonomy of bugs. Pragmatic, detailed advice from the Our Machinery devs, as usual.

bun is "a very new jsx & typescript transpile, js & css bundle, dev server with 60fps hot module reloading and javascript runtime environment (like node.js or deno)". It looks like it aims to be compatible with most existing node infrastructure but dramatically speed up a lot of day-to-day tasks like running test suites.

Volkswagen is releasing a fully electric version of the classic hippy bus. As someone who has spent non-trivial amounts of time living out of a van, I'm really excited that electric campers are starting to look commercially viable.