It’s Amazing What Passes for Senior Developer These Days

December 2nd, 2008

cubeLifeView.gif

Today a developer chatted me saying he was having a problem with the secondary Y axis on a graph he was building. I knew there were the problems with VantagePoint prior to the fixes I made, so I asked him if he had the latest versions of the BKit jar and the VantagePoint jar. Both were important for the fix.

He want away for a minute or two and came back saying that he got the latest BKit jar and it seill wasn't fixed. OK... let's make sure you have the most recent VantagePoint jar too - it's important as well (didn't I already say this? Yes, I did.)

He went away for a minute or two and then said it still wasn't working. OK, I asked him to send me the HTML and I'd look into it. I got the page, stripped out all the crud that wasn't necessary (headers, text, Javascript) - got it just down to the applet and it's tags. When I ran it in appletviewer I got this:

Pavel's Working Graph

Looks good to me. So I sent him back the HTML after I called him over to see the graph, and agree that it was as he thought it should be. OK, it's got to be on his end.

He comes back a few minutes later saying it's still not working. So I walk over to his desk. The jars are the correct version, and appletviewer on this box shows the right graph, so how about changing the codebase on the applet tag and seeing if appletviewer will show the right graph.

Oh... that worked.

"Well..." I said, "it's got to be IE's cache." - which I had mentioned as a possibility a while back, but he dismissed.

A few minutes later I get a chat from him - all is working. Surprise.

My rant is that this is simple debugging that any developer should be capable of doing. This isn't something special to me, or any advanced or elite status... this is simple Debugging 101. Yet it eludes him so completely. I know it's not going to make any difference, but it's stunning just the same. Some days I wish I had the ability of calling a programming foul and penalizing him 15 yards for illegal use of an education. Something like that. Gimminy.

Walking the Line Between Support and Honesty

December 2nd, 2008

SwissJupiter.jpg

This morning I was talking to a newly-returned (prodigal?) co-worker trying to bring him up to speed on what's happening in the area that he's been asked to focus on. Answer: a lot in the year he's been absent, but nothing he can't pick up on. What turned out to be at least as important as what's happened (to me, at least) was what the mood was after a year of absence.

It's vastly different, and while I didn't want to curb his enthusiasm, I didn't want him to charge off and find that his ideas, while good, were met with a load of screaming folks with torches and pitch-forks. And at the same time, I didn't want to rain on his new parade. There had to be a middle-ground. Someplace where I could tall him that it's important to consider the moods and feelings of the folks doing the work, and letting them determine his choices.

I tried to point out that while his ideas are good, and possible even necessary, there are other things that would be much less volatile and serve just as important a purpose to the overall effort - just not have as immediate a payoff as the more volatile ones. Part of this has to be tempered with the fact that we're in the final days of a year-long push that has left many people at wits end. Work on something they need, but aren't yet critically dependent on, and in a few months when things have settled down, and you've delivered a little bit of help to the crew, you can approach the things they have depended on for the last year. Hopefully, by then emotions will have settled down and even they will understand the problems in the existing system.

It's tough, and I don't envy him his position. But I wanted to help him so that he didn't get too frustrated right away and have a bad feeling before he even really gets started.

MySQL Creator Says 5.1 has “fatal bugs”

December 2nd, 2008

MySQL.jpg

Over the past several weeks I've been mulling over the MySQL/PostgreSQL and PHP trifecta in my head. Wondering if I needed to just give in and switch to MySQL as it was/is supported by the PHP Apache plugin from Apple. It would certainly make good sense. Then this morning I read this article and I'm glad I didn't.

In the article, MySQL creator Michael Widenius is quoted from his personal blog:

"We still have 20 known and tagged crashing and wrong result bugs in 5.1 [and] 35 more if we add the known crashing bugs from 5.0 that are likely to also be present in 5.1," he wrote. "It's of course impossible to get all issues fixed, but we should at least have tried to ensure that all issues important to a lot of MySQL developers and MySQL users should have been discussed, fixed and/or addressed in a public manner! We should also never have a single serious crashing/wrong data bug in a GA release."

This sounds like a serious quality control issue until you read later that it's systemic to the MySQL group at Sun. Again, from the article:

Despite the alleged friction between prominent MySQL developers and Sun management, Widenius contends that Sun was not responsible for the failures behind the 5.1 release. He blames MÃ¥rten Mickos, the senior vice president of Sun's database group and former CEO of MySQL AB. According to Widenius, Mickos no longer treats quality as a priority and unilaterally chose a premature GA release date because "he needs something he can sell."

While I can understand the need to sell a product in Sun's corporate environment, it seems more reasonable to have smaller, more stable releases, as opposed to adding in all the amazing new features in 5.1 just to have something that's feature-rich for the selling. It's certainly not where PostgreSQL is right now, and given this, I think it was the right thing to do, and continues to be the right thing to stick with.

I was hoping that Sun would take MySQL to a new level... but maybe it was a new low. Sigh.

Managers – Part Comedian, Part General

December 1st, 2008

PHB.gif

It's hard to even know where to start with this one. I couldn't even come up with a decent title on this guy because it's actually so bizarre that it almost defies classification. But I'll try.

I was summoned to my boss' office this afternoon and after I walked in, I could tell on his face it wasn't going to be what I consider 'fun'. He started out with a "How you been?" - simple enough, I told him my back hurt a little - it does, and that it was something that I'll deal with and it'll get better in the coming days and weeks. Then he jumps right into the reason for the meeting.

"OK, I know you're not happy, so bitch... about me. Go ahead."

Hmmm... now there's several ways to play this. I could go with the 100% honest answer and clearly get into a fight that I cannot win. Not a good idea. I could try to point out the most offensive remarks of the recent days, that had merit. I could also deny it all.

I started with the denial. It didn't work. Shucks!

So I went with the most recent issue - that of the "total honesty" approach he's been using.

"Well..." I said, "I just wish you'd say less - particularly about the 'I don't care what you think' kind of talk. It's unimportant, as I'm going to do it anyway, and it's just demoralizing. It doesn't get things done faster, and while it may be true, it's not really helpful in the least."

He defended himself as if it was necessary to tell me this and then launched into a 45 min talk about what was coming up, and why I should be happy about all that. While it was a reasonably good outcome for me - I didn't have to be as honest as he was being, it was amazing that he really didn't want me to get things off my chest, he wanted to get things off his.

I don't mind these 'diverted' conversations. Primarily because they are actually informative to me about what's happening. But it's funny that he defends his actions about telling me he doesn't care what I think, and further to try and almost cheer me up with the stories of what's coming.

It's no surprise that in these financially turbulent times, guys in middle and upper management are worried that they won't be able to get the new BMW this year. It's understandable. So they think "Where can I make cuts?" and "Who's going to back me?". Not a fun place to be, I can see that, but to pull things like this is really shooting yourself in the foot.

Anyway... it's an odd meeting that I'm glad is over.

Upgraded to WordPress 2.6.5 at HostMonster

December 1st, 2008

wordpress.gif

This morning I noticed that Fantastico had updated WordPress to 2.6.5 (from 2.6.2) to keep up with the security fixes, etc. and three known bugs. I'm sure they are also making strides in the UI to keep things fresh, but that's OK too. I'm happy that Fantastico is keeping up with things. It really makes using HostMonster a lot nicer.

Interestingly, there was a fake WordPress 2.6.4 floating around, and because of that the WordPress Team went from 2.6.3 to 2.6.5 with this release - making it a lot easier to know if you have the right copy. Interesting play on trojans. These guys are nasty at times.

I must say that this is about the fastest Fantastico has updated WordPress. I was planning on doing 2.6.3 on Friday, and then today shazam! it's 2.6.5. Impressive.

Calc Board Updated to 1.6.1

December 1st, 2008

CalcBoard.jpg

Calc Board is a wonderful little Dashboard widget that I use at least once a week. Little sums, or calculations that I need to do and don't use a calculator for because I want the results to hang around a while. It's got a lot more capability than I use, but it's nice in what it does, and if I ever need the help, it's nice to know it's there as well.

Excellent little widget.

Dropbox – Amazing, Seamless, and Just what I needed

November 26th, 2008

Dropbox.jpg

This morning I was reading the feeds, like I always do, and came across a reference to a piece of code done right. The author was talking about how the best software gets out of your way and does everything that's needed without you having to think about it. In this case, it was shared, remote filespace. The app/service was Dropbox.

What made this so useful to me was the fact that I had gone through the headache of setting up a WebDAV server at home for just this reason - a place to throw things that I could get at form other machines. The problem is, I was still limited by my home bandwidth, I wasn't being intelligent about sending diffs, and the clients for other operating systems were web browsers or FTP-like clients. It worked, but it wasn't what I wanted.

Dropbox is exactly what I wanted. It's a smart, version controlled, remote file repository. It's got clients for Windows, Linux and Mac OS X. Once you register for it, you simply have a directory that "hot syncs" to the repository in "the cloud", and sends the updates to your other registered machines.

I have a laptop and two desktops. I register them all. I see on each machine an identical set of files. Make a change in one, and it'll be mirrored to the others in a very efficient manner. Drag a new file into the folder on my laptop, and it'll automatically be sent to my two desktops. Simple.

I still have the file on my laptop - which makes this a ton better than WebDAV, and the syncing is done automatically, but clearly visible so that I know when something's happening. There are default folders for public content, photos, an easy way to make URLs for accessing the files... the list goes on and on.

Certainly one of the nicest features of this is the fact that it's really a file repository so you can go to the Dropbox web site and see the files you've deleted. And get them back! You can't beat that. It's like Time Machine built-in.

The first 2GB of storage is free, and for $9.99/mo or $99/yr you get 50GB. I'm sold. The version on the app is 0.6.402, and I'm guessing they do an automatic update, but we'll see. I feel so much better with the idea of installing this on my machines and then being able to really share files on the 'net. Incredible app.

Xcode 3.1.2 is Out!

November 26th, 2008

xcode.jpg

This morning I saw that Xcode 3.1.2 is out and I had to get it. I'm not sure what all it's got, but there's no way I'm sitting out on an update to the very best developer environment the world has ever seen. (No really, I did the research...)

I'm sure there are changes for the iPhone/iPod Touch 2.2 firmware, and possibly updates to the compilers... all good things. I noticed that even the JDK tools seem to have gotten an update in this release. Can't ask for more.

Working Side-by-Side with Users Testing Features

November 25th, 2008

SwissJupiter.jpg

Today I got the chance to work side-by-side with a user that was testing changes to this project I had been making over the last few days. Normally, they'd be testing and writing up a ton of trouble tickets and then I'd have to go through all the effort of finding the duplicates, thinning them down, filling out the paperwork... it's all a lot easier if they just ask me to sit with them and we can work though things so that they understand what's going on under the covers.

Thankfully, today I was able to do just that. A user asked me if I wanted to sit with him or have him file a bunch of tickets. I picked the former, in a heartbeat.

It was amazingly simple. Walk this user through a few screens, explaining the details of what's happening under the covers to him and all of a sudden, things became crystal clear. It's amazing what a little bit of good, honest communication will do to help a situation. In this project, it's been seriously lacking, and the project has suffered for it. I'd like to think that maybe things are changing - at least for me.

Sitting with users and explaining the same thing a dozen times is not wonderful but it sure beats the alternative - a user gets frustrated because they're convinced that the code isn't working right, and then you try to explain it to them, and they have a bias now to see the error as an error as opposed to just a misunderstanding.

I hope this continues... I'm going to do my best to make sure it continues. I think it's the only way to really save this project.

Getting Back Into a Rhythm

November 25th, 2008

cubeLifeView.gif

It's been a few days now that I've been back from my back problems that kept me home for a week. It's going to take a few more to get feeling like I'm really back in my old rhythm, but even now it's nice to be able to feel a little more like my old self again. I tell you, being laid up, unable to walk, unable to really do all the things I was doing only a few days ago... it really makes you glad for the little things - like taking a shower and being able to go to work.

I'm guessing after the Thanksgiving Day break I'll be feeling even better and more rested. Then it'll be back into the rhythm for the rest of the year. Nice to be getting back at it.