Well, I just finished chapter 1 of the 70-515 Self Paced Learning Kit and I gotta say Im enjoying it quite a bit so far, and Im still at the basics.

And I mean reeeeally basic. Like File -> New -> New Project Basics.

But you can certainly get something from going back to the start, as if you were a novice programmer (and I gotta say, there are times where I still feel like that). You would be amazed at the little details you tend to miss out on... useful details. The book goes over the different web site types for use with IIS 7, when creating a new project, and it highlighted some things I actually never knew about IIS 6! But onto that a bit later.

This book starts at the basic basics. Lesson 1 is entitled: Understanding Web Communications. A good chunk of this stuff is something we all understand on some level (as you cant actually do advanced work if you dont understand the fundamentals), however actually having it laid out in front of you, especially as Ive never really had a proper grounding in the web world, was enlightening. The differences between GET, POST and PUT, although simple, is stuff that just isnt taught in a useful way (at least it wasnt for me). The basic structure of HTTP communication might sound simple (and it is), but having it laid out in technical terms as opposed to "Form sends message to server, server responds", complete with HTTP status codes is wonderful!

Heck, they even give us a table of the status code groups!

100-199: Usually informational. The server has recieved the request and is about to process it.

200-299: Identifies a successful roundtrip of recieving, understanding and acceptance of the action.

300-399: Redirect codes, usually meaning the url requested actually needs to be something else instead and redirects the client to the appropriate resource.

400-499: Client error. Weve all seen the 404: Not found errors. This can mean the url requested was not found on the web server.

500-599: Server error. The server was unable to answer the request, even though it appears valid.

THIS is the smoothing of rough edges I was talking about. I had a rough understanding of these codes and how they worked, but to actually have specific meanings was very... 100. (get it?! ha!)

Keep in mind at this point, we havent even opened up visual studio yet, which brings us to lesson 2! Creating a Website and adding new Webpages. Again, basic, but surprisingly helpful. This lesson goes through all the options available to a developer when creating a new website, as well as the type of website being created. It also tells you to be mindful of using different options with different server configurations as these will sometimes simply not work. For instance, trying to create a HTTP type website (ie. creating the website within IIS) with visual studio with a version of IIS without FrontPage exentions, will quite simply tell you to bugger off. This sort of stuff can save many, many hours of headbanging on the keyboard (not in this case as the error is actually quite informative, but you get the point). But the best part of this lesson was the complete description of the ASP.NET Special Folders and their purposes, along with some I never knew even existed! App_Browsers? whodathunkit? Add into the mix the detailed description of the various *.config files for IIS (as well as web.config hierarchies) and with barely starting visual studio you have already had a better grounding than any self-taught developer. God I wish Id had books like these when I was learning to program.

There is just one tiny problem with this perfect world of wonderful fundmentals and book exercises and labs...

My VM is broken :(

I dont know why, but it seems to constantly lock up and freeze. Its a basic 32-bit VM of Windows 7, with 4gb of assigned memory and...

... shoot and fiddlesticks!!!! (yes, that was VERY censored). I am such an idiot! I just realised why my bloody VM has been playing up so much! Ive been having quite a bit of trouble with my computer... well... ever since I got it. My computer ORIGINALLY was 8GB of DDR3, however due to possible memory stick/memory slot issues (still need to find the time to determine which!), Ive taken a stick out. So basically my 4GB VM was fighting over memory with the host machine... not a pretty contest, believe me.

Whew, glad thats been sorted out! Decreased the RAM to 1GB and its actually running now! Huzzah! :D Now I dont have to spend the better part of half a day rebuilding the VM! Was originally going to grizzle about the VM being unusable for some (ha!) reason, but now Im just glad to be able to do the bloody exercises! Pretty sure that will be tomorrow night though :)

Have a good night all :)