Day 47: Me and My Big Mouth!

Looks like someone’s been reading this blog at the crack of dawn…

No sooner did I post yesterday’s entry, than our instructor gleefully announced that we were going to take the examples we’d been looking at and WRITE AN ACTUAL NODE SERVER! Before 10:00 am!

Despite the grumbling and complaining, I have to say, it was a good exercise that made everything we’d reviewed previously much easier to understand. In fact, it was SO successful that he had us DO ANOTHER ONE this afternoon using Node express. Fun times.

In other news, we all found out today where we’re going after we graduate from the program. As expected, I’m going back to my old department as a developer. The exciting thing is that I’m getting one of our department’s developers as my mentor! He’s someone I admire who really knows his stuff, so this should work out well.

I actually managed to get home in time to put in some time knitting. I’m currently working in a baby sweater for my great-niece Maddie’s upcoming baby shower.

I know…what kind of sicko knits a baby sweater in BLACK? (WildKnitter has finally lost it.) It makes more sense when you see a picture of the final product:

Not exactly girly-girl, but what the hell…knowing my crazy family, they’ll have her climbing trees and trying out for sports by the age of 5, so why not give her a tomboy-ish hoodie?

Day 46: Copying Off Tim’s Homework

We did more work today with Node.js. A lot of this consisted of going over various servers and in one instance, copying over one repository and making changes to add a field. This was a bit tougher than it sounds as we had to change a server, a module, scripts, html, and, in my case, the css style sheet to make the added line bold. In time honored tradition, my final run tanked until someone pointed out that I had named the field by one ID name in the html, and by quite another in the scripts. Once that was rectified, everything ran fine.

Our instructor pointed out that this was all closer to reality, where one is often called upon to modify existing code rather than creating brand new jobs.

This does remind me of a time, years ago, when I was a BA on a small project on the only agile team I’ve ever been on that operated in an actual agile manner. That being neither here nor there—we had two absolutely kickass developers on our team. They could figure out how to do just about everything we threw at them. In fact, they are part of the reason I wanted to become a developer again—I always admired their talent. I do remember that even THEY would do a certain amount of duplication/alteration—they referred to it as copying off each other’s homework.

I still sort of feel like we’re really getting off easy this week.

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 26: For the love of God, PROOFREAD!!!

This has been entire day of Pam needs to learn to read…

Today we had a day of learning Ajax calls and event handlers. I also had a weird day of things not working due to:

1. typos (“it’s readyState, NOT readState”) I was desperately searching for half an hour for this issue, until my desk neighbor happened to glance at my code.

2. ghastly errors in reading a file, until the instructor pointed out that I was attempting to read an array file that was in fact NOT an array file. I’d copied the wrong url link! AND…

3. My personal favorite—the misplaced semicolon. It took coming home, eating dinner, then going back to the code to see that I hadn’t ended the onreadystatechange correctly. Once I moved the semicolon, my job ran without a hitch.

As much as these brain-farts are always hysterical, it makes me nuts to miss things so easily avoided. I suppose it does beat completely missing the entire concept of how to write the function!

Day 24: I know it backwards and forwards…

…or, in this case, downwards and sideways (sort of)…

After staying up quite late with my table issue last night, it turned out that I was not dynamically adding rows to the table, but the div itself, which is why the rows were showing up after the table element, and why I couldn’t get rid the the rows afterwards without wiping everything out of the div. I was off by ONE line of code. It’s always the way!

Despite my 5 hours of sleep, everything was just ducky. In fact, thanks to figuring that issue out, I was able to easily tackle our afternoon assignment. We had to take a JSON file, convert it, then use a dropdown to have the user select out an object to create a table dynamically from the file with the information on this object. I was so excited when I managed to spit out a very nice table listing field headings all the way across. I even used Bootstrap to make the table look attractive. There was only one problem…

Pam needs to learn to read.

The table was supposed to read SIDEWAYS!

The headings were to be in the left hand column and the information in the next column. Logically, this makes perfect sense, as we were only calling up one record row of information per object. I wasn’t the only one to make this mistake. Our instructor kept telling us the issue was “simple to figure out” and “much easier” than what we had been doing. However, after your brain has been hard-wired to making a table a certain way ALL AFTERNOON it’s tough to completely turn around to figure out how to literally “turn around” the table. I couldn’t do it. I was going to stay later to figure it out, but I really need my sleep this evening. I figure I can tackle it in the morning before we get started on our usual Friday project.

You watch…sideways tables will be the main project feature tomorrow!

Where’s the Advil???

Day 23: Dynamically creating things…

…Mostly a scene…

Today was a VERY long day. Thankfully, with a bit of help, I figured out my issue from yesterday. I was off by ONE lousy line of code.

Our next adventure was adding, creating, and manipulating things to the html (appendChild, etc.) I managed to figure out how to do all this, but I’m still fuzzy on how to get rid of a dynamically-created table, once it’s created. I know I can just put a blank string in the div that holds it, but that wipes out the table element within the div, which fixes it so you can’t repeat the selection process when you choose another category from the drop down. I carefully inspected the elements after the first table gets created, and it’s odd. The <tr> and <td> tags are created in the html AFTER the <table> <\table> grouping, so one can’t even erase out the table, as technically nothing is in there—even though a table is definitely created on the screen. The only way I see around this is to perhaps figure out a way to dynamically recreate the table element after the div is blanked out. Either that, or do a routine to specifically delete out the <tr> and <td> tags.

After 10:30 pm, I decided to call it a night and to tackle this again tomorrow. Right now, I have the lazy fix in there to just reload the page if you hit the “Start Over” button. I do need to figure out how to erase the rows correctly though, as the OTHER issue is that if you just keep selecting category options from the drop down, and don’t reset, the choices just get added over and over again to the page every time you select a category—they don’t get replaced with the new category’s table entries.

Knitting fair isle with five colors would be easier…

Day 22: Lost in the DOM…

Day 22: Lost in the DOM…

This was just one of those days. It began well enough…I was understanding everything, and the first exercises went well. Then the **** hit the fan. I do realize that a huge part of what we do concerns interacting with the browser and the DOM; but I swear, at times I really miss our beginning labs, when all we did was code and run in the Code Runner console. The worst dread on earth is when you try to run your code, NOTHING HAPPENS, and then you have to hit F12 in the browser. Whenever I see that dreadful flaming red type, flashing angry error messages across the console, I always want to scream at the top of my lungs, “Dear God, WHAT FRESH HELL IS THIS???” Then I remember that I’m old enough have parented the vast majority of my fellow students, and that it would probably be undignified to cry and throw things.

Today, I spent a good part of the afternoon with the bloody F12 console. We’re doing some god-awful routine where we have to take a substr of similar <img> ids (image1, image2, image3) to get the numbers on the ends (1, 2, 3). Then we have to concatenate the “para” part of the paragraph <p> ids (para1, para2, para3) to these like some nightmare from Frankenstein, and — I’m not making this up — take the alt attributes of the img tags and shove that alt text into the <p> html.

I think it was after the 12th time I tried to make this work that I decided I really needed to knit…

I know…all the ghastly code is going to be waiting for me in the morning. On the other hand, I got a mental health break, and my little intarsia sheep are really coming along!

Day 21: Who moved my cheese?

As if we didn’t have enough to do, class-wise, today we shuffled our seats. I think the idea is for us to work with different people. I was just getting used to working with the people I was working with, but of course they just HAD to do something about that…We all realize that once we get out to our new jobs that we’ll be working with different people from time to time. They didn’t need to drive that point home to us right now.

I’ve been fretting, as I’ve now lost my luxury seating in back. I should explain…The guy to my right dropped out of the program the first week, and the woman to my right decided she’d rather sit further up. After wondering if it’s perhaps my breath, I reveled in the fact that this left two empty seats–hence LOTS of room. I’m now in a seat by the door, with only one desk-space to fit all my stuff. I’m one of those people who brings everything except the kitchen sink with me to work, so to say this is an adjustment is an understatement. My monstrously huge work laptop is under the desk because I can’t fit it anywhere else. I have to use a plug in the corner of the room to charge anything, as my new location has NO free outlet plugs anywhere.

I know…get out the tiny violins.

I apologized to my new seat neighbor, in advance, for talking to myself. I’ve been reportedly talking to myself since I first started talking, and it just gets worse when I’m trying to figure stuff out–like coding, of course.

Fun fact: I checked, and you can STILL buy the book Who Moved My Cheese on Amazon. It’s even available on Audible, so that you can listen to it in the car on the way to work. You just know your management is plotting to move your cheese once again…