Writings

Learning, occasionally

Sudoku Solution Validator

Sudoku Solution Validator 1030 1030 Clark

Five months ago, I was asked to solve a problem with a pair — the challenge was to write a Sudoku solution validator. We were expected to take a two-dimensional array that represented a Sudoku board and determine whether or not the board was ‘solved’ based on the rules of…

read more

String Primitives and String Objects in JavaScript

String Primitives and String Objects in JavaScript 150 150 Clark

My friend and talented young Software Engineer, Paulo Diniz, wrote this guest post to explain the difference between String Primitives and String Objects in JavaScript, and what that might mean to a JavaScript programmer. The following is from Paulo… JavaScript String Primitives and String Objects By Paulo Diniz Throughout this…

read more

Variable Hoisting and Function Hoisting in JavaScript

Variable Hoisting and Function Hoisting in JavaScript 150 150 Clark

In JavaScript, both variables and functions are hoisted by the interpreter at runtime. However, variables and functions are not hoisted in the same way as each other.

read more

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

Concatenate and Minify JavaScripts and Stylesheets for Production with Grunt

Concatenate and Minify JavaScripts and Stylesheets for Production with Grunt 150 150 Clark

In this post, you will learn why you should concatenate and minify your scripts and stylesheets into one small file using the task runner called Grunt.js. You will also learn how to concatenate and minify your scripts and stylesheets with Grunt. Concatenation of Files For each script that you force…

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