User Tools

Site Tools


newsletters:2026-10

This is an old revision of the document!


October 2026 newsletter

Our next Folk open house will be in the afternoon on Sunday, November 29, at our studio in Williamsburg, Brooklyn.

What we've been up to

Experiments

MIDI keyboard controller

Karl Rosenberg brought this midi keyboard in, and Omar generated a very small tidal synthesizer/driver for it, so he could play it:

825920_img_9656.jpg

Here's the program:

# KOMPLETE KONTROL A49 -> Tidal/SuperDirt.
# Blocking MIDI input; note-offs cut the corresponding key.

Wish $this is outlined green
Wish $this is labelled "MIDI piano"

fn tidal {code} {
    set fd [open /home/folk/music/tidal-input w]
    puts $fd $code
    close $fd
}

set midi [open [list |stdbuf -oL aseqdump -p "KOMPLETE KONTROL A49"] r]
set midiPids [pid $midi]
On unmatch [list apply {{pids} {
    foreach p $pids { catch {kill SIGTERM $p} }
}} $midiPids]

try {
    while {[gets $midi line] >= 0} {
        if {![regexp {Note (on|off)\s+([0-9]+), note ([0-9]+), velocity ([0-9]+)} $line \
                -> state channel key velocity]} {
          continue
        }
        Hold! Wish $this is labelled $line
        set down [expr {$state eq "on" && $velocity > 0}]
        set note [expr {$key - 60}]
        set cut [expr {1000 + 128 * $channel + $key}]
        set gain [format %.3f [expr {$down ? 1.8 * ($velocity / 127.0) : 0}]]
        set sustain [expr {$down ? 10 : 0.05}]
        tidal [subst {once $ note "$note" # sound "superpiano" #\
                      octave 5 # gain $gain # sustain $sustain # cut $cut #\
                      room 0.1 # nudge (-0.28)}]
    }
} finally {
    close $midi
}

One nice thing is that you can swap out the superpiano synth for any of the other built-in Tidal synths. (and this generalizes to all the properties of the synth! you could physically swap them or have some other UI to control them)

RF-DETR object detection

(configurable camera slice width so the 4K image doesn't kill performance)

Tom laser program

Eric Chen and Karl attached to hand:

General system fixes

  • Much better handling when a worker dies (Tcl interp cleanup, C modules retained, GPU structures cleanup, Python socket cleanup) so worker churn doesn't inevitably cause system exhaustion
  • Use POSIX locking instead of relying on pid not being reused (fixes bug where system thinks it's still alive after reboot)
  • Calibration info is keyed by projector and camera name, so we can hold multiple calibrations in theory (although the projector calibrations may fight if it's same projector)
  • Destructor race/UAF fix, where we now establish destructors before creating/reacting statements, so that there's no risk of a subgraph spawning too early before destructor inheritance in the parent, parent going away, & then subgraph (with empty destructor set) accessing mistakenly-freed data that should've been destructor-guarded
  • Handle JPEG decode failures better, reject those frames if possible, don't crash
  • Andrés: I've been working on adding an autocomplete feature to the editor. It's satisfying because it draws from the statements actually in the database, making it easy to collaborate based on what other programs exist in the system:

Zicl update

Mason: this month has been pretty slow for Zicl, since I haven't had a ton of time to dedicate to it. But! Something exciting happened. Enough of the the system is functional that I was able to get all the core libraries to compile and evaluate, and so I was able to benchmark it relative to Folk's current interpreter. And…

2x faster to get core libraries running, and half memory utilization!

There's still a lot of work before I can say it has parity with the main codebase, including a long tail of broken features/incompatibilities, as well as cleaning up the code, but it's come a long way from the lowly tokenizer I started on a year ago.

DrawTalking

theinfinitestar | 2026-10-23 17:50 UTC

<@481691315684245505> <@129392711420739584> <@524125522825969684> huge moment!!! i got matrix transforms + scale factor to be applied in real time to dtObjects, meaning they can now move around in realtime!! i think this is the first time simulated behavior from dt is being shown on folk!!

theinfinitestar | 2026-10-12 21:48 UTC

finally got some proper time to work today and got drawtalking entities to draw in on folk! 😄

Unable to upload IMG_4929.mov to DokuWiki

paul_18583 | 2026-10-08 22:35 UTC

osnr | 2026-10-04 16:16 UTC

Unable to upload IMG_9660.mov to DokuWiki Unable to upload IMG_9664.mov to DokuWiki

Note from Daniel: These .mov uploads failed with this log

00:07:50 [error] Failed to upload media to DokuWiki error={:dokuwiki_error, %{"code" => 236, "message" => "Failed to save media: Upload denied. This file extension is forbidden!"}}

rtbw-cnc

osnr | 2026-10-15 00:56 UTC

calibrating giant folk today (normal sized board for size comparison)

978526_b673c685-4ef3-4926-a991-4fe42382166a.jpg

folk-hex

Upgraded to dual 4K60 cameras with a longer throw, mounted further up near the projector.

https://www.amazon.com/dp/B0GKGYNDWC?ref=ppx_yo2ov_dt_b_fed_asin_title

Many advantages, but not done yet.

Multi-camera calibration

A few different fixes for multi-camera calibration, mostly motivated by the CNC project where we have stereo cameras.

  • The breaking change here is that /setup now has an explicit “Detect AprilTags” checkbox. It should be checked by default and auto-checked by migration on existing systems.
    • But if it's not checked, you won't get tag detection. (We want it to be opt-in since many systems will have secondary cameras for laser detection, workpiece-finding, depth estimation, documents, etc.)
  • 4K cameras get high decimation (we should probably make this configurable) to make performance better
  • Moderate calibration bug fixes: we weight pixel errors properly instead of squaring, we increase maxiters from 200 to 400, and we normalize homographies so one pose can't throw rest off. This should make calibration behave better and more reliably (helped on rtbw cnc folk)

Outreach

Recurse Center visitors

Tracey Le

img_9662.jpeg img_9663.jpeg img_9666.jpeg img_9668.jpeg

img_9864.jpeg img_9862.jpeg

What we'll be up to in November

  • Our next Folk open house will be in the afternoon on Sunday, November 29, at our studio in Williamsburg, Brooklyn.
  • Andrés: TODO
  • Omar: Still need to ship RFID tracker & do projection demo of distance to confirm visually that it works
  • Omar: Fix CNC preview issues (flip, 90 degree rotation, workpiece height correction)
  • Omar: Try filter on object tracker
  • Omar: Hack on scheduler; try to make 4K input not mess up the system badly
  • Omar: Maybe make a table harness?

Andrés

Omar

newsletters/2026-10.1793938551.txt.gz · Last modified: by smj-edison

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki