Alternatively, at the expense of background CPU cycles,
it can be modified to wait for dice dialogs by constantly
checking and supplying the dice rolls automatically with
no user interaction needed. A benefit of this will be that
the user won't have time to interact with the dialog box
and thus breaking the sequence of random dice rolled.
Of course, it can be given its own pretty window instead
of using the default console.
It will work the same way for Gnubg by simply changing
the dice dialog window name and sending the codes that
clicking on dice combination icons generate (which is not
obvious to me and would be nice if a Gnubg programmer
posts it here).
On August 25, 2022 at 10:13:06 PM UTC-6, MK wrote:
It will work the same way for Gnubg by simply changing
the dice dialog window name and sending the codes that
clicking on dice combination icons generate (which is not
obvious to me and would be nice if a Gnubg programmer
posts it here).
As usual, I'm disappointed but not surprised that nobody
responded to this paragraph.
Early versions of Gnubg accepted keyboard input
here is the modified, simpler code
die1 = rand() % 6 + 1;
die2 = rand() % 6 + 1;
GNU Backgammon can read dice from a file. Simple, portable (since you
can re-use your carefully created list for other "cheating" bots) and totally sufficient.
Axel
The problem I have with GnuDung and reading from a file is this (and
you can prove this yourself): create a suitable file and then delete
it after one roll........you'll find GnuDung continues to roll the
numbers that were in the file........ergo, it's caching the rolls so
that it can look at upcoming dice and play accordingly.
MK <mu...@compuplus.net> writes:
On August 25, 2022 at 10:13:06 PM UTC-6, MK wrote:
It will work the same way for Gnubg by simply changing
the dice dialog window name and sending the codes that
clicking on dice combination icons generate (which is not
obvious to me and would be nice if a Gnubg programmer
posts it here).
As usual, I'm disappointed but not surprised that nobody
responded to this paragraph.
GNU Backgammon can read dice from a file. .....
I am not disappointed that volunteer developers do not spend
more time on issues they (and me!) consider ridiculous,
see their classic dice complaint form, hilarious fun every time
I reread it.
:-D
Early versions of Gnubg accepted keyboard input
GNU Backgammon, when set to manual dice and run with
"gnubg -t" accepts dice entered as "31"
and moves as "8 5 6 5". RTFM.
here is the modified, simpler code[...]
die1 = rand() % 6 + 1;
die2 = rand() % 6 + 1;
If I remeber correctly, C's standard library's pseudo-random
number generator (LCG) is considerably worse than GNU
Backgammon's default Mersenne Twister.
The details would be too much maths.
But, Murat, yes, GNU Backgammon in a sense will then be
playing with "loaded" dice!
But YOU brought them the board. (-:
Nasti Chestikov <nasti.c...@gmail.com> writes:
The problem I have with GnuDung and reading from
a file is this (and you can prove this yourself): create
a suitable file and then delete it after one roll........
you'll find GnuDung continues to roll the numbers
that were in the file
The problem I have with thinking like this (and you can
prove this yourself): read dice.c
(GNU Backgammon is open source) and you will find
that exactly two dice are read from that file per call:
anDice[0] = ReadDiceFile(rngctx);
anDice[1] = ReadDiceFile(rngctx);
rngctx->c += 2;
Can you be please point to the line in which the look
at upcoming dice occurs?
No? Learn to play better. And learn to code. Both are
highly rewarding activities.
A few lines of code prove nothing whatsoever. One
needs to be capable of looking at the entire set of
source files, understanding the language that they
were coded in, going through the entire logic to see
if there may be anything visibly suspicious in there.
After having the mastery of the code, one also needs
to compile it himself to see what it actually does and
not just rely on a downloaded EXE.
Unless you can yourself claim that you are capable
of doing this, you have no right to ask others to do.
I setup some super-easy steps to build gnubg from source on Windows:
1. Download and install the latest version of MSYS2 from https://www.msys2.org/ e.g.
msys2-x86_64-20210725.exe
2. Run the batch file from here: https://drive.google.com/file/d/1-52afhxiZGv2Nzt9AhFFTw_WrdNIemjZ/view?usp=sharing
This will take about 10 minutes
This builds gnubg to C:\msys64\mingw32\bin\gnubg.exe. I realise this builds the full GUI version, you will need to pass a flag to configure to build the command line version, at a guess ./configure --disable-gtk
Jon
No, no, no! This is not how proper debating works.
First, you have to follow his instruction for you to prove to yourself
what he said he observed.
After doing that first, you need to offer your own explanation for how
and why Gnubg does that.
You can't assert this.
let's first clarify that Nasti has been talking about the Gnubg EXE
that he downloaded and he did several times made the reasonable
argument that the it may not be compiled from the same published
source code.
Unless you can yourself claim that you are capable of doing this, you
have no right to ask others to do.
let me ask only one, which is related to what started the thread:
"Proof XG is cheating, err teaching, even when using external DLL?"
https://groups.google.com/g/rec.games.backgammon/c/sxlOCjtvAIM/m/BGMIOuDqAQAJ
That discussion was about XG's making multiple (also apparently multi-threaded) calls per roll (or "per turn") to the external dice
DLL that I had created for testing.
Just by looking at those lines you shared above, can you tell how many
times they are executed per dice roll (or "per turn")?
No? Learn to play better. And learn to code. Both are
highly rewarding activities.
I fail to see a connection between "playing" and "coding"
Nasti Chestikov <nasti.c...@gmail.com> writes:
The problem I have with GnuDung and reading from a file is this (andThe problem I have with thinking like this (and you can prove this
you can prove this yourself): create a suitable file and then delete
it after one roll........you'll find GnuDung continues to roll the
numbers that were in the file........ergo, it's caching the rolls so
that it can look at upcoming dice and play accordingly.
yourself): read dice.c (GNU Backgammon is open source) and you will find
that exactly two dice are read from that file per call:
case RNG_FILE:
anDice[0] = ReadDiceFile(rngctx);
anDice[1] = ReadDiceFile(rngctx);
rngctx->c += 2;
Can you be please point to the line in which the look at upcoming dice occurs? No? Learn to play better. And learn to code. Both are highly rewarding activities.
Axel
So when I delete the file that GnuDung is reading the rolls from and
it continues to play those rolls I should just learn to play better?
I shouldn't question where GnuDung is pulling the rolls?
Come on man, you *have* to contribute more than that to the debate?
You and your alter ego are not debating. You're whining about rigged
dice without being willing to make any attempt to actually do what
Axel asked, namely "Can you please point to the line in which the
look at upcoming dice occurs?".
The compiler, of course, also checks to see if it's being asked to
compile its own source code, and if so, it inserts the rigged object
code, so that the source code for the compiler also looks clean.
On 31/08/2022 12:47 pm, MK wrote:
A few lines of code prove nothing whatsoever. One
needs to be capable of looking at the entire set of
source files, understanding the language that they
were coded in, going through the entire logic to see
if there may be anything visibly suspicious in there.
After having the mastery of the code, one also needs
to compile it himself to see what it actually does and
not just rely on a downloaded EXE.
Unless you can yourself claim that you are capable
of doing this, you have no right to ask others to do.
No more excuses, Murat. Thanks to Jon Kinsey for
making Windows builds much easier, posted to the
bug-gnubg list:
.....
Now go and master the code and tell us where gnubg
is cheating. I'm sure we can all wait.
This is obviously a clear proof that the bots' interrelated
calculations of equities, cube points, match tables, error rates,
etc. are all wrong, inaccurate of an unknown scale.
Axel's various experiments have also repeatedly proven this.
I'm going to take the time and make the effort to explain
it in way that even a Woodhead can understans and then
I'll expect that you will change your attitude towards me.
I'll do this in three sections: past, present and future.
Currently, I have no interest in spending time and effort to
prove that any bot cheats by looking at source codes but
let me toy with for the fun of it anyway.
1- You are obviously not intelligent enough to understand
that any comments about Gnubg's cheating were made
based on the downloadable EXE files. There is no way to
know or prove that those EXE files were compile from the
same source files you are daring me look at and compile.
Make an effort to understand this.
2- Do you yourself have the mastery of the code that you
are throwing at me? If I say that I looked at it and show
you some sections of it as evidence of Gnubg's cheating,
will you be able to tell if I'm just bluffing or not?
3- Suppose I look at the code and I don't find any evidence
of Gnubg's cheating. Would my falling short of finding any
evidence of it be enough of a proof that it's not there (i.e.
that Gnubg doesn't cheat)? Do you realize that, in a way,
you are daring me to prove a negative?
C) Future: After realizing that I may actually be better than
the bots, I moved on the exploring how and why. Eventually
I concluded that it was rather the bots that were worse than
me, becaue of the flaws in how they calculated equities,
cube points, match tables, error rates, etc. "bullshit"!
This is obviously a clear proof that the bots' interrelated
calculations of equities, cube points, match tables, error
rates, etc. are all wrong, inaccurate of an unknown scale.
Axel's various experiments have also repeatedly proven
this. If you have noticed, I have been hammering on this
the most recently and I will continue to do so until some
among you will hopefully seek treatment and come out
of your self-deception and your denials of the realities.
Also in the future, I would like to develop an ultimately
user configurable bot (which I had called a "Legobot"),
to allow people to experiment with all kinds of "what if"
combinations, in order prove to themselves that the
so-called "cube skill theory", etc. are total bullshits.
It would be nice to not have to reinvent the wheel and
use code from an open source bot like Gnubg. I just
looked at Gnubg's source code folder to see it has 600
or so files in it. It's just too bloated a pile of garbage to
make use of. It's hard to believe that some people had
gone as far to add a "Dice manipulation" feature to it.
I wish I hadn't predicted 20+ years ago that Jellyfish
source code would never become pupblic no matter
how obsolete it became. It would have been nice to
have it now.
Correct, and you now have the means to prove this for
yourself, yet you "have no interest". And another insult.
Does it make you feel better to insult the people trying to
help you? You can get treatment for that.
On 9/1/2022 5:48 PM, Simon Woodhead wrote:
Correct, and you now have the means to prove this for
yourself, yet you "have no interest". And another insult.
Does it make you feel better to insult the people trying to
help you? You can get treatment for that.
Why would he get treatment when his current behavior makes him
feel good?
Berating Murat isn't going to change his behavior. Arguably,
the best thing to do, if one were concerned about his mental
health, would be to ignore him. Lacking feedback, he might
eventually give up and find other outlets for his energy.
Giving him grist for his mill just causes him to sink more
time into USENET and spiral further down.
But, to be honest, I don't care about Murat's mental health.
I prefer to exploit him for entertainment. It's a lot more
fun that way!
---
Tim Chow
I'm waiting for Murat/Nasti to claim that all the
compilers out there are rigged. ....
MK <mu...@compuplus.net> writes:
This is obviously a clear proof that the bots' interrelated
calculations of equities, cube points, match tables, error
rates, etc. are all wrong, inaccurate of an unknown scale.
Axel's various experiments have also repeatedly proven this.
Not at all. I have shown other things (or not, depending
on which post of you one pulls in as a "reference"), but
certainly not what you claim above.
I object to being mentioned as a "witness"/supporter
in the context of your (mostly futile) windmill fighting.
On 1/09/2022 10:25 pm, MK wrote:
Your own few lines of code made a call to a library
function called "rand". Can you be sure "rand" is
providing you with random numbers?
On 1/09/2022 10:25 pm, MK wrote:
I'm going to take the time and make the effort to explain
it in way that even a Woodhead can understans and then
"even a Woodhead can understand"?? You start your
sermon with an insult?
My Wooden head is as tough as old oak ;-)
I'll do this in three sections: past, present and future.
Irrelevant rubbish.
Currently, I have no interest in spending time and effort
to prove that any bot cheats by looking at source codes
but let me toy with for the fun of it anyway.
But you expect others to spend time and effort to prove
otherwise. You are the accuser, you have to provide the
body of evidence for your claims.
1- You are obviously not intelligent enough to understand
that any comments about Gnubg's cheating were made
based on the downloadable EXE files. There is no way to
know or prove that those EXE files were compile from the
same source files you are daring me look at and compile.
Make an effort to understand this.
Correct, and you now have the means to prove this for
yourself, yet you "have no interest". And another insult.
2- Do you yourself have the mastery of the code that you
are throwing at me? If I say that I looked at it and show
you some sections of it as evidence of Gnubg's cheating,
will you be able to tell if I'm just bluffing or not?
Yes if you provide appropriate context.
C) Future: After realizing that I may actually be better than
the bots, I moved on the exploring how and why. Eventually
I concluded that it was rather the bots that were worse than
me, becaue of the flaws in how they calculated equities,
cube points, match tables, error rates, etc. "bullshit"!
Which flaws are those? Finding these calculations in the
source should be quite easy for someone of your abilities.
This is obviously a clear proof that the bots' interrelated
calculations of equities, cube points, match tables, error
rates, etc. are all wrong, inaccurate of an unknown scale.
But no-one agrees with you, so you're going to have to offer
a much more rigorous proof if you wish to gain any credibility.
Axel's experiments have done no such thing.
Your own few lines of code made a call to a library function
called "rand". Can you be sure "rand" is providing you with
random numbers?
I wish I hadn't predicted 20+ years ago that Jellyfish
source code would never become pupblic no matter
how obsolete it became. It would have been nice to
have it now.
Why? You wouldn't have a clue what to do with it. If you're
not willing to look at the gnubg code, why would you look
at the jellyfish code?
You are correct of course, trolls shouldn't be fed.
But the entertainment factor is irresistible sometimes.
Timothy Chow <tchow...@yahoo.com> writes:
The compiler, of course, also checks to see if .....
You made my day! (-:
MK <mu...@compuplus.net> writes:
First, you have to follow his instruction for you to
prove to yourself what he said he observed.
No. The observation is consistent with my quick
glance at the source.
After doing that first, you need to offer your own
explanation for how and why Gnubg does that.
No. It is not me having a problem. The burden of
proof is not on me.
[two dice are read from that file per call]
You can't assert this.
Strictly speaking, you are right.
I was using a sloppy formulation. The file is read
completely into an array, from which two values
are passed on to the engine.
This explains the behaviour after deleting the file. But
the onus is not on me.
let's first clarify that Nasti has been talking about the
Gnubg EXE that he downloaded and he did several
times made the reasonable argument that the it may
not be compiled from the same published source code.
Do not switch topics.
let me ask only one, which is related to what started the thread:
"Proof XG is cheating, err teaching, even when using external DLL?"
ttps://groups.google.com/g/rec.games.backgammon/c/sxlOCjtvAIM/m/BGMIOuDqAQAJ >> That discussion was about XG's making multiple (also apparently
multi-threaded) calls per roll (or "per turn") to the external dice
DLL that I had created for testing.
Do not switch topics.
Just by looking at those lines you shared above, can you
tell how many times they are executed per dice roll (or
"per turn")?
Strawman. I am giving hints to others regarding their
self-imposed homework. I am not doing their homework.
The onus is not on me.
On 1/09/2022 2:58 am, Nasti Chestikov wrote:
I shouldn't question where GnuDung is pulling the rolls?
Axel already explained this:
"The file is read completely into an array, from which...
This is standard practise.
It makes no sense to open a file, read a record then close
the file and repeat for every record.
Certainly, the code *could* look further into the file if it
wanted to "cheat", but if it did, it would be in the source
you've just compiled, yes? So go get it...
Axel asked, namely "Can you please point to the line
in which the look at upcoming dice occurs?"
On August 31, 2022 at 7:05:33 PM UTC-6, Tim Chow wrote:
I'm waiting for Murat/Nasti to claim that all the
compilers out there are rigged. ....
Go fuck yourself somewhere else away from my sight!
Does it make you feel better to insult the people trying to
help you? You can get treatment for that.
Telling people smarter than you that they "need treatment"
is a childish cop out.
On 9/2/2022 6:06 AM, MK wrote:
On August 31, 2022 at 7:05:33 PM UTC-6, Tim Chow wrote:
I'm waiting for Murat/Nasti to claim that all the
compilers out there are rigged. ....
Go fuck yourself somewhere else away from my sight!Don't you want to watch?
---
Tim Chow
On Thursday, 1 September 2022 at 22:48:41 UTC+1, Simon Woodhead wrote:
Does it make you feel better to insult the people trying to
help you? You can get treatment for that.
And then a couple of paragraphs later.....
Telling people smarter than you that they "need treatment"
is a childish cop out.
Glorious. But I concede that there was a lot of background noise to your post, I think "mom" is calling you for dinner.
Now run along little boy, make sure you eat up all your greens.
On Friday, 2 September 2022 at 14:47:52 UTC+1, Tim Chow wrote:
On 9/2/2022 6:06 AM, MK wrote:
On August 31, 2022 at 7:05:33 PM UTC-6, Tim Chow wrote:Don't you want to watch?
I'm waiting for Murat/Nasti to claim that all the
compilers out there are rigged. ....
Go fuck yourself somewhere else away from my sight!
---
Tim Chow
How's that Lamborghini you nearly totalled in Vegas? Insurance company torn you a new one yet?
No more excuses, Murat. Thanks to Jon Kinsey for making
Windows builds much easier, posted to the bug-gnubg list:
1. Download and install the latest version of MSYS2 from
https://www.msys2.org/ e.g. msys2-x86_64-20210725.exe
2. Run the batch file from here: https://drive.google.com/file
/d/1-52afhxiZGv2Nzt9AhFFTw_WrdNIemjZ/view?usp=sharing
.....
On August 30, 2022 at 10:02:43 PM UTC-6, Simon Woodhead wrote:[...]
No more excuses, Murat. Thanks to Jon Kinsey for making
Windows builds much easier, posted to the bug-gnubg list:
1. Download and install the latest version of MSYS2 from
https://www.msys2.org/ e.g. msys2-x86_64-20210725.exe
2. Run the batch file from here: https://drive.google.com/file
/d/1-52afhxiZGv2Nzt9AhFFTw_WrdNIemjZ/view?usp=sharing
.....
Thanks for daring and prodding me on this, "oakhead" ;)
For the first time, I overcame my dreading that it would be
very cryptic and looked at the eval.c code. To my surprise,
It would take adding only a couple of dozen lines, (without
BTW: If Gnubg was a native Windows software, I probably
would have done this long time ago but I've always had a
dislike for Unix, let alone using Unix emulators on Windows.
This will be a one time, minor exception. :)
On 21/09/2022 2:28 am, MK wrote:
It would take adding only a couple of dozen lines, (without
So do it!
1) Are you asking me to do it hoping that I will fail at it so
that will make you happy somehow?
2) Are you asking me to do it because you want it done so
that you can use it to experiment yourself in order to learn?
2a) If so, would it be just as good if someone else does it?
3) Most importantly, don't you have nothing to say about
the essence of the experiments that I'm suggesting? Do
you understand what they could reveal? Etc.? Please try
to give an elaborate answer that may be useful to us all,
instead of your pathetic, brainless one-liners... :(
It's my turn to dare you to find out what you are made of.
On 21/09/2022 4:40 pm, MK wrote:
1) Are you asking me to do it hoping that I will fail at it so
that will make you happy somehow?
No.
2) Are you asking me to do it because you want it done so
that you can use it to experiment yourself in order to learn?
No.
2a) If so, would it be just as good if someone else does it?
Don't care.
3) Most importantly, don't you have nothing to say about
the essence of the experiments that I'm suggesting? Do
No.
you understand what they could reveal? Etc.? Please try
to give an elaborate answer that may be useful to us all,
instead of your pathetic, brainless one-liners... :(
No.
It's my turn to dare you to find out what you are made of.
Yawn.
1) Are you asking me to do it hoping that I will fail at it so
that will make you happy somehow?
No.
Okay, then why?
2) Are you asking me to do it because you want it done so
that you can use it to experiment yourself in order to learn?
No.
Okay, then why?
I'll stop trying to gues logical reasons and will simply let you
tell me why are you doing what you are doing?
Surely not without any reason..?
2a) If so, would it be just as good if someone else does it?
Don't care.
Good enough. Depending on your above reason/s, it may not
matter.
3) Most importantly, don't you have nothing to say about
the essence of the experiments that I'm suggesting? Do
No.
Okay, fine. You sure have your right to be a brainless idiot.
you understand what they could reveal? Etc.? Please try
to give an elaborate answer that may be useful to us all,
instead of your pathetic, brainless one-liners... :(
No.
Okay, fine. You sure have your right to be a brainless asshole.
It's my turn to dare you to find out what you are made of.
Yawn.
Google the words: "psychological reasons for yawning". You
may discover something about yourself... ;)
On 26/09/2022 6:24 pm, MK wrote:
1) Are you asking me to do it hoping that I will
fail at it so that will make you happy somehow?
No.
Okay, then why?
Because I don't hope for people to fail. Besides, my
encouraging you to do your own investigating and
experimenting instead of demanding others do it
for you, had a positive effect.
2) Are you asking me to do it because you want it
done so that you can use it to experiment yourself
in order to learn?
No.
Okay, then why?
Because I am not interested in learning how to automate
dice feeds to bots.
3) Most importantly, don't you have nothing to say about
the essence of the experiments that I'm suggesting? Do
No.
Okay, fine. You sure have your right to be a brainless idiot.
Because I disagree with your methods, I'm a brainless idiot.
you understand what they could reveal? Etc.? Please
try to give an elaborate answer that may be useful to
us all, instead of your pathetic, brainless one-liners... :(
No.
Okay, fine. You sure have your right to be a brainless asshole.
Because I'm not interested in your conspiracy theories, I'm a
brainless asshole. Ok, thanks, got it.
I already know plenty of things that are interesting about myself.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 297 |
Nodes: | 16 (3 / 13) |
Uptime: | 12:40:22 |
Calls: | 6,667 |
Calls today: | 1 |
Files: | 12,214 |
Messages: | 5,336,453 |