9. Adventures in 1200 Baud Dialup

Kaveh Kardan
3 min readApr 24, 2022

While I was working at Xerox for the summer, I began looking for more permanent employment.

My mother was very keen to have me work at IBM. In those days a job at IBM implied lifetime security. (Speaking of IBM: watch the TV show “Halt and Catch Fire”. Great show.) I did interview at their Toronto office, and I recall having a very pleasant conversation with them. But I had my heart set on doing 3D computer graphics, and they were not doing any of that.

I found three companies that were doing 3D graphics in the Toronto area: Omnibus, Alias, and Neo-Visuals.

Omnibus was a production company doing CG and video work. As with almost any such company at that time, they developed and used their own in-house software. I can’t remember the details, but they turned me down, though I stayed in touch with Greg Hermanovic and Kim Davidson over the years. When Omnibus closed shop in 1987, they bought the rights to the software and founded SideFX, who develop and market the Houdini 3D package to this day.

Alias was a well-funded startup with plush offices in downtown Toronto. I sent them my resumé, but couldn’t even get an interview. I remember calling them and being asked if I had done texture mapping in my rendering software at MIT. I said I hadn’t, and was told I didn’t have enough experience.

I ended up taking a job from the only company who offered me one: Neo-Visuals Inc. (NVI). Located in a small 3-room office in the North York suburb of Toronto, the company consisted of Steve White, the founder, and his father Jim. That made me employee number three.

The company was a lean no-frills startup renting time on a time-shared DEC VAX 11/780 in Toronto via dialup. They had a couple of modest 8-bit graphics terminals and an SGI IRIS 1400 box, which could rotate wireframe objects in real time.

The software, which Steve had developed as one of the founders of Vertigo in Vancouver, was written in Fortran. I sat down at one of the graphics terminals, logged into the familiar VMS operating system from my Xerox days, and started rewriting the renderer.

Design & Code

As I develop my software, ideas about new features and directions spring up in my mind, and I knock them out in sprints working late into the night. As I used to in my MIT days.

The other day I thought I should implement height fields. I had written a uv-mesh class for parametric quad meshes, and subclassing that class for height fields was quite easy. I don’t care what the Clojure guys say, I like my object orientation. And especially CLOS.

The listing is the entirety of the code for this class. Didn’t take long at all. And the last expression in the code listing is what was used to generate the image at the top.

Next Episode

--

--

Kaveh Kardan

MIT mathematics degree • wrote animation software used in “Jurassic Park” • software R&D lead on “Final Fantasy” movie • software dev on “The Hobbit” films