I've been using MFC for over 6 years now -- all the way back to Visual C++ v1.0. I've used it for just about everything you could possibly use it for -- including one application with 150 or so screens. MFC does what it was designed for very, very well.
It isn't meant to be portable. What was there to port it to when it first came out? (I don't remember the exact date but it was pre-Visual C++ 1.0, probably late 1993, early 1994.) Linux wasn't even on the map then -- and nobody was even remotely interested in porting things to any other unix.
Borland's OWL (which predates MFC by a bit) is even less portable -- it requires (actually, let me say "required" as I haven't used it in quite some time) extensions to the vtbl mechanism that are specific to Borland's compiler(s). Why aren't people bitching and moaning about that? (Probably because there's not much written in it to be ported.;>)
There are parts of the MFC source code that are just plain brain dead, no two ways about it. But... if I had to write a Windows app tomorrow I wouldn't hesitate to use MFC.
this is just standard business practices no conpiracy, no deal to screw the consumer its just plain old cost cutting
Even if you're right it still sets a dangerous precedent. Just because OnWord is doing it only to cut costs won't in any way prevent another company from doing it for more nefarious purposes...
Apart from the over-zealous praise of the works of White Wolf, Katz seems to have neglected the fact that "paper-and-paper" (where I come from we use pencils, too) RPGs have long dealt with numerous issues.
Delta Green (and Call of Cthulhu in general) deals with how fighting evil can be bad for your mental health.
[A]D&D is a study in the rewarding career of breaking into people's homes and stealing their stuff.
And, lest we forget, the Sailor Moon RPG (as well as various other anime games) deals with the horrible psychological trauma that comes with having eyes that are WAY larger than the human average.
This could turn out to be a net positive. I'm not suggesting that it will cause the public to "rise up" and strike down the DMCA, but... it could draw some serious attention and paint the whole thing in a seriously unflattering light. Most people I talk to don't know or care about the DMCA. When I try to explain it to them in terms of DeCSS, Napster, MP3.com, etc. their eyes just sort of glaze over. Maybe this is something that the average citizen can relate to.
The only way I can see this making any sense is if MS has resigned themselved to being split into MS/OS and MS/Applications as per the initial DOJ v. MS ruling.
Another distinct possibility is that somebody in Redmond has finally realized how much ca$h they could make by selling desktop software for Linux. After all, Office for Macintosh never hurt them...
One thing we can all be sure of is that we can count on all the usual Microsoft stuff:
as long as the participation of the testee is voluntarily. If it is demanded by that person's employer--even as a condition of their employment--it is fine.
That's subject to interpretation. Yes, I am free to quit my job if my employer requests a drug test. I'm also free then to lose my house and starve. I've gotta think that violates my "right to be secure" as guaranteed by the 4th.
As such, this practice violates the rights of the very soldiers who are sworn to defend those rights.
I could apply your "right to quit their job" argument here and say that, since all armed service is currently voluntary that these soldiers voluntarily gave up their right to refuse. Having been one of those soldiers (or sailors as the case may be) I won't because I don't think it is a particularly valid argument.
It does not matter what the FBI says, they may not do this and be in compliance with our Constitution.
Actually, it all hinges on what the courts determine to be unreasonable. Thus far, they seem to feel that it is not unreasonable to infringe on the privacy of many in order to root out the wrong doings of a few. If you read the 4th amendment too much you might start to think that random drug testing is unconstitutional -- what is more unreasonable than seizing the contents of ones bladder without probable cause (not to mention that it can then be used to incriminate you) -- yet it happens all the time.
No, you're an idiot because you are mouthing off with an opinion on a subject you are clearly not qualified to evaluate. I don't care how good your C++ is. You are talking about Java. You don't know Java well enough to know basic tips of the trade, and you think your opinion is valid. That makes you an idiot in my book.
You assume that because I choose not to use Java and dare to point out it's shortcomings that I am not qualified to have an opinion on it. You also feel the need to post inflammatory responses and attack me personally because I hold a differing opinion. In my book, that makes you not qualified to evaluate my qualifications.
Gee, being able to bill for Java work (or any programming work) doesn't take actual programmng ability, just the ability to convince a PHB that you know what you're doing.
No PHB's in the picure. Three person contracting company. Worked directly with (client's) technical staff. Helped them ship their products.
If you want your resources to automatically return themselves, wrap them in Java classes which return themselves during finalize().
That would be nice if I could have any assurances about when finalize() is going to be called. Java won't guarantee if let alone when finalizers get called. That is, has been, and will continue to be my beef (well, one of them actually) with Java.
Yeah, I do think that C++ is on the way out for a variety of reasons, including Java. If you can't see the handwriting on the wall, it's your own damn fault.
You are certainly entitled to think that. Sun would love it if everyone felt that way. Not everybody does. That doesn't make us idiots, nitwits, etc. As I said before, Sun has been screaming for 4 years now that C++. Rumors of the old girl's demise have been much exaggerated.
I understand where you're coming from. I make my living doing (mostly) COM in C++. I still don't like the idea of Microsoft (or anyone else) making proprietary extensions to C++. There are almost certainly better ways to accomplish what they're trying to do here. Why not enhance ATL or add some mix-in classes? Macros? Templates? It just strikes me as a "lock-in" kinda ploy and that always makes me suspicious.
You understand C++, however you do not understand the reason for Java.
I do understand the reasoning behind Java, honest. "Write once run anywhere" is a cool idea. Not necessarily feasible, but certainly worth aspiring to.
How much can you be surprised by a consumer-grade language not living up to its hype?
That's actually a very good point. And (steering back in the general direction of the original topic)I don't think that C# will be any better in those respects. Your point about the smaller subset is shared by quite a few people, Bjarne Stroustrup included.
I'm not one of those people, though. I'm a control freak -- I'm the first to admit it. Give me a language that I can make do anything in any way I choose -- give me enough rope. Let me decide which features are too complicated.
I also think (and this is a bit out there) that one thing Sun did really wrong (and I expect MS to do even worse) was making Java like C++. A C++ programmer with no Java experience can look at a Java program and make some sense out of it. It isn't until you actually get into the details that everything starts to feel so wrong. I truly believe that this would be less of an issue if it didn't look so much like C++.
Why? Because I disagree with you? Because I'm not a java-loving sycophant? If those are the only criteria for idiot-hood then sign me up now. My being an idiot must be the reason that I have to turn down job offers all the time. Must also be why I consistently deliver, on time and free of serious bugs, high quality C++ code.
Learn Java before you criticize it
Funny, I learned it well enough to bill for it. Well enough, in fact, to write better code than the Java team that came before me wrote. Well enough to clean up their crap and write something better in less time.
If you are worried about a resource in Java not being returned due to an exception, use finally
You're not seriously suggesting that it is better for the caller/consumer to clean up after an object than for an object to clean up after itself, are you? Hell, while we're at it, why don't we get rid of constructors and just initialize objects that way too? And who needs those pesky methods? Just unroll all the code and let the caller do it all!!!
Now go make up another reason for not liking Java.
No need, Sun has done a good enough job for me. I won't even pick on the speed/bloat issues -- those are too easy. So how about lack of multiple inheritance? (No, inheriting multiple interfaces doesn't qualify as multiple inheritance.) Or do you buy into the Sun party line that MI is "too confusing" for developers to use?
Do you honestly believe that Java is going to kill C++? Sun can say that all they want -- has been for over 4 years now -- but that just won't make it so.
The point, though, is that the collector takes care of your allocated and unused memory on the fly without interference
The assertion that garbage collection can completely replace a properly crafted destructor is patently false. Remember -- destructors are designed to free up resources of which memory is just one example. Consider the following code:
if (1)
{ Resource r(some_stuff); r.DoSomething(); } DoOtherStuff();
In C++ I can be confident that whatever resource is represented by "r" is now free. If that is memory, it has been returned to the stack. If it is a file handle, the file has been closed. Regardless of what TYPE of resource it is, it is now (assuming I was smart enough to write a proper destructor) freed back to the system. If it happens to encompass multiple resources (let's say, a block of memory, a file, and several other objects) I can feel confident that all these resources are properly freed.
In Java, I have to wait until whatever non-deterministic point in the future the JVM decides to run garbage collection. Then and only then can my "finalizer" be called to free up my resource. (My mastery of the language is what's rudimentary; I do know a little about how it works.) I've yet to meet a machine that "knows best" or even better than I do when my resources should be freed.
And no, a "CloseFile()" or "FreeResource()" or "TerminateWeasel()" method is not an acceptable substitute. If some exception is thrown and not caught at this level my destructor will still execute -- and my resource will still be freed. To me, that beats the crap out of garbage collection anyday.
To be sure, I code a lot more in C++ than Java, but that's because I'm looking at final run speeds, not development turnaround.
That lack of speed that causes you to use C++ instead of Java is in no small way a result of garbage collection. Back in the heyday of the Apple IIe (pre IIc, pre IIgs, pre MAC anything) a friend asked me to help him debug some BASIC code he was writing for a college class. The program would run fine for an extended period of time. Then, for no apparent reason, the system would slow down to a crawl and a bunch of garbage characters would fill up the graphics screen. Turned out to be garbage collection of all the strings that were being used in the program.
Not a good analogy. Adding OO to C to make C++ is kinda like building a SUV on passenger car frame. What was done to "objectify" VB is kinda like building a circus truck from a skateboard.
Seriously, C++ is not a "pure" OO language. It is, however, a pretty good general purpose language that embodies many of the principles of OO. IMHO it is more useful than "pure" OO languages such as Smalltalk.
Garbage collection as implemented in Java is just preposterous. I had to learn some rudimentary Java recently for a contract I was working on. When I tried to explain the lack of a real destructor to a fellow C++ programmer he was absolutely astounded.
If more people who wrote C++ code actually "got" C++ we would need smart pointers even less often. I could not begin to count the number of times where I've seen code that allocated an object on the heap, used the object, then deleted it only a few lines down. Why not just create the object on the stack? Creating objects on the heap kinda defeats exception handling, too.
Don't know if this has been discussed here previously; aplogies if it has.
Microsoft is attempting to do some very unkind things to the C++ language as well. They're calling it "Attributed COM+ Programming" but what it amounts to is a heinous assault on the C++ language. As a user of Visual C++ I'm more than a bit concerned about this.
Code snippet:
[event_receiver(classic)]
class CMyReceiver { void handler1(int i) {... } void handler2(int i, float j) {... } }
Other "attributes" will be added to support COM, IDL, and OLE DB. My favorite are the Compiler attributes which will
"Inject code that performs a variety of common programming tasks"
As a C++ programmer (primarily Microslop, if you must know) I would really prefer to not even discuss Java: don't like it, don't want it, don't need it. If "C#" is, as it sounds, C++ with garbage collection and other whiz-bang Java "features" then I feel the same way: keep it away from any project I'm working on.
I can't personally speak for VB programmers as I am not one. (IANAVBP?) However, I have associated with more than my share of them in my life. My experience is that they just can't wrap their heads around Java or C++ (or anything even remotely object based for that matter). I expect the same to be true of C#.
Close, but no cigar. Maintaining the monopoly is not what started this whole thing. What opened the can of worms was allegations (some true, some not) that they had attempted to unfairly leveraged their OS monopoly into other markets. Subtle, but important.
The market share of Windows will drop to 50%? Please! I really doubt that the market share will change significantly, especially in the short (<2 years) term. Corporations who have bought into the Microsoft way of doing things are not going to throw away their investments just because the same company doesn't make Office any more.
Yes, the OS part will only have Windows but what more leverage do they need? They can (and will) still force it onto OEM's in the same ways they do now. The only difference is that by protecting their monopoly they won't be doing anything that the Justice Department can do anything about.
Call me wacky, but I'm starting to really believe that a breakup would be good for Microsoft.
I was recently witness to a very similar sort of experience.
My wife was the regional customer service director at a local company and had recently hired a new customer service rep. Several weeks after he started her boss approached her and ordered her to fire the new guy. She of course wanted to know why. It turns out that this guy's background check turned up that he had several convictions for misdemeanor theft. The most recent conviction had been a few months before when he had been convicted of stealing from his employer. The reasoned (in a pointy-haired manner) that since he had certified on his application that he had never been convicted of a felony that this misdemeanor theft conviction gave them the right to fire him. Further, since his employment is "at will" and he was in his probationary period that they had no need to tell him why he was being fired.
My wife wasn't very comfortable about the whole situation and neither was I. We consulted an attorney and discovered that, much as we had suspected, what they were asking her to do was against the law. (The Fair Credit Reporting Act, to be specific.)
To make a long story short, my wife made enough waves that her boss finally agreed to allow her to tell the guy why he was being fired. The funny part is that about an hour before she was about to fire him he walked into her office to announce that he was leaving to take another job.
We later found out that the background check was indeed incorrect and that he had no such convictions. He comes over to our house every couple weeks to watch baseball.
The real fallout came right about the same time that he left to take another job: my wife's position was eliminated. Officialy this was due to a recent merger that had made her position obsolete. She was offered a position as the floor supervisor (a demotion of two levels) at the same salary. I'm very proud that she told them to piss off -- even though they refused to give her any sort of severance package whatsoever. She's now working as a help desk manager with a $10,00 raise, a 20% bonus plan, and stock options, so I guess they did us a favor.
I've been using MFC for over 6 years now -- all the way back to Visual C++ v1.0. I've used it for just about everything you could possibly use it for -- including one application with 150 or so screens. MFC does what it was designed for very, very well.
It isn't meant to be portable. What was there to port it to when it first came out? (I don't remember the exact date but it was pre-Visual C++ 1.0, probably late 1993, early 1994.) Linux wasn't even on the map then -- and nobody was even remotely interested in porting things to any other unix.
Borland's OWL (which predates MFC by a bit) is even less portable -- it requires (actually, let me say "required" as I haven't used it in quite some time) extensions to the vtbl mechanism that are specific to Borland's compiler(s). Why aren't people bitching and moaning about that? (Probably because there's not much written in it to be ported. ;>)
There are parts of the MFC source code that are just plain brain dead, no two ways about it. But... if I had to write a Windows app tomorrow I wouldn't hesitate to use MFC.
--john, donning his flame-retardant suit
Even if you're right it still sets a dangerous precedent. Just because OnWord is doing it only to cut costs won't in any way prevent another company from doing it for more nefarious purposes...
--john
Only in that most artists don't get squat. Don't you ever watch VH1 Behind the Music? ;)
Seriously, I forget what year it was but TLC sold like a bazillion albums and made about $50K apiece -- they ended up in bankruptcy court.
--john
Delta Green (and Call of Cthulhu in general) deals with how fighting evil can be bad for your mental health.
[A]D&D is a study in the rewarding career of breaking into people's homes and stealing their stuff.
And, lest we forget, the Sailor Moon RPG (as well as various other anime games) deals with the horrible psychological trauma that comes with having eyes that are WAY larger than the human average.
--john
This could turn out to be a net positive. I'm not suggesting that it will cause the public to "rise up" and strike down the DMCA, but... it could draw some serious attention and paint the whole thing in a seriously unflattering light. Most people I talk to don't know or care about the DMCA. When I try to explain it to them in terms of DeCSS, Napster, MP3.com, etc. their eyes just sort of glaze over. Maybe this is something that the average citizen can relate to.
Another distinct possibility is that somebody in Redmond has finally realized how much ca$h they could make by selling desktop software for Linux. After all, Office for Macintosh never hurt them...
One thing we can all be sure of is that we can count on all the usual Microsoft stuff:
proprietary formats
bad licenses
worse support
constant upgrade cycles
etc.
Should be interesting.
--john
That's subject to interpretation. Yes, I am free to quit my job if my employer requests a drug test. I'm also free then to lose my house and starve. I've gotta think that violates my "right to be secure" as guaranteed by the 4th.
As such, this practice violates the rights of the very soldiers who are sworn to defend those rights.
I could apply your "right to quit their job" argument here and say that, since all armed service is currently voluntary that these soldiers voluntarily gave up their right to refuse. Having been one of those soldiers (or sailors as the case may be) I won't because I don't think it is a particularly valid argument.
Actually, it all hinges on what the courts determine to be unreasonable. Thus far, they seem to feel that it is not unreasonable to infringe on the privacy of many in order to root out the wrong doings of a few. If you read the 4th amendment too much you might start to think that random drug testing is unconstitutional -- what is more unreasonable than seizing the contents of ones bladder without probable cause (not to mention that it can then be used to incriminate you) -- yet it happens all the time.
Again, I'm not trying to say that proprietary extensions aren't useful. They most certainly can be. Doesn't mean I have to like them.
No, you're an idiot because you are mouthing off with an opinion on a subject you are clearly not qualified to evaluate. I don't care how good your C++ is. You are talking about Java. You don't know Java well enough to know basic tips of the trade, and you think your opinion is valid. That makes you an idiot in my book.
You assume that because I choose not to use Java and dare to point out it's shortcomings that I am not qualified to have an opinion on it. You also feel the need to post inflammatory responses and attack me personally because I hold a differing opinion. In my book, that makes you not qualified to evaluate my qualifications.
Gee, being able to bill for Java work (or any programming work) doesn't take actual programmng ability, just the ability to convince a PHB that you know what you're doing.
No PHB's in the picure. Three person contracting company. Worked directly with (client's) technical staff. Helped them ship their products.
If you want your resources to automatically return themselves, wrap them in Java classes which return themselves during finalize().
That would be nice if I could have any assurances about when finalize() is going to be called. Java won't guarantee if let alone when finalizers get called. That is, has been, and will continue to be my beef (well, one of them actually) with Java.
Yeah, I do think that C++ is on the way out for a variety of reasons, including Java. If you can't see the handwriting on the wall, it's your own damn fault.
You are certainly entitled to think that. Sun would love it if everyone felt that way. Not everybody does. That doesn't make us idiots, nitwits, etc. As I said before, Sun has been screaming for 4 years now that C++. Rumors of the old girl's demise have been much exaggerated.
I understand where you're coming from. I make my living doing (mostly) COM in C++. I still don't like the idea of Microsoft (or anyone else) making proprietary extensions to C++. There are almost certainly better ways to accomplish what they're trying to do here. Why not enhance ATL or add some mix-in classes? Macros? Templates? It just strikes me as a "lock-in" kinda ploy and that always makes me suspicious.
I do understand the reasoning behind Java, honest. "Write once run anywhere" is a cool idea. Not necessarily feasible, but certainly worth aspiring to.
How much can you be surprised by a consumer-grade language not living up to its hype?
That's actually a very good point. And (steering back in the general direction of the original topic)I don't think that C# will be any better in those respects. Your point about the smaller subset is shared by quite a few people, Bjarne Stroustrup included.
I'm not one of those people, though. I'm a control freak -- I'm the first to admit it. Give me a language that I can make do anything in any way I choose -- give me enough rope. Let me decide which features are too complicated.
I also think (and this is a bit out there) that one thing Sun did really wrong (and I expect MS to do even worse) was making Java like C++. A C++ programmer with no Java experience can look at a Java program and make some sense out of it. It isn't until you actually get into the details that everything starts to feel so wrong. I truly believe that this would be less of an issue if it didn't look so much like C++.
Why? Because I disagree with you? Because I'm not a java-loving sycophant? If those are the only criteria for idiot-hood then sign me up now. My being an idiot must be the reason that I have to turn down job offers all the time. Must also be why I consistently deliver, on time and free of serious bugs, high quality C++ code.
Learn Java before you criticize it
Funny, I learned it well enough to bill for it. Well enough, in fact, to write better code than the Java team that came before me wrote. Well enough to clean up their crap and write something better in less time.
If you are worried about a resource in Java not being returned due to an exception, use finally
You're not seriously suggesting that it is better for the caller/consumer to clean up after an object than for an object to clean up after itself, are you? Hell, while we're at it, why don't we get rid of constructors and just initialize objects that way too? And who needs those pesky methods? Just unroll all the code and let the caller do it all!!!
Now go make up another reason for not liking Java.
No need, Sun has done a good enough job for me. I won't even pick on the speed/bloat issues -- those are too easy. So how about lack of multiple inheritance? (No, inheriting multiple interfaces doesn't qualify as multiple inheritance.) Or do you buy into the Sun party line that MI is "too confusing" for developers to use?
Do you honestly believe that Java is going to kill C++? Sun can say that all they want -- has been for over 4 years now -- but that just won't make it so.
The assertion that garbage collection can completely replace a properly crafted destructor is patently false. Remember -- destructors are designed to free up resources of which memory is just one example. Consider the following code:
In C++ I can be confident that whatever resource is represented by "r" is now free. If that is memory, it has been returned to the stack. If it is a file handle, the file has been closed. Regardless of what TYPE of resource it is, it is now (assuming I was smart enough to write a proper destructor) freed back to the system. If it happens to encompass multiple resources (let's say, a block of memory, a file, and several other objects) I can feel confident that all these resources are properly freed.In Java, I have to wait until whatever non-deterministic point in the future the JVM decides to run garbage collection. Then and only then can my "finalizer" be called to free up my resource. (My mastery of the language is what's rudimentary; I do know a little about how it works.) I've yet to meet a machine that "knows best" or even better than I do when my resources should be freed.
And no, a "CloseFile()" or "FreeResource()" or "TerminateWeasel()" method is not an acceptable substitute. If some exception is thrown and not caught at this level my destructor will still execute -- and my resource will still be freed. To me, that beats the crap out of garbage collection anyday.
To be sure, I code a lot more in C++ than Java, but that's because I'm looking at final run speeds, not development turnaround.
That lack of speed that causes you to use C++ instead of Java is in no small way a result of garbage collection. Back in the heyday of the Apple IIe (pre IIc, pre IIgs, pre MAC anything) a friend asked me to help him debug some BASIC code he was writing for a college class. The program would run fine for an extended period of time. Then, for no apparent reason, the system would slow down to a crawl and a bunch of garbage characters would fill up the graphics screen. Turned out to be garbage collection of all the strings that were being used in the program.
Seriously, C++ is not a "pure" OO language. It is, however, a pretty good general purpose language that embodies many of the principles of OO. IMHO it is more useful than "pure" OO languages such as Smalltalk.
Hey, it could happen.
Garbage collection as implemented in Java is just preposterous. I had to learn some rudimentary Java recently for a contract I was working on. When I tried to explain the lack of a real destructor to a fellow C++ programmer he was absolutely astounded.
If more people who wrote C++ code actually "got" C++ we would need smart pointers even less often. I could not begin to count the number of times where I've seen code that allocated an object on the heap, used the object, then deleted it only a few lines down. Why not just create the object on the stack? Creating objects on the heap kinda defeats exception handling, too.
Microsoft is attempting to do some very unkind things to the C++ language as well. They're calling it "Attributed COM+ Programming" but what it amounts to is a heinous assault on the C++ language. As a user of Visual C++ I'm more than a bit concerned about this.
Code snippet:
Other "attributes" will be added to support COM, IDL, and OLE DB. My favorite are the Compiler attributes which will
See for yourself.
As a C++ programmer (primarily Microslop, if you must know) I would really prefer to not even discuss Java: don't like it, don't want it, don't need it. If "C#" is, as it sounds, C++ with garbage collection and other whiz-bang Java "features" then I feel the same way: keep it away from any project I'm working on.
I can't personally speak for VB programmers as I am not one. (IANAVBP?) However, I have associated with more than my share of them in my life. My experience is that they just can't wrap their heads around Java or C++ (or anything even remotely object based for that matter). I expect the same to be true of C#.
Close, but no cigar. Maintaining the monopoly is not what started this whole thing. What opened the can of worms was allegations (some true, some not) that they had attempted to unfairly leveraged their OS monopoly into other markets. Subtle, but important.
Yes, the OS part will only have Windows but what more leverage do they need? They can (and will) still force it onto OEM's in the same ways they do now. The only difference is that by protecting their monopoly they won't be doing anything that the Justice Department can do anything about.
Call me wacky, but I'm starting to really believe that a breakup would be good for Microsoft.
Q:What exactly happens when Microsoft gets split in two?
A:We go from one company with a "monopoly" on desktop OS and the desktop applications markets to two companies each with a "monopoly" over a piece.
How is that any better?
Q:How long did Unisys not enforce the LZW patent before deciding that their patent had been infringed?
A:Until somebody with cash (Microsoft) started making a web browser that displayed GIF images compressed with their patented algorithm.
My wife was the regional customer service director at a local company and had recently hired a new customer service rep. Several weeks after he started her boss approached her and ordered her to fire the new guy. She of course wanted to know why. It turns out that this guy's background check turned up that he had several convictions for misdemeanor theft. The most recent conviction had been a few months before when he had been convicted of stealing from his employer. The reasoned (in a pointy-haired manner) that since he had certified on his application that he had never been convicted of a felony that this misdemeanor theft conviction gave them the right to fire him. Further, since his employment is "at will" and he was in his probationary period that they had no need to tell him why he was being fired.
My wife wasn't very comfortable about the whole situation and neither was I. We consulted an attorney and discovered that, much as we had suspected, what they were asking her to do was against the law. (The Fair Credit Reporting Act, to be specific.)
To make a long story short, my wife made enough waves that her boss finally agreed to allow her to tell the guy why he was being fired. The funny part is that about an hour before she was about to fire him he walked into her office to announce that he was leaving to take another job.
We later found out that the background check was indeed incorrect and that he had no such convictions. He comes over to our house every couple weeks to watch baseball.
The real fallout came right about the same time that he left to take another job: my wife's position was eliminated. Officialy this was due to a recent merger that had made her position obsolete. She was offered a position as the floor supervisor (a demotion of two levels) at the same salary. I'm very proud that she told them to piss off -- even though they refused to give her any sort of severance package whatsoever. She's now working as a help desk manager with a $10,00 raise, a 20% bonus plan, and stock options, so I guess they did us a favor.
--john
--john