Recaps from EmberCamp & JSCamp 2018

Over the weekend, I got to visit Chicago and learn technical and leadership skills from various developers. I will highlight 6 talks that were spectacular. (A special thanks to Trek Glowacki for being a great emcee!)

All talks from EmberCamp will be posted online (note to self: provide links here), so I hope you will check them out.

Continue reading “Recaps from EmberCamp & JSCamp 2018”

Advertisements

How to Conduct a Live Code Interview (with 3 Full Problems)

Over the last month, I got to help with hiring developers for the first time. It was fun to use my teaching skills from graduate school and interpersonal skills from Toastmasters to test the candidates’ technical and soft skills. I think the candidates also had a good time interviewing with me.

I believe that live coding, if we do it right, is a great way to test a candidate’s technical and soft skills, and for the candidate to see if we are someone they want to work with and learn from. Unfortunately, it’s hard to find tutorials for doing live code interviews and writing good problems in the first place. It’s even harder to find actual problems because they are kept secret for future use.

In this article, I will explain how to set up a live code interview and how to write good problems based on my experience in teaching. I will reveal the 3 problems that I used in my interviews—yes, I will have to make new ones next time—and analyze why each made a good problem.

Continue reading “How to Conduct a Live Code Interview (with 3 Full Problems)”

Missing Codepoints

As a Saturday project, I unearthed the missing codepoints from Material Icons and made a pull request for Google.

Thanks to a recent update, developers and designers have about 100 additional icons to use in their projects. Unfortunately, they can no longer find the codepoints on the official website, only the icon names. To make matters worse, the codepoints file on Google’s repo hasn’t been updated to show the new icons.

Continue reading “Missing Codepoints”

Lights Out

Two months ago, I got to use D3 to help visualize the steps for getting something approved and interact with these steps. I affectionally call my code Roadmap.

roadmap-screenshot
An everyday example.

I had a great time because (1) the way we draw things in D3 reminded me of Matlab, whom I will always love; (2) I got to re-learn graph theory (fun fact: all digraphs have a topological sort—being able to sort is always nice and being able to in linear time even more so); and (3) I got to play with Post-it notes to make up an algorithm for drawing graphs on desktop and mobile.

roadmap-planning.jpg
Office supplies to the rescue.

I also had a hard time finding out how to use D3 in Ember. Because Ember is rather a rare species, there was only 1 tutorial that helped me understand what I needed to do. Thanks to that tutorial, I was able to create a prototype of Roadmap over a weekend, use Ember’s mixin feature effectively, and write extensive tests to show that Roadmap really works. In case you want to learn Ember and D3, let me show you what I learned.

We will create a game from the 90s called Lights Out. The game consists of a 5 x 5 grid of lights, which you can press like buttons. When the game starts, some of the lights are on. When you press a light, that light and its adjacent ones—top, right, bottom, and left, if they exist—are switched from on to off, or off to on. The goal of the game is for you to turn off all lights, preferably in as few moves as possible.

Continue reading “Lights Out”