📜 ⬆️ ⬇️

IBM employee recollections: how I found my wife, catching bugs in OS / 2

(In a recent review of the history of OS / 2, a very general picture of OS development was given. I hope it will complement well the view from inside IBM itself, the memories of an ordinary OS / 2 tester.)

The IBM-Microsoft unholy alliance released OS / 2 25 years ago to replace Windows, Unix and DOS. At that time I was an ordinary soldier of this war: a tester working in the Blue Giant under the contract. Cruel fate and even more brutal editor want 25 years later I wrote an article about whether you should now devote your career to Microsoft. And it still amazes me how much people who do not know history are doomed to repeat it.

In the late 1980s, most of the PCs were still running only one program at a time, although many of them were infected with resident programs fighting each other . The graphical interfaces have already arrived on the PC, but the Windows applications worked just awfully: even if you just turned on the Windows PC and didn’t do anything else, there was a good chance that it would freeze on its own.
')
At the same time, new features and improved performance of Intel processors made possible preemptive operating systems, in which applications were protected from each other. There was an idea of ​​super-DOS, which quickly grew into a more serious project and they needed me ...

IBM was pathologically secretive. My interview basically consisted of questions in the spirit of “so, Dominic, tell me about yourself” without the slightest hint of what I have to do. Since I participated in the Microsoft Unix project for Intel x86 , I replied: "In a sense, my job was that I was ruining the life of Microsoft." An IBM personnel officer said that, as a rule, their superiors needed “a proper amount of time” to make a decision, but this time the job offer came to my answering machine before I returned home.

I went to work and started paying me for doing nothing. I worked at IBM's English laboratory in the village of Hursley , near Winchester, but apparently no one wanted me to do anything. I signed a contract that included a clause on non-disclosure (I want to especially note that his term has already expired), but, apparently, this was not enough. I offered to sign another one, but no one could find it.

In the end, they dealt with this and they gave me a computer, but they did not give me an email address, because I was working under a contract, it was a subhuman person (untermensch). To receive letters, I had to pretend to be an employee who used to sit at my desk — I used his ID for the next three years.

(Another example of my insignificance within the company is some kind of personnel officer for some reason decided that I was a woman. I am not an example of masculinity, can you believe me, but I am not Dominic! An attempt was made to terminate my contract before go on maternity leave - even sexism was unprofessional.)

Dozens of person-years went into disputes over expenses when programmers who were performing a crucial part of developing OS / 2 after being transferred to the USA were lodged in a hole that even students refused. The bosses, of course, were provided with the same housing in which all Microsoft employees lived, regardless of the level.

We are, of course, rewarded with a trip to Hawaii ... or not.

Microsoft programmers working on OS / 2 were promised a week in Hawaii if they completed the project in time, of course, this was supplemented with stock options. IBM tried to give a decent response in the form of a trip to the Azores, but did not succeed. The venture was doomed from the very beginning, as the personnel department of the Blue Giant imposed a ban on our prize because of IBM rules, which prohibit collecting such a number of employees on one plane.

Instead, the personnel department proposed a plan that clearly reflected their attitude towards the technical staff: a gala dinner with dancing. In Portsmouth (UK). Help for our non-British readers: this is not a particularly prestigious place.

Being a despicable contractor , I, of course, did not receive an invitation, but since I was caring for one of the seven girls on the project at the time, I still came and was very impressed with how much IBM put in to make the provincial entertainment center similar to Hawaii. It looked so delusional that the integrity check system I installed to suppress the germs of senile marasmus is constantly trying to discard these memories as a false memory.

I force myself to believe that the richest company on the planet could behave in this way, only because the girl who had fascinated me, the precious lawyer, became my wife - and we still have pictures that confirm the reality of what happened.

(I want to clarify that I do not consider the IBM personnel department as the worst in the world, although I have not seen anything like it in my 28 years in the technology and banking industries.)

Given the above, I could not understand how they managed to hire people who were among the smartest and most pleasant professionals I have ever worked with. Even the guy that the developers at Microsoft and IBM equally thought was the worst was very easy to deal with. What a pity that a few years later he died fighting on the side of the Taliban.

One way or another, it's time to get back to technology. OS / 2 received a radically improved graphical interface Presentation Manager, an industrial-level graphical library based on the successful development of IBM GDDM , and it was planned to include a high-quality database and networking capabilities in the operating system.



OS / 2 1.0 was released as a pure text super-DOS. What we considered “true OS / 2”, version 1.1, came out a year later and included super-duper graphics support. Especially for her, we came up with a radiant novelty VGA standard.

It also had a graphical markup language that allows you to design sets of windows and dynamically connect pieces of code to pages that were loaded from a public folder. It seemed very cool to us and in the early 1990s we only tried to understand what new opportunities it would give.

Testing Microsoft mastered with great difficulty

At that time, Microsoft had big problems with testing. Many times I had to deal with the Redmond code, which then passed through various complex tests and for some reason consisted of a single RETF command that, in theory, simply completed the subroutine call.

Their code reviews came down to jokes. The developers wrote in the comments to the localization code “Do not pay attention to the random localization nonsense from IBM” or “if the number of windows is zero, return false” right after the line that always returned zero. Microsoft refused to correct this directly, saying that such things are included in the internal programming standards, a copy of which, if they existed at all, could not be obtained.

We, on the other hand, were considered hopeless bureaucrats. After Microsoft lost the source code of the latest OS / 2 build, which had already been sent to stores, I found an error that occurred when I double-clicked Chkdisk: the program was run in duplicate, both of them tried to fix the disk and corrupt the data. I wrote that "this may differ from the task for which the user ran the program." They considered this a mistake by the user and some guy named Ballmer asked why I was so “obsessed” with the quality of the code.

IBM collected detailed statistics on productivity and monetary indicators, a programmer analogue of AIDS. For some unknown reason, IBM believed that the quality of the programs depended on the number of lines in the source code.

The blue giant brought its bizarre performance figures — the number of KLOCs, thousands of lines of code — to such a state that the source code editors we used were installed along with macros to help increase the number of lines in the code, for example, breaking C comments into multiple lines, so that your The code matched incredibly stupid indicators. And suddenly everything started to look good.

Since we started almost from scratch, we were able to do a lot right. Even from the height of my current experience, I believe that almost all engineering solutions were correct and the execution met the highest standards.

IBM Personal System / 2 PC was announced simultaneously with OS / 2 and was originally intended to run our operating system - but the first installments had to install PC-DOS.

Most of the OS / 2 developers at IBM and Microsoft didn’t just use PS / 2, we didn’t suspect its existence until the very last moment. It is amazing how similar it is to the situation with Microsoft Surface - a fragile marketing link between programs and hardware. OS / 2 did not work well on PS / 2, the full version of Microsoft Office does not work on Surface, and it is purposefully made incompatible with ordinary Windows.

OS / 2 was elegant

As OS / 2 evolved from extended DOS to a serious system, common libraries were added to it, multithreading, and the idea that the operating system interface — API — should be a carefully designed system, and not a bunch of randomly named functions.

The API was coherent enough so that you could guess the order and types of function parameters without reading the documentation, since they followed a single pattern.

Serious controversy flared up over the features of the API, although six-page requests to change the name of a single function did not cause much enthusiasm. This does not sound particularly scary, until you find out that the function was eventually called WinBeep. There were even philosophical debates about whether to allow the use of dynamics.

But most of all I liked SheIndicatePossibleDeath, with which Shell (She) announced that something went wrong in the system and measures had to be taken to restore or restart softly. The Microsoft developers thought it was ridiculous and insisted that the user would have enough of the black screen of death.



Of course, they clearly demonstrated their skills in Windows NT, improving the death screen to blue and giving secretaries, accountants and other office users such vital information as the memory addresses involved in the fall, so that they could patch the recalcitrant drivers.

So were there any code examples using the API?

No, stupid. The OS / 2 API documentation was not tied to a specific programming language. Some examples of real code were bundled with development tools, very high quality, but in the best case it was one percent of what you had to write.

Updating documentation was extremely difficult, as the API was changing very quickly. Once I made myself an extremely unpopular person by developing a simple mathematical model, according to which the rate of change of the system was so high that our developers did not have time for it and even the testers did not have time to write tests.

This meant that the project will either be late or will not work out at all, but it will not be completed on time. Other developers also talked about this, but no senior IBM manager wanted to take responsibility for the delay in the project. I do not believe that you have not met with similar situations on your own projects.

I am very smart retroactively, in this article, but then I was at the very bottom of the food chain and most of the decisions seemed right to me.

Despite all of the above, it was easiest to program under OS / 2 at that time. We knew this for sure, and somewhere inside IBM there were still confirming this video. IBM hired experienced programmers for various platforms and commissioned them to perform various tasks in the user interface testing lab. They spent much more time than we expected.

The difficulty was that the developers kept asking "how do I do X", while X was some way around which there was no need for OS / 2. The developers from Mac and Windows were very angry that most of their favorite tricks were simply not needed.

After many years of documentation, consisting of only jokes and curious puzzles that are understandable only, Unix developers admired our documentation. DOS developers thought Santa Claus had come, and wanted to work with us.

I tried desperately, but I could not include these videos in the OS / 2 advertising campaign, which was very similar to the Windows 8 advertisement. It was immediately obvious that a lot of money was spent on it, but it didn’t cite a single reason for which You could still buy the advertised product. In any case, IBM, like the current Microsoft, wanted to speak with “real people”, and not those who knew computers and took IT solutions at enterprises.

Documentation is another part of this saga, for which I also feel guilty. That was before I started writing and I could have helped the documentation team more, but I was a little dumb.

I knew the insides of the OS, which both IBM and Microsoft were going to make the most popular operating system in the world and expected to make good money on this knowledge, so the fewer people know OS / 2 programming the better for me.

Or so it seemed to us then.

IBM insider: How I caught my wife while bug-hunting on OS / 2

Source: https://habr.com/ru/post/188202/


All Articles