Mixsonian Larry

1984

Early Computer Graphics

I had been interested in computer graphics since ’74 when I worked at the University’s CIRCA department where I developed software to drive early display devices. Being in an academic setting, I joined the professional computer organization Association for Computing Machinery, (ACM) the world's largest organization for educational and scientific computing.  ACM had a number “Special Interest Groups”, SIGs as they were called which once you joined ACM, you could pay additional fees to join SIGs. There were several areas of computers that interested me, so I joined the SIGs in those areas, operating systems (SIGOPS), programming languages (SIGPLAN) and my favorite subject, computer graphics  (SIGGRAPH).  Joining SIGGRAPH alone cost more than then ACM membership fee, but I thought it was well worth it.   I studied the monthly articles and then, at an additional cost, get the yearly massive SIGGRAPH conference journal that contained the latest articles in computer graphics.   These were the early years of computer graphics, line graphics, or technically Vector Graphics, had been around for a few years using such devices as Calcomp line plotters and the Tektronix 4010 graphic terminal like I had used at CIRCA, but Raster Graphics, using individual points or pixels on a computer display was new and was fast replacing vector graphics. Early articles were simple things, how to draw a straight line using pixels, how to best fill an area with a color and so on.  One of my favorite computer graphic experts was Jim Blinn who published many articles about computer graphics algorithms.  Jim Blinn was a computer graphics expert at NASA’s Jet Propulsion Laboratory and was known for his work on the 1980 Carl Sagan documentary series Cosmos and the “Blinn–Phong shading model”. Ok a bit geeky there, but Jim Blinn was like a god of computer graphics.  I always wanted to go each year to the SIGGRAPH conference where he would have presentations on his latest work, but I was never able to make it.

So, I had been studying computer graphics for some time and Elias knew this so when Harris asked him if he knew anyone with graphics experience, he said he did and contacted me thus I ended up again a contractor to yet another division of Harris.  

RamTeck Display
RamTek Display from sales brochure

RamTek ImageExample text and vector RamTek Image
from sales brochure

The Harris SDHS project used the latest RamTek display system which was both expensive and impressive.  I had been writing “graphics” programs for my IMSAI 8080 system which did 320x200 pixels in 4 colors, the new IBM PC/XT could do 640x200 in 2 colors. The RamTek was huge with an 18 inch monitor could display 1280x1024 pixel in 16 million colors, an amazing resolution at the time.  The RamTek was a hybrid device that could display vector graphics on the same display as the raster graphics. How cool was that!  The satellite images would display as raster while things like plane flight paths, maps, cold and warm fronts, air pressure and temp. lines would display as vector graphics.   The “operator” of the SDHS would sit in front of four of these large displays, each showing a different part of the world in different colors which then could be rotated and zoom in on a particular area.  I was like in computer graphics heaven.    

My task was to write the software that took the weather data and produce the vector graphics to display such things as cold fronts on the RamTek.  I was given the specifications for the weather data, the interface specifications for the RamTek system and I begin the design.  The U.S. Military had recently mandated that all software for the military was to be written in the Ada programming language, and since the SDHS systems was for the U.S. Army, it was to be coded in Ada. Well that was no big deal for me, I had programmed in eight or so computer languages by this time so Ada would be yet another one.   I had been reading about Ada for some time, the reference manual was published in ACM SIGPLAN, which I was a member, in June 1979. The language was named after Ada Lovelace (Countess of Lovelace) in the mid 1800’s who is known for her work with Charles Babbage who is considered the father of the modern computer.  Ada Lovelace's notes are important part of early computer history, especially her note which contained what many consider to be the first computer program.

Being a military project there was and extensive documentation of the system, its components, modules, and functionality of each one.  This was like the Holy Bible, the specification was a stack of paper three inches thick.  Fortunately, I didn’t have to concern myself with much of it, some of I couldn’t even see as it was marked classified but the specification for my portion was still some thirty pages long filled numbered sections with “it shall” do this and do that’s. At first I thought that was a good thing but it didn’t take long before I learned what it meant.  If it wasn’t in the specification, it wasn’t to be done, no matter how good of an idea it was. Of course, no specification is perfect as no one has the foresight to see everything, so when changes were needed there was a “Change Process” involving a lot of paperwork, reviews and approvals from both Harris and government representatives.  All changes were evaluated for time which directly affected costs, so each was carefully reviewed before approval. Change review meetings sometime got heated when the government people took the stance that it was not a change but within scope while Harris argued it was out of scope. The process was not new to Harris, who like all government contractors, took full advantage of the process to get additional money for the contract, I would sometimes hear on the news about some government project cost overrun, here I was experiencing it.  

Like at Harris Word Processing, we didn’t just jump in and start writing code but started with a the design of each software module using pseudo code. Harris sent all the programmers to a day long ADA pseudo code class in which had a simplified ADA syntax, it had the constructs of ADA but not the detail syntax that the actual programming language,  which is very specific about the syntax, commas, semicolons, parenthesis, brackets, and so on.   After each module was designed there would be a design review with your peers who would sit in a conference room with you and review the pseudo code.  These design reviews were most useless because last thing the other programmers wanted to do was sit in a conference room and review someone else’s code that they really didn’t understand in the first place, and it was taking away time from their own projects.  Being a contractor I was fortunately spared going to most other programmers review because my time was more expensive.

After all the pseudo code was written and reviewed it finally came time to write code only there was a problem. There was no Ada compiler, the program that took Ada code and turned into instructions that actually ran on the computer.  The Ada language had been around as a theoretical language for a few years and only recently reached the practical stage of being implemented.  The first validated Ada implementation was certified on April 11, 1983, and it was not at Harris. But Harris was working on its own implementation at their Harris Computer Systems Division and it was promised to be delivered “soon”.  But like most software development projects it was behind schedule, but we were ready to write code, a decision needed to be made.  

Updated: 07-15-2023

FORTRAN 77