Work Day 35 (and 36): Snowed in!

I apologize for my long absence, but we’ve been innundated with what Channel 3 is calling STORM ABEL. I’ll leave it up to your imagination to visualize the crazy weather graphics and the general hysteria of the weather people who are essentially in their element this time of year. The only thing more existing for them is hurricane season or the occasional tornado we get once in a blue moon. Instead of blogging, I’ve been spending my non-work time shoveling snow and bringing in firewood. Okay, there may have been some knitting, too…

My user story is proving to be a bit trickier than I thought. Once again, the easiest part was the CODE. Figuring out where to put the code has been a bit more difficult. This is essentially an XML script that I’m going to need to put somewhere to be picked up. For this, I had to pick an id number for the role entry that appears NOWHERE else, in any environment—production or lower (thank heaven for SQL). To test, I had to upload the XML file into my local machine—Thankfully, my mentor helped me to figure out how to do this. I was skeptical about uploading some random file into the application, but it worked! The new role was created correctly in the application and I was able to assign it to a user. Now I have to figure out how to get it into GitHub for the next step in the process. According to my mentor, this is another one of those crazy instances where I’m going to have to just directly upload the file into the script repository under the release folder, albeit as a branch.

In non-programming news, I had a lovely Thanksgiving with my family. I also made my surreptitious trip to my local yarn store to get DPN size 10 needles to work on my sweater. Due to a shocking episode of naked peer pressure, I walked out of there with 11 skeins of Universal Yarn Uptown Worsted and the pattern book to make the “Sophie’s Universe” crocheted afghan. The owner of the LYS had a beautiful floor sample out and I just lost my mind…along with a complete stranger in the store and one of my best friends, who actually DROVE to the yarn store, just to see that I got the yarn and pattern book. I believe I mumbled something about perhaps making it for someone as a present, when my friend said, “NO! You need to KEEP this one!”

Oh, yes, I also managed to finish my sheep sweater!

Work Day 34: Happy Thanksgiving!

Very exciting…I have another user story! The other developer assures me that this is a fairly easy one, although he’s very experienced, so it remains to be seen what his idea of “easy” is. I’m basically supposed to create a role for our system. He’s going to go over where I need to make the change, etc. It sounds like I’ll be updating an XML file, so that shouldn’t be too difficult.

For my tech debt story, I finally figured out why I was seeing odd updates, along with mine in GitHub. It appears I was attempting to merge to the MASTER rather than to the release branch. Thanks to the wonders of Google, I figured out how to change this in the pull request. Now the “updates” are all mine.

My blog is going to be quiet for the next week or so. I’m taking the week of Thanksgiving off. I’m probably going to take some of the time to get caught up on my Udemy course, as I really find that’s been the best resource for learning Java. When our instructor went over the examples this week, it was easy for me to grasp them, as I’d already done a lot of work with the Udemy course and Tutorialspoint, which is another great site.

Most of all, I’m probably going to make a surreptitious trip to my local yarn store to get my DPN size 10 needles and work on my sweater. I’m going to wash and block the sheep sweater so that I can show it off to my relatives at Thanksgiving. I wish you all a Happy Thanksgiving!

Work Day 33: Git-in’ Trouble…again

I swear, the most difficult part about being a developer is not so much the coding, but all the other stuff. Today, I managed to merge the tech story changes correctly and iron out the discrepancies by doing a side-by-side comparison of the code as it is now vs. how it was back when my coworker did the original patch. I managed to put his code in the right areas. I then did a boatload of before and after testing to make sure it worked. Fun fact: our February branch has 50 errors when you run all the GUnit tests. Of course, some of this may be due to a lack of data for certain lines of business. Thankfully, none of these apply to my changes.

I managed to checkout the branch and push my changes to GitHub. However, THIS time, three weird updates that had NOTHING to do with my updates went along for the ride! I’m not sure WHERE these came from. They appear to be other people’s changes. I’m not sure if these were already part of the branch or what the story is. No pun intended…

On a more positive note, my new sweater is coming along. However, I may need to make a LYS run tomorrow or the next day. I’m almost done with the body and will need #10 DPNs for the sleeves.

Work Day 23: Holy Cow…It WORKS!

This morning, after peering at files, searching for fo:table-layout=“auto”, tracing through all our code to see how a PDF export is triggered, scouring for ANY reference to Apache FOP (fun fact: FOP stands for Formatting Objects Processor) errors, I did a Google search on the specific error again and hit upon a reference about the columns widths needing to be specified. I check the two grids and THAT WAS THE DIFFERENCE. The grid that worked for the PDF export had column widths specified. The other grid had some specified, but not all. Once I added column widths and wrapLabel=“true” the PDF generated!

Now I just have to figure out how to unit-test. I did one test for one type of business and everything worked out perfectly. I’m having a devil of a time trying to test other business types due to the test data on my local machine being LAME. No other business type appears to have fully-fleshed-out claims with reserves and payment transactions to test for my change. If I could figure out how to query the db files for my local machine, I could get a better idea of what data is actually available.

The Alum suggested perhaps creating a “patch” for my coding changes, and then trying to figure out how to connect to one of the lower environments, employing my patch. I was confused back at “patch,” never mind the rest of that sentence.

And don’t even MENTION that dreaded “GUnit” test…

On a non-coding note, I’ve begun casting on for my new sweater! I still have to wash and block the sheep sweater I’ve been working on all summer. It’s probably going to be next Spring before I finish the new sweater, but at least it will be a nice, easy project to do during my continuing coding education saga.

Work Day 19: A Class Act

On Friday, I did some more work with coderbyte. I figured out how to take each of the exercises and make some standalone Java classes. It gave me a bit more insight into how the syntax works. I tried to figure out how to take these same exercises and create them in Gosu, but that was one big goose egg. The Gosu Reference Guide is almost impossible to follow when it comes to looking up how to do a certain type of function/method. I do want to ultimately crack this, though, so that I can understand Gosu better. Unfortunately, Gosu is not a language where you can google your way to a solution. The entire thing is locked down tighter than Fort Knox.

I was going to watch the Pluralsight Spring Batch video, but I didn’t. I do still need to understand how that whole process works, if I’m going to be able to function on my team. We do have a lot of user stores that deal with integration.

On a more exciting note, my Saturday was spent at the New England Fiber Festival!

https://www.easternstatesexposition.com/events/2019/fiberfestival

We had a fantastic time! I confess there were yarn purchases. I bought eight skeins of stunningly beautiful yarn to make a sweater for myself. I picked a simple pattern that a) will look good on me, and b) will be a no-brainer to work on as I spend my upcoming months cracking code.

SW Merino – Bulky

%100 Superwash Merino

108 yds

Hand Dyed – “Brew”

www.yarnhygge.com

Work Day 15: Is anyone HERE???

Friday was very quiet at work. Everyone was either working from home or taking a day off. When I came back to work from Code Academy, I decided to not work from home for a while, as I wanted to be in the office to be able to consult with my coworkers and mentor in person if I needed help. Honestly, though, on a Friday, that’s completely useless. I’m tempted to go back to my old schedule.

I spent the day diving into Gosu, Pluralsight (fell asleep again) and Tutorialspoint. I swear, Tutorialspoint is the best find ever! They have exercises you can do. I figured out that some classes are repeats, so instead of blindly doing each exercise as a stand-alone, I’ve been combining exercises in the class referenced. It’s a bit harder, but it’s giving me more of an understanding of the process.

For Gosu, I managed to get rid of the multiple versions of Scratchpad, and use it successfully—I discovered that the Gosu Reference document, in its 400+ pages, has exercises you can do in the scratchpad. I also found another online Gosu reference: http://gosu-lang.github.io They also have an online scratchpad/“play” area where you can practice coding: http://gosu-lang.github.io/play.html

I have a ghastly busy weekend afoot, but I’m taking Monday off, so I’m planning to plow through more of the Udemy course. I’d try to do the Udemy course at work, but I have my home computer set up for it with a higher version of Java—I’d probably have to schlep the home laptop in, in addition to my huge new laptop. And then I’d need to go see a chiropractor…

Speaking of my unspeakably busy weekend, I got the baby sweater done! I just have to scan it for kitty fur and wrap it up for the shower today. I’d wash it, but it’s too late for that—I’m going to instruct the prospective mother to do so before she has her little tyke wear it. It came out nicely, if I do say so myself!

Work Day 13: I need to be cloned…

The good news is that I finally got the docking station. It’s an odd-looking little cube, like something out of Star Trek. The first one they brought up wasn’t the right kind. We (I’m using the royal we here…I had no clue) figured this out when I looked down and realized that my laptop was on battery power, and draining. The tech support guy came back up with the little cube, which is working like a charm. I’m still fiddling with where I want to put my two monitors and laptop. I’m aiming for that three-screen configuration, but I can’t decide if I want the open laptop in the center or to the side. I know…ludicrous first-world problems…

The bad news is that I’m still trying to fit everything into my now-bustling life.

I have TWO events over the weekend, one of which I’d love to jettison, but I’d feel guilty doing so. I’m still trying to get through my tutorials and my Udemy course (which, honestly, I’m getting much more out of than the tutorials, because they give you exercises to do). On top of everything else, I’m trying to finish the little sweater for my great-niece Maddie’s shower on Sunday. I’m on the final sleeve. It’s a baby sweater—you’d think I’d blow right through it, but the pattern is an 8-row repeat, so it’s slow going.

I’m still scratching my head over our instructor saying that he always has home coding projects going. I honestly have no idea where I’m ever going to find the time for a home project. I may have to skip that for now, seeing as a lot of my spare time is being sucked up trying to learn Java. I’m also still trying to look at our user stories to figure out how they were done and what jobs were used, so that I can possibly find some rhyme or reason to it all. My mentor confirmed today that there is NO documentation denoting which jobs go with which parts of the app. Also, there are hardly any comments in the code to give you any clue.

And don’t get me started on the README files…

Work Day 4: What I did on my summer vacation…

Let’s be honest. I had the BEST summer EVER. I spent three months tackling challenging problems, creating websites, coding in different languages—all while indulging my love of knitting and crocheting by using that as the topic for for three major class projects. Oh, and I got to defer dreary, boring crap in my everyday life I didn’t want to do anyway.

Now it was time to show someone the results…today was my big presentation for my boss, my mentor, and The Alum. Before anyone arrived for the meeting, I fired up my home laptop, got the two servers up and running on their ports, brought up my final project, got PostgreSQL going, etc. All was right with the world…until I tried to project my laptop onto the conference room big screen. I watched that lousy little dongle flash white over and over and over again. When everyone arrived, they informed me that a non-company device won’t work with the conference room multimedia equipment. That makes no sense to me—what if you have a guest presenter?

Despite the fact that I find this insane, the fact remained that my laptop was NOT playing nice with the big flatscreen. As luck would have it, my mentor had already downloaded my capstone project to his laptop. He also had my GitHub code. I was able to do the whole presentation from his machine. Everyone loved the site! I was able to intelligently answer questions about the application and the process. I also walked them through my code for the final project, too. Overall, it went very well!

Now, I just need a functioning work machine. Last I checked on the tech site, my laptop is 20.59% done. I’m really dying to know what comprises the .59%…

Day 59: Fried Brains Redux…

Today was a tad uglier than yesterday. Thankfully, I didn’t feel like such an idiot, as some of our issues were communal. Everyone was having issues with their Nav Bar changing back to a “logged out” status when one clicked onto another page link. The trick was, believe it or not, to NOT do that. We ended up putting in click events for the links rather than hrefs, so that the components switched out, rather than the entire page reloading every time (which was wiping out the user authentication).

Right now, I’m struggling with the edit user page. Whenever I have issues with a page, it’s usually with any type of PUT request. I know it’s not the server, as I’ve tested that ad nauseum with Postman. If this were JavaScript and not Angular/Typescript, I’d be done by now! Not that I’m resentful…One of the other idiot things I’m struggling with is how to hide or show a DIV. With jQuery, it would be a no-brainer. One might say…I’D BE DONE BY NOW!!!

As I’m completely fried this evening, I took a break and have been knitting. I’m so brain-dead that I’ve been constantly checking the pattern, as I’m afraid of doing the wrong thing…AND several rows into this, I discovered that I did do something wrong. I forgot to put in a buttonhole! Guess who’s going to need to learn how to make an Elizabeth Zimmermann “afterthought buttonhole”?

This will have to wait until I figure out make the damned edit user page edit a damned user…preferably the correct user…

Day 54: Reprieve…

I’m not sure what divine intervention occurred today, but our instructor pushed out the due date. Instead of having to have our entire server done by 5:00 Friday, he extended the deadline to Saturday at 5:00 p.m…THEN he left the room, came back in, and declared that he didn’t care when it was done, as long as it was done so that it would work with our final Angular project.

I spent most of the day working on router/controller/services again, but with our instructor’s help, I finally managed to understand how to apply it to my existing connections. Anything else wrong was idiotic typos or case-sensitive issues. My personal favorite catastrophe was the “looping” server. All of a sudden, my console started spewing out “get JSON 404 over and over and OVER again. I tried commenting out code and taking out scripts, thinking they were the culprit. Come to find out, it was due to having the Node server debugger still open.

As of Friday afternoon, I STILL wasn’t done. Even though the due date has been pushed out, I’m going to work on the rest this weekend, so that I’m ready for learning Angular on Monday. I need to clean up the code, make sure pages validate, add comments, copy over the Postman tests, and pull out any unnecessary console.log troubleshooting code.

ALSO, I was so proud of myself for finishing the edit user profile page, but at the end of the day I realized that I had completely forgot to enact the delete function. Oops…

If I have time, I may try to render more pages. We only have to go as far as the landing page, but my site makes no sense without at least having the crocheting and knitting patterns page, too!