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 is it you really do at Microsoft?
My job is to work with K-12 (which means mostly high school) computer science teachers on curriculum issues related to Microsoft products. I maintain a blog with helpful information for teachers, speak at conferences, give training at various times and places, review and help develop curriculum resources, answer questions via email, IM and phone, and generally try to make myself useful. I am also an advocate for educators to Microsoft. I spend 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 (new Chief Software Architect), 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 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. I live in New Hampshire which is in the eastern (US) time zone. So if you expect that I am in Redmond, the Pacific time zone and where Microsoft is headquarters, you may think that I am up very early when in fact I slept in. Other times I am on the west coast, I travel quite a bit, and people expecting that I am on the east coast think that I am up very late. 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?
Copyright Alfred C Thompson II 2007