Day 17: Remedial Training

Those of you who know me well know the story of how I ended up in the 1st grade bottom reading group. Why? I couldn’t pass the teacher’s stupid test. I don’t even remember what was on the test. All I know is that I blew it three times in a row. It wasn’t until one day, when my teacher saw me reading while out in the playground (my mother had been giving me “Peanuts” cartoon collection books to read for age), that I finally got bumped into a much higher level group.

Fast forward to present day Code Academy. Our instructor held a special session on Functions for those of us who are still confused. On the one hand, I was grateful for the in-depth explanation, and it really did help me to understand how they work, what different ones do (or return, as the case may be). Also, many of us were still scratching our heads over parameters vs. arguments, and which variables are global vs. just in the function. I was particularly out to sea as far as how to deal with objects passed to a function. Thanks to her help, I managed to complete the rest of my labs. Granted, it took me a few hours after class to complete everything, but I did it.

On the other hand, it was embarrassing to admit I really needed the extra help—I almost didn’t take up our instructor on the offer to break into a separate group. It is always uncanny that we as human beings have no issue racing to see a doctor for anything physically wrong with us. In fact, for many people my age it’s practically an intramural sport. However, any time we have anything else wrong that’s not below the neck, we consider it a weakness and the height of embarrassing. The whole point of this training is for me to learn how to code. It really shouldn’t matter if I need extra help, as long as I end up as a competent coder who can take on any challenge.

It was still embarrassing, though.

Day 16: Stringing You Along…

We had two major blasts today in class.

One: we got our Friday projects back. The good news is that, by and large, our instructor felt we did well. The bad news is that I completely spaced on putting all my inputs into a <form> element—apparently, I wasn’t the only one, and there were a few other things I missed that needed attention. We all had issues to correct, on which we spent most of the morning working. One issue, a link not working, turned out to be a non-issue. I suspect our instructor had us immediately work on our defects as, in real life, during an Agile Sprint, it would be expected that you would correct mistakes right away. As a BA, I’ve been on the other side of this equation (“What do you mean, you didn’t make the changes YET???”).

Two: we worked with strings today. We used different functions and methods, such as indexOf(), lastIndexOf(), substr, slice, etc. Before you ask, NO…this is NOT as much fun as working with that other type of string (a.k.a. yarn).

This all culminated in an exercise to parse out a full name by prefix (if present), first name, middle name, last name, and suffix (if present). After much wailing and gnashing of teeth, I DID IT!!! Woohoo!!!

Tomorrow we work on dates…no, not the type you eat…

Day 15: The Outside World

Last night, after class, I took a much-needed respite and went to a music festival concert. Our local orchestra does a concert series every Friday during the summer, featuring a different theme every week. Last night’s was a tribute to Elton John. It was a fantastic night.

Of course, that’s not what I’m here to talk about…earlier in the day, we all survived a 1-day—we’ll call it a sprint, for lack of a better word (Agile pun intended). We had eight hours to create a 4-page site featuring three financial calculators with about six different equations. I confess we got an assist from our instructor on one, but once we got that one done and figured out in JavaScript, it was fairly easy to google for the rest of the equations and plug them into our pages. It was fun, too, as we revisited our HTML and CSS coding with Bootstrap thrown in, and got to style the pages to our liking. We all ended up with pages that worked by the end of the day. It was A MIRACLE.

I raced to the concert last night, all excited to tell people about my wonderful achievement. Fun fact: unless people are coders, NO ONE really wants to hear about your adventures in coding. I was excitedly explaining my entire eventful day, my ups and downs and struggles to make the scripts work correctly. My librarian friend, who has taken coding classes as part of her library science degree, did understand what I was talking about, but everyone else looked like a deer in the headlights. It might have been more exciting to have the site loaded in a GitHub io repo to show them, but I hadn’t had time to do that.

We artists are SO misunderstood…the only thing less exciting for these poor people would have been had I tried to explain knitting short rows to them…

Day 14: Fried Brains…Fried Brains…

Today we upped the ante on functions by now displaying results in the browser. So, if you want an online calculator or need to find out what 38 degrees Celsius in Paris REALLY means (read: Fort Lauderdale, FL is cooler), then I have the apps for you!

As we’re going to be going full-tilt tomorrow with our Friday lab day, I’m taking a break from my nightly studying to get in a little knitting. I’m attempting to put sheep on a sweater. I’m so fried from class today that it took me 15 minutes to locate black yarn for their little stick legs. I need to divide up small balls of off-white yarn for their fluffy little bodies, but I’m trying not to think about that right now. This is intarsia, and I haven’t quite worked out how much is going to be needed for each ball.

Knitting and sheep pattern

I originally thought this pattern was an in-the-round fair isle yoke, so I wasn’t stressing…until I looked at the pattern AGAIN. I’ve essentially knit everything else in the round, so doing drop sleeves with intarsia on the front and back of the sweater is going to be–oh, let’s be positive and say it’s going to be an ADVENTURE.

My friend Sheila, who–if they gave them out–would have a black belt in knitting, suggested I just modify the pattern to be in the round. However, after days on end of staring at Visual Studio Code, trying to decipher why the #%^*ing code ISN’T WORKING this time and why there are angry red alerts in the F12 console–I just can’t face the prospect of counting stitches to figure out how many little sheep I can knit in the round, and how many more little balls of yarn I’d need…

I suspect lab day tomorrow is going to be simpler than that.

Day 13: Hoisted by My Own Petard

Of course, I don’t mean this the way William Shakespeare did in Hamlet…

Today, we were introduced to the wonderful world of JavaScript functions. We got our feet wet with simple functions(). Then we did functions where we passed arguments to parameters (this sounds like something you’d do with relatives at the dysfunctional Thanksgiving dinner table, but I assure you it’s nothing like that). THEN, we got into passing arguments to parameters and RETURNED something…which is where it got really confusing for a lot of us. I kept getting the variables inside and outside of the function mixed up. Also, we learned that variables are “hoisted”–that is to say, they are moved to the top of the current scope (to the top of the current script or the current function). However, their initializations are NOT hoisted. Then we got into even MORE murky depths with the introduction of the “let” and “const” keywords, which are NOT hoisted, and behave in a most peculiar fashion, to the point where…yes, I definitely think I need some Advil…

The good news is that we went back to some of our previous code and retooled it to have functions. If anyone wants me to calculate the area of a circle or a square for them, I’m all set! I can also tell you if a year is a leap year…

We are having to keep up a portfolio of all our work, which I think I finally have up to date. Our instructor wants us to print this out, which I’m going to need to do at work, as I’d probably kill our home printer churning out all the pages I have so far…and this is only DAY 3 of our JavaScript training; this is going to go on for several more WEEKS. I suspect I’m going to have the equivalent of War and Peace or Moby Dick by the time I’m done.

Day 12: JavaScript Jive…

…think I’m slowly getting the hang of it.

Day two of attempting to work with others went much better. Today, we paired up with different people—they’re going to rotate us daily into different groups, cycling through three different combinations (all I could think of was, “If It’s Tuesday, This Must Be Belgium”). This time around, we worked together on mutual code reviews. We have been working out different ways to solve things. For example, we sussed out a way to determine if a year is a leap year. We did routines to figure out the minimum and maximum of a group of numbers (this was a trick…rather than if, else if, else we only had to use the Math.min and Math.max functions for that). We did code to determine sales discounts, taxes, etc. We even figured out how to display a greeting based on what time of day it is. This probably all sounds Mickey Mouse to people with any coding experience, but we’re all having fun figuring things out. We haven’t gotten around to writing functions yet, but that should be coming soon.

I even had a bit of breathing room today. I got out a few times during breaks to take walks around the building. I also (GASP) managed to get out this evening for my knitting group! To give you an idea of my level of distraction lately, someone at the knitting group pointed out that I’d COMPLETELY neglected to knit the intarsia sheep onto the back of my sweater! I had to frog it back to the armpits and start over again.

Day 11: Attempting to play well with others…

Today marked the first day of our JavaScript training. The good news is that it’s challenging and interesting, and our instructor for this training phase is great. The bad news: I can’t remember whole chunks of high school math. It’s just gone right out of the window. The area of a circle? Damned if I know. Multiplication tables? I only remember up to 10 x 10–I’m not sure I ever got beyond that. Calculations to get remainders??? Exponents? Hahahahahah!!! One would never know that, once upon a time, math in any form was my best subject.

The other major negative—we’ve started “working together” on solving problems. I have a sordid confession…I’m an INFJ on the Myers-Briggs scale, with the “I” being practically off the chart. They used to put on my first grade report card, “Doesn’t play well with others.” Don’t get me wrong…now that I’m an adult, I do understand the reality that no one exists in a bubble, and we all need each other (you can start singing “Kumbaya” any time now), and that one does need to work with people, no matter what one does do for a living. However, working with others has always been a challenge for me, even under the best of conditions. Throw in attempting to understand a new programming language and desperately trying to recall PEMDAS and square roots, and you have the recipe for disaster. My group and I did muddle through, despite my constant interjections of, “but this is the way you’re SUPPOSED to do it!” (that pesky “J” part of INFJ)…and then finding out that NO…I was quite wrong in certain instances.

I know from past experience in working on teams, that the beginning is going to be ugly; but I’ll eventually adapt, once I get used to working with my group members.

This is going to be a long week…and I have a feeling I’m going to be learning much more than just JavaScript.

Day 10: Passed the 2-Week Hurdle!!!

We aren’t supposed to discuss our grades (well, at least not with the class), but suffice it to say I was INSANELY pleased with mine–It was in the higher category. Overall, I’d say we all did great. We did a demo, where we showed off our websites–everyone had great sites! I had a good giggle because two people did sites devoted to Disney World. We have a very good friend who, in turn, has crazed family members who are GAGA over anything Disney, to the point where their entire house is decorated with Mickey, Minnie, Goofy, etc. If my classmates go live with their pages, I’m sending the links for my friend to send to his family.

The rest of the day was devoted to self-study in preparation for next week, punctuated by a meeting with our instructor and our manager for the program. They informed each of us, individually, that we were good to move forward with the rest of the training, and asked if we were in.

Am I in??? Let me see…

Door #1: Meetings featuring tall, towering arguments over whether or not the sentence should have one or two “twos” in it, or is it “to” or “too” or should we just pick a code, or…

Door #2: Creating, coding, and engaging in the most fun I’ve had in a very long time?

Really…there is no choice.

Honestly, there hasn’t been a choice since I did that first web development challenge for the program. I created some basic HTML and CSS code, fired up the resultant page and–VOILA! I’d created a real page!!! I mean, how can you top that? Honestly, I have to keep going, if for no other reason than I need to get my new website outfitted with JavaScript and anything needed to make it a real, functioning site.

I’m looking forward to the next chapter…

Day 9: First Project Done!

After much sturm und drang, I FINALLY competed my first website assignment! Of course, there’s no data or JavaScript behind the site yet (except for the small amount I did for the “optional” login code), but it’s looking good so far! It took me ages to hunt down and correct all my capitalization errors. I had the presence of mind to check my page on my cell phone, which is how I discovered I STILL had one more picture that wasn’t rendering on the “About Page” due to the jpg file name having ONE capital letter. One damned capital letter…I mean, really, how could I foul up this one???

I finally have a breather for now. We have some work to do to prepare for our upcoming JavaScript training which starts on Monday, but nothing like the insanity of the past two weeks—drinking from a spewing fire hydrant would have been easier. To prepare for Monday, we need to review the w3schools.com JavaScript section, and we have some Pluralsight videos to go through. I really hate to admit it, but the Pluralsight videos do nothing for me. I know they’re supposed to be an easy way to disseminate information to us as a warm-up for training, but I find I get more from the w3schools site. I tried watching the videos in class this afternoon and almost went to sleep—in fact, I’m pretty sure I did black out at one point.

At first I thought it was my age, and the fact that I prefer a live person vs. Memorex instructing me (only people of a certain age will get this), but then I had to remember that I have NO issue watching hours upon hours worth of YouTube footage featuring how-to clips for the Kitchener stitch, continental knitting, short rows, tunisian crocheting, or (God help me) spinning. My one pathetic attempt at a spinning class really needs to be an upcoming blog entry. It’s the one fiber-related craft at which I’m a abject, dismal failure.

But I digress…must go get my beauty sleep before class tomorrow. Perhaps I should watch a JavaScript training video to help me nod off…

Day 8: I think I can…I think I can…

We have one more day to be done with our first project—Thursday at 5:00 p.m. to be exact. Yesterday was a black day where I found myself seriously contemplating whether or not, at 55 years of age, I’m still capable of pulling all-nighters. However, after much wailing and gnashing of teeth, I’m happy to report that I’m almost done! I was hysterical over the “user interaction” page, but today I went through my Ravelry project folder, and all 2,555 photos on my phone, and managed to cough up six projects I actually created myself. I debated including something I like to call the “Scarf from Hell,” (there IS a story behind this), but I doubt anyone would pay me money for THAT pattern.

I can’t decide whether or not I should try using the optional JavaScript for the login screen that our instructor showed us. It would be impressive (and I’m wondering how “optional” this is), but I’m thinking it could also hose my site. I’ve spent hours upon hours shrinking and blowing up pictures to accommodate media queries, and scouring code for errors. It never fails to baffle me how code that seems to work just fine in the browser validates with 20 tag errors (including tags that are backward). I did figure out my error in deploying to the GitHub .io file…that old filename capitalization bugaboo bit me in the *** again! Something else I’ll need to fix tomorrow…

After all this, I’d just as soon not foul this all up with JavaScript I didn’t write…but I may change my mind tomorrow.