Todd Wolfson

Software Engineer

July 30, 2022

Startup time investing: Operational processes

How I orient around operational processes, when to invest time in them, and when to not

June 24, 2021

Lessons of a startup engineer

Lessons from being a 3x first engineer, former Uber engineer, and working at even more startups

October 24, 2019

How to build an interactive dancefloor, theoretically

Explanation of dancefloor prototype for Cone Down

October 24, 2019

Cone Down

Rundown of construction of a giant upside down ice cream cone art project for Burning Man

October 12, 2018

Rainbow Bridge

Story of how I helped build a giant rainbow at Burning Man

May 06, 2018

Lantern wall

Summary of a lantern wall I recently finished making

April 07, 2018

Debugging my first circuit

My journey debugging and fixing a EL wire circuit

February 17, 2018

Back in San Francisco

Catching up on life events since launching Find Work

October 30, 2017

Practical applications of the dot product

An approachable introduction to the dot product and its uses

March 30, 2017

Testing the Invisible

How to test/prevent elements invisibly blocking other elements

March 19, 2017

How I Find Work

Detailed explanation of my job search, leveraging Find Work

March 06, 2017

Designing Find Work

A behind the scenes look at me building Find Work

February 28, 2017

Find Work is live!

Summary of events leading up to Find Work launch and next steps

January 29, 2017

Parallel visual testing

Comparison of parallelization techniques for visual testing

November 19, 2016

Utility oriented testing

How to make code reusable in Mocha (BDD)

September 13, 2016

Resumable work

Explanation of how to make repositories resumable for yourself and others

June 06, 2016

Berlin and project updates

Information about where to find non-programming related updates.

April 22, 2016

Timezones for programmers

Explanation of how to handle timezones as a programmer.

March 22, 2016

Design theory: Filled vs hollow icons

When redesigning my business card, I discovered a design theory on icons.

February 27, 2016

The power of tools

A reflection on the wonder and power of tools.

February 15, 2016

Trying something new

I have left and am trying something new.

January 20, 2016

Open source server management

Announcement about formalizing and open sourcing my server scripts.

January 02, 2016

Design for developers

An introduction to design, targeted at developers.

December 27, 2015

Created an AMA

I have created an AMA (Ask Me Anything), feel free to ask me questions on it.

December 25, 2015

Why I am still a software engineer

A discussion on the leading factor in my career decisions.

December 06, 2015

3 stages of learning

Theory about the stages we experience when learning a new skill.

November 22, 2015

Major releases in spritesmith

We have updated spritesmith's API and ecosystem. Here's a list of what has changed.

November 07, 2015

How to stay passionate about open source

An overview of how I prevent burnout on open source.

October 17, 2015

Release: foundry v4

An overview of our next iteration of foundry, a modular release library.

August 06, 2015

Minimizing merge conflicts

A guide to a git workflow which minimizes merge conflicts.

July 31, 2015

Slack's source code is beautiful

A salute to the open and hackable source code of Slack's web client.

June 03, 2015

Learning to forget

An introduction to leveraging forgetting as a controlled skill.

April 21, 2015

Retina sprites are here!

spritesmith now supports retina sprites. This is an introduction to using them.

February 06, 2015

Automate your style

Introduction to automatically checking and formatting code style.

January 11, 2015

Testing with other services

Introduction to using eight-track and fixed-server for writing tests with other services.

November 22, 2014

Moving from PhantomJS to node-webkit

Transferring visual regression tests from PhantomJS to node-webkit for better node_modules/ support and more accurate screenshots.

November 05, 2014

Welcome back

I am back from Japan. This is a debreif of my experience and what my plans are.

July 10, 2014

Taking a break

I am taking a 3 month break from everything (e.g. tech, SF, open source) and going to go live in Japan.

May 28, 2014

Taken for granted: Regression tests

There are some "a-ha" moments on the road to becoming a better developer. This article visits one of mine, regression tests.

March 19, 2014

Release: foundry

Release manager for npm, bower, component, PyPI, git tags, and any plugin you can write

February 17, 2014

Suggested reading for writing a gulp plugin

Overview of good resources for creating a gulp plugin

January 19, 2014

Low tech dependency management via grunt tasks

An explanation and walkthrough of managing browser dependencies via grunt-zip and grunt-curl.

December 26, 2013

Release: sublime-plugin-tests

Sublime Text plugin testing framework

November 26, 2013

Optimal lines again

November 25, 2013

UNLICENSE all the things

Choosing UNLICENSE over other licenses

November 21, 2013

Release: gifsockets

Stream never-ending animated GIFs

November 02, 2013

How to linkify Markdown headers

Add links to your Markdown headers

November 02, 2013

Website redesigned and refactored

Major refresh to website CSS and backend

October 16, 2013

Life view: What shapes the self

Personal viewpoint on how the self is shaped.

October 16, 2013

Life view: Free Will

Personal viewpoint on Free Will.

October 16, 2013

Release: git sqwish

git squash without repetitive conflicts.

September 24, 2013

Debugging OSX via Sauce Labs

Using Sauce Labs to debug software on OSX.

September 22, 2013

Debugging Travis CI

How to debug Travis CI with Vagrant.

September 08, 2013

Optimal line length theory

Experimenting with relative typographic line length limits applied to code.

August 15, 2013

Readability: Formalized

Defining readability through propositions, theorems, and lemmas.

August 15, 2013

Sexy bash prompt

A bash prompt with colors, git statuses, and git branches.

July 27, 2013

Develop faster

Removing the tedium from creating, developing, and publishing repos.

July 24, 2013

Abandoned project: Kaleidoscope

Abandonment of an in-browser solution for a website-at-a-glance webpage and looking forward to perceptual diffs.

July 11, 2013

Axioms of maintainability

Mathematical definitions and reasoning behind why abstracted code is maintainable code.

July 06, 2013

A better shell

Thoughts on taking steps to make a better shell.

July 04, 2013

Finding the perfect mix of code coverage

Code coverage is the percentage of lines of code touched by a test suite. It is a good metric but API coverage is a new step forward.

May 27, 2013

Bringing vertical rhythm to code

An experiment and attempt at understanding my code patterns.

May 27, 2013

BDD and the Future

A presentation overviewing the history of BDD and some of my experiments.

April 22, 2013

Why I open source

An explanation of my morals/ethics and why I devote my free time to open source.

April 22, 2013

PhantomJS engine for spritesmith

A phantomjs engine is now available for spritesmith, making the cross-platform barrier to entry super-low.

April 22, 2013

Introducing Find++

Find++ is an implementation of search utilites from Notepad++ for Sublime Text 2.

March 17, 2013

Halo - A modular MVC

An introduction to Halo: its good, bad, and ugly parts.

March 11, 2013

Builder - Build chain for your client side

Another overdue introduction -- This time to Builder, a framework for automating common client-side steps.

March 11, 2013

Spritesheets and variables made easy

A long overdue introduction to Spritesmith and its components.

February 15, 2013

Open letter to gruntjs

The following letter is about my thoughts and complaints of the recent gruntjs upgrade from 0.3 to 0.4.

November 17, 2012

Subtle anti-patterns

Warning: This article is more opinionated than other ones.

November 14, 2012

Node Knockout 2012

This weekend, 3 coworkers and I, participated in Node Knockout, a 48 hour node.js based hackathon.

October 07, 2012

JSMin with sourcemaps

Introducing JSMin with sourcemaps -- available as a node module and as a grunt plugin.

September 09, 2012

BDD pipe dreams

Below are my most recent pipe dreams for BDD. While the example is based on testing a UI, it is applicable to anything as does BDD.

July 04, 2012

Why your client-side framework deserves a build chain

A screencast on my thoughts on client-side frameworks.

June 16, 2012

Open sourced website and CSS Off

I have open sourced both my website (available here) and my entry for the the CSS Off (available here).

June 11, 2012

Introducing jojo

Introducing jojo, the 10 second blog-engine for hackers (in javascript). Jojo is heavily based on and insprired by toto.

March 25, 2012

Catch up - CSS Off

This is a partial continuation of my previous catch up post. I finally got my CSS Off score; 61/100 points and 66th of 417 place.

March 25, 2012

Hands-Free Refresh Anywhere - File Watcher et al.

When UMS' CSS Off started in Late October, I was getting frustrated at needing to manually refresh for any page change -- no matter how small.

March 16, 2012

Catching up to date

A summary of all the contests, scripts I have written, and everything else I meant to write about since my arrival in California.

February 21, 2012

Blog Launch!

This is my first blog post for!

Recent activity

Graphic Design

I've recently finished on a Graphic Design certificate from RISD CE. This was to fill visual design gaps in my startup work.

Past activity

Burning Man art

My most recent large project efforts were on giant physical art pieces: