User Tools

Site Tools


newsletters:2024-08

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
newsletters:2024-08 [2024/09/04 02:24] osnrnewsletters:2024-08 [2024/09/04 02:36] (current) – [3D calibration] osnr
Line 1: Line 1:
 ====== August 2024 newsletter ====== ====== August 2024 newsletter ======
  
-Hello! We’re looking to build up more small sponsors now that Folk is fully open-source (+ cover recent gaps in contracts/grants). +(If you enjoy following our progress and want us to continue, definitely consider [[https://github.com/sponsors/FolkComputer|sponsoring Folk on GitHub Sponsors]].)
- +
-If you enjoy following our progress and want us to continue, definitely consider [[https://github.com/sponsors/FolkComputer|sponsoring Folk on GitHub Sponsors]]. +
- +
-(our first goal is to cover our studio rent with sponsorships!) +
- +
-----+
  
 Some links, especially if you're new to Folk: Some links, especially if you're new to Folk:
Line 14: Line 8:
   * [[https://folk.computer/pilot|Pilot page]]   * [[https://folk.computer/pilot|Pilot page]]
   * [[https://forms.gle/eMGCkQjYRvxf8S2S6|Meet with Andrés (virtually, 10 minutes) about setting up your own Folk instance]]   * [[https://forms.gle/eMGCkQjYRvxf8S2S6|Meet with Andrés (virtually, 10 minutes) about setting up your own Folk instance]]
- 
----- 
  
 ===== What we've been up to ===== ===== What we've been up to =====
Line 69: Line 61:
     * Shows deprecated warning on programs that still use ''Commit''     * Shows deprecated warning on programs that still use ''Commit''
     * Also changed 3D calibration code accordingly     * Also changed 3D calibration code accordingly
 +  * Daniel and Andrés made some hotfixes because Ctrl-S and Ctrl-P were acting up on table keyboards
   * Omar: [[https://github.com/FolkComputer/folk/commit/2ac150d912f44dbafb1faf64658289dcf314736e|Use 4 instead of 6 vertices in vkCmdDraw]], which fixes glitching on Pi gadget (and probably other random GPUs)   * Omar: [[https://github.com/FolkComputer/folk/commit/2ac150d912f44dbafb1faf64658289dcf314736e|Use 4 instead of 6 vertices in vkCmdDraw]], which fixes glitching on Pi gadget (and probably other random GPUs)
   * [[https://danielpipk.in|Daniel Pipkin]] wrote [[https://github.com/FolkComputer/folk/pull/169|an ESC/POS printing backend]] to support his [[https://epson.com/For-Work/POS-System-Devices/POS-Printers/TM-L90-Plus-Label-and-Barcode-Printer/p/C31C412602|Epson TM-L90 Plus receipt printer]]   * [[https://danielpipk.in|Daniel Pipkin]] wrote [[https://github.com/FolkComputer/folk/pull/169|an ESC/POS printing backend]] to support his [[https://epson.com/For-Work/POS-System-Devices/POS-Printers/TM-L90-Plus-Label-and-Barcode-Printer/p/C31C412602|Epson TM-L90 Plus receipt printer]]
Line 238: Line 231:
     * Current situation is putting a few spacers behind half the camera to tilt it up toward the projector area, but even this drifts because the projector drifts, and it feels too dependent on how the screws are tightened, not replicable.     * Current situation is putting a few spacers behind half the camera to tilt it up toward the projector area, but even this drifts because the projector drifts, and it feels too dependent on how the screws are tightened, not replicable.
     * {{:newsletters:pasted:20240902-012829.jpeg?150px}}     * {{:newsletters:pasted:20240902-012829.jpeg?150px}}
 +    * Maybe use a wide-angle camera instead? or shift it upward physically?
 +    * Maybe lock the projector in place better?
 +    * Side note: maybe multiple cameras for more stable depth perception? cameras are cheap
   * Figure out the Wi-Fi situation, maybe run a hotspot from the gadget automatically for now instead of connecting to Wi-Fi? we don't really use internet from it anyway right now   * Figure out the Wi-Fi situation, maybe run a hotspot from the gadget automatically for now instead of connecting to Wi-Fi? we don't really use internet from it anyway right now
   * Maybe try to run some AI vision models? to segment environments, identify arbitrary objects by name, etc. opens up new interactions. GGML seems to have a Vulkan backend now, and the Pi 5 does have a Vulkan driver, even if it's not great. Need to spend a few days to actually try   * Maybe try to run some AI vision models? to segment environments, identify arbitrary objects by name, etc. opens up new interactions. GGML seems to have a Vulkan backend now, and the Pi 5 does have a Vulkan driver, even if it's not great. Need to spend a few days to actually try
Line 244: Line 240:
  
 Omar: We merged 3D calibration! This is a huge advance that's been in the works for much of the last year -- we're being aggressive by merging, there are still things to fix and it's only roughly on par with the old 2D calibration (better in some cases, worse in others) -- but this is why we are pre-alpha and don't promise anything to users yet :-) Omar: We merged 3D calibration! This is a huge advance that's been in the works for much of the last year -- we're being aggressive by merging, there are still things to fix and it's only roughly on par with the old 2D calibration (better in some cases, worse in others) -- but this is why we are pre-alpha and don't promise anything to users yet :-)
 +
 +(it also means that regions are now deprecated compared to quads)
 +
 +{{:newsletters:pasted:20240904-023549.png?400px}}
  
 (3D calibration is also quite important for the portable gadget system, since it has no fixed plane in front of it that we could 2D-calibrate.) (3D calibration is also quite important for the portable gadget system, since it has no fixed plane in front of it that we could 2D-calibrate.)
  
-Mostly refinement of individual systems this month. Why aren't they as accurate as my home system? (Often the answer is exposure settings, or too-coplanar poses, or some other bit of tacit knowledge about calibration). They aren't too bad now, though:+Several small changes before merging: 
 + 
 +  * Fixed [[https://haiperspace.com|Jacob Haip's]] mask-tags which keeps us from projecting on top of tags and potentially breaking them; now works in/based on 3D space 
 +  * [[https://github.com/FolkComputer/folk/commit/fd98eec92de3174e0a304ada0c592cde0dfd2c45|Fixed reprojection of camera slices]] 
 +  * RAM watchdog 
 +  * Allow negative distances in ''quad buffer'', implement ''quad move'', fix ''quad scale'' 
 +    * with the camera slice fixes,  mostly fixes animation program as well once it's been tweaked to use quads 
 + 
 +Other than these & table refine below, mostly refinement/recalibration of individual systems this month. Why aren't they as accurate as my home system? (Often the answer is exposure settings, or too-coplanar poses, or some other bit of tacit knowledge about calibration). They aren't too bad now, though:
  
   * On folk-convivial:   * On folk-convivial:
Line 302: Line 310:
  
 Erlang is weird because of all the [[https://www.erlang.org/docs/20/man/erl_nif#lengthy_work|hinting]] it requires. Erlang programmers aren't normally directly writing and calling C functions, so they treat it as an exception that you mark up if you expect unusual blocking. Erlang is weird because of all the [[https://www.erlang.org/docs/20/man/erl_nif#lengthy_work|hinting]] it requires. Erlang programmers aren't normally directly writing and calling C functions, so they treat it as an exception that you mark up if you expect unusual blocking.
 +
 +{{:newsletters:pasted:20240904-023519.png?400px}}
  
 Go actually seems very close to what we want. It's a work-stealing scheduler that can deal with arbitrary CPU blocks and I/O blocks in a goroutine. It has a little bit of hinting to know about long-running work in advance (it can detect syscalls, since they all go through the Go runtime), but it also has something called [[https://medium.com/@blanchon.vincent/go-sysmon-runtime-monitoring-cff9395060b5|'sysmon']] which is basically my hacky outside monitor process proposal, so it can adapt to arbitrary blocking like we want. Go actually seems very close to what we want. It's a work-stealing scheduler that can deal with arbitrary CPU blocks and I/O blocks in a goroutine. It has a little bit of hinting to know about long-running work in advance (it can detect syscalls, since they all go through the Go runtime), but it also has something called [[https://medium.com/@blanchon.vincent/go-sysmon-runtime-monitoring-cff9395060b5|'sysmon']] which is basically my hacky outside monitor process proposal, so it can adapt to arbitrary blocking like we want.
Line 320: Line 330:
     * Trigger button     * Trigger button
     * Cat printer support     * Cat printer support
 +    * Put design online?
   * Merge Daniel's receipt printer support   * Merge Daniel's receipt printer support
   * Daniel hacking on touch detection a bit   * Daniel hacking on touch detection a bit
newsletters/2024-08.1725416692.txt.gz · Last modified: 2024/09/04 02:24 by osnr

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki