Why are you writing an FAQ?
Mostly just for the fun of it. There are questions that I get asked fairly often either in presentations I give, talks with people at conferences or email or instant messenger conversations. I just thought I’d write some of them out for my own amusement. Once done, why not post it?
What did you really do at Microsoft?
My job was to work with K-12 (which means mostly high school) computer science teachers on curriculum issues related to Microsoft products. I maintained a blog with helpful information for teachers, spoke at conferences, gave training at various times and places, reviewed and helped develop curriculum resources, answer questions via email, IM and phone, and generally tried to make myself useful. I was also an advocate for educators to Microsoft. I spent a good bit of time talking to people in development groups about ways they can add features to products, especially Visual Studio, to help teachers teach better.
Have you ever met Bill Gates?
I met Bill Gates once. I was part of a small group of people who meet with him to review some tools related to CS education. He sat next to me while I demonstrated some software. It was a very interesting experience.
Have you even been to Bill Gates’ house?
I have seen his house from the water on a couple of dinner cruises but I have never been invited to his house.
Have you ever met any other famous computer people?
I have met Ray Ozzie (MSFT Chief Software Architect for a while), Steve Ballmer, Jim Miller, Jim Grey, Tony Hoare and Robert Scoble all of Microsoft at the time I met them. I was able to meet Grace Hopper who is my personal hero in the industry several times. I also met Ken Olsen (founder of Digital Equipment) once.
What do you think of LINUX?
I think it is great that there is an operating system like LINUX available for people to play with, view the source code of, and generally use as a learning tool. I would not want to have to use it on a regular basis though. I have used various forms of UNIX off and on for over 30 years and never been favorably impressed with its usability. If I want to use an old fashioned operating system I have an account on a VMS system.
What is your favorite programming language?
What day is it? Seriously though I have used various forms of BASIC to write programs for fun and profit for close to 35 years. Visual Basic 2005 is currently my language of choice for most programming I do. But I really like C# as well. So C# gets used by me quite a bit when I work on projects with people who like their languages to have curly braces and semi-colons. Or just when I want do things a little differently.
What other programming languages do you know?
FORTRAN, COBOL, DIBOL, PASCAL, C, C++, Java, and J# are all languages I have either programmed in professionally or taught or both. I’ve also picked up bits of a bunch of others. You can’t be in the computer business for over 30 years and not pick up a few languages. To be honest I can't remember all the languages I have toyed with. It never stops. Lately I’ve been playing with Python a little as well as some Scheme. I’ve programmed in over half dozen assembly languages over the years (for 12, 16, 32 and 36 bit processors and various operating systems) but never get really good at any of them.
Why don't you build your own computers from parts?
To start off, I got tired of installing hardware back in the early 80s and pretty much just buy a new computer when one dies. Back in those days a software installation meant knowing a good bit about hardware. You had to know lots of details about the hard drives just to format it correctly. You had to do the format as part of the installation. Testing the installation usually meant that you had to connect some additional hardware, usually terminals but sometimes printers, to connections that were not so obvious and simple as today's connections. I used to help configure computers for salespeople as well. To do that you had to know what cables (by part number and specification) were required to connect what hardware to what other hardware. For example what sort of controller was required for what sort of disk and what cables connected the disk to the controller and the controller to what part of the computer. It was complicated. In fact it good serious advances in artificial intelligence before humans could be replaced by computers in the process. I'd moved on by then and am glad of it.
By the time PCs started becoming really available I was long past wanting to play with the hardware. In general I prefer to buy my computers all ready assembled these days. Oh I'll install a new drive, some additional memory or a new keyboard if one breaks. But as soon as a motherboard goes or more than one or two parts need replaced that is a signal to go shopping for a new system. In the early days of PCs a lot of people kept asking me why I didn't build my computers from scratch. After all, they kept telling me, I could save a lot of money that way. Well I guess I could save money if I didn't value my time or if I thought of the time spent researching what worked with what and then putting the computer together as fun. But I do value my time and doing that research and assembly is not fun. It's stuff I used to get paid to do and frankly I can't afford me. So to be honest I seriously doubt I could save enough money to make it worth while once all the options are weighed.
Computer companies spend a fortune on good hardware engineers who do the work to make sure things run well together. Sure a lot of things will just go together and work ok. Sometimes you'll even luck out and things will work great. Unless you are an engineer or otherwise very highly knowledgeable on all the latest hardware options luck is what it will take. Learning about all the latest hardware and what works well with what and looking up all the specifications for everything is real work and not something I really enjoy. Based on the level of knowledge of people working in computer retailers lately I'm sure not going to trust their recommendations either.
I'm a software guy so I figure I'll worry about that and let the hardware companies solve the hardware interaction problems. If I need a new computer I'm going to buy one already made. That way if it doesn't work I have someone else to blame.
Don’t you ever sleep?
I actually do get this one a lot. Generally people think I am up very late or very early because they think I am in a different time zone than I really am in. The other thing that happens is that I am one of those addicted people who when they get up in the middle of the night to use the restroom or get a drink also stop by the computer to check email. So it appears that I am awake at some very odd hours. In actual fact I sleep a lot. My wife might say too much. :-)
When do you find time to blog?
I often blog at night while watching TV with my wife. I also tend to spend some time first thing in the morning before starting the regular work day writing up blog entries that have been percolating in my head for a while. I think about blogs when I am driving or bored and then write them down when I get a chance. I don’t often sit down to blog without having thought a good bit about it in off moments.
Where do you blog?
In January of 2013 I accepted a one semester appointment to fill in as a high school computer science teacher at Bishop Guertin HS and am still there. I'm excited to be back in the classroom but time will tell if this is really what I am going to do the rest of my working days. But the students are great and the work is interesting so who knows?
Before returning to teaching I was the K12 Academic Developer Evangelist with Microsoft Corporation for over nine years. Previously I was the Technology Director and a computer/technology teacher at Bishop Guertin High School in Nashua NH.
A more complete work history can be found on my resume page.
It turns out that my old high school, Brooklyn Technical High School, also has a home page on the net.
Follow @alfredtwo on Twitter