in Search
Welcome to Neopoleon - Sign in | Join | Help
Navigation: Home | Forums | Galleries

The hobbyist coder *matters*

[Warning: This post is rated PG-13 for mild adult language. Children under the age of 13 should be accompanied by a parent or guardian (but not, repeat, not Michael Jackson).]

If there's one thing I like, it's the opportunity to clarify my point of view over a controversial topic.

Some of you may recall (and some of you will never forget) Kathleen Dollard's essay in "Visual Studio" magazine entitled "Save the Hobbyist Programmer."

Some of you will also recall my response (which was actually up before the article printed, in case you're wondering about the dates on my post and the article).

It seems that Rogers Cadenhead certainly remembers it. At least he seems to remember, but memory can be tricky - even when we have the original post to which we can refer, or the cached Google version if you prefer to see it from an independent source, it's still possible to make mistakes.

Rogers was putting together what he calls a "hack" using FileMaker. If you've never used FileMaker, then think of something along the lines of Access Forms. It's a nice little tool to get data in and out of a database. Rogers had this to say about it:

The FileMaker hack reminded me of Save the Hobbyist Programmer, a controversial essay in the February 2004 Visual Studio magazine by Kathleen Dollard. She argues that casual coders are being left behind by increasingly complicated Microsoft development tools, a problem viewed as a happy outcome by professional programmers...

The words "happy outcome" linked to my post which was in response to Kathleen's opinions. What strikes me as odd is that Rogers is implying that I'm happy that hobbyist coders are left behind. Nowhere in my post did I say that I was happy about this.

The gist of my argument was that I thought Microsoft shouldn't sweeten the Visual Studio experience for hobbyists at the expense of professional developers. I'm happy as hell that we have the "Express" products coming out, and as I've been learning more about InfoPath lately, I've seen that it's a fantastic tool from which hobbyist coders could get a lot of mileage. If Kathleen's argument had come out just a couple months later than it did, with full knowledge of the Express line of development products available to us, there wouldn't even have been an argument. It would have been another quiet day in TechLand. As far as I'm concerned, the problem of the hobbyist programmer was solved the day we learned about the low priced alternatives to VS.NET 2005.

So, why am I going on about it again?

Because Rogers went a bit further:

For job security reasons, I can understand why pros believe that software should only be created by themselves.

...

If someone with expertise outside of programming can make a task easier through a scripting hack or database kludge, isn't that exactly what computers are supposed to be for?

I think this argument is pretty low. Software developers have enough sh*t going on right now that they shouldn't have to worry about accusations that the only reason they don't want hobbyist coders coming through and hacking together solutions is job security.

Let me be a little clearer.

When Rogers says that "If someone with expertise outside of programming can make a task easier through a scripting hack or database kludge, isn't that exactly what computers are supposed to be for?" he's right...

...to a certain extent.

A computer is a tool inasmuch as a hammer is a tool, or a good, heavy rock is a tool. A tool is something that people use to make their jobs easier. I'm fine with that. A computer is a tool, and computers can make your life easier.

What about plumbing? If my toilet explodes, I can go to the store and pick up a set of tools meant specifically for dealing with exploding toilets.

What about auto repairs? If my car explodes, I can go to the store and pick up a set of tools meant specifically for dealing with exploding cars.

What about hardwood floors? If my hardwood floor explodes, I can go to the store and pick up a set of tools meant specifically for dealing with exploding hardwood floors.

There are tools out there to handle many different jobs, and they are typically not too hard to get a hold of. This goes for software development tools as well.

There's something that doesn't come with the tools, though: Expertise.

If my toilet explodes, it might take me ten times longer to fix it than if I were to call a plumber. In that time, I'm missing out on doing the things that genuinely interest me, or the things I need to do. Sure, I bought the tools, but that doesn't mean I know how to use them efficiently.

I'm even OK with the reality that a plumber might charge me $80 to do a job that I "could" do on my own for 1/10th the cost. The difference is that, while the plumber does what he does best, I can go do what I do best. At my old billing rate as a consultant, I would have lost a lot of money by not paying the plumber ten times the actual cost of the repair for him to do it. If I do the job in five hours, and if the plumber quoted me $80 to get the job done, then I've basically hired myself to work at the rate of $16 an hour. Guess what: I made a little more than that as a consultant. Those are billable hours, sweety.

In addition, if something goes wrong with the repair, I can call the plumber up and say, "Hey, motherf*cker! You broke my god damn toilet, you dirty son of a bitch! Get over here so I can kick your ass!"

If my toilet breaks after I fix it, then whose ass am I going to kick? Mine? Are you crazy?

If I can rig together an A-Teamesque repair for the AC in my car, then what happens when that "repair" commits suicide a couple weeks down the road? Fix it again? Well, since I'm the one responsible, then you bet your hot buns I'm the one who's going to fix it again (and again (and again (and again (and again (and again (and again (and again (and again)))))))).

How much time am I going to spend repairing that car? In the end, how much money did I really save? How much time did I lose? How much did I spend on parts? How many parts did I ruin because I didn't know how to properly set them? How many fingers have I lost to power tools? Where's the benefit?

Expertise, which is not included with the tools, delivers peace of mind, (hopefully) a job well done, and some culpability (as long as you, the customer, are smart and don't let the contractor/plumber/whoever get away with murder).

I'm not saying that people shouldn't hack together their own solutions to problems. Sometimes you can't afford a plumber. Sometimes you just want to do it yourself. To that, I say: Go for it! The tools are there!

But don't think for a minute that the reason the professionals argue that their tools shouldn't be dumbed down has to do with job security. In some cases, I'm sure it does, but for the most part, that's just poppycock.

Why don't we take the teeth off a carpenter's saw to make it safer (although slightly less effective) for the hobbyist? Or the more advanced buttons (multiply and divide (whoah! hard stuff!)) off an accountant's calculator for the casual, armchair number jockey?

Sounds ludicrous, eh?

Makes you wonder how Rogers arrived at something like "Coders want better tools so that they can maintain job security."

Well, it makes me wonder that, anyway.


After Blog Mint [?] :

If you haven't read Tom Servo's blog yet, then... well... I guess you haven't.

Published Wednesday, September 01, 2004 12:56 AM by Rory

Filed Under:

Comments

 

Jason Bunting said:


Preach it!

It is ludicrous.
September 1, 2004 4:38 AM
 

Mike Prilliman said:

And on the 0x1000th day God begat VBA and said unto them, "Be fruitful and hobbiest thyself away, but keepest thy grubby little hands off my divine toolset."
September 1, 2004 6:25 AM
 

Duke of Wellington said:

Yeah, he really attacked you there.

His link plus the two words 'happy outcome' needed some sort of immediate 1300 word response. Keep it up, if you let your guard down for a single second then people like Roger will own the web, plus destroy the entire software industry with turdmaker. Probably.

Btw, try to avoid snacking late at night, plus remember that tea actually contains more caffeine than coffee.

:-)
September 1, 2004 6:46 AM
 

John said:

>> "If someone with expertise outside of programming can make a task easier through a scripting hack or database kludge, isn't that exactly what computers are supposed to be for?" <<

I'm glad there are people out there with that attitude. It guarantees my job security. :)

While I'm busy working on my current project I rest easy knowing that someone is out there kludging databases and hacking scripts together. I know there'll still be something for me to fix next week.
September 1, 2004 8:41 AM
 

Randy Jackson said:

"...I just want to click a button in this Access form and have all these fields (shows me several Access tables) show up so I can print them. I don't see why I can't just put them on this form and print. (I try to say something) Stop explaining unique IDs, I don't care. (I attempt to explain) No! You can't sit at my computer, just show me from there, just tell me what to do! You're the expert we hired! I want you to just show me how to do this simple thing!" Lots of swearing...here...
This was the Director for a well known hospital. He had learned Access over the course of six months and wanted to print his reports. I was there to do another strange task programming task and had been summond to his office to show him the magic fix that his experience with Access had led him to believe was there somewhere, just needed me to show him the magic button. After he yelled at me some more I was in the process of telling him to go to hell as my contracting rep walked in the door. I finished the job I came to do that night but the hospital didn't want to pay me because I was supposed to be an expert and couldn't even explain a simple proceedure to the hospital administrator. But they would use my application for the other thing. I got paid...eventually.

Some of our MS tools sure make things look easy in the begining. . I had fallen into that same trap many times. I could understand the director's frustration. He still didn't have to yell at me.
September 1, 2004 12:29 PM
 

Phil Scott said:

I'm not going to lie, if I was 13 nowadays, I probably would have never gotten very excited about programming. VB.NET would have been far, far too complex for me to get going compared to good ol' QBasic (plus I stumbled upon Qbasic because it came installed on my PC). I probably would have gotten freaked out at the term solution, project, class library, windows service, etc. And I probably would have at that point gone outside and played some basketball. Sure, Microsoft would probably be helping me with the ladies, but my current career would be drastically different.

And don't even get me started on IBM VisualAge which is the IDE that my university decided to use for Java development. Holy crap was that thing a beast to deal with. I didn't learn a damn thing about Java, only that IBM VisualAge sure has a lot of options and windows. Nothing like being presented with a thousand different options that made no sense when all I wanted to do was create a dorky Java applet to animate a B-Tree or something. I almost immediately went back to TextPad and JavaC for compiling, and came to the probably incorrent assumption that Java sucks for productive development. But based on that experience, I still shy away from Java, and haven't really jumped in since then. Do what you want with this knowledge, but when I was doing training for ASP developers moving to ASP.NET in VS.NET, I'd get all kinds of questions that remind me of my experience with VisualAge.

Anyways, I still contend that Microsoft needs to create a DirectX Game Engine that is easy to work with so that your average developer could put together 3D games without needing to take linear algebra and advanced college physics. And then make it so you could burn those games and play them on the X-Box. It will bring back the glory days of Gorrillas, which I think we all agree is a good thing.
September 1, 2004 12:57 PM
 

TomB said:

Well said Rory. I agree that the Express tools are a godsend. The whole idea of "dumbing down" a product is ridiculous.

I would also suggest you consult the professionals about these items you have that keep exploding.
September 1, 2004 1:21 PM
 

Alan Dean said:

Excellent points.

I would rather see 'hobbyists' and 'amateurs' using Express .net products than VB6...

I agree with the observations about expertise. This reminds me of the adage: "The man who represents himself has a fool for a lawyer"
September 1, 2004 1:38 PM
 

TomB said:

I just RTFA. Did you catch the line "I can verify that the programs work, through testing, but sometimes lack the expertise to understand why."

Reminded me of Scott Hanselman's blog about "Coding by Accident." I thought that was the title, and I think it was Scott. But I'll be darned if I can find it.
September 1, 2004 1:53 PM
 

Aiax said:

>> "If someone with expertise outside of programming can make a task easier through a scripting hack or database kludge, isn't that exactly what computers are supposed to be for?" <<

I like it when this kind of thing happens. It ensures I always have work to do cleaning it up, thus, job security for me :)
September 1, 2004 3:03 PM
 

Benjimawoo said:

</lurk>

But where's the fun in having dumbed-down tools anyway? Yes, yes, I will put my hands up and say "I am a hobbyist programmer!", "I do it for fun, not cash!" (feel free to throw rocks now...)

But the thing is, programming is complex. Fun, but complex. So don't easy tools take half the fun out of it? If you want an easy hobby, why not take up cactus breeding? But what's the point of deciding to do something really difficult, and then moaning that it's too difficult? Am I missing something here?

Just wanted to share.

<lurk>
September 1, 2004 3:14 PM
 

Rory said:

Duke of Wellington -

"His link plus the two words 'happy outcome' needed some sort of immediate 1300 word response."

::shrug::

The link to me is what got me to notice his post - what I'm really arguing against are the rest of his points (plus, I was obviously misrepresented).

On another note, one of the fabulous things about having a blog is that I can write about whatever I want, and nobody has to read a word of it. I had fun writing the post, and that's more than enough justification for me.
September 1, 2004 3:40 PM
 

Rory said:

Phil -

"And don't even get me started on IBM VisualAge which is the IDE that my university decided to use for Java development."

ARGH.

I messed around with VisualAge a couple years ago and couldn't even begin to get anywhere with it. That tool is foul.

After getting really frustrated with it, I just downloaded a copy of NetBeans. Much, much easier to work with. Still slow as all hell since, like most Java IDEs, somebody thought it would be a good idea to write it in Java, but it was free and it worked.

But VisualAge... Fie on it! Fie!
September 1, 2004 3:44 PM
 

Rogers Cadenhead said:

I linked your post to the words "happy outcome" because so many of your respondents want to see hobbyist programmers disappear.

Pro coders seem to be missing the fact that hobbyist coders do a lot of programming that would never be written if a pro had to be paid to do it. No one was going to pay for a database hack that makes my wife's work week incrementally more productive. No one's going to pay for it to be fixed if it doesn't work.

However, there is one group of coders getting paid here: FileMaker developers. Every one of the hobbyist database hacks like mine helps sell the benefits of the software.
September 1, 2004 3:44 PM
 

Rory said:

Benjimawoo -

"But where's the fun in having dumbed-down tools anyway? Yes, yes, I will put my hands up and say 'I am a hobbyist programmer!', I do it for fun, not cash!' (feel free to throw rocks now...)"

Hey - no rock throwing :)

For what it's worth, I'm a hobbyist coder now, too. Since my job is to go around and give presentations, I can no longer claim to be a pro.

Believe me - We're on the same side here...

There's no shame in being a hobbyist. I just don't want to see the tools modified for th-... er... well...

...*us*.
September 1, 2004 3:48 PM
 

Randy said:

There's an A-Team shrine in the UK? When did that happen?!

Oh, and, um, well I've talked about all of the other stuff before, so yeah. What you said.
September 1, 2004 4:01 PM
 

Rory said:

Rogers -

"Pro coders seem to be missing the fact that hobbyist coders do a lot of programming that would never be written if a pro had to be paid to do it. No one was going to pay for a database hack that makes my wife's work week incrementally more productive. No one's going to pay for it to be fixed if it doesn't work."

I agree - kind of. I'm fine with that point.

It was your argument about coders not wanting dumbed-down tools because they wanted their *job security*. That argument really pissed me off - it might be true in some cases, but most developers I know actually want to get their work done, and that requires some hefty tools.

"However, there is one group of coders getting paid here: FileMaker developers."

Right! And *I am all for that*! Seriously.

Also, Access Forms developers and InfoPath developers.

I've been preaching the benefits of InfoPath lately because clients of mine in the past had asked me to do jobs that weren't worth my time, but which could have been done *very* easily using a tool like InfoPath, and could have been done by the business owner/manager/janitor/whoever if need be. I think that's *great*.

But, look at the tools: InfoPath, Access, and FileMaker are the *right tools for the job*. A hobbyist developer can go far with them. Visual Studio, on the other hand, is not meant for hobbyists - if they can figure it out and do great things with it, then more power to them. However, I don't want to see VS.Net turned into a FileMaker just so that some small business owner can hack together a DB app.

I'm not arguing at all that I think hobbyists should stay away from VS.NET (and other similar tools), but simply that they should accept that they're dealing with a tool meant for pros and that hacking together that small DB app won't be as easy with it (as it would be with InfoPath, etc.).

A hobbyist who approaches VS.Net with expectations that it will be simple is someone who is expecting the wrong thing.

It reminds me of a comment I got from an audience member yesterday during my MSDN event:

"I don't use computers very much except for the internet."

She gave me an *extremely* low score on my evaluation. Why? Because she had expectations about the talk, and the talk didn't meet those expectations. Did she want me to turn her from a user to a full blown developer in one short afternoon? I don't know.

In the same way, I'm irritated by the thought that someone who doesn't know what they're doing would approach VS.Net and complain because they weren't able to slop together some little kludge.

I wish more people were better at aligning their expectations with reality, rather than getting angry and trying to make reality align with their expectations.

Anyway, pardon the rambling. I'm writing quickly because I have to check out of this hotel in a few minutes and I'm not packed yet...
September 1, 2004 4:01 PM
 

Jeremy Brayton said:

Ask a hobbyist this simple question:

Would you rather get paid for the programming work you do? Or would you rather work on it for free?

The bulk of your answers will always be "Pay me". The only time it doesn't really matter is if they're working on Open Source, but even then I'm sure some of the people working on say Mozilla would love to be paid for it. The only time I don't see this happening is if a coder is making their own design and don't really want to pay themselves for the work they do. They are paying themselves, but not using money.

I'm glad there is the Express version of VS.NET and there probably should be more "Express" type products. Microsoft Works should be renamed to Microsoft Office Express. Adobe could benefit from a Photoshop Express (Basically Paint Shop Pro) or Premiere Express as well. There are a couple of products on the market that need years of certification and training to master. Those products should have Express versions so that a hobbyist can transition from just a person interested in the field, to someone who's actually making a difference. I would love to have had this back in College because I could have figured out early on that Computer Science and programming 8+ hours a day wasn't my idea of a job. I could just pick a hobby, get the hobbyist tools, then look for ways to "upgrade" my skills to a professional level. It's akin to Bob Reselman's apprentice-like approach he proposed in Coding Slave.
September 1, 2004 6:04 PM
 

skicow said:

Phil Scott - "It will bring back the glory days of Gorrillas, which I think we all agree is a good thing."

Mmmmm....exploding bananas...*drool*
September 1, 2004 6:15 PM
 

Tim said:

"For job security reasons, I can understand why pros believe that software should only be created by themselves." (Doubled over laughing)

My wife has told me on numerous occasions no one could pay her enough to put up with the tedious crap I sometimes get. IMHO, the dumbed down tools were a matter of cost, not intelligence. How many FileMaker pro developers would there be if it was $1500 a seat?

On the other hand I have seen people shell out serious money on hobbies. Rocketry, model airplanes, video games & costumes can run into thousands of dollars over time. I believe I stated this the last time this was brought up. If you are serious about programming as a hobby, you'll learn VS.NET, or Eclipse, or Emacs, or whatever tools pros use.
September 1, 2004 6:49 PM
 

TanbaSruli said:

Wait a second, you can get a plumber to do *ANYTHING* for $80? On the East Coast, it's $100 the second they walk in the door, $100 for every hour after the first....

Seriously, most professional programmers in the private sector that I know are simultaneously professional and hobbiest programmers: They use professional tools (expensive IDEs, SQL editors, etc) for the languages/techs they work in the most, and free/hobbiest tools for those technologies that they use infrequently in their day-to-day jobs (b/c they don't have the time to learn the most complex environments for those techs and could never successfully justify their cost to their procurement dept's). B/c of that, I don't know any pro developers that want hobbiest tools to go away.
September 1, 2004 7:57 PM
 

Duke of Wellington said:

I was only kidding Rory, when you get so tense? Humor can work both ways you know.
Of course, this is your blog etc and I did enjoy reading it. I came here to see the MSDN cartoons - http://www.hanselman.com/blog/PermaLink.aspx?guid=16e59e03-a2e9-4ffe-8a4f-788d95f31b14

::shrug2::
September 1, 2004 8:04 PM
 

Rory said:

Duke -

"I was only kidding Rory"

Oh. Whoops :)

You have my apologies.

Carry on, then...
September 1, 2004 10:14 PM
 

John Brown said:

I'm actually a psychologist/programmer, so you might say that I am a hobbist. If I pulled a head to head with Chris Sells, I sure as hell would look like one.

Why do professional programmers have to be so goddamn arrogant.

Now, consider TJ, the first reply to your original post. This is a self described big shot comp sci programmer. Well, first of all, having a degree in CS today does not mean anything like what it meant in 1987 when I first started programming in pascal (line editor on vax, wahahahaha). Programming back then was hard. Programming today is pretty easy. It's not that difficult to get a CS degree (if you go to MIT, etc, it can be pretty hard), but just to get a CS degree, shit, I know an academic department that was dolling out IT masters for doing a bit of C# programming (this was a civil engineering department, btw (at MIT LOL)). OK. So what I am saying is that the ranks of the professional programmer is being filled with people with little computer degrees from various little schools around the country, and are becomming professional programmers. Along with it, they are taking on an arrogance that previously was reserved for real computer scientist, like, for example, Richard Stallman.

Now, take TJ. TJ does not want to be compared to the guy who picked up VB/Access in his spare time. This is becuase TJ, with his extensive training in CS, has paid his dues and is ready for the big time with C#. Even VB.Net makes him sick. He also reckons that it takes a specialist to handle OOP. So, if you can't do OOP, stick to VB/Access. Moreover, you're a looser if you don't rename Button1 to OK_Button_and_btw_the_only_command_button_on_the_form.

Now, it's really not nice to pick on TJ, but frankly, I am really started to become irritated by the arrogance that has infested the field of software engineering. It seems that as time goes on, and more and more people enter the field, along with the reduction in raw talent that comes with this, the arrogance of your average developer appears to increase.

Look. Programming in Access was hard. Programming in VB was hard. Programming in VB.Net is every bit as hard as programming in C# (well, I mean, they're the same godamn fucking language already get the fuck over it). I liked VB6. It was way, damn cool. I could write an Active X control with VB6 in 1/5 the time it took me to do it with ATL. (I never even tried raw COM) And, as for Access. Ahhhhhhh, you know, that was great stuff. It was soooo cool that now MS is building Access like features into SQL server (.Net language support?). And, you could do stuff with access, real stuff, that people cared about, and TJ, my boy, it wasn't easy. Maybe the stuff you used access for, while you were pumping out your databound gridded forms was easy, but, with Access, as with VB6, the rabbit hole just kept going down -- and it got hairy pretty quickly. Wasn't Appleman's book wonderful. I was really upset when I installed VS 2003 and found out (for the first time) that VB was dead. I mean - it was cool.

Now, really, when someone like TJ (sorry buddy, but you were first), starts to mouth off about C# as the promised land of real programming bliss, are we really supposed to believe that he has anything at all intelligent to say about OOP. "VB6 and Access suck, if you can't do OOP (C#) you're not a real programmer." I doubt it. This is a typical remark from your average (and I mean AVERAGE) modern professional programmer.

I believe that, in the "trenches" TJ is becomming the rule, rather than the exception.

Now, Rory, for a critical point - dumbing down! I love .Net. You know why? Becuase it is the Dumbed Down version of Windows programming. And, the more dumbed down -- the better. I want to do:
string a = "lovely";
s += " ";
s += "day";
Not
char[] a = "lovely";
char[] b = "day";
char* c = malloc((length(a)+length(b)+1+1) * sizeof(char));
if(c==null){
exit(1); /* lovely hurling */
}
/*really cant remember now*/
strcpy(c, a);
strcpy(c + length(a), ' ');
strcpy(c + length(a) + 1, b);
/* \0 has been abstracted away, horray */

I don't want no mo seg Vs honey bunny.

I want a dumbed down version.

I want to say
label1.Text = "Hello " + Database("DotNetNuke").Table("Users").Row("ID", 34).Name + ", How the hell are you?";

Then, maybe I could (I don't know the new vb syntax, so I'm guessing)

Dim s as String
s = "Spend time with the kids"
My.Saturday.Do s
End

Long live the dumbing down of MS products.

Long live OOP
as soon as a programmer mentions OOP, you can immediately categorise him into one of the three Carlin Categories - stupid, full-of-shit, fucking-nuts.

Remember: "dumbing down" (so-called) does not neccessarily mean "handicapped". I could write ActiveX components in VB6. Do you think TJ could write ActiveX components in C. I doubt it. I reckon he couldn't even do it in C++. ATL? MFC? Maybe -- if you gave him long enough.

Read the daily WTF, and remember, the worst code you ever saw was written by your coworker/boss/self, not the hobbist.



September 2, 2004 12:05 PM
 

John Brown said:

BTW Rory ... I love your show! Thanks to you guys, I have adopted DotNetNuke as my web ui wrapper, and am pissing away countless hours trying to figure out how to get Dollard's code or CodeSmith w/ Rocky's framework to write my application for me. No luck so far. No free lunch. Anyway, I have you guys to thank for me pissing away the last 3 weeks with these technologies. Now, I really need to go to bed.
September 2, 2004 12:16 PM
 

John Brown said:

Remember Visual Studio is a Dumbed Down version of notepad, a dumbed down version of vi, .... punch-cards, etc.

seen any coding dolts using vi lately?

I'm being obsessive.

TJ got my blood up.

Sorry.
September 2, 2004 12:25 PM
 

Rory said:

John -

I'm definitely writing a response :) However, it won't be up until much later. I'm about to leave the hotel and head out for work, but I ought to be home by about 11:00 tonight (PST) - hoping to have a response cobbled together by then...
September 2, 2004 12:55 PM
 

Tim said:

John -
"Why do professional programmers have to be so goddamn arrogant."
I always thought it was because of the obsessive need to keep working over a program until it is just right. But after working on some home improvement projects and finding the same attitudes from professionals there, I guess it is just an occupational hazard.

"I believe that, in the "trenches" TJ is becomming the rule, rather than the exception."
Bashing users of other languages has been going on for a long time. VB, Java, C, Smalltalk, Lisp, Asm, Ada, Pascal, Delphi, Clipper, Xbase, Modula. Pick a language, and anyone who uses it is stupid according to others. I personally liked Rory opinion a while back that if it gets the job done, use it (not an exact quote, though).
How many of you professional programmers can determine a crash from a core file? I am one of the few at my company.

I reread Kathleen Dollard's essay just now. I was loaned to a Java team a month back, and it gives me a new perspective. MS is not the only one complicating things. POJOs, JMX, JMS, JSTL, EJB, Hibernate, XDoclet, Struts, Cognos, and that's the short list, and none of these came from MS.

"seen any coding dolts using vi lately?"
Still use it from time to time. It can come up ready to edit before I get the splash screen for VS.NET. I use notepad a lot as well for the same reason.
September 2, 2004 7:59 PM
 

John said:

> On another note, one of the fabulous things about having a blog is that I can write about whatever I want, and nobody has to read a word of it. I had fun writing the post, and that's more than enough justification for me. <

Not good enough I'm afraid Rory. You are a part of the Microsoft PR machine now. You will increase share holder value. You will do what you are told. You will make everyone happy.

:)

John (I'm just doing my job; I still love you; hate the game, not the player) Elliot.
September 2, 2004 8:31 PM
 

John Brown said:

In my book, developers with a professional attitude, are, by definition, not arrogant. There are plenty of these. They're the silent ones.

Then you have the real hard core computer geek -- I don't know if there are many of these animals left -- I encountered a lot of them in the early '90s. I reckon that these guys have spent so much time at the bottom on the social dominance hierarchy, that, in revenge, as soon as you drift onto their turf, the treat you with palpable contempt.

What I was after in my post is a third kind, the relatively new enterprise developer, who (ironically) essentially owes his existence to Visual Basic (or equivalent). Affordable hardware (unix servers) and software (Sybase) essentially threw the business world into a spin becuase of the suddenly realistic possibility of automating a huge chunk of their business process. The idea was that an initial investment would pay off in spades. The only way this could be done was with "dumbed-down" or "productivity" tools, like visual basic or Borland ???. Suddenly, you didn't need 10 years of experience, all you needed to do was grope around the tool box, drag a picture onto the form, and hit F5. Hit and miss, trial and error, and you could keep the manager off your back. These hobbyst tools provided enough structure to keep the whole thing limping along.

Ok, that was the promise. The "productivity/hobbyst/dumbed-down" tools suddenly made it possible to write business applications without having to know SQL in any depth, never mind implement your own network socket layer. So, the pressure was on the IT department -- get VB and Sybase, get that stuff off the main frame, and automate our business process, and here's some money.

Wonderful. The golden age of IT -- the roaring 90s. Problem is, who are you going to get to write the software. No computer science specialist worth his salt was going to touch it. At MIT in the early 90s, the intro programming class used scheme, and nothing you learned in that class (or subsequent classes) would help your write an enterprise client/server (or three tier app). No one cared. Teaching C/C++ was way way beneath them. These guys didn't care about the book catalogue of Basic Books. The Civil Engineering department offered a course in C. Why? Becuase it was the only way to get students at MIT to take a Civil Engineering course (the dept has around 10 seniors every year). But these guys were mechanical engineers, or electrical engineers, at that time they wanted to use C for engineering problems.

So enterprise started hiring whoever they could find. Suddenly there was a hugh multi-tiered software development job market. All kinds of talent and no-talent. They made such a goddamn mess of things (a good chunk of whatever structure was in these systems was provided by the dumbed-down-ness of the development tools). Thus the tiers started to appear. High power consultants (among them some real talent) were hired at $150/hour a pop to clean up messes made in house and to provide expertise that simply could not be developed in house. This was the time of the great "failed-project" awakening, hundreds of thousands of dollars spent on an in-house product that never materialized. This was the enterprise architure problem. Not enough talented developers, a bunch of god-awful legacy applications written by monkeys, but which appeared to work, cost the company a fortune, and which management was very reluctant to rm -rf *.

There was two responses to this crisis -- the enterprise architecture movement, and the independent third party consulting firm. The former is to give managers the tools to fix the shitbox from the inside. The latter, to get the problem out of the corporation, and elimate the developer/testing departments.

However, right up until the end of the 90s things still looked pretty good. Everyone knew someone who was getting an IT job with a company and getting shares, and occassionally, getting temporarily rich. Anyone could become a "professional" developer, and make $60k per year and up up up. So suppose you entered some state college in 1996 and majored in computer science, and learned a bit of Java programming. You expected to get fat when you got out. You get out in 2000 and you cant find a job. And you look around and what do you see.

1. The architecture movement. This is where we first started hearing the propoganda about the distinction between enterprise level development and, well, what?, the hobbyst. This is the beginning of the professional developer that I targeted in my earlier post. The obivious indication of that was XML. XML was going to change software development. It would provide the foundation for web services. This was the .NET vision. Well, I studied XML, and was struck by a complete lack of enthusiasm. So, MS and IBM had publically agreed that they would use a common character format inside their data files. This did not impress me -- not even a tiny tiny little bit. Web services? Shit, I was passing my data back and forth between my smart client and my server across the HTTP layer using the web server and web clients, already. I spedified an XML -- whats the word? -- dialect -- whatever --- and shoved my data in it, pushed it across my "web service" (a non soap perl cgi-script). I was crushed. MS was lost. This was right after W2K, too, which I loved more than life itself. .NET indeed. Stupid name for a stupid marketing gymmic.

Then I turn my attention almost exclusively to Java, Perl and MySql. I come back at MS development in 2003. Installed VS 2003. "Visual Basic is still there guys". I needed an active x control in a hurry, so I tried to create an active x vb project. Not even close to possible. Eventually the truth sunk in. VB was dead. I still didn't get it.

What didn't I get it. All I got was the public message, which is, we are going to solve all of your enterprise IT problems. Rational was singing the same song. UML was unified, rational became a giant, and the Rational Unified Process was let loose on the world. I was interest in using UML to keep my thoughts straight on a new project that I was working on. Fowlers 2ed book was great. Needed a tool. Went online. User groups. Three sets of opinions. 1. Open source becuase M$ is evil (yawn); 2. Real development 'shops' need a real tool, aka $4000 Rose or equivalent; 3. Napking. Well, I was going to do some real development, so I needed "real" "enterprise" tools. I got a copy of rational xde and started to shower myself in RUP.

Meanwhile, I discovered the real meaning of .NET (for me). It wasn't really about XML or WebServices. Microsoft and re-invented Java. When it hit me I couldn't believe it. All of a sudden I could use Java on a PC. Why didn't they just say it up front. Oh my god, most of the WinAPI wrapped in Java. I could not believe it. I still cant. This was like 12 moths ago.

This is a mire, but these things are complicated. Here is the revolution in architecture at the end of the 1990s:

MS and other corps turned to big business and said: We are going to greatly relieve your enterprise evelopment stress. We are going to do it with XML and web services. We are going to try to eventually coerce businesses into using similiar formats in their data, similiar protocols in there communication portals. This will provide enough structure for you to acquire third party tools (like BizTalk) to massage away the remaining differences in format between you are your partners data. You can finally fire that clown that you currently have writing software to filter your purchase orders, and get rid of the other one who tests these filters. We are going to provide a completely managed runtime environment, with strong type safty and which will throw an exception if you sneeze, becuase we know that its almost impossible to find enough competent developers. Core dumps will officially become a thing of the past (none of your people can use them anyway). We will provide a programming platform with reflection and code generation so that you can purchase expensive 3rd part R/O mapping software and UML tools (well, we don't really believe in UML tools, but IM apparently does). We are offering you a system with as much point and click as possible, so that you know, when you buy into our system, there is only so much damage your developers can do. Think of .NET as VB on steroids. We don't really think that software development can be completely automated, so we are including full API support in our system incase you can actually find a talented developer who is willing to work for you for $75k per year. Otherwise, outsource to consultants and have your software problems solved in India buy a real smart poor guy who will work for food. Dump 90% of your developers. You hate them anyway.

These are the professional developers that I am talking about. They're in real trouble. As Carl said in the other post, they're the fat. The Enterprise Architecture movement exists to trim that fat. Point and click tools are not designed to help this professional developer, they are designed to replace. The promise is, get one, two, or three good guys, give him visual studio .net. Fire everyone else. If you cant make it, out-source it, it will eventually ready those millions of hungry Indians who now have a little income and their very own copy of the high powered RAD VS.Net development tool that they can use to do YOUR job better.

When a guy stand up and says, I use C# becuase I'm a real programmer. Whimps use Visual Basic. I don't drag and drop my data adapters onto my form, I hand code them. I'm real developer and hobbists make me sick. Then you know something about that guy, you know he's a little scared becuase you know that deep down in his gut he knows that somewhere in India there's another guy with no money and a wife and bunch of kids tearing the shrink wrap off his won VS.Net Pro, and licking his lips, and saying (in a thick Indian accent) "you job is mind now bitch".

That is your average enterprise developer. That's why he talks so big about "real development shops" and "shipping enterprise grade code" and real development toys. That's why he puts down VB and Java and Perl and PhP -- (not Perl though I think he's a little afraid of Perl, for some reason :). That's why he is making all the jocular remarks about kluged code from hobbyst. He's scared, and so, he's resentful.

BTW, if you are offended by the contents of this post, just remember, I'm not talking about YOU, I'm talking about that JackOff in the cube next to you.
September 3, 2004 1:44 AM
 

John said:

Holy rant! Not wishing to be outdone:

I can't help but look at a slightly broader picture. I don't think it's just about programmers. It's about technology in general, and what you're going to do with millions of middle class 21st century digital boys. Lots of us are programmers, because we don't have anything else to be.

There are tonnes of us, and you know what? No-one really needs us. You might be a programmer, or a sales guy, or an accountant, or a lawyer, or an analyst, or a project manager, etc. But unless you have significant 'capital' you're basically just an uninfluential cog in an insane social system designed to make sure you get food vouchers and an xbox. You can only keep us in school for so long. What after that? Perhaps we'll end up doing what humans always do: start a war to kill half of us off and destroy lots of our infrastructure so that we can maintain our hierarchical class system as we struggle to rebuild it? Orwell spoke of how we might accomplish this with the smallest loss of life. All it's about is establishing, maintaining, and vying for position in a meritless hierarchical class system.

More and more technology replaces the need for the middle class (or better stated: undermines the ability of the middle class to maintain their position), so of course we sort of sit around wondering what's going to happen to us when all the systems we're building are operational enough that no-one needs us any more. The software industry doesn't even require 'production'. It's all r and d. There's barely anything sustainable about it. There are plenty of white-collared dudes spending all their time arguing about it though. Trying to resolve patent laws, etc. to figure out which group of people can rise to the top. Busy sabotaging each other, and talking the same shit -- producing nothing more than human obsolescence, but maintaining their position in the class system as best they can.

Of course the guy with the claim to 'the money' will tell us to fuck off. Of course the people who actually "make consumable things" don't give a shit about us. We're stuck in the middle of power and production trying to work an angle and squeeze what we can out of it for ourselves while we can.

Of course the flunky that doesn't know how to code wants the ethereal 'professional programmer' to be obsolete so that he can maintain his position. Of course the flunky that claims to be a professional programmer wants the 'business people' (what ever the fuck that means) come 'hobbyist programmer' who confesses to knowing sweet fa about what they're doing to give him a chance at making them obsolete. Both are blind to the fact that no-one really needs either of them, and they are only there living their fake life in their plastic cubicle because no-one had anything better to do with them.

You can talk about fears from 'India' or fears from 'open source' but you're really just talking about fear of 'technology' and fear of 'change'. The people who are closest to it see it the best. They always have. If you don't have toil, then what do you have? Especially in a society that claims you're supposed to 'earn' your privileges through toil. What if no-one needs you to toil over anything any more?

Most jobs in IT aren't about human progress, they're about making humans obsolete and allowing fewer to control more. They always have been. So of course people are trepidatious about the future. Who's going to feed them when no-one needs them any more? Sure, those who are on top of the pile will always pay lip-service to 'ethics' while those on the bottom of the pile will learn to 'suck on it'. Of course programmers don't want to be told to suck it, we'd rather pontificate about how were aiding in a more productive world and that we 'care' about the little guy, just as long as we're not him. And you know something, we actually do know more than the 'business people' come 'hobbyist programmer'. We wrote all the stuff that makes that button they press for a living actually work. We don't perceive them as doing a single creative, productive thing apart from operating the idiot proof machine that we made them. In turn, all we're doing is operating a machine that someone made us. All any of us are doing is demanding that someone else help us become more obsolete, but keep feeding us. But because they are our masters and we are their servants, once the machine is made no one needs us any more, so we can fade away and die while someone tries to figure out how to convince everyone else just like them that it's really important that they keep receiving tokens for sitting on their ass clicking buttons because "they're the ones who are the most 'efficient' at it". They want us to stop producing better technology just at the point where we've got it good enough for them to hobble together some kludge that they can operate. But the programmers don't want to just get told to fuck off an die at that point. We're smart, we can keep building better tools while you use those ones, the next generation of tools will obsolete *you* too. No one needs you to kludge databases for a living thank you very much, go and take a seat over there and watch this robust system we built do your job for you. Then of course, we get told to go and take a seat over there, now that the system is built. That's what we're striving for. You know why? Because we don't have anything else to do. You don't need us. We don't need you. It's just a stupid game where everyone dies in the end.

So don't worry about all this too much. You're only good for 60 or 70 years, then you'll be dead. You probably won't ever figure out what point there is to any of it. So 'hobbyists' and 'professionals' alike might as well sit around programming while they can, and posting some obscure useless comments in some corner of this crazy communication system called the Internet. I mean, what else have you got to do? Go and kill an animal to eat for dinner, so that you have enough energy to survive so that you can go and do it again tomorrow..? Oh, that's right, someone else does all that for you.. you just have to try and figure out how you can convince them that it's worth it for them to keep you alive.

John.

p.s. I can kludge databases better than you can. ;)
September 3, 2004 6:43 AM
 

Kathleen Dollard said:

John Brown,

Send me an email at kathleen@gendotnet.com if you're having specific problems because I haven't yet gotten a community organized. I have a new version in beta that solves some problems that I can send (not yet posted). Of course you might have a unique problem.

Kathleen
September 3, 2004 1:45 PM
 

Kathleen Dollard said:

All,

A couple of folks have said something about hobbyists making code they could come in and fix for a fee later. But they said it as though its a bad thing, when its really a good thing. Not a good thing for the programmers who get the gigs, but a good thing for the organization. If one or more hobbyists have a dozen ideas that they think are great, they could spend considerable money building all twelve ideas to completion. Or they could muddle along with hobbyist development until a handful of features of a handful of applications rise to the top of the heap. Those are the only ones that need professional attention. The early 90's notion of re-engineering didn't take hold, because the folks making organizations tick just barely undestand them. This survivial of the fittest in applications is a good thing.

NOTE ON THE WORD HOBBYIST: We went around a bit on the word to use in that article. What I wanted to capture, without spending excessive words on it, was the notion that a hobbyist programs for the love of it, not for the income of it. To me, hobbyist is a positive word that includes everyone for whom programming isn't their 8-5 job.

September 3, 2004 1:54 PM
 

Anonymous said:

While it is fun to describe the game, once done you must either accept it or reject it. While playing a particular game, I have yet to meet anybody within that game who has really rejected it. In other words, the fact or you post makes me suspect that you have not, as you recommed I do, rejected the game. Of course I could be wrong ....

Within the game, I find it pretty userful to employ the idea of an elite group. Its not well defined are easily defended, but sometimes it helps to keep the BS in check.

Among professional programmers, there are elites. Elites are people like Chris Sells and Don Box, obivously. Kathleen Dollard is an Elite. Rory Blyth and Carl Franklin are elites. I had a look at jj5.net, and I'm guessing that you may also be a member of the elite. These are the members of the technology elite, and they are automatically added to other eilte groups in other games.

Do you have the stuff to be a member of the technology elite. Well, if you've been a developer for 10 years, and you hear about a new technology, do you think: "great, another thing I have to learn", or "great, when can I get my grubby hands on that sweet thing." Well, if the former, you are not going to be in the tech elite, ever. Doesn't matter how smart you are. If the latter, and your thinking/motivational/bullshitting skills composite makes the mark, you may be a member. There is a group of elites that even have their own badge, which indicates that not only are they a member of the technological elite, but they are also part of the corporate elite, and they wear it everywhere they go. You guessed it. It is the Microsoft MVP.

So, the problems with your post, John, are 1) you have not rejected the game, and 2) the "we" and the "they" in your post is misleading. The technological elite are not in the "we" camp, they are in the "they" camp. Rory and Kathleen are in the "they" camp. If your article was rewritten along those lines, things might come out ok, except of course, you might discover that you are either the enemy elite, or hapless work-a-day victim. The elites are not going to loose their job to India, or to automation, since, after all, the eilte (Kathleen) writes the software that replaces the run-of-the-mill coder, and the elite (Rory as educator) is essential in the process of making one generation of workers obselete and preparing the next generation to take their place.

If you reread Kathleen's article in these terms, you get an interesting picture. I can read the article, and agree, "yeah, for sure, I ain't in Don Box's gang." But when she says "If this pattern continues, you and I will soon be like today's hobbyist", as the reader, you must ask yourself, "is she talking to me?", "am I an MVP?", "do I contribute to VS magazine?". Maybe she's not talking to me!? Perhaps what she really meant was "you and you". Kathleen's job is not going off shore, and, as a writer, she has carved out a niche for herself between technologies that are impossible to keep up with and the worker that is struggling to keep up with them. There is something of a conflict of interest here, becuase, as a member of the meta-programmer class (that includes Box, Sells, Blyth, Franklin, etc.) a complete overturn in technology is her friend. When technology turns over, and your manager takes a long look at you, and thinks, "oh man, its going to cost me like tens of thousands of dollars to have DevelopMentor (and you can jsut see Don Box rubbing his hands together) in here to retrain these guys, he's also going to be thinking, maybe I should just send the work offshore.

Now, I am going to put words in Kathleen's mouth. The hobbyist programmer is someone who programs becuase he has a particular problem to solve, and wants a solution that is not too much of a problem in and of itself. This is quite different from the professional programmer, who programs becuase his manager has a problem that he wants you to solve. In this view, the manager views the hobbyist tools and you the professional programmer in similiar terms, as a means to an end. The hobbyist tools are so very much cheaper, both financially and emotionally, than you, the professional programmer is. It is also interesting to consider the possibility that the hobbyist is, in this reading, an elite from another domain, or as Katleen put it, "We need to address the problems faced by these [hobbyist] programmers before we lose their important domain expertise." I don't believe that Kathleen's hobbyist "programs for the love of it, not for the income of it", as she said in the previous post. However they may very well program for the INDIRECT income associated with it, which, incidently, may not be money. BS? OK. Well, I'll tell you what, go and round up 10,000 people who, for kicks, want to "manage a development environment that might include IIS and SQL Server, and you have to worry about diverse issues such as security and deployment. " And I'll see if I can scare up 10,000 people who, for kicks, make model airplanes. Wanna play?

I'm a hobbyist programmer. In my terms, that means that I have a bear of a problem to solve and need an "enterprise software solution" (SQL, IIS, Security, and Deployment). In my case, if I can't do it myself, the project dies. If I am a manager in a large corporation, I may be able to hire a bunch of consultants to solve it for me. I want to do it myself. Here is what I want. I want a button. I want a button in VS.Net that I can click -- I want to go through a wizard and have Katleen's XLST step me thorough modifying the templates and help me autogenerate more, I want to click F5, and have Kathleens system autogenerate source code, compile, and run, and auto highlight the hooks I use to add my domain logic. Am I doing this for fun. No. I wouldn't do it if it was not fun, but I am doing it becuase I have a bear of a problem to solve, and that problem exists in the domain in which I am an "expert", and in which, I, like everyone else in my domain, hope to one day become an member of the elite (or maybe not, but you get the idea).

I don't think anyone want to build enterprise application for fun (doesn't it presuppose an enterprise). I might want a cool web site - for fun - with a lot of functionality - for fun - you bet I do. DotNetNuke. Member logon - private areas - I can even define roles and for $35 dollars buy a little dohickey that will automatically charge people $10 to get access to my members section where I showcase all the code I ever wrote for the fun of it. There is nothing, nothing you can do to Visual Studio to get it to do that for me, and have it still retain its flexability as an all purpose development tool.

Look, are we really building enterprise applications for fun? I doubt it. There are lots and lots of people who use VS for fun, but really, do you think they want MS to dumb it down for them, they're in it for the fun, and are more than happy to learn more technology if it lets them do more cooler shit. MS does not need to dumb down VS for the true hobbyist who programs for kicks. I think the idea whould piss them off, frankly.

If however, you mean experts from other domains, who have a domain problem that the want to solve, now, yeah, there is a serious need for stuff like that. Hey, its me. I'm using dotnetnuke, sql server, vs.net, and I want to use Kathleen's autogenerate tool -- its quite frustrating becuase each one of these technologies requires a tremendous intellectual investment, and takes me away from my primary domain, where, frankly, I am in danger of getting in trouble for all the time I spend on .NET.

But, I ain't doing it just for fun.

Now, if you go back to the "you and I" of:

"If this pattern continues, you and I will soon be like today's hobbyist—our training needs will surpass the time we can devote to them. "

from Kathleens article, and entertain the possibility that what she means is actually "you or you", and pay careful attention to what she is saying as an expert meta-programmer, you might realize that as a run of the mill "professional developer" you better start hoping the ms dumbs down their tools, becuase your manager bears the financial responsiblility of keeping you trained, and you're bloody expensive. Perhaps, if MS keeps a visual basic around and current, you might be able to keep your job. Its funny that like 20 years ago we idolized animals like Stroustrop, K and R, etc, and the like, engineers and inventors. Today, we worship Box and Richter -- educators. 10-20% of the floor space at Barnes and Noble is programming books. There is a huge industry in tech education. Who is footing the bill. Every year I sadly miss the ms prof dev conference becuase I don't have a manager to pay for it. I dont get to have Carl Franklin teaching me, I got to do it all myself. Your manager is footing the bill. And, its getting worse, and he knows it. I know that the professional developer tends to think he's hot stuff, but everyone else considers him a problem. The emergence of Wrox, DevelopMentor, Box, Sells, Dollard, DotNetRocks are part of the solution to that problem. Yeah, the problem is you, the professional developer.

If however, MS does dumb down their tools, so that your boss does not have to spend a gazillion dollars a month keeping your sorry ass up to speed in your area of expertise, then he might be more than happy to relinquish the title of hobbyist developer, and hire you to use his silly dumbed down tools -- that is, as long as he does not have to hire an army of you, and army of testers to ferret out all the crap in your code, and a bunch of managers to take care of you. He might enjoy putzing around with fox pro, but ultimately, it takes him away from what he really cares about -- and if he pays your salary -- what he really cares about is his sales team.

So, if you got mad at Kathleen's article, perhaps you should take a moment to reflect on the possibility that it might save your job. And BTW, if you are a few years out of school and have yet to experience a complete technological turnover, shut your mouth until, like an earlier poster, there is a complete technological turnover and it occurs at a time when you have your back up against the wall, and have a kid with a serious illness, a marriage that is falling apart under the stress, and the threat of a direct encountner with the billing side of medicine without the protective barrier of HMSA provided to you by your idiot boss. You might be more than happy to accept a 33% cut in salary and use the stupid hobbyist tools (but now, of course, these are "professional" tools) as long as you don't loose your precious HMSA.

I guess the central problem is the use of the word "hobbyst". It really cuts to the core of the problem. Perhaps "rank-and-file-coder" would have been better. Then they wouldn't have responded so noisely.

On a side note, if you've ever verbally spit on Visual Basic, I recommend that you perform the following exercise some long weekend. Scare up a few 186s. Install windows 3.1 on one and windows nt on the other two. Get an old version of sybase. Grab a c compiler and write a 3-tier enterprise application. If your answer is not "I'd rather eat glass", then I don't think you understand the extent of the challenge. If you don't understand the extent of the challenge, you do not have a single option about visual basic that is worth sharing with anyone anywhere.

[on a side note, you might have thought "yepeeee, I'd love to" you are a rare soul, and God love you, I hope you have fun over the next 2-5 years, my beloved Geek friend -- I know you're out there.]

BTW, having worked with some Indian engineers, I have a great deal of respect for them, and would be quite nervous if I thought there were a few hunderd thousand of them competing for my job. I certainly mean no disrespect to Indian engineers.

Kathleen, I apologize for re-interpreting your article, again, I mean no disrespect. Also, thanks for the offer to help with you code gen framework. My problem is finding the time to look at it and to read your book. I may contact you later regarding your new beta version.

RORY: plase block my IP from your site, I'm not getting any work done!
September 3, 2004 11:48 PM
 

John said:

> While it is fun to describe the game, once done you must either accept it or reject it. <

I know what you're thinking. Because right now I'm thinking the same thing. Why, oh why, didn't I take the *blue* pill!?

> I had a look at jj5.net, and I'm guessing that you may also be a member of the elite. <

Haha! In my own mind, where I am ineffably trapped, maybe.
September 5, 2004 3:38 AM
 

TrackBack said:

Visual Studio .Net 2003
September 10, 2004 1:05 PM
New Comments to this post are disabled

About Rory

I *own* this site, you loser.