With examples in JavaScript

We’ve all heard about the importance of knowing your data structures for developer interviews. If you’re a relative newcomer to computer science and programming it may be an overwhelming concept. Each data structure stores information in a specific layout. Different structures are conducive to different operations, so depending on the end goal, a programmer will select the most fitting data structure based on efficiency and ease.

You have probably used many data structures in programming already, and more abstractly in the course of your every day life. Consider looking up a book at the library by…

And what to do about it

The Project

For my Flatiron Phase 3 final project, my partner and I made a cute little game called Spelling Bee.

The models on the Rails backend were:

Hoisting and Execution Context in Javascript

Javascript is unique among most other programming languages in its use of hoisting — bringing certain elements of code to the top. In this blog post I will define hoisting, and discuss how it is achieved.


When a Javascript program is run, functions and variables are effectively brought to the top of the script so that they are available at any point in the code. This reordering is referred to as hoisting. Nothing in the code actually changes, but it allows for the hoisted elements to be accessible even before they are called.

Functions are hoisted first

Function declarations are hoisted to the top…

In this blog post I will define a cryptographic hash function and discuss how it is widely used in password storage and account security.

A cryptographic hash function is a powerful tool that uses high level mathematics to process data, such as a password, and keep the input data secure while using the output for authentication. Interestingly, most common cryptographic hash functions are publicly available. Here is documentation for the SHA-1 algorithm, for example, which was once widely used in web security. Even with this detailed information spelling out exactly how our data is processed, it is still secure! …

In this blog post you’ll learn what is an API and how it can be applied in a Ruby on Rails application.

What is an API?

You’ve probably heard the term API thrown around by developers and novices alike, maybe with descriptors like private API, public API, or partner API. How about local API, program API, or web API? It’s difficult to define APIs as a whole because there are many types that serve many purposes. At its core, an API (Application Programming Interface) is code that allows two entities to exchange information. It is an interface (the I!), …

Dana Jackson

Hi! I am a bassoonist and a software engineer, a mash-up of the obscure and the mainstream, and I’m based in Seattle.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store