A short while ago, I was thinking to myself about all the interesting people we have using OS-9. They have so many diverse backgrounds, interests, and beliefs, yet they all love OS-9. I know most of them pretty well, since I talk to many of them rather frequently. Yet, I'm sure many people would be very interested to read an interview of their favorite OS-9 personality. So, that's how this article has come into existence. If you have a particular OS-9 person in mind whom you would like to see interviewed, please send me a letter (mail or e-mail) and I'll see what I can do!
This being the first interview, I suppose I should answer questions before expecting anyone else to answer mine. Boisy G. Pitre was kind enough to play the role of the Interviewer and ask some very probing questions. My thanks to him!
Accomplishments: Commercial software (CheckBook+, Etha-GUI, Write-Right!); Columnist for 68'Micros magazine; Editor of MOTD; hard-working college student.
BGP: At what age were you introduced to computers? What was your very first computer?
JMH: I was introduced to computers when I was eleven years old. I was in sixth grade and my school had 16 Color Computers networked via the cassette ports to one main CoCo system with a disk drive. Soon after I wanted my own computer, so I sold my Atari 2600 game system to buy a Commodore Vic-20 computer. There were many things I liked about the CoCo and the Vic-20, so I learned to program in BASIC on both of them. After a couple years, I bought a Color Computer 2, and later a Color Computer 3.
BGP: What was your very first computer program?
JMH: That's a tough one to remember. I was very interested in HOW computers worked, rather than just learning what words to type in to play a song or count to ten. My first programs were ones that may seem pointless (and probably were, like "J- BASIC"... a BASIC interpreter that was written in BASIC), but the experience in writing those types of difficult programs gave me a depth of understanding about computers I doubt I could have achieved otherwise. My harshest critic has always been myself , and it was always important to push myself a little further... I've always had to prove to myself what I think I can accomplish.
BGP: What is your programming style? Haphazard? Structured? Object-oriented?
JMH: When I started programming (under BASIC), the term "structured" was never mentioned in any of the books I was learning from. I would say my first programs were quite haphazard, but I started learning structured techniques on my own. Under BASIC, I would have my certain subroutines that could be called from anywhere within the program using a set of "standard" variables (standard only to myself). For instance, my keyboard routine always started at line #900, and would use the variable IN$ to contain the entered text. ML (Max-Length) could be given a value to limit the maximum length of the entered text. By further thinking about how to modularize my programs, I developed the fundamentals of structure. Now my style is quite structured, in part from my formal college training.
BGP: How do you feel when you hear other people are getting good use out of your programs?
JMH: To be honest, that is what I program for. I am always truly touched when someone takes the time to let me know they enjoy what I have created. I used to write game programs on my Vic-20 and CoCo2 computers, but didn't really know many other people in computers to share my creations with. So, I was constantly showing off my new programs to my younger sister, who seemed to enjoy playing the games. That was a good boost for me, and since that time I've been very blessed to become a recognized name by so many people. This has been great for me, personally, because I'm able to distribute my software to a larger audience and converse with the people who enjoy it.
BGP: What is your programming forte? Utilities? Applications? System software? Games?
JMH: I would say Utilities/Applications. I did dabble in game programming for a while (and still do, occasionally), but I much prefer being able to write software that does amazing things without worrying if the action is fast enough, will digitized sound slow down the game-play, and all those other time-critical game programming decisions. This is not to say I don't focus on improving the speed and efficiency of my programs! It's just the different approach that I seem to enjoy.
BGP: What programming languages and development tools do you employ when writing commercial grade or public domain software?
JMH: A few years ago, I graduated to C programming. It is by far the best language for writing software that I have used so far (and I've used quite a few, including BASIC, COBOL, FORTRAN, RPG III, and several assembly languages). As for development tools, aside from the standard libraries (like CGFX.L), I write my own software to help me along. Even with the libraries, I generally use only the very elementary functions, since I have not always been privy to the newer versions of libraries. The result is I've written my own pull-down menu, push-button, scroll-list, etc. routines rather than relying on a library function written by someone else. To be honest, I wouldn't have it any other way. I feel that employing my own customized routines gives my software a distinctive look-and-feel that sets it apart from other software.
BGP: Do you have a computer programming mentor? If so, who?
JMH: I know this will sound like a cop-out, but my mentor does not exist in reality. Rather he's in my mind's eye, whose qualities are taken from many different computer programmers. Unfortunately, computer programming is not like other careers where mentors are extremely visible and prolific. Thinking about some programmers I admire who have contributed to my mental-mentor are James Jones (for his depth of knowledge on such a wide range of programming topics), Mike Haaland (for his attention to user interfaces, graphics, and his wonderful personality), and my university professor, Sally Betz (for her eloquence in explaining the complexities of computer programming in a way that the novice can understand, yet keeps the attention of the more advanced students).
BGP: We know Joel Hegberg the computer programmer, but give us a glimpse of Joel Mathew Hegberg the person. Tell us about yourself. What are your other interests and hobbies?
JMH: There are times when I have to get away from computers for a while. Usually, this means getting together with some friends to play games, see a movie, or just go on a long bike ride. Camping is one of my favorite summer activities. My family has always gone on camping trips since I was very young, and I enjoy the tranquility of the outdoors immensely. Amusement parks are also towards the top of my fun list.
I also really enjoy reading... both about computer programming and a wide range of other topics. I have a passion for Astronomy and like to keep in touch with the latest findings and theories. My favorite author, and the person I respect most in the field, is Stephen Hawking. If I were a professional Astronomer or Astrophysicist, he would be my mentor. Aside from non-fiction, I also love reading fantasy novels -- books similar to The Hobbit.
BGP: What are your thoughts regarding the current shift from structured programming to object oriented programming?
JMH: I've actually spent a couple semesters programming on an IBM AS/400 system, which is a completely object oriented based system, including the OS. It was a unique experience, to be sure. In retrospect, I believe object oriented programming can be taken too far. I believe object oriented programming complements structured programming, but does not replace it. I view it as merely another tool with which programmers can help bring their abstract ideas into existence.
BGP: Do you personally use the programs you write?
JMH: Yes, I do. If I don't like and use a program I've written, it doesn't get released. Generally, however, my main motivation in writing a program is due to the lack of software for a specific task that I want to do. So, if I write a program to fill the void, it becomes the only software there is to use anyway. For me, I prefer using slick user interfaces to get things done quickly and to show off my computer to my friends. Since I focus on the user interface when writing my software, I tend to enjoy using it over other software.