*Ok fine, thoughts that I have. But I hope there are other people who have similar thoughts.
Learning is all about the presentation. The difference between information given in a popular “written-for-the-masses” non-fiction book and an online manual is astounding. I could read those non-fiction books for days straight without pause (except maybe some food and bathroom breaks). But a written tutorial? Hoo boy. Don’t even expect me to pick it up until after I’ve browsed the entire internet, ate about 2,000 calories worth of snacks, and read 300 pages of the fun book I’m reading on the side. Yep, presentation is everything. Depending on the format, my self-motivation will rise or plummet exponentially.
Fine, I understand that you often can’t convey a huge depth of information in those pop non-fiction sources. But when it comes to getting technical, I’d much rather watch a nice video tutorial for an hour than read two pages of written instruction.
Last week, I began a language called “jq” which may or may not be an acronym (and no, it’s not JQuery). So, I was stuck with a huge manual consisting of a list of functions and examples of each function. My mentor chose it on purpose because there’s very little “google support” for this language (as in, you can’t just google your problems, you figure them out on your own). No more badges from Code Academy, no more “energy points” from Khan Academy and no more multiple choice quizzes from Coursera. I’m was on my own.
Here are the thoughts I had while embarking on this endeavor:
- *Opens manual and scrolls down* Hmmm, this doesn’t look too long
- I can take a few minutes to go on facebook because obviously the manual will take me no time at all to read
- *10 minutes later* I’m ready! Let’s look at the first line: “A jq program is a “filter”: it takes an input, and produces an output. There are a lot of builtin filters for extracting a particular field of an object, or converting a number to a string, or various other standard tasks.”
- Yep, I totally got this.
- *A few lines later* “This option reads all the JSON texts in the named file and binds an array of the parsed JSON values to the given global variable. If you run jq with
--argfile foo bar, then
$foois available in the program and has an array whose elements correspond to the texts in the file named
- Maybe I’ll just take a little break and go on facebook again.
- Ok, back to work.
- Maybe I’ll skip that line for now. I’m sure I won’t need that function later.
- This line doesn’t look great either.
- Oh man, this is boring.
- Snack time!!
- I think since I’m eating, I can read some Game of Thrones.
- Ok, back to business. Oh man. I don’t get this at all.
- I think I’ll just look at some posts on my Reader.
- *Some time later*
- Ready for another crack at it. Let’s do this.
- Hey, I actually understand this one! Let me try implementing it!
- Nope, nope, I definitely didn’t understand it.
- Let’s try reading it again.
- Wow, this is really hard to concentrate on.
- I don’t get it again.
- Maybe another break?
- No. No. I’ve got this.
- Maybe another snack to boost my energy.
- *Repeat 1-25 a couple of times.*
- *Try another 30 implementations of that one line of code*
- It’s a miracle, it works, it works, it works!!!!
And that’s how I spent an entire day writing one damn line of code. Seriously. One line. I was so freaking proud of myself by the time it actually did what I wanted it to do.
The good thing that came out of this one “strenuous” day is that after it, I was actually able to use the language (minimally). For me, it’s all about vaulting that initial barrier to entry. Once that’s over, I love knowing that I understand enough to actually do something.
But those manuals…oh man. I’d appreciate any tricks or tips you have to get through such unpleasant tasks!
Title image from girlsgonestrong.com. And no, that is not me, but I’m pretty sure I can make that expression too.