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… 👢🥾👢

One week out

…I have seven days to get my **** together.

This evening, I’ve been watching TV while furtively going over JavaScript, and other pre-work I’m going to need to review before class begins next week. HTML and CSS were fairly easy for me to grasp, although I do confess that I bookmarked RGB Colorcode, as honestly if you held a loaded gun to my head I couldn’t tell you which codes constitute which colors.

The thing that’s so confusing to me about JavaScript is the fact that the equations are different from what one would expect. I ask you:

x == y, rather than x = y

Heh???

I do understand the explanation about why this is so (one is populating a variable), but after a whole lifetime of understanding x = y, it’s this sort of thing that’s making my head explode–and this is only one arithmetic equation that’s just plan WEIRD. If you don’t code and I tell you about the rest of the oddball arithmetic, you’ll run screaming into the night, so I’ll spare you…

Thank heavens for W3 Schools! If you don’t know about this site, it’s THE go-to site for learning all things coding. They have an awesome reference section, and a few ways to test your knowledge. The pre-work our instructors assigned consisted of several Pluralsight courses cobbled together. I’ve been using W3 Schools to supplement my learning. When I mentioned this in my interview for the program, they were impressed that I’d sought out additional resources. I didn’t have the heart to tell them that it was dumb luck and Bing, coupled with desperation, that led me to W3 Schools. I also found a cool app called SoloLearn which has also helped out greatly. One of best ways I learn is to quiz myself over and over again, and these two tools allow me to do that.

Now, if I can only figure out a way to fit in more review time before next week. There are, shall we say, DISTRACTIONS…

KT-ing to the new guy, or…do I REALLY know this little?

…and if so, why do I have so much documentation???

In preparation for my great move to Code Academy on July 8 I am in the process of doing KT with the BA who will be taking my place. I always assume people know what I mean by acronyms–KT stands for “knowledge transfer.” I have four days to impart my great wisdom (stop laughing) to my heir-apparent before the 4th of July weekend.

When my boss and I found out that I’d been accepted into Code Academy, after congratulating me on a job well-done, he informed me that he’d already found a replacement business analyst. I can’t decide if I’m relieved or insulted that I was this easy to replace.

In time-honored corporate tradition, the new BA is going to be doing his work and mine. We are in the wonderful world of Agile/Scrum now, so BAs don’t have as much to do as they used to. I know…BLASPHEMY! I’m probably breaking some sacred BA code by even mentioning it, but honestly our product owners now do a lot of the heavy lifting in getting our requirements. From what I’ve heard from BAs in other organizations, their BAs ARE the product owners–it’s not a separate role at all. Couple that with the fact that our product owner is a NINJA businessperson who also is very familiar with many systems…this is one of the reasons I decided that now would be a good time to pursue development work again. It’s only a matter of time before someone upstairs figures out that our BA roles can be just as easily performed by product owners trained to also document (remember: Agile…there isn’t as much anymore) and understand how the systems and the data flow. As it is, our product owner is also adept at designing test scenarios and use cases. Honestly, what’s left? When I first began being a business analyst back in 2008, we were still doing QA testing. This, of course, is now done offshore.

Despite all this, I still have quite a bit to impart to the new guy. He has some understanding of our system, but I’m filling in the blanks for him. I’m not too worried about him being lost because…well, see above. Our product owner, who used to work on the system as an adjustor ages ago, probably knows more than the developers.

And, in answer to the inevitable question…no, I have no desire to segue into product owner work. I really feel that this is all happening for a reason. Ever since my mainframe system work was shipped offshore back in 2008, I’ve missed developing. I’m excited about coding again!