User Tools

Site Tools


newsletters:2026-05

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:2026-05 [2026/06/03 21:38] – [SVA talk] osnrnewsletters:2026-05 [2026/06/03 22:29] (current) – [General system improvements] osnr
Line 12: Line 12:
 ==== General system improvements ==== ==== General system improvements ====
  
-  * Omar [[https://github.com/FolkComputer/folk/pull/264/commits/daa6fc8b78ccd4f185ae50271061c983254d2e33|added column numbers to Jim Tcl stack traces]], so we can get the exact position of an expression like ''[Field _______]'' in both x and y (until now, Jim only recorded line numbers, so this change pervades the whole interpreter)+  * [[https://github.com/FolkComputer/folk/pull/264/commits/daa6fc8b78ccd4f185ae50271061c983254d2e33|Added column numbers to Jim Tcl stack traces]], so we can get the exact position of an expression like ''[Field _______]'' in both x and y (until now, Jim only recorded line numbers, so this change pervades the whole interpreter)
     *      * 
-  * Omar [[https://github.com/FolkComputer/folk/commit/7703e0eb75b851917a7eb4f9f7228228996d87b5|made fn-created procs get destroyed at end of scope]], so you can hot-reload fns (they no longer stick around in global scope when the new code is injected) +  * [[https://github.com/FolkComputer/folk/commit/7703e0eb75b851917a7eb4f9f7228228996d87b5|Made fn-created procs get destroyed at end of scope]], so you can hot-reload fns (they no longer stick around in global scope when the new code is injected) 
-  * Omar changed calibrate tag size to be the same as printed tag size, which should help most tracking be more accurate even if you mis-measure tags+  * Changed calibrate tag size to be the same as printed tag size in [[newsletters/2026-05#editor-based-print-typesetting-and-layout|the print/calibration changes]], which should help most tracking be more accurate even if you mis-measure tags (note: **you need to recalibrate**)
     * {{.:pasted:20260601-174322.png?450px}}     * {{.:pasted:20260601-174322.png?450px}}
-  * Omar added [[https://github.com/FolkComputer/folk/pull/259/changes/0931c0b4e949d7fb0f254ce0ebc5629a8d08c916|support for array length as a virtual parameter in C calls]], which lets us get rid of a lot of extra parameters/cruft at the caller where we were passing pointer + array length separately+  * Added [[https://github.com/FolkComputer/folk/pull/259/changes/0931c0b4e949d7fb0f254ce0ebc5629a8d08c916|support for array length as a virtual parameter in C calls]], which lets us get rid of a lot of extra parameters/cruft at the caller where we were passing pointer + array length separately
     * {{.:pasted:20260601-174159.png?500px}}     * {{.:pasted:20260601-174159.png?500px}}
-  * Omar fixed a big memory leak where every block execution was allocating new Jim channels for the stdout/stderr files+  * [[https://github.com/FolkComputer/folk/commit/8296b08f17fd83b56faabf605f517df2dfef5d18|Fixed a big memory leak]] where every block execution was allocating new Jim channels for the stdout/stderr files
     * Helpful: this RAM checker program:     * Helpful: this RAM checker program:
       * {{newsletters:img_4796.jpeg?500px}}       * {{newsletters:img_4796.jpeg?500px}}
 +  * [[https://github.com/FolkComputer/folk/commit/66d771a4557a8e3194908da36721512bdd0800d0|Fixed epoch thread slot cleanup]] so you can keep churning threads without running out of epoch slots in the epoch-based reclamation system
 +  * [[https://github.com/FolkComputer/folk/commit/8caf5ca89c9629931bd3480ba75a134cc393e972|Debounced/reduced canvas creation churn]] when the statement's parent goes away and comes back a lot
 +  * [[https://github.com/FolkComputer/folk/commit/dfbc6b0dce918d6ad99d277cd907a31622b710eb|Fixed RAM exhaustion check]] which had been broken by using meminfo file instead of API (this fix makes it harder to fully break systems such that you can't even ssh in)
 +  * [[https://github.com/FolkComputer/folk/commit/1c4fac2910827b28d578007c0d976842e152ac90|Fixed -atomically]] flag for When which wasn't actually getting the When pattern to distinguish between blocks on the same origin, so you'd get unnecessary blinking
 +    * Also now use atomicallyWithKey to control blinking on titles/footnotes/etc
 +    * Hoping now that we know how to work it, we can use -atomically more aggressively to stomp out blinking + start thinking about how to automatically introduce it so Folk code 'does the right thing' out of the box most of the time
  
 === Fix match destruction and insertion race/crash === === Fix match destruction and insertion race/crash ===
Line 106: Line 112:
 </details> </details>
  
-=== QueryOne! changes and new Expect! construct === 
- 
-Omar: [[https://github.com/FolkComputer/folk/pull/265|Added support for ''-default'' option and 'nameless return value binding' ''/./'' to ''QueryOne!''. Also added ''Expect!'' which directly makes bindings in the caller scope.]] 
- 
-As I've been working on calibration, editing, and printing, I've been using ''Query!'' and ''QueryOne!'' a lot to imperatively grab 'whatever the current state is' during a point action, in these very repetitive patterns: 
- 
-{{.:pasted:20260601-162359.png?300px}} 
- 
-{{.:pasted:20260601-162405.png?300px}} 
- 
-so I finally bit the bullet to clean all of these up and replace them with ''Expect!'' wherever I can: 
- 
-{{.:pasted:20260601-162826.png?700px}} 
- 
-I think it looks great -- much more readable and straightforward, harder to mess up as a user. 
- 
-Thanks to Mason Jones for design input on defaults and s-ol for suggesting the direct-binding ''Expect!'' syntax. 
  
 === Handle HTTPS proxies === === Handle HTTPS proxies ===
Line 153: Line 142:
  
  
 +
 +==== QueryOne! changes and new Expect! construct ====
 +
 +Omar: [[https://github.com/FolkComputer/folk/pull/265|Added support for ''-default'' option and 'nameless return value binding' ''/./'' to ''QueryOne!''. Also added ''Expect!'' which directly makes bindings in the caller scope.]]
 +
 +As I've been working on calibration, editing, and printing, I've been using ''Query!'' and ''QueryOne!'' a lot to imperatively grab 'whatever the current state is' during a point action, in these very repetitive patterns:
 +
 +{{.:pasted:20260601-162359.png?300px}}
 +
 +{{.:pasted:20260601-162405.png?300px}}
 +
 +so I finally bit the bullet to clean all of these up and replace them with ''Expect!'' wherever I can:
 +
 +{{.:pasted:20260601-162826.png?700px}}
 +
 +I think it looks great -- much more readable and straightforward, harder to mess up as a user.
 +
 +Thanks to Mason Jones for design input on defaults and s-ol for suggesting the direct-binding ''Expect!'' syntax.
 ==== Shapes, new and improved ==== ==== Shapes, new and improved ====
   * Andrés: Now that the semester is over and I'm done teaching at Parsons and SVA part time I've been able to go to the studio nearly every day. Most days in May I was working on [[https://github.com/FolkComputer/folk/pull/261|Revive drawing capabilities (new and improved!) (PR #261)|]], which has resulted in enabling a much more consistent and capable set of shape drawing wishes, e.g.:   * Andrés: Now that the semester is over and I'm done teaching at Parsons and SVA part time I've been able to go to the studio nearly every day. Most days in May I was working on [[https://github.com/FolkComputer/folk/pull/261|Revive drawing capabilities (new and improved!) (PR #261)|]], which has resulted in enabling a much more consistent and capable set of shape drawing wishes, e.g.:
Line 352: Line 359:
   * Omar: go back to working on SAM2 demos and object tracking   * Omar: go back to working on SAM2 demos and object tracking
   * Omar: work with Karl on DrawTalking demo   * Omar: work with Karl on DrawTalking demo
-  * Omar: continue working on new editor (needs better user experience, calibration accuracyfields interactions+  * Omar: continue working on new editor (needs better user experience, calibration accuracy) + fields interactions (hand-writing, drawing, getting those as objects in Folk)
   * Help tune up the Recurse Center Folk system   * Help tune up the Recurse Center Folk system
  
Line 359: Line 366:
 ==== Andrés ==== ==== Andrés ====
   * [[https://www.instagram.com/reels/DXWqD1oigMV/|A pen and paper game, kind of like a 2-player minesweeper? Very interesting to see people developing new games like this!]]   * [[https://www.instagram.com/reels/DXWqD1oigMV/|A pen and paper game, kind of like a 2-player minesweeper? Very interesting to see people developing new games like this!]]
-  * [[https://www.instagram.com/reels/DY65ZWZJIvN/|A scissor hinge, make totally out of (heavy weight) paper!!+  * [[https://www.instagram.com/reels/DY65ZWZJIvN/|A scissor hinge, make totally out of (heavy weight) paper!!]]
   * [[https://mitchellh.com/writing/my-ai-adoption-journey?utm_source=vicki&utm_medium=email&utm_campaign=we-should-be-more-tired-than-the-model#user-content-fnref-1|My AI Adoption Journey]] (Mitchell Hashimoto) — the only one of these sorts of posts I've actually found reasonable   * [[https://mitchellh.com/writing/my-ai-adoption-journey?utm_source=vicki&utm_medium=email&utm_campaign=we-should-be-more-tired-than-the-model#user-content-fnref-1|My AI Adoption Journey]] (Mitchell Hashimoto) — the only one of these sorts of posts I've actually found reasonable
   * [[https://sre.google/resources/practices-and-processes/no-heroes/|Why Heroism Is Bad And What We Can Do To Stop It]] (Alexander Malmberg) — an oldie (2015 ... which was 11 years ago) but a goodie, from Google, on changing team dynamics to avoid depending on "heros" (who often burn out)   * [[https://sre.google/resources/practices-and-processes/no-heroes/|Why Heroism Is Bad And What We Can Do To Stop It]] (Alexander Malmberg) — an oldie (2015 ... which was 11 years ago) but a goodie, from Google, on changing team dynamics to avoid depending on "heros" (who often burn out)
   * [[https://www.surfabeam.com/?utm_source=ig&utm_medium=social&utm_content=link_in_bio|Sufabeam]] — weird but interesting little app that let's you do planar projection mapping pretty easily   * [[https://www.surfabeam.com/?utm_source=ig&utm_medium=social&utm_content=link_in_bio|Sufabeam]] — weird but interesting little app that let's you do planar projection mapping pretty easily
   * [[https://www.youtube.com/watch?v=zokKqP0plrM|IBM CONFIDENTIAL: SYSTEM/360 FILE ORGANIZATION]] — This is a video on the filesystem of IBM's System/360; intended for salesmen, it's interesting to appreciate how much this has and hasn't become irrelevant to modern computing.   * [[https://www.youtube.com/watch?v=zokKqP0plrM|IBM CONFIDENTIAL: SYSTEM/360 FILE ORGANIZATION]] — This is a video on the filesystem of IBM's System/360; intended for salesmen, it's interesting to appreciate how much this has and hasn't become irrelevant to modern computing.
-  * [[https://x.com/picardie_aurora/status/1547967294533316614|"someone said they were a ‘cloud architect’, for a moment i imagined the most incredible job in the world before i realized they mean like software"]+  * [[https://x.com/picardie_aurora/status/1547967294533316614|"someone said they were a ‘cloud architect’, for a moment i imagined the most incredible job in the world before i realized they mean like software"]]
   * [[https://lifelatelymag.framer.website/|A website that takes your camera roll and turns it into a magazine to send to your friends]] - maybe this specific service isn't so great, I haven't tried it myself, but the rise of services like this (see also: [[https://www.getprinternet.com/|Printernet]], a monthly internet reading list, printed and mailed to your house!) is very Folk-Computer-y (folky?)   * [[https://lifelatelymag.framer.website/|A website that takes your camera roll and turns it into a magazine to send to your friends]] - maybe this specific service isn't so great, I haven't tried it myself, but the rise of services like this (see also: [[https://www.getprinternet.com/|Printernet]], a monthly internet reading list, printed and mailed to your house!) is very Folk-Computer-y (folky?)
   * https://omnifixo.com/en-us   * https://omnifixo.com/en-us
   * [[https://www.instagram.com/reels/DYk00XXpjXG/|QR codes as scrapbooking]]   * [[https://www.instagram.com/reels/DYk00XXpjXG/|QR codes as scrapbooking]]
   * I keep thinking about the E.A.T. exhibition opening, "Some More Beginnings: Experiments in Art and Technology" which was hosted at the Brooklyn Museum, New York in 1968. [[https://rosettaapp.getty.edu/delivery/DeliveryManagerServlet?dps_pid=IE1715894|The online archvie of photos is fascinating]], here's a small selection:   * I keep thinking about the E.A.T. exhibition opening, "Some More Beginnings: Experiments in Art and Technology" which was hosted at the Brooklyn Museum, New York in 1968. [[https://rosettaapp.getty.edu/delivery/DeliveryManagerServlet?dps_pid=IE1715894|The online archvie of photos is fascinating]], here's a small selection:
-    * {{newsletters:gri_2014_r_20_e0606_13948_r.jpg?300px}} {{newsletters:gri_2014_r_20_e0606_13949_r.jpg?300px}} {{newsletters:gri_2014_r_20_e0606_13951_r.jpg?300px}} {{newsletters:gri_2014_r_20_e0606_13954_r.jpg?300px}} {{newsletters:gri_2014_r_20_e0606_13946_r.jpg?300px}} {{newsletters:gri_2014_r_20_e0606_13943_r.jpg?300px}} +    * {{newsletters:gri_2014_r_20_e0606_13948_r.jpg?150px}} {{newsletters:gri_2014_r_20_e0606_13949_r.jpg?150px}} {{newsletters:gri_2014_r_20_e0606_13951_r.jpg?150px}} {{newsletters:gri_2014_r_20_e0606_13954_r.jpg?150px}} {{newsletters:gri_2014_r_20_e0606_13946_r.jpg?150px}} {{newsletters:gri_2014_r_20_e0606_13943_r.jpg?150px}} 
  
 ==== Omar ==== ==== Omar ====
newsletters/2026-05.1780522694.txt.gz · Last modified: by osnr

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki