Windows Server 2008 install troubles

I wanted to re-purpose an old computer I built into a web server using Windows Server 2008. I got an error message saying “Required cd/dvd drive device driver is missing.” I found it funny since I had to use the DVD driver to get to this point.

If you do a Google search on this topic, you will notice a lot of frustrated installers who have a similar problem and no solution. One solution I kept reading was to switch the DVD jumpers from master to slave. I wasn’t expecting this to work, but to my surprise, I got to the cd key screen.

Hope this helps someone trying to install Windows!

Programmers learning something new: a simple guide

I struggle a lot to learn new programming languages on my own.  It’s not that I’m not smart (I want to believe I am VERY smart) but it’s the combination of lack of time, lack of desire and having no answer to the question: “Great, I’ve learned X… now what?”

I’ve started to learn about Django, and I believe it will be DIFFERENT this time.  Why?  Because I have created a simple guide to learning something new from a programming perspective:

STEP 1: Accept that you may burn out and ask “why bother” and figure out the answer to it before starting

I had stated before:  It’s hard for me to learn something new when I expect to do precisely nothing with it.  This is what happened with me and Ruby on Rails.  Ruby is a cool language and Ruby on Rails was really awesome to build scaffolding with.  However, I didn’t really know what else I wanted to do with it.  I suppose I could have learned it’s cool AJAX capabilities that go with it, but really, it just didn’t appeal to me.  Therefore, it went on the infinite back-burner

Back when LINQ was new, I struggled to learn it as well, because even though I do .NET professionally, I was so knee-deep into what I was doing that it would have been almost a waste of time to really sufficiently learn it.  I finally got a project in which allowed me to utilize LINQ to SQL effectively and easily and since then I wouldn’t know what I’d do without it. Again, once purpose settled in, I was ready and very willing to learn.

Your ‘why bother’ may be different.  Your success may be dependent on how you handle it.

STEP 2: Do the tutorials

These days, it’s pretty hard to find popular frameworks which have no or incomplete tutorials (I’m sure anyone could find examples where this isn’t true, but in general, it’s true).  Also, framework creators know that a quick and simple tutorial is the best chance for a developer to get on board, especially in the framework’s early stages.  Django has a wonderful tutorial, split up into four parts building a poll system (I feel like poll systems are the hello world of the web development world).

Here are reasons why I don’t like to just “dive into the code”:

  • You cannot be guaranteed what you are looking at is the correct way to do it
  • Most of us are lazy, and there may be certain things hidden by shortcuts which obfuscate key basic techniques used by the framework/programming language
  • There is more impact in doing it yourself, seeing what works and what doesn’t, rather than just reading through it and trusting it works
  • It’s less fun!

Tutorials are the best way to get yourself acclimated, set up your environment, and ultimately help you decide “why bother?”

STEP 3: Research technology on StackOverflow

I am a HUGE fan of StackOverflow.  I’ve never met a bigger group of developers, all willing to write great questions and thorough yet quick responses.  The reputation system is awesome.  Any developer not utilizing StackOverflow is SERIOUSLY missing out.

StackOverflow is a great way to see what difficulties most users have, as well as to see how these user’s issues are resolved.  While it’s not immediately helpful, you will drill back into your head, and all of a sudden, you’ll come up to a problem where you say “wow, I remember this on StackOverflow!”

StackOverflow is a great place to see how a technology stacks (get it) up.  For example, a quick search of Django immediately show questions about scalability, whether a user should use Django or X and configuration questions. A few quick searches and research will give you a sense of what type of framework Django is.

STEP 4: Think Small

I picked Django because I had an idea for a website and needed a specific framework.  I discussed the idea with a buddy of mine, a developer who uses Django, and he sold me the benefits of using Django.  I owned hosting which could support Django but not .NET, so it looked like a good choice.  Also, I was in the ‘market’ to learn something new.

Unfortunately, I couldn’t just dive in because I needed to learn Python as well as the basics of the framework.  Therefore, I decided to table the original idea for now and decided to build a personal website for myself entirely in Django.  It took hours to do, I had to read up on a lot of how Django and Pyhton works, but the idea was simple enough to wrap my head around so I was successful.  You should see a site hopefully by the end of next week.  Because it’s my own personal website (and not a large, professional site), it’s okay if it has a few problems with it or if I did it incorrectly;  it’s all part of the learning process.

STEP 5: Have a buddy help you learn

It’s nice to be able to send code to someone, even if it is just a file or two, for them to kindly message you back and say “get out of your .NET world, here’s a better way to handle what you are trying to do.”  Having a human allows you to do a sanity check as well as to see if you’ve missed any nuances.  It’s also nice to have someone to ask for help on really simple yet bothersome problems.  It’s a lot harder to do this using the Internet.

STEP 6: Have fun!

Every blog post with steps needs a cop-out answer.  Here is mine.  Most of us are learning new languages because ultimately we want to.  You should have fun with your learning experience!

Where’s my iTablet!

Disclaimer:  I am not an Apple hater:  I’ve owned two Apple laptops, a 3rd generation iPod, and two iPhones, and loved each and every device.

I’ll admit, when the rumor mill started about the Apple tablet (you know, like years ago) I was excited.  I have always wanted a tablet:  I’ve always wanted a device smaller than my work laptop, where I can take to meetings or on the road with me where I can jot down notes, perform simple tasks such as email and surf the web, and look at documents if need be.

I have two device types current which I depend on throughout my entire day:  my iPhone, which is a quick reference guide to my life and any information I may need no matter where I am, and my laptop, which is where I conduct business.

What is missing, from an organizational standpoint, is a middle ground.  The iPhone is just too slow for me to jot down notes throughout the day, and voice recording is sometimes impossible.   My computer is not always next to me and when it is, sometimes it’s not in a state where I can easily access the information I need or where I can jot down notes.

For years I’ve thought that the tablet PC was the answer to this problem.  The concept of flipping the monitor around and hand writing notes and diagrams has always appealed to me.  However, I was never really comfortable with the price, especially when most of the tablets had Microsoft Windows on them (nothing against it, I just felt the computers were underpowered to handle a full OS)

Fast forward to this year, where I was practically PROMISED an Apple tablet.  I own a Macbook Pro, and love how quickly I go from opening the lid to using the computer.  I love the interface, the usability.  It’s clean, usable and all in all fun. If it had tablet functionality, I’d be all set!  Finally the announcement came, and we were presented the iPad.  I guess the device is cool and has its uses, but there’s one problem:

IT’S NOT A TABLET!

Aside from my opinions of the device itself (ahem, iTouch XL), it’s missing key components which make a tablet PC great:  stylus functionality and multitasking.  The operating system should have been a slightly stripped down version of OS X, and not a beefed up version of the iPhone OS.

Am I asking for too much from Apple?  I don’t think so, because I, like the rest of the world was anticipating a tablet.  An Apple tablet would have been awesome.  Knowing Apple, they would have refined the handwriting detection, it would be a dream to use, and I would be excited to get my hands on one.

I guess I will have to wait for that day to come… I will NOT be getting an iPad.  Sorry Apple.

Support: Not just for Fixin’

As the sole IT person for the company I work for, my responsibilities are to make sure the nine employees have working computers, back up solutions, and can come to me for any questions or problems that may arise.

We have a humble back up solution.  It involves a server and an external drive which gets switched out every week.  While it’s not perfect, it has worked great for years… until that faithful afternoon, December 31st 2009.

Because my schooling is not in server administration or networking and quite frankly, I have no time to research the problem, I called Dell.  After two separate calls (the problem was intermittent, so it was hard to nail down and test), Dell decided the motherboard was fried on our server.  Ouch.

Then came one of Dell’s consultants the following day to our humble set up.  He determined that it was my backup drive which was causing all the issues! What was worse was that the drive was not purchased from Dell, so it wasn’t under warranty.  Even bigger ouch!

What happened next was the unbelievable.  He could have left.  He could have reported back the problem and perhaps, made my life a little harder with Dell.  Instead, he took a look at the backup solution and advised me on how to strengthen it.  He told me about how inexpensively I could configure redundancy, and which particular hard drives I should look to purchase.  While this was all stuff I’ve dabbled in on a personal level, it was very educational to learn on a professional one.

If he just replaced the motherboard as Dell sent him out to do and left, without checking how everything was working?  I would be calling Dell back, 3 weeks later, with the same problem.

The Chinese proverb:

Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.

Comes to mind.  It’s absolutely true in this case.  I am glad to have my server back and set up with redundancy (as it should have been in the first place).  However Dell was the true winner in this case:

  • I personally have further trust in Dell and am more likely to pick them for buying new equipment in the future. (more profit)
  • They’ve avoided another support request from a disgruntled customer (doesn’t matter whose fault it is!) (less cost)
  • I’ve told multiple people of my story, thus giving more positive awareness to Dell. (more positive exposure)

What can be learned from this experience?  Focus on what the client/co-worker/customer is looking for before fixing the problem.  Sometimes, the problem is over the user’s head, and you cannot explain the fix.  That doesn’t mean you cannot help them change their usage and perhaps curb them from getting themselves into the problem again!  This empowers the user to accomplish their goals, while lessening your support requests.