newsletters:2024-12
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
newsletters:2024-12 [2024/12/31 11:28] – osnr | newsletters:2024-12 [2024/12/31 22:24] (current) – [New parallel evaluator] osnr | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== December 2024 newsletter | + | ====== December 2024 newsletter ====== |
Thanks for following along so far! We've been working on a lot of big projects in 2024 -- many still under way (parallel evaluator, gadget design, RFID tag localization, | Thanks for following along so far! We've been working on a lot of big projects in 2024 -- many still under way (parallel evaluator, gadget design, RFID tag localization, | ||
Line 7: | Line 7: | ||
* first version of [[newsletters/ | * first version of [[newsletters/ | ||
* more installations around the world: [[newsletters/ | * more installations around the world: [[newsletters/ | ||
- | * Jessie Grosen' | + | * Jessie Grosen' |
* s-ol bekic' | * s-ol bekic' | ||
* [[https:// | * [[https:// | ||
Line 13: | Line 13: | ||
* presented Folk at [[newsletters/ | * presented Folk at [[newsletters/ | ||
- | We're looking forward to seeing more big projects come to fruition | + | In 2025, we're looking forward to seeing more of these big projects come to fruition, then playing with the resulting |
(If you want to stop by next month, our next Folk open house will be [[https:// | (If you want to stop by next month, our next Folk open house will be [[https:// | ||
Line 83: | Line 83: | ||
The problems with the Orange Pi were that it doesn' | The problems with the Orange Pi were that it doesn' | ||
- | = USB cameras | + | < |
+ | < | ||
So I did a small dive into USB cameras. I had been sour on them because I assumed they were all unwieldy, big, webcam-shaped, | So I did a small dive into USB cameras. I had been sour on them because I assumed they were all unwieldy, big, webcam-shaped, | ||
Line 92: | Line 93: | ||
(I also spent a while digging through USB-A and USB-C cables and adapters to find a short cable with minimal plug footprint, 90-degree angle, etc, since the normal USB cables and plugs are obviously a lot bigger than I'd like to fit inside the chassis, in contrast to the Pi CSI camera' | (I also spent a while digging through USB-A and USB-C cables and adapters to find a short cable with minimal plug footprint, 90-degree angle, etc, since the normal USB cables and plugs are obviously a lot bigger than I'd like to fit inside the chassis, in contrast to the Pi CSI camera' | ||
+ | </ | ||
- | I seem to have all the parts now, so the next steps are system/ | + | I seem to have all the parts now, so the next steps are system/ |
+ | |||
+ | {{newsletters: | ||
==== New parallel evaluator ==== | ==== New parallel evaluator ==== | ||
Line 110: | Line 114: | ||
=== Performance and memory leaks === | === Performance and memory leaks === | ||
- | For most of this month, I've been staring at increasingly elaborate [[https:// | + | For most of this month, I've been staring at increasingly elaborate [[https:// |
{{newsletters: | {{newsletters: | ||
- | Fixed a ton of memory leaks; I think folk2 might be less leaky than folk1 now. | + | Now that I've added enough hooks, I get these extremely rich views of all Folk programs/ |
+ | |||
+ | {{newsletters: | ||
+ | |||
+ | Some of the resulting improvements this month: | ||
+ | |||
+ | * Fixed a ton of memory leaks (mostly freeing clauses and terms in clauses, and some transient objects in C); I think folk2 might be less leaky than folk1 now. | ||
+ | * The Tracy memory visualization is very cool: | ||
+ | * {{newsletters: | ||
+ | * Saw that we were spending a lot of time waiting on the one big trie lock, so replaced the trie with an immutable path-copying trie (and an [[https:// | ||
+ | * Fixed a [[https:// | ||
+ | * Created (by patching up memory leaks) and then fixed a problem where we would leak all the statement slots which eventually caused the whole system to blow up | ||
+ | * {{newsletters: | ||
+ | * "We were not freeing aborted ref which caused us to run out of statement slots which caused statementNew to hang which caused the global workqueue to overflow." | ||
+ | * Fixed horrible bug where my steal-half deque operation was wrong (so were dropping lots of operations, the system was not behaving correctly), replaced with more standard steal-one | ||
+ | |||
+ | I'm kind of addicted to using Tracy -- it feels like it obsoletes a lot of the monitoring stuff I'd hacked into folk2, because you can just use Tracy to //see// everything (as long as you add the right hooks). No need for perf probes, or gperftools heap monitoring, or the trace log endpoint. The Tracy hooks are low-overhead (nanoseconds), | ||
+ | |||
+ | And using Tracy feels // | ||
+ | |||
+ | {{newsletters: | ||
==== RFID localization ==== | ==== RFID localization ==== | ||
Line 133: | Line 158: | ||
(Even before this, we've been kind of poking at Linux to get stuff to work, locking threads at high priority and putting them on specific CPUs, etc. If I turn that stuff off and rely on default scheduling behavior, we do get worse at talking to the tags, so it's doing // | (Even before this, we've been kind of poking at Linux to get stuff to work, locking threads at high priority and putting them on specific CPUs, etc. If I turn that stuff off and rely on default scheduling behavior, we do get worse at talking to the tags, so it's doing // | ||
+ | |||
+ | {{newsletters: | ||
=== Rounds === | === Rounds === | ||
Line 149: | Line 176: | ||
==== Other Folk system improvements ==== | ==== Other Folk system improvements ==== | ||
- | * Sébastien Lerique has been setting up a system in France; fixed an error in calibration | + | * Sébastien Lerique has been setting up his system in France; |
* We might need a better strategy for calibrating ultra-short-throw / highly distorted projectors (maybe conservatively only support a single plane?) | * We might need a better strategy for calibrating ultra-short-throw / highly distorted projectors (maybe conservatively only support a single plane?) | ||
- | * Daniel Pipkin fixed SSID detection on macOS Sequoia | + | * Daniel Pipkin |
- | * Andrés added support for single-l '' | + | * Andrés |
==== Friends and outreach ==== | ==== Friends and outreach ==== |
newsletters/2024-12.1735644494.txt.gz · Last modified: 2024/12/31 11:28 by osnr