Tunnel Rat posted on November 29, 2006 17:08

Charlie was bloviating again. Three cubes down, he was going on and on about Active Directory, impersonation, authentication…yadayadayada. Dweebs like Charlie love an audience, and the victim that day was Ferris, a systems guy. He was the Supervisor of Network Systems, or something like that. He dealt with hardware, installing applications and mapping printers.

So why was he dialoging with Charlie? This happened every week; Charlie was writing some application for Ferris, but I wasn’t sure what. I drop an email to Ferris.

“Can we get together sometime and discuss the apps that Charlie is working on for you?”

Ferris met me the next day in a conference room with a big whiteboard.

“I’m sorry, I didn’t even know Charlie reported to you. I have a standing meeting with him on Thursdays. You should probably be in on that,” he said.

Nice. I’d been there a month and there were people who still didn’t know who I was or what I did, or who reported to me. Good job, Mr. Whiteboard. Outstanding way to spread the word and integrate me into your organization, you blank-faced creep.

“No, problem. I’m just trying to get a handle on what Charlie is working on,” I told Ferris.

We spent the next hour diagramming all the various web sites and interfaces that Mr. Bill wanted, and the numerous single-user apps that Ferris had Charlie working on. Small stuff, but a considerable amount of work in its entirety. Apps that integrated with Active Directory and the HR system, apps that talked to eTicket, stuffed that moved data around. After the whiteboard was filled with chicken scratchings, I asked Ferris what he needed done right now.

“There’s this Phonebook Admin tool that Charlie almost has done,” he said. “The phone dude needs it to manage all the different extensions.”

“Ok, I can’t promise anything, but I’ll get all this work in the queue, prioritize it and see about getting some of it wrapped up.”

I went back to my desk and cracked open SourceSafe. Now, in a normal, healthy organization (is there one?), I would have just walked over to Charlie and asked him for a status on these projects. But since he wasn’t even answering my emails, I figured I'd get better results by snooping around the archives then by trying to get meaningful data out of that surly, evasive, ground-dwelling turd.

I started at the root and drilled down to what looked the stuff Ferris was talking about. Nested three projects deep was a folder called “PhoneBookManager.” I dragged the source code down to my PC.

Man, that’s a lot of code I thought as I watched the “Copying files…” dialog. I fired up VisualStudio and started digging.

A half-hour later, I finally got the app to run. What I had stumbled upon was Charlie’s sandbox – a one-page, one-user app that was going to be his pilot project for every new technology he was curious about and wanted to explore. Never mind that the users were clamoring for basic functionality and Mr. Bill was pissed that the Online Inquiry app was late. Nope, Charlie had more important business to attend to.

It was like an elevator to the moon.

This measly one-page web site did nothing more that manage the data in a single table that stored user names and their phone extensions. But in this app, Charlie had managed to incorporate Atlas (Microsoft’s feeble attempt at Ajax), web services (required by Atlas), and his own hand-rolled framework of data classes and security components.

Now, without any supervision and no accountability, most developers would go hog wild and do what Charlie had done, which was basically turn the company’s IS department into his personal playground. Not that it made any fiscal or strategic sense, but Charlie didn’t care. He was having too much fun.

I had come across Ajax development not that long before. It was a hot new technology, but very demanding. It involves a lot of asyncronized communication between the web client and the web server. In its purest form, it requires tons hairy JavaScript. After writing a few Hello World apps with raw Ajax, I found some third-party components (ComponentArt) that encapsulated all the nasty client-side stuff. With Ajax, you can create slick web pages with UI features that used to only be possible with Flash.

It drove the creative types crazy, because now a lot of their wacky designs could be done in ASP.NET, with all the benefits that a non-Flash application has. Things like readability, reusability, object-oriented development; concepts completely alien to the pierced-eyebrow, perpetual three-day beard, dingy ball cap crowd known in the trade as “graphic designers.”

But Charlie was doing it all wrong.

He had jumped aboard the Atlas bandwagon. Atlas was Microsoft’s lame attempt at competing with the Google-driven onslaught of Ajax-enabled websites that were all the rage. Things like Google Maps were full of high-fidelity web interfaces with minimal postbacks and all sorts of eye-candy. As usual, Microsoft was late to the game and trying to catch up. They had hastily thrown together a mishmash of components that supposedly abstracted the vagaries of Atlas and posted them on a web site.

It was garbage.

Atlas was barely documented, wildly buggy, and a typical Microsoft “lets throw something out there to keep people guessing until we come up with something solid” delay tactic. It was pretty much vaporware. Joel Spolsky called it “Fire and Motion,” just an attempt to keep moving forward. Atlas was for hobbyists and hackers with too much time on their hands. Charlie fell into the latter category.

Now, I'm sure there are some readers that are just dying to flame me and say that third-party tools are a waste of money, and Atlas is a robust Ajax framework, and having to create a web-service to get an Ajax callback to work is no big deal (unless you need to change the URL of the web reference), and I'm just a big pussy because I don't want to get my hands dirty with bleeding edge technology...yadayadayada...

Bullshit.

One of the skills a developer learns over the years is to recognize immature technologies and stay away from them. Atlas was such a technology. Ajax.NET is no better. After all, if Ajax.NET is in beta, what the hell was Atlas? Alpha? For those out there hacking away at Ajax.NET, enjoy. I have better things to do than try to get things like "rounded corners" and "accordians" to work. Now if you happen to work at one of those "not invented here" shops, or your manager is a Cheap I.T. Bastard (more on that later), and your work doesn't involve deadlines or profit motives, be my guest. I myself prefer to drop a server-side control on a page, write a couple lines of JavaScript, and spend the rest of my time setting control properties and working in the code-behind.

Ok, enough ranting about Ajax. I added the PhoneBookManager to my list of crap to cleanup. My whiteboard was filling up quickly.

Posted in:   Tags: , ,
Comments are closed

- Vineet Nayar, CEO, HCL Technologies

Recent Posts

Slumdog Comment Generator

Clueless?
Not Sure How To Respond?
Use the Slumdog Comment Generator!

Calendar

«  October 2019  »
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910
View posts in large calendar

Month List

Disclaimer
The thoughts expressed on this blog may or may not be the author's own and are protected by the 1st Amendment. Any attempt to reveal his identity by contacting a slumdog hack at Google, or a corrupt Desi sys-admin at his ISP will be dealt with promptly and severely. Civil and criminal penalties may apply if one is found to have used private information in an attempt to get the author fired at the Hindu-only I.T. ghetto he currently works at. In addition, any Desi who attempts to burn the author's house down because they are enraged over his writing will be prosecuted to the fullest extent of the law. This isn't India.

© Copyright 2019 Life of an I.T. Grunt


View My Stats