Updated the blog! Cue the code!

I know I haven’t been as prolific as usual lately…I blame our Agile team’s project. Normally, we deal with enhancements and fixes, which frankly I LOVE. I started out my mainframe programming life back in 1992 dealing with production and enhancements, so I’m quite comfortable “in that space” as they say in corporate-speak. However, our team has taken on a rather larger enhancement, which is frankly more of a project—they’re just not calling it that. Several agile teams and departments are involved in this. I know, in the long run, this will be good, as it involves a new integration with our system, so I’m getting to see how integrations are set up.

The bad part is that we are all working on our stories at the same time, so in the case of my current user story I’ve been having to code off to the side in a Notepad++ document, with the idea that I will be adding my function once the Util class is created. There is really no way to tell if what I’m writing will even WORK. I’m one of those people who needs those visual cues in the Guidewire Studio app (or Spring/Eclipse, if I’m coding in Java) to guide me. You know, “normal” print if everything is kosher and ANGRY RED if there’s an issue. I’m not used to coding blind. I’m sure, once I get more experience, I’ll find this easier, but right now it’s maddening. I’ve also been working on a GUnit test for this, which has been the seventh circle of hell. I think I’ve managed to find some existing GUnit tests that are close to what I’ll be needing, but AGAIN, I need to be able actually run this SOMEWHERE.

I’m also still working with the new guy. The latest thing is that I need to help him upload some Admin Scripts into GitHub for his user story…this is a clear-cut case of the blind leading the blind. I have a sneaking suspicion that my boss is suggesting I help him with all this different things as a way of getting me more familiar with different tasks. I’ve done exactly ONE of these previously, so this is going to be entertaining, to say the very least.

Thank heavens for long weekends…May you all have a wonderful Memorial Day weekend! I for one, plan to catch up on all my knitting and crocheting, which has been woefully neglected this week!

From Learning—to Showing—the Ropes!

So, another day, another WFH (working from home) adventure. Once upon a time, WFH was an exciting privilege, where you got to sip the tea that you leisurely made, ate oatmeal that DIDN’T come out of a microwave, and quietly did your work; meanwhile escaping all the chaos, gossip, and annoyance of the office. Now, it’s taken on a whole new meaning since EVERYONE is working from home, minus a few hundred at my company (“Can you hear me? You’re breaking up! I can’t see your screen. Is so-and-so joining the meeting? What was that again?”).

We have a new guy starting next week, and I’m going to have to help him get aclimated, which is going to be positively weird to do via remote control. Granted, the guy is in another state, so I would have had to work with him remotely anyway, but it’s the principle of the thing. Despite my grumbling, the exciting thing is that I’ve hit some sort of a new level in my development job. I’m actually being trusted to show a new developer the ropes! We sincerely hope I can remember how to get Guidewire Studio up and running for a brand-new person, not to mention Spring for our integration work (Java).

I’m also now being asked to do code reviews! I really didn’t think anyone would trust with that until at least my 1-year mark, but I’ve done quite a few now. It’s actually a good way to check someone else’s code and learn from it…as opposed to spending and entire DAY trying to figure out a defect found in QA (which is how I spent my entire day yesterday).

And, of course, I’ve been doing copious amounts of knitting and crocheting in our time of quarantine. I confess, the WIPs are hopelessly out of control. I’m working on:

An Annie’s Attic Crochet Striped Afghan Club project

A knitted mask, with an i-Cord from hell

A baby blanket ( you just KNOW someone is going to end this quarantine pregnant)

A Sophie’s Universe Crochet afghan (I’ll be working on this one until they put me 6-feet under)

A Mary Maxim Woodlands Striped crochet afghan

I know there’s another one, but I can’t remember it right now…

On that note, must get back to the old backlog, to see what my next adventure is!

For some lucky recipient!

HappyDanceHappyDanceHappyDance!!!!

I DID it!!! I finally figured out what I was doing wrong with the JUnit testing. There is a line of code at the beginning of the test for a field that says “contextData.” Initially, it appeared to be some sort of memo or reference. As I’d exhausted every other option this week, short of Voodoo chants, I checked the field again and…I was wrong! Far from being a “memo field,” the code is actually used to pull in the data elements that have been changed in the payload. So, in my instance, I needed to add Date of Birth, Loss Date, and Driver Age to this string, separated by pipes, so that these are be accounted for in the test.

As a result, I’m FINALLY returning data, and the correct data to boot! I need to write up more JUnit tests for different scenarios, but at least I now understand how these particular ones work.

I also participated in a fire drill today—okay, it was more like a full-on 5-alarm blaze. Our BA (you remember him—the poor bastard who inherited all my work when I went off to Code Academy last July) found out that one of the user stories for his other agile group tanked in regression-testing. The developer who worked on it is offshore and was one of the many who was off for Pongal. It was my boss’ idea to put me on this as a learning experience, with the other developers. We all checked different things to see why this wasn’t working. My task was to scour the past release’s code for anything to do with the logic that was broken, and then compare to see what was overlooked and/or changed by the user story code in this release.

THEN, it occurred to me…I asked our BA, “What exactly DID the error message say?” I searched our GitHub repository for the exact wording, and FOUND it! The odd error message came from one of the new Gosu rules (.gr file) the user story added. I did my best to figure out what on earth the code meant that led up to it throwing an error. The other developers had in the meantime found other odd things to do with the test environment, so hopefully between all of us the group can determine how to fix the issue.

I have to say it was very exciting to discover that I can in fact troubleshoot code I had nothing to do with writing, and understand it! This is pretty good, in that I’m hopeless at troubleshooting knitting and crocheting mistakes for people when I didn’t personally create the article.

Now back to the JUnits! I’m hoping for a peaceful Friday to complete them…

HappyDanceHappyDanceHappyDance!!!!

I DID it!!! I finally figured out what I was doing wrong with the JUnit testing. There is a line of code at the beginning of the test for a field that says “contextData.” Initially, it appeared to be some sort of memo or reference. As I’d exhausted every other option this week, short of Voodoo chants, I checked the field again and…I was wrong! Far from being a “memo field,” the code is actually used to pull in the data elements that have been changed in the payload. So, in my instance, I needed to add Date of Birth, Loss Date, and Driver Age to this string, separated by pipes, so that these are be accounted for in the test.

As a result, I’m FINALLY returning data, and the correct data to boot! I need to write up more JUnit tests for different scenarios, but at least I now understand how these particular ones work.

I also participated in a fire drill today—okay, it was more like a full-on 5-alarm blaze. Our BA (you remember him—the poor bastard who inherited all my work when I went off to Code Academy last July) found out that one of the user stories for his other agile group tanked in regression-testing. The developer who worked on it is offshore and was one of the many who was off for Pongal. It was my boss’ idea to put me on this as a learning experience, with the other developers. We all checked different things to see why this wasn’t working. My task was to scour the past release’s code for anything to do with the logic that was broken, and then compare to see what was overlooked and/or changed by the user story code in this release.

THEN, it occurred to me…I asked our BA, “What exactly DID the error message say?” I searched our GitHub repository for the exact wording, and FOUND it! The odd error message came from one of the new Gosu rules (.gr file) the user story added. I did my best to figure out what on earth the code meant that led up to it throwing an error. The other developers had in the meantime found other odd things to do with the test environment, so hopefully between all of us the group can determine how to fix the issue.

I have to say it was very exciting to discover that I can in fact troubleshoot code I had nothing to do with writing, and understand it! This is pretty good, in that I’m hopeless at troubleshooting knitting and crocheting mistakes for people when I didn’t personally create the article.

Now back to the JUnits! I’m hoping for a peaceful Friday to complete them…

Work Day 50: Seeing light at the end of the tunnel…

…that we really hope isn’t the on-coming train!

I’m making slow, but steady progress on my JUnit issue…if you count “finally finding the right people to consult” as progress. My poor, long-suffering mentor is inundated with work for the upcoming release, so he’s tossed the ball back into my team’s court (you know it’s bad when I’m resorting to sports analogies). One of my team members figured out part of my issue. I definitely had no access to get a Nexus Repo Key for that Maven step for setting up Spring Batch. The good news is that I put in a tech support request, and I got access to get one—miraculously in one day! At that point, I was totally fried, so I’m going to attempt to do this tomorrow.

This brings me to the bad news. The other person on my team who’s helping me…he’s in India. Yours Truly is going to get into work at the crack of dawn tomorrow morning to be ready to talk to him at 8:00 am. As much as I’m very grateful to him, this is going to cut into my morning yarn time! In addition to my sock-knitting, I’m also crocheting the Sophie’s Universe Afghan, which requires early morning quiet time, in order for me to concentrate. It’s one of those maddening patterns where, even though I’ve had oodles of years in crocheting experience, I’m still frogging back practically every row, due to being hopelessly off in stitch count. I’m only a few rows in, so far!

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 24: I think I can…I think I can…

Well, Friday I managed to complete what I can for unit testing with the local machine data I have. The good news is that I had data for two lines of business that are very different, so it was a good test. Now I just have to figure out if I need to do a GUnit test for this, too, and when I’ll need to have a code review done. I’m going to have to wait for the January branch to open up before I add my changes officially. I swear, trying to figure out all this procedural stuff is WAY more complicated than the actual change was! My mentor is going to be back Monday, so I can bend his ear then. I’ve been looking at the backlog again, and I think I’ve pinpointed another story that’s similar to this one that I might be able to pull off…

Also, our continuing ed sessions with our instructor begin in earnest on Wednesday. I’m going to have to go over the repo we’ll be using.

It’s a beautiful thing…I don’t dread Mondays anymore!

On a crafting note, in addition to the new sweater project, I’ve lost my mind and joined the Annie’s Attic “Striped Crochet Afghan Club.” You receive enough yarn and a pattern each month to crochet three stripes of an afghan. At the end of the year, you end up with the final product. I’m thinking this will make a nice present for someone. It’s not taking me terribly long to do these…I’m tempted to search my stash for some spare yarn, so that I can have two of these projects going simultaneously.

Of course, I might want to see how much homework I’ll be getting on Wednesday before I decide anything…

Work Day 9: We have laptop!!!

I’m happy to report that today I dropped off my large doorstop of a laptop and picked up…another heavy laptop. I didn’t put it together at the time, but as I’m now a developer, I’m not getting the cute little tiny laptop everyone else has. This is a large, industrial-strength machine. I take back everything I’ve ever said about waiting entirely too long to get a new laptop…this thing is SMOKIN’—definitely worth the wait. I got an HP Zbook 15 G3 and it’s awesome! I can’t tell you how fantastic it is to turn on a machine, and IT COMES ON. No waiting 10 minutes for the damn thing just to get to the CTRL-ALT-DELETE screen. It’s fast, has Windows 10 (my old machine was still on Windows 7) and twice as much RAM as my last machine.

Speaking of my last machine, you know your computer is over the hill when the tech guy takes one look at it , gapes slack-jawed, and says, “Oh my God!” Then, when he finds his composure again, says, “I thought we got rid of those things YEARS ago.”

Now I just need to figure out what the hell I’m doing. I managed to get all my settings done (Jack is looking attractive as my wallpaper, and I picked out a nice afghan picture for my locked-screen image).

Then, I needed to set up Guidewire. Following the procedures, I managed to set up the directory, and zip up and wipe out the configuration file. Then I attempted to clone our repository to repopulate the configuration file with our code.

Hilarity ensued.

The good news is that I do have access to clone a repo. The bad news is that I got some GHASTLY error saying there were file names that were too long—six files. I did check and indeed the repo does have some big-ass long names. However, these files are 2 years old. Surely this has been an issue before now??? I googled and found that these is a git config command you can enter to address this:

git config –system core.longpaths true

but I’m going to check with people tomorrow to see if there isn’t already some sort of fix they already do that I may have missed.

All things considered…this is still more fun than being a BA.

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 51: Oh, CRUD…

Today we learned all about MySQL. This was FINALLY something I knew something about. As a BA and previously as a developer, I’ve worked extensively with SQL. The most complicated part of this was installing MySQL Workbench. We mainly created files and performed CRUD—create, read, update, and delete. This was a bit tricky as applied to our new server friends POST, GET, PUT, and DELETE.

“PGPD” doesn’t have quite the same ring as “CRUD,” does it?

There was more work with Postman, as we determined if our routes worked. I had some nasty, nasty, ugly, angry red messages spewing furiously from the command prompt window every time I attempted the “U” in CRUD. It turned out to be something stupid. I’d put “post” instead of “put” when referring back to the db_queries.js. After that was fixed, everything worked fine.

In other news, we had to fill out a survey about our training. Our answers are going to be made into “cards” for our new department, so that they can get to know us better. This is absolutely HILARIOUS in my case, as my “new” department is going to be my old department, and they already know all about me. I felt sort of idiotic when under “fun facts about me” I said that “I knit and crochet!” My department is going to take one look at this and say, “Well, DUH!!!” Then they’re going to laugh until they snort in a decided undignified manner.

We also had to come up with a quote. This is one of my favorites, by W.H. Auden:

“You owe it to all of us to get on with what you’re good at.”

Precisely why I decided to attend Code Academy.