Click here to Skip to main content
13,458,880 members
Click here to Skip to main content
Add your own
alternative version


16 bookmarked
Posted 2 Jun 2001

Interview with Tom Archer

, 2 Jun 2001
Rate this:
Please Sign up or sign in to vote.
Tom Archer gives us his view on the world.

Tom Archer is an author, Visual C++/C# consultant and was the site administrator for CodeGuru for 18 months. Tom worked with Zafir Anjum and I for many months before the sale of CodeGuru to EarthWeb, so has been in the unique position to witness CodeGuru evolve from a volunteer run community site to EarthWeb's flagship C++ site, and then be passed down to along with many other of EarthWeb's former sites.

Tom has worked with companies such as IBM, AT&T, Equifax and Peachtree Software and lists one of his proudest accomplishments as being the lead programmer on two award winning applications (at IBM and Peachtree). He has lived all over the world, and is currently based in Atlanta, Georgia.

Tom has recently left CodeGuru to pursue his writing, training and consulting interests, so I figured it was a great time to have a chat with him about the past, present and future. If you ever wonder just how geeky a couple of web admins can get, this entire interview was conducted using XML over email. Each iteration of the interview saw us try and out-do the other in terms of XML style and presentation and it was only when I found myself spending an hour debugging an XSL/T page did I come to realise that once a geek, always a geek.

CodeGuru has been through some amazing changes since we first worked on it all those years ago. Can you describe how the various changes affected the overall atmosphere and goals for the site.

When Zafir first started CodeGuru, it was one of the first developer sites on the Web. It's aim was clearly stated. It was a site run by developers who freely donated their time in order to help other developers. However, it didn't take long for corporations and entrepreneurial types to figure out that with the traffic these sites were getting, there was money to be made. Many of us incorrectly thought that the influx of corporate money would lead to better sites. Unfortunately, it didn't work out that way. Most corporations that purchased the more popular sites came in with their bureaucracy and attempted to run the sites as they did their previous interests. Therefore, the focus changed from one of "let's create this really cool code repository" to "how can we make more money from this". It's a subtle distinction since you would think that one would help the other. However, anyone that has any business experience knows that once you go from a product (or service)-centric approach to one that is more focused on advertisers and the bottom-line, it's the consumers that lose out in the end.

Can you give some examples of where you saw this happening on CodeGuru?

I'll give just one or we could talk all day on this. Shortly after EarthWeb purchased CodeGuru and many other sites, they decided to do a massive redesign of all the sites so that they would integrate more seamlessly. Certainly a decent idea. However, the problem was in the day-to-day running of the sites. People (all non-programmers) who never used any of the sites couldn't understand why people such as myself didn't want to completely stop posting content and updating the site to spend 3-6 months updating spreadsheets and Word documents and attending meetings. They just didn't get the concept that if we stopped posting content there wouldn't be any customers for this new redesigned site! I can't tell you how many times I came close to being fired because I was trying (as best I could) to keep the site fresh. That's why it irks me when people say thinks like "Oh. CodeGuru is really stale". Hell, there wouldn't have been *any* content without me fighting management and posting it. This is what I mean when I say that most of these corporation put their own bureaucracy and rules ahead of the actual product and customers. And by the way, I'm not just picking on EarthWeb. My very favourite site used to be Experts-Exchange - really cool knowledgebase-like site run by a family. However, they finally sold a large part of the site to a big company that now runs the site. Needless to say, the site is having the same problems that CodeGuru ran into with regards to the hardware and software problems and bad customer service.

Many people think that running a community site for developers is the best job in the world. Is it?

Running a developer site certainly has its advantages such as working from home and not being tied to "office hours". However, its definitely a labour of love. In other words, those of us that run sites certainly don't do it because there's any money in it. We do it because we enjoy helping others. Best job? No, not really. Too much maintenance and not enough programming. I think the best gig is a combination of writing books and consulting. That way, I'm still working my own schedule, I continue to help others and yet I'm programming most of the time.

Even so, you started a new site as soon as you left CodeGuru.

Yeah, but doesn't belong to any corporation. It's certainly not meant to be a competitor to any site. As I've said from the beginning, this is going to be a site that is mainly a hobby of mine and a few friends. We're not looking to become millionaires off it. It's basically returning to the roots of CodeGuru where we are simply helping others through the site without the need or desire for banners ads or corporate funding.

With hindsight, would you do it all again?

Absolutely. I've met many talented programmers and just really great people running CodeGuru. I wouldn't change a thing if I could go back and do it all over again.

Do you see the online developer community maturing as a whole with people more willing to help each other, or do you feel in general that people on the net are becoming more demanding?

While trying not to sound negative, I would definitely say it's the latter. The simple fact is that a couple of years ago, we all lived this Utopian-like existence where sites like CodeGuru were created with the single goal of helping each other out. However, at this point, people have seen how much a Zafir sold the site for and that has lead to a very competitive (and sometimes very ugly) environment. However, I'm not just talking about other Web sit owners. While at CodeGuru, we had people volunteering to help all the time. That never happens any more. Everyone wants to be paid. In addition, many (not all) people have stopped being appreciative and have come to expect perfection from Web sites and the people that run them. I guess what I'm saying is that over the past couple of years, I've seen a increase in the lack of appreciation to those that freely donate their time to help others.

What do you see as the future of developer Web sites?

I think that the people that make use of sites need to be very careful. There is so much meanness going around between the users of the various sites that many people who simply do this to help others are being turned off and dumping their sites. That in combination with the free-fall in advertising revenue is leading us directly down a path where free sites will one day be a thing of the past. Just look at sites like DevX and ASPToday. They started out free and are now subscription-based. It's a simple formula. Many individuals are tired of dealing with unappreciative people when they stay up to 3am every night just to help others out. Therefore, we're getting to a point where only companies are running the sites with a decent amount of content. If users are going to expect a professional site with tons of content and other niceties (discussion board, chats, interviews, etc.), then these companies are going to have to hire more and more people to run the sites. Therefore, with ad revenue down and costs up, the only way for companies to make these sites profitable is to recoup that money is via subscriptions, products and services.

NET is front and centre at the moment, but how do you see .NET affecting the average developer, and will .NET cause developer sites to change the way they operate?

Honestly, I truly don't think that most developers know or care about .NET. Microsoft has changed directions so many times in the past few years that most developers are going to take a "wait and see" attitude. It's going to be Microsoft's responsibility to illustrate exactly why developers should care about .NET and I don't believe they've done a good job of doing that so far.

Are there any significant positives or negatives of .NET that stand out for you?

Having been involved in several large, distributed applications, the positives that I personally applaud are language interoperability, a single class library and easier versioning and deployment.

What about for C++ developers in particular?

As mentioned before, I think that many C++ developers are going to hold out until they see some tangible reasons for switching. Let's face it. How many people would even consider using C today instead of C++? However, I remember when C++ first came out and most people were like "So what? I can do the same thing with structs!" or "I have gotten this far without it. I don't need it." For some reason, there's always that initial rejection of anything new. However, .NET is simply too good not to catch on sooner or later.

What about you personally? How do you feel about .NET?

I'm infatuated with it and its promise for the future. As you know (probably better than me), you simply can't beat what they've done with ASP.NET. I absolutely love the CLR and the interfaces it provides. It's definitely going to be fun the next few years.

How do you feel about C#? It's stregnths? Its weaknesses?

According to Larry Tesler's law of Conservation of Complexity, you can not reduce the complexity of a given task beyond a certain point. Once you've reached that point, you can only shift the burden around. This rule holds especially true for programming languages. Programming languages are about as simple as they're going to get and still be usable in terms of creating professional applications that meet the needs of today's users. However, what the designers of C# did was to move much of the complexity of writing code from the client (class consumers) to the server (classes). Examples of this are operator overloading, interfaces, delegates, indexers, properties and user-defined conversions. The common thread that ties all these features together is that they all make client code easier and more intuitive to write. However, they also put more of a burden on the class writer. In my humble opinion this is a great design since, if you're writing your object-oriented code "correctly", the client code will constitute the majority of your code. Therefore, my answers are that Yes, I truly enjoy the design of C# and yes it will make you a more productive programmer overall.

What is your pet peeve about .NET?

My pet peeve is with the compiler teams. There's an on-going debate as to what languages will implement what parts of the CLR. I'm with the CLR team in terms of letting each language have access to the same things. After all, that was the promise of the CLR to begin with. Don't get me wrong. Each language is still going to have access to the majority of the same functionality. However, check out the dotnet mailing list and you'll see that the VB guys definitely believe they're getting the shaft.

And  your pet love?

The BCL, no doubt. As one microcosmic example, take a look at IEnumerable and how it enables you to provide enumeration capabilities for any class! I love that! You can tell that the CLR guys have put a lot of thought into how this thing is going to be used. Additionally, I still can't get over how cool Reflection is. I'm not just talking run-time identification stuff. I'm talking about the ability to dynamically generate code that can then be executed and even saved! I definitely could have used that a few years ago for a system I wrote at AT&T.

Now that you are no longer at CodeGuru what does the future hold in store for you? We have seen mention of your new book for Microsoft Press - but are there bigger and better things in store for you, or will you be taking a much needed break?

I'm going to go back to mainly consulting full-time and running TheCodeChannel Web site as a hobby. In addition, I've just signed on to do a Visual C++.NET book. So, in other words, these bags under my eyes don't figure to get any smaller anytime soon :)

Thanks Tom for taking the time to speak to us.

Actually, thanks goes to you Chris. You're one of the first people to start the whole concept of developer sites and we all owe you a tremendous amount in making our programming lives a bit easier and much more fun.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Chris Maunder
Founder CodeProject
Canada Canada
Chris is the Co-founder, Administrator, Architect, Chief Editor and Shameless Hack who wrote and runs The Code Project. He's been programming since 1988 while pretending to be, in various guises, an astrophysicist, mathematician, physicist, hydrologist, geomorphologist, defence intelligence researcher and then, when all that got a bit rough on the nerves, a web developer. He is a Microsoft Visual C++ MVP both globally and for Canada locally.

His programming experience includes C/C++, C#, SQL, MFC, ASP, ASP.NET, and far, far too much FORTRAN. He has worked on PocketPCs, AIX mainframes, Sun workstations, and a CRAY YMP C90 behemoth but finds notebooks take up less desk space.

He dodges, he weaves, and he never gets enough sleep. He is kind to small animals.

Chris was born and bred in Australia but splits his time between Toronto and Melbourne, depending on the weather. For relaxation he is into road cycling, snowboarding, rock climbing, and storm chasing.

You may also be interested in...

Comments and Discussions

GeneralJust curious Pin
Hockey30-Apr-04 21:31
memberHockey30-Apr-04 21:31 
GeneralRe: Just curious Pin
Chris Maunder1-May-04 2:50
adminChris Maunder1-May-04 2:50 
GeneralWish list Pin
TW25-Jun-03 5:29
memberTW25-Jun-03 5:29 
Questiongeek? Pin
Philip Fitzsimons15-Nov-02 10:42
memberPhilip Fitzsimons15-Nov-02 10:42 
AnswerRe: geek? Pin
Christian Graus15-Nov-02 10:59
memberChristian Graus15-Nov-02 10:59 
GeneralRe: geek? Pin
Tom Archer18-Nov-02 7:25
memberTom Archer18-Nov-02 7:25 
GeneralRe: geek? Pin
Trollslayer6-Jan-03 1:32
memberTrollslayer6-Jan-03 1:32 
GeneralRe: geek? Pin
peterchen16-Apr-03 11:32
memberpeterchen16-Apr-03 11:32 
QuestionHow to get the site survive Pin
Anthony_Yio9-Aug-02 22:31
memberAnthony_Yio9-Aug-02 22:31 
AnswerRe: How to get the site survive Pin
Hockey30-Apr-04 21:34
memberHockey30-Apr-04 21:34 
GeneralVery good reading!!! Pin
Nish - Native CPian23-May-02 1:11
memberNish - Native CPian23-May-02 1:11 
GeneralRe: Very good reading!!! Pin
Tom Archer18-Nov-02 7:25
memberTom Archer18-Nov-02 7:25 
QuestionSo what happened to Zafir Anjum? Pin
Keith Avery5-Nov-01 5:53
memberKeith Avery5-Nov-01 5:53 
AnswerRe: So what happened to Zafir Anjum? Pin
Chris Maunder15-Mar-02 6:17
memberChris Maunder15-Mar-02 6:17 
GeneralRe: So what happened to Zafir Anjum? Pin
Ranjan Banerji28-Jan-04 3:59
memberRanjan Banerji28-Jan-04 3:59 
GeneralRe: So what happened to Zafir Anjum? Pin
Chris Maunder28-Jan-04 4:29
adminChris Maunder28-Jan-04 4:29 
GeneralRe: So what happened to Zafir Anjum? Pin
Ranjan Banerji28-Jan-04 4:54
memberRanjan Banerji28-Jan-04 4:54 
GeneralRe: So what happened to Zafir Anjum? Pin
Nishant Sivakumar14-Jun-05 18:43
staffNishant Sivakumar14-Jun-05 18:43 
GeneralRe: So what happened to Zafir Anjum? Pin
Ranjan Banerji22-Jun-05 6:16
memberRanjan Banerji22-Jun-05 6:16 
GeneralRe: So what happened to Zafir Anjum? Pin
Trollslayer15-Aug-05 5:24
memberTrollslayer15-Aug-05 5:24 
GeneralThe online developer community Pin
Anonymous6-Jun-01 18:23
memberAnonymous6-Jun-01 18:23 
GeneralRe: The online developer community Pin
Anthony_Yio9-Aug-02 22:34
memberAnthony_Yio9-Aug-02 22:34 
GeneralRe: The online developer community Pin
Tom Archer18-Nov-02 7:24
memberTom Archer18-Nov-02 7:24 
GeneralRe: The online developer community Pin
phykell1-Nov-04 1:34
memberphykell1-Nov-04 1:34 
GeneralC and C# Pin
Pedro Silva6-Jun-01 7:24
memberPedro Silva6-Jun-01 7:24 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Terms of Use | Mobile
Web01-2016 | 2.8.180323.1 | Last Updated 3 Jun 2001
Article Copyright 2001 by Chris Maunder
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid