Saturday, December 05, 2009

The Family Vacation - Day 9: Travel (4 of 4)

For the sake of completeness, it was an easy drive for the last day of travel.  I was right that it was time to go when we did.  A week away from the normal routine was starting to settle into some relaxed behavior and was turning sour.  I'm glad to be home although I could stand one more day to myself to reset before heading back into work.  

<
Well, now I remember why my blog is mostly idle:  the normal routine just hammers my time to spend writing. 
Oh, before I forget again, total distance traveled: 1808.8 miles and probably double that in smiles.

The Family Vacation - Day 8: Travel (3 of 4)

Well, it was time to start making our way back toward the normal routine.  It's been a good vacation but I think it is best we call it now.  The kids have been great and it will be nice to end on a good note.  Yet we just couldn't make the trip home simple.  That would be too easy.  Instead, we decided to tackle a couple of extra hours of driving today.  That should make tomorrow easier and give us a chance to catch up on a little necessary laundry.  Oh, and we couldn't waste an opportunity to make one additional stop.

We had packed what we could into the car last night, leaving only the necessities to use and pack away.  That still left us with about half an hour of final assembly and stress to get on the road.  Having committed to a long day it was a little frustrating to corral everyone -- myself possibly the worst offender trying to make sure we didn't leave anything, even a mess, behind -- and get going.  However, we made it and left without major conflicts.

Before we left the area it was a treat for my wife and I to have the opportunity to visit the Naval Aviation Museum.  Thankfully the kids were also enthralled so that we didn't have to rush through the exhibits and I was thankful for the opportunity to start guiding them to an appreciation for what our service men and women have sacrificed for us.  Videos scattered throughout the exhibits drew my kids attentions.  My son likes planes and enjoyed that aspect but he's just too young for much more.  I believe my daughter, given some of her questions, may have started to see that there is more to learn and that there are times when we must help each other under sad circumstances.  Good for her; she has a great heart.  We spent a little longer in the museum than we originally anticipated.  It helped that there was a recent addition for the kids: an internal play area.  Yay!

On the way out, we stopped to eat peanut butter sandwiches by the gulf at a small gazebo along an exercise trail.  It was a little chilly but it was still nice to be outside with a little quiet time before leaving the base and getting into the long driving segment of the day.  Food and other stops later, we pulled into the hotel around 11pm, making for a long but simple haul.

Friday, November 27, 2009

The Family Vacation - Day 7: Black Friday for All

We may have made one of the bigger mistakes of the vacation today and we did it twice.  Today has become known as "Black Friday" due to its popularity as a major shopping day in preparation for Christmas.  So what did we do?  We decided that it couldn't be that bad and we took the kids to the play area (which was promoted in the little freebie guide in our room) at the large outlet mall down the highway a couple of miles.


Yeah, not so smart.  At least my daughter has now seen why kindness and compassion are necessary parts of a driver's arsenal and even more important at times like this.  They did get to play, and we actually ended up with a decent parking spot, but it took about 20 minutes of circling.  Some of that time we spent looking for the play area first and judging whether it would be wiser to go somewhere else.

After a quick restroom break, conveniently close to the play area, we gave the kids about a half an hour to play and then we walked them to death again.  We actually didn't do much shopping, but in the "lifestyle center" layout for the mall you end up walking most of the very long W-shaped strip to get to the 2 or 3 places you want to go.  Any normal day I'm sure we could have driven between stores and come out way ahead on time.

At the end of it all, my son fell asleep in my wife's arms at our last stop; conveniently keeping her from fixating on additional dinnerware.  We made it back to the resort, consumed leftovers, then we all took naps at slightly overlapping times.  The plan was to get out for an early dinner and then return for a final swimming session and to pack up as much as possible as to get an early start on the driving tomorrow.

The second attempt at getting out was a quick stop that actually turned out to be just that.  We found a parking spot nearly immediately.  I'd say the just-before-dinner time-frame worked to our favor.  After that, we stopped for dinner at a tourist trap that, had it been a little warmer, would actually have been worth a longer stay.  Instead we coerced the kids off the play equipment, away from the crocodiles and back to the resort for the promised swimming session.

The kids, thoroughly exhausted at this point, are sleeping and I shall join them shortly.  It has been a good family trip and bonding time.  We can't do this every year but I will certainly remember this trip fondly, even if through a head cold and drug-induced haze.

Thursday, November 26, 2009

The Family Vacation - Day 6: The Turkeys Are Coming!

No need for suspense, we didn't burn the complex to the ground.  However, I did hear smoke alarms throughout the afternoon!  We kept to the traditional lazy family day today.  Things started pretty much normally with a light breakfast when we were all awake. Sleeping in until 8am, that's just crazy!   We started off by making pumpkin pies -- yes, 2 as we didn't have the requisite deep dish pie crusts -- and fixing breakfast.

After breakfast, my wife and I enjoyed trading some individual time alone to just relax.   My daughter was happy to watch the parade on TV once it started and my son went out for a quick walk with my wife.  They didn't get far before he just wanted to play in the sandbox (aka the beach) so my wife took a 2nd walk just by herself and I took on the munchkins and prepared the bird.

It was nice enough that my daughter, having heard talk of the beach and finally coming out of her tunnel-vision about the parade, decided to give up her career as a rebroadcast announcer (she felt inclined to repeat everything said on the TV to me since I couldn't see it) and insisted on going to the beach herself.  Of course, my son wouldn't be left behind so I had to slide on suitable clothing and all of us went back to the beach.  Together we built a moat at the water's edge but didn't get far enough to build the castle.  Oh well, the kids had fun and tired themselves out.  My son was so tired at that point that he wouldn't eat a snack and barely bothered to strip clothes off before climbing into bed and taking a nap.

Unfortunately, it wasn't too long after that -- probably 45 minutes -- that it was time for the traditional late lunch/early dinner of overindulgence.  I went to wake up his highness and was greeted with probably the most disappointed look I've seen in awhile.  He was certainly not ready to eat and he fussed his way through not eating lunch.  Equally disappointing, he refused to go back to his nap and threw a second fit about that as my wife tried to snuggle him back to bed.  My daughter and I quickly fell asleep in the 2nd bed for our naps.  At least the reset-button was hit for my son and he happily watched TV and played through nap time.  He was still all smiles for most of the evening as we watched a couple of movies together and didn't fuss when I slipped out in the middle of "Cars" for a quick dip in the hot tub.  My daughter, on the other hand, required a promise that we would go swimming tomorrow before she'd relax and get ready for bed.

Not surprisingly, both kids requested a snack before bed and both ate leftovers without much fuss.  After that we all hit our crash point so I snuggled the kids to bed and am finishing this up before calling it a night.

The Family Vacation - Day 5: Kid Day

Today started with the normal morning routine.  Breakfast, heard the family into clothes and eventually out the door.  It turned out to be a beautiful day; about 70 with mostly sunny skies.  Yet, we started the day at Wal-Mart after discovering that my daughter had managed to not have any jeans with her.  We're not sure how that happened and she insists that she packed them.  It is quite possible that her brother, ever helpful, removed and relocated them for us or even that they were missed when we made final checks and closed suitcases.  She ended up with jeans, another long sleeve shirt and a sweatshirt to round out her wardrobe and she should have room to grow into the items.


After the brief shopping interlude we went looking for a playground.  Sound familiar?  This time we went to track down one we had seen on the way into town that, if memory served, had 2 play areas.  It took a little while, but eventually we found the park -- almost to the point of being back out onto full-speed highways and away from cities.  We were not the only family to take advantage of the weather.  Although most of the locals seem to think winter has set in and that you need coats to go outside, some families still brave the cold and come out to play.  There were 3 other families with young children approximately the age of ours who were at the playgrounds while we were there.


My daughter quickly had a following of 3 different girls, one a pair of twins who alternately provided a shadow for my daughter and one of their friends.  There were a couple of kids my son's age and they played near each other from time to time (as is appropriate for that age group) but mostly my son decided to challenge himself by climbing through new types of equipment in sandals still covered with sand.  Either my wife or I was near him the majority of the time, just in case.  It was a bit sad, and almost funny, that the slides seemed to be the most effective speed bumps to the playground.  The heavily retarded descent on the spiral slide neared comical proportions, especially when my son gave me the cherubic "what's wrong with this thing daddy" silent look.


On the way back to the room we debated on whether to hit the big fun activity for the day immediately after lunch or to try to get the kids a nap first.  My son made the decision for us by falling asleep along the way.  He did eat lunch and then we had to coerce him back to sleep.  We nearly didn't but my daughter decided she was going to want a nap after lunch so that forced our hands a little.  We did decide to keep the nap a little shorter than the 3.5 hr episodes we were seeing and the kids, thankfully, seemed to be on the same wavelength.


We packed up and headed across the street (sometimes being in the center of a tourist area works out for the best) and down half a block to a racetrack and amusement park that had about 10 rides the kids could enjoy.  We checked regulations and then had to do some quick figuring.  My daughter was at a border between being too big for the kiddie rides.  There was one she couldn't go on as her feet would drag.  Most of the others both kids could ride at the same time (limiting coordination efforts between parents) and there was one that my son couldn't ride which helped even out the ticket count.


It was definitely a down time, we had the kid part pretty much to ourselves.  The attendants were pleasant and a couple of them even took the time to learn the kids names and make sure they were ok with the rides.  My daughter, in particular, experienced her first go card ride with the attendant, who had pretty much followed us between rides as there was nothing else going on, patiently guiding her and teaching her what she could do.  To her credit, there was only one turn she didn't stay in long enough until after the 6th lap and then she was golden.  The real treat came when we found out she was just barely big enough that she could ride along with my wife -- being the one to be a big kid tonight -- on a more adult-level go cart ride.  My son was quite upset that he couldn't go, but I distracted him by explaining where the girls were and by having him cheer as they went by.


As a reward, he was allowed extra rides on the kids choo-choo train.  A young attendant had overheard his name and, as he was the only kid on the ride, after guiding my son by name to the ride, provided an unforgettable moment as my son was allowed to "push that button to start the ride when I tell you."  His eyes were like saucers and he squealed with delight as the attendant coordinated starting the ride with the cosmetic button push.  The attendant also enjoyed the experience and I hope he understands just how happy he made my son. (Thanks, dude.  God bless you a little extra for that one.)


After running out of ride tickets we came back to the resort just in time for a magic show.  It wasn't a Vegas style show, but the magician did a good job working with the kids and elderly in the audience.  My daughter was a little scared by the guillotine routine and she was fascinated by most of the rest.  My son didn't really care and he just wanted to go to the room.  I hope he didn't make too much noise and distract everyone around him.  At least I now have a reference for the "shall I get you a straight-jacket" threat!


Dinner was simple as tomorrow we attempt to burn down the resort and after a short kid show or two (hard to remember when you're dealing with screaming kids and cleaning up after dinner) we settled down to bed.

Wednesday, November 25, 2009

The Family Vacation - Day 4: Marching On

What would possess me to wake up at 6am while on vacation?  I don't know, but it does have a couple of benefits.  First, I can actually connect into the resort's WiFi connection from the room at that hour when it won't finish handshaking after about 8am.  Second, I can make coffee and enjoy some quiet time while the family is snoozing. And those two items leave me ready to type and catch up with the days events without having to filter out 2 days worth of stuff when trying to post.

So, today we decided to start off by heading the down "the strip" and see what was to be found past Wal-Mart while looking for a place for the kids to play.  After breakfast, some in-room play time and finally corralling the kids into clothes appropriate to the weather -- partly-cloudy, breezy, warming up to a high expected near 70 but still chilly in the morning (as if 55 was chilly) -- we packed into the car and started driving.

The kids nearly fell into car-induced naps which prompted us to come back towards the resort and take them to a state park.  They played on some basic playground equipment and then we took them on a nature trail.  At first there was a high level of resistance from both kids.  My daughter just wanted to go to the beach (a theme repeated frequently since our first encounter with the waves) and my son seemed to chant "I want a 'Carry You'" with his arms stretched up.  Both of them were encouraged to continue to walk and to learn about the native sand dune plants -- many of which are actually endangered thanks to human development of the areas. 

Somewhere into the first about third of the walk the kids settled into examining the reserve.  My wife encouraged my daughter to keep working on reading the little signs explaining the trees and shrubs while I played catch-up; walking at my son's pace.  He's actually fun to watch explore the world around him.  He's very thorough and experimental while at the same time still a bit timid.  The combination makes for some cute moments as he is at first surprised during his experiments and then rewarded with something new and interesting.

Eventually the kids wore down to the point where progress was frequently measured in feet-between-'Carry You'-requests.  So we guided them through the remainder of the trail, a quick 2nd effort in the playground and then back to the room.  It wasn't until packing into the car that I looked at a watch and realized we had taken an hour(ish) long walk! 

The kids were appropriately grumpy but a good lunch improved their spirits enough that the fight around taking a nap was minimal.  And it was quite a nap!  I believe the first kid roused after approximately 3 hours while the second followed not long thereafter.  We had planned an early dinner at a nice seafood restaurant so there wasn't much time to prepare or get distracted.

We were a little worried at first as the restaurant, while listed as casual, was occupied by an older crowd that was attired in business casual or better clothing.  By the time we left there was one other family in casual clothing in the restaurant but we were on alert the whole time so that we would not be causing a scene.

Dinner was excellent and the kids were well-behaved.  I acted like an armchair for my son as his booster couldn't find good footing in the bench of the booth and he wasn't wanting to sit particularly still either.  My concerns that he would pull his normal "I'm done, go play" routine were unfounded as the most he did was snuggle on my arm and in my lap.

Returning to the room, it was a little early for bed times but too late to want to make a return trip to the pool.  So we snuggled on beds and watched a movie.  There was some protest about not watching another show  which was understandable given the lack of activity between naps and bedtime, but we managed to read a book and snuggle enough to get over the fussing and realize it was bedtime.

And, get this, the kids slept together in one bed!  Woo hoo!  Perhaps the best thing to come from that was that neither parent was treated to an all-night massage and could actually sleep.

Tuesday, November 24, 2009

The Family Vacation - Day 3: Initial Recreation

You know your day is going to go well when you start by hitting that local vacation hot spot, Wal-Mart.  Breakfast was no less exciting: McDonald's in Wal-Mart.  But it gets better!  After ordering and sliding in to one of the 4 mini-booths with our tray of food, we distributed food and then watch my coffee go flying straight at my my toddler, strapped into his highchair!  Ugh... I'll let the guilty part off the hook this time but it's straight to parent court for proper consideration next time.

Sufficient food has been procured to cover the majority of the meals for the week, including Thanksgiving dinner.  Yep, we are going to attempt to rotisserie a turkey breast in our mini-oven (all the way from home) and fix the trimmings in about a 4x4 kitchen.  Should be a good family experience.

Another reason for the shopping goes back to our desire to lessen our impact on the environment. It can be shocking just how much waste is generated supporting tourists.  Meals in fast-food restaurants generate a lot of extra waste that does not go into recycling programs.

I think my daughter may be getting a better idea on how lucky she is at home.  We've discussed how our resort rooms are as big as many of the homes people live in daily and how this demonstrates we can live with less of the creature comforts typically surrounding us.

So after we picked up the necessities, we came back, over-stocked the diminutive cabinets and refrigerator and proceeded to the beach.  It was time to just be out in nature and both kids had a blast.  My son, not exactly stable on his feet right now, decided to charge a wave and tripped over a tidal pool; face-planing in some cold water before I could catch him.

My daughter, giving up on the initial plan to build a giant sand castle, decided charging the waves would be more fun.  Thankfully she has a healthy dose of self-preservation and stopped when the first cold wave gently tickled her toes.  From there the two of us made trips for wet sand and water to the ocean's edge mostly safely.  My son took a rake of the sand toy size and combed the beach, randomly, squealing with delight.

Eventually my daughter just had to go challenge a wave directly and head-on.  Of course, the wave won, but she was delighted to have tried.  I was there with her so she didn't get pulled away and I hope that telling her about how to stand against the wave helped a little.  Apparently, between attempts at standing in the waves she was telling my wife about what I was telling her, so maybe it will sink in for more than this one day.  Thankfully my son decided waves were not his thing and didn't venture out so that only one of the parents (me) had to be worried about tracking a kid in the waves.

It was a bit chilly -- although to a northerner, not as cold as the locals would describe it -- and even with running around the kids turned purple.  So we headed back to the resort, dried off, washed off, ate a later lunch and grabbed a well-deserved nap.  My wife doesn't nap and I only took a short nap, but the kids really needed it.

When the kids woke it was nearly dinner time, especially with the kids still wanting to swim in the pool yet today.  So we acted like bums and let the kids watch some TV while dinner was prepared.  After cleaning up dinner, we changed into swimsuits and went to the inside pool at the resort.  It was fun to be in the pool with the kids again. 

My son has decided that he can direct the play, dictating which of the little games he learned from the YMCA he wanted us to do, and thoroughly enjoyed himself.  The level of enjoyment expressed in his nearly crazed eyes was refreshing.  He's going to like swimming this winter.  It was no surprise that my daughter was happily splashing around..  She's lost a little of the form of her strokes but her strength has improved.  She was teetering on the edge of moving up a level in her lessons but this extra strength should push her over the edge.  We will likely still keep her in the same class one more time for reinforcement and refinement of her strokes again, but I don't believe that she'll have any problem in the teachers eyes when it comes to moving up after that.

After about an hour of swimming it was time to return to the room and call it a night.

The Family Vacation - Day 2: Travel [2 of 4]

Story of the day: drugs + sleep debt + distracted co-pilot = unexpected side trip.

It would be fun to turn this into Gilligan's Island, but nothing even remotely scary or life impacting happened. I was mostly in the driving zone, so I kept the helm for the entire trip. The head cold has not improved substantially, but neither has is worsened.

The kids both remained patient and were not fussing over video choices. Both were a little sleepy but we tried to take stops at intervals which were conducive to potty breaks and not sitting too long. Some of the entertaining kid-led sing-along sessions were amusing! :) It is fun to see the kids interacting and playing together even in the confines of a 2 day car trip.

Unfortunately, our side-trip began shortly after starting out for the day. Two state highways out of town join together and then somehow magically split apart. Our maps didn't show enough detail and the directions from online resources seemed to give enough detail that we may have been overly confident of the visibility of our pending split.

We did question our sanity a couple of times as all we saw along the highway were parked pickups and the occasional speeders. The volume of traffic seemed low, but it was fairly early on a Sunday morning, so the situation was plausible. What finally stuck and had us check was crossing an interstate junction that we did not expect to cross after our first pit stop for the day. Grab the atlas and cue-up the forehead slaps. We had not managed the split of the highways correctly.

After a little re-route planning and a big u-turn, we were back on the way. One nice thing about this trip is that, although long, there are big stretches of driving where you're just on one highway or interstate with no need to do anything but drive. There are very few junctions to catch or towns to navigate. The latter point is also a little sad in that you don't have much of an opportunity to spot what life might be like or catch an unexpected local event of interest. Maybe when the kids are older we'll go get lost somewhere and spend time learning about people instead of just passing through.

With two days of driving behind us I'm looking forward to some down time. Hopefully I can shake this head cold, recharge the batteries, and enjoy the overdue down-time with family.

Saturday, November 21, 2009

The Family Vacation - Day 1: Travel (1 of 4)

After a more normal, lazy weekend morning group snuggle in our bed, my wife and I began to migrate to the rest of the challenge for the day: starting the car rides. In case you were not aware, this turns out to be about a 2 hour process even having staged the car the night before.

There actually were not too many hiccups in the routine, although protests were expected and encountered. Here's how it went:
  • Showers and clothing: first my wife, then me with both kids in the shower and my wife tackling drying/initial clothing as cleanliness was achieved. Record protest set number 1. Gee, batting 1000 already.
  • Turn on TV show for the kids to keep them occupied.
  • Pack toiletries and double-check diaper count in diaper bag.
  • Separate squabbling kids who should just be watching TV.
  • Kids end up getting yogurt for a morning snack after protest #2.
  • I've forgotten what it was, but not long after finishing the yogurt came protest #3.
  • That lead to getting kids into the car.
  • Take kids to McDonald's for breakfast.
  • Go through 3 sets of utensils for 2 kids.
  • Finally get on the road.
Really, this was pretty smooth. My wife's family, and mine, both have histories of exceedingly drawn-out efforts to get underway on the day of the trip. I'll actually write that up as a successful transition.

Traveling was not quite as successful. Even with the videos there come problems. My son decided he didn't like the first choice and spent nearly an hour whining: "Need it off. Momeeeeeeeeee, need off!" He's learned a very effective tone of voice to use for this task. Thanks, as appropriate, to daycare for that one -- sometimes tough love *is* the proper response.

We stopped at a fun place for lunch. It was one that brought back a couple of college memories for my wife and I. Unfortunately, although well-behaved (which was itself a nice surprise), the kids did not each a balanced lunch and my son barely ate. This meant that diets were not observed and we would have cranky children (and very full parents). Oh well.

The second movie choice was good for both kids. With my wife driving I took some extra drugs and a small nap to see if I could improve the status of my head. The drugs were optional, the nap was not. I just can't ride in cars.

We stopped for an extended break (time for the kids to play) and then it was back behind the wheel for me. We were not far from dinner at that point so I decided to try to tough it out without a movie. The kids actually started inventing a way to play together. That lasted for about 20 minutes after which I decided a short show was in order to keep them from destroying the car. Their game had encouraged my son (Lord knows how) to start dismantling his car seat. Bring on the show!

Dinner was uneventful and both kids ate reasonably well. No more serious arguments, 2 heads kinda lolling to the side from time to time. We made it to the hotel and are trying to get to sleep. Not too bad, to be fair, but this is day 1 of 2 on this half of the travel.

The Family Vacation - Day 0: The Preparation

For the record, these trip memos were posted once the vacation was completed. I have no intention to repeat the mistake made by a family who was so accurate with their Tweets that they gave a clear time-line to thieves who robbed them blind and knew exactly how much time was available.

It has been several years since my wife and I even considered an extended vacation. We took our kids to see family in Florida several years ago now. At that point we flew, hauling a kid car seat and an infant bucket through the airport and down the airplane isle.

This year we are making a stab at a family vacation again, taking a trip that will require about 12 hours of driving time. Of course, with young children we will be well above that.

My daughter is highly anticipating this trip. She's found very good questions to ask that demonstrate her attempt to prepare for what is coming. She energetically packed her own suitcase, bouncing between her room and ours, following the precise prompts for category and quantity of clothing items my wife was providing.

I tried not to cough on everyone.

In what seems like my own personal tradition since about High School, I'm once again going on vacation while fighting off a cold. This one isn't particularly bad until the pressure in my head kicks in full force. As I near that point I become irritable, impatient, and a bit wobbly. This should make things much more entertaining, right?

With the usual level of miss-communication and an unexpected call from a friend and prior co-worker that ended up irritating my wife more than necessary, we did manage to have ourselves packed up before the kids bedtime.

After putting the kids to bed, it was time to play the traditional game of suitcase Tetris. Normally this is only a minor challenge, but this time I actually failed. There was just not a way -- confirmed by my wife -- to get everything in without risking stockpiling projectiles to ensure harm int he case of an accident.

Ok, so let's review and look for what is necessary:
Really big suitcase for my wife: check.
Medium-sized (possibly no longer legal for carry-on) suitcase for my daughter: check.
Average-sized (carry-on legal) suitcase for my son: check.
Slightly cramped, average-sized suitcase for me: check.
Beach toys: check.
Powered Travel Cooler: check.
Counter-top oven: check.
Cooking utensils: check and check.
Diaper bag: check. (in cabin)
Snack bag: check. (in cabin)
Movies for the kids: check (in cabin)
Toiletries: need space once finally packed.
Out-Of-Trunk-Space: check (by about 2 or 3 items worth).

So, what would you leave home?

For us, the powered travel cooler was the casualty for safety's sake. How are we going to make a Thanksgiving dinner without an oven? Shish... what were you thinking? ;)

It's now way too late at night, somewhere around 11pm, and I'm definitely hurting. This should make the trip even more exciting. Oh well, maybe I'll go for complete exhaustion, sleep-debt, and high levels of caffiene to, you know, recapture my college lifestyle (because that was such a good way to do things the first time around).

Wednesday, June 10, 2009

Fallen-Angel Cake [Difficulty: Master]

1 box of easy-bake Angel Food Cake (the just-add-water kind)
1 1/4 C Cold water
1 box of Macaroni and Cheese
1 Package of Hot Dogs
1 Bundle of Grapes

Feeds: 2 Kids, 1 Adult (+1 later)

0) Send wife to training class and gather ingredients

1) Prepare Macaroni and Cheese (See box for recipe)
2) Pull down plates
3) Microwave 1.5 hot dogs
4) Plate Macaroni
5) Cut hot dogs to bite-sized pieces and plate
6) pluck grapes from bunch and plate.
7) Hold discussion with kids on drink selection, healthy snack request denial and choice of "short show"
8) take cooled plates to table and begin calling kids.
9) Place dry ingredients from cake box and cold water into stand mixer and follow speed/timing from box.
10) search for proper pan -- find bunt pan and decide that will work.
11) Quickly turn on oven then
12) Turn off stand mixer
14) Detach toddler from leg and warn of hot oven.
15) Detach toddler from opposing leg, providing reminder of hot oven.
16) Place toddler on couch after removing from bear-hug of both legs.
[optional] Groan.
17) Repeat call for dinner, turn off TV.
18) Return to bunt pan with older kid following and spray with baker's Pam.
19) Pour batter into pan.
20) Explain to older kid about batter and that it is not made with "licking eggs."
21) Provide detailed instructions to kids on going to the dinner table.
22) Buckle toddler into chair.
23) Put cake in oven.
24) Pour milk, under protest as options were not given, then hold discussion about having performed step (7)
25) Return Thanks to God for the food.
26) Fix your own plate, quantities now optional.
27) Attempt to enjoy normal kid-interrupted dinner with kid-discussions and tantrums.
[Optional] admire getting to this point without having sent a kid to a corner for a time-out.
28) Constantly remind toddler there is no more M&C until grapes or hot dog are consumed.
29) Remind older kid that M&C was her choice and that she must eat it before being excused.
30) Attempt to wolf down dinner.
31) After sufficient food is consumed, excuse kids.
32) Clean off table.
33) Start Movie (original Disney Peter Pan as a suggestion)
[Optional] Empty clean dishwasher.
34) Load dishwasher with dirty dishes.
35) Remove cake from oven, per instructions: "Immediately turn over onto cooling rack."
36) Marvel at how easily the cake slid free.
37) Realize that this is *not* the way it should go...
38) Confirm suspicion that (18) should not have been performed.
39) Rename dish to Fallen-Angel Cake.
40) Remove cool-whip from freezer.
41) Get out dessert plates.
42) Slice strawberries.
43) Slice more strawberries.
44) Wait for movie to near completion.
45) Cut servings of massively-deflated cake, plate with strawberries and cool-whip.
46) Wait for movie to finish.
47) Call kids for dessert.
48) Avoid Stampede
49) Turn off-TV before kids realize and get upset.
50) Enjoy!
[Optional] Blog about ordeal so others can laugh with you.

Wednesday, April 01, 2009

Working Around DataTable.Merge() Not Changing DataRowState

Before I forget, while the documentation on the DataTable.Merge() methods would seem to indicate that the method is smart about using FK relationships and RowState. The reality is that Microsoft has acknowledged in the Connect forum that the Merge is much more like a batch load in that constraints are dropped, data is correlated, and constraints are re-enabled (possibly throwing exceptions) but *without* changing row states. There is a workaround suggested using LinQ which I can't work with right now as I'm restricted to the 2.0 framework.

I was hoping to use the merge functionality to perform some small ETL tasks. Instead, after researching for awhile, I came up with the following, relatively simple workaround. I'm using Strong-Typed DataSets which affects the nature of the implementation, but the approach should still work for the more generic form.
If it's not obvious, this sample is in C#.

public static void Upsert
(DataTable sourceTable, TableType targetTable)
where TableType : DataTable, new()
where RowType : DataRow
{
TableType inputTable = sourceTable as TableType;

//if we can't cast to the appropriate type we can run into
//data problems down below in LoadDataRow.
if (inputTable == null)
{
inputTable = new TableType();
inputTable.Merge(sourceTable, false, MissingSchemaAction.Add);
}

//pull in schema from candidate table
targetTable.Merge(sourceTable.Clone(), true, MissingSchemaAction.Add);

//apply resuling schema to candidate table
sourceTable.Merge(targetTable.Clone(), true, MissingSchemaAction.Add);

//now use LoadDataRow to "merge" the tables, together
foreach (RowType row in inputTable.Rows)
{
try
{
targetTable.LoadDataRow(row.ItemArray, LoadOption.Upsert);
}
catch (Exception ex)
{
//TODO: Tighten this exception down to what is actually thrown (not in MSDN Documentation?)
//exception will be thrown on FK validation failure
//this is ok and actually expected in the design of the load.
System.Diagnostics.Debug.WriteLine("Verify Expected Error: " + ex.Message);
}
}//next row
}


As you can see, this could use a little more work, but I've managed an Upsert (Insert or Update combined method) implementation. This method was placed in the DataSet's partial class and each DataTable partial class contains a typed version (non-generic) of the Upsert method that delegates to the above generic form for it's implementation.

public partial class MyDataTable
{
public void Upsert(DataTable table)
{
MyParentDS.Upsert(table, this);
}
}

The table Upsert does accept the base DataTable reference to allow the merge to come from a query result that was not filled into a MyParentDS instance. The generic method on the parent either casts or merges into the strong-typed form.

The gotcha in all this is that the item array from the row must match or you can end up with some seemingly unexpected type-mismatch errors from LoadDataRow. The safest way, I felt, was to make sure I "cast" to the MyParentDS before going into the upsert section itself.

Recorded here so I don't have to reinvent the wheel again.

Friday, February 20, 2009

Laminate Flooring Recap - Pictures!


























































In this first picture you can see the initial cut-away of the water damaged area near the old patio door. The night before the door was replaced, I pulled the laminate back to the left further to expose and clear out the remaining area.



This shot of the kitchen area shows the new french doors that replaced the old slider.



Now the work begins. With the furniture removed, this is what the old rooms were like:



Of course, the furniture had to go somewhere. Think of it as an expensive game of Tetris!





With the carpet removed and a large section of linoleum taken up. You can just make out the repaired section of the floor near the door where the wood is a different color. That repair goes under the door, by the way.



The start of the next day we indulged the kids and let them "ride" a bike inside. The plywood layer they are riding on brings the floors level so there's no funky transitions going on. This picture is more like the "end of day 1" progress picture.




End of Day 2:



End of Day 3:



End of Day 4: (Opposing views)





End of Day 5: (again opposing views)





End of Day 6: (End of the Big Stuff)




Laminate Flooring Recap - Day 6

This coming weekend doesn't provide much time for working on the floor so I took the opportunity of a small lull at work to flex some time and headed home early to work flooring before the kids came home.

2:45 - start of last row by cabinets, initial pieces needed to be cut down.
3:30 - 4 rows later, start cuts on vents.
4:15 - now the trickier side, the 2nd row at the vents (the way it happened, I had to cut out the majority of the vent from the 2nd row, leaving only 1/4 inch of the board. Decided to lay the row immediately behind at the same time for stability -- to keep from shattering/splitting the 1/4 inch sections.
5:10 - Time to start the last row on the main part of the floor. Each one will be measured and cut as the wall is a little wonky.
6:20 - 6:45 - Eat the dinner my wife kindly brought home.
8:00 - The main area is now done. Yay!

Summary:
4' x 21' aprox (one longer row in front of the cabinets) covered.
3+ (probably 3.5) boxes used.

To Do:
Pantry and hallway. All floorboards (which it seems we're inclined to get a larger, slightly fancier cut to add a further formal touch, stained of course.)

For now, I'm going to relax. After that, I'll see about putting together the photos of each day into a post.


To do:

Wednesday, February 18, 2009

Laminate Flooring Recap - Day 5

tonight (back to real-time), after a full day away from working the floor, I decided to work in a little bit of flooring between cooking dinner for the kids, starting recorded kid shows, refereeing and time between dinner and bed.

6:30 - 8:30 pm - interspersed putting down rows of laminate with parental duties.

2 more boxes down. Covered about 4x40. We should have around 2 boxes left over. Not too bad considering we purchased based on maximum floor dimensions without accounting for space taken up by cabinets.

The next row starts with ripping down boards to go up against the last set of cabinet faces. Only about 4' left of width to cover. Of course, that includes the work around the cabinets, the door, and the floor vents. Oh, and figuring out the pantry closet and most likely the hallway. I'm reasonably certain at this point we'll end up doing the hallway. Not a large task, just need a piece of transition strip so we can change directions. Then there's figuring out how to end at the stairs and the other transitions/thresholds to do.

I'm going to pretend that all the floorboards are going to stain and install themselves.

Tuesday, February 17, 2009

Laminate Flooring Recap - Day 4

I should have been at work. I was planning on going to work. The head cold/virus/whatever had other plans for me. It really would not have been pleasant for coworkers to have to deal with me -- the drugs weren't working well enough and my headache and general exhaustion was debilitating. Instead, with the kids home for President's day and my wife having to sacrifice her day to be home with them, I fought through the pressure to try to complete more floor, taking a much easier pace and trying to return the home back to normal sooner.

8:30 - after eating a granola bar, started placing more wood. Today will include cuts around the island (which should be highly entertaining given my mental state and mood) thankfully followed by long runs of open space.
10:00 - start working island.
10:36 - the first row at the island is in. Examined remaining space and decided it best to move the stove.
11:03 - vacuumed out the work area, threw the circuit breaker and pulled out the stove. OMG are the sides of the stove and the floor under it disgusting. There's barely an eight of an inch (1/8") gap to the counter on either side, but liquids and small crumbs have found their way into a protected area.
11:21 - stove is out, linoleum under it is removed.
Noon -Lunch.
12:20 - back at it, groaning a little.
12:50 - 1:10 - Hobby Horse repairs: 4 new springs placed, attempted to run a stringer between support bars for the feet, but the rod is a little too wide.
2:30 - the width of the island has been covered. Several PITA pieces to cut, but they're done. Wife starts helping as Little Trooper is napping and our lady in waiting is entertaining herself with TV and playtime in the basement.
3:50 - Little Trooper wakes up, back doing the boards alone (I miss the company)
4:50 - enough of the floor done to put the stove back in place.
5:05 - anti-tip hold down hardware relocated and installed. Determine the original placement never worked. Power restored to the stove and it still works. Done for the day.

5 more boxes completed. Only about 6' of width remain (that's slightly under 1/3 of the floor). Should be interesting to work the vents and around the cabinets.

Addendum:
9:30-10:00 pm - discuss what we're going to do about pantry closet and hallway at the garage door. We're leaning to working those. Fun, especially since the boards in front of the pantry have been in place for days now - we'll be working those in kinda backward. Most likely will need to purchase a direction-change transition runner to go from the kitchen to the hallway.

Laminate Flooring Recap - Day 3

Roll the clock back a couple of days, here's what happened on project day 3:
8:30 - move refrigerator, pull linoleum with my daughter's help ;). Take out remaining floorboard. Resume laying down laminate.
Noon - break for lunch which we could assemble in the little remaining kitchen space.
12:30 - back to the boards.
2:15 - enough of the floor done to put the fridge back and rip some more linoleum.
2:30 - done for the day. Time to clean up to celebrate my birthday with extended family.

4 more boxes placed, about 1/2 the width of the floors completed.

The time with family was a welcome break, getting all of us out of the house for an extended period of time and away from the noise of construction. Unfortunately, dinner wasn't much quieter and my head was not clearing up.

Sunday, February 15, 2009

Laminate Flooring Recap - Day 2

You'd think that my body might decide to cooperate, given the large amount of work ahead. Instead, I woke nice and early. This is the Day2 recap (posted the next morning as I had no finger energy left to type last night):

5:30 - Wake up, take drugs for stuffy head. Lay in bed and try to get some rest.
6:30 - Start of the morning routine, Little Trooper woke up and was not to be deterred from breakfast.
8:00 - After the family is completely up and breakfasts are completed, send everyone else but me to the basement. There's plywood yet to place.
9:15 - First row is down. 2nd row is going to either end at the closet or need to be cut to go in. Decide with my wife that we need to do the coat closet. Fun, more ripping and staples. (Just cant' get enough of those staples.)
9:40 - 2 Birthday calls and lots of Tetris with plywood, the closet is now ready.
10:46 - Plywood underlayment is now complete. House and garage are vacuumed to remove as much sawdust as possible. Bring up compound miter saw and prep work areas to start laying laminate in earnest. Rest of the family heads to swimming classes.
11:30 - Oh yeah, need to do more undercutting of the door frames. It's not fun to run a hacksaw as close as possible to the floor and my hands have a lot less skin on the knuckles.
12:30 - Family is back from swimming with lunch. Break for lunch and settling the kids down for a nap.
1:30 - Back at it. Cringe at how slow things seem to be going. Spacers are pivoting under the drywall (most of which stops about 1/2 inch short of the floor) and the previously laid rows are bowing against the large open doorways between rooms. Curse at myself for agreeing to start on what isn't a very solid continuous wall. The results had best be better than starting against the outside wall of the house. My wife is able to assist while Little Trooper is napping and the princess is watching Dora/Max & Ruby episodes in the basement.
5:00 - Stop, discuss dinner, break for dinner.
6:50 - Return from dinner, banish everyone to the basement again while I continue work on the floor. (Did I mention my wife is doing an extraordinarily good job dealing with all the noise and constant kid needs while I'm banging around and she's still fighting off a bad headache? Kudos.)
7:30 - Did you know it can take nearly 1/2 hour to size/cut/re-size/re-cut just one board? Yeah, an ugly cut that has a 1 inch strip that runs 23 inches until it spreads back out to full width. And that has to go into a space where I'm pushing the board in next to a wall. Ugh.
8:20 - Need a break. Little Trooper went down for bed on the early side. That was good as he will sleep through the noise. Go down to watch part of a show with my daughter and take a rest.
9:00 - Oops, long rest. She's going up with my wife to get ready for bed, I'm going to try to work some more.
9:30 - Done for the night. We're at a break in the room where the next row must extend into the kitchen and under where the refrigerator is now. That will wait until after breakfast tomorrow. Clean up work areas, put tools out-of-reach of kids.
10:30 - My wife poured me a bath in our indulgence tub. Bless her soul, she's still making sure I have some time to relax on my birthday.

Summary:
4 boxes of laminate used, about 6' x 18' of floor covered. Gee, that only leaves 12' x 36' now that we're to the long runs!
About 300 brad nails to hold plywood in place (not even worrying about the centers of most boards).

Friday, February 13, 2009

Laminate Flooring Recap - Day 1

A brief history:
We have about the cheapest carpet made down on the floors in the house that date to when we had the house build 8 1/2 years ago. As we made the carpet selection -- mostly what color of cheap carpet -- one thing we did do right was to listen to suggestions and upgrade the padding. That decision turned out to pay for itself many times over.

Now, with 2 kids and 8.5 years of general use, there are well-worn tracks in the carpet where even the upgraded padding can no longer compensate having been broken down under the relentless traffic. There are stains that give rise to fun memories yet which "decorate" the high-use areas. And now that the kids are proficient walkers we don't feel the need to keep the same level of "crash zone" padding around.

In short, it's time to bring in the wood! You can read my wife's post on the agony of making the decision on what to do and where to stop. Keeping this down to a reasonable size... (yeah, right)

Monday: New patio door (in this case, French doors) installed, with a defective astroglade (sp>) unit -- it's the thing that holds the door closed by pushing rods into holes in the door jam.

Tue-Thur: catch up at work for time lost to door install.

Thur pm: bug very good friend to help pick up plywood underlayment to level floors. After he comes over, while not feeling tops, we make the clarification that the underlayment is 4x8 sheets of plywood that won't fit in his SUV. (BTW, I'm extremely grateful for his willingness to help and I will make it up to him)

Now for today's recap:
6:30 - out of bed, help with morning routine
7:45 -take kids to daycare
8:15 - back home, time to start working!
9:10 - complete Tetris game to move the furniture out of the 2 rooms getting the new laminate flooring.
10:00 - Completed removing baseboards (minus the one behind the refridgerator that will come out when I get to working that part of the floor)
10:25 - cut-out and removed the largest square of carpet which is then in a lump in the middle of the garage.
10:36 - grumble and groan after vaccuming up a cigarette butt that was closed up behind the baseboards.
Noon - OOOOOWWWW! Most of the carpet padding is now removed, way too many staples removed (needle nose pliers and I are now really good friends).
12:35 - after 3 phone calls, clean-up of pulled staples and padding, along with removal of a few stragglers, is completed. Time to go shopping for the plywood and maybe some lunch.
1:00 - decided to pull up an additional section of old linoleum to see just how bad that effort would be and to expose the transition area. Finally going for lunch and flooring.
1:20 - 3 - The trip to the store didn't work out as smoothly as planned. I picked out the plywood, went to rent a truck to bring the full sheets home, found out my insurance card needed to be updated to the most current one which I had already paid for. Purchased the wood and placed it on hold for pick up later. Returned home, dug through the pile of mail to find the cards. Returned to the store, rented and loaded the truck. Returned home again, unloaded wood. Searched owner's manual for type of gas the truck uses (required to bring it back at same level on tank with accompanying gas receipt). Giggle at the fact it took as long to figure that out as to load, move and unload the wood. Buy 2 gallons of gas. Return the truck. Wait for it to be checked back in. Guess what... I went a whopping 9 miles. While waiting for check-in, laughed with sales clerk because the hadn't written down my departure time and were surprised I was back to soon.
3ish -4:15 - Valentines part for both kids at daycare.
4:30ish - show kids around the floor, cover dangerous areas, coverse about plans for the night, and return to working by starting to lay plywood.
6:20 - dinner break - Pizza in the basement.
6:50 - back to work with lots of cuts (corners, vents, etc) on the docket.
7:30 - kids meltdown, stop work for the night, put kids to bed.
9:00 - for whatever reason, type this up.

On the plate for tomorrow:
All the complicated cuts of plywood.
Plan out if we're going to do closets, a hallway, etc. and finish preping those areas (or leave them as-is)
Finally get to laying laminate and pray it gets done.

Sunday, January 25, 2009

(Un) Common Courtesy

This evening was, majorly, a delight. Although a little tired from a shortened nap for my son and no nap for my already tired daughter, the two of them, the two of us, my parents and sister's family all went to see "Elmo's Green Thumb" tonight. The show was OK, I watched enough to wonder at the level of anamatronics and their implementation in the performers' costumes, but the real treat for me was watching my kids. Both of them enjoy Sesame Street at levels appropriate to their ages and the two of them together seem to have some other shared consciousness which causes them to laugh, sing, bounce, etc with synchronized precision and honest joy. This interaction didn't diminish with my interposition or with repositioning to various laps and seats. Probably the most enjoyable time was the spontaneous bouts of dancing both engaged in with fascinated looks pastered on their faces. With the other stresses in the family, this was a welcome respite that did my soul much good.

Prior to this evening's festivity, we all attended church together. The priest offered a homily reflecting on the transformation of Saul's convictions about Jesus's resurrection. (Bear with me, this is related even if religious.) To overly-simplify the point, Saul was overly-zealous and overly-guilty. He persecuted early Christians with fervor because of their blasphemous (in his eyes) belief in the resurrection. His guilt was well-intentioned but proven to be misplaced and it took Saul many, many years to reconcile for himself -- in the face of the factual resurrection -- his beliefs; a period of introspection that ultimately resulted in the complete conversion of Saul's life into the reborn Peter. The priest then challenged us to be neither over-zealous nor over-guilty. We're not perfect and we must observe the world around us with tolerance so that we may gain wisdom.

Got that? Wondering where this is going?

So, after the show, we planned to go for a meal with the gathered family at a location not far away. We had parked on the 3rd level of a parking garage above the rest of the family that had parked on the 1st level having arrived much earlier. The other car was quickly out and re-parked at the restaurant while we packed up and proceeded to get into a line of cars backed up the exit ramp. A quick glance at the cars around us would confirm that this family show was attended by families. By far, SUV's and Minivans populated the parking slots -- both demarked by paint and defined by the momentary gridlock. Families of all sorts braved the wind and cold to take tired children to their cars, weaving through the same mass of viechles that saught direction.

With the kindness of a minivan driver a couple of spaces down, we both joined the stream flowing toward the exit ramp. We proceeded to the end of the row, just around the corner, then join the gridlock. I would estimate that there were about 20 slots on either side of the lane where the majority of the cars were still parked. Pedestrian traffic moved faster, but terminated in the viechles in-view and going nowhere. While engines started and drivers attempted to communicate, the most prevalent light in the row was the glare brake lights .

I can't speak for all viechles, but in my car the kids were antsy and I wouldn't think it too much of a stretch to imagine the behavior was shared in most of the cars surrounding us. One, which was to my side, had two women, dragging 3 children into the viechle; one under audible, even if unintelligable protest.

This is where things seemd to go all wrong. We had all just come from a show that embodied the good qualities for our children to learn. In sharp contrast, it's nearly amusing to see 6 minivans try to all back into the same space at the same time, none willing to yeild, while two additional cars try to navigate out of the way. While that went on, I reminded my daughter that there was no where for my car to go and that -- here's the initial tie in -- we were not the only ones with opinions on how this should go. It was not right for us to believe we knew best and had the only opinion that mattered.

I will admit, I wanted to get out and direct traffic, but eventualy the congestion started to clear. Nearly exactly at that moment, the car with the two women and 3 children, reversed quite rapidly, nearly into the side of my car. Apparently their impatience was boiling over. Their horn started honking and I could nearly taste the resentment they were projecting from not moving. To be honest, I was likely eminating much the same set of emotions, but I remained on my break while the automotive knot was unwinding. Apparently my view on the situation was not shared.

From the kindess of the mothers, a door was opened and yelling comprable to the gentleness of a seasoned drill seargent commensed. Right in the middle of a gridlocked garage and in a stellar role-model for their children and mine, the mother in the passenger seat instructed me that I should be driving like I intended to go somewhere yet that night -- along with other phrases I will decline to share. Now, I have no idea where I could have gone except to plant my viechle further into the congestion, but that was of no concern. The driver of the other viechle decided that the point was not taken seriously enough and laid on the horn continuously for 2 minutes.

After having been parked for roughly twenty minutes, the knot was undone to the point where I could move forward. As I cleared a critical amout of space, the driver quickly reversed her car out of its parking spot -- while still on the horn somehow, nearly hitting the back side of my car and I would imagine the nose of the car that has been patiently waiting behind me, pulled completely across the isle, and charged forward down the parking spaces next to me, culminating in cutting me off ("rode raging" me as my wife put it likely most accurately) while still hollaring out a window before nearly hitting a car parked in the makeshift lane. Incredible!

It's not worth it, I reminded my daughter as I let the other car in front of me. I could have gunned it -- my car would easily have raced into the back of the car in front of me -- but what good would that do? I would have been just as guilty in my miopic perspective and wrongly zealous by that action as the other driver already was. I would have risked the safety of my family and several others for what?

No, I'm not confessing to a peronal faith conversion from this eventm but I was quite frankly shocked and dissapointed in the behavior of many adults this evening with the safety of many families in their hands. All I can hope is to hold onto what I grew up learning as common courtesy, teach it to my children by example and pray that more people open their eyes to the world around them.