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 64: When one door closes…

…we hope my ID badge still works in the revolving door back at the office.

It’s the last day of class. I’m feeling an immense sense of gratitude. I’m sad our three months of training are over, as I’m going to miss everyone. We are all going to meet weekly for additional follow-up training for a few months, but that’s going to be over Skype, so it’s not going to quite be the same. It’s also been nice to put a lot of everyday “busy-ness” on the back burner while I focused on classwork—I got to see what was really important. There are a few things in my life that I think I’m going to let go by the wayside, as they didn’t turn out to be as important as I once thought…not the knitting group, though! Never!

I want to thank everyone for making this possible (at this point, they’re all reading my blog). I wasn’t sure, in the beginning, if I could pull this off at an age where many of my friends are retiring. The last time I coded anything was over 10 years ago, and that was mainframe reporting. Now I’m able to create functional sites with HTML, CSS, JavaScript, Bootstrap, Node.js, Angular/TypeScript, MySQL, Handlebars, etc. Going forward, I’m going to learn Java. I couldn’t have done it without the Code Academy, our great instructors, and the managers that pulled it all together.

I’ve been asked if I’m going to keep up the blog. The answer to that is a resounding YES! Think about it…transitioning back to the department I left as a business analyst, and am now returning to as a developer–it’s material that’s just going to write itself.

I do hope my new laptop shows up soon…

Day 61: Showtime!

Today was the day our final projects were due. I managed to do my final GitHub push at a bit past 11:00 a.m. I had to add some SELECT/UPDATE/DELETE options on our SQL code we provided for alternatively loading data via MySQL (vs. PostgreSQL). Also, I had to beef up my README file a bit. Oddly enough, my README files are all the rage with my instructor and with my classmates…

We all did well with our presentations—everyone did a great job with their sites! Yours truly had some technical difficulties, due to not having used Skype in meetings for over three months now. For the life of me, I couldn’t get the damn “Presenting” bar to go away, so that I could switch browser tabs. It was the height of embarrassing, especially when one of my fellow students (who’s probably half my age) had to help me get rid of it. Other than that, demonstrating my site went well. If you’re reading, Mary S., I invoked you as a prospective knitter on my site, to walk through the functionality. I had you register for the site, log in, flake out, needing to change your email on the site, and then you decided to delete your account. I showed off my @ViewChild functionality code used to “Go to Top” without reloading an entire page—I’m probably too ludicrously proud of this, but it’s because I figured it out by researching for myself. I think that is our biggest takeaway from our entire training—learning how to tap every resource we can to figure out an issue.

I feel relieved the presentation is over, but disappointed. This is it for fun coding for the week. From here on in is the transition back to reality…