Join Bridge Winners
All comments by Larry Lang
You are ignoring the author of this comment. Click to temporarily show the comment.
I have a different attitude on this. If you hear something at another table that you can't flush out of your mind – call the director immediately. That's the only honorable thing to do. It is required by the rules. And it eventually resolves the problem.
Personally, as a playing director, I have the ability to “flush” anything I hear or see, unless it's really gross (like on the very next board I play). Then I take a no/play if directing, or insist on an average plus if not directing. It's pretty easy (for me).
Those who can't compartmentalize memories, should do the rest of us a favor and call the big mouths to task.
Jan. 18, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
There are 2 types of Bridge Players (maybe more). The first type likes to play 27 boards of bridge as fast as they can. They don't like to see the results. They tell you it is best to talk about the boards after the game is over. But for the most part they go home immediately and don't discuss the hands with anyone. And they've forgotten them by the next day. I don't want to insult anyone, but they remind me of little old ladies you sometimes see at Vegas playing the slot machines with buckets of quarters. It's a habit, and they don't seem to have much fun. If you show Bridge Mate results to these people, they won't like it, but they'll come back again, even if the director tries to set them on fire.

The 2nd type is newer to bridge, and still partially in awe of the game. Each hand is an adventure, and they like instant feedback. Just like in pinball or a video game. They don't expect to win, but seeing results right away, before they lose interest in the hand, helps them to learn and have more fun. Put them in a Barometer Pairs Event, and they are in hog heaven. If they don't learn, and can't have fun. They won't be back.

In my opinion, if you are a Club Manager, and if you want to expand your club attendance, you have no choice.
Jan. 18, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
Reminds me of a personal story. A friend and I discovered Bridge in College. We looked in the phone directory and found 2 different Bridge Clubs.

We showed up at the first club. It was run by Seniors. They loved us, everyone was very nice, and we had a nice time.

The 2nd club we visited was an ACBL club. We peeked into the door and looked at what appeared to be 5 tables of slovenly jerks with too much testosterone. My partner said, “Let's go in there and beat those assholes.” We never returned to play with the Seniors.

Different people play for different reasons.

Jan. 8, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.

It is complex. We like to see our names in lights. Ideally we are happy for the success of others. But sometimes our competitive instincts get in the way. We like awards and milestones, but in final analysis, it is all absurd, and we know it.

So, no. I don't think people are dissing others. I think they are partially making fun of themselves. And smirking at how easily humans can be manipulated by goals that were set by others.

Life Master means “I paid a lot of money, and I've played a lot of Bridge.” Any natural talents which propel us to that goal more quickly are gifts from God, and are not a reflection of our inherent goodness as human beings.

If I happily choose to compete against someone, I praise them as a worthy adversary. That's all they need to know or care about. Master points are just icing on the cake. Those who become too devoted to emotional sugar eventually get sick.
Jan. 8, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
I apologize if I offended you. I was mostly smarting off, feeding of the word Coprolite and making fun of my personal reading habits.
I think the new awards are fine, and I agree with them in principle. I prefer the term “child like” to “childish” but whatever. The names of the awards seem higgly piggly to me. But I realize they were driven by historical precedence.
Jan. 8, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
I have no idea what Coprolite is. And after reading Peg's post, I don't think I'll bother looking it up.
But I am looking forward to the day when I can become a Crapolite Life Master. This is for Life Masters that studiously read the Bridge Bulletin in the bathroom, until their spouse nervously knocks on the door wondering if they've fallen into the toilet and drowned.
Jan. 8, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
I just got promoted from Gold to Sapphire. Isn't it supposed to be the other way around?

Still, I approve. We need a ranking system for the many that gives a slight bump just for attendance. Anyone who is willing to learn Bridge at the age of 50 or above needs to be recognized – simply for showing up. They deserve the recognition much more than I do.

Another separate rating system is appropriate for those who are truly exceptional at Bridge. And, we sort of have that, although the ACBL could be a bit more up front about it.

Everyone reminisces about the good old days when master points meant something. But if I recall correctly, Barry Crane was the King of Bridge back then, even though everyone knew he would flounder in international competition.

In some ways, the current system is better.
Jan. 7, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
Jim Fox,
That would be very helpful.

The number one problem with Lopushinsky code is that there are all these global variables and global subroutine calls, and the poor reader has no idea where the variables and subroutines are located, of what they do. It can take half an hour (or more) to track one of them down.
Jan. 6, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
Jim documents them in two ways.

He writes (and retrieves) from the data files using “Records” which are basically a “structure”. Everything in Pascal must be declared up front. So when he declares the structure of the record, he has little comments beside each field, and he also declares how long each field is.

You can get a pretty good idea of what is in each field by looking at the structure of the record, and reading Jim's sparse little comments. If you have any questions, you can back track in the code and see what types of values he writes into each field. But extra work might only be needed for one out of 15 fields.

He was also good about declaring all string constants together. So for example, if you want to see all the different types of ACBL games that are known to ACBLScore, it's there, in one list, and it's very obvious what each type of game is. The rules are not so obvious, but they're kept in a table as well, which isn't quite so obvious to interpret. But you could figure it all out if you have enough time.

Also, there was an entire directory sent over called DOC. I looked in the directory and there were about 50 text files. Each text file describes some aspect of the program. It isn't always obvious from the name of the text file what it will talk about, but most of it is very good stuff. One text file will talk about movements, another lists types of games, how to compute master points for every situation possible, and so on. Much of the information is in tabular format.

When I was programming, we often wrote “technical documents”. They provided an overview of all the code so that you could quickly get to the section you're interested in. Unfortunately, there was nothing like that. So everything must be found by manually searching through literally thousands of files.

If I was ambitious, I would have pasted everything together in one file. Windows 7, at least, does not have a reliable tool for searching for strings throughout 1000 or so text files. They claim to have one, but it doesn't work. I was too lazy to come up with my own solution. But if I was super serious, that would be one of the first things to do. Or I could get more info from ACBL and load into a debugger, and then everything becomes obvious.

“Who cares if we piss them off?” :) I've often felt that way and acted that way, but one person on the technology committee warned me to be careful or I might be sued.

There was a web site that posted the entire structure of the game file (I'm not talking about Kidd) and I heard a rumor that this person ended up talking to ACBL lawyers.

Jan. 6, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
This is one reason I would like the ACBL to open up their code for ACBLScore that is not sensitive. At least we'd all be looking at the same thing and could talk to each other using the same language.

The “rules”, as ACBLScore knows them, can be teased out of the code with some effort. Jim Lopushinsky actually did a pretty good job of documenting the file structures, if you know where to look. But still, there is a lot of code, and a lot of the puzzle must be put together piece by piece.
It would be a lot easier if we could get ACBLScore in a debugger. Then we could double check that the file structure is indeed what we think it is.

It would be much better if ACBL would just provide a write up on everything they know, but I suspect they don't have one, and are relying on ACBLScore as their reference document.

They/we could just accept ACBLScore, as is, and write code around it. We could document the file structures (although this would piss off ACBL) and create a 2nd program that surrounds the first. Some users would use ACBLScore as is.

But if a user wanted to get fancy, he could put the new module beside ACBLScore, and activate the new application, which in turn would activate ACBLScore from about 10 different entry points in the ACBLScore program. Some entry points can receive command strings as messages that ACBLScore will follow.

The main menu could be cloned in the new application (2,000 lines of ACBLScore code would shrink to about 40 lines of code because the ACBLScore GUI code is old and verbose). We can add extra options in the main menu. The new application would know how to pull data out of existing ACBLScore data files, and how to push new data in.

With this approach, we don't need to know the “rules” until we are ready to deal with them. We just let the old ACBLScore do it for us.

The new application can gather and make data available (per Greg Humphrey's wishes) and we can translate the data into whatever format seems easy to use.

We can let the new module run Swiss teams via Bridge Mates, and then stuff the results into existing ACBLScore files, and let ACBLScore report results back to ACBL.

The new module could use “One-Click” technology. Each time the new application powers up, it could check for updates. It could also update local master point totals on a routine basis from the ACBL without active intervention, if we desire.

We can list contracts on the recap sheet if they used electronic data entry. We can combine BridgeMate/BridgePad info with ACBLScore data.

We can replace each and every ACBLScore GUI with a new one, at our leisure. We can take advantage of the core scoring code and movement and masterpoint code and stratas, ad nauseum, which are already written. We don't have to know “the rules” but it would be a good exercise to double check them as a favor to us and the ACBL.

What would have been really helpful is if the ACBL had sent out enough information and binary libraries that would allow ACBLScore to be compiled and put together on another computer. It can't be that hard. They do it. They just didn't ship everything they have.

I could probably do it myself, but once again, it would take months. Why should I have to do that? If ACBL is determined to make me work that hard, certainly they will find a way to defeat me later on.

Then we could add additional entry points into ACBLScore, when badly needed, and we would have a sensible refurbishing effort that would not be a logistical nightmare.

Instead of a big bang $2 Million dollar investment, we go for low hanging fruit first, and pay for it as we go. If it doesn't work, we stop early with a much smaller loss.

The 2nd application will work, even if we don't get cooperation from ACBL. But it would be much easier if they would not be so obstructive.

Also, when you try to help someone, and they spit in your face, it really dampens morale, and ultimately defeats the project.

Jan. 6, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
I have never called Mitch to task. I have only offered to help out.
However, I suspect Hartman and many others know how I felt about the RFP and that has probably poisoned the relationships of people I do not even know.
Jan. 6, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
Hi Don,
I have sent several Emails that I sent to Mitch Hodus and company. He has not replied. They have a special garbage can at ACBL Headquarters that pops out when they receive Email from Larry Lang. It sucks up the electrons and dumps them into Horn Lake.

The last question I asked was, “How much money would you pay to get an ACBLScore rewrite with the following attributes —-”. I sent the note out Sunday, so perhaps he's still thinking about it. But I doubt it.

Give me 3 weeks to investigate an idea I have. We might be able to establish an open source project that will at least get me what I want – A chance to crank on the data that our club generates.
Jan. 5, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
I seem to remember a follow up scene with a lone night worker transporting one of 8 million crates down an aisle in a warehouse that is 2 miles long. These things scale up over time.
Jan. 5, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
In a well received posting, Bob Heller laments about how the Denver turnout was below forecast, but predicts they'll make it up over the next 3 National Events. Okay. Fair enough.

Then he writes the following. I'm not sure exactly what he is saying. You'll have to interpret it yourself.

“Wanted: Revenue

The 2016 operating budget, showing an excess of expenses over revenues of $61,534, was presented to the board. No one wants to deal with a budget starting in the red, but after the whittling of expenses, altering and looking at different scenarios on how to make fee increases the most fair for the most members, this number looked pretty good.
We have been committed to improving the caliber and professionalism of our directing staff, and on-site training and weeklong “Tournament Director University” sessions at Horn Lake cost money. We are all too aware of the outbreak in cheating accusations. Purchasing equipment and paying staff to monitor competition at NABCs costs money. We have no choice.
More talk about finances and the budget from Reno.
The operating budget was accepted 23-2, the capital budget of $339,000, unanimously. The budget is not officially voted on until Reno.”

That's interesting. I was talking to an ACBL director who felt the director training sessions were a waste of time and would bankrupt ACBL. Different strokes for different folks I guess.

I originally predicted that the “great sucking sound” of members moving from the Bridge Table to the nursing home at a steady rate of about 5% a year would start in 2017. But in my neck of the woods, I got it wrong. It has already begun. We're down about 5% in membership this year, and as best I can see, it will continue at an accelerated rate each year after that. Every other club in Eastern Wasthington is facing the same problem. Don't tell me to get out and kidnap 3rd graders to play Bridge. I've done my best at recruiting and teaching. As best I can see, the well is now dry.

If ACBL costs will exceed revenues by $61K next year, and each year after that will be worse, where do we come up with the next $2M to take a chance, and risk more money to develop ACBLScore+ – again? Ain't gonna happen. I can only see one scenario – ACBLScore+ RIP (rest in peace).

The ACBL could do better for less, but they wish to “control their destiny”. They are sequestering all information that would allow outside developers to help. I signed a non-disclosure agreement, and so I can't, in good conscience release what I have. The fact that I would be risking a law suit is not particularly comforting either.

There is a scenario, where outsider developers could develop software to run in parallel with the old version of ACBLScore. The new software would read and write to the old database structures until it finally got big enough to stand on it's own. It would grow incrementally and eventually replace ACBLScore all together.

This approach would be incremental, cheap, and would allow new features to be added as old code is refactored out. It also would allow for cheap testing – using the old ACBLScore to provide testing for the new version.

Unfortunately, this approach requires cooperation from the ACBL, and it just isn't coming.
Jan. 5, 2016
You are ignoring the author of this comment. Click to temporarily show the comment.
Fair enough. I'll try to wrap up my take.

I never could have been awarded the contract. I don't know anyone at ACBL HQ, I smelled a rat, and I don't play well if I feel I'm being set up. Not only that, I wasn't hungry for it. I was just trying to be helpful, because I thought our team was a perfect fit.

When I got the RFP material, I thought, “Oh, this is just preliminary until the project is better defined and the ACBL gets a better handle on what they really want.” And that's how we wrote our proposal. “Come on ACBL. If this is serious, this is what we recommend, but don't we need to talk about it more – first.” Once I learned they were serious, and thought they had the project defined, I knew the project was bad news.

Once again, I'm not criticizing you, so much, but the ACBL should have thought it unseemly to award the contract to someone who wrote 268 pages of the RFP. Sorry, I feel this to be totally inappropriate.

COCOMO scales predictions based on project size, project type, and other factors. Size of the project was factored in.

When I said 10 modules, I meant that ACBLScore as presently written consists of approximately 10 executable modules (at least on my machine), along with many other library files. I was not implying that I would architect it that way.

The RFP said, “Must be done by end of year.” When you signed the contract, I believe you had something like 3 months left. How can the ACBL say the RFP was appropriate when the most important specification – date due – was a lie?

If the ACBL didn't like Object Oriented Pascal, they should have said so and not wasted my time. They wrote the RFP leaving Object Oriented Pascal as the only option, and then said, “We disqualify you because you claim Object Oriented Pascal is the only way to get it done in time.” &^%$#

But here is the real take. In my opinion, and I feel very strongly about this, the project was doomed to fail the day you signed the contract. Not because of you, but because of your customer and the way the contract was structured.

I knew exactly what was going to happen, and I live in Richland Washington. I almost knew to the month when the “big announcement” would be made.

How did I know your customer was bad news? By the RFP. It was clear they thought all they had to do was hand you a working version of ACBLScore and you would do all the rest. This sounds great in theory, but as you probably soon recognized, they must be involved, in a thoughtful, engaged, and reasonable manner, or the project will fail.

Yes, you did a lot of writing, and I remember going through all that material. But the bottom line was, “Clone ACBLScore so it's better, somehow, maybe, if you can do that for free, and make it run on the MAC.” These were the only items that would have a strong “presence” to users. And regardless of what the CEO says, if you don't get positive sentiment among the masses within 6 months to a year of starting, you're toast. It doesn't matter how good you're performing under the covers.

There was no way you could succeed. Let's say after 2 years, you release a copy of ACBLScore that is better, but is different. You will get resistance no matter how good the GUI is. Then you say to them, “It cost $2 Million, but look it runs on a MAC. We know you have lots of complaints, but give us another year and another million and you'll like it better. And, as an added bonus it does knockouts pairings and works with SQL.” Do you think the average club manager will greet this lovingly?

If you thought the tournament directors were tough – just wait. We're talking about human beings here.

If the ACBL offered you $2M to work on a doomed project, and you accept it, do I blame you? No. Am I happy? No.

I believe that part of the reason that he ACBL failed was lack of transparency. If they had been more open about what was going on, alarms would have been sounding all over the kingdom.

They may be getting better about opening up, but I think they have a lot further to go

Dec. 15, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Once again, please don't take this personally. I have no hard feelings toward you.
As part of the scoping process, in our proposal, we ran the number of lines of code through the COCOMO algorithm. We went through the calculations, and stated that although COCOMO predicted $600K, we thought we could do it for much less, because of Goodwill, a talented team (one PhD, 3 with Master degrees (EE and SE), extensive domain knowledge and Delphi experience, GUI expertise, SQL expertise, refactoring experience with parallel computing – and we could team with a local company that specialized in Web based applications if necessary. I find it ironic that we would be disqualified because we said, “These are the lines of code, these are the costs predicted by COCOMO, but we think we can do it cheaper, because we know your business, we know the source language, we are willing to refactor, and we are willing to do this for less than the standard rates offered by most software houses.”
You wrote the technical part of the RFP. In my mind, there were only 2 technical specifications 1). The database must be SQL, and 2). Development tools cannot cost money. These are the two things that you claim you did not specify. So what parts of the RFP did you write? Perhaps I've forgotten, but those are the only two items I remember. The rest of the RFP said, ‘Must be compatible with the ACBLScore, and must run on a MAC.“ I don’t consider those items to be technical specifications.
You are damn right, ”ACBLScore is a complex piece of code“. And I feel, that if you accepted ACBL requirements as they were probably laid out to you (and I'm guessing), you were in a no-win situation. But that's not my problem. I strongly believe that if the ACBL had performed cost/benefit analysis, they would have reduced their requirements and gotten to a good starting point for $500K or less.
How were people treated in the RFP process? Miserably. There was no response as to why we were rejected. But more importantly, we were not given the opportunity to validate our claims, or to revise our proposal to satisfy the unstated assumptions – 1). Object Oriented Pascal is unsatisfactory, regardless of cost or schedule and 2) maybe the new ACBLScore does not need to be completed in 9 months.
”I suspect that the ACBL did not want to maintain anything in Pascal.“ This is the part of the RFP process that I find ”most understandable“, and also ”most outrageous“. But my primary point is, ”IF YOU FEEL THIS WAY, STATE IT IN THE RFP.“ First of all, we are talking about ”Object Oriented Pascal“ – not Pascal. We are talking about a language that supports objects, pointers, GUI components, one of the best GUI IDEs in the world, and just about any other attribute associated with modern languages – except it has several quirks. First, it is verbose, actually making it easier to maintain. It is a mid-level language, whatever that means. But my biggest problem, all declarations must occur at the top of the source file unless using advanced techniques.
Object-Oriented Pascal is best read from bottom to top, which I admit is very annoying. Frankly, in this new modern age it would not be my first choice. I would look at productivity studies, and choose VB.NET first (a truly awful language), maybe Delphi second, and maybe C# third. But the ACBL did not say, ”We are bigots about Object-Oriented Pascal, and we don't care when ACBLScore is done. Please submit an updated proposal.“ We heard nothing at all – except later, ”The deadline for new proposals is past, so please don't send us any new proposals.“

Perhaps our bid was ”too low“. What can I say. We knew what the basic scope of work was. We had the source code. And we knew if the ACBL was to cut out the superfluous requirements, such as DOS, floppy disks, memory management taken to a bizarre extreme, and ”macros“ we could do it for less than $300K. Not only that, even if they left it in – we could still do it by using cross compilers, and code translators. The cross compilers and code translators would not take the ACBL where they wanted to be, but if they insisted on silly requirements, we could grant them their ”Faustian“ bargain.
My attempt at re-writing an ACBLScore module was my greatest adventure into miscommunication with Bridge Winner readers, but I suspect you have faced similar frustrations yourself. So let me explain.
The first of 10 modules in ACBLScore brings up a ”splash screen“ that announces, ”This is ACBLScore and if you attempt to re-engineer this program, you will die.“ Okay, so far so good. But the User must click ”OK“ to proceed, and this seems excessive to me. Why can't we just look at past ACBLScore history, and if the user appears to be a Club Manager or Club Director, just show him a small list of previous club games that he can correct if there is a problem, and give him a button to start a new club game? This saves several key strokes.
There are several problems with the existing ACBLScore. First of all, although treated as a splash screen, the ACBL introductory form is not really a splash screen. A splash screen pops up with some elaborate pleasing graphic, and essentially says, ”Working“ until all loading of data and subroutines is in place. Then, the main screen pops up – offering a review of past games that perhaps need correction, along with a button to start a new game. The ACBL ”Splash Screen“ is an overly didactic warning message that won't disappear until the user presses OK.
Heck. Delphi is very fast (no need for a splash screen). I can delete the splash screen and bring up the main screen in record time. I don't need to ”chastise“ people about reverse engineering the program and make them press OK. I can just move on to the equivalent of the 4th screen in ACBLScore, and save several keystrokes for the user, and delete perhaps 300 lines of code and about 6 source files (depending on how you look at it).
The problem is, I need ACBL consensus to do this. I need them to agree that they don't need a banner telling users that they will be prosecuted for misdeeds. I can easily save $1.5 Million dollars and cut down the code size of ACBLScore by 80%, but it doesn't matter if they don't agree ahead of time.
If I can't get the ACBL to tell me what their rules are for assigning master points – I'm helpless. As you were. If I can't get them to cooperate, I'm done. I'm toast. We can set up the most elaborate Open Source site in the world. If they won't cooperate – we're toast.

Assembler has never been a problem for me. At Battelle (Pacific Northwest National Laboratory) one of my last projects was to write a program that simulated ever single instruction of the Intel x86 processors and the host computer (more than 1,000 basic instructions).

I don't want to get into a pissing contest with you, trying to prove who has a bigger – ”gun“. I can tell just by corresponding with you that you're smarter than I am. But I have a wealth of experience that you don't have. And my associates have more depth than you will ever have. More importantly, I'm willing to back up my claims with real delivered code, at a pre-agreed price.

From the very first, you have been very clear. ”Write code for me, and I'll give you credit for the code.“ I don't hold this against you, but I hope you'll understand when I say, ”No way!“ You get paid, and I get my name buried in the source code? Ain't gonna happen.

And here is another aspect where we don't seem to see eye to eye. I see thousands of clubs spread all across the US with aging Club Managers. I want to write code that makes their life easier. I don't care about knockouts.

I see Tournament Directors that are, for the most part, bored out of their skull. This might be because I mostly play at Sectionals in lower population areas. But I suspect Sectionals are 4 times more prevalent than Regional tournaments, and so on. I don't care about projectors with Swiss pairings, until we satisfy the clubs, who can't even hold Swiss Team events with Bridge Mates.

If you think that Tournament Directors should be able to learn Excel, I couldn't agree more. Why are we re-inventing the wheel here?

I see our differences as one-dimensional. You represent a ”software house“ that must be paid going wages to survive. To compensate, you offer certain guarantees of ”professionalism“.

I represent a group of programmers that have a love of Bridge and offer the best deal possible – with no ”professionalism“ what so ever. Agile Programming is our model. For every one month period, we will deliver product that the ACBL can take to the bank as ”a good deal". Our model is, they can terminate our agreement at any time, and pay us what they owe. If both sides are not completely satisfied, we've done something wrong, or they are crooks.
Dec. 14, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Your Question brings up 2 more gripes.

When the RFP was sent out, each possible bidder was given a pile of files that contained most (if not all) of the source code. We were sworn to secrecy. Many people are making judgments about the code and have no idea what it looks like because of the ACBL's tight fisted approach. There are many talented people, at Bridge Winners alone, who could look at the code and make suggestions and actually have an intelligent discussion about possible solutions. But not if it remains hidden.
Others might look at the code and say, “Hey, I could write a module that would do this and this.” But not if you can't see the code.
The pile of files we received were almost totally undocumented. I had to look at the executables on my version of ACBLScore just to figure out how the files might have been linked together.
Of course, none of us had a debugger or any explanation of the program philosophy, so we had to guess what the code did even though it was totally undocumented.
We are talking about maybe thousands of routines and thousands of source files with maybe 50 global variables and subroutines each, with no mention of where the globals came from or what they do. There were no descriptive headers for any of the subroutines. No outline of how the source files related to each other.

The first thing we would have done is to “Lay the program flat”. This means you take the whole mess of routines, and use a Perl script to lay them out ordered by how they call each other in a hierarchical fashion. And where-ever a routine is called a 2nd, 3rd, or 21st time, you put in a hyperlink to refer to where the first call is shown. Or you can use a debugger to accomplish the same thing, but it takes more time.

Would there be thousands of paths? Absolutely.

ACBLScore consists of about 10 stand alone modules that call each other. You can envision them as like executable programs that call each other or like DLLs – whatever suits your fancy. Each one compiles separately. I think they were broken down so that when working on a specific module the compile time is greatly reduced. Object Pascal compiles very quickly anyway. Faster than C#. The normal practice is to compile in debug mode for debugging, and then when ready to release the code, compile without the embedded debugging information, for the native computer and operating system, whatever they may be.

I could compile them on my computer using Lazarus – an IDE for Object Oriented Pascal/Pascal/Delphi if I wanted. But, I would have to get all my libraries in order, first, so the compiler won't choke on an incompatibility.

We have no interest in selling software. We do software and let others own it when we're done. But certainly we would want to keep a copy for our own use – although I can't imagine what that would be.

We're just a bunch of dead beat software engineers that play bridge and we work (or did work) for Battelle (Pacific Northwest National Labs). I'm retired because I'd rather play Bridge. We've done a lot of coding and built a lot of applications, and distributed a lot of systems, but we are not a software house.

The simplest approach would be for the ACBL to open up the source code (except for parts which probably should be kept confidential) and then there would be no copyright or ownership issues.

I'm sure that part of the reason we didn't get the job is that we really don't care. We saw an opportunity to save ACBL a lot of money, and it looked fun. But we certainly won't starve. (Far from it I'm afraid).

However, if a couple of us are going to make a commitment to working day and night for 9 months, by God we're going to get paid something. That's how all of us feel. The ones who are still working would be helping out on weekends and nights, more as a hobby.

That brings up another gripe. Does the ACBL really think anybody will compete with them for owning the software? They have the inside track on almost everything the program does. They can change one little master point rule, and wipe out any existing competitors. I would be very surprised if a competitor tried to pirate the program. ESPECIALLY THAT PROGRAM. Here they are protecting it while simultaneously claiming that it belongs in a garbage can. I sort of agree with the latter.

Dec. 11, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Indeed we have discussed this all before, but your remark misses the gist of my complaint, which is lengthy, but here goes. You sort of asked for it.
By the way, I am not necessarily criticizing you or anyone in particular, I am criticizing the RFP process that was put in place. And I suspect you had quite a bit of input going into the RFP. If that's true, you do share culpability, but that's just an educated guess by me
I can do Google searches, and your name was all over ACBL Minutes that were discussing ACBLScore development even before the RFP was released. From a distance, it appears as if you were the golden boy at that time, could do little wrong, and were practically a shoe-in to get the contract.
I also have recollections that are pretty foggy now (it's going on 5 years now?) indicating that you wrote portions of the RFP.
Here is another guess. Baum didn't really want to release an RFP, but the Technology Committee at that time pointed out that an RFP was required because of the ACBL Charter.
I would never expect to win a proposal from people I don't know, but the RFP was released as if the ACBL really was serious about hearing from many different voices. But from the way were treated during the proposal process, I suspect it was mostly a sham. You were the guy, even before the RFP was released.
That's okay, it happens all the time, but you would think the ACBL would show more respect for their members time, and be a little bit more forthcoming.
What really frosts me was a key requirement that the project be done at the end of the year. We wrote our entire proposal around that requirement, assuming the ACBL was honest. If they changed their mind, they should have run a 2nd RFP. The ONLY way we could see to do it was to cut out all of the DOS, ancient memory management stuff, floppy disk crap, translate some of the code, BUY a good debugger and perhaps some apps that translate code, cross compile, recompile, use the simplest data base possible (SQL is okay, didn't really matter to us) and yes, Object Oriented Pascal does cross compile to the MAC and several other platforms as well.
You need to understand, this is the kind of thing we do. Two of my team members restructure code for parallel computing. I'm an old Delphi (Object Oriented Pascal) SQL guy. We are very good at slashing, paste and copy, and turning bad code into very readable good code. Perhaps we suffer from too much paste and copy, but the code is still very readable and easy to maintain when we're done.
If we took the requirements literally, we thought we could do it by the end of the year for $100 to $300K. We would give back code that would be easy for the ACBL to maintain.
But we would need about a month or so and some seed money, perhaps $20K, to buy the development tools needed and give it a whirl for at least one of the modules. The initial exercise would tell us a lot about what to expect. There were several possible approaches and we needed to do a little bit of experimenting.
In the time you and Hartman were still negotiating, we could have been 2/3 done.
Admittedly, it's not all that simple. The subroutine libraries have changed over time. But Delphi and Free Pascal, and the Lazarus project have done a remarkable job of documenting upgrade paths and indicating how to replace older visual components and software libraries, from the original Pascal, to older Delphi, to Free Pascal, all the way to modern Delphi.
Everyone who has looked at the code has said, “This is impossible”. And if you try to read the code as written, it is impossible. But I think I can explain that. Get a debugger, step through the code a few times, and all of a sudden the spaghetti like code begins to make it's own kind of sense. Trying to read incomprehensible code is entirely different if you have the right tools. I wonder if the people who previously looked at the code had the right tools at their disposal.
I didn't expect the ACBL to take us at our word. I expected a second round in the process, in which all the proposals were put side by side for cost comparison and fact checking.
I would have welcomed the ACBL coming back, and saying, you think you can do this for $200K – we'll give you a month to prove it on your own nickel. But we did not even get a thank-you.
There is continual argument about whether SQL, client/server, internet based, Ruby, Java, or .NET is best. One way to settle the argument is to look at the different proposals, look at the different costs, and you'll probably see a pattern. Proposals with Item A will tend to cost $500K more. That's an easy way to do cost/benefit analysis. And I'm betting it was not done.
If all the Internet based proposals seem to cost $400K more, that tells you something.
I, for the life of me, cannot understand why the ACBL would release an RFP, and summarily dismiss probably the only proposal that met the requirement of being done in a year for say $200K, and insist on a $2M proposal that takes 2 years.
I can understand the ACBL being very skeptical, and asking for more details and some sort of tangible validation.

Back to your original point. Whoever mandated free development tools and SQL – they didn't do their job. Excuse me for being blunt, but it was damn silly, and very lazy. It truly was dereliction of duty. Those kind of issues should have been resolved later in the proposal and contracting process – not on the first round of proposals.

The proposal process, as best I can determine, and I don't pretend know for sure, was a mess. I think the results speak for themselves.

I would like to see something that speaks loudly – saying “This will not happen again.” And I just don't feel that a technology committee headed by the CEO is a proper response, regardless of who the members are.

Respectfully yours and perpetually disgruntled,
Larry Lang

Dec. 11, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
As a “semi-literate coder”, maybe I should also be offended by at least some of Barry's remarks. But after a while you say, “that's just Barry.” At least I know what he's thinking. To me, honest, heartfelt, sincerity, mixed with passion is okay. We don't have to agree on everything. We can learn from each other.

But snarky, opaque, defensive, and condescending – he's not. I'm grateful for that.

Dec. 10, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I've read the reports on the web. (The last one was in July). I watched the video (you have matured some since your Bridge Winners photo was taken).

From outside it looks like magic. Poof! The ACBLScore rewrite that was so important has disappeared and gone to heaven. I see few schedules, specs, and the same lack of transparency as before.

The lessons learned report – Poof! – gone.

I hope you can see that this is disturbing to some of us.

And I don't see any real answers – just “that's inaccurate”, “surely you jest”, and “I don't know what else to tell you.”

I can discern that.
Hammond is out.
There is more important stuff to do than ACBLScore, so it's tabled indefinitely.

Is that where you want to leave it?
Dec. 9, 2015

Bottom Home Top