This was supposed to be some notes for a possible idea for JCrete this summer. How it became a history of my start as a computer programmer is beyond me but once I started writing I couldn’t stop.
The first programming language course I took was FORTRAN in 1971. I took it in college when code was keyed on punch cards. I was 17 and sex, drugs and alcohol were what interested me most. I couldn’t type and still can’t. FORTRAN did not ignite a passion in me.
Fast forward to 1980 and I’m 26, recently married and working in a mail room. There was so little to do during the work day I started buying magazines and the ones I bought most often were computer magazines such as Byte, Creative Computing, and Micro6502. After about four months I made the decision to buy a computer.
My landlord had a Commodore PET (Personal Electronic Transactor) and while he took every opportunity to show it off to me all I remember is that he had to run the cassette tape two or three times to get it to load. Fascinated none the less I discovered two computer stores in Montreal in addition to Radio Shacks that sold TRS-80s.
Radio Shack was off the table because I could not find an employee who knew more than to tell me it had “beautiful plumage”. The next store, called Future Computers, had a few different machines such as the PET, the TI/99 and the Apple ][+. They were as knowledgeable as they could be and were happy to let me play with the different models. The last store was called Central Distributing. They were primarily a Hi-Fi and TV store but in one corner they sold Apples. The employee was the most knowledgeable one I had met anywhere. More significantly was that there was always a few other people who already owned an Apple or others like myself trying to decide which computer to buy.
There was a community at Central Distributing (still in business but no longer selling computers). It was the community that convinced me to buy an Apple ][+. The base unit had 16K of RAM to which I added, for $380, another 32K of RAM. My last addition was to buy a 5 ¼ floppy disk drive for $700. That floppy drive made me the envy of the other Apple owners who still used a cassette recorder.
My wife Cheryl and I, mostly my wife because she had a better job, borrowed $3000 from a bank with $2000 for the Apple and $1000 to remove the rust from our GMC van. Vanning as a means of travelling was big in the seventies and early 80s. I built an RV style interior myself. Good times and good drugs but that’s a story for another blog.
I sold the idea of getting the Apple computer to my wife by describing it as the best toy I could ever want. I called it a jungle gym for my mind that was becoming stagnant by just working in a mail room. We were just married and no kids yet. I changed jobs not long after buying it and getting our van de-rusted. I became a photography technician at the Dawson Institute of Photography of Dawson College. I was responsible for managing the inventory of equipment that the students used and mixing the various chemicals used in black & white and colour photography.
But when I got home after work, I spent all my free time on my Apple. We couldn’t afford a real monitor and with a resolution of just 40 x 25 I could make do with my wife’s old 9 inch black and white TV. I was obsessed and proceeded to type in almost every program from the magazines I bought. I remember typing in a Space Invaders game and I thought it was the coolest thing. I started modifying the programs. They were all written in Apple Basic that was the second programming language for the Apple. It was written by a small company run by Bill Gates. Prior to Apple Basic there was Apple Integer Basic written by Steve Wozniack but when Apple went from Apple 2 to 2+ the Bill Gates version became the standard.
One task at the photography school that the faculty worked on three times a year was scheduling. There were three groups of photography students, morning, afternoon and evening that had to follow a 15-week semester schedule. The groups were broken down into sections. There were classroom lectures, photo lab and studio lab courses. The faculty would spend two or three days preparing the schedules. In my arrogance I announced, after only having had a computer for a little over a year, that I would write a scheduling program.
I modeled the data structure inside a multi-dimensional array. I’d begin by randomly assigning courses, teachers, and rooms while verifying that I was meeting all the requirements. For example, a course might need to have so many studio hours a week every week and there were multiple sections in the time block competing for the studios. A piece of cake, I thought. If my algorithm got stuck, I planned to unroll backwards and try another arrangement.
It never worked. I could get to about week 10 or 11 and then I could not get any further. My truly amateurish algorithm would end up unrolling back to week 1 and then proceed to move forward but never past week 11. But boy, did I enjoy the coding even if it was a failure. I was now certain that this was my life’s passion. Now, could I salvage anything from this considering I had made promises I could now no longer fulfill.
One component of my system was verification. It contained the rules for a proper schedule and it determined if the schedule could work. As I said, the scheduling process was a two or three day affair plus a day to prepare schedules to be printed for the students. What if the work the faculty did was immediately entered into my program? It could inform the faculty right away of any errors or omissions in their work. Once a schedule was verified it could then print out the schedules for each section. This is what I presented to the faculty. It turned the time from the beginning of manual scheduling to producing error free student schedules to less than two days. I even brought in my own computer and printer to be used as the college did not have any computers at that time, early 1982.
Dawson College, in the early 80s, had decided to set up computer labs with Apple computers. The Dawson Institute of Photography was managed by the Continuing Education department of the college and its managers were aware of what I was doing when I wasn’t mixing chemicals or fixing cameras. I was invited to speak at a general faculty gathering about small computers. Dawson already had a three-year Computer Science Technology program but it was exclusively mainframe. I was one of a handful of employees who were also computer hobbyists and my Schedule Verification System was an example of a useful application of these new small systems.
The presentation was a success. It was the first time I ever did anything like that. Immediately afterwards the chair of the Humanities department asked me if I wanted to teach a Humanities course. I was flattered and puzzled. I had just spoken about my experience with an Apple computer and not philosophy. He told me that what he liked was my style. I could educate, entertain and captivate an audience. He told me that these skills were not common in his faculty.
I enjoyed the moment. It was an unexpected offer. Then I had to reveal a truth. After high school, that finishes in grade 11 in Quebec, I went on to a two year college as preparation for a university undergraduate program in Science. Dawson College is one such college although I went to different one. I failed miserably in college. I was expelled after my first semester and then got a job as a shipper at a surgical supply company. I returned to college the following year and while I lasted the whole year, I only passed 3 out of 12 courses. It simply came down to the fact I found other activities rather than schoolwork more fun. Not an original story.
The chair of Humanities said I shouldn’t worry. He’d fix it so I could get hired. He couldn’t. Not long after that the Continuing Education department decided to offer computer courses. As they were non-credit the hiring criteria for regular day courses did not apply. They hired me to teach introductory computer courses.
During this period I became involved with an early users group called the Montreal Apple Core. We met once a month in a church basement. I volunteered to produce the club’s newsletter. I gave some presentations and for a short period of time became the president. If anyone from that period reads this then let me admit that I was a terrible president.
There was a magazine store that carried magazines and books mostly dealing with computers called Le Camelot. They agreed to carry our newsletter that I produced on an old Gestetner copy machine and later with a photocopy machine. You can see images of the magazine throughout this blog.
One day I got a phone call from an engineering firm. They had a contract to build a control system for a water filtration plant in the Montreal area. The plan was to use Apple ][+ computers to control the filtration process and they asked if I could program a graphical user interface. It would show the various stages and readings of the filtration process. As I looked at the palm of my hand I assured them that I knew how to do something like that the same way I knew the back of my hand. I now had my first commercial programming job.
My interest as a photography technician was waning. Truth be told my enthusiasm and the quality of my work was diminishing. When the students met with my supervisor to complain about me I knew it was time to go. With the support of my wife I resigned from the Institute of Photography. By then I was teaching several non-credit courses not only at Dawson but at other colleges. This was enough to cover our household bills as our first child was now a year old.
Between the time I left the photography school in 1983 until 1991 when I became a full-time faculty member in the regular day Computer Science Technology program there was never a time I wasn’t coding for clients. During my first few years as a teacher I continued doing some contract work but I dropped that as I started teaching non-credit evening courses at Concordia University. I even went back to school in the 90s and made up for my failed college time and got as far as two years into an undergraduate computer science program. The need to pay the bills had me doing more evening teaching so I never finished that degree. At least I wasn’t expelled.
If the mood strikes me one day I may write about what I did as a free lancer and that will be part 2. There are some good stories from that period, some I still tell my students. Seven years ago I stuck my head out of my education fox hole and became part of the wider software community by writing, speaking at conferences and even by organizing a conference. I have never regretted the choices I made. I have suffered from impostors syndrome but it never held me back from taking on anything presented to me.
I turned 65 this year. It is now my 30th year at Dawson. After 21 years as chairperson and program coordinator of Computer Science Technology, I stepped aside this year to return to full time teaching. I’ve toyed with looking for new opportunities but I’m not sure I can give up the life style of a teacher. At a luncheon just the other day one of the younger faculty whom I hired gave me a small novelty plaque that stated the 3 reasons for being a teacher; June, July and August. This is what I told him when I convinced him to leave industry and join us.
Ken Fogel, June 10. 2019