The Road So Far Pt II

Almost exactly a year ago, I first started writing about my pivot to working full-time as a web developer (aka The Road So Far Pt I). tldr; after dancing around the edges of embracing this career (in every possible way, for my whole professional life leading up to that point), it had become clear I wanted and needed to commit. I find that reflection is the only way to take stock of progress, and a year seems like a good time to look back.

Continue reading The Road So Far Pt II

Async patterns: Callbacks

So what is a callback function?

A callback function, also known as a higher-order function, is a function that is passed to another function (let’s call this other function “otherFunction”) as a parameter, and the callback function is called (or executed) inside the otherFunction. A callback function is essentially a pattern (an established solution to a common problem), and therefore, the use of a callback function is also known as a callback pattern. (Source)

Continue reading Async patterns: Callbacks

What is asynchronous JavaScript?

When people talk about asynchrony in JavaScript, what do they mean? First, a real-world example of an asynchronous process (summarized here, and originally here).

Imagine you walk into a coffee shop to get a latte. If they’re busy, perhaps you wait in line. When it’s your turn, you place your order with the cashier, and pay for the drink. The cashier writes your order — maybe even your name — on a coffee cup, and places it behind the empty (not yet fulfilled) cup of the person who ordered before you. Perhaps the shop is quite busy and there are ten cups ahead of yours. That queue of yet-unfilled coffee cups allows for the separation of the cashier (processing and queuing orders) and the barista (fulfilling orders based on the information supplied by the cashier). This queuing process results in increased efficiency and output. (The original source expands on the metaphor and is quite interesting). This is an example of asynchronous, non-blocking behavior.

Continue reading What is asynchronous JavaScript?

Intro to web accessibility

Through presenting at bootcamps, I’ve so far had the chance to expose over 100 devs- and engineers-in-training to web accessibility —- what are we really talking about when we say ‘web accessibility’, who does it affect, and what are some very initial considerations to take into account? This is a short blog recap, including the deck.

Update (7.29.2016): Slide deck updated.

Continue reading Intro to web accessibility

Data Structure: Trees and Depth-First Tree Traversals in JavaScript

What is a tree?

Trees are a commonly-used data structure in web development. You interact with a very common example of a tree every time you use your browser, likely without knowing it — the Document Object Model (DOM).

DOM tree
Source: w3schools

Continue reading Data Structure: Trees and Depth-First Tree Traversals in JavaScript

Resources: Getting started & beyond

When self-teaching, almost all of us start at the same point. Where do I start? How do I “pick a language”? What do I focus on? I know I did.

I recently started listening to the JavaScript Air podcast, and even more recently went back to listen to some of the earliest episodes. In episode 001, “Learning and Developing JavaScript”, Ashley G. Williams (@ag_dubs) makes a comment that caught my attention:

Continue reading Resources: Getting started & beyond

Quicksort

Quicksort is a sorting algorithm, used to place the elements of an array into an order. That order is based on comparison —  the things being sorted must have a “less than” / “greater than” relationship. (Source).

Continue reading Quicksort

Devume

I recently test-drove the ‘Devume‘ project from the wonderful and talented Justin Seiter, and wanted to briefly highlight the project.

Devume is the hackable JSON resume.
Fork it, tweak it, deploy it!

Devume is a starter repo for a fully JSON-based resume, using Webpack for code bundling and Handlebars for templating. In just a few minutes, you can spin up and host your own resume.

Continue reading Devume

Recursion

Oh, recursion.

There are two types of people, those who understand recursion and those who understand that there are two types of people in the world… (r/ProgrammerHumor)

But really. There seem to be people who can very naturally digest the concept of recursion, and those whose brains absolutely reject it. I happened to be one of the latter. In this post, we’ll go over recursion generally, and then work through a diagrammed problem example.

Continue reading Recursion

MakerSquare Week 12: The Transition

I write this week’s post with mixed emotions, as yesterday marked the last day for the MKS30 cohort.

MKS-30 class pic
MKS30. Photo credit: Hugh Suh

For those like myself staying on for the fellowship, week 12 was actually the beginning of our fellowship. We stepped into that routine, as our cohort-mates began focusing on their job searches. It was an odd, in-between space — knowing that after this week, we would no longer see each other nearly every day. The grind of an intensive educational program like this creates an intense interpersonal atmosphere, forging connections quickly. At times, it’s nearly unfathomable that you didn’t know each other three months before.

Continue reading MakerSquare Week 12: The Transition