HomeLogout

 



10/12/99: Dr. Strangechat (or how I learned to start debugging and love ASP): Two Weeks And A Couple of Days in the Life of a Chat Site Creator 

PART ONE: Fear And Loathing in WBS 

by The Gline 

August 31, 1999 

1999 wasn't dying fast enough for me. Summer heat finally broke in the wake of what had already been one of the most turbulent and chaotic two-thirds of a year in my entire life. I'd lost and then regained my job, gone through a host of other traumas not worth inflicting on other people, but somehow come out on the other side alive. Creatively, I was in a funk: my new album was not going well; a host of other projects were mired down in doubt and exhaustion.

For my sins, I wanted a mission; and for my sins, I got a chat site.

I had also been a WBS user, on and off, for almost two years, and had met Tewson via said service (and made good friends with him). Celt and Chance were already RL acquaintances, and the four of us had gotten into the habit of regular get-togethers. We had all grown progressively disgusted with the way WBS had not bothered to respond to most of its users' complaints: they seemed awesomely uninterested in addressing even the simplest problems.

That night (8/31/99), we wondered openly how hard it would be to write something like WBS. Given how cruddy the system was becoming, it didn't seem like much of a losing proposition no matter how we sliced it. How hard was it to do something like that, anyway?

"Probably not that hard," I lied. "I've got a really primitive chat system I whomped together a while back that emulated WBS's look and feel. Nothing but No Frames; really only meant for a couple of users at once. But it works. Maybe I could break that back out again and set it up as a sort of provisional thing."

Everyone looked at me.

"Well, keep in mind, I'm no programmer," I was quick to add. Floating around in my mind after every utterance of that sentence was an unspoken follow-up: Well, I could be. Again.

We all agreed: It sounds feasible. (I got smacked repeatedly for using my pet portmanteau phrase "do-able".) All we needed was a stronger reason to bother with it, since WBS, cruddy as it was, still worked. Sort of.

We had a damned good reason shortly after WBS posted their announcement of their incipient assimilation into the "Stop Network", as I called it. WBS itself was being turned off for keeps and absorbed, Borglike, into the system: what would be spat out was some horrible Java-dependent abortion that wouldn't work on most browsers.

Time to shutdown: fourteen days.

Something had to be done -- fast.

We congregated and ate and drank and cursed Go Network, cursed Disney (or "Mouschwitz" as Tewson was inclined to call it), cursed the lazy no-good slobs at WBS for being such sellouts.

"Doesn't surprise me," Tewson said. "WBS hasn't bothered to fix most of their services, like the image cache, for months now. Now we know why."

"Yeah. As if their broken ad rotation wasn't hint enough. Maybe there's another site we can use," I suggested.

"Already looked." Chance drained her Diet Pepsi and shook her head. "Nothing even remotely close to the kind of thing WBS was offering." By that she meant graphical support, luxuriously large messages, and no meddlesome corporate blue-nosing/censorship over the Seven Dirty Words.

"Well, you know what I could do," I said. "Put up the thing I was talking about on the server and get it going."

Everyone looked at me. Again.

I had done some rather pathetic dabbling with programming when I was younger; I'd tried writing games and had always given up after designing the opening graphics. I had had no patience, but part of that stemmed from the fact that I had never gotten any feedback or payoff. Now the possibility of both was pretty immediate, so maybe I'd learn as I went along... for as long as it took to get something together for a couple of people to knock around on, until we found someplace else more professional.

"Something else we may want to do," Tewson said. "I distinctly recall WBS stating at one point that they were going to make the code for WBS public. You may want to follow up on that. If we could use their code, it might help us out a bit." Being a pressperson and knowing my way around a PR agency or three, I agreed to give them some phone calls. 

None of us had any idea what we were about to get into. 

September 1

That night, I broke out my old code and gave it a look-over. I'd written the whole thing more as a way to try playing with Microsoft Access, the database program, than as a way to actually write a full chat site. An exercise; a way of getting familiar with the territory. Nothing more robust than that.

I'd also done it as a way to give myself a brutal little crash course in ASP -- the programming language used by Microsoft Internet Information Server. As I scrolled past screenfuls of code and fussed over the machine I'd set aside to use as a server, I just knew some dipwit was going to give me no end of guff for using Micro$loth products instead of putting it together in a real OS, like Linux. 

[Author's note: Someone did. And was dealt with most harshly. More ((or less)) on that in a later installment.]

Well, the hell with them, I growled. I had two weeks -- thirteen days, actually, not even two weeks -- to make sure my "interim solution" worked. I didn't know Linux well enough to write anything in it. I knew Windows NT; I knew IIS; I knew ASP just well enough to figure out the rest of it by blundering along and doing the most direct and heartless On-The-Job Training possible.

Programming is in its own way one of the most self-correcting of disciplines. Either you know what you're doing or you don't; there are almost no magic whack-it-and-see solutions. And I knew just enough about what I was doing to be either very useful or very dangerous.

It took me two more days to make the system sputter and cough to life. It didn't have one-tenth of the features of the old WBS, and it looked ugly as hell -- it still does in a lot of ways -- but it ran. Sort of.

Meanwhile, a little calling around at Infoseek had yielded some names. I left some politely non-specific voicemails on some voicemail boxes, being sure to highlight my press credentials, and then went back to work.

September 4

That night, I gave a holler to Tewson, Celt and Chance and gave them the URL for the server. Only one handle per user was allowed, and HTML coding was allowed in posts simply because I hadn't written anything to screen it out. It was disgustingly crude; I felt like I was building a 747 out of spit and baling wire.

We all signed on at once and happily posted away.

Gline: I'm amazed I got this far in only a couple of days.

Tewson: You're amazed!

Chance: Makes three of us! So what's next?

Gline: Handles, obviously; security; a cleaner front-end.

Celt: Streaming? Frames?

Gline: Those go without saying. But in the long run. Right now we need this thing to be functional, not fashionable.

Ten days left. The ticking in my ears was not a clock: it was my blood hammering away. I had never been so nervous in my entire life.

Infoseek had not returned my calls. And at the same time, I couldn't help but wonder how useful their code was going to be, and I voiced my concerns to the rest of the group:

1. We had no idea what language the code was in or what platform it ran on. Perl? Useful, but not without work. C++? Teaching myself C++ well enough to recompile source code intended for another platform (since I had my grave doubts they were running good ol' NT on their cluster) in the remaining days seemed like a losing proposition.

2. We had no idea what the back-end database structures were like. Reverse-engineering those promised to be a nightmare.

3. We had no idea what the security verification for their system was like. And asking for any details about that would probably smack of the Iraqi press going to the Allies in the Gulf War and saying "Where are your planes? And can we count them?"

And so on.

On the whole, I wasn't against getting the code if it could be useful somewhere along the line, but I suspected that it was going to be a non-issue if things went the way I suspected they would.

They did.

September 8

A lot of stuff went live at once that night: multiple handles, a primitive security system, and (to my own surprise) Frames and No Frames, both. Writing them turned out to be less difficult than I had anticipated; I figured I might as well implement them both at the same time, since they used almost exactly the same code, just in different layouts.

I invited everyone on board. They were, quite simply, astounded. The system worked, and what's more, it worked damn near flawlessly. One of the features I'd built in from the beginning was the ability to change handles on the fly, and I watched with glee as Tewson jumped from one handle to the next like a giddy school kid changing school-play costumes.

For one, none of us had ever said flat-out LET'S CREATE A CHAT SITE. I still believed that this whole thing was a provisional measure at best -- something for a few people to knock around on and goof off with until they found something better.

That was before I realized, what we had might be that better thing.

We had seven days left. We figured it was time to start beta-testing. And that's when the shoeshine really hit the fan. 

TO BE CONTINUED

 

What can I say about the Gline that hasn't been said? Veeblefetzer, that's what.