Untitled

Sheldon McGee


1141 E Juanita Ave

Gilbert, AZ  85234

sheldon.mcgee@gmail.com

Home: (480) 736-2581

Cell: (602) 321-8046


EDUCATION

Arizona State University – Tempe, AZ  85287

BSE in Electrical Engineering, 2001

SKILLS

Operating Systems – MS Windows Server, Linux (Debian, Ubuntu), FreeBSD

Windows Server – IIS, Security, Printing, DHCP, DNS, TCP/IP, Network Administration, SQL Server

Database/Web – SQL Server, ASP.NET MVC, ASP (Classic), PHP, MySQL, HTML, JavaScript (AJAX), XML

Web Development Platforms – SugarCRM, Google Maps Enterprise, Google Data APIs, MapInfo MapXtreme, WordPress, CakePHP

Programming Languages – Visual Basic, Javascript, VB.NET, C#, Python, C/C+

EXPERIENCE Director of Computer Operations – August 1999 – November 2009
Pierce-Eislen, Scottsdale, AZ

Overview:

Pierce-Eislen is an online, subscription based website that provides real-time data pertaining to the commercial multi-family housing industry. Pierce-Eislen serves over 35 markets providing information such as the owner, manger, complete unit mix with rents surveyed 3 times a year as well as aggregate data by market and region.

Responsibilities:

  • Web development
  • SQL Sever administrator, Access Database maintenance
  • Maintenance and administration for office data center and local workstations
  • Network Administrator (Domain Controllers, File Servers, Firewall, Email) and general tech support
  • Phone System administration and repair

Projects:

  • Restructure the databases for efficiency by normalizing data, adding indexes, moving the data store from Access to SQL Server as well as profiling to find the bottlenecks in the system.
  • Create a file based Content Management System (CMS) where prompt browser speed and user friendly templates are the primary focus
  • Develop entire website including reporting tools, administration utilities such as adding users and setting up orders, controlled access and monitoring utilities.
  • Supply a seamless and fast reporting engine for multiple databases
  • Create the web based mapping system with MapInfo MapXtreme and later replace with the Enterprise version of Google Maps.
  • Add AJAX interfaces to enhance the website functionality such as adding elements on screen to a group as well as being able to edit data in place simply by clicking on it.
  • Move the sales team from ACT to SugarCRM (migrate data, set up new server and install PHP, MySQL, and SugarCRM) which greatly improved the effectiveness of the sales team.
  • Integrate IPCOP, a Linux based firewall, to improve the performance of the network as well as to add monitoring, intrusion detection, and VPN capabilities for secure remote communication.

Systems Engineer Consultant – June 2007 to Present
Charles H. Pabst Studio, Chandler, AZ
  • Implement new “Production Schedule” with using PHP, MySQL, and CakePHP application framework to help streamline the process for keeping track of order information on each piece as it moves from through the various areas of production (printing, enhancement, framing, shipping)
  • Add an inventory system to the Production Schedule to create a better way of keeping track of what paintings are in each gallery as well as some quick stats like how many total prints are for sale and how many sold during a particular quarter.
  • Set up a backup system (Linux based BackupPC on an old PC with a new hard drive as a cost saver) to backup several machine that have important data.

Systems Analyst – December 1996 – August 2001
ASU College of Engineering and Applied Sciences, Tempe, AZ
  • Create and maintain web server and web pages for Introduction to Engineering Design class.
  • Provide technical support for instructors.
  • Administer small Windows NT network.
  • Develop and support web based grade database.
  • Primary consultant for student support of online class access and materials. 

Software Engineering Internship – July 1997- May 1998
Honeywell Inc., Air Transport Systems, Phoenix, AZ
  • Develop software for Echelon LonBuilder, a test system to facility optical communications for a Fly By Light system on existing Boeing commercial aircraft using Neuron C code to implement communication between optical nodes.
  • Implement a diagnostic system for an optical sensors using C++.
  • Create and maintain project web site

CONFERENCES Google I/O, Sketchup BaseCamp, StackOverflow DevDays, WordCamp and various other local developer events.

Installing Windows 7 Upgrade on a fresh hard drive

Okay, so I decided to install Windows 7. Even if it’s all marketing it can’t be as bad as Vista and 9 years is long enough for XP.

I went to the MS store in Scottsdale and bought a retail upgrade copy of Family Pack Home Premium. The install failed in 4 ways on computer #1 because there were no drivers for the SATA controller. On computer #2 the 64-bit version installed flawlessly. I did a fresh install to the same hard drive that had and existing install of 32-bit Windows XP. It was really cool that in the “Windows.OLD” folder had the original Windows folder as well as Documents and Settings and Program Files. It was nice that those were out of the way but not gone.

After trying a few things out #2 for a few days I decided to go ahead and install on my main computer. On this one I decide I’ll install to a separate hard drive. I figured during the setup I could point to the other hard drive to tell it where Windows was installed or maybe the installer would ask for the disk (which I have).

I struggled for an hour when the installer asked for the Product Key and told me simply “The product key is not valid”. After typing and retyping and waiting for my wife to check it to make sure I wasn’t going crazy I finally realized it was because it wasn’t an upgrade. I read online that you can skip the Product Key and finish the install so I blank out the key and finish the install.

Of course, I couldn’t activate and this time the error message tells me it’s because I got the upgrade version and it’s not supported for new installs. So, I could just reinstall and override my copy of XP but that made me nervous since someday I could see myself having to go though this in the future. So I decided to give Microsoft a call . . . .

Took a while to find a number online and then that was the wrong number (Activation) so I got a new number for technical support (1-800-936-5700 in case you are wondering). I had to convince the support guy that what I was doing was reasonable (I mean, what if my hard drive died . . . would I need to install XP on the old drive and then upgrade again? … what if I had an OEM machine and I didn’t have the disk and couldn’t get it from the manufacturer anymore?). After talking to that guy for about 30 minutes it seemed like I was going to have to install XP and upgrade from there. I held steady and kept talking and wouldn’t let him off the phone. Finally he created a technical support case and transferred me. I explained the situation to the new guy and he understood and said that install to a fresh hard drive is not allowed with an upgrade copy but the good news is there is a workaround! Awesome!

So here is the workaround and the reason I wrote this in the first place. Luckily no one reads this blog so I’m not worried about getting in trouble.

Steps:

  1. Go to the registry to this key: HKLMSOFTWAREMicrosoftWindowsCurrentVersionSetupOOBE
  2. Change: MediaBootInstall value to 0
  3. Run this command from the command prompt (as administrator and in the system32 directory): cscript.exe slmgr.vbs -rearm

If you need more help that that you should probably just call Microsoft yourself!

Other notes:

  • The technician on the phone was very careful about wanting to control my machine and asked over and over if it was okay.  He was careful to explain what was going to happen before he did anything.  I had to install “Microsoft Easy Assist” so he could control the computer and after the session ended Easy Assist asked if I wanted to uninstall . . . very thoughtful!  A nice touch indeed.
  • I tired it on some older hardware (computer #1) and there were no drivers for the SATA controller and according to the Intel website, Intel has no plans to release drivers.  There WAS Vista drivers and those would probably work. Why not just let me try those out? I downloaded but it was an installer and it was just to replace drivers that came with Windows. So annoying! Nothing worked! I blame Intel for this problem, not Microsoft.
  • If there was a family pack for Professional I would have gladly paid a little more. On one of the computers I plan on doing the “Anytime Upgrade” to the Pro version (so I can do XP mode) and I’ll write about that later.
  • I later when to install iTunes and wanted to copy over the iTunes Library.XML file and it wasn’t anywhere in the Windows.OLD folder.  Had to go to my backup. Strange.

Sheldon

Milestone I can’t tweet about

One hundred tweets.

100onTwitter

Seems like nothing bit it’s a big deal because, well, I finally understand the point of twitter . . . it’s a pretty cool way to communicate with people you don’t know.  Replying and even reading your tweets is not mandatory and it’s even less of an interruption than email and you get a better feeling about the chances that what you write is being read by the intended reader.  Much better than say, commenting on a person’s blog or posting to a forum somewhere.  And the 140 limit really makes you think about what you are trying to say and forces conciseness . . . a skill I find I’m lacking and twitter is forcing me to get better.

Anyway, I’m late to the party and I kinda get the feeling that now that I get twitter all the cool people will be moving onto something else.   If it’s Google Wave, well, I’m already all over that and have been since it was announced so my guess is, Wave isn’t the next big thing!

Sheldon

Comments I left for Rob . . .

A little background . . .

Joel Spolsky writes articles about software development and often times ends up saying that unit tests aren’t important because they don’t ship and take programmers away from writing more features or a new produce (well, that’s my less than 140 version of his stance on spending time doing unit tests).  Rob Conery, a former Microsoft employee that also write articles about software development wrote an article about how Joel is hurting the industry and needs to shut up.  Below is my response that I left in Rob’s blog.  Rob even responded!

I’m an apologist . . . I admire both of them.  As a debater I can take either side!

But Jim said something that stuck with me and that is we need people on the far left and the far right of issues so that we can pull the reasonable people toward the middle and reach a consensus.  If there are no crazy people on the left then you end up with solutions that lean right!

===

I read “duct tape programmers” and came away thinking Joel was putting down programmers who used the duct tape method of getting things done even though that’s exactly the opposite of what was there.  Maybe that’s because I’ve read all these articles from him about how important the craft is and how writing maintainable code is so important and blah blah blah.  And now Zawinski is a hero for not caring about any of that?!?

I think the point of the article is that a) anyone who cares about what they do wants to do things the “right” way and b) doing it the right way gets in the way of shipping.  Strive for the golden mean!

Oh yeah, lets not forget about the secret that the “right” way isn’t defined and never will be because things change so much and once we figure out the right way someone is going to come along with something cooler, faster, easier.  Damn you Ruby!  Damn you Python!  And of course, damn you C# . . . you are so much safer than C but C is the right way . . . it’s the only way . . . and Joel said if I don’t know C I am useless!

Sheldon

===