billroper: (Default)
2023-09-12 08:51 pm

199

Adam Wainwright finally got his 199th win for the Cardinals tonight. This is primarily important, because you have to get 199 wins before you have a shot at getting 200. Now, we'll see if he can do it before he retires at the end of the season.

In other news, I have now fixed the thing that was causing the problem as well as the things that were wrong but weren't the proximal cause of the problem. At least, I *think* the thing is fixed. My *test* says it is fixed.

On the other hand, there's *another* thing that I fixed that I'm being told isn't fixed, but when I tested it on my machine, it was fixed. There are days I wonder what's in any given build that is handed off for testing...
billroper: (Default)
2023-09-11 10:24 pm
Entry tags:

Going Round In Circles

I have fixed several problems. Unfortunately, none of them appear to be the problem that actually needs to be fixed at the moment.
billroper: (Default)
2023-08-25 06:17 pm
Entry tags:

One Ping Only

There is something satisfying when you find the source of a calculation problem that fails exactly *once*, after which you have to tear down the entire structure and rebuild it to get the calculation to fail *again*.

Happily, I now know how to make the problem go away, which I will do on Monday.

Now, I am giving it up for the weekend. :)
billroper: (Default)
2023-08-18 10:38 pm
Entry tags:

No Longer Hanging

Today, I was finally able to merge a couple of small projects of mine that had been hung up waiting to pass regression testing. While they weren't of great consequence, they both added some nice bits of functionality and it's good to get them into the main code line, even if users are unlikely to notice them.

The *next* project on my list goes into regression testing next week, assuming everything goes according to plan. And *this* project will get noticed by users, some of whom know it's coming and are eagerly waiting for it. We'll see how it goes.
billroper: (Default)
2023-08-17 10:24 pm
Entry tags:

Ways of Making Progress

I had managed to exhume one of the necessary pieces of information using my superior Google-fu, so Gretchen was able to get on the phone with our financial advisor today and clean up one of the long-standing bits of financial business that needed to be taken care of. The right incantation was spoken and now all the various wheels are in motion so that the clean up will happen.

We are, of course, waiting to see if anything blows up in the process. :)

Speaking of things that blow up in the process...

So I'm writing a new feature at work where I'm using some of my older code to allow me to extract the data that I need to answer a lot of questions. It's actually working pretty well, but I got into a situation this afternoon where I was getting a null pointer exception. Ok, I had the data that I could pass in to clear up that null reference, so let's just initialize things and let them run normally.

A cascade of null pointer exceptions followed for a different object, because I had also passed in a null for the period identifier instead of the well-known (in this environment) "this is not a valid period" identifier. I added null checks. I added a lot of null checks.

And then I went back to my code and passed in the well-known "this is not a valid period" identifier instead of a null reference. Because suspenders *and* belt, right?

It's working correctly now.
billroper: (Default)
2023-07-09 10:52 pm
Entry tags:

Sleeping Bodies

There was a lot of catching up on sleep today, along with other forms of rest. I managed a trip to Sam's Club in the afternoon (where I brought home things for everyone in the house except me), but other than that and a load of laundry and a bit of kitchen cleanup, very little was accomplished.

And all things considered, that's just fine.

Tomorrow, I am taking a deep dive into floating point math at work. Wish me luck!
billroper: (Default)
2023-04-13 07:03 pm
Entry tags:

Slowly Going Blind

After way too long trying to find a serialization error at work over the last two days (and finding a number of them; just not the one that I was looking for), I finally got bright enough to remember that the JDeveloper editor will allow you to split the window and look at the same file at two different line numbers. Lining up the inbound and outbound serialization code opposite each other made the error a *lot* easier to spot.

It would have been easier if the error had never been put in, but these things happen.
billroper: (Default)
2022-10-20 10:09 pm
Entry tags:

One Line Times Two

I fixed two bugs today by removing one line of code for each bug.

(Ok, I made another small change for one of the bugs, but it was cleaning up something else on the call stack that could have caused a problem under some circumstances. I think *that* change was three lines.)

One of my friends at work notes that if you take fewer lines of code to do something, you reduce the opportunities for introducing bugs. If I can manage to delete down to zero lines of code, there will be no bugs left at all.

Wait! There's something wrong with that...
billroper: (Default)
2022-04-29 10:19 pm
Entry tags:

Turning the Corner

I have turned the corner on the great refactoring job I'm doing at work. The UI is mostly doing the right things, so now it's just a matter of driving out the glitches from the refactoring.

I'm hoping to finish this up on Monday. I am, of course, an optimist...
billroper: (Default)
2022-01-05 09:44 pm

Knit One, Purl Two

I am engaged in a project at work where I am unraveling someone else's code and knitting it back together in a fashion where it will be much easier to trace through the bits of yarn when I'm done. Unfortunately, it's not trivial in any sense.

But I am making progress.

Slowly. Very slowly.
billroper: (Default)
2021-09-20 10:12 pm

The X-Refactor

I actually don't so much mind refactoring code, as long as I am doing something that will improve the code base. For instance, today I worked with one of my colleagues to convert a reference to a particular class to a reference to a shared interface implementation. This was good, because now anyone else who has the same problem will be able to implement the method on the interface and get the behavior that they want.

And then there is the refactoring that is just cleaning up after other people who have introduced references to other libraries in classes that simply shouldn't be using those libraries. This is much *less* fun.

At least the end is in sight.
billroper: (Default)
2021-01-07 10:19 pm

Work Gone Wild

Another round of fixes destined for an emergency patch that I spent most of the day hacking out with one of my co-workers. The code in the neighborhood is much cleaner now -- I wrote this fairly early in my Java adventure and was able to make a bunch of fairly trivial, but major improvements while cleaning up the bad behavior that was going on. And I managed to eliminate a lot of duplicate code, which is always a bonus.

It's passed our initial smoke tests to see if it has fixed all of the client bugs, so a build is underway and QE will have at it in the morning.

Chaos! It's what's for lunch.
billroper: (Default)
2021-01-04 10:17 pm

Back to Work

And today was back to work (and school) after a two-week break. There were varying degrees of success.

On the other hand, I finally threw up my hands and stopped trying to add a remove method to my Java iterator built on top of my unifying interface layer. Instead, I've coded things using a different approach to what I'm doing.

I've managed to cobble together a first unit test to throw against the wall that found a couple of different (and one pre-existing) bugs and have fixed those. Now that the framework's in place, I should be able to write a lot more test cases fairly quickly to make sure that there aren't more bugs or, if there are, that I can fix them. :)

I have become fond of unit testing...
billroper: (Default)
2020-10-28 09:22 pm

You Know, Mr. Rico, I'm Getting Really Tired of These Bugs

I may be getting tired of the bugs coming in, but apparently they are not tired of me.

Ah, well. I was able to patch things around so that I could read the seriously damaged file I was sent this morning. Now if only the rest of the code would behave itself... :)
billroper: (Default)
2020-10-08 10:21 pm

The Fix Is In

I have been fixing a silly number of bugs in the last couple of days.

One of the bugs that I am fixing right now is one that I thought was going to be a horrible amount of work. It turns out that I can fix it rather simply, which I found out after digging through the code.

I just can't *test* the fix, for reasons having to do with Microsoft Excel's lousy handling of COM memory and garbage collection in .NET.

So I am checking in the fix and passing it along to someone who has installed the 32-bit version of Excel, which seems to do a better job of garbage collection than the 64-bit version. That's not what I would have expected, but it is what appears to be true.

Some problems are just annoying.
billroper: (Default)
2020-09-18 11:52 pm

(Inter)Face the Music

I am still crawling through our user-interface code. I have cleaned up a great many things, but there are some interactions that are perplexing me. I think I have some ideas about how to proceed, but I'd like to talk with one of the fellows who wrote it.

I'd like to give it back to him, actually. We'll see how that goes. :)
billroper: (Default)
2020-09-17 10:03 pm

Fixing the Bugs

I have fixed a great many bugs this week.

Right now, I'm looking at the debris in our Visual Studio 2019 port. The COM handling machinery there seems a bit idiosyncratic, but it's possible to work around those eccentricities once you find them. I'm doing bulk corrections and it seems to be stable.

But I've found some code in our UI layer that I really don't like. I think I can fix it in a day and then we'll see if some of the idiosyncrasies in *our* code will be good enough to go away.
billroper: (Default)
2020-09-08 09:59 pm

This Is More Complex Than It Seems

I am trying to write a new bit of code to make a particular interface work, but the code that I write isn't working (or apparently called) even though it seems to have all of the necessary elements for this particular incantation.

I am annoyed.

I'll try this again tomorrow.
billroper: (Default)
2020-08-31 10:36 pm

Still More Clean Up

I cleaned up a bunch of crufty, slow code in our user interface layer over the last week and checked the changes in today. There are still some more places that can be cleaned up, but I took care of a lot of the low-hanging fruit.
billroper: (Default)
2020-08-20 08:55 pm

Oops

I rewrote a lot of our XML handling code in C++ to be more efficient.

Unfortunately, I appear to have made a mistake somewhere, because I'm getting an error message from the COM object that is consuming the results. Sadly, it is not a very helpful error message.

At least to me.

I have asked for help from the folks who wrote the COM object. We'll see how it goes.