Ed Schiebel

I'm a developer by day and hand drummer by night (or I was, the band broke up). I am also Maker's Mark Ambassador #1726391. Now if that doesn't impress you, I don't know what will. As you can tell from this stunning page, my design sensibilities are pretty much Google circa 2000.

Here are some samples of my work. The source can be found on GitHub. My CV is on Stack Overflow.

Breakout

I've been building a pretty complex single page app using React at my day job, and have been pleased with its performance. I was curious though. Could React be used to build an arcade game, albeit a simple one. Breakout is a classic old school game I liked back in the day, and with limited moving parts there was a reasonable chance both React and I would be successful.

Along with React, I'm using Alt for my Flux actions and stores implementation, and I'm keeping all the game's state in Immutable data structures. The game pieces are all divs absolutely positioned on the court. Game play is handled by calculating the position of the ball, paddle, and the state of the bricks in the wall every tick of requestAnimationFrame, which GameStore saves away in its state. The top-level component, Breakout, listens for GameStore changes, and renders the field of play.

The verdict is, yes, React's virtual DOM can mostly keep up. The game plays pretty well.

By now, I bet you're curious. You can play it right here. Game play is dead simple, and there are a zillion things I could do to make it more interesting as a game, but that wasn't the point. (Though every weekend the dog gets me up a good 2-3 hours before my wife, so I bet there will be some tinkering going on.)

Romanizer

A solution to the Roman Numerals Agile Kata, built as part of a job interview. Try it here.