June 14, 2005
pc world
Experts Exchange Community News
You are receiving this because you are an Experts-Exchange.com member who has opted-in to receive newsletters.
What's New at Experts Exchange
Exchange Server 2003 SP2

Kidego is the Page Editor for most of the email-related topic areas. He was named a Microsoft MVP in 2004.

At the Tech Ed conference in Florida, Microsoft CEO Steve Balmer announced that the company will be releasing the second service pack for its Exchange Server 2003 software. The main new features are

  • Significant improvements to mobile email, including a new Direct Push feature
  • Better protection against spam, including new support for the Sender Authentication protocol
  • Message box enhancements, including an increase in storage size from 16gb to 75gb
Microsoft says it will release SP2 in the second half of this year, which is only a few weeks away. The FAQ for SP2 is on Microsoft's website.

New trojan tactic: extortion

leew is one of our Windows Page Editors. He sent us this warning about a new trojan that's making the rounds.

A new trojan has been spotted on the internet with a twist: it tries to extort money from you! The PGPcoder trojan (links below) locates a variety of common file types on your computer and encrypts them, suggesting in a text file that you send $200 to get a decoder. It appears most major antivirus companies have updated their virus definitions to protect against this particular threat and Computer Associates also has a tool they claim will decrypt any encrypted files.

Further (lengthy) reading: McAfee, Symantec, and Computer Associates.

Helping with Cleanup

AnnieMod the Administrator who manages our Cleanup effort, asked us to put out a call for assistance.

As you had probably noticed, there is an organized effort to get all the abandoned questions closed (an abandoned question is a question that has not had any comments for 22 or more days). This way we move the really answered questions into the PAQ and delete the unanswered ones, and of course, all the Experts who have answered questions get their points. Although this is not the primary function of the cleanup, it is something that is also a plus.

If you are interested in helping, please read this: http://www.experts-exchange.com/help.jsp#hs7. If you are still interested, please send AnnieMod an email and list the topic areas you would like to help with.

In case you decide it is not for you, you can still help. If you see a recommendation in a question that you had participated in, please take the time to object if needed or to post your opinion if you are asked for it.

Preventing a Linux hack

ahoffmann the Page Editor for Unix, passed along this question from the Linux topic area.

Every once in a while, we come across a question that shows some great effort and truly innovative solutions to problems. In this question about a hacked Linux server, special Attaboys go out to wesly_chen, jlevie, e-tsik, and woof-dog for a job well done.

More Quickbooks stuff

turn123 is the Page Editor for Applications, Productivity Applications, CRM and ERP. He loves to tinker with stuff.

The goal of this series is to show folks who are interested in working with the QuickBooks SDK to integrate with QuickBooks how to do so. I have been working with the SDK for quite a while integrating QuickBooks with UPS Online Worldship and I hope others find this useful. I will be using qbXML for my illustrations.

Due to size restrictions a lot more relevant information has been posted into http://www.experts-exchange.com/Q_21188390.html and will be referenced throughout this article. If you have a slow connection I would suggest that you open that thread now and use it along with this article. There is also some bonus Perl code there if you want to follow along with actually doing some of this stuff.

There are three resources provided by the SDK that you have got to use to have a relatively easy time of your project when using the QBXML.

  1. The onscreen reference (accessible through the getting started shortcut placed on your desktop). Choose "qbXML v4.0" and from the dropdown in the top left-hand corner choose invoiceQuery. Here you can see all the choices you can make.
  2. The QuickBooks developer forums where you can get a lot of very good assistance.
  3. The qbXMLValidator found in QBSDK folder (whatever that is on your system) \tools\validator\qbXMLValidator.exe. Using it is very straightforward but it can save a TON of time when QuickBooks throws a cryptic error about the XML not being quite right.
So let's jump straight into how to get the invoices out of QuickBooks. Depending on the size of your company file and how many users are trying to work on QuickBooks at the same time as you there are three methods I think you should consider.
  1. You can do a dump of everything in the QuickBooks database. This can be very useful for getting the initial data from QuickBooks but can take a very long time to finish. Comment 14120687 from the above-referenced question has the qbXML sample for this approach.
  2. The approach I'm currently using is doing a Date range query. The XML request can be seen in Comment 14120693. This has the advantage of allowing you to determine how many days worth of records you need for what you're doing and minimize the time you need to be using the company file. This can be a big deal when using the company file in Multi-user mode with an extremely large company file.
  3. Just querying the invoice. This makes the most sense to me if your company file is small enough that you can do this easily and you just need two or three invoices. I would get a stopwatch and check this against the data range query (extracting time + processing time) and go with the faster.
Next up, getting the information into UPS Online Worldship.

Recently, getting answers to questions seems to have come a little more difficult for many new member, so Access Page Editor JDettman took on the task of coming up with some tips.

While EE has a huge searchable database of Previously Asked Questions (PAQs), which often yields a solution to a problem, there may be times when you need to ask a question to get a solution. What happens when you ask a question?

First you'll need to find a Topic Area (TA) in which to place your question. Many TAs have a specific focus, such as the Microsoft Access TA, which deals strictly with questions pertaining to the relational database product produced by Microsoft. Other TAs have a broader scope, such as Routers, which covers every kind of router ever made. There are some general "catch all" TAs as well. For example, from the EE home page, if you click on the "DB" tab at the top, you'll find yourself in the TA for databases in general. But if you look off to the left, you'll see additional TAs for specific databases such as Microsoft Access, Visual Fox Pro, SQL Server, and so on.

You should do your best to find the correct TA to place your question, as this will get things started off on the right foot. Placing it in the wrong TA is not a major problem; it just may delay you in getting an answer.

Once you've located the proper TA, click the "Ask A Question" link. You should first verify that you are in the correct TA, which is displayed in Step 1. You'll then need to provide a title (Step 2), a description of the problem or the actual question (Step 3), and a number of points that you feel the question is worth (Step 4). The title is what appears in the TAs lists of questions along with the date and the number of points you offered. It is important to pick a title that accurately describes your question. Something like "URGENT HELP NEEDED" really doesn't help all that much.

TIP: Typing everything in upper case makes things difficult to read. You should always type in mixed (normal or proper) case.

Every Expert will now need to look at the question to figure out if they have any knowledge of the problem, which wastes time. If everyone did this, we'd get nowhere fast! It doesn't help either when the question goes into the PAQ database as it makes searching difficult. So try and make it something descriptive: "Have database corruption - Urgent help needed".

TIP: Only the first 40 characters of the question title appear when listed in the TA, so make those characters count!

With the title out of the way, the next thing is the question itself. One of the first steps into getting a good solution is in asking a "good" question. Consider the following: "I need help with my Access database!"

Just like the title before, this doesn't really help all that much. So what goes into asking a "good" question? Well keep in mind the following:

  1. The Experts don't know what your exact situation is.
  2. The Experts don't know your skill or knowledge level.
  3. All the Experts are volunteers and will do their best to help you.
What you need to do is provide enough detail to explain you problem in basic terms, but not so much detail that it makes it difficult to understand what the question is. It takes asking a few questions before you get the hang of it, but as you ask more and more questions, you'll get better at it! If you're not sure about putting something into a question, then don't. It's better to be brief and let the Expert(s) question you about your situation so they have a clear understanding about what is being asked rather than clouding things with a lot of useless details.

That's the second part of getting a good answer; everyone has a clear understanding of what exactly is being asked. Make sure the Experts understand what your asking and all the factors involved. It's also important that you don't change the question midway through. For example, I've often seen questions where after a few exchanges the member says: "But what I'm really trying to do is this..." You should talk about exactly what it is your trying to accomplish.

The third part to asking a good question and getting a good solution is to keep the discussion focused. Don't ask additional questions unless it pertains directly to the original question.

The last thing you need to do when submitting your question is assign a point level. Simple questions where you expect a one or two line answer should get 20 or 50 points. Questions that will take a little more effort and may involve several exchanges should be in the 100-300 point range. Complex questions should receive 300 points or more. The maximum amount of points that you can assign to a question is 500.

After you've submitted your question, you may have one or more Experts respond. It's important to keep working with the Experts until you get an answer to your problem. Sometimes the answer to a problem is that there is none and you simply can't do what you want. The critical thing is to not give up on a question. If you're not happy with the responses you're getting or don't understand what is being said, just say so.

Once you and the Expert(s) have come to the end, it's important to close the question and assign a letter grade. Note that you can also split the points between Experts if you feel more than one contributed to the solution. When assigning a grade, keep in mind that the grades of A-B-C are not the same as the grading in school. An "A" grade, in general, means the Experts helped you by giving a complete solution to your question, while a "C" grade means that the comments by Experts did not completely address your question, but may have helped you along.

TIP: Before assigning a lower grade it is always a good idea to give a quick explanation of what you feel is incomplete or missing from the solution, thereby giving the Experts a chance to follow-up with more complete solutions. Often it is simply a case of misunderstanding -- where the Experts thought they gave you enough information, but you needed more details.

What if you find the answer yourself after submitting the question? Post a comment to that affect along with the solution you used. You can then request a refund of the question points in Community Support.

For additional tips on questions (and the site in general), take a look at the Help pages or you can also post a question in the Community Support TA if you need some help in working with questions. You can also e-mail the Page Editor for the TA where you question resides. The Page Editor can be reached at [username] "at" experts-exchange.com.

What your responsibilities are:
  >  Try your best to ask a "good" question.
  >  Keep communicating with the Experts.
  >  Close your questions as quickly as possible once a solution has been reached.

What you can expect from an Expert
  >  Their best effort to help you solve your problem
  >  A professional and courteous attitude

Some Do's and Don'ts:
  >  Don't ask questions that violate the member agreement. Experts are not here to do your homework, help you hack into systems, or crack passwords.
  >  Don't accept an answer until your satisfied. Keep in mind though that in some cases there may not be an answer to a problem that you are happy about, but it is the correct answer.
  >  Do say so if you're not happy or don't understand something. Two-way communication is key to the getting a good answer or solution.
  >  Don't expect Experts to do all the work, like writing an entire program or app. They are here to help when you get stuck. If you do get stuck, be prepared to show what steps you have taken so far and explain where you are stuck.
  >  Don't ask for solutions to be emailed to you or take the discussion off-line as this violates the member agreement.

stone5150, the Page Editor for the Wireless topic areas, gives you the Ins and Outs of building your own wireless network at home.

Why go wireless? I remember when I was a kid it was common that homes only had one television set that everyone shared. To you youngsters out there that probably sounds like a fairy tale. You are probably wondering when I am going to start with the part where I had to walk to school in three feet of snow, uphill, both ways, right? Seriously, once upon a time a 19" black and white TV cost about a month's salary or more. Those didn't even come with a remote and typically you got three, maybe four, channels on them. Can you imagine the horror?!? Now you can get a pretty nice 27" color TV with stereo, a remote and maybe A/V inputs, if you are a good shopper, for about $200.

I'd bet that you can remember a time when most homes only had one computer. While that is still the case for a lot of people, but when you can get a full function computer with all the bells and whistles for $400 or less, that will change very soon. Also, in our fast progressing world, computer literacy is no longer an option -- it is a requirement. It soon will be the norm for all kids to have their own computers just so they don't fall behind.

With prices on networking products and computers dropping practically daily, it only makes sense to network them. Not networking them would be like only putting rabbit ears (an archaic antenna device) on your entertainment center to get the five or six broadcast channels in your area.

You could network them the old fashioned way by running cables to every room and hooking them all together with a network switch. That way is pretty cheap, until you consider the cost to run the actual cables, either in your own time (if you happen to be so inclined and ambitious) or the cost of hiring someone to do it for you. Or you could set up a wireless router in a fairly central location and hook up to it anywhere.

With a wireless setup you can surf the Internet any room on a wireless-enabled laptop. You can plug a USB network interface card into a regular desktop and only be limited by electric outlets on where you could put it. You could even sit at a picnic table with your laptop in your back yard, type up an article like this one and email it to the editor.

While it might seem scary at first, setting up a wireless network in your house is a fairly easy and inexpensive way to make computing at home a lot more functional and fun. There are quite a few advantages to networking, especially wireless networking, that your whole household can share, and you can add new computers to the mix anytime quite easily.

Let's go surfing now: Do you pay good money for high speed Internet that runs on one computer that everyone fights over? Wouldn't it be great if everyone in the house had access to it? With a few pieces of equipment, all the computers in your house can enjoy surfing the Internet anywhere in the house.

Share and share alike: Wouldn't it be nice to share files, printers and resources without having to pass around CDs, floppies, and flash drives? With a wireless network you can easily do just that.

Jamming in comfort: Got a ton of music on your computer? Got a nice stereo in the living room or den collecting dust while you listen to your favorite tunes on tinny speakers while sitting in a nice 'comfy' office chair? For about $100 you can stream music files on your hard drive wirelessly to your stereo and listen to them on a quality sound system and in comfort.

The scary part: I know I have painted a pretty rosy picture of wireless networking. There are a few risks involved, but if you understand the risks and take steps to prevent them from becoming problems you can have a safe and fun experience.

The first thing you need to do is to set up the wireless router. There are a few settings you'll need to change when you set up your router to ensure security.

It is a good idea to have one computer connected with a wire directly to the wireless router. Usually that would be the one closest to the high speed modem, since it has to connect via a cable to the router anyway. This is in case you have problems with the router, you can still access the routers settings by typing the IP address of the router into your browser. Most routers have a default IP of

You should always change the channel that the router operates on. The default is usually 7 (2.4 GHz). You can change it up or down, but it usually doesn't matter. This is to make sure that you won't get interference from, or interfere with, cordless phones and other wireless devices which commonly use that frequency.

Change the name of the router from the default. Pretend it is a pet and give it a good name. Since you paid hard earned money for him and you feed him electricity and an Internet connection all the time, you'll want to be on friendly terms.

To ensure that you keep people from poking into your stuff and stealing your Internet connection you'll need to turn on the Wireless Encryption Protocol (WEP) on the router. You can set the WEP key to some number that is fairly easy to remember. You can also just go to the settings page in a browser on the computer that is hard wired to the router to look it up if you forget. See, I told you having a machine wired in would come in handy.

You don't have to share your entire computer over the network -- you obviously wouldn't want your kids looking at your Quicken data, or for that matter, your neighbors looking at those pictures you took that one night with the wife or vice versa. Windows XP comes with a Shared Documents folder built in just for this reason; you can dump files and folders into it while keeping the rest of your data safe from prying eyes.

With a few bucks, an hour or so, and the knowledge that I imparted here you should be able to safely and easily join the wireless revolution.

fritz_the_blank, the Page Editor for Active Server Pages, was at one time the top Expert in two of EE's busiest TAs: ASP and javascript.

Even though the use of session variables can be resource costly, sometimes the application logic makes them the most attractive solution. For example, if you have a series of forms that need to be populated, and you don't want to commit the data to the database until all of the forms are completed, the use of session variables to store the form values temporarily can be a very attractive approach: it allows the user to navigate both backward and forward without losing entered data.

In order to minimize resource drain, however, it is useful to destroy unwanted session variables when you are done with them. Of course, you can call Session.Abandon() to clear all variables, but what if you only want to remove certain variables rather than all of them? Moreover, what if you want to do so programmatically by looping through the collection?

At first glance, this does not seem to be an issue. Consider the code below. We start by initializing all of our variables. Next, we display them using a simple for loop.

'Clear all contents
'Set new variables
Session("strCity") = "Miami"
Session("strState") = "Florida"
Session("strEmail") = "Someone@Somewhere.com"
Session("strWebsite") = "www.FairfieldConsulting.com"
Session("strFirstName") = "Patrick"
Session("strMiddleName") = "Kenneth"
Session("strLastName") = "Fairfield"
Session("strNickName") = "Fritz the Blank"
Session("strPhone") = "(123) 456-7890"
Session("strFax") = "(123) 098-7654"
<!--Display the variables-->
<h2>Before Removal:</h2>
for each objItem in Session.Contents
    response.write(objItem & ": " & Session.Contents(objItem) & "<br />")
Now imagine that we want to preserve for other pages in the site all variables that have the string "Name" in them, i.e., strFirstName, strMiddleName, strLastName, strNickName but to remove all other session variables. At first, one might expect that the code shown below should do the trick.
'remove contents without Name in it
for each objItem in Session.Contents
    if InStr(objItem,"Name")<1 then
    end if
<!--Display the variables after contents removed-->
<h2>After Removal:</h2>
for each objItem in Session.Contents
    response.write(objItem & ": " & Session.Contents(objItem) & "<br />")
However, when you test the page, we can see that is not the case!

What happened? Why have the variables for the state, web site, and fax number remained?

The problem lies in the interaction of two processes that don't work well together. On the one hand, we are using a for loop that iterates through the collection, and on the other, we are using the .Remove() method which modifies the collection during this iteration. As a result, the for loop will operate in an unexpected manner.

Fortunately, a solution is at hand. The first step is to loop through the collection to create a list of items to be removed. Next, we create an array based on that loop. Finally, we iterate through the array and remove each item in the array from the session contents as below:

'Create a list of variables to remove
strListToRemove= ""
for each objItem in Session.Contents
    if InStr(objItem,"Name") <1 then
        strListToRemove = strListToRemove & "~"& objItem
    end if
'Split the list into an array, loop through and remove the contents
arrItemsToRemove = Split(strListToRemove,"~")
for i=0 to UBound(arrItemsToRemove)
Now when we test the page, we get the results we expect.

This article is significant in two respects. I have received many inquiries from programmers attempting to do something similar to the above with session variables, and they were convinced that the problem resulted from a bug in VBScript or with ASP. However, as I show here, this is standard for VBScript collections, and rather than being a bug, it is an error in program logic that is devilishly difficult to isolate. In a larger context, the same logic applies to dealing with VBScript collections in general, and the approach discussed here can be used in all such instances.

leew is one of our Windows Page Editors.

Beginning of the end for Microsoft?

In recent discussions I've had with other IT professionals, I've been postulating that should Apple decide to open up MacOS X for x86, Microsoft might well start a slow but rapidly growing downward spiral from its purch high above the desktop OS market. While I haven't reviewed all the details - indeed, I'm not sure all the details have been made public - it would seem Apple has begun the rebellion against the empire.

For most home users, the Mac OS has long been considered an easy system to learn and those who try it once often recognize it as such. With the release of OS X a few years back, Apple finally brought true multitasking and reliability to its platform and even I - a long time Windows geek - recognized it as a true, capable OS.

Now, if we stop and think about things for a moment, what might happen next? That all depends on Apple. But even if they do lock themselves into their own hardware, expanding beyond it is the next logical step. If Apple starts selling Macintosh systems based on x86 architecture, this could lead quite quickly to REAL choice in the OS Marketplace. Linux is fantastic, but still way to complex for the average user. Think about this for a moment - if Apple runs on x86 and rethinks the importance of controlling the hardware OS X can run on, you might be ordering your next Dell with Tiger on it. And imagine if Joe User can go to the local computer store and buy OS X competitive upgrade to be installed over Windows?

Of course, Microsoft wouldn't sit idle while all this went on, but in the coming years, price, innovation, and compatibility all might benefit from this week's announcement.

cracky is the Page Editor for all things Macintosh.

Apple *Hearts* Intel

Big news it seems. Apple has confirmed rumours that it will start making the migration to Intel chips as soon as next year. This seems to have caused a bit more of a ruckus than I would have expected. Although it was big news for me too, I was hardly in shock at the announcement. So, what does it mean for us? Do we grind everything to a halt in anticipation of a new wave of hardware and software from Apple and its vendors?

The first question people have asked is why? It may seem trivial to some, but closer analysis will tell us that the move was destined to happen. The driving factors seem to be in reliability of supply and the future of the chipsets. Due to complicated cooling mechanisms, a G5 laptop looks less likely as every day passes. Considering the exponential consumer trend towards mobile computing, Apples need to preserve its future in this market. Apple experiences higher laptop growth than many other vendors. Meanwhile, IBM is understandably shifting its efforts to supplying its powerful console partners with Cell processors for the Xbox 360 and PS3. Being a poor cousin wouldn't affect Apple much in the Intel camp, since it can piggyback on computer-specific advances, whereas the differences between Apple's requirements and those of consoles could very well hurt any future innovations at IBM.

Macs have a tendency to retain their value and continue to run OS upgrades better than their PC counterparts, so this gives some credence to those who fear the "Osborne Effect" on Apple's sales until the new machines arrive. There is a distinct possibility that consumers will hold off buying new gear until the updated hardware comes in. However, one would have to say that there's clearly no better time for Apple to make the change than now. Sales are rising, the iPod is an awesome crutch and they are quite the media darlings at the moment. Why wait for a flat spot when you can charge with a full clip of ammo, especially considering Redmond's track record with promises. Longhorn will likely be delayed, giving Apple ample opportunity to pip them at the post both with new hardware and Leopard supporting it to take line honours in the PR race. What happens after that is another matter.

The change has prompted questions about developers being left in the dark with their PPC code, but Apple insists that the underlying Rosetta emulator will give high performance not usually associated with emulation. If we are to believe them, we'd have to think that an early announcement would give developers plenty of opportunity to port their apps while avoiding any deadline jitters in the transition. Still others conjecture that the underlying x86 architecture gives rise to the possibility of a dual-boot system, which would throw some very interesting possibilities into the consumer market. This could see an unholy matrimony between Windows and Macintosh on hardware systems, with users taking greater comfort in a machine that will not require to play with all their toys in the one sandpit. Gaming and accounting software come distinctly to mind. It's here that Apple's attractive and reliable hardware could potentially steal sales from a PC power user base.

Apple looks confident to weather the consumer storm in the lead-up to the transition. Let's hope consumer confidence matches Apple's.

Further (lengthy) reading: The Register, Daring Fireball, and, of course, Apple.

More News and Notes
Nata's Corner: Big brother may exist, but he's an idiot

woman in specticals I flew to the Midwest last week, and now I'm actually a little relieved. Someone once said that we're lucky that we don't get the government we pay for, because it would be a lot worse if the government actually knew what it was doing.

I had a knee replacement in late February, so the surgeon gave me this card that says "this woman has metal in her knee". So when I went through the metal detector, it was obviously going to set off the alarm. It did, so the TSA people pulled me out of line and waved the wand over me; I guess the card and the 10-inch scar on my knee didn't convince them. Then they frisked me.

Never mind the artwork attached to my Page Editor box at Experts Exchange. I don't think I look like anyone who has ever committed any kind of terrorist act, but that's just my opinion. But if Big Brother were really all that horrible, you'd think that since they scanned my driver's license at the airport, and already have my Social Security number and "know everything about me", they'd be able to figure out that the scar on my knee, the limp and the cane, coupled with the card from my doctor, is in fact the truth.

Okay, I'm done ranting. Before all of this, I was going to mention some neat tips I found recently, but those will have to wait. There's an interesting article in PCWorld that says that the major antivirus programs have holes that will allow viruses to infect your computer. They've all released patches, but you'd better make sure you're up to date on everything.

And a special thanks go out to the Lounge Lizards who posted about a "superworm" that antivirus specialists believe is being developed by the delightful people who brought us the Mytob virus. The Mytob group is now using phishing tricks to get people to install the virus on their computers.

Click here to from the newsletter.
The Premium Services include a number of features not available to "limited" members. Among them:
> Unlimited question points
> VIP Search
> Bookmarks
> Quick Links
> Collapsible menu
> No ads
You can purchase Premium Services on a month-to-month, semi-annual or annual basis, and take full advantage of all that Experts Exchange has to offer!
Inside the numbers
ameba, one of EE's prominent Experts, provides us with a list of newly earned Certificates. His list of all of the Certified Experts is located at his site. The list below covers the period from May 29 through June 12.
Expert Certified in Topic Area
Arji jerryb30 mcorrente sirbounty gajender_99 Rubyn rafrancisco ill lluthien andrewbleakley obahat amit_g deighc Garve TheRealLoki ZhaawZ suprapto45 Merete bullshooter5 GATOR420 sirbounty Guru Master Master Master Master Master Sage Guru Master Master Master Sage Wizard Master Master Master Master Guru Master Master Guru MS Access MS Access MS Access MS Access MS Access Visual Basic Microsoft SQL Microsoft SQL Microsoft SQL Microsoft SQL Microsoft SQL ASP ASP ASP Delphi Delphi Java Windows XP Windows XP Windows XP Networking
Expert Certified in Topic Area
leew davidlars99 ToAoM ITCEXCHANGE Chaosian samtran0331 riyasjef maulikCE Axter GrandSchtroumpf mrichmon amyhxu Dabas FernandoSoto Sancler zorvek CSLARSEN julianH jdpipe davebytes gruntar Guru Master Guru Master Guru Master Master Master Genius Master Master Guru Guru Master Master Genius Guru Guru Master Master Master Networking .NET C# Exchange_Server ASP.NET ASP.NET ASP.NET ASP.NET C++ Web Development Web Development VB.NET VB.NET VB.NET VB.NET Excel Excel Programming PHP PHP PHP
Expert Certified in Topic Area
Netman66 harleyjd mkbean entrance2002 Sembee CoccoBill Watzman Dabas rhinok moorhouselondon GrandSchtroumpf snoyes_jw SheharyaarSaahil TimYates Tolomir Batalf tmedley rindi ldbkutty SunBow NickUpson Sage Guru Master Guru Guru Master Master Guru Guru Master Master Guru Wizard Wizard Master Guru Master Master Master Master Master Win Server 2003 Win Server 2003 Win Server 2003 ColdFusion Microsoft Network Microsoft Network Storage VB Controls Crystal Reports Applications HTML PHP and Databases Windows Security JSP Security CSS FoxPro Laptops/Notebooks PHP for Windows Philosophy & Religion Interbase
1458 experts have 2325 certifications: Genius:42 Sage:113 Wizard:138 Guru:416 Master:1616
Copyright ? 2005. All rights reserved.