News:

click the random photo on the front page to go directly to the forum

Main Menu

RepBot/SavedGames

Started by wintom, February 23, 2008, 02:05:34 PM

Previous topic - Next topic

wintom

For those who are too lazy to build there own JavaFibs/RepBot toolbar, here it comes:


The icons are made by FAMFAMFAM.

Visit my blog for a detailed usage description (in german).

There you can also download a script (Java) that automatically retrieves the saved games list and puts everybody that exceeds a certain threshold on the villains list.

hth,
Thomas
The Backgammon Blog: Graswurzel Backgammon

stog

thx wintom

how do we install the villain's script?

wintom

Simply put it into the user-folder in JavaFibs. In order to run it go to start->run and type "cmd". Navigate to the user-folder by typing "cd <folder>" in the new window and start java with "java FibsVillains <threshold>".

Thomas
The Backgammon Blog: Graswurzel Backgammon

wintom

Ok, this "start->run" thing is for windows... On OS X open the terminal and start with "cd <folder>", where <folder> ist the name of your personal user folder (e.g. /Applications/JavaFibs2002/user/<username>) and <threshold> is the number of saved games somebody needs in order to be added to the villains list. So for 20 games you would type: "java FibsVillains 20".
While doing all this JavaFibs should not be running, because it would delete the list when closed.

Thomas
The Backgammon Blog: Graswurzel Backgammon

stog

thx i now have a bag of villains (>25 saved!

spielberg

Thanks wintom - I'd missed this whole thread. Repbot integration is THE major omission in JavaFibs IMO and your script will help until Cthulu approves the new release inim is busy on.

Steve

Patti

I do not believe that this is an acceptable use of the savedgames information-- you're using the savedgames information to mean something significantly different than the way that it is defined.  The savedgames list is *not* a list of dropped or abandoned (or even intentionally saved) matches, and should not be treated as though it is.

Having a large number of saved games does not make one a villain.  In fact, it may well mean that someone has recently played a significant number of matches to completion.

wintom

QuoteHaving a large number of saved games does not make one a villain.  In fact, it may well mean that someone has recently played a significant number of matches to completion.

That's true and the opposite is also quite often the case: Somebody with less than ten saved games might still be a dropper who recently returned from his summer vacation.  ;) The saved games list is of no use if it is not accessible without delay. That's why I wrote this script. In combination with RepBot there is a good chance to avoid droppers and also to recognize the very few false positives (mostly bots) given by the saved games list.
A similar script written in Perl exists since 2005 and hasn't done any harm. It's the users job to set the threshold to an acceptable value and to always keep in mind that even somebody with 20 saved games doesn't have to be a dropper. My advice is to crosscheck with RepBot.
Though I even play unlimited matches on Fibs from time to time, I cannot remember to have ever reached more than 10 saved games. It shouldn't be that difficult to keep that number low.
If there was a better solution I'd go for it, but there is not!

Thomas
The Backgammon Blog: Graswurzel Backgammon

Patti

A better solution would be to use the information in an advisory manner, rather than adopting a scorched-earth policy with data that don't support such a drastic response.  If people start wildly and widely misusing the savedgames data, I'll probably pull the information down.

The savedgames list is *not* a droppers list.  It should not be treated as one.

wintom

QuoteA better solution would be to use the information in an advisory manner, rather than adopting a scorched-earth policy with data that don't support such a drastic response. If people start wildly and widely misusing the savedgames data, I'll probably pull the information down.

I guess the drastic response is on your side, but please don't hesitate to do what your intuition tells you.

Thomas
The Backgammon Blog: Graswurzel Backgammon

inim

#10
As for winton's little hack, I consider it perfectly fine and legal usage of a public resource. Whoever runs that script gives a threshold for dropper definition, which is a perfectly valid and individual decision. My personal policy for accepting invites is similar, I won't accept invites from people with more than 15 saved games unless I know them. I use repbot score as a secondary indicator in border cases, but the thing I rely on mostly is # of saved games. Of course the definition is not as precise as it should be, due to technical limitations of the FIBS data provided in savedgames. Well beyond fixing, but there is nothing else to base decisions for accepting invites on.

The functionality provided by winton's class could be easily integrated into JavaFIBS, and personally I have privately used, unpublished  code which uses the savedgames list in ways far beyond winton's script. Please note that pulling the savedgame list doesn't prevent one from creating a list of all fibs users even more detailed than savedgames. There is at least one other way to query this data from fibs.com I'm aware of. But that way puts a lot more load on fibs, and is harder to code. However, that algorithm can't produce the very data savedgame offers, namley missing "show saved USERID" command.


General thoughts on public data and access control:
--------------------------------------------------
I am a member of the Amazon Developer Network, and they have had a similar debate some years ago. Amazon offers it's extensive lists and product data publicly, and this was used by numerous "media database" tools. In short, pirates wrote software which augments your MP3 collection with images and information pulled from amazon.com. Needless to say amazon wasn't all happy with it. However, pulling the data was not considered an alternative, as their very business model approach aims at open and free information, and integration of it into 3rd party applications. The problem was solved with developer tokens. To access data, you by now have to give a combination of developer token and password in every URL that queries machine readable (read: XML) product data. Tokens are free, all you need to do is to enter your email into a form to get one.

So I suggest to simply use fibs username and fibs password to establish access control, if Patti want's to have some sort of access log. That data is there anyway, and writing the CGI script to enforce it is outright trivial.

JavaFIBS integration
--------------------

I have all the code needed to offer a solution similar to winton's script officially in JavaFIBS, however I am disturbed by Patti's threat to pull what I considered to be an official FIBS interface. I won't release software based on interfaces which are not official, however. So I'm definitely interested in this debate, with the goal to reach some form of officially supported interface status for the saved game list (and oter REST style webservices fibs.com de-facto offers, but let's delay that debate for now). The code itself is trivial, reading savedgames and creating a Map<PlayerID, List<PlayerID>> from it is about 20 lines in Java 5.

Patti, please tell me what form of integration would be OK in your book.

1) Displaying # saved games in the Player table
2) Offering automated update of villains lists based on a given saved games threshold
3) Offering automated update of villains lists based on a given saved games threshold in combination with other criteria, such as repbot score
1-3') The above functionality, but based on an average created from cached savedgames, see burper's comment

Personally, I root for option 3' and for myself use that criterions. But I won't release any code or binary Patti opposes.

Minimizing load and improving reliability of savedgames data
----------------------------------------------------------
First of all, I support burper's view as expressed here: http://www.fibsboard.com/javafibs/javafibs-2001-v1010-is-now-available-for-download-t1850.0.html;msg13962#msg13962

As burper suggested, caching savedgame and creating averages over it improves reliability. JF already has a workspace of persistent memory, so keeping average figures is trivial to implement in there. The other thing would be load on the fibs.com HTTP server, which will surely increase if JF or other clients automatically download the savedgame list.  JF would enforce a "once per day" policy to keep the load low.

So, Patti: is it acceptable to offer an option in the official JF release which would automatically downloads savedgames and offers end user decisions based on that data?
This space is available for rent by advertisers. Call 0900-INIMITE today, and see your sales skyrocketing in no time! New customers receive free Vl@9rå and a penis enlargement set as a bonus! We support banners, flash banners, and scrollers. Discrete handling by our HQ on the Dutch Antilles.

wintom

Thanks inim for this detailed analysis. I guess everybody's policy for accepting invites is based on saved games and RepBot as you stated due to the fact that there is no other variable to consider. That's why Patti's point of view doesn't sound too convincing at least to me. The villains list is a supportive security measure ecpecially for times where RepBot is asleep.

Anyway: Patti, if you want me to remove the script in order to save the saved games list, I will do so. But please give inims and my explanations another thought. We all know you are at the controls.

Thomas
The Backgammon Blog: Graswurzel Backgammon

Hardy_whv

I think in my 5 years on FIBS I never had more than 2 or 3 unfinished matches. What cases might there be for a player to have 15 or 20 unfinished matches? I always avoid players with such a list of unfinished matches. What other information should one utilize to avoid droppers, Patti? You don't like RepBot, you don't agree with the way of wintoms use of the SavedGames list. What do you recommend to successfully avoid droppers? One way would be to only play players that one knows personally. But this would it make impossible for new FIBSters to find opponents to play with. Just cusious.

As long as there is no automatic way to punish droppers on FIBS (i.e. adjusting rating depeding on the winning chances of both players, after a match was dropped), there should be information available that allows players to avoid droppers.

Hardy  B)
Visit "Hardy's Backgammon Pages"

stog

hi all
ive been using the script for a few weeks now - set to a threashold of 25 saved games -- it gives quite a list still. i seem to have had no dropped games --- but i have had to leave many and pick up later because of javafibs and my mac's network config/firewall and router; so i might appear as a dropper to some with a script and a low threashold.

thx for all your efforts

Patti

The savedgames list is not and was never intended to be an official FIBS resource.  It's a quick hack that I pulled together one evening on an experimental basis, and while it's continued to run for quite a while now I don't particularly commit to supporting it.  If something were to happen tonight to cause the process to fail, it might not get fixed for days, weeks, or forever.

My understanding is that the villains list is (a) essentially permanent, and (b) drastic.  If I'm understanding correctly, it keeps the person from even talking to you.  I can assure you that perfectly innocent people will occasionally wind up with high savedgames counts, and the idea that someone might block them forever because of that really feels wrong with me.

In particular, if my understanding is correct it means that someone who is blocked because of the savedgames list can't even communicate with the blocker to resolve the situation.  If this is the case, I can assure you that such a problem will land in my lap more than once in the future.  As you know, I'm strongly motivated to avoid doing technical support for things that have nothing to do with FIBS itself.


You mentioned RepBot integration.  Bear in mind that RepBot is also not an official part of FIBS.  I consider it to be fundamentally broken and a royal pain in my ass, and every single time I get a complaint about it I'm sorely tempted to fire up my script that kills user accounts and then takes over the username.  "I have a bad reputation because A, B, and C complained about me but I never played any of them.   Fix this for me."  Sometimes they say please, but often not. 

Another one is, "It says I have 11 savedgames but I really only have six.  Fix this!"  The savedgames page has some fairly strong caveats on it about what the data do and don't mean, and why it's not what they think it is.  One of the issues I have with consuming and redisplaying the savedgames information is that those warnings seem to get lost, and the data are therefore interpreted as meaning something entirely different from their definition.  I don't really want to see those numbers displayed without a warning that they include unlimited matches and recently-completed matches.  (This is another beef that I have with RepBot.)

(In the past, I've come up with a relatively simple change to RepBot that would turn it into a much more accurate resource, and one that I would despise a great deal less.  If that ever gets implemented, I may reconsider my stance.)


Someone else asked why someone might legitimately have many savedgames.  Some people have savedgames because they got dropped.  Some because they intentionally postponed some games for later.  A few people play either very-long or unlimited matches with friends over extended periods of time... they'll play half an hour tonight, an hour next week, etc.  There are plenty of legitimate reasons to have saved games that don't involve intentionally dropping.

As for how to avoid droppers, it's not that hard.  I haven't been dropped in years, either on my Patti account or on my super secret nobody-knows-it's-me account.  I never play anyone with an low experience unless they've entered an email address.  I also never play anyone whose rating is vastly out of line with their experience.  Someone has 1800 experience after 58 games?  I don't expect that I have any chance of winning that match.

Tom

(Is this a JF thread or RebBot?  :laugh: )

From my reading of the Repbot board there is a lot more useful information given from the FRIENDS command

I agree any information from repbot (or other automatic source) should not be used to totally Block Communications between players

I feel a correct repbot integration should be to display info from repbot on the invite box and allow the user to decide whom to accept from.

I also think that some repbot info could be displayed when you INVITE someone not on your friends list.

Yes this would add an extra step (optional?) but is well worth it.

tom

spielberg

Quote
(In the past, I've come up with a relatively simple change to RepBot that would turn it into a much more accurate resource, and one that I would despise a great deal less.  If that ever gets implemented, I may reconsider my stance.)



Details of this please Patti - you tend to only have good ideas!



Steve

Patti

Easy, spielberg.  In my mind, the number one issue with RepBot is that you can vouch for or (more commonly) complain about anyone.  This leads to situations where somebody pisses off one person, and that person either enlists their friends to gang up on the victim, or enlists their pseudo-friends (i.e. sock puppet accounts) to do the same.  I've deleted hundreds and hundreds of bogus sock puppet accounts that were created and had their experience pumped just for this purpose.

The change is this:  you can only complain about or vouch for someone within a fixed period of time (say one day) after you start, finish, or resume a match with them.  It would require RepBot to monitor the "toggle report" output and maintain some state data internally, but that's not terribly difficult to do.

This would make RepBot's information far more accurate, and significantly reduce the amount of tech support email I get about the bloody thing.  Without it, it's constantly hovering on the edge of getting the boot.

webrunner

Patti, that is a brilliant idea and should be implemented!!!
:thumbsup: :thumbsup: :thumbsup:
"There is a difference between knowing the path and walking the path."
Bruce Lee
===================================
Orion Pax |

inim

#19
Before we drift further away from the simple original point of this thread: it was about reading the "savedgames" list an presenting the figures to the user in some form, either standalone, averaged over a period of time, or in combination with other pieces of information such as repbot ratings.

You probably can end any debate by making it complicated enough and by moving the subject far enough from the original question. However, I still haven't seen the real question answered.

Quote from: inim on March 12, 2008, 11:35:45 AM
The code itself is trivial, reading savedgames and creating a Map<PlayerID, List<PlayerID>> from it is about 20 lines in Java 5.

Patti, please tell me what form of integration would be OK in your book.

1) Displaying # saved games in the Player table
2) Offering automated update of villains lists based on a given saved games threshold
3) Offering automated update of villains lists based on a given saved games threshold in combination with other criteria, such as repbot score
1-3') The above functionality, but based on an average created from cached savedgames, see burper's comment

Improving Repbot is a completely different and unrelated cup of tea, as 4 in 6 of the above options do not even involve it.
This space is available for rent by advertisers. Call 0900-INIMITE today, and see your sales skyrocketing in no time! New customers receive free Vl@9rå and a penis enlargement set as a bonus! We support banners, flash banners, and scrollers. Discrete handling by our HQ on the Dutch Antilles.