Memorial day = Shopping

We spent the holiday weekend shopping for and planning for the new house.

The immediate need is a refrigerator but it seems like a good idea to get a new dishwasher at the same time for matching and installation convenience.

I'm trying to determine the best way to create a home theater in the finished basement room. It's between a 55" and 65" with black velvet curtains hung around to make the screen flush and cover up the components. Also the crown molding needs to be lowered to add ropelight as a soft up-light effect.

I started looking at new lighting control for the whole house perhaps including a few nicer two-way switches with preset dim capability and multiple light control such as the KeypadLinc Wall Mount X10 Controller. Sean says I'm being cheap by not using all two-way switches as it would only be another 0.5% of the total house purchase price. A quick count during the building inspection revealed 14 switches that need to be on lighting control so @ $60+ each…Ouch!

I also spent some time yesterday researching hot tub usage and maintenance and learned there is quite a lot of work involved. We should empty and refill every couple of months and check the water chemistry daily. The water takes a while to get up to the optimal temperature of 104°F so it takes a bit of forethought to use. Here is a refresher course on what temperature is.

| Comments (0) |

Cool Tidbits

Here are a few interesting items from this morning's NetNewsWire run.
| Comments (0) |

Sold the house

Well, it was only on the market for 6 days and sold the first day it was shown for slightly more than we were expecting. This moves the closing day for the new house up a month so we'll be moved by the fourth of July. Party at our place!

I wouldn't have expected selling a house to be so exhausting and stressful. I'm ready to sleep for the next twelve hours.

Next steps: city inspection on current house, appraisal on new house, final loan commitment and interest rate lock-in.

| Comments (0) |

Building Inspection

We had the building inspection on the new house yesterday and overall it went well. There were a few unexpected problems (I guess that's to be expected) including the back patio needing to be replaced or repaired to tilt it away from the foundation, a bit of rotting around the front door, and a slight structural problem in the garage rafters. The 17 year old roof is in as good as can be expected condition. The inspector estimates 2-3 years life left in it so we'll have to replace it soon.

| Comments (0) |

Selling the house

The for sale sign was placed in our yard last Thursday and there have been a parade of cars driving by since then. Our agent's delegate called today to tell us there have been six calls asking to see it today even though it was indicated "no show until Wednesday." It looks like it should sell quickly but hopefully there will be enough interest to drive the price up a few percent.

We spent most of the afternoon and evening painting the old masonite siding in all the places the paint was peeling and buckled. Tomorrow the carpets are being cleaned so I'll be packing up the office to clear off the floor.

Update: The open house is today. Our realtor is expecting 35+ people so hopefully we'll have it sold by tonight!
| Comments (0) |

Bought a house

We finally found a house after weeks of suffering through open-house tours of smelly 30 year old homes in need of a total overhaul. The house we bought (actually, are in the process of buying) is a traditional four bedroom two story a few miles from our current house. There is a patio and deck with a hot tub so I'm pretty excited about the move. Now all we have to do is sell the current house, close on the new house, and pay for the whole thing. Stay tuned for more updates and perhaps some photos.

You can view the Apple iCal calendar of home purchase and sale events here.

New House
Click for larger photoAnother photo of landscaping.
| Comments (0) |

Playing Hooky

After nearly throwing a fit at work yesterday I decided to take a day off to get things in perspective. I got up at my normal time, 8:00 or so, and did a bit of work email, read news headlines with NetNewsWire, applied one coat of stain to a bookcase for my home office, watched an episode of Rick Steves' Travels in Europe, half an episode of Seinfeld, and showered.

At 12:30 I left for the Missouri Botanical Gardens even though it was rather cloudy and nasty looking. I had lunch at the garden and spent the next three hours wandering through the irises, Chinese garden, Seiwa-en Japanese garden, and home demonstration garden.

I had dinner with my wife at Macaroni Grill and popped in on our friend Tim Grimes while looking for a new house in his neighborhood.

I should do this more often. Too much work makes Jack a dull boy and Mike go postal.

| Comments (0) |

Amazon Web Services

I decided to try consuming a realworld web service as a test of my .Net development skills. Amazon.com's web services toolkit seemed like a good place to start. From the list of available services the WishList seemed the most interesting. After all, how better to get more gifts than to make a core feature of my personal site a direct link to my WishList.

The object model was a bit foreign having a proxy object separate from the request object. It took several good Google searches to find appropriate sample code. What took the most effort in the whole process was troubleshooting a limitation with the System.Data.DataSet's ReadXML method. The XML returned from the Amazon servers included several Artist nodes with title subnodes. The resulting error, " Error creating relationship 'title,'" was a bit confusing and resulted in several wasted hours until I decided to dump the XML into a file on my web server and discovered the problem with the schema.

I hadn't had much experience with the .Net XML classes so it took a few more hours to get the offending nodes scrubbed from the XMLDocument before loading it in the Dataset.

private void LoadWishList(string wishListId, int pageNumber)

{

// create the Web Service (proxy) object

Amazon.AmazonSearchService ws = new Amazon.AmazonSearchService();

// create the request object

Amazon.WishlistRequest request = new Amazon.WishlistRequest();

request.wishlist_id = wishListId;

request.type = "lite";

request.devtag = "XXXXXXXXXXXXXX";

request.page = pageNumber.ToString();

Amazon.ProductInfo info;

try

{

info = ws.WishlistSearchRequest( request );

}

catch( Exception ex )

{

Trace.Warn( ex.ToString() );

return;

}

XmlSerializer serializer = new XmlSerializer( info.Details.GetType() );

// convert the info.Details array to XML and load DataSet

StringWriter writer = new StringWriter();

serializer.Serialize(writer, info.Details );

System.Xml.XmlDocument XmlDoc = new System.Xml.XmlDataDocument();

XmlDoc.LoadXml( writer.ToString() );

//Remove <Artists>'s children. ADO.Net can't load a DataSet with

//multiple DataTables with the same name

foreach (System.Xml.XmlNode node in XmlDoc.SelectNodes("//Artists"))

{

node.RemoveAll();

}

//Serialize the results to a StringReader

System.IO.StringWriter ResultWriter = new StringWriter();

XmlDoc.Save(ResultWriter);

StringReader ResultReader = new StringReader( ResultWriter.ToString() );

dataset = new DataSet();

dataset.ReadXml( ResultReader );

// Bind to the DataList

this.WistListDataList.DataSource = dataset.Tables[0];

this.WistListDataList.DataBind();

}

| Comments (0) |