User Tools

Site Tools


newsletters:2026-04

This is an old revision of the document!


April 2026 newsletter (WIP)

Our next Folk open house will be on Thursday, May 28, at our new studio in Williamsburg, Brooklyn. RSVP here:

RSVP for the Folk open house on May 28

We'll be giving a talk at SVA this Friday, May 8:

Talk at SVA on Friday, May 8

What we've been up to

New studio setup

L-shaped dedicated area for Folk

We moved from last month's tiny setup along the wall to more of an L-shaped dedicated area, realizing that even a long 2-projector linear setup along the wall felt awkward. Was hard to have multiple people working together, limited edge area for people to sit, etc.

Setting up the new L area, which has one projector+camera over each side of the L:

img_3577.jpeg img_3578.jpeg img_3581.jpeg

img_3651.jpeg img_3652.jpeg

Was trying the Logitech Brio 4K on one side and NexiGo on the other side at first. Horrible issues with USB3; ultimately gave up on the Brio 4K for now.

(I think it's the SAM2 demo that's running/rerunning all the time and really pushing the Nvidia drivers.)

Communal table (folk-convivial) / JMGO N1 Ultra setup

In the new studio, we want to set up Folk systems over some of the tables that aren't in our dedicated space, so we can sprawl out more during events and if multiple of us are trying things (and also hopefully have passersby playing with Folk eventually).

The first new area we set up is this communal table in the middle of the space.

img_3608.jpeg img_4155.jpeg

We also wanted to look into the modern portable 4K projector landscape now that AAXA is defunct – what should we be recommending to people if they want a bright, high-resolution, easy-ish-to-mount system?

Bought a JMGO N1 Ultra 4K projector on eBay for a great price ($700-800); sadly, that exact listing doesn't seem to be available anymore, but various 4K JMGO projectors are still available in various places for good prices. You can see it weighs about 9 pounds:

img_3574.jpeg

It's not as light as the AAXA 4K1 (4ish pounds), but it's similar price and much, much brighter.

C-stand setup

img_3640.jpeg

img_4150.jpeg img_4152.jpeg

Moving the CNC machine

We moved the CNC machine from our CNC project last year, but it's not fully set up yet.

Packing up from Hex House and seeing the dust underneath:

img_3385.jpeg img_3386.jpeg

Moving:

img_3389.jpeg

SVA setup

TODO

General system improvements

  • TODO
  • Andrés brought back tag masking so projections don't interfere with tag detection
  • Andrés fixed support for left-margined, right-margined, footnoted ways to draw text on margins of a program
  • Omar improved the new logging system:
    • Put all logs for a given folk PID in /var/tmp/folk-PID subfolder
    • Report web system error at console since without working web page, hard to debug failures
    • Fix various cases where we weren't capturing output into stdout or stderr (library output, subprocesses) by turning off FORTIFY_SOURCE; made OTHER.stdout and OTHER.stderr as catch-alls when we can't do proper redirection (as opposed to going to /dev/null)

Bluetooth keyboard support

Omar started working on new Bluetooth keyboard support where we don't need a custom udev device path in by-path

Multi-display / multi-camera support

Omar: The new Folk setup at the studio has this L layout where we want at least 2 projectors and 2 cameras connected to the same PC, so I've been working on refactoring Folk so that one Folk system can calibrate and drive all that hardware simultaneously. (until now, every Folk system has had exactly 1 active projector and 1 active camera)

While at it, I also wanted to improve support for these types of ELP stereo cameras, which we have been using in the gadget (but are not really using the stereo yet). Trying to use it in the studio Folk setup as well.

img_4134.jpeg

Given this stereo camera, how can we add crop support to the UI and ultimately calibrate and use both 'eyes' to do better pose estimation?

Camera crop

I added a camera crop UI to the Folk /setup interface. You create a “virtual cropped camera”, which makes a green rectangle that lets you select an area to crop a camera to. The virtual camera then exists with that cropped area, and you can calibrate, track tags, etc on that camera:

(We use this to pick just the left eye for now out of a stereo side-by-side ELP image, but eventually want to use this to create virtual cameras out of both eyes to co-calibrate.)

Easier camera config

Added a setting on /camera that lets you set the exposure (and auto-exposure mode) live right there. Also now iframe /camera on the calibration page, so we have just that one uniform UI for camera config (including any future settings we might want to add), rather than /calibrate having its own one-off exposure slider.

GPU refactor for multiple displays

Interactively refine calibration

Omar: This is still on a branch, but hasn't been that successful an experiment. Will try a few more things. The goal here is to get calibrate to 1. work better on various cameras we have (ELP stereo camera has a lot of distortion) and 2. be easier to fixup later if you bump the camera.

(Usually, in my experience, calibration quality rides on the specific camera you're using. Projectors are usually easy-ish to calibrate [except ultra-short-throw], while cameras have more distortion and variability. My home system pretty much always calibrates perfectly – the Brio 4K was mediocre, and the NexiGo has been good. The ELP is also mediocre.)

NaN handling

People regularly have this silent failure when calibrating, where there's not enough variance in their poses (they kept the board flat on the table the whole time), and the optimization and/or refinement fails to converge:

Live preview on /calibrate

Made preview on /calibrate a side panel: reduces the length of the page / amount of stuff on the critical path that you read, makes it easier to see what's going on as you calibrate and refine and adjust exposure in real-time.

Also added green outlines for tag detections (again, so you can quickly spot if your calibration is failing because not enough tags are getting picked up).

Outreach

We threw a studio-warming party for the new space, where a lot of people played with the Folk system, especially animation:

img_3690.jpeg

Open house

Also, we had a great open house at the end of the month, on April 27:

img_5380-medium.jpeg img_4259.jpeg img_4246.jpeg

img_4256.jpeg img_4249.jpeg

What we'll be up to in April

Andrés

Omar

newsletters/2026-04.1777937876.txt.gz · Last modified: by osnr

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki