wolf WORDS
by a barely functional human

welcome wolf words when written:

The declarative imperative

A declaration of independence

May 27th, 2020 · 8 min read

“But how on earth will we test it?” This was my question to Sophia. She told me to “just use the marbles.” “I can’t, I think I’ve lost my marbles writing this code. I’m already programming with pure functions. Why can’t I just assert the actual output equals what’s expected?” Sophia was offended: “Because that’s not how programming with asynchronous streams of events works!” “You mean that’s not how programming with Observables works.” “You’re just not embracing the right mental...

Winning at failing

Make failure easier, not harder

May 20th, 2020 · 3 min read

If it’s a good idea and it gets you excited, try it, and if it bursts into flames, that’s going to be exciting too. People always ask, “What is your greatest failure?” I always have the same answer: We’re working on it right now, it’s gonna be awesome! — Jim Coudal Too many people attempt to improve an inefficient process by adding more process. The thinking goes that if we just shield ourselves from the fickle whims of our customers then somehow they will be happier with our work. Quali...

Ban software defects

Testing considered harmful

Aug 7th, 2018 · 8 min read

The frontend JavaScript ecosystem is full of magical tools. 🔮 There are a range of UI frameworks available from ones with built-in solutions for everything to lightweight libraries for building only what you need in a modular fashion. You have options for writing your view as a template language for interpolating HTML or syntactic sugar for plain JavaScript objects known as the virtual DOM. There are different philosophies for state management from using implicit/imperative Proxy objects to the...

Test code, not sanity

Simple testing simply made simple

Aug 3rd, 2018 · 3 min read

Simple is a word with a long and sordid history. The meaning has gotten watered down over the years to the point where today simple is used as a generic inoffensive term of praise. Let’s take a quick tour through some of the common connotations for simple that are used and see how they would apply to software testing. easy This is one of the more commonly used definitions of simple, and likely one of the most dangerous as well. Rich Hickey (Clojure’s benevolent dictator for life) gave an entir...

Hyperapp for Redux refugees

How I learned to stop worrying and love the function

Feb 14th, 2018 · 16 min read

I love Redux. It was my gateway to functional programming, and the first such code I ever put into production. Gone were the days of using the DOM for storing your application state and precariously manipulating it with jQuery. Redux provides a tidy state management solution that lives entirely apart from your view. The view becomes a derived representation of the state that is capable of expressing actions the user performs to apply against that state. The actions don’t directly modify the st...