C the complete nonsense

J

J de Boyne Pollard

Edward said:
Your deadline for the wikipedia change is 11 April China time.

You'll need to sit down, M. Seebach, close your eyes,
place your fingers to your temple, and FOCUS YOUR HYPNOTIC
MIND RAYS REALLY HARD.

In the meantime, the rest of us can ponder the koan of how
daft one has to be to be a person banned from Wikipedia
for sockpuppetry publicly soliciting other people to make
edits to it under xyr direction.
 
J

J de Boyne Pollard

[...] some of the high-level conceptual problems Schildt
demonstrates (such as clearly not understanding EOF), [...]

For what it's worth, I think that I partly understand why that error
is there, if we accept the notion that this was really a book about
DOS (and Windows) C implementations. There is a character, whose
value is 26, that a lot of the libraries for DOS implementations of
the C language treated as if it were EOF. (It isn't EOF, of course,
and never was any sort of end-of-file marker to the underlying
operating system itself. I have a Frequently Given Answer on this.)
So I suspect that this error is the result of conflating character 26,
mis-named the end-of-file character (It's actually "SUB".), with the
EOF value read, in place of an unsigned character, from C streams by
the stream I/O functions. It is possible, with those C libraries, to
have an actual character in the stream that comes through fgetc(),
say, as EOF.
 
J

J de Boyne Pollard

Unlike the high level conio.h file, f'rex.

<conio.h> wasn't higher level than the other DOS system API C language
bindings. Indeed, it was at the same level or even lower.

In Microsoft's C implementation, the functions called the MS-DOS
version 2 standard I/O APIs. You wanted to know what getche() did, M.
Seebach? On early Microsoft C it did whatever INT 0x21 with AX equal
to 0x01 did. Similarly, getch() wrapped INT 0x21/AX=0x08, putch()
wrapped INT 0x21/AX=0x02 (or possibly AX=0x06), and kbhit() wrapped
INT 0x21/AX=0x0B. These calls were simply yet more wrappers around
the DOS system API.

Then along came Borland, whose compiler had to be faster than
Microsoft's. Borland's <conio.h> functions weren't just simple
wrappers around various MS-DOS v2 INT 0x21 calls. Instead, Borland's
library wrote directly to video memory for output, and talked directly
to the firmware API for keyboard input. kbhit() turned into a
firmware call. putch() wrote directly to VRAM and knew about text
window boundaries, scrolling flags, and colours. And getche() became
putch(getch()). And thus "You can redirect standard input and output
of a Microsoft compiled program, because its <conio.h> library uses
DOS calls; but it won't work with the Borland compiler, because its
<conio.h> library doesn't." became a Frequently Given Answer.

So Borland's (and also Watcom's) <conio.h> library no longer wrapped
the DOS system API, and was actually talking to the system at a lower
level, not a higher one.
 
S

spinoza1111

No offense, but is there any point in responding to a rant that illucid

I think it's time, Peter, to drop your pretense that you are literate
and for that reason an authority on either Schildt's use of language
or the meaning of "clarity".

This is because "illucid", a word you've used several times, is not a
meaningful word, and there are plenty of correct words for what you
stumble to say. Such as unclear.

You see, "illucid" occurs neither in the compact nor unabridged OED,
nor does it appear in the free online Merriam Webster, nor at
dictionary.com. I have never encountered it save from you.

In the complete Oxford English Dictionary, the closest match is the
verb form of the reverse of what you mean: "to shed light upon; to
make clear, clear up, elucidate"! The il- prefix is not a free
operator, and most literate people know that for this reason you may
not make neologisms.

In fact, a poet would use "illucid" as is as the participle for
"illucidated" to make the meter work:

Nilges has once again made all pellucid,
Clear, transparent, glassy and illucid.
He has for us the Eleusinian illucidated
Whilst Seebach with toads and sheep has mated.

"Know thyself". I am not making an inference from a single data point;
that's what you do in the case of Schildt despite the fact that you
don't know Windows programming and have no academic background in
computer science. Instead, I am gradually forming a correct image of
your capabilities, and this is evidence that fits a pattern of error
and pretense. Before you continue your little campaign, know yourself.

with factual points?  I have no idea where Nilges gets the idea that I
think using Linux makes me special.  I don't even particularly like Linux.

But the pure noise component really dominates any kind of argumentation here.
What does "in a global sense" mean?  It means that Nilges has access to a
keyboard, and not much else.

It means that you're a provincial who's trying to tell world
programmers what to read.
Well, to be fair, doesn't he consistently demand the privilege of defining
the rules of success?  So I guess that's at least consistent with his other
behavior.

Actually, that's what having a life plan is all about. To the extent
that one does not in fact harm others, one defines the rules of
success.
Me, I have no interest in "defining the rules of success".  I am a
descriptive, not a prescriptive, student of programming.  If something really
does work, I don't care whether it matches any particular theory.  (Contrast

That's interesting, because you've never posted anything that works,
to my knowledge.
with Nilges, whose cover story for not knowing how switch() works is that it's
not properly "structured".)

No, your code was not properly structured in queue.c. It's a separate
fact that C allows (but does not require) an unstructured fall-through
as a legacy feature not used by competent programmers.

Using break() diligently in all switch() statements is core computer
science competence; returning an integer in main() is not. This is
because you cannot back your claim with any reference, outside a
community of mere programmers, to an academic and scientific result.
We don't fallthrough in switch because it was proven by Bohm and
Jacopini that we don't need to, and it was shown by Dijkstra et al.
that good programs restrict themselves to a small superset of the
three Bohm/Jacopini structures which includes case/switch only when
there is a single entry/exit and n distinct paths which never
overlap.

Our praxis is mathematically definable; yours is not. In ours, switch-
case is recognized as a fourth block in addition to process, if-then-
else and do-while, with while-do one trip also often admitted.

But this is because switch-case without fallthrough stands in relation
to the basics in the trivial relationship "you're" has to "you are".
It's a transliteration.

Whereas switch-case with fallthrough is neologistic, and there is no
gain in efficiency, reliability or maintainability. There's no gain in
efficiency because if a switch case is duplicated codewise in the
structured version, no time is lost save in the break() which may
generate a go to in machine language, well worth the investment. The
(slight) reliability-maintainability objection is that you would have
to replicate code, but this is handled as of old: function, inline
function or preprocessor macro.

The reliability-maintainability objection you made is actually sheer
intellectual flaccidity of the sort I learned to expect, increasingly,
as more and more shitheads entered the field: the sort of people who
buy "Don't Make Me Think!".

The gain is of course clarity, especially because modern languages
don't support fallthrough. The usage in fact endangers the quality of
the code to demonstrate membership in an in-crowd. It's a shibboleth,
 When I criticize non-portability, it's not
because I have any particular preference for portability *in and of itself*;
it's because my experience has taught me that portability offers a very
substantial return on time and effort invested in it, and in particular,
that writing for portability from the beginning is much cheaper than trying
to bolt it on later.

The rules of success are that if what you're doing works and allows you to
be successful, apparently that's a way of succeeding.  No interest in defining
that; it strikes me as a ludicrous effort.  It's like demanding the privilege
of defining the laws of physics.  You don't get a vote; physics is out there,
and you can cope or not.

This is absurd. Sociology, whether theoretical or applied, is not
physics because you are part of the data, and you make the rules in
equilibrium with others.

For example, you can't just decide to "succeed" by deliberately
trashing Schildt as if social standing and reputation were like heat
in physics, which is conserved in the ordinary physical world as is
demonstrated in a high school laboratory.

Whereas social standing and reputation doesn't accrue to you "just
because" you've taken it away from Schildt or a coworker, by
backstabbing, or allowing a false document to be referenced by others
for ten years. It's not "conserved". It's manufactured by real
accomplishment (such as writing halfway decent code). It's permanently
destroyed and doesn't come back by gossip, online trashing, and lies.

In fact, philosophies of "self-interest" which assume no altruism or
justice-instinct try to reduce social phenomenon to fully explainable
attempts of systems to optimize their standing. They are for this
reason attractive to people with technical backgrounds. The result
here is pretty obvious. The best people are driven away.
 
R

Rod Pemberton

Seebs said:
[FAT filesystem]

Pete,

Did you just pollu..., uh, crosspost to, comp.os.msdos.programmer with OT
c.l.c. crud just because JdeBP mentioned 8.3 filenames?

I guess I'm just going to have to come back to c.l.c. and verbally pound
some more of the ignorant morons there who possess overly inflated egos...
J de Boyne Pollard <[email protected]>

OMFG, ROFL!!!... I thought it/he/she died. I haven't seen a post from
it/him/her in a while. I recommend you chase it/he/she out of there quick.

It/he/she prefers gender neutral pronouns... which is considered
demasculinization or defeminization by most. This is no joke. Xe's (<--FYI
that's a gender neutral pronoun...) in-depth webpage on neutered and spayed
identity pronouns is presented here:
http://homepage.ntlworld.com/jonathan.deboynepollard/FGA/sex-neutral-pronouns.html

I haven't read the c.l.c. thread, but if JdeBP is up to his usual antics,
it/he/she just lured you into a completely wrong, biased, warped,
delusional, and *strongly* pro-Microsoft rant. It/he/she could earn the
global award for penultimate chain yanking... if you exclude Mike Corley.
Even when it/he/she is presented with factually based correct evidence
it/he/she refuses to accept any info not aligned with Microsoft or
Bernstein's djbdns.


Laugh, I think maybe I should attempt to jinx c.l.c... just for the OT crud
that c.l.c. people continue to spooge out onto the rest of Usenet. May the
"god" of insane OT spam perpetually pound c.l.c. with his paranoia.
MI5Victim arise! Arise! Arise MI5Victim! Arise!

The victim with paranoia from the very beginning:
http://groups.google.com/group/soc.penpals/msg/3248ce42b709d840?hl=en
http://groups.google.com/group/rec.travel.air/msg/4725860c747d6163?hl=en

Or try his website:
http://www.mi5.com/

Better yet, just buy the books by Boleslaw Tadeusz Szocik, "Persecuted by
MI5 Security Service Volume 1" and "Persecuted by the MI5 Security Service
Volume 2" on Amazon. Or, get your Miracle C compiler by him today. It's
insane:
http://www.c-compiler.com/


Rod Pemberton
 
C

Colonel Harlan Sanders

I think it's time, Peter, to drop your pretense that you are literate
and for that reason an authority on either Schildt's use of language
or the meaning of "clarity".

This is because "illucid", a word you've used several times, is not a
meaningful word, and there are plenty of correct words for what you
stumble to say. Such as unclear.

You see, "illucid" occurs neither in the compact nor unabridged OED,
nor does it appear in the free online Merriam Webster, nor at
dictionary.com. I have never encountered it save from you.


He's got a point.
Only a completely illiterate (or is that aliterate?) twat would make
up words for effect.

An even more clear example:
Don't speak for the newbie. You're not a newbie. How would you know
what the knewbie kneeds to know?

But strangely, knor are you an experienced as opposed to corrupted
programmer. These sorts of corrupted and incompetent programmers love
to speak for the newbie.

We now kneed you to blank or remove C: the Complete Nonsense.


However, not all jargon has been enshrined in a standard dictionary,
In the study of Net kookery (whoops, probably not in a dictionary
either; sorry), for instance, we find:
http://www.crank.net/about.html
Sites featured on Crank Dot Net are rated in terms of their crankitude.
There's a simple scale:
fringe Going above and beyond the normal call of scientific duty; fringe science.
bizarre One has to suppose it's not cranky, but it sure defies sensibility.
CRANKY No doubt about it -- beyond the ordinary. Downright strange.
CRANKIER In a realm where few have ventured and returned safely.
CRANKIEST Above and beyond the normal call of the crank.
ILLUCID Something so beyond understanding that it defies classification.

So it appears that illucid, while not yet known in the dreaming spires
of Oxford, is actually a word; exemplar: "you".
 
N

Nick Keighley

[...] some of the high-level conceptual problems Schildt
demonstrates (such as clearly not understanding EOF), [...]

For what it's worth, I think that I partly understand why that error
is there, if we accept the notion that this was really a book about
DOS (and Windows) C implementations.  

besides your, quite reasonable, explanation another possibility is
that he'd had dealings with "clairvoyant" i/o systems such as Pascals
(the language). In Pascal you check the flag for EOF *before* you read
a character.

There is a character, whose value is 26,

often referred to as ctrl-Z or ^Z

that a lot of the libraries for DOS implementations of
the C language treated as if it were EOF.  (It isn't EOF, of course,
and never was any sort of end-of-file marker to the underlying
operating system itself.

I thought by convention DOS textfiles were terminated with ^Z?

 I have a Frequently Given Answer on this.)
So I suspect that this error is the result of conflating character 26,
mis-named the end-of-file character (It's actually "SUB".),

only if you think DOS uses all those funny characters at the bottom
the way ANSI intended. And there are plenty of other indications that
they don't.
with the
EOF value read, in place of an unsigned character, from C streams by
the stream I/O functions.  It is possible, with those C libraries, to
have an actual character in the stream that comes through fgetc(),
say, as EOF.

I'd expect stdio to strip it
 
K

Keith Thompson

Nick Keighley said:
On 9 Apr, 10:17, J de Boyne Pollard <[email protected]>
wrote: [...]
So I suspect that this error is the result of conflating character 26,
mis-named the end-of-file character (It's actually "SUB".),

only if you think DOS uses all those funny characters at the bottom
the way ANSI intended. And there are plenty of other indications that
they don't.
with the
EOF value read, in place of an unsigned character, from C streams by
the stream I/O functions.  It is possible, with those C libraries, to
have an actual character in the stream that comes through fgetc(),
say, as EOF.

I'd expect stdio to strip it

My understanding of how stdio normally works on DOS (which could
be mistaken) is this:

In binary mode, bytes are read from the file without interpretation.
Character 26 is not special (you obviously want to be able to
embed that byte value in a binary file). getc() will return EOF
when it reaches the physical end of the file. (As always, EOF is
not a character value; it's a special int value returned by getc()
to denote an end-of-file or error condition.)

In text mode, a CR-LF pair is translated to a single '\n' character,
and character 26 triggers an end-of-file condition, causing getc() to
return EOF. If you have a file with a character 26 embedded in the
middle of it, attempting to read it as text file will only get you
the first half (arguably it's not a valid text file). Reaching the
physical end of the file will also trigger an end-of-file condition
if you haven't already encountered a character 26.

The choice of character 26 makes it easy for the system to have
control-Z trigger and end-of-file condition when reading from the
keyboard. (Note that Unix uses control-D for the same purpose,
but only for interactive input; a control-D character in a disk
file is not special, either in binary mode or in text mode.)

The C-relevant point is that the C standard was designed to allow
for both of these schemes, as well as a number of even stranger ones,
to be handled (nearly) transparently by portable code. For exampe,
if you write a character 26 to a text file and then read it back,
the standard doesn't guarantee that you'll get back the same
character; on Unix you will, but on DOS you'll get an end-of-file
condition instead.
 
W

Willem

Keith Thompson wrote:
) My understanding of how stdio normally works on DOS (which could
) be mistaken) is this:
)
) In binary mode, bytes are read from the file without interpretation.
) Character 26 is not special (you obviously want to be able to
) embed that byte value in a binary file). getc() will return EOF
) when it reaches the physical end of the file. (As always, EOF is
) not a character value; it's a special int value returned by getc()
) to denote an end-of-file or error condition.)
)
) In text mode, a CR-LF pair is translated to a single '\n' character,
) and character 26 triggers an end-of-file condition, causing getc() to
) return EOF. If you have a file with a character 26 embedded in the
) middle of it, attempting to read it as text file will only get you
) the first half (arguably it's not a valid text file). Reaching the
) physical end of the file will also trigger an end-of-file condition
) if you haven't already encountered a character 26.

That's how I recall it as well.

Additionally, if you get an EOF from a character 26 in text mode, I think
you can then continue reading to get the rest of the file. You may have to
call something specific like clearerr() first, although I'm not sure.


SaSW, Willem
--
Disclaimer: I am in no way responsible for any of the statements
made in the above text. For all I know I might be
drugged or something..
No I'm not paranoid. You all think I'm paranoid, don't you !
#EOT
 
B

BruceS

On Apr 9, 12:53 pm, Seebs <[email protected]> wrote:

You are lying: the page (http://www.seebs.net/c/c_tcr.html) is
unchanged.

This may have been a matter of timing. I just clicked on the link
spinoza1111 included, and was automatically redirected to
http://www.seebs.net/c/c_tcn4e.html
which is the updated page. I don't see a link there to the old page,
but I have to admit to having only skimmed through the new page so
far. I fully intend to read it more thoroughly later as time
permits. Here's a quote from the current page (summary section):
"C: The Complete Reference is a popular programming book, marred only
by the fact that it is largely tripe."
 
B

BruceS

Hee.

Actually, modulos any new material and additional review passes, I was
thinking this afternoon sometime.


I am not expecting to beat 5%.  I'm aiming, not for completeness, but for
a representative sample.


Good luck!  I'd hit 164, but nothing else before the 200s.

I'll add a discussion of Page 168-177 in some detail.  Gonna need to
take this one out to lunch, though.

I see that the new page is in place. This means you have delivered
ahead of the deadline. I hope you know what that means.
 
S

spinoza1111

On Apr 7, 8:23 pm, Nick Keighley <[email protected]>
I
think it would be best if you stopped wasting your time on Schildt
commentary, however.
can we gather up all the examples of errors and post them on a web
site?
No. [snip odd politics]
so were those criticisms of schildt's book incorrect?
Yes. There were 20 and 14 were incorrect. For the past ten years, the
document has described the wrong edition.

I'm talking about the "pick a random page and list the errors" game
that various people have been playing on these threads. I notice you
ignore most of them. is that because they are correct?

No. Instead, to save time, I am reviewing CTCN-4 and will itemize all
problems I find, possibly with a co-author. I have opened up a
Biographies of Living Persons issue at wikipedia, and I have notified
someone who appears to be Jimbo Wales and who commented at my blog.
 
S

spinoza1111

Harlan-the-Lanier-Troll has one of those "moments of clarity"
characteristic of low bottom alcoholics, but it passes, since he goes
on to compare an obviously humorous use of silent Ks with Peter's
humorless, pompous, meant to be serious misuse of a word. My poetry
and creativity of language is characteristic of people with high
verbal skills. Peter's blunder is characteristic of uh aliterates.
Anyone can make a mistake.

You have got to be shitting me. No, that's simply not true. Unless you
suck dick here, you better keep your seriously intended statements
free of boners. And if you don't suck dick here, you better be
prepared for humorless madmen to harass you until Kingdom Come.
 
S

Seebs

[...] some of the high-level conceptual problems Schildt
demonstrates (such as clearly not understanding EOF), [...]

For what it's worth, I think that I partly understand why that error
is there, if we accept the notion that this was really a book about
DOS (and Windows) C implementations. There is a character, whose
value is 26, that a lot of the libraries for DOS implementations of
the C language treated as if it were EOF. (It isn't EOF, of course,
and never was any sort of end-of-file marker to the underlying
operating system itself. I have a Frequently Given Answer on this.)
So I suspect that this error is the result of conflating character 26,
mis-named the end-of-file character (It's actually "SUB".), with the
EOF value read, in place of an unsigned character, from C streams by
the stream I/O functions. It is possible, with those C libraries, to
have an actual character in the stream that comes through fgetc(),
say, as EOF.

This is a good theory, but I don't accept it. Here's why.

1. Schildt consistently uses char, not int, to store returns from getchar().
2. Schildt's claim is that it is BINARY files where you can mistake some
other character for EOF.

If Schildt had been thinking of the \x1a "EOF", he would have warned that
there was such a character in TEXT files, because it would only be interpreted
as EOF in a text file; in a binary file, it wouldn't be mistaken for EOF.

.... I think. It's quite possible that he's more confused than I thought
possible. If you look at the order-of-evaluation explanation he gave in
the third edition, you will clearly observe that he has NO CLUE AT ALL
how that stuff works. (In his defense, he was probably right to simply
not try to address order-of-evaluation bugs in the fourth edition, but to
provide an irrelevant non-example. It would, of course, have been better
to provide a good example, but he couldn't, so he didn't.)

-s
 
S

Seebs

Seebs said:
[FAT filesystem]
Did you just pollu..., uh, crosspost to, comp.os.msdos.programmer with OT
c.l.c. crud just because JdeBP mentioned 8.3 filenames?

I didn't pay attention to the headers, so presumably they'd been set
previously.

-s
 
S

Seebs

Actually, "unclear" is not the same thing as "illucid".

Schildt's rambling attempts to explain how pointers work are, in some
cases, unclear. Nilges' incandescently incoherent free-form rants on
topics that seem to be a strange mix of half-comprehended Marxism and
less-than-half-comprehended computer science are, by contrast, "illucid".

Try crank.net. I can't *imagine* what about Nilges' posts to CLC would
have put me in mind of crank.net, but it happened.
So it appears that illucid, while not yet known in the dreaming spires
of Oxford, is actually a word; exemplar: "you".

Oh, no. Nilges is, on the whole, merely CRANKIER, maybe CRANKIEST. He
occasionally drifts into ILLUCID, but only briefly. If you want ILLUCID,
you need stuff like timecube, or the guy who proved that pi is 3.25,
because the correct size of circle to use to calculate pi is 4, because 4
is the side of a square with the same circumference and area.

Nilges has not yet quite reached their consistency of output, though he is
certainly progressing in that direction.

-s
 
S

Seebs

This may have been a matter of timing.

No.

By the time I made the post here, the page had been updated.

Tragically, Nilges has not yet learned about the "cache".
I just clicked on the link
spinoza1111 included, and was automatically redirected to
http://www.seebs.net/c/c_tcn4e.html
which is the updated page. I don't see a link there to the old page,
but I have to admit to having only skimmed through the new page so
far.

I removed the automatic redirect. The link to the old page is in the
section on "Schildt and C:TCN".

-s
 
S

spinoza1111

On 2010-04-09, Colonel Harlan Sanders <[email protected]> wrote:

In Jaron "You Are Not a Gadget" Lanier's neologistic sense, this guy
Harlan Sanders is a troll because he contributes nothing of topical
value, is abusive, and is anonymous.

So why are you feeding him?
Actually, "unclear" is not the same thing as "illucid".

Well, it's your Malapropism, so it can mean whatever you think, I
guess.
Schildt's rambling attempts to explain how pointers work are, in some
cases, unclear.  Nilges' incandescently incoherent free-form rants on
topics that seem to be a strange mix of half-comprehended Marxism and
less-than-half-comprehended computer science are, by contrast, "illucid".

Do you fully comprehend Marxism in the same way you're educated in
computer science?

In fact, I've long encountered this syndrome in the sort of washouts
and autodidacts who become programmers. They believe they understand
something of which they have little knowledge. They read an advanced
text and decide it's gibberish because it's unfamiliar.

I'd also suggest Frantz Fanon, because characteristic of a dying
"European" man is this insistence in the teeth of evidence that he
"really" understands in some very special way so as here to pass
judgement on a text independent of having any knowledge of the issues
it brings up or even reading skills.
Try crank.net.  I can't *imagine* what about Nilges' posts to CLC would
have put me in mind of crank.net, but it happened.

Cranks are characterized by mistaking the tree for the forest, for
thinking of books and ideas as "bad" if incorrect, and lack of real
education. May of them are autodidacts as you are.
Oh, no.  Nilges is, on the whole, merely CRANKIER, maybe CRANKIEST.  He
occasionally drifts into ILLUCID, but only briefly.  If you want ILLUCID,
you need stuff like timecube, or the guy who proved that pi is 3.25,
because the correct size of circle to use to calculate pi is 4, because 4
is the side of a square with the same circumference and area.

Duh, if the word appears at www.moron.com, it's a word?
Nilges has not yet quite reached their consistency of output, though he is
certainly progressing in that direction.

Your constant attacks on my credibility show that you have
consistently acted out of hatred and bias, and this means you cannot
be any sort of trustworthy authority on Schildt. You have no track
record. You have never succeeded to my knowledge as a book reviewer or
tech reviewer.
 
S

spinoza1111

Seebs said:
[FAT filesystem]
Did you just pollu..., uh, crosspost to, comp.os.msdos.programmer with OT
c.l.c. crud just because JdeBP mentioned 8.3 filenames?

I didn't pay attention to the headers, so presumably they'd been set
previously.

This is the heart of the darkness right here,
Where dogs do fight in the small of night,
Where from the doors of estaminets leer
Faces filth-full, foul and fecund with spite.
Again he whimpers for understanding,
Having made another stupid mistake,
All the while he's grandstanding,
Robbing reputation's grave to reputation take.
He won't let Schildt off for a jot or tittle,
He slanders him for shibboleth, savagely,
But he fucks up right down the middle
And for charity asks so charmingly.
A charity men would give him freely
But for his hatred, bias, bile and savagery.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

No members online now.

Forum statistics

Threads
473,780
Messages
2,569,611
Members
45,276
Latest member
Sawatmakal

Latest Threads

Top