Welcome to Windows Communication Foundation (WCF)
Top Tasks :

WCF Community Bloggers

Friday, July 11, 2008 - Posts

  • 2008 Race Schedule: July-September

    Okay, now that it is over with, what’s next? Here’s the current plan: July 17, 2008:- Cherry Pickers Trot – 4 mile run August 9, 2008:- Coeur d’Alene Triathlon (Olympic triathlon distance) – ~1 mile swim, ~25 mile bike, ~6 mile run September 27-28:- The Berryman Adventure Race (36 hour course) – 50-70 mile mountain biking, 20-40 mile trail running, 15-30 miles canoeing. After that, I am not committed to anything but I hope to do the Spokane Half-Marathon and a marathon such as the Tri-Cities Marathon . A little something that will motivate me to keep fit at least. © Copyright 2005-2008 Mark Michaelis Read More...
  • DNR TV show on CSLA .NET 3.5

    You can watch the first of (at least two) dotnetrocks TV shows about CSLA .NET 3.5: http://www.dnrtv.com/default.aspx?showNum=116 In this show I got about half way through discussing the major changes from version 3.0 to 3.5, so Carl and I will need to record another show to finish the discussion. Read More...
  • So You Say You Want to Kill XML....

    Google (or at least some part of it) has now weighed in on the whole XML discussion with the recent release of their "Protocol Buffers" implementation, and, quite naturally, the debates have begun, with all the carefully-weighed logic, respectful discourse, and reasoned analysis that we've come to expect and enjoy from this industry. Yeah, right. Anyway, without trying to take sides either way in this debate--yes, the punchline is that I believe in a world where both XML and Protocol Buffers are useful--I thought I'd weigh in on some of the aspects about PBs that are interesting/disturbing, but more importantly, try to frame some of the debate and discussions around these two topics in a vain attempt to wring some coherency and sanity out of what will likely turn into a large shouting match. For starters, let's take a quick look at how PBs work. Protocol Buffers 101 The idea behind PBs is pretty straightforward: given a PB definition file, a code-generator tool builds C++, Java or Python accessors/generators that know how to parse and produce files in the Protocol Buffer format. The generated classes follow a pretty standard format, using the traditional POJO/JavaBean style get/set for Java classes, and something similar for both the Python and C++ classes. (The Python implementation is a tad different from the C++ and Java versions, as it makes use of Python metaclasses to generate the class at runtime, rather than at generation-time.) So, for example, given the Google example of: message Person { required string name = 1; required int32 id = 2; optional string email = 3; enum PhoneType { MOBILE = 0; HOME = 1; WORK = 2; } message PhoneNumber { required string number = 1; optional PhoneType type = 2 [ default = HOME]; } repeated PhoneNumber phone = 4; } ... using the corresponding generated C++ class would look something like Person person; person.set_name( "John Doe" ); person.set_id(1234); person.set_email( "jdoe@example.com" ); fstream output( "myfile" , ios::out | ios::binary); person.SerializeToOstream(&output); ... and the Java implementation would look somewhat similar, except using a Builder to create the Person. The Protocol Buffer interoperable definition language is relatively complete , with support for a full range of scalar types, enumerations, variable-length collections of these types, nested message types, and so on. Each field in the message is tagged with a unique field number, as you can see above, and the language provides the ability Read More...

Copyright © 2006 Microsoft Corporation. All Rights Reserved. | Terms of Use | Privacy Statement | Contact Us