My Unix Journey
When Linus Torvalds came out with Linux in 1991, I had nearly a decade of Unix administration and C development experience. And my first brush with Unix came out of my own curiosity while I was a COBOL and PC programmer/analyst for Fresno Unified School District in the early 1980’s.
C Dan Run, C Dan Program in Unix and on PC’s
A friend told me about a powerful new operating system called Unix. So, when I saw a book on Unix in the bookstore, I bought it and read it in a single sitting. And I wanted it. I wanted to know where I might find Unix running where I might have a chance to play with it.
I found out that U.C. San Francisco’s Medical school had a branch at the Veteran’s Hospital where they were using a VAX 11/750 and some PC’s for research in neurology, so I volunteered to help develop and improve C programs on the VAX and the PC. One was a handwriting analysis system and the other was a set of graphics and statistics programs on a PC. They liked my work, and soon I was being paid part time on a university grant.
4.2 BSD Unix on a VAX Four Reels
Soon, California State University, Fresno opened up their Computer Science Department and needed a full-time technical person to install, configure, and manage their equipment. So, when I started, a student consultant handed me a few 9-track tapes for VMS and Unix and said he was moving to Los Angeles.
My system was a VAX 11/730 with 1 megabyte of memory and 110 megabytes of disk. That system ran VMS some days of the week and Unix other days. Fortunately for me, the faculty decided to stop teaching VMS and focus on Unix. And I was given the names and phone numbers of Unix system administrators at a C.S.U., Stanislaus and San Diego State University.
I called Casey in Stanislaus and we set up a UUCP connection between his PDP 11/70 running 2.9 BSD Unix and our VAX. Unfortunately, no driver had been developed the Hayes modem we had, so I copied another modem driver and modified it to work with the Hayes and voila! It worked. So, we set up UUCP connections and configured sendmail and UUCP to relay email. And for us, that was really, really cool!
VAX 11/785 – A “Real” Unix Machine
Our little VAX was dog slow and low on disk space. And funny thing, but I found a company selling off an old Apple Lisa with Xenix, accounting software, and two 5 megabyte disk drives. I also found a company who sold additional serial ports for the Lisa, and I found my Lisa performed under Xenix almost as well as the VAX, though with much less disk space. So for grins, I brought it down to my dungeon where the VAX was, wired in some terminals, and let students use it together with the VAX.
At that time, the Engineering Department had a beautiful VAX 11/785 running VMS, and they were shorthanded and needed someone to customize their CAD and engineering software to work with their Tektronics color terminals. So, the head of the Computer Science asked me to give half my time to the Engineering Department.
The programs were written in Fortran under VMS and included GTSTRUDL and some other software. When I was done, I was able to represent structural engineering designs in code and simulate stressors such as seismic shocks and wind and simulate the deflection both visually and numerically and identify which elements were most likely to fail.
I fell immediately in love with this VAX. But, my projects were complete and my time with the Engineering Department was over.
Then Harold, the department head gave me the good news: the Computer Science Department received an extraordinary deal on a VAX 11/785. When it arrived, I installed and configured 4.3 BSD Unix immediately. It was a fire breather–a system with a faster clock speed and two whopping megabytes of memory not to mention 400 megabytes of disk! Ok, I know. Your ancient Palm pilot would blow that out of the water, but at that time, this power put a lump in our throats.
AT&T System V
About the time the VAX 11/785 arrived, AT&T donated a 3B5 to our department and donated a 3B15 and several smaller 3B2 systems to the Agriculture Department. Convergent Technologies also donated several MiniFrame workstations, and suddenly we were busy setting up Unix systems everywhere.
While faculty discussed pros and cons of Sun Workstations and Intel based Unix systems, I continued wiring systems up, getting the video projector working, and helping faculty with their MacIntosh and PC systems, and helped students learn Unix, Turbo Pascal, C, Cobol, Fortran, Lisp, Prolog, and other things related to Computer Science.
I made many friends among the faculty and students at C.S.U., Fresno who are still friends to this day. But, when I was young, it was hard for me to be caught between friends fighting constantly over department finances and politics. Several years, I learned to help resolve conflicts more effectively and learned to enjoy it. But, at that time, I felt I would be happier working independently than in this politically charged environment.
Independent Unix and PC Consulting
After leaving C.S.U., Fresno, their Agricultural Department called to have me install and configure their AT&T 3B15 system and several of their smaller AT&T machines, and I soon found I loved working as an independent consultant for awhile.
A small phone company learned about my skills in Unix and called to have me work on their Unix workstation. An actuarial firm hired me to put my mathematical skills to work and create spreadsheets with sophisticated pension plan calculations, and I considered becoming an actuary.
Engineering Calculations on Steroids
A friend at church owned a small civil engineering firm and performed many of his calculations on a microcomputer. One flagpole footing calculation had do be performed iteratively. It took several minutes to run and did not provide very accurate results. I rewrote the program and produced highly precise results in 1 1/2 seconds. Deeply skeptical, my friend ran several calculations and checked them, and when he finally became convinced, he wanted other programs modified as well.
dBASE III+ Programming
The Adult Literacy Counsel and the Cancer Registry called on me to develop dBASE III+ programs for dealing with seminar registrations and tracking donors. And, in the gaps between projects, I built and sold PC’s. I also evaluated and considered getting involved in selling Aircraft Maintenance maintenance managing systems for airports, but did not feel ready.
HVAC Accounting System on Xenix
Then HVAC company hired me to purchase, install, and configure a multi-user Xenix based system with accounting software for HVAC companies and to train their staff to use it.
Unix Administration for NASA
Soon to be married and desiring more steady work, I took on a contract to work with NASA Ames Research Center as a Systems Administrator in July 1989. There, I managed a VAX 8800 running VMS and a network of Sun workstations, a MIPS system, and a Sequent. I was also asked to do research and development of a project plan to migrate the Information Sciences Division from VMS to Unix.
Due to budget cuts, a friend within NASA clued me in on the possibility that my position and the position of one of my two assistants would be eliminated at the end of my contract, and Ingres made me an offer.
Heintz 57 Variety Unix and Ingres
Ingres initially hired and trained me to join their staff of about 200 technical support engineers. I was trained in the installation, configuration, and administration of Ingres as well as professional support, customer satisfaction, and time management.
Since Ingres was supported under VMS and nearly every variant of Unix, part of our training involved installing Ingres into our internal tech support systems where we scripted and tested bugs so Development and QA engineers could develop fixes. We provided work-arounds where possible and tracked and delivered patches and maintenance releases when appropriate.
Internal Unix and Database Support
Soon my system administration skills were very apparent to the team. So Ceferino Lamb and I formed the Internal Support Team. Initially, we supported approximately 80 Ingres Installations on approximately 40 variants of Unix and VMS, and I performed many Unix system administration duties as well. I was then sent to USENIX in Nashville, Tennessee to study advanced systems administration and was shocked to find out just now nerdy and geeky the Unix wizards were. In truth, we were probably all looking at each other and thinking that way without really noticing, “Hey, I’m one of them!”
One of my duties in the Internal Support Team was to serve as a liason to Cray Research. Ingres ran in Cray Y/MP and X/MP-EA systems, so Iwas sent to Minneapolis to take a course and get to know some of the database porting engineers there. The Cray cafeteria reminded me of a church retreat in the mountains, and the data center was the most beautiful data center I had seen with various Cray models in various colors. They told me that if you’re paying millions of dollars for a Cray, you should have the right to choose your color.
Then came the shock of my employment at Ingres. I was in my temporary office at Cray early in the morning when one of my friends at Cray told me Ingres had been acquired by ASK and that I should call my manager. I grabbed the phone immediately and called, but there was no answer. I felt as if the rapture of the church had taken place and I had been left behind. And, then we all remembered we were two time zones ahead of California and it was only 6am at Ingres. I waited a couple hours and called again, and my manager laughed. Of course I still had a job.
So Many Unix Variants
People wondered how I remembered so many Unix variants. In truth, it was not as difficult as it sounds. If you categorize the Unix variants by their foundational structure, you have those based on AT&T Unix, Berkeley Unix, and Mach. And then you have a few attempts at dual universe variants such as Encore, and older versions of Pyramid’s and Sequent’s Unix offerings, and Convex. But, most, by and large, were very close to one of those three variants. A few like Apollo and Prime were entirely different, but most stayed close to their foundations.
All in all, I supported Ingres installations on approximately40 variants of Unix and VMS for Ingres, provided Sun desktop supportfor Direct User Support, and support of Unix systems for the Education Department. I also trained staff in quality assurance for the Ingres installation packages and served as the final sign off approving distribution of new product to customers.
Ding Dong, Oracle Calling
At Oracle, as a Senior Unix System Administrator for Production, I served on the security response team together with Mary Ann Davidson and several others, served as the point person for scanning the systems and mentoring the system administrators in shoring up security.
At home, over the years, I downloaded or purchased and installed FreeBSD and various flavors of Linux including Slackware, Turbo Linux, Redhat, Fedora, Mandriva, Centos, GoS, Ubuntu, and perhaps others.
During my graduate studies in Advanced Systems and Databases at Stanford University from 1994 to 1997, I did most of my software engineering projects on my own Linux system, tested them, and ported them to the Solaris and DEC Unix systems at Sweet Hall for credit.
Professional Linux Experience
Early on, Linux was not considered a commercial operating system. By the time I went to work at Clickmarks, Linux had nearly nine or ten years to mature into a commercial product.
At Clickmarks, as Chief Systems Architect and Director of Operations and Information Systems, I built the IT Department responsible for all internal and external systems for the company and helped build the Support and QA Departments. Functioning as a hands-on director, I purchased, configured, installed, and managed several Linux web and database servers while hiring the team responsible for ongoing support. Our environment consisted of several routers, firewalls, intrustion detection devices, Apache based servers with FastCGI, load balancers, Oracle servers, Tomcat, email, and other services.
In 2001, I moved back to Fresno following a divorce and built several websites, first using my own Linux systems, and then later, using C-panel hosting until I got tired of it and reverted back to using a Virtual Private System which would allow me to enjoy full Linux control. There, I installed and configured Apache, PHP, memcache, APC, MySQL, WordPress-mu, and set it up with automatic subdomains and multiple virtual websites.
In 2005, I provided technical administration of PeopleSoft installations on Unix systems for IBM’s customers of their Applications on Demand service, and from 2007 until recently, I trained, mentored, and assisted the system administration team in Linux and Solaris administration while architecting and developing pharmacy reporting systems based on Perl, shell scripting, and Oracle PL/SQL.