I work a ton with my friend and colleague, Erik Onarheim. Sometimes I think my wife is jealous (love you, honey!). Anyway, we are always learning from and bouncing ideas off each other. We thought it might be fun to sit down and record some videos on things we wanted help with so I'm happy to introduce our new channel, Let's CODE! with Erik and Kamran.
Erik isn't very good at CSS as he professes himself at the beginning of the video. I have more experience doing design so I said I'd help him out. In a mere hour and a half, we go from knowing only basic CSS to styling a whole React.js calculator sample app from the ground up. Take a look!
We cover a wide range of topics like media queries, color, typography, box model, flexbox layouts, and more. Rather than just explaining topics, we learn them as we need to (aka "just-in-time" learning). Since making the video, he's expressed how much it helped him on a recent project so I'd call it a job well done.
Being avid gamers and fans of gaming culture, we both enjoy watching Let's Play videos and some of the more curated channels like Polygon (MONSTER FACTORY!) or Game Grumps. We decided to be inspired from that style of video and to just call it a "Let's Code." This isn't new. We're definitely not as funny.
One thing I noticed scanning through most of the existing Let's Code videos is that they are by a single person. Don't get me wrong, I love watching people work on fun stuff but there's something about more than one person that makes things more interesting--if you are heads down trying to solve a problem or teach a topic, it can be hard to think about entertaining. If you know something really well it's always a challenge to remember to cover the basics. If you have a partner who is watching and not focused on typing code they can ask questions and make jokes (like the "Vitamin C" joke Erik made that I totally didn't get).
The flipside of "doing it live" is that you make mistakes. This is both awesome and something to be careful of. Working through debugging a problem? Fun. Saying some inaccurate and possibly spreading misinformation? Not fun. There's definitely a much longer post-production step on these videos after editing that involves combing through the footage and fact checking everything. I made mistakes in the video, I almost got some stuff mostly right, but if someone is watching this expecting to learn we want to make sure we make note of things that were inaccurately said.
One of the goals is to keep debugging in the videos, unless we really churn on nothing for awhile. I think it's fascinating watching how smart people debug problems and it's important to showcase how "professionals" still run into problems.
Like we say in the end of the video, we wanted to try to tackle some deterministic randomness problems. I'm working through writing a sample game for Excalibur and I'm generating 2D terrain. It works but I want to simplify the logic surrounding placing spawn points and goals so that I don't have to store them in a state bag. I just want the world seed and the current level and from that I should be able to generate what I want to display at any point during the game. That's what we hope to tackle next.
We have a lot of ideas in our Trello board and we are targeting (hopefully) semi-monthly releases if things go well. We might explore chunking the videos too in parts, even in the first video there are clear areas of separation where we could cut into slices.
No spam and I usually send a newsletter once a quarter with content you won't see on the blog.