Date: Sun, 13 Aug 2023 13:02:11 -0400
From: Bret Victor
Subject: Re: CCC talk
Despite a truly unbelievable series of difficulties during setup, we did in fact succeed last week in giving the first ever conference presentation in Realtalk.  In front of 80 people, we showed research papers with embedded videos, contextualized people and papers on a dynamic timeline, explained DNA nanotechnology by building dynamic models from scratch with our hands, and designed and compiled real nanostructures live.  Basically, everything in the presentation worked, and other than being rushed a bit at the end, everything was presented as planned.

We should find some time this week for a debrief.  Joanne and I are in New York this week, but once we get back, I'd also like to get together with Shawn for an informal recording the entire talk, so we have a record of what we prepared.

This email reads like a report on everything that went wrong, because that's useful for fixing up our kits and making the next presentations go more smoothly.  In a followup email, I'll describe some ideas for jams/projects around making Realtalk presentation-worthy, and we can come up with more during the debrief.  But this was a milestone, and we should be proud!


2023-08-08

The day before the talk, we arrived at the venue at 10:45 am, and started setting up.

Networking.  With the AC750 in client mode and Deco in access point mode, we attempted to connect the AC750 to the venue's wifi, but the Deco was not getting an internet connection.  We tried swapping ethernet cables.   We tried connecting to eduroam instead, but AC750 can't connect using username+password.  We found an ethernet port in another room and tried plugging the Deco in.  That worked (in both access point and router modes), but the Deco was too far away from the NUCs.  The A/V crew allowed us to plug the Deco into the ethernet switch in the A/V booth, and that was our solution (despite having been warned that we would not be allowed to do this).  [Each attempt here required waiting minutes for the devices to reboot.]

Work table.  We chose our work table, and decided to use a single dynalamp on a mic stand.  I had forgotten that a right angle is required (either a right-angle baby joint or a second mini drop boom), so I pulled the mini drop boom off of our spare mic stand.  Positioning the projector required standing on an alarmingly flimsy table, and the ladder was too tall to comfortably move around -- a step stool would have come in handy.

The table was not as wide as my table at home, so the projector covered the table top to bottom.  At home, I had been using the lower strip of the table (out of sight of the camera) for my cards.  We put the cards on a second small table to our right, which ended up being a generally-useful staging area.

Timeline wall.  We set up the timeline using two projectors on tripods.  (Calibration on a wall is especially difficult because the calibration UI is upside down, the camera view can be located where there isn't wall so we have to hold up surfaces to see it, it's difficult to place dotframes for realspace calibration, and just steering around five points for each of four cameras can be slow.)

Stitching.  We tried to stitch the timeline supporters, with the projections only slightly overlapping.  The first time, the stitch looked pretty good, and we found a feathering value that worked well.  I nudged the calibration slightly, and the two projections skewed from each other.  For hours, we tried to get the stitch to work (including changing the stitch points, switching the stitched camera-projector pair, stitching using the laser camera, wiping and recalibating from scratch, moving the projectors together for more overlap and recalibating from scratch, moving the projectors so they were coplanar and recalibating from scatch) and it never got aligned again.  We removed one of the projectors and just set up the timeline on a single projector.  (But the two-projector version looked gorgeous.)

Machine setup.  The machine for the back screen had not been set up to connect to the Deco, so it had no network connectivity.  I plugged in a projector and keyboard, and was able to stop Realtalk with control-alt-shift-F10, but there was no terminal and I couldn't get to a virtual console (alt-F1 etc did nothing).  By plugging it into ethernet, I was able to ssh in from my laptop.

Back screen.  The complexity of hanging a projector from the beam seemed too much at this point, so we set up the back screen just with a lamp on a tripod.  It was high and off to the side so we wouldn't block the projection while presenting.  I was using a dotframed page to indicate where the camera view should be.  It wasn't working on the left side of the screen, apparently because it was too dim.  We moved it to the right side of the screen, where there was more light, and it worked.

Camera streaming.  We tried streaming from the tablet.  Once I remembered to put down the card start starts streaming, it worked fine.  The battery seemed to be draining quickly, so we decided to run it with the power connected.  The image looked pretty good.

Lighting.  When I tried Protein Kit, the small dots weren't being seen well because there wasn't enough light.  We opened window shades, but that brought in strong shadows.  There wasn't anywhere convenient to clamp a light.  We used the spare mic stand and a superclamp to make a light, with the bell of the light covered with a diffusing sheet.  We also used the ladder to move one of the venue's track lights and point it at the table.

Laser interference.  When I tried the nucleotide demo, the nucleotides projected on the table were being seen as laser dots, and were lasering themselves.  We adjusted the focus on the camera to blur everything out, and adjusted the other settings so it would recognize our blurry laser spots as dots.  This resulted in flickery laser dots, but we erred on the side of preventing spurious lasers (because that could break the demo) rather than smoothness.

Kits.  Tried Shawn's demos.  DNA bricks weren't working because they required Biomolecule Kit, which I didn't have present by default.  (I was planning to bring it in using a card.)  I added a wish to my root rules.

Setting aside.  Because our talk wasn't until the end of the next day, we needed to move our stuff out of the way.  We put tape marks on the floor to indicate where everything had been (one table, two mic stands, three tripods), and moved everything behind the screen, except for the work table dynalamp, which was too tall, so it went off to the side.

Left at 6:00 pm.


2023-08-09

The day of the talk, we arrived again at 10:45 am.

Work table projector.  Upon arriving, we noticed that our work table dynalamp seemed to have been disassembled, with the top half of the mic stand unscrewed and lying on a table.  On closer inspection, it appeared that someone had knocked it over -- the mounting plate had cracked, and the cameras had been knocked out of place.  We asked around, but never found out who did it or what happened.

We decided to swap the projector with the one we were no longer using for the timeline.  But the baby socket on that projector had come loose (pivoting in place) and tightening the socket would have required unscrewing the mounting plate.  We found another spare projector, moving over the reworked camera from the latter projector.

We reraised and positioned the projector, calibrated the cameras, then realized that the camera (because it was new) was in 1080 mode.  We switched the camera to 4K and repositioned, but the image looked "blocky", like it had low-bitrate compression artifacts.  We replaced the USB cable.  We also removed the camera to replace it, but the only other reworked cameras were the possibly-damaged one that fell and a spare that turned out to not have an IR filter installed.  So we put the camera back.  4K was still blocky, so we repositioned and calibrated the camera for 1080.  Because we were using new cameras, we had to rediscover the dot settings for both cameras (including the blurry laser trick).

In 1080 mode, the camera couldn't recognize the product rack, and the mock tubes were not recognized in certain spots.  I decided to just leave the product rack out of the presentation, and be careful about where I put my tubes.

Timeline and back screen projectors.  We moved the tripods back into place.  On the back screen projector, the ball joint holding the camera was loose and couldn't be tightened without unscrewing the mounting plate.  Because we didn't need lasers for the back screen, we recalibrated using the laser camera as the main camera.  Now, the cables behind the timeline projector were blocking the view of the camera.  We moved the back screen tripod left one foot, and recalibrated again.  (Each calibration involved someone holding up dotframes with their hands in front of the screen.)  (Also, the back screen projector was somehow not in upside-down mode, so the camera image and projected image were reversed from each other, which only becomes obvious after you calibrate, everything looks wrong, and you realize that you put all the calibration points in the wrong place.)

Because so much had changed from our setup the previous day, we ran through all the demos again to make sure things still worked.

Lapel mics.  In addition to the gooseneck mic at the podium, the A/V people had provided one handheld mic and one lapel mic.  Since we weren't going to be at the podium and we needed to use our hands, Shawn and I would have to swap the lapel mic back and forth.

The presentation.  We started our presentation.  The image on the back screen was hard for people to see.  The A/V people helpfully turned off the room lights, and we asked them to turn the lights back on so Realtalk could see the table.  We switched the back screen projector from Eco to Normal mode, which made it brighter but louder.  Apparently certain colors, such as orange, weren't showing up well, and the 3D views were particularly hard to see.  However, Realtalk could see the screen well enough to recognize dotframes in the projected camera feed, and unhack the planet by projecting flickering black dots over them.

Because the laser camera had been blurred, laser recognition on the table was degraded -- it was adequate for "clicking" to make crossovers, but "dragging" to spin molecules around was rough.

The talk went a bit long and Shawn was asked to hurry up, so the last segment with the DNA bricks editor was rushed.

Other than a few minor stumbles, all of the demos went pretty smoothly.  Even if people may have had some trouble seeing it all through the camera, everything worked.

After the presentation.  We started to answer questions, but an irritated Wallace cut us off, saying we were already over time and questions should be saved for the demo session tomorrow, and herded everyone toward the buses.  We moved our stuff over to the demo room and went home.


2023-08-10

The second day of the conference, we arrived at 10:30 am to set up the demo room.

We used two tables, in an L shape, with a mic stand on each.  We moved the Deco to an ethernet port in the room.  There was only one three-prong outlet in the room, so we ran a long extension cable (which we had borrowed from the A/V people) and moved a doormat over it so people wouldn't trip.  Setup went fine.

Shawn and I each took a table.  On my table I had the DNA stuff from the demo, as well as Protocol Kit plates and racks.  Shawn had Angelina's rainbow toys and Jelly Rainbow.  We both had blanks and editors.  I had a stack of videos and a video player (on a full-page blank) which ended up migrating between tables as needed.

A few people visited us at lunch, and a small crowd (maybe a dozen) visited during an afternoon break period.  Several people asked about programming, and all three of us ended up showing off some simple programming on blanks.  Joanne ripped-to-resize a blank, as she does.  She also drew a frog on a page claiming to be a frog.

For me, the highlight was the girl who wanted me to show her how to pull the DNA strands apart, like in the replication demo, and then wanted to make a Holliday junction.  With me coaching her through using the cards, she was able to do it.  She had only ever seen Holliday junctions drawn as crosses (rather than as parallel crossovers) and was excited about how they now made sense to her.


Presentation room

IMG_4014.jpegIMG_4019.jpeg
IMG_4030.jpeg
IMG_4036.jpeg
IMG_4039.jpeg


Demo room

IMG_1568.jpeg
IMG_4042.jpeg
IMG_4043.jpeg
IMG_4044.jpeg
IMG_4045.jpeg
IMG_1564.jpeg
IMG_1567.jpeg