# Tuesday, 29 November 2005

Geocaching is the bomb!  I’m totally hooked.  Even in the crummy weather we’re having today, Vikki and I managed to find two caches at lunch.  We’ve been geocaching in Sisters, out to Cannon Beach, and up on the Columbia outside of Vancouver.  There are a couple we haven’t been able to find, but for the most part it’s been pretty successful.  Even if we don’t find it, it’s a great excuse to get outside and go hiking with the kids and the dog.  And the thrill of the hunt really keeps me going.  I’m hoping when the weather improves (April? July?) I can plan some longer hikes to caches in the backcountry.  We’re also planning to hide a few of our own come Spring. 

It’s also been an excuse to finally learn map & compass navigation.  I’ve been wanting to try orienteering for a long time now, and now that I’m getting practice navigating it’ll be that much easier.  I’ve found some really good books on navigation and geocaching, and I’ll try to get around to posting a list some time. 

 

Profile for SafetyGeek
Tuesday, 29 November 2005 13:47:08 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

Over the weekend I finally got a chance to go down to the Evergreen Aviation Museum in McMinnville.  The Spruce Goose is one big plane!  When I’d read that it was the biggest plane ever built, that still didn’t prepare me for the actual scale of the thing.  The whole museum is essentially in one big room, and the goose makes the other planes (like the “little” B-17) look like kid’s toys in comparison.  Not too surprising that it couldn’t actually fly.

The museum is very well done, with good, informative graphics, and a very nice building.  A clean, well lighted place for planes. One of the coolest parts of the visit was that we got to go inside the B-17 (for $10 extra for a family) and talk with some of the volunteers about the plane.  My grandfather flew B-17s and B-25s in WWII, so it was pretty cool to get a look inside and get a sense of what it would have been like to ride in one.  It would have been crowded, cold (30° below) and pretty scary, considering there’s not that much aluminum between you and the bullets. 

On the way down I managed to hunt up a couple of geocaches in Newburg, which made the trip that much more fun.  We also got a chance to check out the Hotel Oregon, McMennemin’s hotel in McMinnville.  Typical McMennemin’s food, nice atmosphere.  It’d be a nice place to stay.

Tuesday, 29 November 2005 13:38:06 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [1]  | 
# Monday, 07 November 2005

I got in some more geocaching this weekend.  I had a bunch of free time on Saturday, but unfortunately it started to rain really hard just as I found the first cache of the day, so I decided to call it quits.  So instead I went home and started reading up on navigation, which inspired me to get a snazzy new compass and start boning up on my wilderness navigation and mapreading skills.  I’ve wanted to try orienteering for ever, so this might get me towards that goal too. 

I had better luck yesterday since the weather was way better, although caching with both kids and the dog is an additional challenge.  They all hung in like troopers though, and we found 3 caches in Lacamas Park, up in Camas, WA.  It’s a lovely park, even this time of year.  It’s even better in the early spring when the camas lillies are in bloom. 

Monday, 07 November 2005 09:53:25 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, 01 November 2005

I found 4 geocaches around Sisters this weekend, and had a blast doing it.  I’m totally down with this sport!  Of course, I need another hobby like the proverbial whole in the head, but at least it’s an outdoor activity. 

The part that was the most fun was looking for caches that were in places I otherwise never would have visited.  We saw the remains of the first ski area in Central Oregon, the view from 4–Mile Butte, and some other great sights in the high desert.  I’m hoping the rain lets up a bit this weekend so I can go after some of the local caches in Hillsboro.

Tuesday, 01 November 2005 16:36:14 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

I’ve been working on a project that required me to turn some CLR types into a set of XML Schema element definitions so that they can be included in another file.  It stumped me for a while, and I envisioned having to reflect over all my types and build schema myself, which would be a total drag. 

Then I remembered that this is exactly what xsd.exe does.  Thank the heavens for Reflector!  It turns out to be really simple, just undocumented…

            XmlReflectionImporter importer1 = new XmlReflectionImporter();

            XmlSchemas schemas = new XmlSchemas();

            XmlSchemaExporter exporter1 = new XmlSchemaExporter(schemas);

            Type type = typeof(MyTypeToConvert);

            XmlTypeMapping map = importer1.ImportTypeMapping(type);

            exporter1.ExportTypeMapping(map);

It’s that easy!  The XmlSchemaExporter will do all the right things, and you can do this with a bunch of types in a loop, then check your XmlSchemas collection.  It will contain one XmlSchema per namespace, with all the right types, just as if you’d run xsd.exe over your assembly.

Even better, if there’s stuff in your CLR types that isn’t quite right, you can use XmlAttributeOverrides just like you can with the XmlSerializer.  So if you want to exclude a property called “IgnoreMe” from your MyTypeToConvert type…

            // Create the XmlAttributeOverrides and XmlAttributes objects.

            XmlAttributeOverrides xOver = new XmlAttributeOverrides();

            XmlAttributes attrs = new XmlAttributes();

 

            /* Use the XmlIgnore to instruct the XmlSerializer to ignore

               the IgnoreMe prop  */

            attrs = new XmlAttributes();

            attrs.XmlIgnore = true;

            xOver.Add(typeof(MyTypeToConvert), "IgnoreMe", attrs);

 

            XmlReflectionImporter importer1 = new XmlReflectionImporter(xOver);

            XmlSchemas schemas = new XmlSchemas();

            XmlSchemaExporter exporter1 = new XmlSchemaExporter(schemas);

            Type type = typeof(MyTypeToConvert);

            XmlTypeMapping map = importer1.ImportTypeMapping(type);

            exporter1.ExportTypeMapping(map);

That’ll get rid of the IgnoreMe element in the final schema.  It took a bit of Reflectoring, but this saves me a ton of time.

Work | XML
Tuesday, 01 November 2005 16:32:41 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [2]  |