Day 45: Who moves my cheese (redux)?

We’ve embarked on Node.js AND new seating (again). I have to say, I am grateful to be sitting on the end of the row, seeing as I’m practically CRIPPLED today. Over the weekend, in addition to frollicking at the beach, I did several hours worth of gardening. I compounded this by doing more gardening this morning before getting ready for class. May we pause here to say it was a good thing I knocked off this morning when I did, as THIS is what appeared on our motion detector while I was getting ready:

I suspect someone in the neighborhood is either leaving food and/or trash out…

Due to all this activity (gardening, not the bear), I’ve been massively stiff all day. I took my customary stroll at lunch to visit the birds, but it was more of a slow shuffle. Right now, I can’t even KNIT due to my wrist being strained from plucking up weeds for hours (the HORROR). I’m hoping that more Aleve and a good night’s sleep will help me out.

Anyway, we started off today in earnest with Node.js. We are working our way up to creating servers. Right now, we’re looking at examples and copying server code to study it. We also took our capstone projects, copied them to a new repository, and changed the html pages to phps. We also grouped code that was the same on all the pages into “include” phps. It was a fun exercise. I, of course, found a few things I really want to change about my capstone project for formatting, but didn’t really have time, other than to correct the crooked buttons. If we’re going to keep on with this, I do want to eventually correct the cards in the pattern section so that they format a bit better with media queries.

That is, if I can MOVE tomorrow…

Day 44: Partying on down!

Friday was a festive day! Again! Our management provided a lunch spread in celebration for passing our assessments and finishing our capstone projects. Everything was delicious, and one of our managers even baked brownies which were to DIE for.

On a sad note, our wonderful JavaScript instructor will be moving onto her next gig. After spending seven weeks with a fun, inspirational Fort Worth native, I completely understand why our friend Rob ended up moving back home to Corpus Christi after his retirement—those Texans are a wild and crazy bunch! Don’t get me wrong, our other instructor is great, but he doesn’t know any cow jokes and he doesn’t brandish a pool noodle when we forget to validate!

I know Dana reads this blog, so thank you so much for everything! We all learned so much and you made difficult material much easier to understand. I wish you luck on your continuing adventures in enlightening more students. Thank you, again!

…and if our manager is reading this, I was the one who snuck off with the rest of the brownies…If you were inclined to share it, I’d sincerely LOVE the recipe!

Day 43: Show and Tell!

It was a festive day! We all demo-ed our capstone projects for each other. As usual, other people’s UIs were awesome, although people kept saying they liked mine. I just think these people have never seen a properly-knitted or crocheted afghan before, but I’ll take whatever complements I can get. NEVER underestimate the power of using your pets to shamelessly shill anything on your website…this tiny lad could sell ice to an Inuit…

I did love the variety of what people came up with for their sites. No lie—one guy did the ENTIRE thing as a single-page application (SPA)! It was wild. Another person did dragon boat races that looked like so much fun that I think she’s just talked me into joining our company’s contest for next year.

Our next stop on the Bootcamp Express is going to be Node.js (no pun intended). Right now we’re reading up on this on https://www.w3schools.com/nodejs/default.asp and doing some demos. Monday we’ll be starting in earnest. There is a rumor that we may have some sort of lunch catered in for us for Friday.

Day 42: It was an ugly business…

…but clean living prevailed!

Yes, I’m quoting Dudley Do-Right. For you young people out there googling “Dudley Do-Right”—no, I have no clue why Snidely Whiplash tied women to train tracks, and yes, we can safely assume this was “pre” Me-Too…

Today was indeed an ugly business. I went from:

  • “I’m just going to do some testing and validating, and checking to make sure I don’t have references to a previous project site in the code”

to:

  • “Oh, My Freakin’ GOD!!!”

I validated what I thought was my most straightforward, stable page only to have all sorts of bells and whistles go off over on https://validator.w3.org/nu/. Then I remembered…in order to make my team details page less “tabular-like” I had grouped some fields together for a nicer-looking interface. Fun fact: if you indeed have a “table” layout, HTML takes a dim view of grouping two <id> elements for two different data elements together in one <td> cell. It gives the expression “strange bedfellows” a whole new meaning. Indeed, I actually had a ménage à trois going on in one cell…

So, with hours to go until the 3:00 deadline, I embarked on changing the layout from a table to a Bootstrap grid. As this was all dynamically produced in JavaScript I had to figure out how to do this for my new format. I remembered what our other instructor said about “scraping out the HTML,” so that’s exactly what I did. I STILL had some validation issues (two fields are apparently frowned upon in more than just table cells), but our long-suffering instructor helped me out with this (can you say <span>?). I ended up with a similar, pleasing interface, but without all the ugliness under the hood. I even dynamically reformatted the ménage à trois into an unordered list in the Bootstrap grid!

I swear to God, when this thing FINALLY validated around 2:30, I got up and cheered. I may have even done a happy dance—it’s all a blur. After the rest of my checks, I was done with about 15 minutes to spare. I was by no means alone…many of us had the **** fairy rain down upon us today.

THEN, we had to take the final JavaScript assessment. After all the Sturm und Drang over studying for this…

drumroll…

drumroll…

96!!!! 96, baby! I got a 96 on the final assessment! I couldn’t believe it!

I still got it.

Day 41: Swimming in Quizzing…

More work on the capstone project today. I think I’m just about done. I do seem to have some instances where I have member and team ids in the interface that I need to take care of.

The good news is that I got a “patterns” page up and running! Granted, the knitting and crocheting patterns are for really simple squares that my cat Jack could probably pull off if he had opposable thumbs, but that’s neither here nor there. I put the patterns in Bootstrap cards, as that seems to be the best way to keep a nice-looking format for the patterns if you look at them on a smaller screen. Tomorrow I’m going to double and triple-check the validation and all the other miscellaneous things we have to make sure aren’t wrong. I’m also going to beat the crap out of the entire app, checking the console, to make sure nothing is broken. As it was, I had to go back in today and fix a validation that wasn’t working.

I’m much more nervous about the assessment, which we’re taking tomorrow afternoon. I’ve been going over past assessments and my notes, and I swear everything is running together at this point. I’m trying to quiz myself, but there’s a lot here I need to go over. I might be better off getting a good night’s sleep and start looking at this stuff fresh tomorrow morning.

Perhaps I could get Jack to take the test for me. He does enjoy being helpful, as you can see…

Day 40: Frenemies…

More work on the capstone project today. I’ve just about got everything done except for all the validations. I got burned by my old friend “Is it a value? Is is a number? Is it a string???” (I really need to work this out before the final assessment…) I also was paid a visit by my best friend “Scope”. This is not the same thing as a waterfall project “scope-creep,” but rather the “I have no bloody idea where to put the damned variable” scope. Oh, I also met up with my new bestie “we need to use the CORRECT API” as opposed to the one that returns the entire damned data file.

With friends like these, One really doesn’t need enemies…

On a more cheerful note, I came home a restful evening with a woolier scope…I’m happy to report I’m at the shoulders and hope to get the neck done this weekend.

Day 39: I think I can…I think I can…

The big project is coming along! I’ve managed to figure out most of the pages, except for the team edit page, which I should be able to finish tomorrow. I figured out the AJAX command to delete a member, which means I should be able to delete a team. I actually got functionality up and running where, when I create a new team, the server code grabs the new team data and stringifies it. In my page code, the data is then parsed to isolate the team ID. From there, I attach it to the URL to bring over to the team details page. This means you can create a new team, and then are immediately directed to your new team’s details page, where you can start adding members. I sent what I did to the rest of the class so that they could do this, too.

I then spent a good half hour in GitHub Hell, as I made the fatal mistake of switching branches (I was in the wrong one) without pushing what I had done first—which of course was what I just described above. Luckily, I had documented it all in my notes, so I was able to do everything over again. However, I somehow ended up with GitHub conflicts which I didn’t resolve correctly. The only way around it was to do a Git Pull—which, of course was going to hose EVERYTHING I’d just done with my team ID URLSearchParams. Thinking quickly, I copied my entire project to another directory on my C: drive, did the Git Pull, and then copied everything back into my project and pushed it again. This time, it FINALLY pushed to my repo successfully. PHEW!

Day 38: Testing Anxiety…

…or, whatever happened to the overly-confident nerd of 1982???

So far, I’m doing well with the capstone. I’ve managed to produce the first few pages for my site. I’m pondering possibly dynamically creating the team add page as a static html page, as I already am creating the team edit page dynamically. I found some nice pictures to use, and I managed to get the carousel working. I also managed to use ES6 for my dynamic dropdown on the index page, and it worked! There is a whole laundry list of things we have to do, check, and double-check. I’ve been validating code like mad to make sure there are no issues with that, at least.

I’m more concerned with the upcoming final assessment. Once upon a time, I was one of those nerdy kids who relished taking tests, and beating out the rival nerds in the class. Decades later, I find that I have a tougher time with tests than I used to. For some reason, I’ll know something, but when I’m faced with a timed test, I mentally choke up and can’t think of the answer—even doing the practice tests is making me nervous.

Ironically, getting the arrow function question wrong on the practice test was what prompted me to figure out how to use ES6 for my index page…go figure.

Day 37: Hip to be Square on a Carousel!

Our first task for our capstone, now that we’ve figured out some data, is to come up with storyboards for our site. We will pause here to say that, although I’m a whiz at geometric doodling, my general artistic skills leave MUCH to be desired. I managed to come up with basic illustrations for my supporting pages, but for my main page I just hauled off and created a preliminary index page using the Bootstrap Carousel template. I’m going to find my best knitting and crocheting pictures to put in the carousel, and I’m going to use the sections below to explain the site and square drive. I’ve never attempted the carousel before, so that’s going to be my “cool new feature,” I figure (bonus points), unless I can figure out something else.

If we had oodles of time, I’d attempt to do popups for different basic square patterns that someone could print out, but I don’t see me doing that by September 4, when the site is due.

Day 36: Making a List and Checking it Twice…

We are embarking on the big capstone project this week! I’ve finally decided on my theme. For my site, I’m going to have a fictitious charity knitting and crocheting drive to knit squares to make afghans for local organizations: a senior center, a homeless shelter, an animal shelter, and a daycare center. Those will be my four “leagues.” I will have two knitting and two crocheting teams per league, with five members on each team—although, come to think of it, I shouldn’t limit it to five if I want people to produce enough squares for an afghan in a timely manner. I’ll have to figure out certain logistics of my drive…for instance, who’s going to sew all the squares together??? Also, I’ll probably have to have certain guidelines, such as square size, type of yarn used, leaving tails to aid in sewing the squares together, etc. I’ll also have to determine who is able to access my site to enter teams and members.

The entertaining part has been in coming up with the fake member names, phone numbers, and email addresses. As much as I’d love to make it easy and use my real knitting and crocheting friends’ information, that would be a terrible idea. I’m trying to use innocuous names like “Smith,” “Jones,” etc. Also, I’m trying to keep the phone numbers to “555” numbers. Honestly, I’m beginning to run out. I may have to start throwing in some weird names for entertainment.

I’ve already got some funny team names. So far, I have:

  • Knitting Chicks with Sticks
  • Crocheting Happy Hookers
  • Knitting Fools
  • Crocheting Yarns

I may need to rethink one or two of these, as Chicks with Sticks and The Happy Hooker are indeed knitting and crocheting books, respectively. Also, Knitting Fool is a web app sweater pattern generator. I know this is a fictitious class site, but I’d just as soon not be SUED.

I’ve also been scouring my pictures to come up with some good illustrations for the site. For once, I don’t think I’m going to be at a loss for photo material!