newsletters:2024-09
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
newsletters:2024-09 [2024/10/01 02:47] – [Friends and outreach] osnr | newsletters:2024-09 [2024/10/01 03:47] (current) – [New parallel evaluator] osnr | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== September 2024 newsletter | + | ====== September 2024 newsletter ====== |
===== What we've been up to ===== | ===== What we've been up to ===== | ||
Line 5: | Line 5: | ||
* Andrés will be giving the opening keynote at [[https:// | * Andrés will be giving the opening keynote at [[https:// | ||
* The talk will use a Folk gadget to control slides, demonstrate Folk, and explain the technology and vision behind Folk. We'll link the recording of the talk in the newsletter next month. | * The talk will use a Folk gadget to control slides, demonstrate Folk, and explain the technology and vision behind Folk. We'll link the recording of the talk in the newsletter next month. | ||
- | * It looks like [[https:// | + | * It looks like [[https:// |
+ | * Our next [[https:// | ||
==== Applications and demos ==== | ==== Applications and demos ==== | ||
Line 41: | Line 42: | ||
* Naveen [[https:// | * Naveen [[https:// | ||
* Omar made a new live-build .img that has a working default up-to-date setup.folk | * Omar made a new live-build .img that has a working default up-to-date setup.folk | ||
+ | * (it was broken because it had no default camera/ | ||
* Still need to make git pull work (its remote origin is set wrong because we copied the repo) | * Still need to make git pull work (its remote origin is set wrong because we copied the repo) | ||
* I should write a script to do this automatically... | * I should write a script to do this automatically... | ||
+ | * Omar [[https:// | ||
==== Handheld Folk gadget ==== | ==== Handheld Folk gadget ==== | ||
Line 57: | Line 60: | ||
* + tell libcamera to configure (reduce) camera exposure time so that projected tags for calibration don't get washed out | * + tell libcamera to configure (reduce) camera exposure time so that projected tags for calibration don't get washed out | ||
- | These fixed the worst issues -- it now actually calibrates! We can project onto programs! | + | These fixed the worst issues -- it now actually calibrates! We can project onto programs! |
First calibrated use of Omar's gadget (gadget-blue) and of Andrés' | First calibrated use of Omar's gadget (gadget-blue) and of Andrés' | ||
Line 82: | Line 85: | ||
} | } | ||
</ | </ | ||
- | * Changed the 'page fault' mechanism to run '' | + | * [[https:// |
Line 88: | Line 91: | ||
==== New parallel evaluator ==== | ==== New parallel evaluator ==== | ||
- | sustain/TTL | + | Omar has been continuing to work on the new evaluator -- it really does feel like the biggest remaining issues in Folk are performance & reliability issues, so this is important. |
- | sysmon is extended | + | There' |
- | fixed some keyboard issues | + | === Sysmon and thread pool === |
- | workqueue display on threads page | + | Started working on sysmon thread which wakes up every few milliseconds and manages the size of the thread pool (too many threads looking for work? kill some; too few threads compared to number of CPUs? spawn some). |
+ | |||
+ | There are subtleties here where you want to avoid churning the thread pool and constantly killing and re-spawning stuff. Haven' | ||
+ | |||
+ | === Sustain / time-to-live field on statements or Holds === | ||
+ | |||
+ | Idea: sustain/TTL field where statements can get held for some number of milliseconds after their parent is retracted. | ||
+ | |||
+ | sysmon (which previously was just managing the size of the thread pool) is extended (maybe will rename to custodian) to also handle reaping sustained statements when they hit their deadline. it feels nice to do it here rather than complicating the priority queue further, since sysmon is already waking up every couple milliseconds anyway (and it doesn' | ||
+ | |||
+ | We had a good discussion about this proposal in Discord: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
+ | </ | ||
+ | |||
+ | === Other new evaluator stuff === | ||
+ | |||
+ | Added workqueue display on /threads | ||
+ | |||
+ | Fixed some keyboard issues where the keyboard process was erroring or exec-ing stuff all the time (because of lack of persistence / because of blinking), and where the grabber was broken because it wasn't inter-thread-safe. | ||
+ | |||
+ | Scheming about this memory management idea again, since it could simplify a lot of the implementation: | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | {{: | ||
+ | </ | ||
==== Friends and outreach ==== | ==== Friends and outreach ==== | ||
* Our open house this month was well-attended, | * Our open house this month was well-attended, | ||
- | * {{: | + | * {{: |
* Andrés practiced his talk for Causal Islands Berlin: | * Andrés practiced his talk for Causal Islands Berlin: | ||
* {{: | * {{: | ||
Line 106: | Line 146: | ||
* **Our next [[https:// | * **Our next [[https:// | ||
- | * Andrés | + | * Andrés |
- | * Daniel continuing to work on hand tracking | + | * Maybe some tasks afterward around merging the slides system they built and following up with people |
- | * Omar will respin the gadget | + | * Andrés continuing docs and desksaver projects |
- | * Omar continuing to work on new evaluator | + | * Andrés and Omar will work with our new partner [[https:// |
+ | * Daniel continuing to work on hand tracking | ||
+ | * Omar wants to respin the gadget | ||
+ | * Maybe also see if there is low-hanging fruit on performance | ||
+ | * Maybe also add a second camera to folk0 | ||
+ | * Omar continuing to work on new evaluator, work out thread pool management and sustain/ | ||
+ | * Maybe finally implement statement or match arenas so we can unify memory management | ||
+ | * Omar needs to get back on the 3D calibration refinement and UI (I think even adjusting exposure, without an additional refinement step yet, could make a big difference, & reporting tag detect results during calibration so you can see if it's iffy) | ||
+ | * could also include livestreaming the camera feed to the browser | ||
===== Links we've enjoyed ===== | ===== Links we've enjoyed ===== |
newsletters/2024-09.1727750845.txt.gz · Last modified: 2024/10/01 02:47 by osnr