Thanks guys;
Allow me to explain whats going on some, I wasn't going to do it because the District Attorney told me not to but i've explained it to him that I could not answer the question properly so he says I can seek a proper answer now.
There is this court case i'm involved in as a result of the work I do for a company I work for. It involves a man who hacked into a company network, he is (was) an employee of this company The results of his hacking resulted in the theft of over $100,000.00. The company I work for was contracted by a law enforcement agency to show that he did this. The defense (his lawyer) claimed that the guy could not have done it because of the security software in place, and the company that makes the security software says that it would have not been possible because their software would have stopped, or alerted someone to, the attempt. Our own programmers looked at various methods and could not come up with anyway around the security software company claim, as a result the case would have been lost and the guy would have won the case and not been prosecuted for his crime. However, i got this bright idea that it was possible and I used COMate to show that it was possible through use of WMI ( see >
http://www.purebasic.fr/english/viewtop ... &start=150 > page 11 of that thread > posts 1 - 4 on page 11).
Since I was the one to be able to show it was possible I had to testify in court and give "expert opinion". Everything was going fine until this happened:
(the below picks up later in my questioning)
Defense: "This is the method you discovered and claim my client used, correct?"
Me: "yes sir"
Defense: "In this method did you employ any certain skills or other methods to arrive at your conclusions?
me: "yes sir"
Defense: "What were these skills or methods you employed?
me: "I used a programming language called 'PureBasic' and a publically available subset usage of that language called 'COMate'.
Defense: "This PureBasic and COMate is not a mainstream programming language is it?
me: "It is within the community of usage."
Defense: "I see, well, I mean, its not like other programming languages used for most programming tasks which are used to produce products normally sold to consumers?
me: "no sir, but it is used to produce products that are sold to consumers, maybe not the majority of mainstream consumers but there are products sold to consumers which are produced with PureBasic."
Defense: "Is this your method?" (at this point he puts the code I wrote using COMate on a screen)
me: "yes sir"
Defense: "can you explain this part please, specifically the '&' part?" (the defense has programmers available to them as consultants)
(at this part he points to a section in the code where I had used this "If PartA & PartB & PartC = #True")
me: "the parts, PartA and PartB and PartC, are a Bitwise AND"
Defense: "What does that mean, a Bitwise AND ?"
me: "it means the parts are compared bitwise."
Defense: "What is a bit?"
me: "In this case a bit is either valued at 1 or 0, either True or False, 1 being True and 0 being False"
Defense: "What is PartA, PartB, and PartC? Do they have values?"
me: "yes they do."
Defense: "What are the values?"
me: "it depends if a part is true or false. If its true then the value will be 1, if the part is false then then the value will be 0. If all the parts are True then the result is True, or 1, if any of the parts are False then the result is False, or 0."
Defense: "Like 1 +1 = 2 ? Or 1 + 1 + 1 = 3?"
me: "no, not exactly. Its a comparison test to determine a result."
Defense: "So it is like 1 + 1 = 2? I'm confused here."
me: <silent> then i say > "Is that a question? I'm sorry, I don't understand the question."
Defense: "is it possible that a comparison could fail?
me: "I guess its possible, but this is not asking for a failure of any certain thing, its just a comparison of things and the result is going to be what it is."
Defense: "i see, and where is this result given at, show us please if you would in your code?"
me: "its not given anywhere, its just a test for comparing one thing against another. The result of that comparison will determine what happens next. So the result is shown in what happens next after the comparison."
Defense: "But isn't this very obscure?"
me: "I'm sorry, I don't understand the question."
Defense: "Can you explain to the jury just how your code, this part, determines a result?
(at this point I look at the DA and he is giving me that "don't say anything" look)
Defense: "so 1 + 1 does not equal 2? is this what your saying?"
me: "no"
Defense: "When I went to school 1 +1 was equal to 2, but your saying now that it doesn't?" (he is looking at and talking to the jury at this point - you can see the confusion in their eyes)
At this point the DA objects, he says that i'm not a programmer. The defense counters by saying "He was qualified as an expert. His testimony directly impacts the outcome of this case." The DA says "But he wasn't qualified expert as a programmer your honor." The defense counters "he was qualified as a forensic expert in this matter your honor, his methods and conclusions were derived as a result of his forensic work on this case. We contend all methods of collecting evidence or demostrating culpability and rendering conclusions are subject to complete explaination."
The judge ponders this for a second and says "He is qualified as a forensic expert and not as a programmer. However, he also developed a method and used that method to arrive at a conclusion which is within the rhelm of the forensic examination he conducted and as such he should be able to explain his methods completly to support his conclusions just as any expert would need to do."
At this point the DA asks for a recess, and the case continues next week. So you see, I need to be able to explain this in such a manner as to dispell the confusion created by the defense. So thats why i'm asking the questions.
(Strangely, there were no questions about COmate its self at least in an explainatory sense so i'm thankful for that or otherwise i'd have to convice srod to pay us a visit.

)
So, do you see why I need to be able to explain the '&' part? Since our own programmers could explain what this would be in a mainstream programming language like C++ or something but not how PureBasic determined this they were of little use, and because I have to be able to validate the Purebasic use of this method, I needed to ask the question. The WMI part explained and not confusing at all, its just this one '&' part.
The advantage of a 64 bit operating system over a 32 bit operating system comes down to only being twice the headache.