personal, net, sql comments edit

The end of a long, long journey has finally arrived.

I took my last test today, MS070-228: Installing, Configuring, and Administering Microsoft SQL Server 2000 Enterprise Edition, and passed. I got a score of 854 (passing was 700) and from the look of the results sheet, I think I only missed one question (they don’t actually tell you how many you got right or wrong, but you can sort of tell by looking at these little graphs they give you that show your strengths and weaknesses based on the questions you got right).

That makes me a Microsoft Certified Database Administrator, which, alongside my existing Microsoft Certified Solutions Developer for .NET certification, is pretty cool. It’s been over a year in the making, and it’s finally come to fruition.

Yay, me!

I like a good customer service experience. I don’t normally ask for assistance from customer service at a company - I’m a big fan of self-service - but when I do need help, it’s not like I’m making up some imaginary need.

I’m trying to troubleshoot an issue where a user on our intranet gets prompted to log in when they visit the intranet home page. Internet Explorer should automatically log them in, but it’s not doing it. I found that they have some Segue Software products installed, so thought I’d search the knowledge base over there to see if there are any known issues.

First, they make you register to read the knowledge base. Normally I don’t have a problem with this, but they do it in a sneaky way: They show you a form where you enter your email address, desired username, and desired password, then you click a register button… just so you can fill out a second, longer form with more personal information. Fill that out, click the register button again, and you get told that they have to “confirm” your account, so you can’t access the site until you get an email from them with a confirmation link.

That wouldn’t be too bad if the email showed up quickly, but it takes half an hour to get to you. Once you click the registration link, it validates your account, but you still have to log in.

So you log in, go to the knowledge base, and enter your search terms. Clicking search gets you nowhere, though, because you have to select a product name to search articles about that product. Here’s what you see for the list of products: Where's the
beef?

At this point, I’m pretty irate. I decide to contact the support people directly to tell them there’s a problem with their knowledge base and it needs to be rectified:

Hello!

I’m trying to search your knowledge base but it tells me to “select a product from the dropdown box.” Problem is, it doesn’t POPULATE the dropdown box with any product names, so I CAN’T.

Please either fix the selection box or remove the requirement that I select a product.

Thanks, -T

Pretty reasonable request, right? Here’s what I get back:

Hi Travis,

Thank you for contacting us with your request. Please provide your customer ID so that we may open a technical support call for this issue.

Please also include your customer ID in any future correspondence with the support department as it allows us to track your issues more efficiently.

What? You want my customer ID and all that because your site is broken? I don’t want you to open a call, I just want your fucking site to work so I can do my job. I’ve been fighting this thing for a while now, and I’m fresh out of patience.

God forbid you just fix your site and make it usable without opening a tech support call and asking for all the serial numbers. I’m not the end user of the product; the guys in the QA department are. I want to find out if you have any KB articles on effects that your products might have on [insert long technical problem description here]. I don’t have the actual customer ID number or product serial info, I’m just an IT guy trying to troubleshoot a potentially related item.

Thanks for the lack of help, I’ll see if I can get the QA guys to log me in on the site with their accounts or something.

I figured it was over at that point. One of the QA guys logged me in and, wonder of wonders, the product selection box populates, things seem to magically work. But their tech folks aren’t letting up.

When you contact technical support you will always be asked for your customer id number so that we can confirm your entitlement to support whether that be information or more in depth technical help.

With regards to access to information on the support website you should note the following.

In order to log into our site you must first create your own user profile. During the registration process we must validate your entitlement to create that profile. One of the ways we do so is by confirming your customer id number, and that, that number is tied to a customer with valid maintenance.

Further if you are not listed on our customer database as a bona fide contact for that customer id, then you will not be able access any of the secure areas of the support website. (from your correspondence it appears that this is the problem you experienced).

Since when has the knowledge base been a “secure area?” An even better question: How come I can get to the “secure area” but have some broken form so it looks like a technical malfunction in the site as opposed to a conscious decision to deny access? God damn, these people stepped on my last nerve.

I find it fascinating that accessing a knowledge base, granting access to which costs you nothing and would actually probably SAVE you in support costs, is considered support that I might have to qualify to be “entitled” to. You might take a page from Microsoft or IBM, reasonably successful companies, and provide online, self-help style support without qualification. I can see denying access to forums or other interactive support, charging for personal attention from a technician, but the knowledge base? What if I download an evaluation product and want to search the KB? Looks to me like I’d STILL be denied, and I wouldn’t have a customer number to provide you.

Assuming that you don’t provide support without qualification, you might want to either actively disable the knowledge base search form or put something on the site somewhere so it doesn’t just look like you guys messed up when a non-qualified user logs in and tries to search. If I’m not allowed to search the KB, I shouldn’t even be given the option. Instead, I get taunted with a form and end up in a ridiculous email chain like this.

Consider me unimpressed. I have since gotten a QA guy to “loan” me an account so I can actually search the knowledge base, so I suppose the point is moot. I know what recommendation I’ll be making if and when they ask me about what software company to go with, though.

And that’s where it stands. Here’s a message to all those companies out there who require people jump through ridiculous hoops to get self-service support from your web site: You’re turning away potential and, in many cases, existing customers.

I finished this gigantic project at work, or at least the first release of it, and by the end of the whole thing I was well beyond burned out on programming. Staring at code all day was killing me, especially that particular set of code. And, trust me, if one more person stopped by to “see if I needed anything” (which, for those in the cheap seats, translates to, “hey, let me interrupt what little concentration you have left for no reason”), I was going to kill them.

I was becoming a little antisocial.

Since then I’ve had a few days of lighter work to recouperate a little and during that time I started a little programming project of my own to do some add-in functionality to Visual Studio .NET 2003. (If you don’t do Microsoft programming, that won’t help you… but for those who spend their whole day in Visual Studio, the stuff I’m working on could speed things up quite a bit. At least, it will for me.) I’m doing some cool automation stuff to speed up some routine tasks.

The thing about this project is that I want to work on it. I want to make it happen. I like the idea and it drives me. And why does that matter? Because it’s been so long since I’ve had any actual desire to work on a program that I’ve forgotten what that’s like.

I’m curious why that is. Not that I would classify myself as one of those die-hard programmers or anything - programming is a job, not a lifestyle, and that is an active choice on my part - but I can get excited about some programming projects and be burned out before I even start on others. Could be a couple of things.

I think that deadlines stress me out. I mean, deadlines are important on a project because if you didn’t have a target date, you’d never finish anything. But the way deadlines are set in most projects is sort of like instilling the Fear of God in you - you must finish or fire and brimstone will rain down upon you, the sea will turn to blood and frogs will fall from the sky. I’m a motivated individual. I work as hard as I can on a project - sometimes ending up with overwork and health issues from it, which I would like to think is only partially my own fault - and I don’t need additional stress from the project owners on the deadline. You don’t have to tell me how far behind we are because I already know. Most likely, I’m the bottleneck (because most likely I’m also the only developer on the team, too). Just get out of my face already, I’m doing the best I can. If you want the project done super fast (which usually implies a lack of quality; something has to suffer to achieve the superhuman speed required), call someone else. If you want it done right, come talk to me.

I think I have communication problems. I work very well on an event-based communication system: if something changes, I’ll let you know; if I need something, I’ll let you know. Just be available to receive that communication and respond when it comes in if it warrants response. Project sponsors, managers, and leaders don’t like that. They want a constant status update. “What’s your status? I need your status! What are you working on? How far along are you? When’s it going to be finished?” Look, man, fuck off. I appreciate that you have a desire to have some sort of magic progress bar on my forehead that you can glance at and update your metrics, but I don’t work like that. If I spend all day updating you on my status, there ain’t no work gonna get done. The event-based model works well because it doesn’t take development time for meetings, it doesn’t break your concentration with micro-pings all day long, and it doesn’t serve as a constant reminder that you’re under an unreasonable deadline. You might not get the granular status you want (“Okay, so an hour ago you were 16% done and now you’re 17% done? Excellent!”), but when actual milestones occur, you’ll know (“Halfway done? Cool.” “Done? Great! On to the next task!”). I should probably learn to work under the constant micro-ping (micro-managing?) model, but I think that would definitely detract from my efficiency.

I have some sort of attention deficit. I can’t work on the same project 40+ hours a week for months on end because I stop caring about the outcome. It becomes less of a project and more of a death march. I need to be able to change things up, do something new and different, or it just gets plain boring. And once the boredom sets in, all is lost.

I like to feel like the product I’m working on is interesting. Working on a document replication service to copy selected files from one place to another might be great for the company and super for the person who’s time I’m saving, but aside from that, it’s a tedious exercise of writing a program that doesn’t really do anything interesting. The project I just finished started out interesting, but I think the deadline and status/communication issues started stomping on the interesting portion of things and it just became a grind. With this Visual Studio automation project, it’s interesting. I’m doing stuff I haven’t done before; I’m learning things about how not only Visual Studio works but how Windows works, too; and I’m seeing that I can actually benefit personally by the outcome (not monetarily, but productivity-wise). It’s cool, and I feel good about it. (Doesn’t hurt that there’s no deadline and no project management on it, either.)

I can hear my boss now: “You can’t always do what you want; sometimes you have to do the stuff you don’t like in the job.” Yeah, yeah, yeah. If that’s you, too, then you’ve missed the point entirely. The point is that there are reasons the crappy stuff in your job is crappy, and if one or two of the issues could be alleviated, then maybe the crappy stuff could be less crappy, and maybe the person doing the job would be a happier camper. (Which is not to say I’m unhappy; I’m speaking in a more general sense.) Plus, this is venting. When someone vents, they don’t want to hear devil’s-fucking-advocate, they just want to vent.

Long story short: I’m unburning from the last project… let’s see how long that can last before they say, “Hey, what are you doing out here? Back into the fire, asshole!”

media, movies comments edit

Saw the latest Harry Potter on Sunday. Figured I’d fill you guys in.

Harry Potter and the Prisoner of Azkaban, based on the book of the same name by JK Rowling, is about… hang on. You know what? Go read the book. Seriously. I’ll wait.

Okay, now while those folks are off reading the book, the rest of us will continue.

Minor refresher: A believed dangerous individual named Sirius Black (played by Gary Oldman) escapes from the wizard prison of Azkaban and comes after Harry (Daniel Radcliffe). Harry ends up finding Black and uncovers some interesting information about his (Harry’s) past, particularly in regards to his parents.

Now that we’re all up to speed, here’s the deal: There’s a new director, there’s a new Dumbledore, and there’s a new way of looking at the Harry Potter series.

From a direction standpoint, I think Alfonso Cuarón did a decent job. I’m not sure what I would have done differently, and most of the beefs I had with the movie could just as easily have been blamed on the screenplay. I’ll give the guy credit where credit is due.

The new Dumbledore (Michael Gambon) did an outstanding job, enough that it was an entirely seamless transition to him. Can’t ask for much more than that.

As for the new way of looking at these movies… In the previous two books, there was some certain amount of introspection but not so much that it affected the plot; which is to say, the movies were able to come out and, even leaving out certain elements from the book, the story was sufficiently conveyed. In this one, the book contained a lot more in the way of subtle plot points and things that took place as internal realizations or dialogue, which would have either been impossible to show on screen or would have made it drag so slowly as to be unwatchable. That’s a hard thing to put on film, I’ll admit, but there were a few things they left out that I really think they should have left in.

The Patronus: When Harry manifests his patronus (expecto patronum!), it manifests as a stag because his father was an animagus who could turn into a stag. Not only did the film not mention any of this, but the patronus didn’t really manifest as an animal except for one quick shot about a second long. Every other time, it only ever seemed like a white “shield” of some nature. They never did address the fact that it looked like an animal. I think that’s an important point.

The Knight Bus: Didn’t the Knight Bus show up more than once in the book? Yeah, I thought so, too. Too bad it was only a very tiny part of the movie.

Moony, Wormtail, Padfoot and Prongs: Harry gets the Marauder’s Map and uses it for about five seconds in the movie; it was much more important in the book. Anyway, when Professor Lupin gets the map in the movie and talks about it like he knows exactly what it is… they never really explain why he knows what it is, nor do they explain the significance of the names “Moony, Wormtail, Padfoot and Prongs” that show up on the map. Those names, which represent Professor Lupin, Peter Pettigrew, Sirius Black, and Harry’s father, respectively, illustrates the relationship between them and sort of provides some insight into their background. We didn’t get any of that. For a story about getting to Harry’s background, they sure left a lot of that out.

We’ll let all of that go, though. It was still a good story and a lot of fun. I’ll get it when it’s out on DVD… I just have to keep in mind it’s a movie and not a book on film.

personal, humor comments edit

Greg was having some problems with SP2 for Windows XP yesterday (he’s beta testing) and had to reinstall. He decided to do the installation in an unattended fashion and used the command line option “/passive” to accomplish that. I started thinking about that particular command line option and how it’s almost like a clinical diagnosis of the behavior of the installer rather than a technical option and then decided that in future programs I need to follow that same standard. As such, here are some command line options I’m contemplating for programs I write in the future:

/passiveagressive: Install unattended and force overwrite of any old file versions without asking.

/obsessivecompulsive: Verify all data written… twice.

/histrionic: Confirms every disk I/O operation.

/masochistic: Deletes any trace of itself on uninstall.

/sadistic: Deletes all user data. Display delete notification message after operation completes.

/dependent: Only installs if you’re installing other, related products at the same time.

/paranoid: Require authentication prior to performing any action.

/avoidant: Run in “standalone” mode; ensure no communication between itself and other programs.

/antisocial: Allow incoming communication with other programs but never send outgoing/response messages.

/schizoid: Display terse messages.

/schizotypal: Display all messages like standard Windows messages, particularly with regard to errors. Refer user to incomplete or nonexistant documentation if they want more information.

/narcissistic: Set process priority to highest possible setting.

/cyclothymic: Simulate unreproducible, periodic errors to test system fault tolerance.