Build

Tutorials, demos, and code walkthroughs for a wide variety of real-time web, mobile, and IoT projects.

BuildSep 26, 2016

Create a New Language in Less Than 200 Lines of Code

Have you ever wanted to design your own programming language? It seems like such fun, but if you’ve ever tried you probably got stuck right around the time you read “LLR Decent Parsers and Abstract Syntax Trees.” Traditionally designing your own language was hard because it requires a very specialized...
Michael Carroll
Michael Carroll
BuildSep 21, 2016

This Serverless Whack-A-Mole Game is Your Next Game Night

This blog is based on my talk from NodePDX 2016. You can watch the full video of my session, or read my other writings on my personal blog. Today I’m going to build a casual Massively Multiplayer Online game. Something that can have 50 or more people playing at the same time. And I’m going to do...
Michael Carroll
Michael Carroll
BuildSep 20, 2016

Real-time Garage Door Control with a LiftMaster and PubNub

Household appliances are not the kind of thing consumers really get excited about; they’re no iPhone. But thanks to the Internet of Things (IoT), that seems to be changing. It is now easy, inexpensive, and a lot more fun to create connected devices in every area of life, from cars and homes to...
Michael Carroll
Michael Carroll
BuildSep 15, 2016

Meow: A Programming Language Created in Just 180 Lines

In the three previous posts in this series, we learned how to use Ohm to parse numbers, build an expression tree, and process blocks of code with conditionals. In this final post on the Ohm series, we will finish up our complete programming language, Meow, with looping and real function calls. Thanks...
Michael Carroll
Michael Carroll
BuildSep 14, 2016

Add Code Blocks and Conditionals to Ohm

Welcome back! In our first Ohm post, we introduced Ohm and built our very own parser to handle numbers in various formats. In our second post, we turned our parser into a real arithmetic language with binary operations and symbols. Today we will give our language code blocks and conditionals.  ...
Michael Carroll
Michael Carroll
BuildSep 8, 2016

Build Your Own Symbol Calculator with Ohm

Last time I introduced Ohm, an open source meta language parser with an easy to use syntax, we built a parser for different number formats. Basically, I showed you how to easily build your own programming language with just a few lines of code. This week we will extend the parser to calculate arithmetic...
Michael Carroll
Michael Carroll
Real-time voting APP
BuildSep 6, 2016

Build a Real-Time Voting System for Presidential Elections

Voting online and seeing the results instantly on the web is a very convenient way to conduct quick surveys or pop polls. But you already know that because of the primary season. This real-time voting tutorial was made for the first technical workshop I led as an evangelist intern this summer, a at YouTube’s...
Michael Carroll
Michael Carroll
DIY Virtual Whiteboard Using Google and Firebase.jpg
BuildSep 1, 2016

DIY Virtual Whiteboard Using Google and Firebase

When it comes to productivity, real-time collaboration is a staple of modern communication. An obvious example of this is, say, Google Docs. In this tutorial, my app Brain Drain takes that idea a step further, creating a freeform virtual whiteboard allowing users to collaborate as if they are all in...
Michael Carroll
Michael Carroll
BuildAug 30, 2016

Ohm: JavaScript Parser Creates a Language in 200 Lines

Parsers are an incredibly useful software libraries. While conceptually simple, they can be challenging to implement and are often considered a dark art in computer science. In this blog series, I’ll show you why you don’t need to be Harry Potter to master parsers. But bring your wand just...
Michael Carroll
Michael Carroll