User Tools

Site Tools


newsletters:2023-12

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:2023-12 [2023/12/30 02:31] – [Outreach and community] osnrnewsletters:2023-12 [2023/12/30 23:20] (current) – [What we'll be up to in January] osnr
Line 1: Line 1:
 ====== December 2023 newsletter ====== ====== December 2023 newsletter ======
 +
 +It's been a big year. Hard to believe that a year ago, there was exactly 1 Folk system in the world (the original one, folk0 at Hex House) & it ran about ten times slower than what we have now and could barely do anything besides display text and outlines. But there's still an enormous amount to do :-)
  
 If you're in New York next month, we'd love to have you visit us at **[[https://partiful.com/e/aY32znMk7GWqEqI9t3KU|our next Folk open house]]**, in the evening on Wednesday, January 31. If you're in New York next month, we'd love to have you visit us at **[[https://partiful.com/e/aY32znMk7GWqEqI9t3KU|our next Folk open house]]**, in the evening on Wednesday, January 31.
Line 16: Line 18:
   * Andrés made a [[https://en.wikipedia.org/wiki/Hooke%27s_law|Hooke's law]] spring simulation in Folk:   * Andrés made a [[https://en.wikipedia.org/wiki/Hooke%27s_law|Hooke's law]] spring simulation in Folk:
     * {{newsletters:simulation.gif?0x300}}     * {{newsletters:simulation.gif?0x300}}
-    * Andrés and Charles collaborated on a Folk program that extends this to a ball that bounces around the table+    * Andrés and Charles collaborated on a Folk program that extends this to a ball that bounces around the table.
  
   * During the open house, a visitor asked Cristóbal if he could change the frame rate of his animation tool. It works splendidly:   * During the open house, a visitor asked Cristóbal if he could change the frame rate of his animation tool. It works splendidly:
Line 33: Line 35:
   * We're still pretty pre-release and liable to break things, but we have a [[https://git.folk.computer/folk/|public mirror of the repo]] and have it under an open-source license now, which is nice (it means people can play around with it without getting our permission, and it means writeups like Cristóbal's can link directly to source code. I think it's important that people feel comfortable looking into the core of the system and seeing how things work)   * We're still pretty pre-release and liable to break things, but we have a [[https://git.folk.computer/folk/|public mirror of the repo]] and have it under an open-source license now, which is nice (it means people can play around with it without getting our permission, and it means writeups like Cristóbal's can link directly to source code. I think it's important that people feel comfortable looking into the core of the system and seeing how things work)
  
-  * Merged Cris's [[https://github.com/FolkComputer/folk/pull/111|convex hull code from last month]] after he fixed some memory leak and convex hull algorithm issues+  * Merged Cristóbal's [[https://github.com/FolkComputer/folk/pull/111|convex hull code from last month]] after he fixed some memory leak and convex hull algorithm issues
     * {{newsletters:img_9201.mp4?300}}     * {{newsletters:img_9201.mp4?300}}
 +
 +  * Cris has been working on [[https://github.com/FolkComputer/folk/pull/122|variable printed tag size and font size]], so you can start doing a bit of print design if you want your printed programs to have a specific form/look. You can print a program with a really big tag, for instance. I think this is really important for breaking down the current uniformity of Folk programs and creating new interactions.
 +    * {{:newsletters:pasted:20231230-211849.png?300}} {{:newsletters:pasted:20231230-211906.jpeg?300}}
  
   * Omar has been continuing to do a small amount of messing with an independent parallel Folk trie/evaluator in C. What do the lock-free/RCU data structures look like, can we decouple it from the Tcl heap and have a shared interprocess heap for everything, when do you have to copy, how does scheduling work...   * Omar has been continuing to do a small amount of messing with an independent parallel Folk trie/evaluator in C. What do the lock-free/RCU data structures look like, can we decouple it from the Tcl heap and have a shared interprocess heap for everything, when do you have to copy, how does scheduling work...
Line 40: Line 45:
 ==== Tabletop / in-system editor ==== ==== Tabletop / in-system editor ====
  
-  * Andrés has continued work on the editor. There's now a save hotkey (''Ctrl + S''), separate regions for editing and previewing your program and key repeat now works. There'a couple more keyboard I/O management bugs Andrés is currently working through but they'll all be +  * Andrés has continued work on the in-system editor. There's now a save hotkey (''Ctrl + S''), separate regions for editing and previewing your programand support for repeated key presses. There are a couple keyboard I/O management bugs Andrés is currently working through that will be addressed in January. Once those are ironed out the keyboard will be merged into the core Folk project and will be useful for teaching others how to make Folk programs without a laptop (think casual visits or multi-person workshops), editing the Folk system using Folk itself, and handling keyboard input in other Folk programs.
     * {{newsletters:charles_keyboard-medium.jpeg}}     * {{newsletters:charles_keyboard-medium.jpeg}}
 +    * Charles visited the studio this month and gave Andrés some great ideas for the editor for future releases.
  
 ==== Calibration ==== ==== Calibration ====
Line 110: Line 116:
 ==== RFID refactor ==== ==== RFID refactor ====
  
-Omar: the long-awaited RFID refactor is finally underway: I've made a lot of progress on it and have kind of broken through the previous point where I was stuck.+Omar: the long-awaited RFID refactor is finally underway: [[https://social.omar.website/@omar/statuses/01HHE44PDWVG067GMBMT1Z47CX|I've made a lot of progress on it]] and have kind of broken through the previous point where I was stuck.
  
 {{newsletters:a59286b1-d8a1-4055-b35d-eedc37c60fb6-957-0001d251ba77870d.png?450}} {{newsletters:a59286b1-d8a1-4055-b35d-eedc37c60fb6-957-0001d251ba77870d.png?450}}
  
-wouldn'say that it'caught up with the original implementation yet, but we now have **tag identities and checksums**, which is a capability we never had before. You can see above that we can carry out a back-and-forth and get that long reply from the tag (which tells us its ID).+haven't caught up with our original branch on actual localization yet, but we now have **tag identities and checksums**, which is a capability we never had before. You can see above that we can carry out a back-and-forth and get that long reply from the tag (which tells us its ID).
  
 {{newsletters:dd5cece8-5188-4cfb-9c04-0cd5468e8903-957-0001d43fe2718e9c.png?500}} {{newsletters:dd5cece8-5188-4cfb-9c04-0cd5468e8903-957-0001d43fe2718e9c.png?500}}
Line 168: Line 174:
 === Folk User Group === === Folk User Group ===
  
-We had a "user group" meeting in Discord on the evening of the 19th, where we got on a call with people in the community (mostly people with running Folk systems). It was fun to see everyone again (the last one we did was a few months ago); we explained some recent and upcoming improvements to the system & we did some Q&A:+We had a "user group" meeting in Discord on the evening of December 19, where we got on a call with people in the community (mostly people with running Folk systems). It was fun to see everyone again (the last one we did was a few months ago); we explained some recent and upcoming improvements to the system & we did some Q&A:
  
-  * TODOImprovement A +  * Andrés discussed editor, cart, CNC system, open-source 
-  * Improvement B+  * Naveen asked about system federation, wall-table (manipulation surface + larger display surface) 
 +  * New calibrationWe walked through the 3D calibration process live on camera (waving the calibration board around and watching it rewarp tags) 
 +  * Omar gave a quick primer about how the evaluator works 
 +    * Printed out and showed the key data structures (statements, trie, evaluator) 
 +      * {{newsletters:08ad425f-9e76-4c77-bdda-9f373bd57c8c-957-00020653ba629c4a.png?200}} {{newsletters:e7b51111-74f1-4063-9367-d60e6cbaa2e8-957-00020606754ea101.png?200}}  
 +    * Daniel asked about events and event statements, so we talked a little about the semantic details there 
 +    * Cris asked for a walk through a single evaluator step, so we did a whiteboard talk about the operations that go into the priority queue (Assert, Retract, Say, Unmatch, Collect) and how that queue gets drained each step 
 +      * {{:newsletters:pasted:20231230-182016.png?300}} {{:newsletters:pasted:20231230-181955.png?200}} 
 +    * Naveen asked about scaling properties: would it scale to thousands/millions of statements 
 +      * (it should.. or at least adding a new statement shouldn't cost if it's not active) 
 +      * Discussion of integrating Box2D or other engines/ways of resolving queries 
 +  * Cris talked about tableshots 
 +    * Omar: "I remember talking to Jacob about this -- how much every little weird capability addition actually opens up, where it's like, oh, we can crop images, or we can display images rotated, or we made a button, and each little thing opens up an entirely new class of applications and demo interactions. That's really exciting, especially as we have more of these things." 
 +  * Ian asked about hand tracking, OCR, and other inputs besides AprilTags, how hard they would be to integrate 
 +    * Andrés talked about the One Fact object recognizer model 
 +    * Ian also asked about X11 or some other way to contain existing graphical applications in a page 
 +  * Talked about next steps, board game format, documentation
  
-Omar gave quick primer about how the evaluator worksTODO+We'll do another one in few months, most likely.
 ===== What we'll be up to in January ===== ===== What we'll be up to in January =====
  
Line 181: Line 203:
     * improving the RFID error recovery / state machine; starting on sync and OOB     * improving the RFID error recovery / state machine; starting on sync and OOB
     * calibration accuracy improvement, some of this can be done on laptop from cached data/poses     * calibration accuracy improvement, some of this can be done on laptop from cached data/poses
-    * maybe hacking on a parallel Folk?+    * maybe hacking on pure evaluator/Tcl/C stuff? a parallel Folk? variables/Observe?
  
   * Finishing up the tabletop editor and getting it merged, then follow-up to make virtual programs table-editable, other niceties like that to minimize laptop dependency   * Finishing up the tabletop editor and getting it merged, then follow-up to make virtual programs table-editable, other niceties like that to minimize laptop dependency
newsletters/2023-12.1703903480.txt.gz · Last modified: 2023/12/30 02:31 by osnr

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki