sergebroom: (Eureka)
[personal profile] sergebroom
Free!
At last!
Sort of.

Today (Friday), I finally got my users to sign off on a programming project I had to spend an average work day of 11 hours for 3 weeks for this to happen. Of course a bug in the logic had to come up during these last few days. I had based that logic on a pretty standard structure and yet things were coming out wrong. I spent a couple of days comparing the logics, in case I had made a mistake with my modeling, but no, I had not. Meanwhile, the manager of our user group complained during a conference call that the deadline was looming large (really?) and I wasn’t done yet. Considering that the project had started late due to the questionable prioritizing of other tasks that kept delaying this Very Important Project, and due to the fact that this very person had assigned the project’s testing to a very neophyte user, that rubbed me the wrong way. I confronted that manager in spite of my physically being 1100 miles away from the rest of the group and asked if people thought I had spent the last few weeks twiddling my thumbs.

Ys, I am still gainfully employed.

Things looked so dire yesterday that my overworked team leader offered to look at my work. He didn’t agree with my gut feeling that things were going wrong because we might be using the basic logic for something it wasn’t designed to handle. When I came in this morning, his email suggested that I had not included parts of the standard logic into mine. I wrote and asked why he thought so. Since he’s quite smart, I relied on his judgment, and, while waiting for him to finally explain what he had meant, I spent more than half the day unable to find a solution to the bug. After all, it’s hard not to question yourself when you don’t think something is missing and an expert tells you it is.

Eventually, I decided that he was wrong. Most other systems have had that basic logic distributed among two programs, but, since I had set up one single program, then I must have forgotten something. He never considered that I had simply consolidated the logic into one single program. That will teach me to think outside of the box by putting everything inside one box.

Once I was freed from that self-imposed constraint, and once I decided I was right about about the standard logic being forced to cope with something it wasn't designed to deal with, I quickly found the solution: I took one operation and encapsulated it inside an IF statement. That was it. The last few hours were spent with me testing one special case after the other, and my user confirming each case, until, much to his manager’s relief, he was able to sign off less than one hour before the official deadline. Move over, James Bond, with your from-the-jaws-of-defeat victories.

By the end, much relieved, I found myself feeling like Jack Carter, sheriff of Eureka. With one difference. We both work with many people who who are far more brilliant, but people listen to Jack’s insights.

Mind you, it’s not quite over. Next week, I have to deploy my changes into the final test server, but, with all the bugs and kinks having been worked out, nothing can possibly go wrong.

Unless you’re in Eureka.

Date: Sep. 20th, 2008 05:37 am (UTC)
From: (Anonymous)
Can you explain the whole basic logic thing in layman's terms? You're clearly using "logic" in a specialized sense...

Susan
http://www.rixosous.com

Date: Sep. 20th, 2008 05:48 am (UTC)
From: [identity profile] serge-lj.livejournal.com
By "logic", I mean a series of programming tasks that will lead to the desired result - or one can hope that it will do so. Other programmers would refer to this as the "code". (I refuse to say "algorithm".) I'm not sure my explanation made things less incomprehensible. (I've alway felt I'd be a lousy teacher.)
Edited Date: Sep. 20th, 2008 05:49 am (UTC)

Date: Sep. 20th, 2008 07:01 am (UTC)
From: [identity profile] xeger.livejournal.com
Mind you, it’s not quite over. Next week, I have to deploy my changes into the final test server, but, with all the bugs and kinks having been worked out, nothing can possibly go wrong.

Bwahahaha! Clearly you've just doomed yourself....

Date: Sep. 20th, 2008 02:28 pm (UTC)
From: [identity profile] serge-lj.livejournal.com
I probably have. The other day, I was chatting with another user in our group who was working on another project. Things kept going wrong there too and, when I described Eureka, she definitely saw the similarities. At least we haven't had space-time distortions. Just managerial distortions of Reality.

Date: Sep. 20th, 2008 08:00 pm (UTC)
From: [identity profile] fledgist.livejournal.com
I need to see more Eureka clearly.

Date: Sep. 21st, 2008 12:09 pm (UTC)
From: [identity profile] serge-lj.livejournal.com
Of course it may not be your cup of tea. Still, some episodes are available of the SciFi Channel's site, but they're from the currently being aired 3rd season. I'd recommend starting with the 2nd season, if you can get it on NetFlix. Still, the 3rd season had an exchange between sheriff Jack and deputy Jo that says it all about the show.

"So. An invisible killer drone."
"Keeps getting better."

Date: Sep. 21st, 2008 01:32 pm (UTC)
From: [identity profile] fledgist.livejournal.com
I've only seen a couple of episodes from the current season.

Date: Sep. 21st, 2008 02:46 am (UTC)
From: [identity profile] marydell.livejournal.com
What's wrong with "algorithm?"

Nice save on the IF clause thingy. I feel your pain - it's difficult if you have a good intuitive sense of what's wrong and someone else's intuition doesn't match up.

Date: Sep. 21st, 2008 12:17 pm (UTC)
From: [identity profile] serge-lj.livejournal.com
Nothing against algorithms. As the definition below shows, what I do is the creation of algorithms. It's just that it makes what I do sound so awesome. To me, an algorithm is something that numb3rs's Charlie would come with ("With this algorithm of mine, we can analyze terabytes of information about Los Angeles's traffic patterns, which will allow us to pinpoint the best and fastest way to the closest ice cream parlor.") I'm a programmer, not an information engineer, as Bones McCoy would say.

A well-defined procedure to solve a problem. The study of algorithms is a fundamental area of computer science. In writing a computer program to solve a problem, a programmer expresses in a computer language an algorithm that solves the problem, thereby turning the algorithm into a computer program.


That being said, while my teamleader's offer to help got in the way, he was trying to help. I appreciated that very much.
Edited Date: Sep. 21st, 2008 12:21 pm (UTC)

Date: Sep. 21st, 2008 04:50 am (UTC)
From: [identity profile] mjlayman.livejournal.com
Hey, but you met the test deadline! You've got a weekend before you have to run on the final test server!

Date: Sep. 21st, 2008 12:52 pm (UTC)
From: [identity profile] serge-lj.livejournal.com
True, and I've been successful in not thinking too much about the fact that I now have some 'free' time to start working on another project that has a carved-in-stone deadline of early November and about which my boss has been repeatedly breathing down my neck. It is rather amusing that this new project was delayed by the current project which itself was delayed by a project that had been rendered pointless by the upcoming project, but my boss had insisted that it must be done anyway. Ah well. I'll probably rack in a bit of overtime because of that, and the extra greenbacks will be quite welcome.

Date: Sep. 21st, 2008 10:29 pm (UTC)
From: [identity profile] mjlayman.livejournal.com
Money is good, but don't get to where you're sleeping at the office! Wait...

Date: Sep. 21st, 2008 11:13 pm (UTC)
From: [identity profile] serge-lj.livejournal.com
Telecommuting is a wonderful thing, isn't it?

Date: Sep. 21st, 2008 11:31 pm (UTC)
From: [identity profile] mjlayman.livejournal.com
Sure sounds like it! As a QA person, I can't tell you how many times I've slept on the floor of the computer room, waiting for the line printer to DING! to wake me up to check another run. Well, that was years ago, but I still remember it! No telecommuting on classified work.

Date: Sep. 22nd, 2008 12:03 pm (UTC)
From: [identity profile] serge-lj.livejournal.com
I didn't sleep on the computer room's floor, when we went thru a big merger with another company in the mid-1990s, but I sure nodded off in my office. It's not that classsified work was involved. Telecommuting just was so dreadfully slow that it was less frustrating to spend 40 hours in a row in one's cubicle.

Now of course telecommuting is fast. And fairly easy. Unfortunately, we can work from home with as much ease as if we were at the office. Which means that our bosses expect us to work from home when we're not at the office.

Such is corporate America.
Oh well.