Friday, December 8, 2017

Persevere

Computers have always interested me, so of course there came a time when I wanted to learn more about them. And I did. This was before home computers, before the IBM PC, before anyone had ever heard of a little company called Microsoft.

I began by teaching myself how to code in assembly language for the MOS Technology 6502 processor. When the Osborne One became available I bought one and taught myself to write assembly language for the Osborne’s Zilog Z80 processor, and I learned how to write programs that could run under the Osborne’s CP/M operating system. I spent a lot of hours writing various programs in Z80 assembly language.

Eventually, I got a job designing data acquisition computers (and the analog sensor boards used to acquire data). I designed and built a computer board using the Motorola 68302 processor. Of course, the first thing I had to do after building the board was to write the communications code the processor would have to execute in order that I could talk to the board. I wrote that code in 68302 assembly language — a computer language I had never used. But I had a manual on the CPU and it explained the processor well enough. Bringing online a new, untested computer board running new, untested software was an interesting experience. If the board doesn’t work, is there a problem in the hardware? Or is there a mistake in the code? Or both? I got lucky — my new board worked flawlessly and so did my communications code. Sometimes I surprise myself. Did I build that?!

Eventually, I moved up to high level languages. I taught myself how to write code for languages like C and C# and Visual Basic .Net (pronounced dot-net). I taught myself how to create programs for the Windows operating system. I wrote some Pascal code for program installers — and I don’t even know how to code in Pascal. But by looking at and studying Pascal code, I was able to figure out just enough to accomplish what I needed the installers to do.

It’s amazing what a person can learn to do by himself (or herself). For years I designed data acquisition computers for a living, using know-how that I acquired by reading data manuals and experimenting at home. People think it’s easy, as if I have special abilities or a knack for computers. I’ll never forget what a friend who ran a robotics company said to me long ago. “People think it comes easy to me, but they don’t see the long hours I spend at home reading, studying, re-reading, again and again in order to pound that knowledge into my brain.”

It’s like telling a pianist,”Of course you play beautifully. You have a special talent for playing the piano. I could never play that well.” Such a remark would be moderately insulting, because the speaker is dismissive of the tremendous number of hours the pianist has spent in music lessons and practice sessions. Most goals are attainable, providing one is willing to put in the hours and do the work.

American inventor Thomas Edison put it this way: “Genius is one percent inspiration, ninety-nine percent perspiration.” Edison meant that skill or expertise is largely the result of much hard work. I couldn’t agree more.

No comments: