Archives

Tag: software engineering

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)

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.

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.

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).

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:

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).

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.

I’m currently enrolled in the 30th cohort of MakerSquare, in Austin, Texas. MakerSquare is a three-month full-time career accelerator for software engineering, with locations in LA, San Francisco, and Austin. I’ll be using this space to catalogue my progress through the weeks of the program. I figure it’s best to start with some context — so I’ll begin with a brief post on my background that led me to this unique education experience.