Thursday, July 28, 2022

That time when I accidentally social engineered myself to a film set

I spent the last week in Toronto in the Cpp North conference. It was so much fun just to hang around with people after such a long pause.My talk was about porting large code bases from one build system to another, using LibreOffice as an example The talk should eventually show up on Youtube but there is no precise schedule for that yet.

After the conference ended I had a few spare days to do touristy stuff which was also fun. On the last day when I was packing my stuff I noticed that there was a film crew just outside the conference hotel clearly shooting something. The area did not seem to be closed off so obviously I went in to take a closer look. It was past 9 pm and I only had my phone camera so all the pictures below are a bit murky. On the other hand you can clearly see just how much lighting power you need to shoot high quality video material.

Another thing you pick up quite quickly is just how much stuff a film set requires. Here is an assorted selection of props and costumes that took up a major fraction of a side street.

After hanging around for a while a person belonging to the crew noticed me and we started chatting. Once it became known that I was from Finland we had the legally mandated Canada–Finland hockey discussion. Then he told me all things about the set, which was filming a new series for Apple TV. He also told me the name of the series and what sort of scene they were going to shoot next.

This is where things got interesting. In the couple of hours I spent looking at the set, there were tens of people who walked by and asked the security people what they were filming. They got one of two answers. The first one was a name for a series that was different than the one I was told. The second answer was "this is a new series with a largely unknown cast". This answer sounded very specific and very rehearsed. Based on some research I did later the series name I was given was probably the correct one. It's a bit strange that they had a fake name for the production but there you go (it is possible that the other name given to people was the episode name rather than the series name but this is just speculation).

Regardless of the name, the series takes place in New York so they had staged the street to look like a typical Manhattan street. This included a fair amount of detail that you might think would be done cheaply with CGI instead.

They had NY street signs and trash cans (not shown in the image, but the street name was "John st"). The things at the bottom marked with a red arrow are fake garbage bags. They even had a fake US style ATM, marked with the other red arrow. The water truck and was used to make the street wet, probably because the scene takes place after rain. They actually re-wet the street multiple times to maintain consistency. The only noticeable issue was that all cars on set had Ontario plates. Maybe they are counting on that not showing up on screen.

However the most important things you need to stage New York are actually smoke generators. Lots and lost of smoke generators. There were several big ones on the street, the garbage cans had ones, even the aforementioned ATM had its very own smoke machine. Don't really know if that is relevant to the plot or whether ATMs in New York run on steam.

As I stood on the street watching people go about their business eventually I noticed something strange. They started gathering more and more film equipment around me. There were a bunch of cameras, lights and I could clearly hear people planning the lighting et al for the shoot. Eventually I realized that they were building the "control center" (whatever its actual name is) of the set around me. This is what it looked like from the outside.

I stood next to one of the pillars shown in the middle of the picture next to a thing that looked suspiciously like a director's chair. I just leaned against the wall perfectly still while remaining calm and passive and nobody paid any attention to me at all. I could observe the crew going about their business,  browse their monitors (which, sadly, did not show anything interesting) and even see their uncannily realistic looking baby prop up close. I was probably there for around 30 minutes or so until someone finally asked me if I was part of the crew and then kindly asked me to leave which I did.

This was probably for the better as soon they started filming actual scenes and I could get a lot better look from the opposite side of the street. Watching the operation made it immediately obvious why shooting professional video is so expensive. The crew consisted of around 40-50 people who all seemed to work a full day well past midnight on a Friday. In the three hours I spent observing the operation they managed to film two scenes, each one lasting around 15 seconds.

All in all if you ever get the chance to observe a film crew in operation I highly recommend it. It is a better "making of" experience than any professionally produced featurette or documentary. The main reason being that it is about the actual making of instead of of millionaires lying through their teeth on how all other millionaires on set were so professional, super awesome and how the whole experience was the best thing ever because that is what they are contractually obligated to say. In person you get to see actually interesting things like how a camera operator puts on a weird Doctor Octopus carrying harness or how a team of tech workers builds and balances a 10+ meter long dolly track from scratch in under ten minutes. It is quite impressive.


  1. If you're thinking about doing like this guy did, please don't.
    Film crews are incredibly overworked, underpaid and work in absolutely terrible conditions. Film production is an intricate machine that requires everything to be perfectly in place in order to get a shot and things very frequently go wrong even without random people walking on set and gumming up the works.

    Distracting people or touching / moving things can absolutely hold up a shot and bring the entire set to a halt. The result of that is you'll end up keep a very tired crew out for much longer than they need to be. It can also easily cost a production assistant their job.

    Film production isn't a secret. You can watch a documentary on it, read about it in forums or even get permission to observe a film shoot where they'll place you safely out of the way. There are much better ways to satisfy this curiosity than just walking onto a set.

    1. > Distracting people or touching / moving things can absolutely hold up a shot and bring the entire set to a halt.

      In case it was not obvious from the text, I did not do either of these things. No-one else should either.

  2. About Meson and large code bases like LibreOffice, how do you handle the problem of all variables being global (no variable scopes in Meson) ? Do you implement it with a lot of subprojects?

    Another thing, large code bases highly benefit from avoiding re-running unit tests for which the build system detects that a new compilation doesn't change the result of the test. With Meson a `ninja test && ninja test` just runs two times all the unit tests.

    1. > how do you handle the problem of all variables being global (no variable scopes in Meson) ? Do you implement it with a lot of subprojects?

      No, only external dependencies are subprojects, LO itself is a single project. To be honest I have never personally had an issue with this. I've never really had a problem with this particular feature, the way I write build definition files is very linear and, well, "boring". I do understand that some people would want this and there has been some talk about adding const variables or file level scoping but nothing concrete has happened yet.

      > avoiding re-running unit tests for which the build system detects that a new compilation doesn't change the result of the test.

      We don't have that because it is difficult to implement. Meson does not know what files have changed, only the backend (Ninja) does and extracting that is tricky. However we do support the opposite approach where if you do "meson test " then it only rebuilds things that test requires and nothing else.