Sequoia McDowell

Programmer, Educator

Hello There!

My name's Sequoia, I'm a Free Software developer and educator, and you can find out a bit about what I do here on this website!

Out of respect for your privacy, I do not use google analytics or other third party scripts that track you on my site. This means that I have no idea that you've visited unless you tell me (site hosted on github). So if you read an article and liked it, tell me via the contact page in the comments form on posts. Thanks in advance and happy coding!

Blog Posts

What is "JavaScript?" Part 2: Solutions

"Bleeding edge" is all well and good, but can't we at least opt-in? Here's one weird trick to bring some transparency into the JavaScript module ecosystem with regard to new language features…

What is "JavaScript?" Part 1: The Problem

In the age of Babel, babel-plugins, and widespread transpilation, what does it mean for something to be JavaScript, and why does that question matter?

Let's Code It: Static Site Generator with Rx.js

Watching a filesystem for changes and building an input (markdown) file to output (HTML) on each change? This sounds like a job for... Observables!

Let's Code It: Static Site Generator

Markdown in, HTML out... do we really need a framework for this? I Don't Think So!!

Interactive Debugging with Node.js

Interactive Debuggers are familiar to every Java developer, but they are much less well known in the JavaScript world. If you're a JavaScript developer who hasn't experienced the power of step-thru debugging, read this post to find out what you're missing!

The Node.js Debug Module: Advanced Usage

So you're familiar with the `debug` node module. Let's take a look at some more advanced uses and useful tricks!

Let's Code It: The `debug` Module

What if, instead of commenting out or deleting our useful log statements when we're not using them, we could turn them on when we need them and off when we don't? The `debug` module lets us do that-- but how does it work? Let's find out!

Type Hinting in JavaScipt

What type is this object, what properties does it have, what arguments does this function take... there's a lot I don't miss about writing Java full-time, but boy do I miss this! Can we get these type hints in JavaScript? Let's find out!

Techniques to Avoid Live Coding, Part 1

The demo-gods are unmerciful and typing is hard with hundreds of people looking on. Learn to write code without writing code and your presentations will go off without a hitch!

Migrating a Legacy System to a Modern API Framework

LoopBack makes it easy to develop greenfield APIs, but in real business environments, data isn’t always tidy & cooperative. In this case study we'll see what it takes to migrate a complex legacy application to LoopBack.

Higher Order Functions in ES6: Easy as a => b => c;

New language features can make an expression that was cumbersome to write in ES5 easy in ES6, enabling and encouraging the use of this type of expression. We’re going to look at one such case here: how arrow functions make it easier to write higher-order functions in ES6.

Building to Github Pages with Grunt

Wherein I document my Grunt+github-pages+bookmarklet build which required templating, switching branches, rebasing, commit, and all sorts of craziness.

Fun With Toilet

Shell feeling shabby? Spice things up with Toilet, the ASCII generator!

LoLshield Sequencer

How do you encode animations for a 9x14 LED matrix? By building a web-app, of course!