Alexander Savin

Eng/Ru
08 Nov 2015

London Timescapes film is released

London Timescapes is a short documentary film made of timelapses. I’ve been shooting them for the most part of last year, and then processing raw materials for the most part of this year. It took a moment to assemble everything together.

It premiered this October in Karlsruhe, Germany as part of the competition programme of Beyond 3D film festival. Yes, I shot it in native stereoscopic 3D. Hence the trouble. Double the amount of materials, need to constantly synchronise colour grading settings for both eyes. But stereoscopic timelapses is something that you don’t see to often, and I think it was worth it. Especially when you watch it with Oculus Rift.

Digital photography is easy and quick. It doesn’t take much time to snap a pic and move to the next one. I think this is the reason why more of us are moving back to analog film. Slow photography forces you to spend some time with the subject, appreciate the moment, be in that moment. Timelapsing is the same thing. You go to the unknown place, discover it, then set a shot and start filming. It takes anywhere between 15 and 45 min to finish that shot. Plenty of time to appreciate the subject. You might end up taking another shot at the same location, but quite often you would move to the next one. One shot, one location. That’s also a general rule when shooting film.

Timelapsing on busy streets of London turned out to be not that huge of a deal. I did a bit of research, and general advice was that you can film anywhere you want, but if someone asks you to stop, you indeed should do so. On two occasions this happened to me. First was in Greenwich Naval College - after me spending almost 2 hours of timelapsing there someone finally noticed my tripod and asked for permission to film there. Tripod is basically a red flag for differentiating between commercial and hobby photography. Second time was next to the Kings Cross railways station - again with a delay of about half an hour they asked me to move off the grounds of the train station square.

Busy streets and crowds are also manageable. Generally crowds are following certain patterns and are moving in a limited amount of directions. There are plenty of corners even on a busiest street where you can park your tripod and not be an obstacle. Takes a few moments to find that spot. With stereoscopic photography this is more tricky, since you have to maintain certain distance to the closest subject, and not let anyone get closer. Long exposure time helps.

For the next project I will probably try 360 degree timelapsing. With 4 cameras to cover the full panorama and 5th camera to point at the sky, this should be something quite suitable for VR goggles. And VR is going to be hot topic next year.

London can be overwhelming. It is huge, constantly changing beast that never sleeps. It takes years to explore this place. This project was a good start for me. There will be more.

26 Oct 2015

Batch of analog 35mm film cameras

<img src="https://alexsavin.me/photos/2015-11-01-35mm-cameras/IMG_0264.jpg" class="featured" alt=“Zenit EM camera”>

I’ve recently acquired a lot with 4 35mm vintage film cameras. Two of them were advertised as “likely functional”, with two more as “likely not functional”. This description was provided by seller based on the fact that shutter was clicking on some cameras, but not clicking on others.

Last week the box arrived, and I started the archeological process. This usually includes:

  • Checking camera around and pressing every single toggle / switch on the lens and body
  • Rotating all rings on the lens
  • Figuring out how to open the camera
  • Giving up and finding a pdf with original manual on the Internet
  • Winding the shutter and taking blank pictures. See if shutter actually clicks.

With SLR cameras this process also includes unscrewing the lens and checking the mirror. This batch got me 3 SLR cameras, and 1 rangefinder.

Zenit EM

<img src="https://alexsavin.me/photos/2015-11-01-35mm-cameras/IMG_0268.jpg" class="featured" alt=“Zenit EM camera”>

Soviet made SLR, mass produced between 1972-1984. With 58mm Auto Cosmogon lens. Seems to be in full working order - shutter, focus, exposure, aperture - all switching fine. There is a light metering cell, which works fine too - I’ve compared its reading with my portable light meter and they appear to match.

Zenit:s are notoriously inelegant, heavy cameras. A proper USSR design. They are also very rugged, can survive hard conditions and generally long living cameras. There’s very little in its mechanics what can break with time, or because you dropped it on the concrete. This specimen indeed appears to have lens filter bent, with glass and rest of the lens completely intact. One can only imagine what happened to this camera.

<img src="https://alexsavin.me/photos/2015-11-01-35mm-cameras/IMG_0269.jpg" class="featured" alt=“Zenit EM camera”>

Another Zenit I own is ET model, slightly newer and even less elegant. EM seems to have a few professional features like film sensitivity gradation in both ASA and DIN units - still relevant today. Other than that it’s basically same good old Zenit camera - strong, reliable, functional and you can easily use it as a cold weapon in case of danger. Most of the camera and lens is thick solid metal.

18 Oct 2015

London Timescapes film on Beyond 3D fest

Karlsruhe film festival

London Timescapes short film was premiered as part of competition programme of Beyond 3D film festival in Karlsruhe, Germany. Me and Stanisla managed to get a glimpse of this presentation this Friday, and it was awesome.

It’s my second time on Beyond 3D fest. First one was exactly 2 years ago, film was Helsinki 3D, place - Zentrum für Kunst und Medientechnologie or ZKM of Karlsruhe. This time they’ve migrated towards the historical town centre, into a David Lynch looking cinema called Schauburg Cinema. Red velvet blinds, glass chandeliers and circular symmetrical stairs. Two screens, and competition shorts were displayed on the largest one. I really need to get a local place to proof watch film in a proper cinema before sending it for festivals - it was great nevertheless, but certain things could’ve been optimised specifically for cinema experience.

Karlsruhe film festival

There isn't much perks for getting selected into competition, but one thing is always for sure - you get fest passes into as much screenings as you can bear. With film fests this is not always great, since they often present you with a bunch of trash you'd rather left unseen. I think with 3D fest situation is slightly better, since the technical barrier is much higher. Having said that, there was still quite a few shorts I'd love to have unseen. It seems that the world of YouTube and Vimeo in a way makes world a huge favour - it's really hard to get through with a highly conceptual but trashy looking, and simply questionable productions. Festivals are their last refuge.

I’ve submitted London Timescapes for Barcelona 3D Music & Film fest now, with some luck it might get some screenings there this December. Might actually go there to catch some fun. Meanwhile expect a free release on Vimeo - going to prepare a special version of the film with slight changes from the one submitted to the festivals.

Happy to submit it to more festivals / screening opportunities, preferably in the original stereoscopic format, or even 4K 3D. Ping me.

26 Oct 2015

GraphQL with Nick Schrock

GraphQL talk with Nick Schrock

During our recent London React meetup co-creator of GraphQL Nick Schrock did an hour long talk on how they came up with this idea (together with Lee Byron), and why you should use it too. This post will be mostly bulletpoints on his talk, with some pics and my thoughts mixed together. Full talk should be available soon online - Facebook AV team records everything in amazing quality.

What

GraphQL. Have you ever used SQL? Same idea, but so much better. It’s not a storage, despite the graph in the name. It’s a query language. You compose queries and get responses in return.

Not only queries. Also mutations. You can compose a mutation to change something on the backend and send it to the GraphQL endpoint. In return you get a response of the thing you wanted to change, with your changes applied.

On the Web we usually use REST. It’s a standard that each of us interprets differently. During my years of web dev I haven’t met a person that would understand and use REST in precisely same way as myself. Reason might be with me, but apparently I’m not along - lots of people are struggling with REST.

If you’re developing a RESTful API endpoint, you’d usually aim to:

  1. make it highly intuitive and easy to use by clients
  2. alight with Web standards
  3. allow clients to make as little requests as possible to retrieve all data they need

These things often contradict each other. Not to mention that without good documentation it’s almost impossible to start using any RESTful endpoint.

GraphQL allows you to create nested queries of unlimited complexity that are in turn sent to GraphQL server. You can have multiple queries in the same request too. In the ideal world your React application would contact GraphQL endpoint, which would resolve the query and respond with the data of exact shape as the original query. No more fixed inflexible JSON responses that you need to decode and reshape. You request the data in the shape you need, and this is exactly what you get in response.

History

It all started when FB realised that their HTML5 based mobile app doesn’t work. If you remember, there was a period when Zuck proclaimed that well made web app can perform as fast as native mobile app. This all happened around 2012. Didn’t worked out. So Facebook quickly admitted failure and started working on native mobile apps for iOS and Android.

Obviously these apps needed a reliable API. They also turned out to be first clients (in addition to the website) to consume that API. One option would be to create RESTful endpoints. Because of the earlier mentioned reasons that was not the best thing in the world. This is when Nick and Lee started thinking about GraphQL.

You see, if you don’t adapt to the new world fast enough, you can die. Even if you’re a huge and successful company. Try, fail fast, learn, adapt and retry.

GraphQL turned out to be the answer they were looking for. A highly flexible way of requesting data for your client app, which constantly evolves. It’s not 100% perfect, but combined with things like Relay it is quite revolutionary.

Back to the real world

Facebook open sourced GraphQL standard and reference implementation this summer. Turned out that it is highly useful also outside of FB infrastructure. Namely for frontend web developers. You see, we are highly dependent on what is going on with backend. Most often backend is not something we control. Quite often it is something that’s developed by people in a different country, and provided AS IS. You must deal with it. The answer in this situation, surprisingly, is GraphQL.

GraphQL talk with Nick Schrock

This was one of the slides in Nick’s presentation. In the ideal world you’d want to:

  1. implement a GraphQL enabled API serverside
  2. adapt your React app to request GraphQL queries

While b) is something in control of front end dev, a) can very well be out of reach. Meanwhile you can implement a GraphQL endpoint yourself, have your React app consuming it, and have resolvers in that endpoint pointing at the legacy RESTful API(s). Yes, all RESTful endpoints are legacy from now on.

Mobile

One of the things Nick mentioned was React Native apps. You see, FB started using React Native for mobile apps this year. You can use React Native with Relay and GraphQL. Here’s where things start to be interesting - for their Ads Manager app on iOS and Android they were able to re-use 87% of the code. Thanks to React components that are wrapped into Relay containers with data requirements in GraphQL.

This obviously is not limited to just iOS and Android. You can re-use same code for Web too.

87%.

Introspection

I mentioned earlier about need for documentation for any RESTful endpoint. About a week after releasing Relay, FB also released a tool called GraphiQL. It’s a visual tool that hooks to your GraphQL endpoint and allows anyone to explore it. Anyone without a slightest clue about your endpoint can start typing queries, which is surprisingly easy since there is autocomplete feature. You can also ask endpoint for what you can request from it, and get a full schema in return.

This leads to interesting things. GraphiQL is easy enough to be used by UI designers. They can play with queries and see what kind of data can be acquired from the server. Later they can design features based on this real world experience. No more guesses, no lengthy conversations with remote teams on breaking lines. Try, explore, see, learn.

GraphiQL allows you not only provide self describing queries, but also give feedback to developers that some features are deprecated. This will be displayed within the tool itself.

In short, GraphiQL will help you to convince anyone on the idea of GraphQL.

Ecosystem

FB is pushing their vision for web apps of the future. It is React apps, with Relay and GraphQL. Interestingly there are implementation of GraphQL in other languages too, most notably - Scala. This stack makes most sense when you’re tasked with creation of native clients too. React Native currently targets iOS and Android, but you can imagine this spreading to desktop OS:s too in the very near future. Learn once, use everywhere.

Conclusion

In many ways Nick’s talk was a sales pitch, but the audience was right. In the world full of inconsistence RESTful interfaces, that are clunky, inflexible, unintuitive and hard to evolve GraphQL is a breeze of fresh air. Obviously not everyone needs it. But tools are evolving, as well as cloud services. GraphQL backend as a service is already a thing - currently in beta. Tools like this will enable a new generation of apps, and reduce amount of grumpy developers.

GraphQL talk with Nick Schrock

Looking forward to it.

15 Oct 2015

Basel, Switzerland

One of our stops during Black Forest adventure was a small village of Malsburg-Marzell. It is very quiet, with lots of stars during dark nights, and not much else. There was a tiny town of Kandern just a few kilometres away, and a 1165 m high mountain of Blauen, with huge antenna on top. Both of these places we visited on our first day.

“Let’s go to Basel” I said on the second day, and off we went.

Basel was pretty close too. The only tricky thing was that I promised not to take our rented car out of the Germany. Luckily Basel pretty much spans 3 different countries. You can even cross countries on a comfy tram. With that in mind we headed to the German side of Basel called Weil am Rhein. With a bit of luck we parked just next to the Passerelle des Trois Pays - pedestrian bridge that connects Germany to France over the river of Rhein.

Previous pageNext page