So cold

It’s freezing here at work. I’m not sure if it’s everywhere or just at my desk – there is a bit of a cold breeze here. My feet have been freezing since I got here and my fingers are clumsy. I actually warmed up a bit when I went to Wegmans for lunch. People are looking at me funny because I’m wearing a toque, but at least my fingers are working again. Still no joy with my feet though. I wonder what they’d think if I put on my moon boots?

On browsers, proxies, and JavaScript

My employer forces me to use Windows XP and Internet Explorer on my desktop at work. This is more than just “our internal apps are only supported on IE”, they’ve somehow locked things down. I tried to install Google Chrome, but it complains about a missing DLL when I fire it up. And Safari, which got dragged in when I installed QuickTime, can’t seem to handle our automatic proxy configuration. One of my cow orkers says he has Firefox installed, so I guess I’ll have to try that next.

This came to a head today because yesterday StackOverflow rolled out some awesome new functionality for tracking your reputation, responses to questions and comments. Yesterday it worked great, both at work with IE and at home with Safari. This morning there was a date rollover that Safari had no problems with, but going to any of the new tracking pages in IE crashes the browser. It’s completely consistent – it happens everytime in exactly the same way.

Ok the plus side, they’ve moved the bug reporting and feature requesting site from stackoverflow.uservoice.com to uservoice.stackoverflow.com, which means it isn’t blocked by the web filters at work anymore. Which means I can see that I’m not the only one having this problem.

So now it’s time to do battle with the corporate filters to see of I can get Firefox installed and working.

Not a bad day, over all

Thanks to the reading I’ve been doing, and the source code that fellow pilot-geek Kris Johnson sent me, I think I’m starting to get my head around Objective C, if not the iPhone development environment. I answered my first Objective C question on Stack Overflow, and got over 12 upvotes and an accepted answer. Too bad I hit my daily reputation cap. But Kris saw my post almost immediately and commented on my new-found knowledge of Objective C.

The iPhone part is coming along nicely. I’m about halfway through the iPhone Application Programming Guide, and after that there are a couple more papers on the iPhone developer site to read. It might soon be time to start writing some test apps.

After work, I went to the gym and did Dan’s recommended light weights but more sets workout on the machines. The gym is a lot more crowded than it was in December – I wonder if this is just the New Years Resolution crowd, or just that there weren’t a lot of students around in December because of exams and end of quarter work-loads?

And in between, work sucked less than it had been. I got assigned a bug from the “BAU” (which I’m told stands for “Business As Usual”) group, which unlike the “Maintenance group”, actually seems to have some standing in the company.

In the Maintenance group, if you wanted help from somebody in charge of a design document, you had to preface your request with an explanation that you were only Maintenance, so they didn’t have to interrupt anything important to answer you. 50% of the bugs assigned to me are unreproducible, either because they were fixed under different report numbers, or I don’t know enough about some areas of the product to figure out how to reproduce the bug and can’t bother people who do know because I’m just “Maintenance”. Another 25% get put on hold after I figure out the fix because the fix involves a view change, which requires a review from the DBA group, and the DBA group aren’t going to give any priority to reviewing it because I’m just “Maintenance”. And have I mentioned that the bugs I fixed in the first two weeks are finally getting code reviewed on Thursday, 2.5 months after they were fixed? With any luck, they might even get checked into the code for the April release. (And no, I’m not kidding – that’s where I’m told they’re going to go if I can get them approved by code freeze in March.)

Now compare that to my first BAU bug. The bug report had some conflicting information, so I did some research in the design documents. That also had conflicting information, so I was able to have a meeting with one of the designers, and exchange some email with the “owner” of some other part of the functionality. From that, I was able to resolve some of the ambiguity, and decide on a plan of action. There are both GUI and back-end issues in this bug, and I’ve told them I want to fix both sets of issues instead of just the actual “headline” issue, and they agreed. And I get the feeling that there will be more help if I run into other obstacles. I feel positively giddy.

Debugging, no molasses

I discovered the secret to getting Eclipse debugging to not be painfully slow. The secret is to reboot (or possibly just log off and on again) and then make sure you don’t start IE or Outlook or anything else except Oracle, jboss and the app. At that point I’m using just a hair over 2Gb of memory and it’s hardly swapping at all.

I’m sure it would be a huge violation of their security policies, but I’d love to bring in my laptop to see how of does at this. Not only does it have a faster processor and twice as much ram, but it also would allow me to have only Oracle, jboss and the app running on the desktop box while Eclipse ran on the laptop, freeing up half a gig of ram on the desktop.

Debugging through mollasses

I’ve had a very frustrating day so far, and it’s far from done. I’ve been trying to trace through the execution under two different conditions, one of which works and one of which doesn’t. It’s been extremely slow going. Even with everything that could consume memory exited (including IE and the client app after it fires off the report request), my machine is swapping like mad.

Clicking the next instruction arrow in Eclipse takes roughly 30 seconds (I timed a few at 22 and 24 seconds, and a few at 36 and 38 seconds, so average it). Waiting for it to then actually show you the current value of a variable in the Variables window seems to average about 1 minute, although I’ve seen it as short as 30 seconds and as long as 2:30.

If I had a decently fast machine, I would have been finished this tracing (and likely found the bug) before lunchtime.

I have to just keep reminding myself that I’m being paid the same if I fix one bug a week or if I fix 10 a week. If this is the equipment they’re going to give me, then they’d better be prepared to accept the pace that equipment forces on me.

It wouldn’t be so painful if I could spend those 30 second pauses reading Stack Overflow, but until I fired it up to post this rant, I’ve been keeping IE closed.

Update Just to top it all off, about 4:30 today I accidentally clicked the “step return” which returned me out of the method I was painfully stepping through, meaning that most of my afternoon’s work was for naught.