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!

Day 35: Stretching the Limits…

So much for needless worry! Our Friday project was a retread of the code we tore our collective hair follicles out over the day before. The only real thing that changed was the data (spa services rather than products). Also, as it was a single page application, I didn’t need to hunt down 560 photos. I just needed one for the cover page. Our instructor wanted us all to have a stress-free weekend before the capstone work begins in earnest next week.

Speaking of which, I WILL need pictures for that project, so I’m going to need to start hunting for nice-looking knitting and crocheting examples for my fictitious square contest. We have a copy of the data file setup to which we can add our own data. The only issue I see is that we’re supposed to have LEAGUES, in addition to teams. I’m not quite sure how to work that into a knitting and crocheting square contest, unless I divide the teams into two leagues—knitters and crocheters (I can hear the screaming now).

In the meantime I did a wild & crazy thing. At the beach today (Saturday) I managed to swim all the way to the buoy — twice! In an indirect way I credit it to the Code Academy program. Mentally, I’m stretching myself on a daily basis in ways I never thought possible. In turn, it’s prompted me to challenge myself in other areas of my life.

I’m going to be massively sore tomorrow, but it was SO worth it…

Day 34: A SPA Day!

Tomorrow is another Friday project. I’m not too worried about the JavaScript, although the arrow functions are odd, and I’m still fuzzy on those back tick expressions. I’m more concerned about making a halfway decent site that looks good. We’re going to be doing a single page application and the theme is going to be some sort of spa. I found a few nice photos to use, but honestly, if we have to cough up several pictures to fill bootstrap cards for each and every one of the different spa services, then I’m going to run screaming into the night. I could be truly crazy and make interesting cards using the font awesome icons, but that would probably be weird.

The thing is, I’m not really what one would call a frequenter of spas, let alone day spas. Years ago, when we sent our dachshund to the pet groomer, we told her she was having a “spa day.” She’d return with a tiny bandana and smelling of shampoo—right up until the point where we let her outside—but that’s about as close as any of us have come to an all-day beauty treatment lately. I tried to get some inspiration for photos at my hairdresser’s this evening while, as I always put it, getting my hair restored to its “natural” color. My hairdresser is truly a miracle-worker (there are members of my own family who have no idea how old I am), but her decor is simple and elegant—no bubbling fountains, burning candles, ferns, odd fruity smells, or anything else one might associate with women spending an entire day bonding over pedicures and massages with someone presumably named “Sven.”

I’ll have to see if I can cough up some more interesting pictures before tomorrow.

Fun fact: Font Awesome DOES have a tiny little hot tub!

<i class=”fas fa-hot-tub”></i>

Day 33: Pondering Capstone Project Scenarios

I’m happy to report I’ve managed to at last get my “Friday” project to a good place, where I’m not tempted to hide it under a rock in shame. Everything is correctly functioning, and I even managed to make the UI look nice. One of my classmates helped me out with using Font Awesome icons to make my edit, view, and unregister links look sharp. Another helped me a few days ago with the “Select One” option for the dropdown, so that looks good.

I’m still pondering what to do for the capstone and the “team” concept. I had an insane idea of making my fictitious crafting teams compete to see who could knit and/or crochet the most squares for Warm Up America, with the winners getting a $100 gift certificate to Webs. However, if this were a real online contest, I can see a few pitfalls:

1. For one thing, I’d need to limit the number of team members, so that I wouldn’t end up with 100 people on the winning team getting $100 apiece (“Um, Sweetums, about that retirement fund…). I could perhaps have the winners as a group getting a $500 gift certificate—though I can just see the ensuing cat fight in the yarn store now. I know, I know…before I start getting hate mail, I’m fully aware that there are male knitters and crocheters! Perhaps I could limit the groups to five people, with the winners each getting $100 apiece.

2. Another issue—how does anyone PROVE how many squares they really produced? The only way to really prove it would be if the teams sent the squares to me, which would be its own logistical nightmare—I’d have to mail all the squares to Warm Up America MYSELF ($$$). Also, people in the home environment probably wouldn’t take too kindly to an entire room being filled to the rafters with tiny 7” x 9” squares (yes, I’m aware this would technically make them rectangles). Perhaps I could have people post a picture of themselves with all their squares before they mail them to Warm Up America. Surely no one could fake piles of squares. I mean, even I—the ultimate crazy yarn woman—don’t have 100 squares lying around to pile up and fake for a picture…However, one can never underestimate the sheer prowess of the truly delusional among us.

I do have time to suss this out before next week.

(I’m sorry Randy and Gary! I know you’d never stage a cat fight in a yarn store! However, I can see one of you convincing the other team members that Webs was no longer in existence… 😈)