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.
I love blankets (in general, and to knit!) Big, squishy, comfy, cuddly blankets– likely, at least in part, due to my conflicting relationship with actually paying attention to gauge. It doesn’t matter as much if it’s off by a bit — it’s a bit like cooking vs. baking. Anyway, the blankets from this year:
Finally, finally, I have time to hit up local events and meetups again, and Austin has not disappointed. (See what I was up to the first half of the 2016.)
First up, Emberitas. I found out about this event through the Women Who Code – Austin network. Three awesome women in the Austin Ember community decided to organize this free one-day workshop to introduce women to Ember.js. (All bootcamp grads, by the way — two from MakerSquare and one from CodeUp).
Given our understanding of what async is, how the callback pattern manages async, and some of the deficiencies of the callback pattern, let’s dive into another, newer pattern — promises.
As with callbacks, for a new developer, it can be difficult to sift through the massive amount of information available online. For the benefit of anyone else newly exposed to promises, in this post I’ve attempted to cull the resources and posts that I have found most enlightening through my own learning.
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)
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.
Let’s talk about organizing our code. There’s never just one way to accomplish something with code. This is both great, and sort of paralyzing. How do you choose?
In the last week, the subject of the Dvorak keyboard has come up more than usual. (‘Usual’ being not at all.) The Dvorak keyboard is an alternative to the widely-adopted QWERTY keyboard, and was patented in 1936 by Dr. August Dvorak and his brother-in-law, Dr. William Dealey. There are a couple of devotees among my coworkers at MakerSquare, and at some point in one of our discussions, I became inspired — how quickly could I pick it up? Or further, how long would it take to achieve at least half of my QWERTY speed? So I tested, to get my baseline, coming in at 120 WPM.
I first picked up knitting as a hobby in the winter of 2013 — a cold, depressing DC winter. It was a moving meditation — a rhythm, a flow. It’s no surprise between the weather and the mindset that I started — and stayed in — the scarf/blanket phase of my knitting for a long time.
Beginning knitters often start off with scarf projects — a simple scarf pattern can be the easiest and most approachable thing to create. Cast on. Knit all rows. Bind off. Needles are needles and yarn is yarn. The end.
Knit enough scarves and blankets, and eventually you want more of a challenge. Thus began my complicated, on-again-off-again relationship with sock knitting. (Don’t have the bug yet? Just follow @syllogism).