Static Typing as Documentation

I’ve started to learn Angular5. What’s interesting to me at the moment is its use of TypeScript, a superset of JavaScript that adds ES6 features, and optional static typing.

For years, especially in the web-programming world, dynamic typing was the rage (Perl, JavaScript, PHP, Python). Now types are back. Python has add-ons and JavaScript has TypeScript. Continue reading “Static Typing as Documentation”


I’m pretty into mocking…though I went overboard years ago when I really first started implementing it in my tests. Now-a-days I keep it under control, really only mocking external services. If I must mock part of my own API (e.g. for performance reasons) I make sure I minimize the mocks per test.

In Python I’ve extensively used the mock and request-mock packages.  They’re great, but I find their APIs a bit clunky. Lately I’m doing more Node.js and needed to mock an HTTP request and response. Continue reading “Nocking”

When Stringifiying a DOM Node Gives You Too Much

I’ve been refactoring an internal application that we use extensively at my organization. It’s called Sanity.

It is a general-purpose HTML quality checker that’s ostensibly for testing accessibility, but it’s general enough that it can test all kinds of things Continue reading “When Stringifiying a DOM Node Gives You Too Much”

Web Development Topics in Interviewing

I thought I’d organize some topics that have come up during job interviews for Python/JavaScript web development positions. This post doesn’t address problem solving exercises, rather just simple questions I’ve been asked to discuss or that have come up when solving algorithmic problems. Continue reading “Web Development Topics in Interviewing”