Join Bridge Winners
All comments by Nicolas Hammond
You are ignoring the author of this comment. Click to temporarily show the comment.
Like many on this site, I occasionally wear two hats. I have posted some things under my own name, but I'm also the CEO of Hammond Software, the company that did the ACBLscore+ work.

In this case, I'm posting as CEO of Hammond Software (HS).

I have not voted on this poll. I am unaware of the results of the 100+ votes when I wrote this.

Two of the proposed options on the poll were “sue the software developer over lack of contract performance”. Those are fighting words, and by implication state HS has failed to meet its contractual obligations under the ACBLscore+ contract. Nothing could be further from the truth.

We are not aware that ACBL has any intention to sue HS, nor does HS have any intention to sue ACBL. We are not even sure what either party could sue for.

The ACBLscore+ contract was a time-limited and $$-limited contract. I have previously posteda more detailed response at Basically the contract ended at the end of March 2014. As stated elsewhere, the contract was completed essentially on time, under budget, with the exception that any item that had a documented 3 month or longer delay from ACBL, or any item that was dependent on a documented delay could not be finished.

The contractors and employees working on the project were all informed that March 31 was the last day of the project. HS/ACBL began negotiations on a new contract before that time. In March I was working with the Horn Lake based person that was going to take over the ACBLscore+ code. The final ACBLscore+ monthly status report was delivered at the end of March, along with the final invoice.

As has been noted elsewhere, both HS and ACBL have full rights to the code. On the assumption that we might get a new contract, we continued working on the ACBLscore+ code. HS kept some of the original developers working on the code as there were many things that I wanted to add that were outside the scope of the original contract, but I knew would be beneficial to TDs/players/DICs/TCs.

The NABCs are run by ACBL. The Regionals are run by Districts. ACBL did not want ACBLscore+ demonstrated at any NABC, but the Gatlinburg Regional DIC and TC were happy to run the new software at their tournament in April 2014. Gatlinburg runs the biggest tournament events (20-30 brackets in a KO, can be over 300 teams) on the ACBL schedule. It is probably the biggest test of any new software. That Gatlinburg were willing to run this new software is indicative of the need to improve certain aspects of tournament management and also the maturity of the software.

In April 2014, we ran ACBLscore+ in Gatlinburg. We only used a small portion of the ACBLscore+ code, only for starting a KO, but it was a great success. The average KO start time (based on the time that the last table assignment was posted) dropped from 27 minutes to 15 minutes. Doesn't sound like much, but 200 teams, 800 players, 12 minutes saved is 160 man-hours. Starting a large KO in Gatlinburg required 13 TDs, with the new software the number is significantly reduced. Basically 2 TDs to start the event. More importantly it was a lot safer for the players, no longer did 800 people crowd around four 6' tables trying to read their assignments from a rack. We will be back in 2015. The start times will be even quicker as the software has matured and I have included a lot of feedback from TDs on what they want, and how they want it to run. This was the state of ACBLscore+, it was ready for TD feedback to improve its usage. Doing this live, i.e. “in the field” is the state of Bridgescore+.

ACBL sent some management people to Gatlinburg, whether to see ACBLscore+ running or for other reasons I do not know. I do know that there were pictures posted on the ACBL Facebook page showing the new screens, the projectors in use, along with statements about how wonderful ACBLscore+ was and the future. In the Orwellian system, those pictures and comments are no longer on the ACBL FB site.

ACBL wanted the additional features that were shown in Gatlinburg and wanted to change the ACBLscore+ contract end date to include this new software. We agreed, a new contract end date was set (towards end of May), we sent ACBL the newer code including all source code, invoiced them for the work. And again, parted ways amicably.

It was surprising to hear two months later that they decided to discontinue the entire project. Particularly after they had just paid more money.

I have repeatedly pointed out that there are 3 issues:

1. Original ACBLscore+ contract.
2. ACBL decision not to do a new contract with HS.
3. ACBL decision to “discontinue ACBLscore+”.

JoAnn, with your post, you are confusing #1 with #3 and making assumptions.

#2 was based on ACBL's insistence that any new contract required renegotiating the original contract, specifically in reference to the copyright.

If #3 is based on the copyright issue, then that is a separate topic.

As I have stated elsewhere (, #2 was a business decision, and I would like to think that ACBL/HS parted amicably. Certainly there are no hard feelings from either me or my company.

The good (?) news is that HS has rights under the ACBLscore+ contract to the code. I had never intended to do anything with the bridge part of the code, my company was only interested in the underlying technology, the engine that drives everything, but I had made commitments to run ACBLscore+ at our District (I'm in D7) regionals. After ACBL made the announcement to discontinue ACBLscore+ in July 2014, I took the ACBLscore+ code, continued to enhance it and re-branded it as Bridgescore+. I continue to work it, and to release new versions of it. It has been run at 3 regionals this year, with more planned.

HS had pre-paid various annual expenses, including Internet hosting, in anticipation of additional ACBLscore+ work. When that contract did not happen, the marginal cost to us to host Bridgescore+ is close to $0. After the success of Bridgescore+ at the Atlanta Regional in August 2014 (the KOs were starting at game time, or 1 minute after game time with 1 TD; by comparison the KO events that were not started by Bridgescore+ averaged 12 minutes and would use up to 5 TDs), I had requests from other Districts to run the software and have made it avaiable to them. 5 districts are currently looking at it, with one more interested. If your district is interested, ask the District Chairman (not the District Director) to contact me.

Starting a KO is but a small part of what Bridgescore+ is capable of, but it is a start. Even if this is the only part of the software that ever gets used, it is still something. Training the TDs to use new software, and to learn something new, when they have had 30+ years of using the software is challenging.

I am pleased to see that the October bulletin contains a statement that ACBL is going to roll out tournament results and prompt player results. This was part of the ACBLscore+ contract so you are starting to see benefits from the ACBLscore+ work. It was code that HS developed in early 2012, before the ACBLscore+ contract was signed, and was demonstrated at the Memphis NABC in March 2012. It was showcased at the various National pair events in Memphis. Over 50% of players signed up for the service. Immediately after game time (within 5 minutes), the players received a personalized text of their results, an email, along with a link to the Javascipt presentation of the results. We even had the ability to phone in personalized results in English, German, Spanish and Italian. After the ACBLscore+ contract was signed, HS delivered this code to ACBL. It has been very frustrating that ACBL has taken 2 1/2 years to roll out the software. All that was needed was for ACBL to provide a way for the TD to send the ACBLscore game file to a site on the Internet. That work was outside the scope of the ACBLscore+ contract, it was work that ACBL needed to do internally.

Also, from the October bulletin, I should point out that the the decision to wrap up HS's involvement with the ACBLscore+ development contract was made in March 2014, well before Merlin and Russ did any testing. I was not involved in any way with the work they did. I do not know when Merlin/Russ did their investigation. At the time, I do not think that ACBL even knew how to change ACBLscore+ from a developer mode to a production mode. I had no communication from ACBL to help set up a test (I would have been happy to).

There are a series of videos of Bridgescore+. See for the software in action. This is the Bridgescore+ YouTube channel. Or see for a list of all videos. You can see what Bridgescore+ is capable of. I have had rumors that usability or performance were issues. See for yourself. Some of the videos have Bridgescore+ in developer mode; at some point I'll update them to run in production mode (just like a final release). Runs much faster.

One comparison is how long it takes to start a 3 strat pairs event at a Regional. ACBLscore requires 43 clicks/data entry and takes 2 minutes 49 seconds. See Bridgescore+ requires 4 clicks/data entry and takes 27 seconds. See See for yourself which is easier to use/run. The main target audience for the new software was new club TDs/managers and how difficult it would be for them to learn the software. It was not to target the current user base, though many features were incorporated to make an easier transition for the users.

There are several other features of Bridgescore+ that are ready for release. My limitation is in training users on the new software. One thing I have learned is that if everything works, it is the expectation. If someone goes wrong, it's the software's fault. Bridgescore+ is an extensive piece of software - over 200,000 lines of code. Currently Bridgescore+ has a very good reputation in the field (ask any players/TDs that have seen it or used it).

We have started with a simple step like starting a KO as this has the biggest impact on the players. But even this involves TDs learning new software to bracket, match, and table teams using a computer, not manually. Using Bridgescore+ to project Swiss information on the wall is probably the next feature you will see. The software has been capable of doing that for some time, we ran it at the Atlanta regional in 2014, we've been running Swiss using projectors in Atlanta sectionals for almost a year. Still using ACBLscore for the matching, to meet any ACBL regulations, but the event moves much faster with displays on the wall. For the last 4 NABCs, I've wanted to run the National Swiss, but ACBL has said no. That is how confident I am in the software, and how long this has been available. The offer still applies to Providence. I will be in Providence as a player, but it is simple to run Bridgescore+ and have the results displayed on the wall. It gets rid of the rack and Jeffries (scoring) chart. You can have the same TD enter results and do table assignments, freeing up at least 1 TD.

The results of previous BW polls, as unscientific as they can be, have been used by the WBF in relation to the “Two Doctors” case therefore BW polls cannot be silently ignored. HS was faced with the dilemma of posting something here, with its associated costs, or waiting to see final results and then have to potentially face a different set of costs.

JoAnn, please be careful with the wording of your polls. In this instance, the implication that HS should be sued “over lack of contract performance” has caused even more unnecessary legal activity for my company (talking with lawyers this week and over the weekend). As expected, the company's lawyer recommended against posting anything, but I wanted to set the record straight before a poll got out of hand and is used for anything. It is amazing how much our legal bills have been over the past year.

Flights are interested. The board mandated, I forget when, could have been in the 1990s or early 2000s that ACBLscore can run 5 strat events. I think it is just for 299er games at Regionals. That work is still pending. Some TDs run these events, but masterpoint the 4th and 5th strats manually. ACBLscore+/Bridgescore+ support 5+ strats by default. Interesting to see how long it will take to see this retro-fitted to ACBLscore.
Oct. 5, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
Hammond Software (HS) did not offer a 10% discount to ACBL if HS kept the copyright. I updated the description at to reflect the actual details. See FAQ #1. The 10% cut in price required by ACBL, and the code ownership were discussed contemporaneously with the same person at ACBL. The ability to re-use the underlying code/engine in ACBLscore+ for other non-bridge related HS projects is huge.

I'm a little reluctant to post this, because if I post this correction here, and leave various other mis-statements uncorrected, then the assumption will be that the other mis-statements are correct (and there are several out there).

ACBL did change their mind during the contract about the Copyright issue. This became a very big deal for them 3Q last year. It could be that this is the reason that they have decided not to continue work on ACBLscore+.

HS has no intention of suing the ACBL; as stated elsewhere, not sure what we would want to sue them for.
Oct. 4, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
It's common in layout to insert a space between each card, but not between 10. So a hand AQ108 would be displayed as A Q 10 8. There are various techniques to do this, depending if you are using an HTML based display (div/tables), or a Word processing tool, e.g. MS Word. At some point it would be useful for someone to survey various authors to find out the tools they use. For publishing you can add the various publishing software that is used as well. There are some special purpose bridge fonts. I've seen various tools that journalists use. Some are as bad as manually tabbing each suit for every hand.

I've got some tools that I will probably release with the next version of Bridgescore+. Given a bridge hand, or a set of hands, Bridgescore+ can take them and put them all into a Word document neatly laid out. I've got a couple of templates so far. If anyone has a Word template that they frequently use, and are willing to release it under the MIT-License, I can include it in the next Bridgescore+ release.

When I release the next release, will post something here.
Oct. 4, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
Greg wrote the code to support Thomas Andrews's algorithm. I updated the hand record utility to version 1.0.2. Thanks Greg! I do not plan on making subsequent announcements of each version. The main purpose of writing this code was to showcase how Open Source (OS) could/should work. I suspect that there are many programmers reading this who have heard of OS, but not sure how it works. By creating a project, albeit a very small one, it gives some exposure. The Swiss teams is a bigger project. Stay tuned.
Oct. 3, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
Electronic scoring (i.e. how results get to a Scoring Program), and Table Management are both separate topics. There are different expectations around the world in how Swiss Team events are run, from both players and TDs. Certainly the ACBL land, players expect to move each round, and with designated pairs of tables (e.g. C1/D1). ACBL TDs typically save one triplet of tables (e.g. G1/H1/I1) for the RR match. But that is ACBL land, other NBOs have different customs.
Oct. 3, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
Can you explain why? I am separately coding the tables to use for a Swiss event, but this is separate from all the other discussion on this thread. Logically, if you want matches assigned while the previous round is still playing, you want to use tables that are free. There is an issue of shuffle/deal, or pre-duplicated boards being delivered. There is the issue that you are more likely to keep a clean table if you will be playing there again. When using Bridgemates, they will stay at the table, so if one is missing, there is a 50% chance it is with your team. If I've missed something, please let me know as I'm coding this stuff at the moment.
Oct. 3, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
Yes, Greg let me know earlier in the week. I'll merge, test, and then report back. Thank you Greg. Was going to wait until the integration fully tested before announcing anything. The good news is that going Open Source looks like it may work. The Swiss teams algorithm will be the big test. Then we can see if we can make more Open Source code. Ultimately this should benefit us all. I have a lot more ideas on what I would like to see developed as Open Source. It may take a while to go from Open Source utility to being used in products. I should have pointed out that there are some really good tools already out there, Bo Haglund's double dummy solver,, Hans van Staveren's shuffling program bigdeal(x), These have all given their time to create products that we are all using, knowingly or not.
Oct. 3, 2014
Nicolas Hammond edited this comment Oct. 3, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
Fixed. Thanks. Sorry.
Oct. 2, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
In my original post I stated that I would write the various requirements/specs.

I am in the process of doing that. Once I'm done, I'll create a repository on GitHub and open it up. All code will be under the MIT license. I'll post something to BW as well. If you are interested in working on the project, send me a private message on BW, or wait until the project is open on GitHub.

It will be interesting to see how long this project is going to take. I have a couple of people interested in working on the software, and looks like Sriram has kindly volunteered to provide some of the math(s) needed. Thanks!

I want the algorithm to work for Swiss events, both Teams and Pairs. Swiss Pairs is not a common format in ACBLland simply because it is not supported in ACBLscore. In other words, the Swiss teams algorithm needs to work for a team of 2 (Pairs) and a team of 4+ (Teams).

Some of the requirements (I'm still writing them, along with other documentation), will address the various issues that occur. I've spent most of the last 2 years researching this problem, so will hope to address all issues in the requirements. For example, in a Teams event you can have teams that play in a 3 way match that is spread across one round, or two rounds. This is not possible in a Pairs format.

The bipartite graph may fail with an odd number of teams, however it is possible to map this on to a different graph that succeeds and then to map back after the solution is found. This is stuff for implementation details.

In reality we have to deal with situations that are not supposed to occur mathematically. Therefore the algorithm needs to be able to handle all situations. For example, because of TD error in an earlier round it may not be possible to meet the criteria that teams should not play against each other. The algorithm must be smart enough to know that a solution cannot be found but may need to be prepared to offer a best solution.

I want the algorithm to be able to interoperate with Bridgescore+. I know the data inputs, and the data outputs. I already have a working version within Bridgescore+ but this is a very simplistic algorithm and not sufficient. The code should be Open Source so that other scoring programs can use it.

I also have some thoughts on testing and how best to accomplish this. Will save this for the repository. Unfortunately it may not be possible to use ACBLscore results and expect a 100% match because part of the ACBLscore algorithm (the algorithm is published) is random. For example, after round 1, 4 teams have 10 points. Who plays who next is now random.

Table movements would not be part of the algorithm. My plan is to reassign tables where a match is complete, i.e. a free table, and not start at the top of the box, the current ACBL method, which could mean you are assigned to a table where the teams from the previous round are still playing. Matching and table management are separate issues.

I appreciate all the comments so far, and will include them in the requirements.
Oct. 1, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
I apologize. It turns out that ACBL is using the Raleway font to display hand records, not the Georgia font. My fault for not double-checking. I erroneously believed that the newly designed ACBL web site would follow the ACBL style guide…

Raleway also uses old style/medieval digits. I am going to leave my original post un-edited, but all the points I made are still valid.

I am using Google Chrome on a Mac to look at the hand records. It is possible that the ACBL web site is smart enough to use different fonts depending on the type/version of the browser and also the type/version of the operating system.

If you want to change a hand record page to use your favorite font, then, using Google Chrome, bring up the web page. Then

Chrome->View->Developer->Developer Tools

In the screen that comes up, make sure Elements is selected (it may come up by default). Click on the line

<body class=“page” style=“zoom: 1;”>

On the right hand side of the screen, make sure that Styles is selected (it may come up by default). About half way down, should be

header, body, h1, h2, h3, h4, h5, h6 {
font-family: ‘Raleway’, sans-serif;

Change the “Raleway” font to the font of your choice, e.g. Arial, Times New Roman. You may need to double click on “Raleway” to be able to edit it. The font should be changed in the main screen.

Making 5+ card suits have the same font size as the 1-4 card suits involves changing the font size in the span.long div which is around line 106 in game-results.css.

.board .hand span.long {
font-size: 13px;

Change the 13px to 16px. The span.long can be a little harder to find.

The hands now display using your font and with all suits the same size.

Then I went to hit Print. Oops. Looks like ACBL have yet to provide a print.css so although we can see the hand records on the screen, we can't print them.

The ACBL does appear to offer PDF files of some hand records, but they seem to be missing. I went to the last Sunday of the Las Vegas 2014 NABC, and when I click on PDF for a session, I get a message about “Not found”. Ah. It appears that only some are missing. I was eventually able to find a session earlier in the week that did have a PDF file. The PDFs are created by Ray Spalding's Bridge Composer and these do not have medieval digits.

The ACBL hand of the week, and hand records, both still use medieval fonts.
Oct. 1, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
I'm addressing various threads with this comment.

ACBLscore+ was the name of the ACBL project, and presumably the new name for the software. ACBL has all the code through May of this year, and has full rights to the code.

When ACBL announced in July that they were going to discontinue the ACBLscore+ project and the new system “fell short” of what members wanted I was in the interesting dilemma that the software had been used in Gatlinburg (April 2014) and was planned to be used at the Atlanta regional and other regionals. Everyone who had seen it seemed to like it - players, TDs etc. It drastically cut down the time it takes to start a KO and runs Swiss events faster, and this is but a tiny bit of the code.

As has been discussed previously, Hammond Software (HS) also has rights to the code. I never intended to release this code separately; it was only ACBL's decision that they were going to throw it away that caused me to create a derivative. I decided to rebrand it as Bridgescore+, added some enhancements that I wanted, but were outside the scope of the original contract. HS paid for some of the developers to continue working on the code to develop those features.

We ran it very successfully at the Atlanta regional. Typically with ~50 teams in a KO, we could get the table assignments out at game time, or one minute afterwards. i.e. for a 1pm KO, we had all the assignments up by 1:01. By comparison some of the KOs that were not started with the new software and the average time was about 12-15 minutes before the last assignment was up. Sounds small, but 200 people * 12 minutes starts to be a lot. It only requires one TD to start ALL brackets. The start of the KOs not using the software usually required 3-5 TDs. Those running tournaments can see the cost savings.

I was asked to provide the software for Gatlinburg for 2015. Gatlinburg sees huge savings with the software. Previously the last team is typically assigned 25-27 minutes after start time and requires ~13 TDs to hang assignments on the rack. It is quite dangerous with ~300 teams, or 600+ players each side of the air wall trying to read cigarette card sized paper with a table assignment. With the projector we had this down to 15 minutes, but there was a lot of overhead to make sure that we had a hot back with ACBLscore. Next year with the Tournament Chairs more comfortable with the new software, I'm expecting it to be 1-2 minutes after the last sale. There are other enhancements I want to make, but no announcements yet.

HS has put the Bridgescore+ software on the Internet for use by Districts, see for details. Five of the ACBL districts have been set up with their own password protected account and are now looking at it with another one interested. If you are in a District that might be interested, please send email to and we will get you set up.

The software was run in Naples, FL earlier this month. Same experience as Atlanta. Assignments are up at game time, or one minute after game time.

There is so much more that Bridgescore+ can do, but any roll-out needs baby steps. First step is very basic - getting users familiar with the software, how to use it etc. Very limited functionality for a first release. If we released everything at once, everyone would be overwhelmed. We decided to only use the part of the software that has the biggest immediate benefit, without impacting on ACBLscore. We are continually refining the process and screens through feedback from TDs, DICS, players, and even caddies (what's the most efficient use of caddies - it's an interesting one).

Bridgescore+ software is accessible over the Internet.

As time goes by, and the users become more comfortable, we will release more features.

Bridgescore+ has been used to start about 30-40 KOs. All of them have been started quicker than the current method.

The software is web based, so it is possible for TDs to access with tablets etc.

See for details.

I encourage everyone to see the Bridgescore+ YouTube channel at
You can see the various pieces of software in use. If you are curious on how something would work, let me know, and I'll add a new video. Already had one request that we honored.

A full release of Bridgescore+ is going to take time. You can't hire 9 women to have the proverbial baby in 1 month. One of the time constraints is real time use in tournaments. For example, running it in parallel at tournaments to see how it works real time, and get feedback from users. This feedback is then incorporated into the software to help improve the TD experience and cut down on user errors. If anyone is seriously interested, let me know and we will get you set up.

Sept. 26, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
All of these will need to be spec-ed out. Bridge allows a 3 way match for a single round, at least in ACBL land. Before you assign a match, you need to computationally prove that there is a set of matches available for the remainder of the event to avoid two teams playing against each other again. This is fine in theory. In practice, if teams leave early, it may not be possible. Which leads to a different set of problems. Anyways, there some specs to be written. I'll look at starting the project, this would then be a good place for further discussion.
Sept. 25, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
OK. I guess I need to create a spec, create a GitHub project, open source it, get comments on the spec and see what happens. I've got a couple of people interested in working on the code. It's on my list… I'm trying to create a sample GitHub Open Source project which is smaller in scope so that I can get people used to the concept of working on Open Source code.

For ACBL land, there is no formal spec. There is a document PAIRING.TXT in the documentation that is provided in ACBLscore. This is more a document on how to use the software, not a design documentation. I think I can provide the necessary definition to the problem, including expected input, expected output, how to debug. Need to figure out how to best integrate into Bridgescore+. The open source code needs to be stand-alone with sufficient code to test itself independently.

The ACBL design has evolved over time. It is a different formula that those used in other parts of the world. The advantage to doing something similar to ACBL is that the users are familiar with it; the disadvantages to it are that it is complex to use.

In ACBL land we have been accustomed to starting a new round while the old round is being finished. This would be hard for players to give up. It is much easier to do an algorithm that does “perfect pairing”, i.e. waiting for the round to end.
Sept. 25, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
Agile means many things to different people. It's more than just having a meeting standing up. For ACBLscore+ we had developers in 2 countries, 7 states. Regular F2F meetings were difficult. Customer and ACBL BOD were widely dispersed. Testing sites (tournaments) similarly. Therefore lots of use of Internet tools.

From something I posted at which is a detailed response to all the various postings on this page.

As a PM, you look at the project, you look at the resources, you look at the customer, and decide, based on experience, what the likely best approach for the project is. It most likely will be a variety of techniques. As a PM you learn that certain people don’t work well in some environments, then as a manager you work out how best to utilize their skills. Some of PM is a science, but there is also an art to it. In other words, it wasn't all Agile, or all of something else, but a combination thereof. Anyone who has managed a group of people quickly learns how to try to get the best out of everyone, this often means treating people differently. You may have to track things differently for your customer than you do internally (this is a general comment, not necessarily specific to this situation). It also means that if an approach isn't working, you try to find out why, then change the process if that is what is needed. Same applies to those that have managed a software project. There are general principles to follow, but how best to follow those principles will depend on the situation. You have to be willing to adapt. It's more than just the 5 typical headings of Initiation, planning, execution, monitoring/control, closure.

Old is a relative term. Trying to find experienced developers that are Subject Matter Aware (SMA), i.e. bridge players, that are available, skilled in modern tools is harder than you think. Some are posting to this site, but most have full time jobs elsewhere and would not be willing to work on a 2 year contract with no long term prospects once the project is over.

I'm probably going to see if we can open source the parts of Bridgescore+ that still need to be done. See for a list of projects. It looks like there is sufficient interest to start the Swiss Teams code - I just need to write a spec and get it posted. Once I start carving out the Open Source pieces, I will post something to BW. There are other projects, for example, I really would like to find someone to work on the Masterpoint assignment/eligibility code.

Re: Get's used for Unit level masterpoint tracking by event for the local trophy races.

This is an example of the closed nature of the ACBLscore game file. There are ways of doing what you want, which vary from scraping to binary analysis of the game file to the gf tools (see for description). Bridgescore+ has an “import game file” utility, it also allows you to write your own SQL queries against the underlying SQL DB (yes, I'm aware of the security issues). It could be done that way. Long term your request is something that would best be handled by an API to the main ACBL DB, but this may be a while. Medium term, some combination of the ACBLscore game file and the Bridgescore+ tools is probably what's needed. But… I'd much rather see the missing pieces of Bridgescore+ completed so that a transition can begin. The critical path item at the moment is probably the masterpoint assignment/eligibility document and the necessary testing of the code that needs to be written once that document is complete. Any takers?

Sept. 25, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
Guess we are all experts in this area! I've done some cryptography work for some of the TLAs in my past. Sufficient entropy (randomness) (2^96 for Bridge hands) is needed. Once you have this number, it needs to be mapped to the set of possible bridge hands. Both Pavlicek and Andrews have published formula for this. See and

More importantly for a given set a boards, starting with a random board 1, then using a PRNG to create board 2 (and subsequent boards) is flawed. You need entropy for each deal. It can be difficult to introduce entropy to a stand-alone computer.

Bridgescore+ uses Bigdeal/Bigdealx from Hans van Staveren, see, for creating hand records. Bridgescore+ uses the BBO HandViewer to edit hands (for example, in a shuffle/play club), also very useful for teaching.

There is a YouTube video of Bridgescore+ creating a new hand record set at

The YouTube video for editing hands is at

I will probably start supporting generating of hand records with the next release of Bridgescore+. Code is there, has worked for some time, just a question of making sure that all supporting documentation/help is in place etc. I want to add a couple more logos (e.g. USBF/WBF). Possibly add support for your own logo (e.g. your club logo, other NBO logo) in a subsequent release.

Sept. 25, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
It would be a requirement that you could do matching when only some results were in for a round. Same as ACBLscore. Basically mimic the current capabilities.
Sept. 23, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
It's ACBLscore (lower case ‘s’). You will have to define “export”. What do you want out of the program?
Sept. 23, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
I'm getting comments/questions from various places. I updated the post at
to reflect answers to some of the above questions and also answer some comments from elsewhere.

Search for “September 22” on this web site to see the updates I posted today based on some of the questions above. They are at the end of the post.
Sept. 22, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
Let me provide some political and technical background.

I'm the CEO of the company that did the ACBLscore+ work.

For more background information, see my post on the “Why Did the ACBL Abandon ACBLscore+”
The URL is at

There has been long term resistance (3+ years since I have been involved) for ACBL to open up ACBLscore or ACBLscore+. Obviously I can't speak for ACBL but other people have asked, or have asked for information on the game file, and the answer has always been no. I do see ACBL's side of this question and though others may try to get ACBL to change their mind, it is still likely to be “no”. Remember, millions of dollars flow through ACBLscore, there is little incentive for ACBL to want to open it up. There are some strong reasons to not open it up.

Matthew Kidd has written up a description of the Game File. I see that he recently updated this description. I am aware of one other effort where someone has successfully reverse engineered the parts that they wanted. In this case, the person who did it is aware of the ACBL stipulation against reverse engineering and specifically is not going to release their code. Their work was very clever and interesting, but it is not something they are ever going to share (they use it to do some very clever things for the games that they run). I know you will be intrigued, but I'm not going to give more information.

There is a tool that extracts all the data from a Game File. We, Hammond Software (HS), wrote it about 2 1/2 years ago. It is written in C, runs on Mac/Unix/Windows, it reads the game file and outputs in two different versions of XML, it can also output some results in ACBLscore format. It also has various other output options, for example this tool “gf” is used to generate the information necessary for Fast Automated Results (FAR).

The first version of XML that gf can generate is known as “ACBLscore XML” or “Ugly XML”. I call it ugly, because no-one should ever see it! The second version of XML was used to help a developer create some smart results pages. This was demoed at the Memphis NABC in March 2012. The results output were smart Javascript pages that allowed you to look at all results very quickly.

The “gf” tool has lots more abilities - it can read an ACBLscore XML file and create a game file from it. In other words it goes both ways.

From Bridgescore+ we can generate an ACBLscore XML file, then use the “gf” tool to create an ACBLscore game file. This is how we provide backwards compatibility. We may lose some information but the process works. Needs more testing, particularly of the more obscure game types, but it has worked for 2+ years.

Many people have asked for this “gf” tool over the last 2+ years, but ACBL has been steadfast in not releasing it. Either the source code, or even a web service to access it. For example, it would be very useful to companies that do results, or merge BWS/DUP/AC? files to create results. I do not plan on releasing this tool, but it is a component of Bridgescore+.

The “gf” tool was a lot of work to write (and debug). Pascal has various formats but Matthew has identified most of them.

Going to/from BBO LIN format is possible. In some cases Bridgescore+ does that.

For testing, Bridgescore+ imports a set of ACBLscore game files from a tournament, re-scores them, re-ranks them, re-masterpoints them, then outputs the results in ACBLscore XML file format (Bridgescore+ has its own XML format). Comparisons can be made between the ACBLscore XML format from the original game file and the output from Bridgescore+ to verify that the re-score/re-rank/re-masterpoint tools worked.

I know how much work was involved to create the “gf” tool, but probably inappropriate for me to release that information.

There is reference to a p*ssing contest. This is not the case. ACBL/HS were unable to negotiate a new contract. It is simple business. I've documented the reason. No hard feelings from me. Please don't try to imply otherwise.

Talking to ACBL's backend is far, far more complicated and complex. This is not likely to be something that can be politically achieved. The various *.DAT files (look in C:\ACBLSCOR) are fairly simple to reverse engineer, but would take some time. Again, Bridgescore+ has these tools (we simply call them ‘acbldat’). acbldat outputs in necessary formats for debugging, e.g. CSV, XML, pretty print etc.

I listed on the Bridgescore+ web site some areas of code which I would like to see open-sourced.

The first is software to determine the next match(es) in a Swiss Team event. This is a sufficiently hard problem that multiple programmers could be involved. It is sufficiently simple that we could see if trying to create open source software would work. As I stated elsewhere, I am happy to provide details of what the inputs would be (i.e. the format), and also the format of the output. Everything would be self-contained. I'd like to see some people volunteer for this. We would ask them to report back on the status so that we can an idea of how well everyone can estimate development times and see how Open Source would work.

The reason for wanting to do Swiss Teams is that this is something that ACBL could also use if they chose to do their own re-write. Code would be available on the MIT license. I have previously offered to set up the infrastructure, but I want others to manage the project and work in an Open Source way. As Ross pointed out, making it Open Source, does not mean that the work gets done!

If anyone is interested in being a developer (I have other Open Source projects I'd like to see get done), let me know.
Sept. 22, 2014
You are ignoring the author of this comment. Click to temporarily show the comment.
I'm the CEO of the company that did the ACBLscore+ work for ACBL and also the main architect. Rather than flood this page with a lengthy reply, we have posted something at

It is rather long. It will be easier if you have a copy of this page open in your browser at the same time for context. Hopefully this addresses some of the issues that people have raised.

For those that have offered to help, please read the link. We are happy to provide an outlet for your talents.
Sept. 21, 2014

Bottom Home Top