In The Presence of A Guru (On Catholicism, VAX/VMS and Geek Culture)
Wednesday, January 25th, 2006I’m twenty-six years old. It might seem odd that, given I’m so young, I would have fond memories of an OS like VMS, an architecture like VAX, seeing a sound studio hooked up to a Sparc Ultra 5, an old man who knew everything about everything and an old Catholic sacred store employee who hacked mainframes in the 50s. However, so far I’ve taken the road less traveled in my technology career, and because of that have had a great time playing with and learning things most people would never have the opportunity to see or use. I write about that here, in particular, my experience with Gurus.
Guru Is Sacred
HR recruiters use a lot of words they don’t understand. The one word, however, I must ask back is the word Guru. Turn it over now, and pretend you never heard it. Do not ask, in your very scientific rating system for skills, if a person is “Beginner, Intermediate, Expert, or Guru”. If someone was a Guru, they would not fill out this form and they certainly wouldn’t be working for you. As anyone that has ever been in presence of a real Guru understands, there are no “Java” Gurus or “Linux” Gurus or any other demarcation. Gurus transcend all of this, and yet embrace it all as well. They are at least 50 years old or more, they do not conform to any past, current or future dress trends (go ahead and tell them about your dress code standards, just make sure I’m around when you do) and they certainly don’t care about money, fame or titles. They are as close to priests as technology will get, and hearken back to an era when technology was science and imagination, not press releases and vaporware.
When true geeks encounter such a person, we instantly sit crossed-legged on the floor, turn off our cell phones (not just vibrate) and say, with deep respect “Tell us stories!”. I’ve only met two in my life, and they were in the oddest places. You won’t find them at conferences or pitching their latest book. You have to find them, they don’t find you.
Catholic Computing
The first place I met a guru was in a Catholic store. Seriously. My father is a Catholic and, as it seems with most religions, alternates between fits of devotion and fits of secularism. During one such fit of devotion, he took me to the Catholic store in the city. Cincinnati has a deep history of both German Catholic and Jewish immigrants and so finding these exclusively Catholic stores is not hard (but getting harder). After grabbing a rosary, a few holy cards and other knick-knacks, we moved to the counter where we met a very gracious old women in her 60s who you could tell was doing this very boring and leisurely job for a higher purpose than a paycheck. As she was packing up my father’s purchases I was talking about one of the various jobs I was doing and what it entailed. I as 17 at the time, and had moved to the Delta Upsilon frat house in Columbus to go to Ohio State University. However, as I needed money, I applied for a small job at Nationwide Insurance doing mundane mainframe vs. UNIX report resolution using nothing but a thick mainframe stack of printed batch jobs, a UNIX terminal, and a calculator (it was a nice desk one though). As I found problems, I went through the C code or COBOL and figured out where the problem had occurred. I had done so well that I was hired full time at Nationwide, and school was put on the backburner in a not-so-smart move. Instantly, the woman’s face lit up in surprise and delight.
“I worked on IBM Mainframes in the 50s”
My father smiled and started to walk away, not knowing that in that moment she had given herself away and that I was obligated to stay a lot longer. Instantly her face and manner changed. She moved from extruding very stoic resignation and comfortableness about her life and her old age in to a fiercely intellectual and witty archetype of a Guru. She was more alive than seemed possible, and proceeded to tell me about her punch cards, the programs she would write, the ins and outs of the machines she would use, how her hands were sometimes bloodied by the very mechanical machines that read things in and spit things out, and the things she loved most about the math behind the machines. She worked on a program that calculated something for the government, but the exact specifics had long faded from her memory. She said she retired in the late 70s and hasn’t liked or cared for the personal computer thing that happened afterwards. She said she could never understand a mouse. I eventually left after absorbing all her stories, and her pious Catholic manner we had first seen on arriving was beginning once again to poke through as she got tired. I promised I’d come by again, and she said she’d really enjoy it, but I never did.
Solaris does Apple
Years later I would run in to another Guru. I was in the unenviable position of being picked by the director of a large company in Cincinnati to travel with him and one other person to Columbus where the company had just purchased an IVR / Interactive Voice Response company to use in connection with it’s Customer Service outsourcing business. This company was built from the ground up (the CEO actually made the custom propeller blade ceiling fans that were used in the company), everyone had known each other for years, and I was one of the lucky ones that had to learn all the technology and then take the equipment, the knowledge and the best practices back to our corporate headquarters for assimilation. Of course, the employees would be left behind. This was not a fun assignment.
The technology used was mostly homegrown as well. Because of the massive amount of lines needed to run the inbound and outbound automated call centers, the business was located right next to an AT&T POP (Point of Presence) and they were a heavy user of Periphonics and Lucent IVR software, which ran on top of Solaris 7. What was amazing was that to interface with the Periphonics IVR for voice prompts you had to use a custom language. To interface with the Lucent IVR technology you wrote in.. wait for it.. COBOL. What was also amazing was that the client for all audio recording, encoding and management was on Solaris as well. I gawked at seeing an entire sound studio hooked up to a Pizza box Sparc Ulrta 5 with a wave-editor and audio tools in a CDE interface. Imagine the maroon ugliness for a moment…
What caught my eye most though was the wall long library of technical books in the center of the building. As I walked closer, I could see they were all one publisher, but various editions. As I got closer I saw the Digital logo. In my final steps I could finally make out what they were, ten years worth of VAX/VMS technical manuals.
“Don’t touch those, they’re Bills.”, said a cold and aloof employee passing by.
Apparently, Bill was an old-skool consultant who ran the whole show and was the brains behind the entire setup. Sure there were System Administrators and IVR programmers, but the rest of the company and the connections between them were invented and managed by him, and he loved VAX. Everything was VAX. These were old systems (they still had the Digital nameplate on them) but they ran the latest version of OpenVMS for the time (1999). Although most of the technology he wrote would be replaced by the integration, there was one small thing we couldn’t replace: A web-based reporting system that all clients used to get their call metrics, written by Bill, which ran (obviously) on VAX/VMS and was written in, of all things, DCL and Perl.
I would have to meet Bill.
The Functional Guru - A Digital Rogue?
Later that week a rusted, blue car of un-discernable make and model pulled in to the parking lot next to the POP. Out came a man around 60 years old, wearing a pony-tail behind his very bald head and red sweat pants that were a little too tight for the women’s stomachs. Through the days, the outfit changed very little. For our sanity’s sake we assumed he had more than one pair of red sweat pants and didn’t ask. Others scoffed, but I admired him as having a Berkley-esque manner about him. We sat down to go over the system, and after the following turn-over weeks I became a deep admirer of his. He was, certainly, another Guru.
At first I had imagined he had put a lot of traps and complicated code in to the system to ensure a paycheck. Why else would he stick with VAX/VMS and write code away from such tried technologies and frameworks? As he walked me through the system, however, the elegance of his design began to show through. He had, after all, managed to write an entire web based reporting application that supported thousands of clients and queried hundreds of thousands of records in an application that was smaller than the HTML it eventually rendered. I now know he used a lot of functional programming methodology, basically building list-like code structures that built on top of each other and essentially became a very easy macro interface. It was a feat I would have admired had it been in Lisp, but what made it even more impressive was that it was in Perl and obscure DCL. Certainly, it was not terse, but he didn’t seem that concerned. It was also extremely scalable and customizable, in a manner than I must admit I’d still want to use an entire JavaEE application stack and code to do myself. Gradually, as I would continue to use and work with the application and expand it to our needs, it was the only part of the whole system that never once crashed, balked at a complex programming task or did something unexpected. It was a bubble unto itself, with no huge frameworks, no webservices or XML config files. It was a pure, clean web application that looked great on any browser and ran as fast as the wind.
This code could only come from a guru.
Further, he talked about why he loved VAX (Virtual Address Extension) and in particular the OS OpenVMS. He use to work on the VAX development at Digital all the way back to 1975 with the PDP-11/20, and had helped develop the software for the VAX-11 architecture. He showed me file versioning (and why it was a good idea), the special commands that allowed you to tune the kernel and how to manage the network and filesystems in a distributed manner. He talked about UNIX in general, about his days of programming for the Apple IIe, about how the old Apple’s wrote to the disk drive based on processor ticks (before the Folklore website existed, by the way) and how he first wrote the drivers for some Apple hardware for a company in Columbus. He knew, at every execution, what was going on in the compiler, in the code and in the object model. I learned more from him than I could ever say.
The thing was, whenever another programmer or manager type would come up to him, or ask him a question, he would pipe up and give the very default answers. This led them to come to the conclusion he was a hack, or at best unproductive. I knew differently, and also understood that true Gurus don’t really care if you believe they know what they are doing or not. They simply assume the engineering respect that most developers don’t get from the business side these days, and it’s most likely why they aren’t seen in very many data centers or cubicles anymore.
The Need For Elder Respect In Technology
That’s a shame, because what shows through in both of the gurus I’ve met is how they desperately wanted someone to share all of their knowledge with, their successes and their hacks that they had invented over the years. Its sad to think there are people with these great stories and knowledge without an ear to talk to. You see, the only thing that Gurus can do is teach. Not that they couldn’t code C or Lisp or C++ around us youngin’s three times fast, but that would be a monumental waste of talent. In a world where Economics has Alan Greenspan and Biology has Timothy Hunt and Paul Nurse, Computer Science puts it’s best out to pasture way too fast, making them nothing but fodder for PBS documentaries.
What they teach is more than just heroic stories or a good way of thinking of a problem, but not to give up being who we are. As the personal computer has taken off and information technology has moved from science and imagination to business cases and flame-wars on Slashdot, these people remind us that the core of who we are is also alive in them, and that in many ways they found a way to express that passion that we may never get a chance to.
When we, as programmers, rally around Linux or point to the beauty of Mac OSX or talk up the idea of open standards and open source code, we do not rally around these things individually and for separate reasons, but because we all share in the idea that technology can be something amazing, liberating and powerful even if it may have lost it’s way. Geek culture is at it’s core optimistic about humanity, even in it’s weary cynicism of today, and it’s only in talking with these gurus that we can understand that this same shared tradition of optimism is also a heritage, one we must respect.
Steve Jobs stated in his commencement address at Stanford last year that after he had been removed from Apple in the 80’s he apologized to Mr. Packard and others for letting the previous generation of innovators down. While if he did in fact let these people down could be disputed, I find in his words the best illustration of someone who understands the Geek culture, someone who understands we have a heritage to respect. I wonder if it even occurred to the companies and internet start-up firms to apologize or feel guilty for letting the previous innovators down, for losing site of the goals of technology for their own personal gain. I’m certain those who invented the World Wide Web on a NeXT box back in the 1980s or worked hard on the TCP/IP protocol in the 1960s didn’t get one red cent from the boom. Then again, these people wouldn’t care, they weren’t thinking about money when they churned away for endless hours on it. They got it.
So, don’t ask for Gurus. You don’t really want a Guru. They care a lot about the bottom line, just not yours.
