22 May 2013

Roadtrip 2013

Day 1: KC to Ellis, Kansas

25 Apr 2013

So my day started with eight hours of this:

And then, we decided, once I'd put a full day's worth of harrowing careless developers behind me, why not pack up the car and drive west? So we did!

Off to California, with our training-wheel first trip to the small town of Ellis in western Kansas. It is difficult, as natives of Kansas may readily find themselves conceding, to capture the amazing natural beauty of the landscape on film, because, of course, so little of it actually exists, but we took a few photos out the window at 75mph.

The kids enjoyed this rest stop.

The restrooms had an "observation deck". Yes, an "observation deck"; in the coarse vernacular of the day, I defecate you not. The boy was unimpressed.

A monument to fallen "employees". I dunno, employees just seems kind of a silly word to inscribe in rock for the ages.


Hey, it was our first stop of the road trip, we indulged ourselves. Yes, I know, its just a rest stop.

Back on the road, and as light faded, our MP3 CD happened upon Ray Charles' "Mess Around" and finding myself in a car on a long road trip, I was incapable of resisting the urge to channel John Candy's routine from "Planes Trains and Automobiles". It's a very difficult temptation to resist. Then the windfarms:

As boring as the landscape may be, the flat land grants a huge canvas to the sky. I'm sad these pictures don't capture but a diminished version of the reality.

Stopping for gas:

This one came out pretty well:

And arriving at the hotel in Ellis, Kansas. Tomorrow to Denver!





Day 2: Ellis, KS to Evergreen, CO

27 Apr 2013

Given our relatively short drive today, we took a slow, relaxing start. Hotel waffles are a big hit:


After a few hours we stopped and had a picnic lunch at a very windy high prairie rest stop on the KS/CO border.


The boy exploring some junipers...


The girl was an animal of some sort, as usual, note the paws.


Once into Denver we aimed to meet a couple friends for dinner, but to burn off some extra time we stopped at a lake park in the city. Gretchen found the geese captivating. Note the commanding point, a characteristic of her personality.


THIS MEANS YOU!!!


Pete was more laissez-faire in his goose pursuit.


Thence to Casa Bonita, the Mexican "restaurant" I remember from the late 90s, since memorialized in South Park.


Who's excited?


Waiting around for our friends to meet up with us:


Gretchen loved everything about the place...the silly theatrics, the theme-park environment, the heady whiff of dankness akin to Pirates of the Caribbean, and most assuredly her new friend. She makes friends instantly, this kid.


The boy cared about one thing...drinking his weight in lemonade. He poured his soul into this venture.


Sopapillas and a gorilla show to round out the dinner.


That way to Black Bart's Cave!


Gretchen was disconsolate at finding her new friend wouldn't be coming with.


Pete trying to scale obstacles as usual.


Then up into the foothills, viewing the majesty of the Rockies through a bug-spattered windscreen.


Staying in a lovely hotel with lovely views, none of which turned out on film. Forgive my uncharacteristically limited writing, as its been rather a longish day and the family is insisting I turn in. Tomorrow, passing over the Rockies to Arches and Canyonlands in Utah.




Day 3: Evergreen, CO to Moab, UT

26 Apr 2013

After perhaps not the most restful evening, an unsatisfying admixture of sleep and wakefulness terminating in a 05:30 alarm, we quickly packed and headed out, to a brisk and bright Colorado morning in the mountains. I-70 was looking clear and dry which is all I really ask of it...


Last time we were through here, it was overcast. Overcast, and trying vociferously to kill us like some great evil spirit of the Mountain. The cool, sharp air was refreshing and the sun was lovely. We saw a few packs of bighorn sheep along the roadway, although we were unable to snap any photos while at speed.


Reaching Vail, having negotiated the Pass without incident.


One of my favorite parts of Colorado is that western region where the Colorado River snakes along I-70. It's a bit prettier in fall where the deciduous trees are (metaphorically, we hope) ablaze, but still, lovely little place.


There is a rest stop in the Glenwood Canyon region, I want to say mile marker 121 or somewhere around there, that is a surprisingly little idyllic spot. We were there for 20 minutes or so, Gretchen doing her modelling routine of course.


There was a nice walkway along the river to the restrooms. There is actually a trail to Hanging Lake here that is said to be exceptionally pretty, but none of us felt like the hike nor spending our tightly regulated time...


The boy liked the river a lot. While the ladies went off to visit the restroom...which sounds like they are paying a social call, and knowing my daughter's penchant for making instant friends of strangers, they might have been...we trotted down to the edge of Grizzly Creek.


He was quite amused by throwing stones into the river. Didn't want to leave. Ranking highway rest stops this one is definitely top notch. We are becoming connoisseurs.


Getting over the Utah border a while later we needed to stop again and found a nice well-built rest stop, at which the boy busied himself collecting rock, proudly displayed here:


I remember seeing at other rest stops a sign for a "Pet Comfort Area" which struck me as particularly curious way of expressing it, and here, we have "Pet Exercise Areas". If that's exercise, then you need to up your fiber intake!


And then we turned south, towards Canyonlands and Arches National Parks. I'd eschewed these parks before because they were just enough off the path to make it hard to justify the driving. And yes, the driving felt like it took forever, the family were mostly good sports....mostly.


We navigated all the way through the "Islands in the Sky" region to the Grand View Point. This became an instant favourite for me. The pictures don't capture it of course, to trot out that hoary cliche again, but it was spectacular. Gretchen was overly dramatic about her fear of heights, as is her wont, but she had fun.


It feels like a recursive canyon...you're standing looking down at a canyon floor from atop a cliff, and in the canyon floor, you see more canyons.


The boy wanted to jump off the edge and eat the rocks and dirt. True to form.


One quick shot together before bustling back into the car.


Driving back up we stopped for me to vainly try to get directions on my phone (my printed directions seeming somewhat untrustworthy), and we happened to stop at the "Monitor and Merrimack" view point. This is a little cut off but I immediately saw the resemblance. The actual ships being only slightly more seaworthy than these rock formations.


The Lasal mountains were visible just about everywhere, beautiful to see next to the red rock formations. Gretchen spotting them pointed them out as "snow mountains" and asserted that there lay the Arctic.


Gretchen and Peter both were pretty good, all told, with all the travel and activity. We headed up to Arches.


Arches was the more immediately striking in a surreal, almost comic novelty sort of way. We drove up to the Windows section, got halfway up the path, being beset by Frenchies of every description on every side. I was amused to find a trilingual sign on which Spanish was not included...I think Arches gets a substantial international tourist market, much like the Grand Canyon. Gretchen didn't want to hike all the way up, so we settled for a shot at a distance.


This section calls to mind "Pink Elephants". The creative and/or LSD-addled mind I'm sure can enjoy these formations with particular relish.


Then we drove back through (the drive through alone is full of incredible sights) and headed to Moab. Moab was apparently more packed-to-the-gills than usual because of an annual car show. Tons of muscle cars, Corvettes, classic cars, etc. motored down the streets at about 30 meters per hour. We passed (slower than the bicycle traffic, I should note) hundreds of folks lining the streets in folding chairs, and I thought about shifting my über-sexy Nissan Versa into neutral and giving them a taste of some serious, growly RPMs, but I figured, lots of older car lovers out there, I didn't want to tax their dicky hearts with the lustful roar of my car's splendid four-cylinder. Finally made it to the hotel, and we locked ourselves in the room and cranked up the AC. Tomorrow, across Utah to Zion.




Day 4: Moab, UT to Springdale, UT

28 Apr 2013

Woke up early-ish this morning to a much more peaceful and sedate Moab...a Moab, very likely, with a mother of a Sunday morning hangover, no doubt. Checking out I noted the multilingual Do Not Disturb hanger. "Bitte nicht stoeren", if only the Poles had thought to hang those up on the border in the late thirties.


Speaking of our Deustchy friends, LOVERLY little piece of German manufacture sitting out in the lot while I loaded luggage.


Up past Arches and back on I-70...then after 30 miles or so we veered south again on Utah 24. A surprisingly scenic bit of road...some great stretches of vast desert plains, some very windy amidst rock formations.


Very expansive views, an iPhone isn't perhaps the best instrument for the capture thereof, but we make do.


This one reminded me in a way of those desert sand sculptures in a jar, although the colours are a bit washed out compared to the reality.


Cresting a hill and seeing this loom ahead was, well, rather keen.


Then we made a brief stop in Capitol Reef National Park, intent on making an early picnic lunch, but the heavy sun, lack of shelter or picnic benches, and my son's translucent complexion which scalds quickly under a light overcast made us decide to only take a brief stopover there. These were the "Mummy Cliffs"...bit eerie I suppose, with a mild resemblance of their namesake.


The view from Panorama Point. Well, one portion of the view, as it is, of course, a panorama, and my phone is not thus equipped to take those sorts of shots.


Gretchen retiring on the local flora...


The boy is happiest, of course, when provided with an ample supply of rocks, and this stop did not disappoint.


Back on the road, we headed towards Bryce, and decided on a southern route on Utah 12. Seemed reasonably straight, albeit windy on the maps, running through the Grand Staircase Escalante National Monument. Little knowing that we'd be climbing several pretty substantial mountainous areas and doing some fairly tricksy driving. We wound our way up a mountain and happened on some unexpected and quite lovely views.


As we climbed higher the pine forests gave way to white birch. Kind of a strange sight. This is at about 9000 feet.


Then down from that section we climbed again, I assume this was the "Grand Staircase". Several sections had us high between two canyons, nothing on either side, driving along a spine of rock high in the air. Debra took a few pics, as much as her nervousness allowed. This would be the perfect highway for driving enthusiasts. Utah 12 and Grand Staircase is a hidden gem, I really think, though the windy curves and knuckle-whitening views require steeled nerves and undivided attention for the driver.


Back in saner, but still quite scenic lands, we closed in on Bryce Canyon.


At Inspiration Point.


Gretchen's somewhat over-dramatised fear of heights bade her enjoy the view from a distance.


Last time we saw this was in overcast, lovely to see it fully illuminated as well.


Gretchen cautiously assessing the view at Fairyland Point.


We ate a quick picnic lunch here, Peter doing as he usually does and attempting to scale every obstacle in sight.


We took the eastern entrance into Zion to get to Springdale, which meant, alas, driving through the lovely park. This is the somewhat Jabba-esque Checkerboard Mesa.


After a day full of landscape overload we expected to see Zion, which we've visited a number of times, with slightly jaded and underwhelmed eyes, but the sheer scale of the place, when taken in person, takes the breath away.


The splendid contrast of green and red one finds here is even more enriched in the bright afternoon sun; it is lovely as well in a soft overcast light but the sharpness and contrast in the bright light is quite nice.


OK, one more...trust me, these are but a scant fraction of all the pictures we took today.


And so I'm at the hotel under the watchful eye of a rusty red mesa, sitting on the balcony polishing off this entry while the children wreak their mad havoc inside on my wife's rapidly fraying nerves. Tomorrow we stay here another day, which will be mostly recuperative after four days on the road, with some mild sight-seeing, then the day after we set our sights on Anaheim.




Day 5: Zion National Park

29 Apr 2013

Today we took it a bit easier, staying a second night in Zion National Park. Nice little break from the highways. We're staying at Driftwood Lodge in Springdale, for the second time, and we love this place. The balcony that doubles as a child containment device is also nice.


We drove down to the park entrance and took the bus to the end of the line for a gentle riverside hike. Gretchen spotted this little guy:


She scored a raccoon at the gift shop, proudly displayed here. She is a born mugger. Mugger in the sense of mugging for the camera, not armed robbery. Peter on the other hand is a natural pickpocket and has previously shown great promise in that particular area.


The river was running moderately, a bit rapid in spots. Sometimes it floods heavily here.


These cliffs are gargantuan.


You get a semblance of scale from the trees lining the cliff edges.


The boy is a future Marine, drawn to the beaches. As Douglas Adams wrote, "We all like to congregate at boundary conditions. Where land meets water. Where earth meets air. Where bodies meet mind. Where space meets time. We like to be on one side, and look at the other."


Give him sand and rocks and the kid has a grand time.


Cacti under a massive tower of rock:


The cliffs were so high that when viewed through the roof of the bus we could still barely see the top.


Later that afternoon, we had a small picnic out back of the hotel by the river. We had to be quick about it because the boy got harder and harder to prevent jumping headfirst into the Virgin River.


Gretchen loved being outside.


And while the horses neglected to pay her a visit, despite her repeated attempts to summon them ("HOORRRRSE! I HAVE SOME HAY FOR YOU!!!!" times about a million), I think she liked seeing them rather than not.


And so to bed, to return to the road tomorrow. Destined for I-15 and following that on down, past the notorious Fruit Patrol at the border (we plan to bribe our way past with a few ripe clementines and a rare quince), we shall deposit our humble caravan at the very border of the Magic Kingdom, directly across the street from the entrance to Disneyland. We'll get our free fix of pre-Disneyland hype by having dinner and browsing Downtown Disney tomorrow night, then an early night to prepare for an early morning at Walt's park. You can be assured there are those of our party who are rather excited.




Day 6: Springdale, UT to Anaheim, CA

30 Apr 2013

Today we left Zion for California. This sunset picture snuck onto my camera last night as I was grabbing something from the car.


I woke reasonably early and realized after some time the power was out to the building. Dawn over Springdale was peaceful and calm.


Into the car after checking out and down through Hurricane, and onto I-15 southbound. We got out of Utah and enjoyed, as usual, motoring through the Virgin River Gorge. It isn't as impressive a drive to me now, the backwater highways of Utah jading my sensibilities on that score, but still, scenic by Missouri standards.


Thence into Nevada, which despite its proximity to several states I have much love for, remains a recipient of my contempt and slight regard. Las Vegas, the northern end of which I was forced to refuel in, remains a festering boil on the armpit of America, encompassing everything I dislike about L.A. without any of the charm or natural beauty, and slathering an extra helping of scuzz on top for extra measure. I remember the last time I railed about a particular city (here's looking at you, Atlanta) some random stranger came onto my blog, a rare enough occurrence, and sought to defend their fair city from the attack. Suffice to say, if you like Vegas, you like Vegas. I can't blame people for liking cold tinned fish with mayonnaise either.

Anyway, we motored on, got into California, speeding by the Fruit Patrol safely (the only thing ripe in our car at the time required an emergency stop at a rest stop and the use of a great lot of baby wipes), and the boy had a rough time of it in general, so we decided to take a stop in the San Bernardino forest. Stopped here and realized Peter had just fallen asleep so the stop was unnecessary, but Gretchen got to stretch her legs a bit.


Then to the Park Vue Inn, across from the Disneyland entrance. You can see Space Mountain and the Matterhorn just barely from the hotel:


Please take note...Disneyland causes cancer. Thanks, State of California, good to know. Come on kids, let's get some Magical Cancery Goodness!


We weren't actually going in tonight, just stopping at Downtown Disney (no admission fee) and having dinner to quell a sort of Disney mania that had taken root. Posing by the gates:


Gretchen watching waterfalls in Downtown Disney. We ate at the "Jazz Kitchen Express" which had a New Orleans Square feel to it.


Then we visited the Lego Store and headed south to the new hotel, the Grand Californian, because Debra wanted to see what it was like. Here we are in a sort of courtyard/garden area pretending we are paying guests, and not low class freeloaders...we managed to avoid not getting bunged out on our ears.


In one of the Disney merchandise stores, they had these Princess kits, each of which had a Princess doll complete with secondary Disembodied Head. If the object is to change the hairstyle, wouldn't it be possible to just remove the hair, and not swap out whole heads? Rather creepy.


Then on our way out we decided to buy our tickets for tomorrow, to save time. We were at the ticket booth and the fellow inside, perhaps seeing Debra's girlish excitement and deciding to have some fun, coyly asked if we were interested in going tonight. Long story short, we got complimentary passes. We were all tired by this time but went headlong for it, deciding to go to California Adventure, since we'd never been.


Gretchen loved the Little Mermaid ride.


She did the carousel twice. I think she was overwhelmed by the bustle and excitement, I have hardly ever seen her at such a loss for words.


Pete and his mum enjoyed it as well, of course.


And instead of our planned ice cream...churros. What else.


The boy was also a fan of churros. He started sucking on the waxed paper they come in once the supply ran out. Note the look of crazed desperation.


We saw a Pixar parade almost by accident.


Gretchen enjoyed the log slide in, well, I don't know what section this is, but sort of a Yosemite/Sequoia themed play area.


Oh look, they have a Micro-Utah, one eight the size of the real thing and made of StyroFoam!


Me and the boy were waiting around a bit for the girls to catch up after they went on another carousel ride.


So, yes, tomorrow, we do it again. This time, the original park.




Day 7: Disneyland

1 May 2013

Day late and many dollars short, thanks to the cash-vacuuming expertise of the Walt Disney Company, but yesterday was great fun. We breakfasted early, Gretchen starting off her digestive system with the first of many batches of sugary goodness with a bowl of Froot Loops. At breakfast she decided to sit down with another family and talk at length with them. We had to drag her away.


Waiting for the park to open...rope drop was late, at 10AM, so much waiting was involved.


Actually in line for entry.


We stopped at the magic shop on Main Street, where my uncle used to work in days of yore. Gretchen got to see a couple levitation based magic tricks.


Thence to Fantasyland and a short line to ride on Dumbo...Gretchen's fear of heights was overwhelmed on this one by the fun of it, I think.


Mom and brother up ahead in the next car.


Casey Jr's is a classic train ride and thankfully early there wasn't much of a line.


Then onto the carousel.


The boy also did the carousel but his mind was still fixated on JUICEBOX.


They had a static teacup that Gretchen liked. All the fun with none of the nausea!


Ducks proved a highlight. Her hands are cupped here as she quacks to the local Anatidae.


Second Breakfast at the Jolly Holiday Bakery.


We met up with family (cousins on both sides were there, as well as nearly all aunts and uncles, and grandma) and did a number of the classic rides...the usuals, really, Haunted Mansion, Pirates, Tiki Room, a number of the movie-based dark rides, etc. Then took the train all around the park:


Then to the petting zoo.


Funny that the goats may have been her favorite thing in Disneyland, followed by the sugary food and ducks.


Seconds before getting told to get off the barrels:


Pete getting in on the germ-filled action:


I think there was a donkey over here off camera:


And the petting zoo apparently just opened a Small Nervous Lizard Exhibit, one of the more challenging petting zoo attractions to be sure.


Dinner with the local waterfowl. Not that I wouldn't have preferred the waterfowl AS dinner, but the fennel/bacon/onion pizza I got at the "Village Haus" was quite good. Gretchen eventually chased this long-suffering bird off.


And today we are just taking it easy staying with relatives. And trying to prevent the children from breaking everything in sight.




Day 9: USS Iowa

3 May 2013

Today was another nice relaxing day in southern California. We ambled southeast to Long Beach, which isn't as picturesque as we thought we remembered it to be, but port cities for vast cross-Pacific container shipping have an uphill battle to fight in the aesthetics department.

Then we alighted at our destination:


Yes, today was one of my alloted military museum days and we went to tour the USS Iowa, lead vessel of the Iowa-class battleships, of which there are four, probably the best known being the Missouri upon which the Second World War was officially brought to a close. About 5 feet longer than the Titanic, capable of a sprightly 35 knots, and massively armed and armoured, its an impressive boat.

However it should be noted that it, like Disneyland, causes cancer. I think the State of California is selling the destructive power of the Iowa a bit short. Have you seen those 16 inch guns? You get on the wrong side of this ship and you'd beg to get off easy with "other reproductive harm".


The Business End.


Still on the main deck, 5-inchers in the background.


The rather impressive superstructure, part of which we would be touring.


Into the officers' quarters, nice reprieve from the sun.


Lots of interesting old signs and documents about. Athwartship is a great and underutilised word.


One of the executive officer staterooms. Perfect motivational experience for the kids. You guys apply yourselves, gain entrance into the United States Naval Academy as the best of the best, and apply yourselves and work up the ranks, and someday, perhaps, you might find yourselves living in this sort of lavish luxury while at sea!


A near-bottomless hole for loading the powder magazine, I believe.


This was a really impressive thing...in the Captain's conference room, set next to the quarters FDR used when travelling to Tehran, was a table with a variety of historical documents laid out, not under glass or anything. This is a handwritten letter from Field Marshall Montgomery. Assumedly by his own hand, even the word SECRET at the top is handwritten.


Variety of communication devices, probably each varying in vintage.


View of the inside of the armoured bridge, which afforded only slit viewports. Gave a real sense that this was, at its heart, a true warship...designed to take fire, bombs, shells, and missiles, and keep steaming and returning fire.


Just outside the armoured interior bridge was an outer area that was assumedly used in peacetime when incoming fire was not expected.


The boy gazing out from an outside view point on top of the bridge area.


The Phalanx CIWS system, a very fast and accurate radar controlled system that threw a whole lot of 20mm shells into the air in a very short amount of time. Come a long way since the manually aimed Bofors cannons that originally populated the edges of the ship.


Chaff mortars, designed to belch up enough special tinfoil to confuse radar guided anti-ship missiles. And a kid starting to exhibit prodigious fluency in Mandarin Whinese.


Hmmm, so they had an embossed plaque on what to do when the ballistic missiles start leaking rocket fuel. Apparently this was a common occurrence.


The Harpoon launch tubes:


Fire control for the 16 inch guns.


Finishing up moving aft towards the stern, with the third turret of guns. Lots of commentary from the international Whinese delegation.


And the rest of our party in tow.


These guns can hurl a 2000lb projectile over 20 miles, if I remember the figures correctly.


Then down below deck!


Gretchen sitting in the enlisted mess.


Harpoon on display. The red sign in the background is an etched sign saying "CLEAN AS YOU GO". I probably need one of those for the kitchen when I cook.


Back on deck before heading to shore.


Then, back to Diamond Bar where we paid another visit to El Pollo Loco. Really wish that chain would spread to KC, I'd prefer it over In-N-Out. The boy concurs!


The rest of the day we'll be taking it easy. Then tomorrow is our last day down here (nothing planned just yet), and we'll be back on the road for the second major leg of our vacation...central coast, Sequoia National Park, and the Route 66 way homeward.




Day 10: Crystal Cove

4 May 2013

Today is our last day staying in Diamond Bar, always a wonderful stay with relatives. The kids loved staying here and spending time with my aunt and uncle. Gretchen was pretending to be a "Captain" last night with her sailor's cap from the USS Iowa gift shop. I think she may not exactly comprehend the concept of rank...


We thought about going to the Chino Air Museum today (now called "Planes of Fame" or something like that) but decided against it when we found out that it was their annual big airshow today. So instead, we decided to go for the classic California vacation pastime, the beach. Crystal Cove State Park down by Laguna Beach.


Gretchen got to work immediately in the sand.


Pete, the Not-So-Ancient Mariner, fixed me with a glittering eye, one thing to convey. TO THE SEA.


We waded in the surf, which was cool, but not too cold.


Local fauna milling about with a sort of thuggish bravado like hoodlums at a shopping mall.


Both kids loved playing in the surf. Bit chilly...the boy would start shivering, but still didn't want to leave the ocean.


After a brief warmup, the cry goes round, back into the water!


It's a rocky beach, relative to some down here.


A distantly visible sailing vessel coasts lazily by.


If nothing else, these will make nice desktop background images!


Rather graceful sea bird of some ilk pecking around for food.


Gretchen and I climbed around the rocks slowly and carefully hunting for crabs, but came up short. We'll give it another shot up the coast in San Simeon.


Beach rats cast another surly glance as we decided to leave.


Lovely view from atop the cliffs. Lot of money flying about down here and it is easy to understand why.


Caught another of the local hooligans under some brush by the boardwalk.


From there we drove north again, the kids dropping almost instantly into post-beach slumber, according to tradition. Furthering old traditions, we grabbed some burgers and fries at In-N-Out and then paid a visit to Trader Joe's, the California versions of which I still find more enjoyable than the transplanted Missourian variety. Tomorrow we hit the road again and head up north along the coast.




Day 11: Diamond Bar, CA to Cambria, CA

5 May 2013

Last night we enjoyed another relaxed evening with relatives in Diamond Bar, the kids playing happily in the yard I remembered playing in growing up.


They had lots of fun and the weather was great. Gretchen really enjoyed the time spent there I think, particularly, thanks largely to the wonderful hospitality/longsuffering afforded us by the relatives.


Driving across LA this morning we hit Santa Monica and started up the coast. In the Malibu region a particularly savoury aroma pervaded our nostrils, the wonderful woodsmoke that perfumes Kansas City barbeque. Then we realized we were driving through the aftermath of one of the wildfires that had just been gotten under control. We saw some spots still smoking, and the cacti were yellowed and shriveled. Roasted nopales!


After a few hours of driving we reached Solvang, and put in the requisite 72 hour notice for seating for breakfast at the justly popular Paula's Pancake House.


While waiting, the boy was playing around with this Carlsberg umbrella, and I thought, if they ever start using baby mascots for beer, then we'll be trying our little Nordic blonde fellow out for that Danish brewery's payroll...


Little chilly with outside seating but Danish pancakes for everyone. Worth the wait.


We arrived at the San Simeon Pines resort, a nice little place I've been coming since a teenager with my parents. The room was nice in that it had a private fenced in garden area, perfect for loosing the children in. And possibly hiding out from the children in.


Then we walked across the street to the beach, which has some beautiful windswept pines on the way. Apparently the paws are up here so this must be an animal of some sort.


Pete heard the distant roar of the waves crashing and could think only, forward, to the sea!


Nice little overlook before trotting down to the shore.


Gretchen and I spotted a rabbit and a variety of birds in this area. Peter took his time.


Once we got down we realized the tide was fairly high and Debra wasn't comfortable with the kids clambering about the rocks in that particular area. So I took a few shots climbing out onto the rocks.


Couple of the waves crashed with enough force to lightly dampen the raiment.


Then to a pebbley beach that was only inhabited by a group of gulls and a few buzzards, vying over an almost picked clean fish carcass. Gretchen looks like she is singing a Disney song here or something. You know, it isn't unlikely that she was, in retrospect.


Ahhh, shoes and ocean. The boy is having a good day.


Pines along the walkway back, after we called in a pizza takeout order in nearby Cambria.


Peter in annoyed incredulity, after we told him there was a fire hazard and he couldn't have a smoke out here.


I called out to Gretchen to get her pic here and she did the classic runway model turn. Made me laugh!


Then a pizza and a salad procured, we headed back to the beach and ate with the lulling, sleep-inducing roll of waves crashing against the rocky shore, from our car.


And tomorrow, we had intended to be here again, but an unfortunate issue with the reservations that we just noticed this morning meant we had to do some rescheduling...short stay here for just tonight, then driving to Sequoia tomorrow...that stay shortened as well. At this rate we may be home much earlier than expected!




Day 12: Cambria, CA to Sequoia National Park

6 May 2013

Today we breakfasted briefly on cold pizza and endeavored to head inland. Before leaving, we noted this on the grounds...whale ribs allegedly from a whaling station, 150 years old.


We drove northeast through Paso Robles and Fresno. Fresno is a nice city in ways I'm sure, and is a short drive from several varieties of natural beauty. Damning with faint praise perhaps, but after a quick stop for gas and comestibles (the latter from Der Wienerschnitzel), we drove up to Grant Grove in Sequoia/Kings Canyon National Park. Our cabin wasn't ready that early so we first drove to Grant Grove to see the General Grant tree.


We happened to time our visit with such expert planning to be able to enjoy that most choice time at Sequoia...the hail season.


Providence afforded a unforeseen respite in the form of the long, hollow, fallen log that visitors frequent here...shelter from the hail and rain.


But we had a job to do, so to speak, so we trudged on to the General Grant tree. It's a big fella to be sure.


Gretchen was a good sport, Peter got halfway through and I think tired of projectile ice targeting him from the skies, and so we had to hurry out with the echoing strains of his displeasure reverberating in these sacred woods.


Caught a few pictures on the way out...


The exit of the fallen log:


Gretchen and Debra taking a lead on our egress.


Then another thing we wanted to do was see Panoramic Point, which was said to give a nice view of Kings Canyon. We drove several miles up windy roads to reach the top point, where a short walk followed. I say short walk because it was 350 yards or so, and much of that at a steep grade, and the thin air at 7500 feet didn't exactly put a spring in my step. The others stayed in the car, not really wanting to do the hike to the viewpoint. We were the only ones around for miles...not another soul but us. The silence hung heavy.


The path was wreathed in fog. Waiting for Elijah Wood to bark out "GET OFF THE ROAD!".


Approaching the summit I started to have a premonition of possible disappointment...


Yes, it is as you expected. The panoramic view was vast, stunning, and entirely obscured by fog. Ah well.


With our cabin still not ready we started out on the road towards the Sequoia National Park.


There were some similarly obscured canyon overlooks...like gazing down into a sea of clouds.


Then into Sequoia National Park proper, we happened on the Lost Grove as it is called, some nice groupings of giant sequoias.


Quite large trees.


I remember doing a lot of clambering around on the rocks as a kid here...


The cabin was ready and rather quaint!


We decided to eat dinner down at the restaurant just to have something to do...no TV to sedate the children who have dug deep to discover new profundities of wild and crazy behavior cooped up in the cabin. Trotting back to it after dinner the sun came out briefly.


And then I've just sat down on a bench within range of the lodge's wifi to finish this entry...lovely view of a meadow.


Tomorrow, the long drive south, then east, to Flagstaff, as we make our way home.

Day 13: Sequoia National Park to Flagstaff, AZ

7 May 2013

We woke up too early in Sequoia, and looked out our window and saw it was snowing. Each time we've stayed in Sequoia recently we've been greeted by a morning snowstorm and freaked out accordingly in an effort to get down the mountain before we find we need to put chains on.


The family fleeing!


It was a pretty sort of snow, and blessedly not adhering to the roads, so not a problem.


However, thanks to an over-adherence to Google Maps we ventured down, CA-245 turned out to be a beautiful but gut-wrenching swirl of 25 mph driving across sharp turns where we only made 20 miles in the first hour down the mountain, and the girl got sick, but was very, very sweet about the whole thing. We tried to make it better and thankfully had some Dramamine on hand. Once further down the mountain we had to stop to let her walk a bit, and it was an idyllic mountain farmland, with cows mooing in the distance.


It was frustrating a bit to see our day slip away from us, as we had expected a very long day of driving to get to Flagstaff, but the morning delays had slowed us down. As much as we resented the swerving mountainous roads, admittedly they were very beautiful.


As roads began to straighten out, we started to love being able to accelerate to 30, even 40 miles per hour!


So then we made our way south through central California. Bakersfield, true to form, smelled of manure. We then sped on passing Tehachapi of wind farm fame, and stopping to get gas, we stopped unfortunately at the most expensive gas station which coincided with the most abhorrent bathrooms, which had a custom Master lock fitting on the toilet paper dispenser which I only regretted not having my phone to photograph. Tehachapi also reeked of manure. But the wind farm was hard at work at least:


We passed through Barstow, that California crossroads, and kept going. We stopped at a Mohave rest stop, which had a beautiful landscape.


After a brief stop in Needles, which was depressingly depressed economically, the plywood vendors apparently making a killing on window boarding, we passed into Arizona, which had some inclement weather ready for us. But passing through it we saw a double rainbow, faintly visible here:


Arizona is beautiful country.


We arrived in Flagstaff and enjoyed the hotel kitsch...the Little America hotel in Flagstaff feels like a fancy old-school motel from decades ago, well preserved and updated only in the most important aspects. The kids loved it.


Tomorrow, across Arizona and New Mexico, to Tucumcari.




Day 14: Flagstaff, AZ to Tucumcari, NM

8 May 2013

Today we left the pleasant town of Flagstaff to strike east to Tucumcari. The hotel there was a pretty one as I've mentioned and the grounds were nice for an old style motel:


Towards eastern Arizona we entered Petrified Forest National Park.


There are vast fields of fallen, petrified trees.


Gretchen was a little cold, but quite interested in finding "fossils".


Petrified wood is beautiful, either when polished or in the raw.


Pete just wanted every rock he could pick up. Unfortunately for him, this is very, very much against the rules. Note the vise-like grip on his arm.


The sun catches this stuff and it is very beautiful!


Further into the park we stopped for Newspaper Rock, a collection of ancient petroglyphs, as the name hints. Sadly access was very limited and mostly by binoculars, so very little can be seen in this snapshot from above but the center rock had some very interesting old carvings, faintly visible.


The Painted Desert on the north end of the loop is always beautiful, and this picture absolutely fails to capture the expanse, vastness, colour, and beauty of what we were seeing.


Closer to New Mexico, an interesting rock formation.


Stopping for gas in Gallup, New Mexico, Gretchen wanted to pose with the giant "come shop here for Indian trinkets!" arrows.


Back on the road winding across New Mexico. We've been watching DVDs of Marty Stouffer's Wild America, an old documentary staple of my youth, while travelling on this trip, and Gretchen loves it...even asking "Can I MEET Marty Stouffer?". Seems like the first whiff of celebrity consciousness with her, and she picked a good target I suppose. I keep thinking of humorous parodies of Wild America, such as outtakes where Marty is narrating and gets so overly excited he runs onto the scene and starts chasing animals, the crew softly swearing and muttering "not again...". Or an offshoot straight to VHS product of the ubiquitous mating sequences that seem to make it into every episode..."Marty Stouffer's Private XXX Reserve". Or best of all, reshoot the famous intro of the bighorn sheep crashing heads with Marty standing in for one of the sheep.

So we passed through New Mexico, with Historic Santa Rosa bidding us via several billboards to "COME SEE THE BLUE HOLE"...we were in no mood for any township, however historic, to show us its hole, so we sped on and arrived in Tucumcari and went straight to Mesalands Dinosaur Museum. Gretchen was in her element.


Pete was at least in pointing and shouting mood, but seemed to really enjoy it as well.


The "bones" are bronze castings of the originals and so may be touched.


How could they resist a saddled sauropod?


Gretchen is a method actor. Be the carnivore!


Crystallized ammonite, stunningly beautiful!


The T-rex skull casting.


A Velociraptor in motion. I should note they had the Jurassic Park soundtrack on repeat.


Saber-toothed cats.


It was an unexpected pleasure at the end of a long travel day.


And so, tomorrow, home.




Day 15: Tucumcari, NM to Home

9 May 2013

Today was the last day of our vacation, and we were ready to get home. Starting in Tucumcari we sped north and east, departing New Mexico and traversing smelly bits of Texas and Oklahoma before landing in Liberal, KS. Where I utilized the second of my military museum vouchers granted me by my longsuffering wife and we visited the old standby, Liberal Air Museum, now known I suppose as Mid-America Air Museum, the name changed perhaps to avoid scaring off potential visitors who would scorn to patronize left-wind establishments. Interestingly enough there was a travelling attraction there as well, apparently without regard to continuity of theme, some sort of robotic dinosaur exhibit. And out front, a repurposed Sinclair inflatable dinosaur advertised its presence.


I'd like to say Gretchen was thrilled to see a F4U Corsair but the smaller model in front was more her style.


1950s era jet engine from a fighter/interceptor, I forget which one.


The F86 Sabre's gaping maw.


A Grumman Avenger torpedo bomber. Absolutely huge. You think of single prop planes as being small, but this one felt as big as their B-25, almost.


An F4 Phantom in restoration:


The now requisite shot of the family in the AH-1 Cobra.


So we wound quickly through the collection of old warbirds because everyone was keen to see the dinosaurs, which were filling the hangar with tremendous roars and such. We got to a dark, blacked out section and entered in, and a robotic carnivore raised its head and shrieked a bloodcurdling scream at us:


I didn't get any more shots because the kids were both interested and genuinely terrified, I had to carry Gretchen through. Pretty intense! Debra quickly got through with Peter, and while in safety in the gift shop he was asked several times if he wanted to see the dinosaurs again, to which he vehemently shook his head "no!".

Outside the hangar several old fighters lie in repose.


A quick sandwich shop lunch yielded some sticker earrings for the girl who was quite pleased with it, if not the lunch. I told her to make these last til she's eighteen.


Then further into Kansas, a lovely country to a weary traveller. At a rest stop they had a biplane on display hanging up, Peter was quite interested. Where was this interest when touring the air museum not two hours prior?!


Ahh the green hills. Home beckoning.


Winding down the street to our home we were amazed by the greenery. Not the best shot to show it, but it looked like we'd swapped for Ireland or something.


And so we're back at home. The trivial comforts therein slightly more appreciated! Still, a lovely two weeks, and all of us survived, sometimes just barely. Now, to rest.

04 February 2013

Some Mild Amusements


Two out of three people found Microsoft's solution for altering one's viewpoints to be helpful.  That third person must have had a bad experience with mind-altering drugs/T-SQL.

And a Biblical marketing slogan for diagnostic scripts and software for DBAs, like Brent Ozar Unlimited's sp_Blitz and Idera SQL Doctor:

Psalm 19:12 - Who can understand his errors? Cleanse thou me from secret faults.

Lord knows my servers have a few!

08 November 2012

From Sys-Admin to DBA

With the acceptance of a new position as a DBA at a new company, I shall be bidding adieu to systems administration in a couple weeks and focusing primarily on my beloved SQL Server. Goodbye, sysadminning, I hardly knew ye...or rather, I knew every bloody inch of ye, from yer head to the blistering pustules on yer arse, as they say. Still, my experience of the past 10 years has been broad and will continue to be quite useful I am sure, so I'm thankful for my time as "the server monkey".

My transition from small business "accidental DBA" to enterprise DBA will be fraught of course with many lessons, an absolute minimum of them, let's hope, through trial and error, and those few firmly residing in test environments, not production. But I'm keen to get started; time now to do that happy, laborious task of documenting everything out here for my departure.

The PASS Summit is well underway in Seattle at present; hopefully I'll manage to get out there next year. "Summer camp for DBAs", indeed!

24 October 2012

Becoming Slightly More Normal

Today's idea for the blog regards inching towards normalcy...that is, the main three normal forms of database design.  I always get a little fuzzy in the head when I think about the precise official definitions of the three, and generally examples are the best way I have of comprehending normalization.

So let's start out with a sample database.  As this is my blog, and the apparently absent readership has put up no protestations, I shall choose Hindustani classical music as my subject; a database of ragas.

Raga
Name Thaat Mode Performance1 Performance2
Yaman Kalyan Lydian Ustad Imrat Khan Hariprasad Chaurasia
Darbari Asavari Aeolian Ustad Vilayat Khan Dagar Brothers
Chandni Kedar Kalyan Lydian Ustad Vilayat Khan Ustad Amir Khan

So we can see from this that we've got a record of each raga, listing what thaat each is classified into, what Western mode that thaat is equivalent to, and a couple example noteworthy performances of each raga.  The main problem here that prevents us from entering the first normal form (1NF) is the multiple values we have for example performances.  We could have issues if there were more or less than two performances to be provided for a raga, for instance.  So to get it to first normal form, we combine the performance columns into one column, since they are storing essentially the same information.

Raga
Name Thaat Mode Performance
Yaman Kalyan Lydian Ustad Imrat Khan
Yaman Kalyan Lydian Hariprasad Chaurasia
Darbari Asavari Aeolian Ustad Vilayat Khan
Darbari Asavari Aeolian Dagar Brothers
Chandni Kedar Kalyan Lydian Ustad Vilayat Khan
Chandni Kedar Kalyan Lydian Ustad Amir Khan

Alright, so now we have it in first normal form. However, we doubled our row count now, and seem to be storing a lot of duplicate information in our table. Since the relationship between a raga and a performance is one to many, we need to split out the performances onto their own table in order to achieve the second normal form. A foreign key (between Raga.Name and Performance.Raga) can be used to connect the data across tables.
Raga
Name Thaat Mode
Yaman Kalyan Lydian
Darbari Asavari Aeolian
Chandni Kedar Kalyan Lydian


Performance
Raga Performer
Yaman Ustad Imrat Khan
Yaman Hariprasad Chaurasia
Darbari Ustad Vilayat Khan
Darbari Dagar Brothers
Chandni Kedar Ustad Vilayat Khan
Chandni Kedar Ustad Amir Khan

Having achieved second normal form (2NF), we note one additional point of redundancy. Fields that do not depend on the primary key (in our case, the raga itself) must be "offshored". Note that Mode is essentially derived from Thaat; it isn't really a unique value of the raga, it is more a further description of the thaat quality. So one more time:
Raga
Name Thaat
Yaman Kalyan
Darbari Asavari
Chandni Kedar Kalyan


Performance
Raga Performer
Yaman Ustad Imrat Khan
Yaman Hariprasad Chaurasia
Darbari Ustad Vilayat Khan
Darbari Dagar Brothers
Chandni Kedar Ustad Vilayat Khan
Chandni Kedar Ustad Amir Khan

Thaat
Name Mode
Kalyan Lydian
Asavari Aeolian

Hey presto, third normal form (3NF) in all its grandeur. It's a very clean and proper way to design databases, but working in the real world, I think it's worth remembering something stated by Karen Lopez at the KC SQL User Group last August: "Normalization is a description, not an objective" (paraphrased). There are times when third normal form is ideal, times when denormalized data is the way to go. The classic IT/DBA mantra applies..."It Depends".

23 October 2012

Locks, Blocks, and Deadlocks

The concepts of locking, blocking, and deadlocking are simple concepts on the surface, with quite a bit of complexity beneath the surface in the details.  But as a parent of two small children, these concepts are modelled on a regular basis.

Locking:
First, the query requests a lock on a resource.  So my son grabs a toy to play with.  He has acquired a lock on that toy, a marker of sorts saying "I'm playing with this right now".  I won't painfully try to thresh out the details of isolation levels and shared vs. exclusive locks as that would basically cause an already taxed analogy to implode.

Blocking:
Then my daughter looks at her brother's toy and thinks, I'd like to play with that toy.  Too bad...a lock has been issued, and your request to play with that toy is denied.  Blocking may end if my son lays the toy aside, thus releasing the lock on the toy.

Deadlocking:
While my son still has a "lock" held on the toy, and is blocking my daughter's request for it, my daughter picks up another toy, holding a lock on that item now.  Then my son decides he wants that toy, too, and requests it.  We have both kids, each holding a lock on a toy and blocking the other's request for it, wanting the other's toy.  Neither will relinquish the toy they have until they get the other toy and can finish their playing.  Deadlocking is this sort of stalemate that happens in the database/playroom where two queries get trapped in a kind of ill-fated interdependency, and the database engine/parents have to step in and choose a "deadlock victim" that has their query cancelled so at least one of the two can be satisfied.

At my rate, if I keep on torturing analogies like this I shall be receiving letters from Amnesty International.

19 October 2012

Windowing Functions Brainbender

An offhand tweet from Adam Machanic of sp_WhoIsActive fame had me toying with a seemingly simple T-SQL problem:

Imagine you have a table of sales orders.  The only fields we'll concern ourselves with is OrderDate and OrderID.  OrderDate obviously can have duplicate values, and OrderID generally should be unique.  Imagine you want to generate a query with the table records, but have an additional field that shows the next date that exists with a sales order.  For instance, if you have five orders that took place on September 1st, and the next orders in the system were on September 5th; the NextDate value for those five orders on September 1st would all be September 5th.

My first (successful) attempt at this looked like this:

SELECT
SalesOrder.OrderID,    
SalesOrder.OrderDate,
datequery.NextDate as NextDate
   
FROM SalesOrder
INNER JOIN
  (
   SELECT TOP 100 PERCENT a.OrdDate,
    lead(a.OrdDate) over (order by a.OrdDate) as NextDate
    FROM (select distinct OrderDate as OrdDate FROM SalesOrder ) as a
    order by a.OrdDate
  ) as datequery
ON datequery.OrdDate = SalesOrder.OrderDate

Essentially what is happening wiht this query is that I have a two level nested query.  Working from the inside out, first I select all the distinct OrderDate values into a set, thus removing the duplicates.  Then I use the LEAD() windowing function to find the next row value from that set for every given date.  Then finally I join that to a general query of the table, to get the NextDate value for any given row.  It works...but perhaps not very efficient.

SELECT
 a.OrderID,
 a.OrderDate,
 (
 SELECT (MIN(b.OrderDate))
 FROM SalesOrder AS b
 WHERE b.OrderDate > a.OrderDate
 ) AS NextDate
FROM SalesOrder AS a

In this version above, I found a much simpler way of providing the intended results without using windowing functions at all.  NextDate is provided through a subquery by selecting the minimum value of OrderDate that is greater than the current date.

Lastly, one more version:

WITH offsetCTE(SalesOrderID, offset) AS
 (
 SELECT TOP 100 PERCENT c.OrderID,    
 ROW_NUMBER() OVER (PARTITION BY c.OrderDate ORDER BY c.OrderID DESC) AS offset
 FROM SalesOrder AS c
 ORDER BY c.OrderID ASC
 )
SELECT
 a.OrderID,
 a.OrderDate,
 LEAD(a.OrderDate, offsetCTE.offset) OVER (ORDER BY a.OrderDate, a.OrderID) AS NextDate
FROM SalesOrder AS a
INNER JOIN offsetCTE ON a.OrderID = offsetCTE.OrderID
ORDER BY a.OrderDate, a.OrderID ASC


In this case, I create a common table expression designed to calculate the number of rows from one row to the next row that contains a different date value.  Using the ROW_NUMBER() function, and partitioning by date (ordering by OrderID descending), I get a reverse row count number for each group of orders per date.  Then I use that CTE in a query where I use the LEAD() function again, but this time, take the offset value I calculated to be the number of rows to skip ahead, the optional second parameter of LEAD(). 

More complicated, admittedly, and with all the permutations I've done so far, I'm not sure which of these would qualify as the most efficient solution.  Fun exercise regardless and my thanks to Adam for offering some guidance and prompting as I noodled through it.

11 October 2012

The Browser Service

Yesterday a developer friend (of whom Steve Ballmer thinks so highly) was bemoaning his company's recent loss of their Server Monkey, because his app was all of a sudden unable to connect to their SQL Server, but the server was up and seemed to be operational.

Once I learned he was connecting to a named instance, I had him check for the SQL Server Browser Service.  That was one of those sample questions that was on just about every sample test for the MCITP exams, so it was drilled into my head...sure enough, it was disabled.  If you're connecting to named instances (unless you provide the port number as well), you'll need the Browser service running to make sure your connection lands at the appropriate spot.

So a very simple tip today but one I was pleased to see make it out of the academic side and into practical usage, for me.

the browser service
is essential to connect
to named instances

08 October 2012

Detangling Nested Queries

As a one-time "accidental DBA", I both witnessed and committed a number of bad or inadvisable practices on my SQL Server.  We were a small shop, and early on the furthest thing from my mind was performance or efficiency.  There was one egregious infraction that's worth a mention here...

Views are definitely handy.  They can also promote and exacerbate developer laziness.  We had a view set up that would join order line and order header records, for a massive "SELECT *" style sales history output, with just about all columns.  Then someone came along and wrote a view using that view as a source table.  Then, someone else came along and wrote an SSRS report based on that second view.  So here we had a highly focused end query returning small amounts of data from a view pulling data from another huge view, pulling data from the source tables.  I've done a bit of testing and I'm not convinced that it creates as much of a performance problem as it would seem; it appears that SQL Server does the logical heavy-lifting of making it efficient even though the code is not.  I'd be interested to know otherwise though!

But the main problem is one of manageability.  With all these unnecessary dependencies we end up with a needlessly complex amount of code...two view definitions and a query, where only a single query was necessary.  Any changes to the view definition breaks the views and queries down the chain, in what could be a transparent manner.  So, one day when the office was quiet enough, I set about detangling these messes and rewriting the report queries to go straight to the tables, only pull the information they needed (removing the "SELECT *"...a bad habit that afflicted me in my early days, I confess).  Now when someone examined the report query, they could understand exactly what data it was pulling, without having to confusingly parse through the subsequent view definitions from which it was retrieving data.  This is especially useful when the end user questions data quality; in my case, I wasn't the report author, so I didn't have a full understanding of what the query was gathering.  If we write report queries as simply as possible and avoid the temptation to just tack it onto an existing view with just some additional filtering, it will help the next guy in the chain, believe me.

"The simplest thing that works", a good mantra for query writing.  Happy query detangling.

02 October 2012

Plotting My Learning Goals

So one of the things I've a bit of an ardent fondness for is developing (often obscure) skills and expertise.  I went through a period, let's call it a hangover, after school where I worked a rather monotonous job and was minimally concerned with sharpening and updating my technical skillset, but in the past couple years I've moved back towards genuine curiousity and interest in excelling in a technical sphere rather than just treading water.

My core technical interest is SQL Server; many years ago I was handed a SQL Server 2000 (then later, 2005) box and given basic duties...back it up, keep it running...normal small shop sysadmin duties.  Our databases at the time were out of the box MS Dynamics applications and so very little involvement on my side was required.  As time went on, management would get increasingly frustrated with the limited capacity of the embedded reporting tools, and I got more and more chances to write and flesh out reports in SQL Server Reporting Services.  Since then, my interest has deepened and the best part of that job and my new job are working in a DBA or reporting capacity with SQL. 

So, the past year with a handful of books (particularly Tom Carpenter's excellent guide) and a lot of curious poking around with both evaluation and, er, -cough- production servers, I shored up my knowledge and was able to pass both tests, fairly handily, for the MCITP in SQL Server 2008 certification.  Does we rest on our laurelses, precioussss?  No we does not, gollum, gollum!

So, next goal is to pass the two upgrade exams for the MCSA in SQL Server 2012.  I have a couple 2012 evals running, and whenever I'm playing with a SQL box I try to work with those particularly, to aid in getting up to par with new features, but at work we're still running 2008, as most folks probably are.  So I'm still preparing, and thinking about what book to procure, if any, to get ready for the certification exam.  But I'm planning 1st quarter 2013, at least.

Another book I've just finished is Don Jones' "Learn PowerShell in a Month of Lunches", which is a great format for an introductory course.  I'm no PowerShell guru but it has helped fill in some of the mental blanks I have when working with it previously, and I feel much more confident behind a PS prompt than I did previously.

From the library I found this Kimball Group book on data warehousing and BI, which was recommended to me by my boss, who went through Ralph Kimball's training and knew him rather well.  I've got precious little desire to work in depth in an OLAP/MDX/data warehousing environment, but perhaps part of that attitude is a fear of the unknown, so this is what I'm reading presently.

Queued up right behind that is an intro to Oracle for SQL Server DBAs.  As Wodehouse's (or was it an improv of Stephen Fry?) Jeeves said, it is well to know what tune the Devil is playing.

And of course, my studies continue aggressively in my lessons with Ustad Imrat Khan-saheb.  He is teaching me a lovely Alhaiya Bilawal, currently.  Here is his surbahar alap: 



28 September 2012

Friday Poetry Slam

My poetic output this week, as inspired by things I've run into at work lately.

"where'd my emails go?"
"you archived to your C: drive.
we don't back that up."

what the hell is this?!
full recovery model
but no log backups!

content in the cloud
fancy phrase but you just mean
stuff on a website

25 September 2012

Let's Break Something

Here's a fun little exercise for the bored DBA.  Break your database.

When I say your database, I don't mean your company's database, or anything anywhere remotely within earshot of a production machine.  But I have some sample databases on an eval version of SQL Server 2012 that would be prime sacrificial lamb material.  The goal is to simulate a worst case scenario and recover from it.  I've done this once before, but it has been long enough that I've forgotten exactly how I did it, so we'll give it a bash.

First, take a backup.

Then, reread that first step and make sure you did it.  I'll wait.

...

Backup taken?  Are you sure?  OK then, so next I'll need you to open You really did take a backup right?  Let's just make sure of that.  OK, I'll trust you at this point.  So next you'll need to open SQL Server Configuration Manager and shut your instance down.  Once the server is switched off (you will find it under SQL Server Services, right-click and click Stop on the relevant SQL Server instance, if more than one), you can have unfettered access to the data files, and we can do all sorts of unmentionable atrocities to them.

No time like the present, so browse to your data file, right click the database THAT YOU HAVE PREVIOUSLY TAKEN A BACKUP OF, AND THAT IS NOT AN IMPORTANT DATABASE IN ANY RESPECT, AND THAT IS NOT ON ANYTHING AKIN TO A PRODUCTION SERVER, and open in a text editor.  Highlight some text (any text!) and replace with something pithy...I have chosen "My hovercraft is full of eels".  Be creative, muck up as much of the data as you wish.

Now on to the fruits of our labours...restart the service in Configuration Manager.  Then launch Management Studio.  Look at that...our database with a "Recovery Pending" note affixed.  Data is unaccessible.  Hmmm!  Seems different slightly than how things reacted in 2008R2, so let's play around and see how it goes.

In the error logs:
Error: 824, Severity: 24, State: 2.
SQL Server detected a logical consistency-based I/O error: incorrect pageid (expected 1:9; actual 0:0). It occurred during a read of page (1:9) in database ID 8 at offset 0x00000000012000 in file '[path to data file]'.  Additional messages in the SQL Server error log or system event log may provide more detail. This is a severe error condition that threatens database integrity and must be corrected immediately. Complete a full database consistency check (DBCC CHECKDB). This error can be caused by many factors; for more information, see SQL Server Books Online.

So it knows what we did.  Alright, fine, SQL Server, I'll do what you say.  dbcc checkdb returns "Database [name] cannot be opened due to inaccessible files or insufficient memory or disk space." Dandy! Thank you SQL Server for telling me to do what you then tell me I can't do.  It's data loss acceptance time, folks.  A quick restore of a full backup and we're back up.

Let's have some more "fun"!  This time, I repeated the experiment, but went in and changed one single character to another character.  Pretty mild change, innit?  Maybe SQL Server won't notice?  Same error, same severity level, same unrecoverable database.  So restored from backup again, and this time, I monkey with the log file LDF instead of the actual data file.  No errors reported and no loss of functionality (at least, apparently!).  But, my database was in simple recovery model.  Wondering if that had anything to do with it, I switched to full recovery model and corrupted the logfile again.  That did it, the reassuring "Recovery Pending".

Error: 9004, Severity: 21, State: 1.
An error occurred while processing the log for database [name].  If possible, restore from backup. If a backup is not available, it might be necessary to rebuild the log.

So, a slightly smaller severity number, good sign eh?  So first I execute ALTER DATABASE [name] SET EMERGENCY.  This puts it in an "emergency" state and turns the tan database icon to an attractive shade of pale red, indicating that SOMETHIN' IS WRONG RIGHTCHERE!!!   I tried running CHECKDB with the REPAIR_ALLOW_DATA_LOSS parameter, and it complained about it needing to be in single user mode.  So ALTER DATABASE [name] SET SINGLE_USER, and then DBCC CHECKDB ([name], REPAIR_ALLOW_DATA_LOSS).  Here's the relevant result:

Warning: The log for database [name] has been rebuilt. Transactional consistency has been lost. The RESTORE chain was broken, and the server no longer has context on the previous log files, so you will need to know what they were. You should run DBCC CHECKDB to validate physical consistency. The database has been put in dbo-only mode. When you are ready to make the database available for use, you will need to reset database options and delete any extra log files.

OK, so it rebuilt the log for me!  Switched it out of single user mode, and voila, we're back to normal.  Note that (as one might expect) the restore chain is broken, so in "real life" this would be a good time to take a full backup and start fresh with your log backups.

I've poked at SQL Server in an inappropriate manner enough this morning, so I shall give it a rest for the time being. 

24 September 2012

Nice Fluffy Backups, But Where's the Restore?

I am shirking tradition (as I am wont) (indeed, I am wonter than most) in abandoning my obstinate refusal to provide post titles.  There is a tide in the affairs of men, which, taken at the flood, leads on to fortune, and such tide apparently entails providing handy titles to blog posts (not nearly so laden with euphemism as you might assume).

Call me a sys admin by trade, and a DBA at heart...since 2005 I've been the de facto DBA for the companies I've worked for (which were small enough to not justify a full time DBA), and I have a bit of a maturing interest/passion for SQL Server.  This morning, spurred on by an excellent article over at SQL Server Central, I was beset with enough worry and consternation that I decided to test my backups.  The whole concept of a backup is a healthy lack of trust.  You take backups because you cannot trust that your data will survive in its data file containers...threatened either by data corruption, user malfeasance, or actual catastrophic happenings in the datacenter.  If you trusted your database, you wouldn't bother with backups, there would be no need for them.  So you take your regular full backups and constant log backups, like a good DBA ought.

Here's where so many of us, myself included, cast aside our mistrust and skepticism and become a rabble of dumbly trusting, credulous gits.  We require confirmation that backups are taken, but we trust that they were taken properly and can be restored without corruption.  Backup files are just another cog in the machine that can fail.  Any component can fail, and we must plan for any type of failure.  Simply trusting that once SQL Server Agent flashes us the A-OK sign after taking backups, that we are guaranteed the safety and security of our data, is not enough.

Couple o' links:

Referenced article: The Importance of Validating Backups

And the Mighty Ola Hallengren's db maintenance scripts:  http://ola.hallengren.com/

Also, managed to snag a new (used) sitar the other day, a 7 year old Shrishti model that was worked over by the inimitable Tony Karasek with a new delrin bridge.  Has a great strong sound on the baaj, and the chikaris have a very clean, closed jawari tone to them.  Was originally kharaj pancham but I've restrung it to gandhar pancham.

And that's it for this week.  Toodle pip!

19 June 2012

Well, I admit it is sheer, unadulterated obstinance that has me back here to update my blog. I'm fully aware that blogs, unless specialized in some sort of topic that generates general interest, are a dying medium, particular the personal blog which has been slowly starved out by the convenience of the MyFacePlusbook or whatever that other website is...

Nonetheless, archaic/outdated/unpopular things have always kept my interest and a certain conservative impulse to say "up your nose with a fish hook" (or however that expression goes) to the march of progress probably helps goad me to start blogging here more. I would say "in spite" of the utter lack of readership, but almost more "because", there is something liberating about being able to write babble with no concern that it need be of interest to others, necessarily. On with the prattle!!

My last post intimated the dawning of a new hobby, as I put it, with the acquisition of a sitar. "Hobby" might have been an underestimation of what has actually transpired over the past year and a half; I've become somewhat enthralled by (one might say, quite literally, in thrall to) Hindustani music. To understand Indian music, particular its treatment and systems of melody, will give one a window to all kinds of music and make appreciation and understanding of any culture's music a bit deeper. At least, such was the case with me.

Sure enough, starting to write something like this is the surest path to writer's ruddy block. Ah well, it isn't as if my paying customers expect great things from this blog. So that's it from me for now, will start adding to it as I see fit, most likely (knowing my interests of late) on occasional topics of SQL Server or Hindustani classical music.

Splunge, for me, too!