Surma is very generous with his time when it come to helping other people. Even though he is based in London and I'm based in New York, he seems to always answer my random question first in our group chat (We are on a same team at work). If you @-mention your question to @ChromiumDev on twitter, there is high chance you get reply form him, or reply from me with answer he gave to me.
Our team travels for work a lot. Surma always book his travel with tight schedule - arriving right before the work engagements and leave right after. So much so that we started calling it "pull the Surma" when someone arranges ridiculously tight scheduled business trip.
I enjoy listening to him talk about non-web programming things. He writes Golang and knows very low level graphics thing. I remember listening to him and Jake Archibald talk about graphics performance, 120fps, and how browser interact with OS with after Google I/O this year, I could not follow half of what they were saying, but it was fascinating conversation none the less.
Looks like he is into game programming now...I hope you enjoy this post from him!
Read the Post
What is one tool you can't leave at home in order to do your work ?
The answer used to be “laptop”, but I have recently bought a 10" iPad Pro along with the weirdly named “smart keyboard”. It is actually sufficient, even comfortable, to work on. I bought a decent SSH client and have actually done a good amount of development on it. The 4G SIM card slot makes it even better.
What did you learn in 2017 ?
After doing OpenGL 1.0 many years ago (the era where you’d just declare stuff like “here’s a texture, put a light here. done”), I finally caught up to the new OpenGL APIs by learning WebGL. You know, with Shaders ’n stuff. It has taught me _a lot_ about how graphics cards work and inturn what the browser has to do under the hood to make things fast and efficient.
What do you want to learn/work on/improve in 2018?
I want to learn about language design, compiler development and virtual machines (as in JVM or V8 Byte code). Especially compilers seem like weird beasts that I use without understanding them properly. I’d also like to get better at StarCraft II.