Table of Contents
June 2025 newsletter
If you want to stop by the studio, our next Folk open house is in the evening on Thursday, July 31, in East Williamsburg, Brooklyn.
Workshop interest form
If you’d be interested in attending some experimental in-person workshops we’re planning, please fill out this form. We’ll post more updates on workshops on the main folk.computer page and our Instagram page as these workshops come together.
What we've been up to
- Andrés:
- Kept fighting with ordering / clearing-frame bugs in the video processor:
- Reviewed and merged Mason Jones' PR that adds support for importing GitHub gists into Folk allowing us to do things like make a gist with Folk code and run it on the table
- I've been practicing making short social media videos of various new Folk features and programs people have been working on:
- Omar:
- Made a PR to improve the calibration step's autorefresh and expose crop width/height. More from Omar himself:
- “This should greatly reduce how much overhead the calibrate autorefresh imposes, especially on low-end systems. It also should feel more life. It now only refreshes once the previous frame has fully loaded, so not every 100ms (and also fixes problems where you don't see any updates because you're just constantly churning the img)”
- Reviewed and merged Mason Jones' PR to fix an edge case with Tcl/JS interop
- Reviewed and merged a contribution from Justin Liang that clarifies to create the `folk` user before adding permissions
Demos and applications
- Running Folk code from a GitHub gist (thanks to Mason Jones for the initial contribution):
- Andrés wrote a git branch preview program – here, showing (in green text) that the current running branch is main:
- On the back of it, they attached the code in this little pop-up:
Gadget improvements
Omar: two big bursts of work on the gadget this month.
One burst was while I was at Gradient Retreat in Canada. I brought my gadget and quickly found that it was hard to calibrate and physically unstable (the projector kept swiveling around inside it).
So I made a new front panel (blue) that has insets 6mm inward from it to push the projector backward so it can't turn, and a lip below the projector to keep it from nodding:
I made calibration fixes on folk2 and folk1 (discussed elsewhere in this newsletter), especially fixing the text bug:
A painful thing with the gadget is that its Ultimems AnyBeam laser beam scanning projector makes it hard to capture a whole projector image in a single camera frame (because you only get a subregion at a time if you're exposing the camera for less than like 15ms).
So I've been cranking the exposure time way up (150ms+), which causes it to loop around in a weird way, and then calibrating it in the dark. Weirdly, this kind of works OK.
I also found that the Wi-Fi dongle is sketchy (I tuned a bunch of power saver settings to try to help; it also just can't do ad-hoc Wi-Fi) and probably overloading the current capacity of the USB bus. So I did a new revision that uses the official Orange Pi 5 Wi-Fi board instead of a USB dongle.
I also made a new revision of the gadget1 that uses a Raspberry Pi and HDMI projector, but now has a stereo USB camera like gadget2:
Another burst is in preparation for our Recurse Center talk (this coming week). We found a bug with camera slices where they flicker (trying to fix now). Accidentally fried battery system while moving into a new chassis (some short, burned the cable) so bought a new one and that seems to work (it might just have been the USB-C cable, honestly).
folk2
Omar: Work has sort of stalled here on trying to get calibration to work better.
(There are also still some significant blinking-out bugs when you have multiple programs out.)
I made some more nicety improvements / bug fixes to calibration this month (some of which I also backported to folk1):
- Made the slider range for exposure time more reasonable by default, not up to 10,000ms or whatever (if you need weird exposure time like that, just type it in)
- Text scales based on tag size so it doesn't collide with it on gadget
- This was the bug that was fixed (see how the label text is too big and collides with tags so you can't calibrate):
- Made background color of calibrate settable from white (I ended up not using this) so you can deal with higher exposure times without washing out
- Autorefresh waits for prev frame to fully load (also backported to folk1)
- Camera now claims crop size so the calibration loads properly
I also fixed the dashed-line outline for the gadget to use the new projection stuff.
Outreach
Open house
We had our open house on Monday, June 30th. It was attended by a small but enthusiastic crowd!
- Group photo:
- A picture of Varun's photo of our GitHub repo so later reference:
- Meghna Rao turning 1. a photo of an ice cream into a little stop motion art using our animation binder program and 2. using her phone's flashlight to create a spontaneous animation:
Other visitors and interactions
- Paul and Ehmry visited Andrés at the Folk studio. Ehmry is a contributor to Synit — an experimental reactive operating system — and we spent an afternoon going through snippets of Synit's Tcl code live on the table which was a really engaging way to learn about how they're using Tcl for reactive OS operations:
- They had the great idea of making a stop motion animation using multiple Folk stickers
- Andrés had their (receipt printer themed) birthday party at Hex House and gave Sami Smith and Evan Kahn a tour of some shiny new Folk programs in the studio:
- Justin Liang set up a system at ITP Camp in downtown Brooklyn and ran a workshop teaching people how to use it, which got a lot of excitement – a couple hundred programs were printed out over the lifetime of that system, I think (our friend Viola He made some triangle programs)
What we'll be up to in July
- Our next Folk open house is in the evening on Thursday, July 31, in East Williamsburg, Brooklyn.
- Omar: continue trying to make calibration work well in folk2
- Omar: try to fix blinking bugs in folk2
- Andrés: Video, video, video
- Andrés: Planning workshops
- Andrés: Kosmik integration
- Omar and Andrés giving a talk about the Folk gadget at Recurse Center on July 7 (currently sold out, though)
Links we've enjoyed
Omar
Andrés
- Blair Neal's new art experiment Forgetting Light - (Photochromic canvas + laser projector)
- Kelmscott Mono - A blackletter typeface for your text editor (I've been using it as mine this month, it's a wild but fun experience.)
- Willow — “Protocols for synchronisable data stores.”
- https://github.com/Samsung/Tizen.NET — the obscure .NET framework for making Samsung TV apps
- Making holographic butter using diffraction grating
- The LILYGO T-Encoder Pro — An ESP32 powered rotary encoder with a fascinating little circular display
- Toit is a modern high-level language designed specifically for microcontrollers