Bob Bemer - Y2k Solution (for some aspects) in Beta Testing : LUSENET : TimeBomb 2000 (Y2000) : One Thread

Bob Bemer... "As IBM's chief of programming standards, his creation of the escape sequence in 1960 allowed computers to break from one alphabet to another, a critical step toward laser printers and cursor movement. He led the effort to establish a universal character set known to millions as ASCII. He created the name COBOL for what still ranks among the world's dominant computer languages. He helped develop the standard by which binary digits (0its) travel in packs of eight (bytes). He even created the backslash"

His proposed solution is now in Beta Test - Here's a bit of a news article written a while back - and a link to his white papers etc. What do you think of his idea?

>The best solution, he thought, existed at the most fundamental level, where computers operate in ones and zeros through something called object code (or machine code). The myriad programming languages that now exist were made possible by a decades-old software innovation called a compiler, which translates higher-level languages into the arcane code that actually runs the machines. Today's programmers don't even think about the object code, but Mr. Bemer knows it cold. Attacking the problem at this basic level would avoid the need for thousands of individual solutions at a higher level.

His method examines every arithmetic operation running through object code. Along the way, special rules identify those operations involving dates. (Dates are never multiplied or divided, for instance.) At that point a variation on Mr. Bemer's old escape sequence comes into play, detouring the date, as if along a railroad siding, to a place where the missing century is hooked to the two-digit year. "Everyone else is trying to find all the years," he says. "We let the years find us."

Rehabilitated, the date then returns to the application. But the millennium problem is so maddening partly because many systems have no room to cram in the extra digits representing centuries. Mr. Bemer gets around that by using spare bits within the year bytes - "four pounds In a two-pound bag."

He also proposes to create additional numeral sets - one with overlines, another with underlines - to indicate which century they belong to when printed out or displayed. (He has contacted the necessary standard-making bodies seeking new fonts.) He admits that where programmers used shortcuts, such as using "99" to represent the year infinity, his solution will fall short. <

Check it out and see what you think... I'd read about his plan last year = but thought it was a pipe dream - apparently not - as it is now being beta tested...

-- Whitney (, December 21, 1998


After a breif glance, this is interesting, but not a solution. It would have been a good solution if everyone had agreed to do it in 1995 - but this is almost 1999, and the process of getting everyone to agree will take a significant part of what's left before 1-1- 2000. He seems to think that he can get an act of Congress for this - but we all know that Congress is going to be too busy checking the details of politician's sex lives. Besides - this is only in Beta? Right off the bat I can tell you that there are programs that multiply and divide date fields, so you've got a problem there.

-- fran (, December 21, 1998.

Ditto Fran's comments. Arithmetic operations with dates aren't that rare. But I disagree with Fran on 1995 start date. More like 1990 to get 95% compliance by 1999. Moreover, it would take different versions of Beta to work on different physical platforms. That is to say that what would work on IBM wouldn't work on DEC. It also wouldn't address problems at the system's level as opposed to the application level.

-- RD. ->H (, December 21, 1998.

Read inflight magazine article on good ole Bob. Seems he is buying gold and food, too. No silver bullet here.

-- Bill (, December 21, 1998.

Bob Bemer's ideas have been discussed before in this forum, I think, but I can't find the thread now. Or maybe it was in a different Y2k forum.

Bemer's ideas apply to only a small slice of Y2K problems, a slice that was already being massively addressed in other ways.

Anytime a Web page's heading contains a phrase like "The Solution for year 2000" (note the uppercase), as Bemer's does, you can bet it omits or overlooks something.

-- No Spam Please (, December 22, 1998.

Let me clarify that I don't think Bemer is running any scam. It's just that his phrasing makes his ideas seem more universal than they really are.

-- No Spam Please (, December 22, 1998.

(Dates are never multiplied or divided, for instance.)

You may for instance perform a calculation thus with a DDD (Julian day) number days derived from date subtraction.

DDD/365.25 * value, suppose he's thought of that

to calculate a part-year insurance premium for instance. its obvious enough.

-- Richard Dale (, December 22, 1998.

- as it is now being beta tested...

bit late isn't it, how long will that take, be interested to see how many copies he sells really it may save some coding, so do some of the other software tools, we all know what % of a y2k project is coding

-- Richard Dale (, December 22, 1998.

Well Bob, being one of the founding fathers of this industry, must also be one of the founding fathers of vaporware. Of course it's a bit late, however come Dec 99 when say 60% (or 90%) of those "scheduled to be complete by 6/99" are back to the drawing board. This "fix" for that one aspect of this problem, could be out of beta testing? who know? It still doesnt solve the embedded chip problem - and alot of other problems to do with this issue. But what he's said does have promise, either that or he's got me snowed, I dont understand his "silver platted bullet" enough to say its bogus.

-- Whitney (, December 22, 1998.

Can we get some feedback here from a Card Carrying Techno-Geek? :)

-- Whitney (, December 22, 1998.

As mentioned before, the whole y2k problem (the technical side) is more properly termed a calendar problem and arises from the use of multiple inconsistent and incomplete representations of date. Proliferation of computer languages and versions compound the problem. If there is anything to be learned from the y2k technical problem it is the need for better standards for data interchange. This is the Tower of Babel problem.

While the use of an implicit sliding window convention is the easiest work around for backward compatibility, it does not address all aspects of the calendar problem.

Field expansion is also necessary and is nothing new. The US postal zip code went from 5 digits to 9 digits about 18 years ago, and the numbering plan for the telephone system is about to be expanded as well. These days it should not be hard for software developers to use 4-digit years on newly-designed input/output forms (1998-12-23).

X-Day is the Julian day minus 2,000,000. This puts it into a 6- digit format that is unique and unambiguous (avoiding the 981211 vs. 981112 type of ambiguity), and if necessary can be stored in 6-digit fields. When you see a date value such as 451180 you know it is referring to the first day of 1999.

Bob Bemer has a really great idea and hopefully it gains acceptance, sooner than later. It is not intended as a silver bullet for fixing all the bad code out there. It is intended as a convention to be adopted for use in internal calculations and data interchange only, not for display on data entry screens or reports.

Without standardization, technology leads to chaos. Industrialization itself (referring to mass-production) was made possible by uniformity of manufactured parts. In the pre-industrial world, manufactured hardware such as guns and scientific instruments did not have part interchangeability.


A Proposal by Bob Bemer
Use the simple XDay method to avoid Year 2000 problems with interchange of date data.

The X-Day calendar numbering scale (from the Techno-Geek section)

As a footnote, yes dates are in fact sometimes divided, for example a number such as 981223 may be integer-divided by 100 and then remaindered by 100 to get the month. Multiplication may be used to reconstruct such a date number. String operations are even more common. However, dumping uninformed criticism on Bob Bemer is not warranted. He set up the ASCII code (American Standard Code for Information Interchange) which did much to advance computer technology, much as HTML enables us all to communicate in a common language.

-- Jon (, December 23, 1998.

Moderation questions? read the FAQ