newsletters:2024-05
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
newsletters:2024-05 [2024/06/01 19:19] – osnr | newsletters:2024-05 [2024/06/03 00:45] (current) – [New parallel evaluator] osnr | ||
---|---|---|---|
Line 32: | Line 32: | ||
* {{newsletters: | * {{newsletters: | ||
* Setup at the Clive Davis Gallery: | * Setup at the Clive Davis Gallery: | ||
- | * {{newsletters: | + | * {{newsletters: |
* Andrés and Omar disassembled the cart system from ITP (in Downtown Brooklyn) and brought it all back to the studio in East Williamsburg: | * Andrés and Omar disassembled the cart system from ITP (in Downtown Brooklyn) and brought it all back to the studio in East Williamsburg: | ||
- | * {{newsletters: | + | * {{newsletters: |
==== Small system improvements ==== | ==== Small system improvements ==== | ||
* Omar added Commit '' | * Omar added Commit '' | ||
- | * Omar added a GPU function wish -- another thing we should have done a while ago | + | * Omar [[https:// |
+ | * Replaces needing to manually run '' | ||
+ | * {{: | ||
+ | * Slightly updated the [[guides: | ||
* [[https:// | * [[https:// | ||
+ | * s-ol made a lot of [[https:// | ||
+ | * Omar added persistence of calibration and printed programs, and fixed file permissions for git pull, so the live USB is totally usable as a long-term system now! | ||
* Omar did a cleanup of the repo, removing the pi/ and play/ folder (preparing for opening the repo more to the public) | * Omar did a cleanup of the repo, removing the pi/ and play/ folder (preparing for opening the repo more to the public) | ||
- | * Inlined hardware interface code into the virtual-programs, should make it much easier to read since all GPU stuff is in one file, all AprilTag stuff is in one file, all camera stuff is in one file, etc | + | * Inlined hardware interface code into the virtual-programs |
* Removed a lot of globals, publishing code/lambda through statements instead | * Removed a lot of globals, publishing code/lambda through statements instead | ||
- | * Andrés added support for CSS-style color formats in drawing | + | * Andrés |
+ | * '' | ||
+ | * '' | ||
+ | * '' | ||
* [[https:// | * [[https:// | ||
* {{: | * {{: | ||
Line 50: | Line 58: | ||
* {{newsletters: | * {{newsletters: | ||
* Omar has been working a bit on the portable gadget from last month | * Omar has been working a bit on the portable gadget from last month | ||
+ | * Got a good hand grip, working on and off on CAD for enclosure (need to fit Pi, Pi camera, threaded inserts for hand grip and projector, and be able to physically fit my hand in to assemble all of it; think I need to break it up into panels) | ||
+ | * {{newsletters: | ||
+ | * Vedran [[https:// | ||
+ | * Omar did a tiny amount of work on RFID localization, | ||
+ | * {{: | ||
==== CNC ==== | ==== CNC ==== | ||
Line 56: | Line 69: | ||
- | Omar finished porting Owen's gcode parser and tool calibration and preview logic. CNC tool calibration, | + | Omar finished porting |
- | {{newsletters: | + | {{: |
- | and tested | + | Tested |
{{newsletters: | {{newsletters: | ||
Line 80: | Line 93: | ||
Prompted by the portable gadget and the CNC demo, Omar has been picking 3D calibration back up. We're hoping to get it merged next month in a backward-compatible way, so we don't have to port everything from 2D to 3D immediately. | Prompted by the portable gadget and the CNC demo, Omar has been picking 3D calibration back up. We're hoping to get it merged next month in a backward-compatible way, so we don't have to port everything from 2D to 3D immediately. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | {{: | ||
It was in decent shape in December, so work on 3D calibration this month has involved a lot of small/ | It was in decent shape in December, so work on 3D calibration this month has involved a lot of small/ | ||
Line 85: | Line 102: | ||
* brought it back up to date with main | * brought it back up to date with main | ||
* adding 2D compatibility in (it should be able to also do 2D calibration at the same time, if you capture some flat poses) | * adding 2D compatibility in (it should be able to also do 2D calibration at the same time, if you capture some flat poses) | ||
- | * worked on calibration UI -- you can now see the number of poses projected on the calibration board (so you know how far into the calibration you are + whether you should be capturing a flat table pose or an in-the-air pose) | + | |
- | * {{newsletters: | + | * removes weird vestigial dependence on fbset, uses the proper Vulkan mode-finding stuff to get the default screen resolution! |
+ | | ||
+ | * you can now see the number of poses projected on the calibration board (so you know how far into the calibration you are + whether you should be capturing a flat table pose or an in-the-air pose) | ||
+ | * {{newsletters: | ||
+ | * [[https:// | ||
+ | * {{: | ||
* maybe trying to improve accuracy a little bit | * maybe trying to improve accuracy a little bit | ||
* performance stuff (actually very related to improving accuracy, it might be the main problem -- the more latency you have, the more time the board position can drift in your hand, reducing calibration accuracy) | * performance stuff (actually very related to improving accuracy, it might be the main problem -- the more latency you have, the more time the board position can drift in your hand, reducing calibration accuracy) | ||
==== New parallel evaluator ==== | ==== New parallel evaluator ==== | ||
+ | |||
+ | Omar has been doing a lot of work on the new folk2 evaluator (as discussed in previous newsletters, | ||
+ | |||
+ | * Added basic support for Collect | ||
+ | * Added support for text & labelling | ||
+ | * Added support for images | ||
+ | * Fixed boolean support, array rtype support with C FFI | ||
+ | * Fixed some C/library concurrency issues, fixed incorrect locking on Holds | ||
+ | * Fixed really weird lldb issue with C FFI? Don't really understand this | ||
+ | * {{: | ||
+ | * Either very clever or a terrible hack: use SIGUSR1 to interrupt arbitrary work on other threads that depends on a retracted statement | ||
+ | * works for anything in Tcl, even infinite loops, etc. but doesn' | ||
+ | * but could write our own signal handler, or use another signal after a few tens of milliseconds to hard-abort stuff that didn't respond, or something | ||
+ | * It's not even clear if this is desirable in all cases: what if you ' | ||
+ | * maybe desired abort/ | ||
+ | * useful for code that infinite-loops (like the Collect implementation right now) so it can get automatically reaped by the evaluator when the Collect goes away | ||
+ | * Thread-local workqueues based on Chase-Lev deque ([[https:// | ||
+ | * Replaces global mutex-protected priority queue; should be faster and better at natural load balancing across CPUs/ | ||
+ | * Also [[http:// | ||
+ | * Added trace page (like the log we have in mainline Folk) for debugging specific leak or elision issues (why is this statement still around? why didn't this statement go through?) | ||
+ | * {{: | ||
+ | |||
+ | In terms of functionality, | ||
+ | |||
+ | (Some of the changes in the rewrite are already paying off and got backported to mainline Folk: inlining of pi/ libraries into virtual programs, use of Vulkan built-in mode-finding for displays instead of fbset) | ||
==== Friends and outreach ==== | ==== Friends and outreach ==== | ||
* May open house: | * May open house: | ||
- | * It was small but fun, a lot of playing around with Folk programs. Andrés put a program on their hat, allowing them to look at things on the table and label them " | + | * A lot of playing around with Folk programs |
* {{newsletters: | * {{newsletters: | ||
- | * [[https:// | + | * [[https:// |
* {{: | * {{: | ||
* [[https:// | * [[https:// | ||
Line 105: | Line 152: | ||
* **Our next [[https:// | * **Our next [[https:// | ||
+ | * Video support? | ||
+ | * We want to do a larger event as 3D calibration and/or the new evaluator and/or a new program count milestone come in. Watch this space | ||
+ | * Merge 3D calibration into main and start porting decorations/ | ||
+ | * Performance and correctness push on the parallel evaluator... | ||
+ | * Try to get RFID caught up | ||
+ | * Do another projector gadget iteration | ||
+ | * CNC + 3D calibration? | ||
+ | * Open up the repo? Docs for that? | ||
+ | * s-ol working on international keyboard support; need to review and merge | ||
===== Links we've enjoyed ===== | ===== Links we've enjoyed ===== | ||
Line 113: | Line 169: | ||
* [[https:// | * [[https:// | ||
* [[https:// | * [[https:// | ||
- | * [[https://opponent.systems|Opponent]] | + | * [[https://x.com/ |
+ | * [[http:// | ||
==== Andrés ==== | ==== Andrés ==== | ||
* [[https:// | * [[https:// |
newsletters/2024-05.1717269587.txt.gz · Last modified: 2024/06/01 19:19 by osnr