Skip to main content

Docker, Revel, and App Engine

· 6 min read
Justin Beckwith
Director of Engineering @ Discord

"Revel running on Google App Engine with Docker"

note: I recently updated this post to make sure all of the commands still work.

I've spent some time recently using the Go programming language for my side web projects. The Go standard libraries are minimal by design - meaning it doesn't come with a prescriptive web framework out of the box. The good news is that there are a ton of options:

Realtime services with io.js, redis and Azure

· 5 min read
Justin Beckwith
Director of Engineering @ Discord

"View the demo"

A few years ago, I put together a fun little app that used node.js, service bus, cloud services, and the Instagram realtime API to build a realtime visualization of images posted to Instagram. In 2 years time, a lot has changed on the Azure platform. I decided to go back into that code, and retool it to take advantage of some new technology and platform features. And for fun.

Please take this personally

· 3 min read
Justin Beckwith
Director of Engineering @ Discord

A few weeks ago I got pulled into a meeting. There's another team at Microsoft that's using our SDK to build their UI, and they had a few questions. Their devs had a chance to get their hands on our SDK, and like most product guys, I was interested in getting some unfiltered feedback from an internal team. Before getting into details, someone dropped the phrase "Please don't take this personally, but..."

The feedback that comes after that sentence is really important. We write it down. We share it with the team. We stack it up against other priorities, compare it with feedback from teams who have similar pain points, and use it to find a way to make our product better. Customer feedback (from an internal team or external customer) is so incredibly critical, that any product team has a similar pattern/process for dealing with it. So what's the problem?

Any feedback that starts with "Don't take this personally" really pisses me off. When you say this to someone, you're making one of two judgments about this person:

Comparing Go and .NET

· 19 min read
Justin Beckwith
Director of Engineering @ Discord

"The gopher image is Creative Commons Attributions 3.0 licensed. Credit Renee French."

2014 was a crazy year. I spent most of the year thinking about client side code while working on the new Azure Portal. I like to use the holiday break as a time to hang out with the family, disconnect from work, and learn about something new. I figured a programming language used for distributed systems was about as far from client side JavaScript as I could get for a few weeks, so I decided to check out golang.

Coming at this from 0 - I used a few resources to get started:

es6: Getting ready for the next version of JavaScript

· 2 min read
Justin Beckwith
Director of Engineering @ Discord

Rockin' the big stage at Øredev

While attending the developer conference Øredev last week, I had the pleasure of giving a talk on es6. Many of the new features I covered touch on challenges we've faced building the Azure Portal. Instead of covering each new feature one by one (Luke Hoban already does a nice job of that) I decided to cover a few high level features that fundamentally affect the way teams build large scale JavaScript applications.

Timeline