Monday, July 23, 2018

GNUBG taken down due to EU's GDPR

On May 25, 2018, The European Union implemented the General Data Protection Regulation (GDPR).  As explained on Wikipedia,
"The GDPR aims primarily to give control to citizens and residents over their personal data and to simplify the regulatory environment for international business by unifying the regulation within the EU."
The main effect of the law that I've seen is that many web sites now have warnings that they are using cookies, and you have to accept the warning to make it disappear.

Unfortunately, the GNUBG project decided that their best response to the new EU law was to temporarily shut down the site.  Achim, one of the heads of the project, provided more details in a forum post that I pasted below.  I certainly don't blame him or anyone for being afraid of potential consequences.  Its just sad to see such a great program that took so many people so much work be almost inaccessible.

The good news is that it is still somewhat accessible!  A response to Achim's post from Philippe Michel pointed out that a download page for Windows is still online.  That page is here:
http://files.gnubg.org/media/windows/
The suggested last stable Windows build is
gnubg-1_05_000-20150725-setup.exe

And the more general media/download page here:
http://files.gnubg.org/media/


Post from Achim:

The situation is as follows: 
We have a new GDPR (in Germany called DSGVO) adopted by the EU nearly two years ago, by Germany around one year ago, also a new Bundesdatenschutzgesetz. This law forces everybody saving and/or processing any kind of personal data to fulfil certain conditions starting with an understandable declaration about how and why data is preserved, processed, transferred and protected. This is valid for everybody apart from real personal web pages (family and cat pictures ;-) ). 
It concerns e.g. web page stats (ip-addressess), comments on articles (nick name, email address), even plugins from Wordpress or other CMS are concerned (google fonts, spam filters and so on). This law was actually adopted to protect users and customers from big companies like facebook. Unfortunately the German version of this EU law is squishy and vague at many points. Right now many bloggers, clubs, freelance, small companies, and NGOs are unsure and frightened in Germany. 
The situation here for gnubg.org is
1) Lawyers tend to categorise open source projects as non personal (fortunately we never allowed commercial banners or affiliates at gnubg.org).
2) The server is hosted in Germany, I’m responsible but don’t know yet whether a declaration should be written in German or English language. I also have no idea about the details of the CMS nucleus regarding the new law.
3) Government authorities can impose fines when someone impinges against this law (something I’m not so afraid of)
4) Here in Germany there is another pretty ugly law (Gesetz gegen den unlauteren Wettbewerb) which allows lawyers to write warnings combined with a fee when they notice a violation of the law. This already happened at the 25th of May in some cases and will definitely happen more often in future. Though gnubg is kind of a hobby project without any earning there are countless commercial competitors at the game market. I see some danger in this and don’t want to be the one being fined first. Google for »Abmahnanwalt« or Abmahnindustrie« and you know what I mean. 
So I decided to put the page temporarily offline until you (all the programmers) decide what to do. 
It’s actually much more complicated, but I’m lacking of time a little bit right now. 
Ciao 
Achim



Wednesday, August 30, 2017

Printing brackets enlarged on multiple pages



For our weekly tournaments on Wednesdays we just print out our tournament brackets on a single sheet of paper.  For our weekend tournaments where we play longer matches and normally have few more people, we like to make a larger bracket that we can display on an easel.  For a long time, we would get foam board, I think 22" by 28", and draw a bracket on it.  This was pretty time consuming since its tricky to make sure all the many lines are evenly spaced and straight and make everything fit just right.

Lately, we've been instead printing out an enlarged version of the bracket that fits on to 4 pages.  It seems like that should be easier to do than it was.  And considering I only do it every many months, I'd forgotten how last time, so I thought I would document the procedure.  I could not find any way to do it in Microsoft Word, so this solution is for PDF.  If you're starting with a Microsoft Word document, as I do, then the first step is to save it as a PDF document.

1) If starting from Word, do a "Save as..." and save as PDF format.

2) Open the PDF with Adobe Acrobat Reader (other PDF Reader programs like FoxIt have ways to do this too)

3) Go to "File/Print..." to open the Print dialog

4) Under "Page Sizing & Handling", click Poster

5) Change the "Tile Scale" to 200%, or some other value.  For us, printing at 200% enlarges the bracket to print on 6 landscape pages (22" x 25.5") instead of just 1 page.  150% would print to 4 pages

We then tape the 6 page print out to the foam board so that we can stand the foam board on the easel. When we write on the bracket with Sharpie marker, it can bleed through and get small dots on the foam board so I definitely wouldn't tape the bracket to the wall if you're using markers on it.

Also, there are tiny margins on the paper when it prints, so we cut those off of at least one side of the papers so that we can tape them together with little to no white gap.

Monday, August 14, 2017

Backgammon Boards

[Originally posted as an answer on Quora]

When buying a backgammon board, the prices generally depend on the playing surfaces, and there are some personal preferences there.  Here are some ideas for different options.  

Local department stores usually don't have anything but low quality boards, like chess/checkers/backgammon combo kits.  those are cheap, like $20, but they're usually pretty small.  They're also usually wood and wood isn't a great surface to play on.  Some wood sets can be beautifully painted, but the loud sound of the dice hitting the wood can get irritating.  And checkers slip more easily on wood.

Specialty game stores may carry the standard "attache' " board that folds and has a handle.  The price can be $30 to $100.   The material of the boards they sell is usually felt with vinyl "pips" sewn on.  Over time, the edges of the vinyl pips get worn and get in the way of moving the checkers.  So these are good for a casual player, but will wear out fast for someone who plays regularly.

Next level up would be a Crisloid board, $200-$300.  These are larger boards with a cork playing surface.  These are popular at our club and easy to find on the Crisloid site or on eBay or other places online.  One disadvantage is they can get very dirty over time.  Coating them with a polyurethane spray can help with that, but that can make the dice spin a lot, which some people don't like.  https://crisloid.com/product-category/backgammon/

I think the boards that are considered the best are a big step up from those, usually close to $1000.  These are usually bigger than those previously mentioned and they also have nicer checkers and dice cups.  One common playing surface option in that range is a wool playing surface with dyed wool pips inlaid instead or sewn in for easier checker movement.   One independent manufacturer of these boards is Tak Morioka.  His are the most popular boards for big tournament players.  Here is a link with his contact info and pictures:
http://www.chicagopoint.com/takb...


Also in the $1000 range are leather playing surfaces.  The leather can be beautifully painted and is a nice surface to play on too.  One manufacturer of those is Brahma.
http://www.brahmaboards.com/

And most recently, a company called P-40 is making boards in the $1000 range
https://p40bg.com/index.php?id_category=61&controller=category
There are some nice perks to these, like the ability to custom design them with different colors.

Where is the best place to play online backgammon?

[This is from one of my posts on Quora]

There are 3 different places that I would recommend for playing online.  All of these support match play, hold tournaments, and all support exporting log files of your matches to a format that can be analyzed by desktop backgammon software, like GNU Backgammon and eXtreme Gammon 

The first is GridGammon.  GridGammon is where the United States Backgammon Federation (USBGF) holds all of their online tournaments.  Consequently, there are many top-level players who play there.  As mentioned in other posts, GridGammon was derived from GamesGrid, which used to be one of the most popular places to play backgammon for money until playing for money became illegal in the US and GamesGrid was shut down.  GridGammon does not allow playing for money, so all of the USBGF tournaments are free to enter.  Registration is by invitation only, but the easy way to get an invitation is to sign up for a USBGF membership.  GridGammon requires software that you can download for free, but unfortunately it only runs on Microsoft Windows as of now.

If you don't want to join USBGF and/or can't play on Windows, then my next recommendation would be First Internet Backgammon Server (FIBS).  FIBS is free and anyone can join.  You just need to download one of many client programs.  Different client programs  have different features and interfaces, but they all connect to the same server.  On Microsoft Windows, I would recommend Fibzilla.

My third choice would be DailyGammon.  With DailyGammon, instead of playing one live match all the way through at once, you play just a move at a time in many different matches.  You make your move whenever is convenient for you during the day (or week) and your opponent makes their move whenever they get online next.  So matches can drag on for weeks, but that's why people play dozens of matches at once.  One of the nice things about it is that you don't have to commit to playing a whole match at once, you can just play a few moves in a few minutes if that's all you have time for.  Another nice thing is that its all browser-based, so there is no special software to download.

Monday, July 24, 2017

The Spouse vs. Spouse Payout Theorem

[This is an article that I thought was funny, in a math-nerd way.]

My wife, Kathleen Davis Barr, and I used to daydream a lot about playing together as partners
in a Doubles tournament and winning. We tried several times over the years. We entered some
Limited Doubles events for Intermediate/Advanced players and made it to the finals once, but
lost. In Open Doubles events, I don’t think we ever even got as far as the semifinals.
After some first round losses at a couple tournaments in a row, we put our Doubles dream on hold
until we improved.

In the meantime, we also had a chance to restrategize. Maybe it’s better if we don’t put all our
eggs in one basket in the Doubles tournaments. Maybe entering separately with other partners
is a better idea. Assuming that we split the entry fees with our partners, we would then each be
only paying half an entry fee. Of course, that’s the same amount as paying a full entry fee if we
teamed together, but separately we have two chances to win! As a married couple that shares
all their finances, it doesn’t matter which one of us wins because we’ll share the prize money.
(And when I say it doesn’t matter which one of us wins, I mean that strictly financially).
However, we also would only win half as much prize money compared to if we played together
since whoever wins would have to split the winnings with their partner. So really this is a
lower-risk, lower-reward strategy.

In this scenario, our daydream Doubles tournament would be if our teams played against each
other in the Doubles final. Not only would it be fun, but then we would both be winning prize
money! After thinking about this some more, it’s not hard to realize that if a spouse plays
another spouse in a Doubles final, and those spouses combine their winnings, then no matter
what the prize distribution percentage is between 1st and 2nd place, the two spouses will go
home with exactly half of the total prize money available to 1st and 2nd place. One way to think
about that is if we played each other one-on-one in a normal final, then we’d definitely take
home 100% of 1st and 2nd place money, but in a doubles final we would each share with our
partners, so we would take home 50% of the total pot. That’s also assuming that each pair of
doubles partners is splitting their winnings equally.

This “Spouse vs. Spouse Payout Theorem” turns out to be easy to prove mathematically and
can be generalized for any number of players per team, from 1 to n. Assume:
P = total prize pool for 1st and 2nd place, and
x = amount paid to 1st place, and
(P - x) = amount paid to 2nd place.
n = number of players on each team

Again, assuming that each team is splitting winnings equally, then each spouse gets 1/n of the
prize money that the team wins. So the spouse on the winning team wins (1/n) * x dollars and the
other spouse on the losing team wins (1/n) * (P - x) dollars. When the spouses combine those
winnings, together they have:
(1/n)x + (1/n)(P - x)
= (1/n)x + (1/n)P - (1/n)x
= (1/n)P
So in a Doubles tournament, the couple always takes home ½ of P.

There are a couple interesting corollaries to this proof too.

1) There is no point in either spouse being involved in any hedging decisions because they
will win the same amount regardless of the distribution percentages. Whether the split is
60/40, 80/20, etc., it won’t matter. That means any hedging decisions can be left entirely
up to the other partners.

2) In Doubles, if each spouse chooses for their partner one spouse of another married
couple (e.g, Barr/Rockwell vs. Barr/Rockwell) then no matter what the prize distribution,
each couple will win exactly half the pot.

So if David Rockwell and I are ever playing against Linda Rockwell and Kathleen in a Doubles
final, we’ll have to play for something else since the money won’t matter, like the losing team
buys the winning team dinner. Oh wait...never mind

Round Robin scenarios for 3 players or 4 players (or teams)

Normally, when we have a tournament, we award the winner with club points equal to the number of players who attend.  The next runner(s) up get half those points, the next gets half again, etc.  Any player with a win gets some points and players with no wins get 0 points.  This works well when we use a double elimination bracket, which we do when we have 5 or more players. 

Its common though towards the end of the year that we have less players, so sometimes we have a few nights of 3 or 4 players.  On those nights, we do a round robin style tournament where each person plays each person once.  The end result can have several ties and so its less clear how to award points.  So finally, I documented each scenario and how many points we will award.  Of course this can be applied to round robins in any sport with 3 or 4 teams, or other games, and the points can be multiplied or divided however desired.

The goal is to try to award close to the same number of total points in each case that has the same number of players.  In a 3 player round robin with no ties, the points are 3 for winner, 1.5 for second, 0 for third because that person has no wins.  That's 4.5 total points. So when 3 players have a 3-way tie, each gets 1.5 points so that the total is again 4.5.  That works out perfectly but 4 players is a little trickier.

In a 4 player round robin with no ties, winner gets 4, second gets 2, third gets 1, fourth gets 0 (no wins).  That's 7 points total.  If we were to use a double elimination bracket for 4 players, which we do sometimes if we want to finish faster, then we end with a tie for 2nd.  We don't make the winner of the consolation bracket play the loser of the main bracket, for the sake of time.  In that case, we award 4 for winner, 2 each to the two players with 1 loss each, and 0 to the person with no wins.  That's a total of 8 points.  So the goal for the 4 player round robins where there are ties is to award either 7 points total or 8 points total, or somewhere in between.

3 PLAYER POSSIBLE SCENARIOS
--------------------
2-0, 1-1, 0-2 : 3 points to 1st, 1.5 points to 2nd, 0 points to 3rd (4.5 total)
1-1, 1-1, 1-1 : 1.5 points each (4.5 total)


4 PLAYER POSSIBLE SCENARIOS
--------------------
3-0, 2-1, 1-2, 0-3: 4 points, 2 points, 1 point, 0 points (7 total)
3-0, 1-2, 1-2, 1-2: There are no head-to-head tiebreakers, so 4 points to winner, 1 point for each 1-2 player (7 total)
2-1, 2-1, 2-1, 0-3: There are no head-to-head tiebreakers, so 2.5 points for each 2-1 player (7.5 total)
2-1, 2-1, 1-2, 1-2: For each of the ties, there will be a head-to-head tiebreaker, so clear 1st through 4th placings can be determined. 4 points, 2 points, 1 point, 0.5 points (since 4th place had a win) (7.5 total)

Bracket Efficiency Recommendations for Casual Tournaments

Our club has our regular meetings on weeknights.  We like to play a double elimination bracket of 7 point matches in the main round and 5 in consolation whenever possible, but those can take several hours even with 4 to 8 people.  Although we're all competitive and want the draw for the bracket to be fair and random, we also want to get home at a reasonable hour on a weeknight.  Therefore, since weeknight tournaments are more casual and laid-back than a weekend tournament (and especially than an ABT tournament) we developed a couple modifications for our brackets to speed things up.

First, we play "first available" in the consolation round.  In other words, we don't use the "Loser goes to A", etc. designations of the bracket.  If you lose in the first round, you're placed in the highest open spot of the consolation bracket.  The big advantage of this is that as soon as two people have lost in the main round, they can start playing immediately.  Using normal placement, the two first losers could be on opposite sides of the bracket and end up each sitting around waiting for the next loser on their side of the bracket.  another advantage is that in cases of uneven players, like 7, the last person to lose will get a bye in the consolation round.  So the slowest part of the bracket gets a little speed boost at that point.  With "first available", there is much less sitting and waiting.  The only disadvantage is that two people can end up playing each other a second time in the consolation round even before getting to the consolation final.  That's not a big deal to us since most of us in the club have played each other countless times anyway.  And even using the normal placements, people can meet up a second time in the consolation finals.

One other trick we use is when we have 6 players.  We use an 8 player bracket, but instead of using the "seed" placement numbers on the main bracket, we just place players in first top 6 slots of the bracket. That way all 6 players start playing immediately instead of 2 people on opposite sides of the bracket both getting byes and waiting. The side-effect is that for the players in the 5th and 6th spots, whoever wins will get a bye to the final. But that's really no extra advantage over normal placement. In both cases, there are 2 players who only need one win to get to finals. But with the modification, you play first and get a bye when you win. With regular placements, you get the bye first. the same concept can be applied to 12 players in a 16 player bracket too, just place them all in the first 12 spots so that you don't have FOUR people with byes sitting around waiting.

A few other ideas for 9, 10, and 11 players in a 16 player bracket:

9 players: Losers of starting 4 matches go to first available consolation spots A, B, G, and H. Semi-final losers go to first available consolation spot of M or N. C, D, E, F, I, J, and K are byes

10 players: Losers of starting 4 matches go to first available consolation spots A, B, G, and H. Semi-final losers go to first available consolation spot of M or N. C, D, E, F, J and K are byes

11 players: Losers of starting 4 matches go to first available consolation spots A, B, G, and H. Semi-final losers go to first available consolation spot of M or N. C, D, E, F, and K are byes