Thorne Brandt

Mobile Menu

Test Driven Development

How I Learned To Stop Worrying and Love Tests

October 1st, 2017

I was shamefully late in appreciating tests. I saw them as monotonous labor, more complex, cumbersome, and twice as time consuming as the actual code they were supposed to be testing. When I was getting started with front-end unit testing ( phantom, mocha, jasmine ), most of the time it was the tests themselves that were broken. I would spend hours stubbing methods with near-copies, which gave me the frustrating sense that I wasn't actually testing anything. Then when the code changes, you have to basically start all over again. This post is meant for anyone that is feeling similarly discouraged by the apparent lack of value compared to the effort and time-sink required for testing.
Read More


August 19th, 2017

Shiftgig is basically an ondemand staffing company with a pool of pre-vetted specialists in a variety of fields. This type of business model requires different interfaces for clients, workers, internal account managers, and public facing marketing for potential customers.

I was hired at Shiftgig to diagnose a loading time problem on a backbone-powered admin calendar app in 2014. Backbone was all the rage in that era, so I developed their new work stack, which consisted of grunt compiling backbone.js, jshint linting, and QUnit testing, namespace conventions, bootstrap grid system and media queries, classical inheritance of basic view functions such as afterRender, relied on an event-driven PubSub code design pattern, and created modular helpers to facilitate rapid development.

See some code samples and design examples

Read More

One Way FaceSwap

February 23rd, 2017

I've stumbled upon down the first step for developing face swap feature, and it's quite entertaining by itself. Facial tracking, poisson blending, and model creation. For this example it can be manually triggered, on things which aren't necessarily faces, which means you can now finally safely faceswap with your cat!

You can try out the experiment yourself here , considering you have a webcam, are in a well lit area, and are using Chrome.

Link to this Post


Face Tracking Glitches: OffCenter

February 22nd, 2017

I'm trying to create a faceswap feature.

In trying to debug the facetracking problem in which the alignment was off and my drapes were consistently becoming the face, I am now capturing the image data for the mask on every frame. Because of the difference in scale, it creates almost a liquid displacement effect which I thoroughly enjoy.

TODO - create a tool that exagerrates this.

Link to this Post