Triple Fail

Some memebers of our testing team called me the other day. They wanted help figuring out how to test a fix for one of the customer problems. This was an easy answer. Nobody had fixed the bug they were talking about. So the test team showed me the documentation stating that the bug was fixed.

I dug deeper and determined that it was a documentation error. Our database team had fixed a different trouble ticket that sounded the same. I coached our test team on figuring out how to duplicate the problem for the bug being fixed. We were off to the races.

Later our configurtion management guy produced the final documenttion for our software release. I noticed the wrong trouble ticket was still being referenced. I called our CM guy up because I know him. Told him that he had a problem. He showed me the guidance from the test team. Then he realized what they sent him. I was hoping this woud be the end of this issue.

Finally I caught an email going by to our customer. Again the wrong trouble ticket was being referenced. I alerted our CM guy once again. Then the database guy who wrote the orginal documentation asked me some questions. I set him straight. In enters my boss cold. He had a million questions. It took about 5 phone calls with him to answer all his questions. When things get screwed up, he usually has to ask a lot of questions to be sure.

The thing I hate about all this is that there were many screw ups. At no time was I the source of the screw up. I was joint pointed out that somebody was failing at different points of the flow. In the end, I get all this extra work to clear it all up. I do this to try to ensure the end product to the customer is as good as possible. But this is not my job. That's why we have quality assurance. I guess the bottom line is that someone is not doing their job right.

Windows 7 Pain

Our customer is finally getting around to updating workstations to Windows 7. Part of our team is dedicated to getting our system to work with Windows 7. Guess what? Everything does not work. I could have told you that. Initially I figured we would have problems with registry access, maybe file writing, and some GUI controls. Turns out our biggest pain is the Windows registry.

Turns out we cannot write keys to HKEY_LOCAL_MACHINE. Leave it to Microsoft to break this feature that used to work. There is some new Windows 7 beast called the UAC. If we could turn this feature off, maybe we would be cool. But we do not manage the system settings for our customer.

One of our lead developers put together a hack to use HKEY_CURRENT_USER instead. However that leads to some other headaches. A hack is a hack after all. This might be what we roll out with. There is a short schedule to ship Windows 7 compliant software.

I remember when I first tried to port some of my own tools to Windows 7. Had the same problem. Could not write to the registry. Oh well.

Good Programmer

Last week I read this post about the signs you are a good programmer by C. Lawrence Wenham. Was some food for thought. What I found more interesting were the signs that you are a fantastic programmer. The first sign is that you "can recite from memory all of the includables in the C Standard Library". Oh snap. I should be able to do that. Been working with C for over 15 years. But do you know what? I probably cannot name all of those includes.

Of course I know and . I think there might also be an assert header as well. I also know and . But what are all those other include files? Damn. I looked them up. There are 29 total files. Looking at them, some were relatively familiar. Others I could guess their content. There were one or two that I had never heard of, and could not fathom what they were about.

Need some more practice to graduate into the fantastic programmer position. And that's just the first requirement!

Keeping it on the Down Low

I got tasked with a big project at work. Luckily I had vetted the schedule, and signed up to meet it. Then the boss decided to review my design. He went gang busters with ideas for changes and new ideas. Hey I am down for more work. I just need more time. Nobody wanted to give me more time.

I don't implement extraneous ideas on my own nickel. Somebody needs to give me the budget. I tried to keep my boss in check. But he is the boss. He wanted a lot of extra things for my task. In the end, I drew a line in the sand and costed the pricier extra items. I got the go ahead to extend the schedule. Great. I told you I like more coding when I get the budget.

When I code, I am in the zone. I work to ensure I can deliver something on time. That is my style. Part of the technique includes avoiding distractions from my task. Another is doing tasks in the optimal order. For once it looked like I would actually beat the estimate. I told my team lead. But I warned him to keep the information private.

As soon as a manager hears you are ahead of schedule, they revise the schedule, and then you might be late even though you are ahead. Then I made a mistake. A mid level manager asked how I was doing. I told him great. I confessed that I was projecting an early delivery. Then came the fail. The mid level guy said that the new things my boss requested put the whole big schedule at risk. They need the delivery earlier.

Hey. I was doing my part. I was going to complete earlier. Then the mid level manager told me I should work extra hours to deliver even earlier. Epic fail. Don't beat up the guys that are delivering early. I learned an important lesson. Give one of these guys a positive inch, they try to take a foot. I have ways of dealing with this nonsense though.

Keyboard Accelerator Fail

I added some new buttons to various screen for a recent change. First steps was to produce a design. I always put screen shots in there so users know what to expect. My boss took a look at my draft screen shots and declared that I needed keyboard accelerators. No problem. Just stick an ampersand in front of the name in the resource editor.

Problem was that the accelerators were just not showing. That's okay. I hacked up a screen shot with them using Microsoft Paint. Made a note to get this fixed during the coding phase. I did notice that when you pressed a key, the accelerators seemed to show up. Weird.

Finally I got down to business. Tried to figure out what was going wrong. OnInitDialog() looked okay. Resources looked okay. WTF is going on? I turned to Google. That got me to Raymond Chen's Old New Thing blog. Sure enough. He described why I could not see the accelerators. You don't get the visual cues unless you press the Alt key. This has been so since Windows 2000. This is a "feature" from Microsoft. Great.

Brogrammer Test

I went on the web to google "brogrammer". One of the top links was a test to determine if you are a brogrammer. Here is a spoiler. I got a Broficiency Quotient of -90, making me a Standard Nerd. I must say that some of the banter based on my answers was hilarious.

For example, I said that soda is my coding fuel. The web site responded that this was weak. LOL. Then I chose RPGs as the most fun pastime. The response was for me to GTFO. LMAO. Who made up this test? Answer: John Polacek.

Fork, Dongle, Fired x 2

Check out this story of how an indicent at the PyCon conference blew up and got two people fired. Adria Richards attended PyCon as a developer evangelist for Sendgrid. She heard two guys behind her making inappropriate jokes about "dongles" and "forking". She took a picture of them, and tweeted about the behavior.

Pycon staff came and questioned her. Then they took the two guys aside. The one who made the joke apologized. You would think that would be the end of the incident. Nope. Turns out these guys worked for Play Haven. The guy who made the joke got fired.

Truly unfortunate. But wait. There's more. There has been a large Internet backlash against Adria Richards. She has received many threats. Her blog hs been the target of a DDos. And her employer, Sendgrid, has fired her.

People are referring to the incident as DongleGate. The PyCon code of conduct already states that offensive jokes are inappropriate. Seems the code of conduct has been ammended to prevent future nonsense. The sad outcome is that two people have been fired from their jobs. And that's a huge fail.