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 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.

Day 7: It’s a surprise…

I even remember this.

I’m a tad TIRED. I did manage to get some of the user interaction page done, although I have no clue how I’m going to add the dropdowns for the quantity and pdf/printout choice. Actually, I do have a clue, as I scoured through Bootstrap documentation until I found something relevant–I just now have to figure out how to incorporate and size these in my chart of patterns.

I beat my head against a wall (and so did our instructor) trying to determine how to get images to show up on a page. Come to find out, my idea of adding three of them to the HTML in different sizes, and then using CSS to pick the right size per media query wasn’t quite right. I had to do a div container with an id in HTML, and then add the correct-size pictures to the media queries in CSS, using url(“…/img/example.jpg”) for each size. I wish I could say it was easy, but for the life of us, we could NOT get images on the page. My instructor figured it out…I was using url(“img/example.jpg”)! He’d used the same thing, but he’d had the <style> section in his HTML example to illustrate, so img/ vs. …/img worked for him. I had to change ALL my pages. This set me back quite a bit, along with needing to change the pages for the correct code for submit/reset buttons AND fixing my CSS, which mysteriously had an epic FAIL after all my changes and fixes…AHHH!!!

This entire day has been the Whac-a-Mole game.

I have only two more days to finish. No pressure…

Day 6: The Big Project

…so far, so good.

I managed to spend some time this weekend on our first class project–so far have three pages of the website completed! It’s looking pretty good, except I’m wondering if I should be resizing the images for media queries by width and height in the HTML or try to resize them in my external CSS sheet. Initially, I did it by swapping out pictures for the same pictures in a smaller size, and then adding code in CSS to display the pictures, depending on the media query; however, it’s looking a bit sloppy, code-wise.

I’m DREADING the “user-interaction” page. That’s going to be my patterns-for-purchase page (all two of them). I have NO CLUE how I’m going to create that page. There is a Bootstrap template for a price page and an order page, so I’m hoping I can make use of those and modify them. I’m also supposed to be thinking up an extra-credit page…AAAHH!!!

Day 4: Pull yourself up by your bootstraps…

Okay, I’m probably going to court controversy and hate mail, but I’m just going to say it: I can’t STAND Bootstrap.

We just spent the last few labs relieving existing code of “div-itis” by replacing the div elements with more meaningful HTML5 elements, as well as fixing other errors. It’s been interesting figuring out how to do this. But NOW…we’re expected to use Bootstrap for our CSS styling. As far as I can make out, this tosses our past efforts out the window, as it seems that Bootstrap uses NOTHING but div elements.

I know. There are all sorts of interesting examples and templates to toss together a site quickly. There are carousels, input forms, and even Jumbotrons. However, I don’t like that Bootstrap is essentially a black box. There’s no way of knowing how these different things work, unless you want to delve into the giant Bootstrap file itself.

Also, I just can’t stand the dreary colors. I know…one can add another stylesheet to tweak the colors and settings, but that’s almost harder than creating the CSS code from scratch! I just spent two hours trying to figure out how to manipulate a form that Bootstrap has solidly set to the point of not being able to budge it. I can’t even get the damn input boxes to be inline with the descriptions!

Okay, time to go breathe into a paper bag…tomorrow is another day… 👢🥾👢

Day 2, or…”Git” in’ the hang of things!

I know…the Git puns just write themselves! Even our instructor has dropped a few: “Well, let’s ‘git’ on with this!”

In all seriousness, we all now “git” Git! (Sorry…couldn’t resist another one.) We created a repository, went back and forth between the CMD prompt, GitHub, and Visual Studio Code at a dizzying pace. I took feverish notes, trying to keep track of it all. For our training, I’ve decided to go old-school and just write out all my notes. Every time I try to type notes, I find I don’t mentally retain anything. This has been working out much better.

We all ultimately prevailed and managed to not only create masters and branches in GitHub, we also used Ampps to create localhost copies of our web pages and code. For my HTML & CSS exercise for Git, I (natch) came up with a knitting theme: “Knitting is the New Yoga–NOT”.

I even managed to repair the repository that I’d managed to mangle in the Pre-Work! So exciting…

I can’t wait until tomorrow to do more!