Join Bridge Winners
All comments by Larry Lang
You are ignoring the author of this comment. Click to temporarily show the comment.
Rainer,
Bridge World is a different critter. They inundate with 6 decisions at once, and it is difficult to pull out the central theme of the hand, and go contrary. I think it can be gamed as well, but I'm not sure. It might take me several days going through hands to validate or dispute my theory. But not so with the Bidding Box.

You mention several hands where perhaps the bidding should have gone differently, but that's not really the point I was trying to make.

I used the experts to represent how a sophisticated partnership might bid the hands. They did not find any of the nuances you suggest, and they are good players.

I used the Contraires and Heads to represent advancing players, using simple 2 Over 1 Game Force who purposely “gamed” the contest. They represent me – gaming the contest. The Contraires and Heads were obviously outclassed, but they slaughtered the experts.

My point is, unless the ACBL addresses this problem, the Contraires and Heads will always win, unless the experts wise up and also game the contest.
July 21, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Jim,

If I thought the hands represented “random” problem hands, I would not have a beef. But I think they are highly tuned to give bidders a problem. Such that they reward anti-percentage decisions.

They sort through hands and say, “Hey, there's a real stinker, let's use that one.”

Suppose I am a computer and in the middle of an auction I can run through possible hands that partner might have. And suppose with the amount of information given so far in the auction I can determine which bids are most likely to succeed on a percentage basis. My computer like simulation tells me that if I make bid A, I will be right 65% of the time. If I make bid B I will be right 35% of the time. I claim that Bidding Box contestants should always make bid B.

One solution is to interlace “trick” hands with ordinary hands to keep the contest honest, without telling the experts which hands are which. The column could “feature” the trick hands but also report the aggregate score for the less interesting hands, and add it into the final score of the contest.

Or for each problem, they could pick one hand and create an auction around it that they think would be interesting. Then they could randomly generate partner's hand with the requirement that it match the auction that was chosen. As an unintended side affect, this might favor conventional bidding treatments, I don't know.

Bridge is not an easy way to make a living.
July 20, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Frances,
Okay. We agree.
I feel that the Bidding Box has gotten to almost ridiculous extremes. And perhaps Bridge World is the same way.
I believe that the experts are punished for making sane bids and rewarded for bouncing off the walls. So pretty soon, you get contestants trying to outguess the contest rather than concentrating on good bidding.

If so, aren't the contests a waste of time? And perhaps doing more harm than good?

Is there some way they could be more useful?

PS, IF they lead a black suit, declarer has to get to dummy twice. If clubs break 3-2, it works. What are the odds, 66%?
July 20, 2015
Larry Lang edited this comment July 20, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Barry,
I hesitate to guess. Borland came out with some great products and some real clunkers, I agree.
My biggest frustration was with Microsoft Foundation Class for C++, if I remember the name correctly. I never did get it, but my kid sister didn't seem to have much trouble, which was even more demeaning.
We did some work for the CIA. Without going into anything that is too classified, if you think they operate like the shows on TV, guess again. The records of all their field agents was written on 3 by 5 cards. I guess that's one good way to mitigate the threat of being hacked.
July 17, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Barry,
Microsoft spoiled it all. I know they developed software exactly as you describe. In my case, I worked for small groups involved with instrumentation and research, and you could take pride in your work.

Borland, which did go out of business, used Delphi to develop Delphi. In other words they had to use their own cooking to create the compiler and libraries.
In it's time, Delphi was a great development environment.

But then Microsoft came along, pirated all the ideas, and hired away the main Delphi designer to work on C#. It's been downhill ever since. I miss “the good old days”.

The Turbo Pascal data base wasn't much to look at it. But during it's time it was okay. It was record driven rather than SQL.
July 15, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
If I'm running a software project, I like to tackle the installation issues first, rather than last. This allows me to showcase how the project is going all through development.

Also, although the cost is very high, I like to write test code in front of or in parallel with the actual code. That way it's very easy to catch bugs up front before they bury themselves too deep into the design and become costly later on. Also, it helps identify interactions between modules, in which code in one module causes a problem somewhere else that the programmer might not guess. This allows programmers to create prototypes quickly, without having to develop test suites each time a new version is released. Like I said before, I believe it is possible to write bug free code, if you're willing to accept the extra cost (and time) up front. I've done it many times. Most people pay lip service to error free code, but then aren't willing to do spend the extra time required.

ACBLScore has a Turbo Pascal version of a relational database. The request was for SQL was more reasonable than it probably sounds. Still.. I like to let requirements specify what the user wants to see, and let the programming team resolve the technical issues and pick their own tools.

The 1st RFP was exactly backwards. Other than talking about Mac, it specified the tools allowed, and did not specify what the user wanted to see.

July 15, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Deployment is a great example of what I'm talking about. Deployment is the first thing that should be tackled, not the last.

Figure out how the app will be deployed, build a small “Hello World” prototype, and deploy it to anyone interested.

Now the development effort becomes real, and people can see something, which hopefully gets more sophisticated each month.

If I understand what happened correctly – deployment was the big boogey man as the project started running into trouble. ACBL tried to evaluate what Nick had so far, but they couldn't because they couldn't successfully deploy it on their own.

I for one was getting very concerned after a year, and no sign of anything that could be demonstrated. It looked to me like a possible exercise in Vapor Ware, with no evidence to the contrary.

If Nick had focused on deployment first, perhaps the project would still be alive.
July 14, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I'm sorry this is where I have no sympathy, for either party.

I'm a strong believer in structuring the project so that if the programmer and/or the buyer get tired of each other, work can stop tomorrow, and the project can be turned over and restarted by someone else in 2 weeks. The programmer gets paid, no loss, no muss, no fuss.

It is doable. My relations don't always go as planned. I turned over a project once, and it was done in 3 weeks by another party. They commented on how well documented and how well thought out the program was, which was very little solace to me, but at least no one got hurt.

If the programmer has “secret knowledge” so that only he can complete the project, then something's wrong. If the buyer doesn't understand the exact state of the project as it goes along, something is wrong.

This is the beauty of “iterative programming” – or what I loosely describe as Agile Programming. Risk reduction might seem like a small reward for the extra work involved in making the project and the code transparent.

But the ACBL just lost $2M, and this kind of thing happens all the time.

Nick says it's a copyright issue. He may be right. But I suspect there is more to it than that. Hartman's story is that he kept getting strung along, the bills kept getting higher and higher and the completion date kept moving out into the sunset. But does it really matter? They both share blame in my mind.



July 14, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Sure.
And the next thing you know, you'll be telling me SQL isn't a real language – :)
July 13, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
That's the capper. I have a copy, which I signed a non-disclosure agreement to get, because I, and about 3 other programmers bid on the first RFP as a team. But if I share it, the ACBL could, and very well might, sue me.

I'm not going to empty my spleen again, but the RFP was a joke. It basically read, “mimic ACBLScore any way you want, but it needs to run on a Mac as well, and use SQL for the database, and be done in 9 months, and by the way – tell us the price – and the language you are going to use.”

If you take the RFP literally, copy the existing Pascal Code to Free Pascal (an open source development environment with cross compilers and GUI developer), cross compile to the Mac, and use a database driver to talk to a SQL database that can ran multi-platform. We could probably do that in 6 months for anywhere from $100K to $300k, depending on how you interpret the RFP. Anything more and you'll run out of time. Even then, it's a tight schedule.

The rest is history.

The thing that bothers me, is all the code is proprietary, even though by ACBL's own admission,it's old and probably not worth much. Documentation? There is none. All secret. All hush-hush. How can we help the ACBL out if they refuse to be helped?

That's part of the reason I say ACBL must be involved. I considered just doing it. But if I did, the ACBL would say, “no, that's not what we want”. They can easily do it because they've never really defined what they want. They just want the same – but different.

How's that for not venting my spleen?
July 13, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
It may have to do with project size. Smaller projects rely on the programmer to catch bugs. Also, if nuclear reactors, simulators, research, or instruments that test for possible structural failure are involved, you tend to be more careful.

I managed one project where the programmer wanted to use a bug list. But he was the only programmer for that module. I strongly believe that the Project Manager is the bug finder in chief, but never the less, the programmer is better able to anticipate where the bugs might be. And he kept submitting code which a 2 year old would know wasn't right.

The conversation went something like this. “I'm tired of going through your code that is supposedly already done, finding 20 bugs and describing them for you.” He said, “I can't see my own bugs. I need a bug tracker.”

I said. “All right we'll get a bug tracker. But each week we'll go through the bug list together, in front of the rest of the programming team.” He got his bug tracker, and there was never anything on it.

I consider ACBLScore to be a relatively small project by the way. A GUI connected to a database.

C++, Object Oriented Pascal – pretty much the same to me, but I prefer seeing BEGIN and END instead of brackets. It makes the code read more like a novel. The GUI tools are 2nd to none, with the possible exception of Visual Studio (which was taken from Delphi, including the main programmer).

You say, “Why develop ACBLScore when there are vastly superior products in the world.” I would say, why then did we pay $2M for ACBLScore+ ?“

You can also say, ”I can't believe that all of Jim Hammond's stuff is worthless." I tend to agree. But I don't think the existing code base for ACBLScore is worthless either. The more I look at it, the more I grind my teeth, but it's not made out of concrete. And Lopushinsky did not go out of his way to make it brittle. It needs more love and understanding, and a cosmetic surgeon.



July 13, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I've often thought it might be worthwhile to have a video game like World of Warcraft where you could gain implements of destruction by playing cards at “Bridge Town” – and hopefully learn to play bridge at the same time. The better you play the more bazooka guns you get to blast ogres with.

Pipe dream probably.
July 13, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Barry,
We may have different backgrounds. I worked on instrumentation, a Pentium simulator, and then databases. I suppose with instrumentation it easier to release bug free code because you have complete control of the platform it runs on.
I will tell you, we never had a list of bugs. Even when doing databases that communicated across networks. Bugs were unacceptable and could get you fired.

The companies I worked for might “buy” software for inventory control, software development, etc. But we never bought software that was a one-shot deal that was key to the core of our business. Purchasing anything was always a drag, and full of peril. If the software was specific to what we did, and could not be leveraged across other businesses, we developed it on our own.

It seems to me ACBLScore counts as a one-shot deal that is key to their business. Are you saying that you feel it is better for companies to use a vendor in such circumstances? I've never seen it done, except maybe for web masters, and on a small scale. Governments will hire vendors to do software, but often the vendor has done a similar kind of system before – and it isn't pretty.

I think how users see ACBLScore doesn't matter as much as how a programmer sees it. The code is poorly documented and is a real chore to step through. But after a while, you see that the modules call each other, almost as stand alone applications that talk to each other. This has several benefits. You plop down the modules together, (if it's Windows you have to worry about the Registry) but they just run. It's pretty cool. You can go in and change one module, and when you compile, it's the only one that gets compiled, saving lots of development time. It's a fast compiler and you don't get bogged down as the program gets bigger.

Free Pascal and Delphi are based on “Object Oriented Pascal” which is a super set of the Turbo Pascal languages and libraries. In Free Pascal, you set switches if you want to mimic Turbo Pascal or Delphi specifically. The libraries are extensive, and unfortunately have branched out quite a bit.
You can develop on Linux, Mac (iOS?) Windows (32 or 64 bit) and you can then cross compile to any of those plus I think Android and most mobile devices. You can add a package that does Garbage Collection.
It is strongly typed, which can be annoying sometimes.

I am a club director, and think ACBLScore is just fine. I've never noticed any “bugs” but the GUI is definitely primitive.

I have heard rumors that tournament directors prefer the DOS version of ACBLScore. Wouldn't know about that.

I refer to Agile Programming in a very generic fashion. Prototype often, break versions of code down into as small chunks as possible, if not, provide great deliverable documents so everyone knows exactly where the project is, self documenting code, self testing code is required such that you never have to test on your own, consult with users often, plan ahead and do your design work up front, but don't become obsessive about it.

I know a lot of consultants who won't go through fixed contracts. It's just too big of an opportunity for the buyer to nickel and dime you to death, and to create hard feelings when you don't go along.








July 13, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I agree. Why play cards when you can fight monsters, work though all kinds of puzzles, and save the princess all at the same time.
These devices are changing our culture.
July 13, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Barry,

“Whatever it is, it's time to get it underway. Time to get busy and let everyone know what's going on. No secrets, no politics and no BS.”

Are we in disagreement here? In my opinion, the ACBL went wrong when a bunch of people, who didn’t know much about software development, went outside and hired an outside contractor and relied solely on him to keep the foxes out of the chicken house. Maybe they should have gone to the company that did Obamacare sites instead? There are plenty of big consulting houses that will develop software for you. Left to their own devices their record is just as bad – or worse – than if the buyer retains in house experts to help shepherd the contract.


“ the function of quality-assurance and customer support groups.”

Where I come from, those are considered to be part of the software development effort. So are domain experts. Whether paid or unpaid. If the ACBL doesn’t understand want it wants out of ACBLScore, I don’t think they are ready to contract it out. I would contend if they don’t have anyone on their staff that understands software development, they can’t really identify what they want. If you ask the contractor to do that for you, it might work, but it’s a lot like asking the waitress to identify the best item on the menu. It’s always the most expensive choice.

“ There's no way to know how long it will be before a product reaches maturity and goes into maintenance mode.”

Maintenance is the same thing as software development in my way of thinking. One study shows that once a version of a product is released, on average there will a maintenance cost of about 50% of the entire cost of the release – yearly. I consider enhancements, bug fixes, and satisfying user requests all to be “maintenance”. I think most project leaders do. That’s the point. The software project is never done. It is always in maintenance mode, or whatever you want to call it.
ACBLScore was originally called CompuScore. Later part of the code was converted to TurboPascal, and they renamed it, but it was still the same project. Then came a relational database. Then came ACBLScore for Windows. You tell me, when did the code stop being a project and start becoming maintenance? In a well-run project – they are the same.

That, by the way is an indicator of a successful software program. I assume it will never be done. Users perceive the product to be useful and they keep asking for improvements, and the improvements keep coming.


“There is no such thing as bug-free software”
Well, let’s see. I have written about ten to 20 applications in my life, depending on how you count them. They were all released, and all successful. One bug in my entire career, and it was insignificant – it didn’t show a digit to the right of the decimal point. Within 2 weeks of the first release, the problem was fixed and the product was error free.
I will admit, if you’re going to install an application on a platform that you don’t fully understand, such as a computer with a Windows Operating System – there may be unanticipated interactions causing “bugs” – but that’s not what I’m talking about.
If I can do it, anybody can.


“Were you paying attention when the Y2K program was being addressed?”
It was my job for a while. We made a list of all the possible places it could be a problem, prioritized them, and then fixed them one by one. Although we probably had a hundred different systems on site, we got all the critical ones fixed within 2 weeks. Then we spent several months addressing the other ones that didn’t matter much. We didn’t hire any COBOL guys. It was a non-event for us – and for the whole country for that matter.

“I don’t like Agile Programming”
Who said anything about Agile Programming? If you break a project into smaller pieces, you reduce risk. If you can’t do smaller modules, at least ask for fully verifiable deliverables every couple of weeks. Once again, if you aren’t a software guy, you don’t know what kind of deliverable s to ask for, and you have no idea how the project is really going. I believe that is what happened the first time around.

And since I see no deliverable s after 6 months, I can only guess it is probably happening the second time around as well. Or, it is all hush, hush. And I’m not a big fan of that either.


“Developers can't be interrupted every time someone reports a bug.”
I guess my take on a software development team is broader than yours. I wasn’t proposing that.

Up until recently, I’ve found ACBLScore to be remarkably error free. Sure it has a lot of quirks, and sometimes you wonder – “What the hell was that?” But I’ve never found anything critically wrong. It consists of about 10 executable files that you can visualize as DLLs if that makes it easier. It’s very modular. You could easily upgrade one function at a time. At first I would focus on how the director sets up a game, or perhaps redo the database.

The problem is, no matter what you do, the ACBL has to be involved in the development process, because it is basically for them. Without their participation, it’s hopeless. Nicholas Hammond partly suffered from that. He wanted programming and domain expertise from the ACBL, and they didn’t give it to him. They didn’t have the staff.

Oh well!

July 12, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
John Cunningham,
Orwell is my favorite author. He is a Socialist Libertarian.

My high school has a mascot – an A Bomb. Our symbol is a mushroom shaped cloud. If you're going out to whup on people, you might as well do it right.

And here is my Orwellian thought for the day. I actually believe that the A-Bomb is a weapon of peace. It is the only thing we have that represents war for what it really is – not a football game, but a lot of killing and scorched bodies.

Our liberal friends halfway across the state disagree. They think we are blood thirsty monsters. To them, War Is Peace, as long as there aren't any A Bombs.

I guess it's all a matter of perspective.

July 12, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I want to recant what I said about Par Contests. “You have to think hard” understates the experience.

By board 12 you brain has turned to mush.
By board 18, you have forgotten who you are and why you have 13 cards in your hand.
By board 24, you don't care who you are. You stumble into the men's room and consider not coming back.
July 12, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
Adam,
We're not as far apart on our views as I pretend we are. My gripe is that I favor an incremental approach rather than a big bang.

I was reading an article about “the future of software development”. It used some buzzwords that I forget, that described what they think might be the software development model of the future.

Basically it talked about a home team that interfaces on a day to day basis with all users, complaints, installations and so on. They see this “team” as gluing perhaps 20 or more modules together, many of which might have been developed by outside contractors. The modules may come from all sorts of different places.

The team itself might not consist of world class developers. The team basically knows all the tricks on how to install the application, how the pieces fit to together, how to test before making a new release, and they are very much in tune with what the customers think about the application.

I'm thinking, but I could be wrong, that ACBL has to house the home team. That team may not exist yet, but they have to create one.

But, as mentioned by several people, if that's gonna work, there must be good requirement documents sitting around, so that contractors can know exactly what their modules are supposed to do, and also so the home team can perform rigorous testing.
July 12, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
I've done par games. I hated them. The best players always won and you had to think really hard. What a drag.
July 12, 2015
You are ignoring the author of this comment. Click to temporarily show the comment.
A good point.

In previous decades ACBL was all about competitive bridge, and those who weren't competitive played elsewhere.

In our area, pickens are getting pretty slim.

I originally started recruiting new players thinking they would comfort me in my advancing years, by being there for me to stomp on.

But I quickly realized, once they come in past 60 years of age, they can never be “competitive” as we think of it. But they can still learn the game (some had never played Bridge before) and have fun. I found my club was a different market niche than the other clubs.
I had planned to shut down after a year or so, thinking by then I could teach the basics. But it's 7 years now, and they're still learning.

One thing I hadn't anticipated is how much I enjoy the club and their attitude. They have been taught to behave socially (not ethically) and they love each other's company. The have fun, and I have fun watching them.

So the question is – does the ACBL want this market niche? Can they afford not to broaden their umbrella? Should they ignore it? Should there be two or even 3 faces to the ACBL?

I don't know.

July 12, 2015
.

Bottom Home Top