# Thursday, 30 October 2003

As of tomorrow, I’ll be starting a new adventure as an employee of Corillian Corporation.  I’m looking forward to new challenges, and learning all about the world of online financial services.  There are some very smart people working there, including Scott Hanselman, and many other people I worked with back in the day at STEP Technology.  

So even if I didn’t get to go to the PDC (I’m still moping), at least I’ll get to do some really cool coding. :-)

 

Work | Home
Thursday, 30 October 2003 21:09:42 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, 29 October 2003

Hooray for declarative programming!  Let’s do more business and less work.  Whether it’s the BizTalk server orchestration designer (the new Jupiter one TOTALLY rocks!) or XSLT, or possibly best of all, Avalon, it just makes sense. 

As Scott mentions, I’ve done some declarative UI with SVG, and I’m a big fan of XForms, if and when we ever see a mainstream implementation.  But I’d have to agree that Avalon is sheer genius.  There’s no reason why to write the code for most of the UI we do now, and since it sounds like the same XAML will work for both the web and for Longhorn client apps, better still. 

It doesn’t hurt that, as Rory mentions, Avalon is just beautiful. 

Wednesday, 29 October 2003 12:58:15 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

I love the new features in dasBlog 1.4.  The extra statistics are very handy, and it couldn’t be much easier to use.  Best of all, between the source and all the samples, it was a snap for me to migrate my existing content.  If I were in LA :’( I’d thank Clemens with beer!

Wednesday, 29 October 2003 12:48:58 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

Only days ago I mused that it would be nice to have more control over the way the XmlSerializer works.  Sure enough, according to Doug Purdy via Christoph Schittko we’ll get access to IXmlSerializable, and can write our own XML to our hearts content.  :-)

Isn’t life grand?

 

Work | XML
Wednesday, 29 October 2003 09:00:59 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, 27 October 2003

While I couldn’t go to PDC this year :'( at least I can get in on the next best thing.  Watching the stuff that’s coming up on PDCBloggers is pretty amazing.  You get the blow by blow in living color (or at least text).  I love watching what’s coming up on Scott’s blog.  He’s posting from the keynote via his Blackberry, so as Jim Alchin says it, it’s coming up on his blog.  Gotta love technology. 

Monday, 27 October 2003 11:37:45 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

I’ve used TortoiseCVS for a while, and always considered it a nice to have, but not really the best way to deal with a CVS server.  Now that I’m running the latest (1.4.5) I think differently.

 

In the past I’ve relied on WinCVS to do things like recursively find out all the files I’ve modified, what revision my files are at, etc, and pretty much used Tortoise just for simple commits and adds.  With 1.4.5, Tortoise will recursively find all the modified files, categorize them as add, deletes and modifies, and allow me to commit any or all of them at the same time.  Very nice, and much easier than in WinCVS. 

 

Also, the explorer integration has gone that one step farther, and you can add CVS status and CVS revision columns to any explorer view.  Also much easier.  I’ve pretty much abandoned WinCVS in favor or Tortoise, which is nice, since it saves one more application launch every time I want to deal with versioned files. 

 

Way to go TortoiseCVS!

Monday, 27 October 2003 11:30:06 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 

It doesn’t take huge changes in an application to make our lives better. 

 

Granted, there are some really great new features in Outlook 2003, and I’m totally diggin’ them, but every time I can reboot my machine without facing the dreaded “Please close all Office applications..” dialog my heart is filled with a simple and pure joy. 

 

Sometimes it’s the little things that really make a difference.

Monday, 27 October 2003 11:24:19 (Pacific Standard Time, UTC-08:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, 23 October 2003

I’ve been doing a lot of work with the .NET XmlSerializer over the last couple of weeks, and once again I’m wishing I had that just one more custom attribute to work with.  What I’d love to be able to do is just tell the XmlSerializer to let me worry about a specific part of the XML, since I know better than it.

 

Something like this (to serialize a property called MyString):

 

      public interface ICustomSerializer

      {

            void DoSerialization(object theValue, XmlTextWriter w);

            void DoDeserialization(XmlNode x, object targetValue)

      }

 

      public class DataClass

      {

            public DataClass()

            {

            }

 

 

            [XmlMyWay(typeof(MySerializer))]

            public string MyString

            {

                  get{ return "OK";}

                  set{}

            }

 

      }

 

      [AttributeUsage(AttributeTargets.Property)]

      public class XmlMyWayAttribute : Attribute

      {

            public XmlMyWayAttribute(Type serializer)

            {

 

            }

      }

 

      public class MySerializer : ICustomSerializer

      {

            #region ICustomSerializer Members

 

            public void DoSerialization(object theValue, XmlTextWriter w)

            {

                  // TODO:  Add MySerializer.DoSerialization implementation

            }

 

            public void DoDeserialization(XmlNode x, object targetValue)

            {

                  // TODO:  Add MySerializer.DoDeserialization implementation

            }

 

            #endregion

 

      }

 

Then you could do whatever funky serialization you needed to do.  Or is this flawed in some fundamental way?  It’d be pretty cool though…

 

 

Work | XML
Thursday, 23 October 2003 17:14:36 (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Monday, 20 October 2003

I was over at my family’s place at Black Butte Ranch this weekend, and Central Oregon is in its full glory right now.  The birch (aspen?) trees are that truly amazing shade of yellow, and the vine maples are anywhere from bright yellow through orange to deep crimson.  Set against the dark pines, the colors are really remarkable.  No snow on the passes still, so this is a great time of year to head that way.

If you’ve never been out to Black Butte, it’s also well worth the trip.  Good restaraunt, beautiful views, miles of bike paths, tennis, golf, swimming etc.  A great place for family vacations, since there’s a little something for everyone.

Monday, 20 October 2003 09:55:15 (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, 17 October 2003

I’m sure everyone knew about this but me, but I was impressed.  I needed to attach some extra data to an XML Schema document so that it would be available to a code generator I’m writing.  You can put whatever extra attributes you want in an XSD document (which is how MS does it with SQLXML, for example) and no one will be bothered. 

However, I needed some full on elements to express the extra data I needed to carry. Luckily for me, the clever people at the W3C thought of this, and gave us the annotation element.  I knew you could put documentation inside an annotation element, but I’d never noticed the appInfo element before. 

Inside an appInfo, you can put whatever you want to, and attach it to just about any place in your schema file.  Very cool. 

 

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:my="myNamespace" elementFormDefault="qualified" attributeFormDefault="unqualified">

     <xs:element name="root element">

          <xs:annotation>

               <xs:documentation>some documentation</xs:documentation>

               <xs:appinfo>

                    <my:whatever>some app specific data</my:whatever>

               </xs:appinfo>

          </xs:annotation>

     </xs:element>

</xs:schema>

 

On a completely different note, I’m amazed to see that WordML actually serializes the little red “you misspelled something again” bar into the XML.  Just in case you want to style it into a mistake somewhere else?

Work | XML
Friday, 17 October 2003 15:30:06 (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Thursday, 16 October 2003

It’s been a very busy week in which I think I’ve written more code faster than I have in months.  All in all a pretty productive time for me.  Key learning for this week include:

 

  • CodeSmith is a pretty groovy tool, although I wish the documentation was better, particularly for writing extensions.  On the other hand, it does most of what I need it to, and free’s a great price J.  There’s so much more you can do besides strongly typed collections.
  • Custom attributes have got to be one of the coolest features of .NET.  The ability to carry around arbitrary, strongly typed data about your classes that you can ask for whenever you need it is such an amazing boon that I don’t think I can say enough about it.  
  • NAntPad is a very promising step in the right direction.  Still a bit rough around the edges, but I anxiously await further versions.  Much easier than maintaining NAnt build files by hand.
  • There aren’t enough hours in the day.

 

I haven’t been blogging much lately, largely due to the ongoing weirdness of my current employment situation, but I’m trying to be more conscientious about it.  

Update: NAntPad .4 is much improved.  I'm starting to use it more earnestly.

 

Thursday, 16 October 2003 18:37:46 (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Friday, 10 October 2003

On Wednesday I started doing some contract work at Corillian Corp.  Not only am I doing some really interesting work, but I'm working with my friend Scott Hanselman.  I shared an office with him for a couple of years at STEP Technolgy, and I'd forgotten how much fun it is.  Scott is one of the quickest thinking guys I've ever known, not to mention an actual standup comic :).  It turns out that I know a bunch of people at Corillian, including some people I worked with at Intel once upon a time, and the three best project managers I've ever had the pleasure to work with.  Should be a good time.

Friday, 10 October 2003 21:25:29 (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Tuesday, 07 October 2003

I finally got around to moving this blog to dasBlog.  Now I'll have a lot more control over how things look, as well as features, etc.  Right now it's using one of the default templates, so there will probably be some cosmetic changes as I get time to mess with templates.  All of the old permalinks should still work, although the RSS has moved to http://www.cauldwell.net/patrick/blog/SyndicationService.asmx/GetRss

 

Home | Work
Tuesday, 07 October 2003 18:26:45 (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [0]  | 
# Wednesday, 01 October 2003

In one of his posts a while back, Scott mentioned that he was using Mozilla Firebird, so I decided to check it out.  Wow.  It completely rocks.  Page rendering is WAY faster than in IE, and I have yet to see any of the major rendering problems that I recall from previous experiments with Mozilla/Netscrape.  I’ve only seen a couple of minor issues regarding table layout (and the fact that Windows Update won’t load at all).  I set it as my default browser, and haven’t had any reason to resort back to IE (except for Windows Update).  

Possibly the best part is there extension architecture.  There are extensions for all kinds of things, including a Google bar, an Amazon browser, and a great download manager that handles multiple concurrent downloads without popping up extra windows.   

There are only two things which still vex me… 1) I can’t for the life of me figure out any way of replicating IE’s “never reuse browser windows” feature.  I’m so used to it that I keep clobbering stuff I’m not done with by clicking on links.  2) I miss my context menu for “Subscribe in NewsGator” when right clicking on links.  (I think I may be able to come up with a solution, just haven’t had time yet.)

Wednesday, 01 October 2003 14:58:41 (Pacific Daylight Time, UTC-07:00)  #    Disclaimer  |  Comments [2]  |