Revisiting interfaces and computer education

Over four years ago I wrote a piece on computer interfaces (logical and physical), looking back on it I could have done much more with it but, I can often conceptualize much more than I can actually execute. Yesterday I came across a blog post by John Goerzen, a software developer from Kansas. In this piece he talks about how he introduced his young children to computers starting with the time he and his, then three year old, son built a computer together and more recently, he introduced his kids to a limited GUI in the form of xmonad.

This story reminded me of my own experience being introduced to computers. When my parents were preparing for my birth in the early 80's my father convinced his employer to provide him with computers which he could use to work at home, they responded by providing an AT&T (ATTIS) workstation for our home. I grew up with my parents letting me occasionally 'play' on the machines we had. Before I could read I was learning to navigate AT&T System V UNIX, CP/M-86, and DOS on AT&T workstations, learning to type my name in various editors including Wordstar (according to my father, managing to wear out at least one keyboard along the way) and working my way up to figuring out how to bring up such 80's stalwarts of computer entertainment such as Tetris: The Russian Challenge (at the time having a picture of the Kremlin rendered in code page 437 was amazing). By the time Windows 3.0 was released I was the one in the family who had to figure out how to install it (along with the new hardware that became available with the introduction of the early Windows Multimedia Extentions such as CD-ROM drives and sound cards) and then show my parents how to use it.

These early experiences determined a lot about both how I understand and interact with computers as well as how I dealt with computers when I was in school as a child. Until very recently I was still having to help my father run the copy of Lotus Organizer (for Windows 3.0), which finally ended when he had to replace a dead XP machine with a 64-bit system running Windows 7 which would refuse to run 16-bit executables. When I first received formal computer classes in grade-school I had been using Unix and IBM compatible CLI systems for several years and was frustrated by the kludged together Apple II machines we were given to use, that we were only allowed to run Logo-BASIC, that we didn't have the greater control I felt the IBM-style keyboards provided. For children in the New York City public schools of the late 80's and early 90's  'computer education' consisted of Logo-BASIC and typing classes, boring and frustrating for someone who had experienced the power and variety of university software libraries for Unix and CP/M, and limiting in later life. At what could have been a critical opportunity for introducing children with a minimum of preconceptions, school programs forced students to progress in lock-step and actively discouraged exploration and understanding of the underlying concepts that made the computers work at all; emphasis was placed on touch typing (on non-standard keyboards) and learning non-transferable skills (Logo-BASIC, useful for learning the essential structure of BASIC programs but useless if you don't introduce data-structures, variables and all of the other components of real programming).

In Middle School the technology lag was heightened. Every classroom was receiving PCs with Windows 9x attached to a shared T1 at a time when most homes were getting online (if they were at all) with 56kbps analogue modems and AOL (or their dwindling competitors), yet NYC's public school computer classes still used the same Apple II's I had been introduced to years earlier. Instruction in computing was now a strange mix of basic typing and rudimentary instruction in how to navigate the World Wide Web (at the time a very cutting edge term since we hadn't even started the Dot Com bubble). Alta Vista and Doom II ruled the world.

In high school the Dot Com bubble was in full swing, aDSL was beginning to enter the home, and I was being denied entry into my school's computer science program. No matter, I spent my free periods and lunch times building the Comp Sci classes' computers and robotics labs from spare IBM 386s in the metal shop and completing the left over Comp Sci class exams as a way to kill time while waiting for OS installs to complete. Eventually I transferred to a high school which offered internships and practical skill demonstrations for course credit, I spent my remaining terms bouncing between corporate law firms' IT departments and non-profit advocacy groups. Learning to navigate Dell's enterprise support phone system trumped any actual technical ability. Even amongst the full time staff, no one had a college degree in IT.

Cue college, the Dot Com bubble has begun to collapse, the concept of networks and broadband connectivity has begun to enter the home I have been running Linux since Widows 98/2000 (an actual OS build variant, not the semi-contemporary OSes) began erasing my hard drive every six months. I have convinced my father that a router and DHCP server are important for allowing the whole family to share the aDSL line and am still trying to explain that a 100Mbps ethernet switch and a 10Mbps Ethernet hub are significantly different. WiFi becomes something that a university student plugs into the PCMCIA port of their laptop (if you are one of the 20 or so students at the university which own a laptop). By the time I have transferred again I am arguing with the college's IT department about the blocking of Usenet News, IMAP and SMTP while Windows XP and built-in 802.11 NICs have finally supplanted Windows 2000 and plug-in wireless cards. Eventually I drop out of college because no amount of Adderall and Jolt can keep up with the demands of working 12-hour/day remote support jobs and 8-10 hour/day class schedules. The idea of a degree in applied computer science (IT) is only embraced by 'colleges' which advertise on subways and offer it as a course of study alongside programs in HVAC repair and GED completion.

Fast forward several years, I am at the local Department of Labor office, fulfilling the required skill and job search review. The gentleman in front of me in line is a recently laid-off IBM mainframe engineer, both of us receive the same response from the clerk: 'Wow, computers... you know, we offer classes in computer skills. We teach you to make a resume on a computer and show you how to use Office.' They are proud of this. I try to explain that I was using and working on computers when MS Office was introduced, that I still have install disks for Word 1.0 and DOS. They think I need classes in typing and using a mouse.



A short post this time while I try to rein in a much longer (and more rant-y) piece on a more serious topic.

I have never hidden my extreme dislike of Steve Jobs. I object to his deification by his followers^Wfans and the popular media. I found his attitude grating, his business practices and ideology distasteful, and his hypocritical, narcissistic self-aggrandizing at the expense of the brilliant engineers, designers, and developers who actually made the devices and products he built his fortune and reputation on to be repugnant.
So, I will certainly not be seeing the latest whitewashing of his legacy starring a current Hollywood darling.
I do not think you should either but, you do not have any reason to take my word for it (see the preceding several lines), just take a look at Steve Wozniac's reaction to this movie (https://www.google.com/search?q=Wozniak+reviews+Jobs, no I won't link directly to most of the sites because they are from Gawker) and decide for yourself. I will stick with "Pirates of Silicon Valley" and "iWoz".

Unlike Jobs, I have faith in my readers to be able to make their own decisions.