It is currently Sat Oct 24, 2020 7:48 pm

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 150 posts ]  Go to page 1, 2, 3, 4, 5 ... 8  Next
Author Message
Offline
 Post subject: On handling online cheating with AI
Post #1 Posted: Sun May 31, 2020 12:31 am 
Dies in gote

Posts: 21
Liked others: 0
Was liked: 1
Rank: 1 kyu
I'm a KGS senior admin but this post represents my personal opinion, drawing from my experiences with several cheating cases.

First of all, nobody ever does it. That doesn't just mean that the suspicious players always deny. It also mean that the suspicious player will often bring a teacher/dan level friend which will gladly (and mindlessly) testify for him. And they would very often be wrong and come to regret it later. If you are a teacher/dan level player NEVER do that. Just as the tournament organizer/admin cannot be 100% sure of the cheating, you cannot be 100% sure of the honesty. I caught cheating a friend of mine who is in his 50s and I would have never imagined he would do it. Don't put your reputation at stake for anyone. Instead tell them: "I trust you and you will prove them wrong by your offline tournament results."

A major misconception in handling online cheating is that you need to be sure in order to take measures. You will never be 100% sure. This just leads to doing nothing and letting cheaters harm everyone freely, as we can see from Antti's post https://www.nordicgodojo.eu/post/33/how-to-limit-cheating-in-online-go The major idea that lead to this misconception is: "The damage of wrongly convicting is far bigger than that of letting a cheater go loose". That is simply not true. You are not letting a cheater go loose, you are letting a lot of cheaters go loose which has very severe consequences on the online landscape. Just to give a few examples: some honest players quitting online go (Antii himself is an example), online ranks becoming unreliable with multiple negative consequences, online tournaments being unreliable which also hurts offline ranks, an overall climate of suspicion and distrust between players.

If you are a tournament organizer/admin and you see cheating, take action! That involves first a careful analysis of not just one game but of the overall situation. These are some reliable hints to detect cheaters:

- Online rank quickly goes up by three or more levels after being stable for at least one year. Be careful on the number of games played, it needs to be large enough for the ranks to be conclusive.
- The games contain some strange moves, but when analyzing with an AI these moves are among those suggested by AI.
- Even game wins over opponents with much higher ranks in which the AI analysis shows that the better player had no chance even though he did no clear mistake.
- The progress is constant. Normally players that really go up in strength will still have some bad times. But in cheaters one can often see a large and constant rise in rank with many consecutive wins and almost no significant downswing. Again you need to take into account a significant sample of games.

Take your time to carefully analyze but when you become almost sure of it remove the suspicious player from the online tournament and/or cancel his rank. Do not listen to his protests or to anyone who is close to him. Do listen to advice of colleagues from your organization (ie other server admins, other tournament organizers). However no matter who you are be VERY careful about contesting an organizer/admin decision. I can tell you as an admin that it takes a lot of effort to analyze and even more courage to take action against a cheater. Still it needs to be done! You will always have that awful 1% nagging doubt and there will not be a single case where you will not be told you are wrong, even if just by the suspicious player. But if as a tournament organizer/admin you do nothing against cheaters then you are not doing your job properly. Again, analyze carefully and do take action!

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #2 Posted: Sun May 31, 2020 2:13 am 
Tengen

Posts: 5118
Liked others: 0
Was liked: 710
Cheating presumes a prior rule prohibiting a human being from using AI during his game. An AI program should declare itself as AI prior to the start of a game. A tournament must either allow or prohibit AI programs.

Cheating must be punished. So far the theory. Each punishment ought to have UNEQUIVOCAL evidence because there ought not to be one wrongly punished player. Establishing unequivocal evidence is hard.

You mention a few criteria supporting evidence. None is unequivocal. Necssarily, your insufficient criteria wrongly punish at least one player. Therefore, they are totally improper for drawing a final conclusion. At best, they belong to first indications of suspicion.

"Online rank quickly goes up by three or more levels after being stable for at least one year." More or less this happened to me in the pre-AI age: after stagnation, I went from 10k to 3d in 17 months, or 10k to 1k in 9 months, or 7k to 5k in 20 minutes. Before, I hardly studied. During the improvement, I studied and played 14h per day on average. By far, my improvement was not the fastest; e.g. Jürgen Mattern became 1d (would be ca. 1k nowadays) after 6 months. Skipping a rank occurs for some players. Instead of cheating, the reasons are much study / play.

"The games contain some strange moves, but when analyzing with an AI these moves are among those suggested by AI." Some players do play strange moves irrespective of AI. Some play the same kind of strange moves as AI because those human players and AI have the same resulting insight. Some human players train a lot with AI and then apply their learned knowledge. I had some strange move insights before the AI age and then AI came to about the same conclusions. Question your own knowledge gaps instead of accusing others to have knowledge that you perceive as strange moves.

"Even game wins over opponents with much higher ranks in which the AI analysis shows that the better player had no chance even though he did no clear mistake." Such happens in honest play. Praise the achievement! If, however, it is very frequent and sudden, start a more careful analysis.

"The progress is constant. Normally players that really go up in strength will still have some bad times. But in cheaters one can often see a large and constant rise in rank with many consecutive wins and almost no significant downswing." This is no evidence for cheating. It can have other causes. One such other cause is a combination of a) disciplined play and b) the KGS rating system NOT REWARDING VERY HIGH WINNING PERCENTAGES WITHIN REASONABLE TIME. E.g., it used to be necessary as a frequent player to win more than 68% to improve a rank - now 80% or 90% might be necessary. I.e. a percentage considered ca. 2 ranks stronger in ELO systems. Do not blame players to be cheaters just because they suffer from the totally flawed KGS rating system!


This post by RobertJasiek was liked by: cobrahc
Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #3 Posted: Sun May 31, 2020 2:57 am 
Dies in gote

Posts: 21
Liked others: 0
Was liked: 1
Rank: 1 kyu
RobertJasiek wrote:
Each punishment ought to have UNEQUIVOCAL evidence because there ought not to be one wrongly punished player.

It's impossible to unequivocally prove online cheating. This does not mean that the right thing to do is so let cheaters harm the honest players. It's illogical to think that all honest players must suffer in order to prevent the very rare case one of them does. Because we can clearly see the harm inflicted by online cheating on honest players to the point that some of them like Antti decide to even quit online play.

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #4 Posted: Sun May 31, 2020 3:30 am 
Honinbo

Posts: 10370
Liked others: 3466
Was liked: 3300
Let me point out once again that making plays that are among those suggested by bots is very weak evidence, per se. For example, here is a sequence of unusual plays that I can rattle off in my sleep. It does not appear in either josekipedia or waltheri, but every move matches a top choice by a bot. ;)



:b5: appears in waltheri, but it is rare. :w6: appears in josekipedia, but not :b7:. I had contemplated posting this as an example of a driving tesuji, but here will do. :)

There are plenty of examples that appear only in bot variations, because humans haven't gotten around to playing them yet. But it is not difficult to learn AI joseki, so playing one is hardly evidence of cheating.

This is not to say that matching AI plays is irrelevant. After all, how does one cheat? (There are better ways, I think, but I am not going to give away any secrets. ;)) As I have indicated recently, data on the rate of concordance between the choices of AI bots and human players at different levels of skill could possibly be used to detect cheating. The point is not matching bots' plays, but matching more often that other humans of equal or higher skill. As I say, I think that would be possible, but such a method has to be developed and tested.

Now, chess engines before the advent of the neural net engines had distinct styles of play that were often quite different from that of humans. That is not so much the case with go AI bots, except in making moves that strike humans as silly. For instance, a bot may tenuki, leaving behind a sizable group that a 5 kyu could kill. In certain cases that might be be cause another play is bigger, but the bot might do so when behind. A human dan player would not do that, because she would expect her opponent to see the kill. There are better ways of "looking for a place to resign," against another human.

Now, it may well be that, Dosaku aside, top players of the 17th century were around 2 stones weaker than today's top players. But their reading skill was quite good. Going over a few of those games recently in the Elf GoGoD commentaries, I was struck by how often Elf's play was simpler than the pro plays, even amateurish by comparison. For instance, Elf might say to connect to a peep, while the human found some clever reply instead. That reinforced my view that the main advantage of today's top bots lies, not so much in finding superior local plays as in deciding the general region of play. For humans, that is largely a question of judgement. Well, if the main distinction between human play and AI play is the AI's better judgement, how do you write an algorithm to detect that? And if you did have such an algorithm, what can you say? The human plays surprisingly well. But that's already a given, in most cases. That's why the person is suspected of cheating.

_________________
The Adkins Principle:
At some point, doesn't thinking have to go on?
— Winona Adkins

My two main guides in life:
My mother and my wife. :)

Everything with love. Stay safe.

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #5 Posted: Sun May 31, 2020 3:41 am 
Judan

Posts: 6590
Location: Cambridge, UK
Liked others: 405
Was liked: 3629
Rank: UK 4 dan
KGS: Uberdude 4d
OGS: Uberdude 7d
Adin, what is your view of the Carlo Metta cases from the PGETC?

And of Blackstone's principle that
Quote:
It is better that ten guilty persons escape than that one innocent suffer.


What do you think the correct ratio is for AI cheating is in Go. I think it is reasonable to differ from that for say the crime of murder and the punishment of lenghty imprisonment or execution. But we shouldn't neglect the reputational damage of declaring someone an AI cheater, indeed I would be happy with a lower standard of evidence against an anonymous online account than one linked to a known human individual.

Robert seems to think that ratio is infinity to 1. The US justice prison system seems to think it's flipped at 1 to 10. My first feeling is maybe a bit lower than Blackstone's, say 5 to 1, is an appropriate target to design for. What do others think is a suitable one for Go cheating?


This post by Uberdude was liked by: gennan
Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #6 Posted: Sun May 31, 2020 3:43 am 
Tengen

Posts: 5118
Liked others: 0
Was liked: 710
Online cheating is unequivocally proved e.g. by the cheater admitting it.

While your aim to prevent harm is good, your attitude to tolerate false positives endangers some of the fastest improving, most skilled, honest players, who might quit go due to unjust sentences.

In ordinary jurisdiction, a small (hopefully tiny, but from the USA we know that it is not so tiny) number of not guilty people sentenced for murder are tolerated. Rather Arbitrary victims of the jurisdiction (except for discrmination). In go jurisdiction about AI cheating, however, especially the most skilled players are in danger of being discriminated the most by far.

Create unjust jurisdiction and many more players will run away than just Antti.


This post by RobertJasiek was liked by: gennan
Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #7 Posted: Sun May 31, 2020 3:56 am 
Tengen

Posts: 5118
Liked others: 0
Was liked: 710
Bill, there are players with exceptional positional judgement. Bot strength is a combination also with exceptional "reading" etc.

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #8 Posted: Sun May 31, 2020 4:01 am 
Gosei
User avatar

Posts: 1748
Liked others: 449
Was liked: 347
Rank: KGS 1-dan
I'm with Adin on this. What Robert Jasiek describes is exactly the 1% doubt you rarely will be able to clear.

The real problem lies within actual detection, I guess. Bots are so strong nowadays that any electronical device will allow you to play superhuman moves. It is very cheap to use on the side of the cheater.

Going over games manually - for regular online play - is playing catch-up with a starting plane... An adequate solution should be a server side algorithm, which at least goes over every suspicious games like the ones Adin describes. The algorithm needs to be sufficiently complex of course, factoring in time-settings, move time, relative strengths between the players, rank/playing strengths history, total games played, percentages of moves played which are favoured by the bot and so on.

But this solution puts quite a bit of costs on the respective server - one-time for developing and permanently for running it. Nevertheless, it is every chess-server's go to solution and as far as lichess.org is concerned it works very well and to my understanding quite fast.

I guess, there needs to be a hidden strike system in place, too. Like "suspicious", when the algorithm has identified a player based on his games. "Expected", when the algorithm still is positive after a couple of more games and "definitive" when the player gets banned (and the IP gets saved).

You won't squash the 1% doubt with this either. But the majority of honest go players will at least now there is a mechanism in place, which confronts the problem.

In tournaments it is harder of course. As long as there is no available programm as described above, you really have to check manually.

Though in tournaments it is obligatory to enter your real name as far as I know. As we see in social media, this doesn't mute the stupidity of certain people, so likely cheaters will also be cheaters, when using their real name. Contrary to anonymous play, getting caught while using your real name should have real life consequences (I guess at first for a limited time). The obvious one might be to not process any tournament where a known cheater took part for the EGF-ranks - known should be equivalent to strike three from aboce. Thus forcing tournament organisers to check the attendees and prohibit known cheaters from playing. This should not be a big deal. "Known" cheaters need to be made public so that organisers know them. The easiest way would be to include a cheater-database in the EGD, which can be automatically accessed by tournament organisiers, when people register for the tournament.

Tournament should also have specific - best EGF-prepared - rules in place which handle civil actions regarding prizes when cheater is caught after the fact. For bigger tournaments this might also include that prize money is not handed out anymore but transfered.

Interesting times. Chess managed those - not perfectly of course but online-play is rather on the rise with three big and stable english severs to chose from.

Since the comparison has been made to criminal law and the procedures there: Those two are actually not comparable. In most cases a cheater puts a damper on the fun had for other players. Not in any way, shape or form comparable to the stuff criminal law deals with. In rare (but mabye soon rising) cases a cheater will get prize money - unjustified of course. Now here we will enter criminal law when the prize is high enough. Will it enter the criminal justice system? Has it ever in chess?

It's nice that we have a high (moral) standard in general. But to the extend that the majority of go players can have fun while playing the game, it is really not needed. Especially not when handling cheaters on go servers.

_________________
My "guide" to become stronger in Go

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #9 Posted: Sun May 31, 2020 4:03 am 
Honinbo

Posts: 10370
Liked others: 3466
Was liked: 3300
Adin wrote:
RobertJasiek wrote:
Each punishment ought to have UNEQUIVOCAL evidence because there ought not to be one wrongly punished player.

It's impossible to unequivocally prove online cheating. This does not mean that the right thing to do is so let cheaters harm the honest players. It's illogical to think that all honest players must suffer in order to prevent the very rare case one of them does. Because we can clearly see the harm inflicted by online cheating on honest players to the point that some of them like Antti decide to even quit online play.
(Emphasis mine.)

I have been a contract bridge director since 1973, having taken a class from the world's best. The most famous, or infamous, cheating scandal on bridge was that involving Reese and Shapiro. Opinion was divided, and different organizanions handed down different verdicts. There was external evidence, collected by unfortunately not impartial observers, which found a strong correlation between the holding of each partner and unusual behavior that could have been signaling. However, there was no internal evidence in the bidding and play of the hands that any information was passed between the players. This simply underscores the difficulty of using internal evidence alone to substantiate a charge of cheating.

That said, I think that it is very important for any sponsoring organization to have fair and impartial procedures that give the parties involved their say. In bridge, allegations of cheating are rare, at least in FTF bridge. However, violations of propriety occur frequently, and the ACBL and other sponsoring organizations take care to emphasize that improper behavior is not the same as cheating. But even in cases of ordinary infractions of the laws, which, unlike the laws of go, can be quite complicated, the person or pair or team which is ruled against has recourses. First, the director has a clear procedure to follow to make a ruling in the first place, one which gives each player their say. Then, the player who is ruled against may appeal to the director for reconsideration. The director must consider that appeal, and not just pro forma. Then at a tournament the player can appeal the ruling to an appeals committee, who hears from the players involved as well as the director. Further appeals may be possible, depending on the sponsoring organization. In cases of suspected cheating, the director does not make any ruling, but takes the case directly to the sponsoring organization. Accusations of cheating are too consequential to rely upon the judgement of any single individual, and must follow procedures that are not only fair and impartial, but are seen to be so.

_________________
The Adkins Principle:
At some point, doesn't thinking have to go on?
— Winona Adkins

My two main guides in life:
My mother and my wife. :)

Everything with love. Stay safe.

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #10 Posted: Sun May 31, 2020 4:32 am 
Dies in gote

Posts: 21
Liked others: 0
Was liked: 1
Rank: 1 kyu
An automated detection mechanism as mentioned by SoDesuNe is certainly a great future solution. Any programmers who are willing to donate their time for Go should definitely consider working on this, it's very important. The issue is what do we do until we have it and it might take years.

The concern that the most talented and fastest improving players will be harmed by this has two fallacies. The first is that those players will be able to show their strength in offline tournaments. The second is that those are the players that love the game the most. If they just quit playing over an online argument regarding their rank then they were not really made to be Go players. It's not like a 20k rising to 15k would get his rank taken, anyone knows that is possible. But suddenly going from stable 3k for years to 3d just does not happen normally.

Regarding comparison with judicial systems (also related principles like Blackstone's ratio) there are similarities but there are also some very important differences.

The first one has already been repeated: online Go cheating is very often impossible to prove. You will never find physical evidence: no fingertips, no blood or hair for DNA analysis, no stolen goods, no camera records etc. When I mentioned some reliable hints I of course did not mean to say they are 100% sure. Or when I said to not listen to denial from the suspect I did not mean that solid evidence should be ignored (ie him producing evidence that he has moved to Asia to study Go intensively).

A second very important difference is the severity of the measures taken. Nobody is putting you in prison or hanging you for it. You get eliminated from an online tournament or lose a rank on single server. You can just play another tournament or go to another server (or even create a new account on the same one). This does not mean that such an event should be taken lightly or that reputation is not important. But you can quite easily prove your real strength by playing offline.

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #11 Posted: Sun May 31, 2020 5:04 am 
Gosei
User avatar

Posts: 1724
Location: Ghent, Belgium
Liked others: 267
Was liked: 795
Rank: KGS 2d OGS 1d Fox 4d
KGS: Artevelde
OGS: Knotwilg
Online playing schedule: UTC 18:00 - 22:00
There's a French saying: "Quand tous les dégoûtés s'en vont, il ne reste que les dégoûtants".

Antti abandoning online tournaments is a strong signal.

I have no clues to offer as to how to solve this, but "doing nothing" is probably not the best option.

For what it's worth, I consider myself a "good human being" but I'm not too confident I'd be able to resist peeking at AI choices in an online tournament, if paying the rent hinged on winning or losing, especially when I'm insecure if the opponent plays fair. This is exactly what happened in the world of professional cycling (and probably still happens) in the Armstrong era. There was the occasional Edwig Van Hooydonck who quit racing because suddenly the whole pack went 5 km/h faster. The rest of them took CERA, which was hard to trace, because everybody took it.


Last edited by Knotwilg on Sun May 31, 2020 5:07 am, edited 1 time in total.

This post by Knotwilg was liked by: Bill Spight
Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #12 Posted: Sun May 31, 2020 5:06 am 
Tengen

Posts: 5118
Liked others: 0
Was liked: 710
For somebody who wants to establish justice, you speak of fallacies too quickly.

Some players only play online so cannot prove their strength offline.

For players playing online and offline, you have not indicated so far that you want to assess offline play of alleged cheaters. To start with, you need to identify their real world identity. Then, you need to attend their tournaments and clubs to observe and then evaluate their offline games because you must not presume what not everybody does: annotating all their offline games (incl. those prior to a trial).

Not all players wrongly judged would quit go, of course. My point is that some will because players have quit for less serious reasons than unjust sentences and damaged reputations. Some other players will quit the server. IMO more than are currently quitting because of allegedly AI supported human opponents.

The ontroduction of automatic alleged cheating detection and more so of unproved sentences against others will drive away some other players. I may quit KGS if automatic detection should be introduced and move to another server without because I do not want to tolerate unjustice and unpredictability. For the same reason, I avoid OGS and its automatic scoring. Says somebody who has played (tens of?) thousands of KGS games and hundreds of tournaments. This is not about percentage; one game is too many if an automaton or admin misjudges it devaluating decades of skill acquirement and mental effort in playing the game itself.

Respect the players instead of making them all suspects!

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #13 Posted: Sun May 31, 2020 5:12 am 
Lives in gote

Posts: 660
Liked others: 284
Was liked: 327
In another thread I posted about "proxy tournaments" and "proxy venues". Maybe this is the right thread to discuss it. https://lifein19x19.com/viewtopic.php?p=256901#p256901

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #14 Posted: Sun May 31, 2020 5:48 am 
Dies in gote

Posts: 21
Liked others: 0
Was liked: 1
Rank: 1 kyu
I am absolutely sure that the error rate in detection of online cheating can easily be 1 in 10 or better. I am thinking 1 in 100 is a realistic rate with an automatic system or a skilled investigator.

Let me give you just the latest cheating issue I handled yesterday. Stable EGF 6k for years with a lot of recent offline tournaments played. The last offline tournament recently this year lead to a loss of EGD points including losing to someone much weaker than 6k. Meanwhile online rank rises towards 1d with a constant streak of wins including even games with dan players. Leela analysis shows a fairly high matching rate. That's the kind of situations I am talking about. Is it possible that he's not cheating? Yes, just as it's possible to win the lottery. But any responsible person would understand that the odds are hugely against it.

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #15 Posted: Sun May 31, 2020 5:52 am 
Lives in sente
User avatar

Posts: 986
Liked others: 84
Was liked: 354
What were the recent stats? How many wins and losses in even games against KGS 1d and against KGS 1k?

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #16 Posted: Sun May 31, 2020 6:17 am 
Gosei
User avatar

Posts: 1724
Location: Ghent, Belgium
Liked others: 267
Was liked: 795
Rank: KGS 2d OGS 1d Fox 4d
KGS: Artevelde
OGS: Knotwilg
Online playing schedule: UTC 18:00 - 22:00
RobertJasiek wrote:
For somebody who wants to establish justice, you speak of fallacies too quickly.


For someone who hates "meta discussion" ...

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #17 Posted: Sun May 31, 2020 6:26 am 
Dies in gote

Posts: 21
Liked others: 0
Was liked: 1
Rank: 1 kyu
jlt wrote:
What were the recent stats? How many wins and losses in even games against KGS 1d and against KGS 1k?

I have to protect the privacy of the person so I can't get into such details.

But let me give you an example. EGD statistics show that over three years (from start of 2017 to start of 2020) there were exactly 295 games played between 6k EGD and 2k EGD. The 6k won 14.2% of such games. The chance of a 6k winning three consecutive such games is 0.27%. Now when you do not look at three games but months of many games what are the odds?

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #18 Posted: Sun May 31, 2020 6:32 am 
Lives in sente
User avatar

Posts: 986
Liked others: 84
Was liked: 354
I can't calculate the odds, you didn't give an approximate number of games and the winrate.

Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #19 Posted: Sun May 31, 2020 6:42 am 
Dies in gote

Posts: 21
Liked others: 0
Was liked: 1
Rank: 1 kyu
It was a rhetorical question of course. The point is that they are extremely low. And if we get stuck on the mentality that anything is possible then we might as well give our credit card details to that Nigerian prince who wants to leave us his fortune.


This post by Adin was liked by: Knotwilg
Top
 Profile  
 
Offline
 Post subject: Re: On handling online cheating with AI
Post #20 Posted: Sun May 31, 2020 6:46 am 
Oza
User avatar

Posts: 2302
Location: Tokyo, Japan
Liked others: 2186
Was liked: 1297
Rank: Jp 6 dan
KGS: ez4u
As a first step, you could post the player's rank graph with the name trimmed off. Like this example. That would at least indicate the gains in online ratings that you have mentioned.
Attachment:
KGS graph example.jpg
KGS graph example.jpg [ 50.99 KiB | Viewed 2355 times ]

_________________
Dave Sigaty
"Short-lived are both the praiser and the praised, and rememberer and the remembered..."
- Marcus Aurelius; Meditations, VIII 21

Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 150 posts ]  Go to page 1, 2, 3, 4, 5 ... 8  Next

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group