Monday, December 10, 2007

Blogging on Elegant Code

I have joined up with a group of Boise Developers who have a combined blog roll.  Hopefully it gives a more structured area for my post on technology.  I will continue to maintain this blog as a blog for personal views and comments but my professional postings will be on elegantcode.com from now on.

Gigabit Networks at Home

I have been following Scott Hanselmans notes on his Ggigabit network. At first I considered it no big deal, but after reading this Wiring the House for a Home Network I am definitely going to look into it. I thought I was doing Ok (I get about 7 Megabytes per second) but apparently I am off by a factor of 10. Need to check the wiring and the frame sizes. Unfortunately I can not do anything about the Vista SP1 issue until I can get on a beta or something.

Sunday, December 9, 2007

Some of my friends are slackers...

A good friend of mine (Scott Nichols) has been slow to take up blogging. I would usually cut him some slack but Scott has some great ideas and a great understanding of software development and .net. Hopefully we will see him kick off a few posts in the next month. I know he got some flack at the installfest :-).

Boise VS2008 Install Fest

Well I had a good time presenting at the Install Fest. In addition I learned a great deal about VS 2008. Jason is a good speaker. I always enjoy what he has to say. In addition Chris gave a talk in with like 20 minutes of prep time. That guy is amazing.

I have been working on a few projects for the last few months that show off some capabilities of VS 2008 and support my gaming habit (strictly dnd 3.5, no console games). I have created a project on CodePlex and will release the code under the GPL. That gives me a project to show off some features with with out having to release any customer projects.

I will post full details on how to get to it in the next few days once I get everything there.

Thursday, December 6, 2007

Visual Studio 2008 Training Kit

Microsoft has released a training kit for Visual Studio 2008. You can get it at

http://blogs.msdn.com/daiken/archive/2007/11/19/visual-studio-2008-training-kit-now-available.aspx

Definitely worth picking up.

Cool Things in .NET 3.5

This does require Visual Studio to upgrade the database. I am using the Visual Studio Professional Trial for now.

So download the sqlce database from http://www.andargor.com/. Unpack the zip file to the C:\SQLMETAL directory. Now upgrade it according to Microsoft's Instructions at Upgrading CE from Earlier versions.

Next open a Visual Studio Command prompt and change to the directory where you have the compact database from above.

type in the following command

sqlmetal /code:srdce.cs /namespace:d20 /pluralize /serialization:unidirectional /language:csharp srdce.sdf

Open the file srdce.cs in Visual Studio. You now have a class library representation of the database and tables in the srdce.sdf database (in my case it is 6600+ lines of code) with full attributes for the database columns and tables with 10 classes (one per table) that describe the columns of each table and on class name srdce that has the collections classes for each of the table.

Now open a new C# class library (dll) project in Visual Studio named srdce and add C:\SQLMETAL\srdce.cs to it as a C# class.

Next add references to System.Data.Linq and System.Runtime.Serialization. Now compile once for a test to make sure you got everything right.

Next add a new test project to the solution named srdcetest. Add a project reference to the srdce project to the srdcetest project. Right click on the node for srdcetest and select add/Unit test. This will generate unit tests for all the classes generated from the database.

Next compile the solution to make sure everything works. Now go to the Test Menu and select "run all tests in solution". All the test should fail with a Assert.Inconclusive.

So now we do a little of the red/green/refactor thing. All of our tests fail, so we got red down. Now I want to have a test pass. So goto the SkillsTest method in the SrdceTest class. Change the code to

//IDbConnection connection = "d:\\sqlmetal\\srdce.sdf"; // TODO: Initialize to an appropriate value
Srdce target = new Srdce("c:\\sqlmetal\\srdce.sdf"); // TODO: Initialize to an appropriate value
Table<Skill> actual;
actual = target.Skills;
List<Skill> SkillList = new List<Skill>();
foreach (var Skill in actual)
SkillList.Add(Skill);
Assert.AreEqual(SkillList.Count, 40);

Now go to the using block at the top of the test class and add

using System.Collections.Generic;

Now go back to the SkillsTest method and right click and choose run tests. This should complete correctly.

So we have taken a database, created a class hierarchy for it, created some unit tests, refractored a unit test to be green and basically the result is as follows:

  1. We now have a done a ORM mapping between a database and a C# class hierarchy.
  2. We generated 304 Unit Tests.
  3. We proved that we can select all the data from the skills table and put it into a list for later use in the application. The list is a strongly typed list of the base data type.

Pretty cool, eh?

In later entries I will show how to create a database from the class hierarchy and how to persist data to the database. Finally we will look at how to make the class hierarchy a set of dll's that can be used as plugins in a application.

Wednesday, December 5, 2007

kindle - Part 2

Ok. This is a way cool device. Had to be the easiest way to read the Journal ever. Must say all the financial articles amaze me. When did Russia become Europe's energy provider? I did not know Hillary had voted the same for a lot of the stuff for the Iraq war. Finally Guantanamo is going to eat Bush alive if the supreme court goes against his imprisonment tactics.

You do have to read the thing with the cover on though. Otherwise you start hitting the wrong keys. With the cover on it is almost like a paperback book though.

Kindle

My Kindle came in from Amazon.com yesterday. I had already purchased 80 or so Ebooks to try out on it. Most are older science fiction that are very tough to find today. Out of print etc. I also subscribed to the Wall Street Journal and Time Magazine. I have always enjoyed reading the Journal in the morning, but usually found the hassle and waste of throwing away the paper too much. Same for Time Magazine. Now no more paper to throw away but I can still read the Journal every morning. Very nice.

I have also found some of the older Science fiction is the actual pulp version from astounding. Apparently these were scanned to make the ebook version. Reading the original Skylark stories and seeing the pulp drawings from the original astounding articles is very cool.

I also like the fact that I have 80 books with me in a device the size of a paperback book. Much more portable then a laptop. I will probably start purchasing all the new books I want this way. The price on a new hard bound bestseller for example is only $10 vs the $30 or $40 I would normally pay. I picked up Churchill's History of world war II for about $6 bucks a book. I have the collectors version setting on my book shelf, but it does take up most of a shelf :-).

A primary motivator for me to buy the kindle was I was running out of book shelf space. The garage is full on both walls, there is a wall full in the living room, a wall full in both bedrooms. I only have about 1.5 shelves free so I am being careful about what books I buy. Now with the Kindle I will buy them first in Kindle format and then buy the hard backs only when I want collector versions.

I figure this will both save me shelf space and money. In addition I will start trying to buy most of my technical books in Kindle format. These usually are only useful for about 2 years before they are obsolete so at least now I won't have obsolete books taking up shelf space. The only thing I might miss is the source CD's but those are usually online any way. I probably spent a good $1K on this beast between the Kindle for $400 and the 80+ books. So far it looks to have been very well worth it.

I plugged my 1 Gig SD card into it. I had this in my old windows mobile phone but my new phone could not use it. It had to be a mini sd card. So the new windows mobile phone now has a 4 Gig mini sd card in it while the Kindle has another gig of memory for books. I figure that is some where around 1200 books I can carry around in the Kindle before I will have to upgrade to a 4 gig card or something. Of course by that time the kindle will be out of date and I will buy a new one :-)

Friday, November 30, 2007

What's New in .NET 3.5 and VS 2008

In preparation for the Install Fest I am putting together some demos for the .NET users group on some of the new features in .NET 3.5 and Visual Studio 2008. I am sure Jason or Mithun will be providing some slides and presentation from Microsoft, I am just putting together some notes from my last 6 months of working with the betas and the final release. I will add notes as I find interesting things.

NETDUG Install Fest

I got an announcement a few weeks ago from the NETDUG support Mailing list. It is a chance to install the new Visual Studio 2008 product on one of your systems. Specifically Microsoft, the Boise .NET Developers User Group (NETDUG), and the Boise Software Developers Group (BSDG) are having a Visual Studio 2008 InstallFest and Holiday Party on December 6th, 2007 at the Overland Park Cinemas in Boise.

This event is your opportunity to get your hands on the released version before anyone else. Every person that installs Visual Studio 2008 on their computer at the event will receive a FREE fully licensed copy of Visual Studio 2008 Professional in the mail shortly after public release.

Registration link: http://msevents.microsoft.com/CUI/EventDetail.aspx?EventID=1032360765&Culture=en-US

Thursday, December 06, 2007 1:00 PM-5:00PM
Overland Park Cinemas
7051 Overland Road
Boise Idaho 83709

Show up if you can. Should be fun.

Friday, November 16, 2007

Routing...

It has been a while since I really had to pay attention to the physical network infrastructure (or logical for that matter). Most of this was handled by Microns networking team. In addition my home networks have always used routers provided by the ISP or again configured by Micron. So for the last few years I have not had any reason to pay much attention to routing and network infrastructure. In a big company like Micron it was impossible to be involved in everything and my primary role was a developer and architect.

That being said I have been in the industry for 25 years and before I came to Micron I was a networking geek. Heavy into Unix, TCP/IP etc before all the GUI's and such in use to day came along.

So I understand all of the things you need to do and all the software you have to have to make one of your computers a router and gateway for all the rest. I have just not had to do it for a while.

So you guessed it, I am now having to configure all of this. Wow what a pain. I wish I could just set up the wireless router and walk away. My old pea brain is having a little trouble going down all those unused pathways again.

However I got everything kind of limping along now and am swiftly remembering and learning how to reconfigure networks using the new GUI stuff in Windows Server 2003. A lot different then WIndows NT 3.51 and the old AIX boxes I did this on before. I am not sure I like all the GUI's on the UNIX and Windows side. Everybody keeps moving around all my configuration files. Sometimes I feel like I need a trail of bread crumbs to find where everything is.

But on the plus side I am quickly learning everything it takes to pass Exam 70-291. Not the one I planned on doing first, but I guess the best layed plans never survive the first encounter with the enemy (or something like that :-)).

Friday, November 9, 2007

Creating the Virtual PC Hard Disks

Now I am ready to create the blank virtual PC Hard Disks that will be used by all the virtual machines. To do this Go to the Virtual Disks Section of the Virtual Server Admin web page. Go to the create menu and select Dynamically Expanding Virtual Hard disk. I select dynamic for the base disks even though you can get better performance with fixed size disks. I can always change them to fixed size later and this way I save disk space until it is needed.

This opens a dialog box titled Dynamically Expanding Virtual Hard Disk. If you click on the Location: drop down list box you get D:\Virtual Machines as one of the locations available. In the virtual hard disk file name: text box I enter the path to the disk file in this case that is D:\Shared Virtual Machines\Hard Disks\BaseOSDisk.vhd since I am creating the BaseOSDisk and want to create a new Hard Disks folder for the file.

Next I create a DataDisk. The data disk will hold all installs etc that are not part of the primary OS. I have it mainly to support cluster configurations. It will be named DataDisk.vhd.

Next I will create a quorum disk for those machines I want to cluster. Note this is not required for all machines but I might as well get it out of the way now. So create a new hard disk, pick the Location and give it the file name D:\Shared Virtual Machines\Hard \QuorumDisk.vhd.

Finally I create three disks for raid support. This disks are available for when I want to have a software raid array. Not many situations where this occurs but still cool to play with. There are named RaidDisk0, RaidDisk1, and Raiddisk2.

With that I have all the virtual disks I need created. Next I will create the Base Machine configuration and finally I will actually install the OS into the Base Machine and add drivers and MachineAdditions. Then I will show how to use sysprep to easily clone over the base machine.

Customizing the Virtual Server

All my virtual machines will be created using the same base install. To accommodate this I will first create the virtual machine and then add some items to make up the primary configuration.

Before creating the base virtual machine that will be copied over for all the rest of the virtual machines, I want to first set some virtual server options. To do this go the the Virtual Server Section and click on the Server Properties Hyperlink. Now click on the Search path hyperlink. This gives you a dialog box with two text boxes.

On my Notebook all virtual machines are created on the second 160 gig drive. They all go to the D:\Shared Virtual Machines\ folder. So I enter D:\Shared Virtual Machines\ into the Default virtual machine configuration folder: text box.

The Search paths dialog box provides search paths for iso images to be installed and virtual hard disks to attach to the server. My software images are on the c: drive in c:\software and my disks drives are created in the D:\Shared Virtual Machines\. Folder in the hard drives folder.  These two paths are entered on two separate lines in the Search paths dialog box. 

Now click Ok to save the options.  With these two settings in place I can not go create the empty hard disk files I will use in my virtual machines.

Creating the Primary Virtual Network for Certification and General Testing.

As part of the books I bought for my certification tests I also got some 180 Evaluation copies of Windows Server 2003. I will be using these evaluation copies as my base installs for the certification tests.

The first thing to do is create a virtual network for my certification and test network. To do this connect to the virtual server administration site for the machine. Now under the Virtual networks section you create a virtual network.

This brings up a form to fill out for the virtual network. Fill in the virtual network name Leave the Network adapter on physical computer set to None (Guest Only). Add any notes on the virtual network as needed and then click OK.

Now click on the Configure option under virtual networks to configure the virtual network you just created. Click on the dhcp server hyperlink. This brings up a form that allows you to set the dhcp server settings for this virtual network. Click enable and you can just take the defaults.

You have now created a virtual network for your virtual machines to work on. Note this is a totally virtual network it has nothing to do with the physical network you may otherwise have in your home or office.

Installing Virtual Server on Vista and Windows Server 2003

Virtual Server is available as a free download from Microsoft. I have it loaded on my Dell 1720 on windows vista ultimate, on my dell precision on windows vista business 64 bit and on my poweredge 840 on Windows Server 2003.

If you want to do anything really hard core (and learn some really cool stuff) I highly recommend you get Professional Microsoft Virtual Server 2005 by Ben Armstrong. An awesome book.

To install virtual server you need IIS. To get IIS installed I did the following on my Vista workstations (as described in Ben's book):

  1. From the Start Menu Select Control Panel
  2. Select Programs
  3. Select Turn Windows features on or Off
  4. Check Internet Information Service
  5. Expand Internet Information Service, expand web management tools, expand IIS 6 management compatibility, and check IIS metabase and IIS 6 configuration compatibility.
  6. Expand IIS 6 Internet Information Service and open World Wide Web Services. Then open application development features and check CGI.
  7. Expand Internet Information Service, and open worldwide web services. Then open security and check windows authentication.
  8. Press Ok and IIS will be installed.

To install IIS on my Windows Server 2003 server I did the following:

  1. From the start menu select control panel and add or remove programs.
  2. Select add/remove windows components from the left of the add or remove programs dialog box.
  3. From the windows component wizard page, select application server and continue with the wizard.
  4. Have the windows disks ready to install any extra components needed as the wizard progresses.

For the actual install of virtual server I just ran Setup or Setup64 for virtual server, selected complete install and took all of the defaults. This created a virtual server web site and installed the virtual server windows client. For complete information and advanced install options see chapter 2 of the book.

That's it. Next I will discuss the configuration of the virtual network and some of the virtual machines on it.

New Hardware for the Home Office

Since I wrote my original post on my home office I have expanded my network and hardware at the house. Some of this came about as I discovered some things I wanted to change and part was just chance.

I decided to change around my network just slightly to accommodate having a persistent IP address for the house. That way I can bring up a development server to test new sites and I want to develop for customers and to provide a test environment for Windows Sharepoint Services. So I changed out my cable modem and went with CableOnes Small Office Home Office plan. The cost was the same as I was paying for high speed internet before but now I get 8 Megaabits download and 1 Megabit upload and a persistent IP address.

To provide a permanent server for the network at the house I got

  • A Dell Poweredge 840 with a quad core processor and 4 750 gig drives in a raid 5 configuration for 2.25 Terrabytes of disk storage and 8 gigabytes of ram. It run windows server 2003 63 bit. It's primary purpose will be to act as a domain controller, support my sharepoint site and host virtual machines for testing and certifications.

My primary laptops are as follows:

  1. A Dell 1720 with 4 gig of memory, a wireless card, a gigabit card, dual 160 gig 5000 rpm hard drives and a 2.2 Ghz core duo processor (this is a T7500 that can run 64 bit OS's). It has Vista Ultimate on it. It has a windows experience score of 3.4 primarily because of poor graphics performance.
  2. A Dell Precision M90 workstation with 4 gig of memory, a wireless card, a gigabit card, 160 gig 7200 rpm hard drive and a 2.2 Ghz core duo processor (again a T7500). It has windows Vista Business 64 bit on it. It has a windows experience score of 5.2. It has a much better graphics board so I use it to drive my dual Samsung 26" monitors.

So my office at the house now consists of the following:

  1. Dell poweredge 840 server with 2.35 TB of disk in a Raid 5 array.
  2. Mac Mini with 2 gig of memory and a 1TB FireWire drive. I probably need to get Leopard for it sometime.
  3. Both the Mac Mini and the Poweredge are hooked into my 25" flat panel (one through the DVI and one through the VGA)hat I use to watch TV and downloaded moves. It also doubles as a monitor for the two computers. I just wish it had Picture in a Picture so I could have both monitors up while watching TV. I might have to break down and buy a new one that supports PIP and POP.
  4. My two 1TB World Books for SAN storage and to back up the poweredge.
  5. Dell M90 workstation docked with dual Samsung 25" monitors.
  6. Dell M65 workstation docked (3 gig of memory in it).
  7. Dell Inspirion B series laptop running windows XP (1.25 gig of memory and full MS office for development testing).
  8. HP 2840 all in one LaserJet printer / scanner / copier
  9. Dell 1720 workstation docked
  10. All connected through a 16 port switch with a wireless N router for my wireless devices (a couple of mobile phones and the laptops occasionally).

All of the local network is 1 Gigabit with Internet access through the cable one modem at 8 megabit.

Actually it never ceases to amaze me how cheap all this was compared to when I had SmartBridge 10 years ago.

Monday, November 5, 2007

MCSA and MCSE Certifications

If I go after the MCSA and MCSE certifications it would be to support the developer certifications.  I would be focusing on Exchange and Database certifications to support consulting for sharepoint and Team Foundation Server.  The primary focus here is to get into the collaboration and development side of the current MS offerings.  To be clear I am only going after the latest certifications.

  • For the MCSA and MCSE the Certification will be for Windows Server 2003.  There are no certifications yet for Windows Server 2008
  • Client certifications would be for Windows Vista (MCTS).

So the certifications and the order I would get them are:

There are several MCTS Certifications.  Some are not really available yet and some I am not interested in.  The ones I am interested in that are available are listed below in the order I would get them:

  1. Technology Specialist: Microsoft Exchange Server 2007, Configuration (one exam)
  2. Technology Specialist: Windows Vista and 2007 Microsoft  Office System Desktops, Deploying and Maintaining (one exam)
  3. Technology Specialist: Windows Vista, Configuration (one exam)

There are also several MCITP Certifications.  The ones I am interested in and the probable order are:

  1. MCITP: Enterprise Messaging Administrator (2 additional exams)
  2. MCITP: Consumer Support Technician (1 additional exam)
  3. MCITP: Enterprise Support Technician (1 additional exam)

The MCSA certifications would be a extension of the collaboration focus.  As such you would want take the two core exams:

  1. Exam 70-290: Managing and Maintaining a Windows Server 2003 Environment
  2. Exam 70-291: Implementing, Managing, and Maintaining a Windows Server 2003 Network Infrastructure

All the rest of the requirements for the MCSA are covered by the other exams.  The client focus would be Vista.

The MCSE certifications would be a extension of the collaboration focus of the MCSA.  As such you would want take the two additional core exams:

  1. Exam 70-293: Planning and Maintaining a Windows Server 2003 Network Infrastructure
  2. Exam 70-294: Planning, Implementing, and Maintaining a Windows Server 2003 Active Directory Infrastructure

All the rest of the requirements are covered by the MCTS and MCITP certifications. 

So to get 8 certifications it takes 11 exams (once you get rid of the common exams).  If you completed this plan including the developer certifications you would have

  • 6 of the seven MCITP Certifications (No training for the Project ones is available yet).
  • 12 of the 19 MCTS Certifications
  • 3 of the Primary Certifications (MCPD Enterprise, MCSA and MCSE)

If you can pull this off it is 23 certifications and 29 tests.  There are short cuts through this and once you have the Vista and Database Certifications you could have go straight for the MCSA and MCSE certifications and abandon the Enterprise Messaging certification.  That would cut back 2 certifications and 4 tests.  Not that much after you already have 25 tests under your belt.

Basically this is a good year of training.  6 months if you are a real stud.  In addition you are looking at 3k in test costs.  Of course by then the 2008 product line is out :-).

Notes on Developer Certifications

I have been focusing on trying to get some Microsoft Certifications completed and a couple of people have emailed me about them.  The following list are all the ones I would like to get.  There are a lot so I don't expect to actually get them all done.  To be clear I am only going after the latest certifications.

  • For developers this is the MCPD series (the MCAD series was for .NET 1.x)
  • For databases this is the MCITP series (the MCDBA series was for SQL Server 2000)

So the new certification and the order I plan on getting them are:

There are several MCTS Certifications.  Some are not really available yet and some I am not interested in.  The ones I am interested in that are available are listed below in the order I plan to get them:

  1. Technology Specialist: .NET Framework 2.0 Web Applications (Part of the MCPD Web and is two exams)
  2. Technology Specialist: .NET Framework 2.0 Windows Applications  (Part of the MCPD Windows and is one additional
  3. Technology Specialist: .NET Framework 2.0 Distributed Applications (Part of the MCPD Enterprise Applications Developer and is one additional exam)
  4. Technology Specialist: Windows SharePoint Services 3.0, Configuration (No Study materials on this I am relying on a few books and the MCPD and is one exam)
  5. Technology Specialist: Windows SharePoint Services 3.0, Application Development (No Study materials on this I am relying on a few books and the MCPD and is one exam)
  6. Technology Specialist: Microsoft Office SharePoint Server 2007, Configuration (No Study materials on this I am relying on a few books and the MCPD and is one exam)
  7. Technology Specialist: Microsoft Office SharePoint Server 2007, Application Development (No Study materials on this I am relying on a few books and the MCPD and is one exam)
  8. Technology Specialist: SQL Server 2005 (Part of the MCITP Database Developer and is one exam)
  9. Technology Specialist: SQL Server 2005 Business Intelligence (Part of the MCITP Business Intelligence Developer and is one exam)

There are also several MCITP Certifications.  The ones I am interested in and the probable order are:

  1. MCITP: Database Developer (3 exams)
  2. MCITP: Database Administrator (2 exams)
  3. MCITP: Business Intelligence Developer (2 exams)

So to get 15 certifications it takes 18 exams (once you get rid of the common exams).  The number of exams and certifications is as follows:

  1. To get the MCPD and MCTS developer certifications (6 certifications) it takes 7 exams.
  2. To get all of the MCTS Certifications for Sharepoint (4 certifications) is 4 exams
  3. To get the MCITP and MCTS for Database developer Certifications (2 Certifications) is 3 exams.
  4. To get the MCITP for Database Administrators (1 Certification) is 2 exams.
  5. To get the MCITP for Business Intelligence Developers (2 Certification) is 2 exams

Sunday, November 4, 2007

Too Close to Reality

I get a email every day of new postings to rec.humor.funny.reruns. Jokes previously posted to rec.humor.funny. Here is the one from today

Relayed-From: hall@wsl.dec.com (Jon "Maddog" Hall)

VMS is like a Soviet railroad train. It's basically industrial-strength, but
when you look at it closely, everything's a little more shabby than you might
like. It gets the job done, but there's no grace to it.

The Mac operating system is like the monorail at Disney World. It's kind of
spectacular and fun, but it doesn't go much of anywhere. Still, the kids like
it.

Unix is like the maritime transit system in an impoverished country. The
ferryboats are dangerous as hell, offer no protection from the weather and leak
like sieves. Every monsoon season a couple of them capsize and drown all the
passengers, but people still line up for them and crowd aboard.

Having used (or am currently using) all of these OS's I think the joke is far to accurate :-).

Saturday, November 3, 2007

Virtual Server 2005

I have not blogged much about this one because I am still trying to read up on it. I have been reading Professional Microsoft Virtual Server 2005 (Programmer to Programmer) (Paperback). Like all WROX programmer to programmer books this is very good.

I have used virtual pc quite a bit but had not really done anything with Virtual Server. Man this is one cool product. I can't believe all the things you can do for testing alone with this thing. I will be using it in conjunction with a lot of the MS 180 day licenses for testing and getting my MS Certifications. In addition for interoperability testing, testing new lan connections (using the Virtual networking) and testing new beta products this thing can not be beat.

SPAM-A-LOT

Went to see Spam-a-lot today. Primarily it was the Holy Grail on stage but there were a lot a little pieces from other Monty Python scripts in it. I particularly liked that they started with the song Finland. Always fun. If you get a chance you should definitely go see this.

I think it is time to head to new York again and catch a few of these on Broadway. Maybe I will try to get a consulting gig in NY just to catch a few (and make a little money :-)).

A Nifty Little Utility

First I need to explain that over the last year I have collected a lot of Digital Copies of Movies, Podcasts, TV Shows and Music. A lot as in around 1 Terabyte. Since ITunes will not let you down load the files more then once you have to have backups of your downloads.

So here is the problem. How do I backup a Terabyte of data and keep the backups in Sync. I was originally going to write some custom software to do this, but I just found this power toy from MS today. It is called SyncToy and you can use it to keep two directories in Sync on two different machines. This is exactly what I needed.

Now I have my 2 Terrabyte Raid 5 array backup to my two 1 Terabyte Mybooks. The MyBooks are two 500 GB disks stripped and can effectively backup half of my 2 Terabyte raid. In addition the My Books hang off the 1 Gigabit switch. This means I if I need to take down the Server where the RAID array is I can still write to the MyBoooks. SyncToy will keep the devices in sync no matter what. Pretty cool since it lets me treat the RAID array and the MyBooks both as Master copies and let SyncToy keep them in Sync.

I am also using Sync toy to back up my 4 Laptops to the Raid array. That way all my Laptops are in sync too. I definitely like having the 1 Gig switch for all this. Way to slow to move all this data through the wireless router. In addition with over six computers in the house keeping them all in sync was getting to be a pain.

Note: These two My Books are the World Editions that have Ethernet attachments so you can use them as SAN devices. I just noticed there is now a 2 Terabyte version of this.

Wednesday, October 31, 2007

MCTS: .NET Framework 2.0 Distributed Applications

Since it is impossible to do development without taking advantage of networking and distributed applications anymore, I will also go after this certification after the MCTS for windows development is complete. This one also consists of two exams, but the first will be complete when I complete the MCTS for web development.

  1. Exam 70–536: TS: Microsoft .NET Framework 2.0 – Application Development Foundation
  2. Exam 70–529: TS: Microsoft .NET Framework 2.0 – Distributed Application Development

With this certification and the windows and web certifications complete you only have one more exam to get the MCPD: Enterprise Applications Developer.

  1. Exam 70–549: PRO: Designing and Developing Enterprise Applications by Using the Microsoft .NET Framework

With those out of the way you can focus on the developer and administration certifications for SQL Server 2005...

MCTS: .NET Framework 2.0 Windows Applications

I guess my first preference will always be windows applications. I like everything I have read about WSS as a web development platform/framework but it is hard to give up years of Windows Development. This Certification actually consists of two exams but I will have the first out of the way when I complete the MCTS for web development.

  1. Exam 70-536: TS: Microsoft .NET Framework 2.0 – Application Development Foundation
  2. Exam 70-526: TS: Microsoft .NET Framework 2.0 – Windows-Based Client Development

Once you have this complete you only have to take one more exam to get the MCPD Windows.

  1. Exam 70–548: PRO: Designing and Developing Windows Applications by Using the Microsoft .NET Framework

MCTS: .NET Framework 2.0 Web Applications

I want to work on this certification as part of the MCPD. It also helps me when working on the Sharepoint certifications. Currently I plan on working on this first. I have the self paced study material for these now. This certification consists of the following exams.

  1. Exam 70–536: TS: Microsoft .NET Framework 2.0 - Application Development Foundation
  2. Exam 70–528: TS: Microsoft .NET Framework 2.0 - Web-Based Client Development

Once you have this complete you only have to take one more exam to get the MCPD Web.

  1. Exam 70-547: PRO: Designing and Developing Web Applications by Using the Microsoft .NET Framework

Developer Certifications

Well I am working on a few Microsoft Certifications. Trying to update them to the latest Technologies. I have bought the Self Paced Books for the Certs. I learn most thing much better on my own.

So far I have the material for the following Certifications

Microsoft Certified Technology Specialist (MCTS) Certifications

Once these are complete it is fairly easy to go after the MCPD Certifications. Here you have

  1. MCPD: Web Developer (1 Additional Exam)
  2. MCPD: Windows Developer (1 Additional Exam)
  3. MCPD: Enterprise Applications Developer (1 Additional Exam)

So 7 exams later you have your MCPD for Enterprise Application Developers. Piece of cake, right? :-).

Wednesday, October 24, 2007

Life's Been Good

The last few entries have been a kind of jot them down cause I am thinking about them. I will put in some notes on WSS and WCF later this week.

Right now I am listening to the Eagles Live and in particular the version of Life's Been Good by Joe Walsh. Obviously they were having a good time when that was recorded.

I have created a playlist of all the tracks of music I own and randomized it. It is funny all the different music I have accumulated over the years. Weird hearing Weird Al followed by Arlo Guthrie and then Poison.

Can't remember now when and why I bought some of these but they are still pretty good.



Currently I am listening to Eagles Live Disc 1 by Eagles

Tuesday, October 23, 2007

IEEE Universe on LinkedIn.com

If you are a member if the IEEE and a member of LinkedIn you may want to join the Linked In IEEE Universe group at

http://www.linkedin.com/e/gis/38435/3F78543A2DC6



Currently I am listening to Mascara & Monsters: The Best of Alice Cooper by Alice Cooper

Final Outsourcing Decisions at Micron

Apparently Micron has completed their study on what the want to do for outsourcing. Major changes for IT and probably some cultural changes for the company as a whole. I wish them well.

My friend Herb Lafond has some comments on the impact to my old team in his blog.



Currently I am listening to For Those About to Rock We Salute You by AC/DC

Small Changes

I have added a couple of widgets from Amazon.  I will keep updating my Google library with all the books in my collection as I add more or as I get to it (I have around 5000 books so this is going to take a while).

I also have about 10,000 tracks of music that I listen too.  I will try to get those out there sometime.  Until then I am passing on some of my favorite books and albums.

The Amazon widget at the bottom has some links to Albums and books in my library that are my favorites.  The Google Link on the right will list all my books at least as I add them.


Currently I am listening to Highway Companion by Tom Petty

Windows Live Writer PlugIns

Interesting set of Add Ins for windows Live Writer.  If you blog you should definitely take a look at Windows Live Writer.


Currently I am listening to An Innocent Man by Billy Joel

Monday, October 22, 2007

Windows Sharepoint Services 3.0

A friend of mine (Joe DeWitt) got me to looking at Windows Sharepoint Services as a development platform.  I had used Sharepoint MOSS 2003 at Micron and was aware of some of the features but had never really looked at the development features too heavily since t was based on .NET 1.1.

So when I started to look at what it would take to get my MCPD (web) I started taking a closer look at WSS 3.0.  I must say I am impressed.  I always tend to look at things from a developer perspective so I picked up a copy of Developer's Guide to Windows SharePoint Services V3 Platform.  Man this thing is cool.

I must admit I am only up to chapter 3 on Authentication and Authorization but so far I am really impressed.  Microsoft is providing a heck of a web development framework as a simple (and free) add on to Windows Server IIS.  With the addition of the workflow functionality in the .NET framework 3.0 you get a extremely powerful web development platform.  After playing some with the Orcas beta I can see that the next release of WSS will be even more amazing. 

I still plan on getting the MCPD Web but can see I will also be getting the MCTS for Sharepoint in addition to the Web certifications.   The functionality of WSS is just to cool not to use especially since WSS 3.0 is free (MOSS is a CAL based license but WSS 3.0 is available as a simple addon to IIS).


Currently I am listening to Antics in the Forbidden Zone by Adam Ant

Monday, October 8, 2007

IIS 7

Wow, IIS 7 looks pretty cool for building WCF Applications. I have installed all the nifty features for playing with IIS 7 and will see how you can deploy WCF applications to it. The more I use Windows Server 2008 the more I like it.

It turned out I had to enable all of the IIS Management features to get Sql Server 2005 to recognize that I had IIS installed. Otherwise it looks good.

Saturday, October 6, 2007

Windows Server 2008 RC

I downloaded the release candidate for Windows Server 2008 after my MSDN presentation. I must say that is some pretty cool technology. I found the install much simpler after doing my Windows Server 2003 installs.

I Loaded it into a virtual machine on my Vista Buisness 64 bit laptop.

I just completed configuring it as a Domain Controller, DNS Server, Application Server and IIS Server Pretty cool and pretty easy.

After doing my presentation on WCF (I will blog more on this later) I am especially interested in some of the new options in IIS 7 options for hosting WCF applications.

I will probably end up with several VPC environments to test some stuff out. Right now I am looking at
  1. One where I install the July CTP of SQL Server 2008 (can I install Sharepoint services on this?)
  2. One where I install SQL Server 2005 standard and Sharepoint Services.
  3. One where I install the Orcas Beta 2 Team Foundation Server.

I am also going to configure a client VPC to run Vista Business 32 and the Orcas Beta Team suite.

I am sure I won't get this all correct the first time so I will be playing around with different versions of the server configuration. Nice time to have the 64 bit laptop and the Terrabyte disks. I will save off the VPC in various configurations then copy it back to add software or reconfigure it.

Thursday, September 27, 2007

New Books on Team System

I picked up some books on Team System. Trying to catch up on Microsoft's Offering. Really looking at what it offers versus the Opensource Tools we used at Micron. These are the ones I picked up.

  1. Microsoft Solutions Framework Essentials: Building Successful Technology Solutions. I am curious about MSF vs. RUP or the IEEE standard.
  2. Working with Microsoft Visual Studio 2005 Team System. Had to pick up the final version of this since Richard wrote it.
  3. Software Engineering With Microsoft Visual Studio Team System
  4. Managing Projects with Microsoft Visual Studio Team System. Richard recommended this one and Martin wrote it. How can I go wrong :-).

I will do some studying on these after I finish the MSDN presentation on Oct 4th and while I am working on my Certs

Wednesday, September 26, 2007

Some recommendations on Linked In

Really good people I Have recommended on linked in. If you ever get a chance to work with them, you will not regret it.

  1. Matt Johnson: I met Matt my first day on the Job at Micron. We began discussing the new features of VB 5 for creating objects. Neither one of us was really that sure what they were and why we wanted to start using them, but we tore into the design and analysis with a vengeance. From that first day I realized what a gifted individual Matt was for designing computer systems and applications. Over the next 10 years he proved that time and again. I have always felt he was one of the best mentors and team mates I have every had the privilege of working with.
  2. Bob Rampy: Bob was my immediate boss at Bull. We met during a benchmark in Phoenix in 1991. He suggested if I ever wanted to leave DC and come to Phoenix to work with his team I would not regret it. I took him up on it and joined his team in Phoenix in 1992 and I never regretted it. I had never worked for a big computer vendor before and certainly not with customers directly. Bob taught me a tremendous amount about working with people and respecting them for what their abilities and strengths are. I would like to think everything I learned about team work and mentoring people I learned from Bob. He is a truly exceptional individual.
  3. Alan Pearson: When I first met Alan he was team lead for one of the central teams at Micron. He later transitioned to become a project manager. As a project manager, Alan showed his communication and organizational skills were exceptional. I have seen several developers and leads transition to become project managers. Most of them failed miserably. Alan proved that it could be done and done well. His attention to detail and communication skills made him one of the best project managers at Micron to work with. I would definitely work with Alan again and would enjoy being on any project where he was the project manager.

Sunday, September 23, 2007

Times, they are a changing.

My friend Dan Cambron has left Micron to take on a job at HP. Sounds like a really cool job doing emulation of HP Printers. My other buddy Andrew Hanson has just taken off too, Both guys are very good senior architect types. I wish them well in thier new positions.

I am definitely going to try to stay in touch but it gets harder when you get busy. I was shocked to see it had been over 10 years since I last talked to Grady. If nothing else leaving Micron has caused me to look up some of my old friends and make me want to stay connected with my current crowd.

Now if I could just figure out where Tom Klotz went to. I guess I will have to go to the opening of the Tiki bar at Pax River and see if I can find him...

WCF Book

I picked up a new book on Windows Communication Foundation Friday. i wanted some extra material for my talk. I am thinking about putting together some examples and putting the project up on either codeplex or google projects.

CodePlex would be cool because it is a Team Foundation Server. Google would be cool because it is subversion and easier to deal with for those who do not have the Client stuff for TFS.

I will have to think about it...

NETDUG Meeting and Software Patterns

I attended the NETDUG Meeting on Thurs. Sept. 20th. It is always a good meeting. I went to this one specifically to pick up my presentation materials for the MSDN event on Oct. 4th. In addition they had a INETA speaker there and I wanted to hear what he had to say about MVP patterns and ASP.NET.

The talk was titled Separation of Code and UI with MVP, by Scott Cate. Scott is a very dynamic speaker and I enjoyed some of the talk but once he really got into the discussion of Model Viewer Presenter I got bored and left to talk to the Microsoft reps. My problem with MVP is I learned it as MVC in my smalltalk days. Now most material on MVC/P is old hat. I agree with Scott however, you have to keep talking about it. Some developers never learned it.

I find myself going back to the tools more and more. Good tools support good practices and promote use of patterns. Poor tools do not. Fowler has always had some good discussion of patterns and some good documentation but it is hard to visualize software patterns until you get a good clean code example. This goes against what most pattern authors are trying to achieve since it brings implementation issues into what is purely a architecture discussion.

I believe in some case it makes it clearer. I will post a few patterns and their implementations that I have found helpful over the next few months.

Thursday, September 13, 2007

Windows Live Writer

I have switched away from the blogger interface and am using windows live writer to write my blogs entries now, Very nice.

One thing that does bug me though, none of the windows live betas will run on my 64 bit Vista box. What's up with that?

Incredible People

In my 25 years in the software industry I have met a lot of really sharp people and some not so sharp :-). So since I have been layed off from Micron and focused on getting my health straight I have been using LinkedIn to try to get back in touch with the people I have known. That brings me to thinking about the really stellar ones on the list. Some of these are:

  • Joe de Witt at Micron. Joe is a Incredibly sharp architect and business man. He has that rare ability to find the technically correct answer that is also the best solution for the business. He is also one of the most socially conscious men I know. He has a passion for doing what is right. Joe can teach you how to be a better person by example alone.
  • Grady Bryant at VeriSign. Without a doubt one of the smartest people I have ever met. I have watched Grady rewrite entire TCP/IP stacks in weeks while keeping his cool around a screaming client. If you have ever had the privilege of working with him you know what I mean. No surprise that he is the VP of R&D at VeriSign.
  • Dan Cambron. Dan taught me more about Object Oriented programming in two years then anyone else I have known. I must admit I thought I knew what I was doing. He showed me I still had a lot to learn and then proceeded to be one of the best mentors I have ever had. Truly a exceptional software engineer and architect..
  • Herb LaFond. Herb is beyond a doubt one of those rare individuals who is a born leader. He balances a strong technical skill set with a incredible set of people skills. He is one of the best project managers I have ever seen, He taught me more about how a good process can improve software quality in two years then I have learned in the last 25. Anyone of his team members will tell you the same.
  • Doug Lawson. I first met Doug when he came to Micron to talk about some of the products his company has sold us. In too many meetings with vendors you will meet a technical guy that just does not have the depth you need. That is not the case with Doug. I have talked with about everything from Development Processes to BTB to network protocols for PLC's. It got so bad that the sales guy for the account started limiting our discussions so they could actually cover the business that brought them to town. Doug is truly an exceptional individual that I am proud to know.

This is just a small list of the exceptional individuals I have met professionally. In my 47 years I have also had a list of friends (which all of these definitely count as) that have been just as great Susan LaFond, Robin Callahan, Deb Lafond, John and Helene Myers, Kim and Kevin Labrum, Jerome Pioux, Tim Blaylock, Colin Robertson and others to numerous to mention.

Sometimes you just have to be amazed at how great your life can be.

Windows Communication Foundation

I will be doing some studying and blogging on WCF over the next few weeks in addition to working on my MCPD. Should make for interesting times.

Tuesday, September 11, 2007

My Google Library

One of the things I like about gmail is it's mini rss feed across the top. I find a lot of useful links there almost constantly, One that scrolled by today was a link to the official google blog for google library.

Now anyone who knows me knows I have an extensive book collection. One of the problems I have always had is cataloging all of them. I have come up with various things through the years but none that I have been very happy with. The Google Library provides some interesting possibilities.

For example I just picked up these three books today
And I was able to turn them around and Catalog them right away.

However all is not glory and some of my books are not in there, although you can get close. For example I am old so I actually have a copy of the System V Interface Definition, issue 2 published in 1986. The ISBN on it is not unique (isn't that the whole point of an ISBN?) However Google only knows about the volume published in 1991. So I have added a couple of labels to let me know that the edition I have is actually the 1986 addition. Not perfect, but workable.

The Same trick can work for my Easton Press Books. Although not perfect, it gives an interesting way to tackle some of my cataloging needs. Now the question is that better then writing an application to use the amazon web services?

Either way, here is a link to my google library

Saturday, July 28, 2007

Home Office

Well I have spent the last three weeks since I was layed off from Micron building my home office and setting up some partnerships and contracting jobs, What a zoo.

I did learn some interesting things and finally came up with a configuration that I am happy with. First some notes on the home network.
  1. I bought two My Books for San storage. That brings me up to 2 TB of NAS on the home network. Cost me about $1000.
  2. I upgraded my switch to a 10 Port Gigabit Switch for my connected devices. Cost me about $50.
  3. I got a new HP 2840 as my All-in-one printer on my network. Nice color laser printer/fax/copy/scan device. Cost me about $1000 with a two year service contract.
  4. I got a new Dell Precision M90 for development. I plan on putting 64 bit Vista and 32 Vista on it for development OS's. Cost me about $2000 with the 3 year in home service contract. (http://outlet.dell.com/)
  5. I got a port replicator and Dual 24 inch Samsung Monitors. I got addicted to those dual monitors at Micron, but wanted to upgrade them a bit :-). Cost me about $500 a monitor.
  6. I got a new Dell Precision M65 for a Server. I plan on putting Windows 2004 Server 64 bit on it along with SQL Server, Oracle and any other database and server tools I want to play with. Cost me about $2000 with port replicators and 3 year at home service contract. (http://outlet.dell.com/)
  7. I also spent another $500 on a new chair and a APC battery back up system.
  8. Finally I upgraded my Internet Service Provider to the 5 megabit cable service. Micron's DSL will probably go away the beginning of August. The cable modem is wireless and wired so I can develop pretty much anywhere although the probability is when I am home I will be in the office. Cost me about $50 a month.
  9. I will keep my old corner desk and set it up as a office desk. That should allow me to have 3 different workstation areas. One for the M90 and the dual monitors. One for the M65 server and a space reserved for a dell laptop to run Linux. This will run about $1500.
  10. I also plan on picking up a new Fujitsu Stylistic at some point to take with me on customer calls. This will be about $4000.

So the total cost to set up a maxed out home office (for my needs) was a one time cost of $13,000. Should be all tax deductible for a cost of starting up the business. For now I am holding off on the Linux workstation and the new stylistic until I have money or contracts to warrant them. My current out of pocket expense are at $7000.

Most of this is highly portable and allows me to pick up the office network and take it with me if needed. The goal was to get a nice home office environment but still have something I could take with if needed.

Next I went after my Email and Document Servers. I decided to go with Google Apps for small business and bought the upgrade for my email. 10 Gig of email should do me since my other gmail account has never got close to using the 2 Gig I get for free. I will also use this for testing some new products I want to develop around the gdata API's.

The nice thing about Google Apps is it let me change around the settings for drcarver.com domain on WebHost4Life and point different cname and aname entries to a mix of google apps and WebHost4life services. I will use the sharepoint services on Webhost4life to create collaborative sites for different projects all hooked off my Sharepoint sites.

Finally I went with a hosted Subversion server. I did not want to have to back up everything at home and I wanted something that would be available on the net in case I was collaborating on a project with several others. I liked the integration of Trac with each repository, but now I have to figure out how to effectively use that and bugzilla.

So it looks like my yearly cost to run drcarver.com as a development/contracting service will be as follows:
  • Google Apps for domains $50
  • Web host for life basic services $120
  • Subversion hosting $120
  • Sharepoint sites - $20 per year per site
  • Cable Internet Services $600

Total yearly cost will be about $1000 with better connectivity then I got from Micron or that I paid for when I had my consulting company 10 years ago. Unreal.

So far my costs are about what I thought they would be. My monthly costs of living are pretty manageable so I should be able to survive for 5 months or so with no other income. I plan on working some contracting gigs over the next few months to replace the capital costs for the start up and fund the rest of the toys.

Monday, July 23, 2007

Unemployed...

Well I was layed off from Micron on July 9th. Ironically my 10th year anniversary with the the company.

I have decided to go back to contracting and consulting. No more working for the man. It should make for a interesting next few years until I retire :)

Sunday, March 4, 2007

New House

I am having a new house built, and it is taking up most of my time at the moment. Going to be a geeks paradise though. I will have to see what all I can get in it.

I did manage to get my colors in part. Crimson and Grey. Go Cougs!!!

Friday, February 9, 2007

Software Patterns

Well, I finally got the EA project code posted to google. The URL for the UML diagrams is at
http://softwarepatterns.googlecode.com/svn/trunk/UML/index.htm

Monday, February 5, 2007

Boise Code Camp

I will be speaking at the Boise code camp this Saturday (2/09/07) on Enterprise Software Patterns. I have spoken several times on this subject in the past, but this time I have put together a Google project space to begin to create some common documentation and implementations for some of the software patterns I use frequently.

The Google project space is at http://code.google.com/p/softwarepatterns/