code

Variations on Asynchronous Map

Variations on Asynchronous Map 150 150 Clark

One of my favorite ‘toy problems,’ often asked in technical interviews during a ‘screening’ phase, is to implement an asynchronous mapping function. This problem can be tricky because it tests your knowledge of asynchronicity and your ability to use callback functions. This knowledge is considered necessary for a web-application engineer…

read more

Balanced Parentheses and a Stack

Balanced Parentheses and a Stack 512 381 Clark

In early-screening technical interviews, the Balanced Parentheses question is quite popular. It goes something like this: Write a balancedParens function that takes a string as input and returns a boolean — if the parentheses in the input string are ‘balanced’, then return true, else return false You are given the…

read more

Higher-Order Functions and Function Binding

Higher-Order Functions and Function Binding 150 150 Clark

In technical interviews, it is common that the interviewer will throw in a question that tests your knowledge of higher-order functions and function-binding. If you are applying for a job as a JavaScript engineer, then you should expect an interview question in some similar form to the following: Write a…

read more
Example of a decision tree Ro-Sham-Bo

Rollin’ Trees, yo

Rollin’ Trees, yo 662 424 Clark

I like trees. All kinds of trees — concrete and abstract. Redwoods, Oaks, search trees, decision trees, fruit trees, DOM trees, Christmas trees, and more. They are powerful beyond common recognition. Oxygen, life, shelter, food, beauty, computational efficiency, and more are provided by trees when we interact with them in…

read more

How to Create a Simple Server and Router

How to Create a Simple Server and Router 811 674 Clark

Who: this post is for anyone looking to learn some of the foundations required for working with Node What: this post will show you how to create a simple resource server using vanilla Node and the Node http module How: the magic of a simple request handler, also known as…

read more

Object-Oriented JavaScript – Pseudo-Classical Class Pattern

Object-Oriented JavaScript – Pseudo-Classical Class Pattern 1280 853 Clark

The benefit of a pseudo-classical pattern in JS is that only one instance of each method is created regardless of how many instances of the object are created.

read more

Object-Oriented JavaScript – Prototypal Class Pattern

Object-Oriented JavaScript – Prototypal Class Pattern 1280 719 Clark

The Prototypal Class pattern is fundamental to JavaScript, especially object-oriented JavaScript. Though used infrequently by developers, this pattern underpins the syntactic sugar provided by the new keyword and the ES6+ class — thus, worth learning.

read more

Object-Oriented JavaScript – Functional-Shared Class Pattern

Object-Oriented JavaScript – Functional-Shared Class Pattern 150 150 Clark

Often referred to as a ‘mixin,’ this compositional style extends an instance to add shared functionality.

read more

Object-Oriented JavaScript – Functional Class Pattern

Object-Oriented JavaScript – Functional Class Pattern 150 150 Clark

The Functional Class pattern, though simple and clear, suffers from its naïveté. Forced to create duplicate methods for every instance, and store significant closure state for each function on the instance, the memory overhead outweighs the clarity of this pattern.

read more

Writing a Rake Task to Generate New Posts for a Jekyll-Powered Blog

Writing a Rake Task to Generate New Posts for a Jekyll-Powered Blog 910 1364 Clark

rake gen:post TITLE="[INSERT TITLE]" [D] [FN] [TAGS] I couldn’t find a good plugin online for using a command to generate Jekyll post-files automatically date-stamped and stubbed with content/YAML front matter. So, I got some practice writing a simple Rake task. Here is an easy way to create a custom post…

read more