The Last Farkle
In the spring of 1983 I went to work for Digital Equipment Corporation. At that time Digital was mostly providing support for different flavors of Unix on their PDP-11 and VAX lines of computers for the telephone company and universities that were using them. However, a decision had been made to make and release a binary-only version of the Unix operating system so commercial customers could get it without having to pay the very high source-code license fee that AT&T required of them.
By the time I joined Digital, they had a small group of engineers already hard at work on a product initially called V7m-11 (Version Seven, modified for the PDP-11) and which ultimately became known as Ultrix-11. The lead engineer on this project was a man named Fred Canter.
For those of you not familiar with the PDP-11, it basically had a 16-bit address space (64K bytes of memory), which could be expanded to be 64K bytes of instruction and 64K bytes of data, along with both system and user space. The real memory of the machine could be several megabytes in size, but the virtual memory size was limited to these 64K segments. In order to fit something like an operating system into such a small space, a concept known as "overlays" were used, the ability to "overlay" blocks of instructions into memory when they were needed. Then when no longer needed, these blocks of memory were reallocated to another function in another overlay. To say that creating an operation system on this machine took concentration and planning is a massive understatement. It took an engineer like Fred.
When you came to work in the morning, Fred was there. When you went home at night, Fred was there. If you came in on Saturday, Fred was there. But Fred was not a work-a-holic, it was just that Fred was driven to have a really good operating system.
People also respected Fred's opinion. Fred was kind of quiet, and did not speak much, but when he did speak even the most respected of the other engineers quieted to hear what he had to say. People often sought him out to ask his opinion on technical matters.
There were several versions of V7m-11/Ultrix-11 that came out. The first Unix system I ever had at Digital was an old PDP 11/34 that we built from spare parts and placed V7m-11 on it. The system worked great for the three or four people we had in our group, and we used it in our day-to-day work. We named the system "shaman", a name that I maintain today on the main system I use.
Fred had a unique (at least to me) way of programming. He used key words that he had invented ("farkle", "shazbot", "Meepzorb", "Zundap", "Oregeno" and "Vvvrrrrrrtt" as examples) that he sprinkled throughout his code. If I remember right, "farkle" stood for a piece of code that he had inserted just to get something working, but did not represent "production quality" code. Nothing went out the door unless Fred could "get the farkles out".
Eventually Digital decided to retire Ultrix-11, and in retiring the product Fred decided to fix and check off every single customer customer Software Quality Report ("bug report" to y'all) associated with the product. In retiring the product we did get one last comment back from a famous university that had specialized in Unix systems...."Not a bad piece of code"....the only such comment that Digital ever got from them.
Fred went on to work on Ultrix-32 (nee Digital Unix, nee Tru-64) for several more years, but decided to take "early retirement" in 2002 and return to his native state of Ohio after a 38 year engineering career.
A few years after that a friend of mine in Brazil was looking to name a new CMS system, and I suggested the name "Fred", to honor Fred Canter. My friend took this to heart, and today there are several sites "powered by FRED". I will let him tell the story:
"I told you we had this CMS project I could not find a good name for it. Then you came up with FRED! As I was THE BOSS ;) at the time, I was able to name our CMS FRED! It didn't have to stand for anything, no acronym, no nothing, and a lot of things at the same time. Specially a tribute to Fred Canter, someone I had never met and yet admired thanks to you.
Of course in 2003 we didn't get the handful of CMSs we have today. Still, Fred is one of the main Solis' FOSS products, and it powers several websites such as the following:
www.solis.coop.br - Of course!
www.univates.br - Of course, also!
www.dobro.net - My brother and wife's agency
There are dozens more I cannot remember from the top of my mind right now.
By the way, here is the URL: http://fred.solis.coop.br
Thanks a lot for your message! And thank Fred on our behalf!"
A few days ago I got the sad news that Fred Canter was dying of brain and lung cancer, with weeks to live. Friends of his rushed across the continent to be by his side in the hospital, and then to help him in his home. People are trying to put together pictures and remembrances of this person so he can know that they are thinking of him.
I can not be with Fred, as I have commitments in South America that I know (as an engineer), Fred would want me to keep. So I write this blog in honor of him.
Ironically, on this trip I ran into a young man named Frederico ("Fred" for short) who has a lot of the same characteristics as Fred Canter. Frederico is studying computer science, and I hope that some day he will create and demand the same high quality that Fred Canter created and demanded as an engineer. I will tell the student about Fred Canter, and the things I learned from Fred.
Fred, for all those people that never had to experience a "Farkle" left in their operating systems, I thank you.
Practical Task Scheduling Deployment
July 20, 2016 12:00 pm CDT
Join Linux Journal's Mike Diehl and Pat Cameron of Help Systems.
Free to Linux Journal readers.Register Now!
- Stunnel Security for Oracle
- SourceClear Open
- Murat Yener and Onur Dundar's Expert Android Studio (Wrox)
- SUSE LLC's SUSE Manager
- My +1 Sword of Productivity
- Managing Linux Using Puppet
- Google's SwiftShader Released
- Non-Linux FOSS: Caffeine!
- Parsing an RSS News Feed with a Bash Script
- Doing for User Space What We Did for Kernel Space