User Tools

Site Tools


newsletters:2025-10

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:2025-10 [2025/11/05 21:55] – [folk2 -atomically] osnrnewsletters:2025-10 [2025/11/06 21:33] (current) – [What we've been up to] osnr
Line 2: Line 2:
  
  
-If you'd like to see the latest (much more responsive) folk2 and gadget in person, **our next Folk open house is [[TBD|in the evening on ???, November ???]], in East Williamsburg, Brooklyn.** +If you'd like to see the latest (much more responsive) folk2 and gadget in person, **our next Folk open house is [[https://luma.com/w6dyisut|in the evening on Monday, November 24th]], in East Williamsburg, Brooklyn.** 
  
 ===== What we've been up to ===== ===== What we've been up to =====
Line 8: Line 8:
   * Andrés has been helping Brian write and add default programs for an introductory booklet to make it easy for new users of Folk systems to get oriented to the language   * Andrés has been helping Brian write and add default programs for an introductory booklet to make it easy for new users of Folk systems to get oriented to the language
   * Andrés has also been learning the drawing system in folk2 to port drawing arbitrary shapes to folk2   * Andrés has also been learning the drawing system in folk2 to port drawing arbitrary shapes to folk2
 +  * [[https://danielpipk.in|Daniel Pipkin]] got his home-built [[https://github.com/FolkComputer/gadget2|gadget]] fully working: 
 +    * {{.:pasted:20251105-230942.png?350px}} 
 +  * Brian Lee and Omar made a weather demo one morning: 
 +    * {{.:pasted:20251105-231018.png?300px}} 
 +  * Omar made a [[https://gist.github.com/osnr/c6370ccdd7f78eae3fd5ca8f80484006|new version of the animation program]] that uses -atomically and non-settlement display canvas and works a bit better and faster and less blinky: 
 +    * {{.:pasted:20251106-192102.jpeg?300px}} 
 +  * Fun: Omar [[https://x.com/rsnous/status/1978956278719295637|posted a video]] of the gadget selection outline interacting with / reflecting off of a cup in a fun way: 
 +    * {{youtube>wsPk2vkVl-4?}}
 ==== folk2 -atomically ==== ==== folk2 -atomically ====
  
 Omar: I got [[newsletters/2025-09#wipatomically|-atomically]] (convergence-tracking subgraphs) into a reasonable state, and it's merged into the main osnr/folk2 branch now. This is great! This means that we have a complete feature set to actually merge all of folk2, I think. Omar: I got [[newsletters/2025-09#wipatomically|-atomically]] (convergence-tracking subgraphs) into a reasonable state, and it's merged into the main osnr/folk2 branch now. This is great! This means that we have a complete feature set to actually merge all of folk2, I think.
  
-The main thing since last month was testing it with more 'real' programs and on the table: sprites, camera slice, dotted line. +The main thing since last month was testing it with more 'real' programs and on the table: sprites, camera slice, dotted line. (The animation program above is one concrete result of fixing -atomically.)
 === Reap -atomically statements properly on convergence === === Reap -atomically statements properly on convergence ===
  
-TODO+Sprites were exhausting the texture cache after a few frames because of some kind of race where they weren't properly garbage-collected. 
 + 
 +Once sprites worked, camera slices still caused problems: this is because sprites repeat, so there are finitely many unique statements even when they leak, but camera slices are all unique, so they can leak forever. 
 + 
 +[[https://github.com/FolkComputer/folk/compare/6f2b0e60..9bb951c2|Added new logic]] that maintains 1. a list of statements for each AtomicallyVersion and 2. a list of AtomicallyVersions. When a new version converges, we reap all statements on all previous versions (and before then, statements are retained indefinitely, even if they would normally be retracted due to an upstream retraction). 
 ==== New folk-hex computer ==== ==== New folk-hex computer ====
  
-We were donated a gaming PC that's moderately faster than the NUC we had as folk0. It's sitting on the floor instead of in the ceiling.+We were donated a gaming PC (''folk-hex''that's moderately faster than the NUC we had before (''folk0''). It'now sitting on the floor instead of in the ceiling. 
 + 
 +{{newsletters:image-folk0-vs-hex.png?600px}}
  
 Anyway, switching to this PC has been a good test of the end-to-end folk2 setup process and of our support for the Nvidia GPU. Some of the fixes: Anyway, switching to this PC has been a good test of the end-to-end folk2 setup process and of our support for the Nvidia GPU. Some of the fixes:
  
-  * [[https://github.com/FolkComputer/folk/commit/a854c394fc65e97e174c51cbb7d5e816f036e4f8|Use the GPU swapchain-native image format]] (we were hard-coding to ''VK_FORMAT_B8G8R8A8_SRGB'', which happened to work on other GPUs until now but not this one)+  * [[https://github.com/FolkComputer/folk/commit/a854c394fc65e97e174c51cbb7d5e816f036e4f8|Use the GPU swapchain-native image format]] (we were hard-coding to ''VK_FORMAT_B8G8R8A8_SRGB'', which happened to work on other GPUs until now but not this one). Fixed this render pass incompatibility error: 
 +    * {{newsletters:render-pass.png?400px}}
   * Update README.md to adjust the commands and set of packages to install for folk2   * Update README.md to adjust the commands and set of packages to install for folk2
     * Remove live-build for now until we update it     * Remove live-build for now until we update it
Line 49: Line 64:
 {{newsletters:nsight.png?500px}} {{newsletters:nsight.png?500px}}
  
 +I spent a while rearranging the concurrency and fences and stuff to try to keep multiple frames in flight. But it turned out that this was all just because the display modes are ordered differently on this GPU, so I threw that branch away, set the system to pick a better display mode instead of just picking mode 0, and now it works fine.
  
 ==== Gadget projector fix ==== ==== Gadget projector fix ====
Line 64: Line 80:
   * Andrés and Brian Lee worked on [[https://github.com/FolkComputer/folk/pull/236|adding default programs]] for a tutorial booklet for Folk   * Andrés and Brian Lee worked on [[https://github.com/FolkComputer/folk/pull/236|adding default programs]] for a tutorial booklet for Folk
   * We merged [[https://github.com/smj-edison|Mason Jones]]'s PR to use [[https://github.com/FolkComputer/folk/pull/232|Hold -save]] (which [[newsletters/2025-09#hold-save-on-folk2|was added in September]]) to also track calibration and saved programs   * We merged [[https://github.com/smj-edison|Mason Jones]]'s PR to use [[https://github.com/FolkComputer/folk/pull/232|Hold -save]] (which [[newsletters/2025-09#hold-save-on-folk2|was added in September]]) to also track calibration and saved programs
-    * Some discussion on what the right format is to preserve the ability to edit program files directly at runtime & to avoid having thousands of statements in memory all the time for all the saved programs:+    * Some discussion on what the right format is to preserve the ability to edit program files directly at runtime & to avoid having thousands of statements in memory all the time for all the printed programs:
       * {{newsletters:image-stmts.png?0x250px}} {{newsletters:image-stmts2.png?0x250px}}       * {{newsletters:image-stmts.png?0x250px}} {{newsletters:image-stmts2.png?0x250px}}
   * We merged [[https://github.com/subelsky|Mike Subelsky]]'s [[https://github.com/FolkComputer/folk/pull/233|PR that adds miniaudio]] to enable playback of WAV, MP3, & FLAC files from folk using ''Wish to play audio $pathToSound''   * We merged [[https://github.com/subelsky|Mike Subelsky]]'s [[https://github.com/FolkComputer/folk/pull/233|PR that adds miniaudio]] to enable playback of WAV, MP3, & FLAC files from folk using ''Wish to play audio $pathToSound''
Line 71: Line 87:
     * should encourage people to build up bigger programs on table!     * should encourage people to build up bigger programs on table!
   * Omar fixed a crash when trying to allocate Vulkan textures with size 0 (one of the many little crashes in folk2 that have been bugging us)   * Omar fixed a crash when trying to allocate Vulkan textures with size 0 (one of the many little crashes in folk2 that have been bugging us)
 +    * {{newsletters:vulkan-0.png?400px}}
 +    * (This bugfix does feel like a hack, though -- why are we allocating size-0 textures in the first place?)
   * Omar made [[https://github.com/FolkComputer/folk/commit/e9c35cf8e7d8ca9150d1e845e2ef4026d629e999|matches complete even if killed]], which should fix a bug where the camera would break after the system is suspended (because its match would be forever incomplete, breaking ''-serially'')   * Omar made [[https://github.com/FolkComputer/folk/commit/e9c35cf8e7d8ca9150d1e845e2ef4026d629e999|matches complete even if killed]], which should fix a bug where the camera would break after the system is suspended (because its match would be forever incomplete, breaking ''-serially'')
   * Omar made some small bug fixes to calibration saving, fixed the red-text warning, etc   * Omar made some small bug fixes to calibration saving, fixed the red-text warning, etc
Line 81: Line 99:
 === Open house === === Open house ===
  
-  * We had a small open house on Thursday, October 30th+  * Our friends [[https://owentrueblood.com|Owen Trueblood]] and [[https://kevinlynagh.com|Kevin Lynagh]] and [[https://swannodette.github.io|David Nolen]] came by at the beginning of the month: 
-    * {{newsletters:folk_october_open_house.jpeg?500px}}+    * {{.:pasted:20251106-185723.jpeg?400px}} 
 +    * Owen playing with the gadget and testing calibration alignment with the table system: 
 +      * {{youtube>tv324OcYbzw?}} 
 +  * We had a small open house on Thursday, October 30
 +    * {{newsletters:folk_october_open_house.jpeg?400px}}
     * Paul came in from from Philadelphia for the open house and brought his friend Max     * Paul came in from from Philadelphia for the open house and brought his friend Max
  
  
-===== What we'll be up to in October =====+===== What we'll be up to in November =====
  
 +  * Our next open house is on [[https://luma.com/w6dyisut|Monday, November 24th]]
   * Omar: Set up a system for -atomically cleanup   * Omar: Set up a system for -atomically cleanup
   * Omar: Merge folk2   * Omar: Merge folk2
   * Omar: Maybe stereo-calibrate gadget and do some UI experiments with the full stereo setup (segmentation, projection-mapping, lassoing)   * Omar: Maybe stereo-calibrate gadget and do some UI experiments with the full stereo setup (segmentation, projection-mapping, lassoing)
-  * Andrés: TODO+  * Andrés: Giving a talk on Folk at a Visual Culture Seminar class at Parsons 
 +  * Andrés: Porting drawing shapes in folk2 
 +  * Andrés: Work on new demos featuring dot recognition
  
 ===== Links we've enjoyed ===== ===== Links we've enjoyed =====
newsletters/2025-10.1762379742.txt.gz · Last modified: by osnr

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki