Monday, July 11, 2016

Stumbling blocks on the way to Intermediate

Or, "Why I Can't Build a Wikipedia Viewer".
FreeCodeCamp assignment: Build a CodePen.io app that is functionally similar to this:https://codepen.io/FreeCodeCamp/full/wGqEga/.
Reasons I was/am not ready to succeed at this:
  1. No training in Ajax --> no ability to recognize, understand and resolve CORS error messages, or even google them successfully. 
  2. MediaWiki API documentation extremely hard to understand, inconsistent, etc. 
  3. But, even after I finally have the data: Weak coding fluency. Lack of practice. This is not really a roadblock-- I can write the logic, just very slowly.
  4. Weak CSS skills. This is a bigger block than #3 -- I lack any practice at doing layouts in CSS, and also I have an irritable mental block along the lines of, I am not a graphic designer, I don't like CSS anyway, who cares about boring front end stuff, etc. This needs to be burned through and cured. Even if "front end" does not become my passion, I need to be competent. And get over myself.
  5. Anger at FCCamp for making this one too hard.
The project landed on my desk March 16! It's been unhurdled for four months now!

Remedies:
  1. After hours of research and study on Ajax (XHR, CORS, JSONP, etc), I think I have the basics of comprehension in place now. Check.
  2. After hours of reading and struggle, I decided I had learned as much as I was going to learn and gave myself permission to just use someone else's (a FFCamp "staff" person's) code to get the data out of Wikipedia. Clearly FFCamp had intended this to be an exercise in writing code to display API data, not in mastering one particular labyrinthine API. That's where I am as of today: working on just getting the data out, without putting further effort into 100% understanding what all the little MediaWiki API commands actually mean.
  3. Practice and study. FCCamp, I guess? Too bad no Jed Shaw text for front end.
  4. Practice and study. Need to find more assignments and push more of this into my brain. Subscribed myself to CSS Tricks weekly newsletter to make sure it keeps flashing in front of my eyes. Here's a test page to remind myself what "competent" might look like. And a random list of lessons and exercises to try.
  5. Wait for others to complain and FCCamp to resolve. Looking at the assigned model today: yep, it looks like they did make it easier: no more little thumbnail photos, and no more live responses as you type. Good. They are supposed to be training me, not hazing me.