Monthly Archives: July 2004

What was I doing in Redmond?

Well I guess the cat’s out of the bag. I got to spend 3 days hanging out with some of the most amazing people in our industry and to make it even BETTER , we spent the whole time playing with and learning about TabletPC’s and how to write apps for them. And to make it even better, Arin Goldberg and Frank Gocinski brought in one after the other legendary Microsoft researcher to talk to us about the work they are doing around mobile development. Talk about nerd heaven! And it was hot & sunny the whole time – unusual for Seattle. Robert Scoble was invited to join us on a Lake Washington cruise and he mentioned that here. Perhaps I’ll upload some of my photos. But here’s one for a teaser…. me sandwiched between a rocket scientist and a true software legend.

iXMLSerializable in .NET 2.0

I was trying to understand why  I was being told that the implementation of iXMLSerializable in DataTable and DataSet in 2.0 is responsible for all of the xml goodies (readxml/write/etc and of course all the webservices stuff) when DataSet in 1.0 and 1.1 does not even implement iXMLSerializable, yet still manages to do all of these things.

I know about the difference between using the binary formatter and the soap formatter, but I never worried about what was going on deeper down when datasets were “magically” serialized for me by ASMX.

After reassuring myself by looking at the DataSet Class documentation for 1.1 and seeing for sure that it implements iSerializable but not iXMLSerializable, I found this little goodie:

Dataset.iXMLSerializable.ReadXML Method  (This member supports the .NET Framework infrastructure and is not intended to be used directly from your code.)

and realized that it MUST be in there, just buried/hidden. So I kept digging and digging .

I found the answer in the June 2004 MSDN article: “New Features for Web Service Developers in Beta 1 of the .NET Framework 2.0“ by Elliot Rapp,Yasser Shohoud and Matt Tavis.

“The IXmlSerializable interface has been in the .NET Framework since version 1.0, but was not intended for general usage. This interface was designed specifically for System.Data.DataSet to enable custom serialization control and was marked for internal use to discourage its usage. Full support for IXmlSerializable in ASP.NET Web services has been introduced in the .NET Framework 2.0 in direct response to customer feedback for scenarios that require more control of the schema and wire format.”

So it was basically hidden from view.  Now, hopefully I’ll be able to sleep so I’m off to bed.

How knowledegable do you have to be?

I seem to make a point of sharing my .NET discoveries with the concept of “heh, if *I* can do this, so can you!” That is the point of why I am doing a WSE2 talk at DevConnections though I am hardly an expert. Michele LePlumber Bustamante is also doing a WSE2 talk at this conference, but she is doing something much deeper. Hopefully hers will be scheduled *after* mine.

My talk will really be for people who think it’s all too scary and wouldn’t even try to use it. The point is that you can at least leverage SOME of WSE2 and make some improvements (especially on the security end) to your apps even if you don’t really understand plumbing or all of that WS-* specification stuff. (“You know like rockets and lasers and stuff” – sorry … family joke).

One thing that I learned from talking with Michele and also asking Don Box at TechEd (I should rephrase that, one of the many things…) was that WSE2 is now easy enough to get yourself into trouble. I.E. you don’t have to be a plumber to implement some of it’s functions, but you’ll need to call a plumber if you have a leak. This is another part of my mission with the talk – to make sure dummies like myself know where they should tread and where they should not and when to call in a pro!

All this talk of plumbing makes me think of this funny item in the Duluth Trading Co. catalog that Rich and I got a good giggle from…

blogs.ineta.org!

http://blogs.ineta.org

Jeff Julian has spun off all of the INETA volunteer bloggers from Geekswithblogs.net onto the INETA website. This works in much the same was as the filter from weblogs.asp.net to blogs.msdn.com.

Since there were already a bunch of INETA related people on geekswithblogs.net you will find a host of bloggers already. This is not an INETA info only blog – it is the blogs of the INETA volunteers and of course, these are all super blogs. Bill Evjen is currently heading up the count with the most posts with Jeff and Amy Sorokas leading right behind!

If you are an INETA volunteer and would like a blog, just contact Jeff. The info is at the top of the blogs.ineta.org page.

Toshiba Tablet and Acer Tablet

Well – now I have a Toshiba M200 and will soon ahve to give up my sweet little baby AcerC110. :'( I am actually fantasizing about asking my client if they want the Toshiba in exchange. But maybe I won’t. I definitely don’t have the same emotional draw to the Toshiba. Though it’s a way faster processor, longer battery life, larger screen and full size keyboard, it just doesn’t seem as – all I can think of is “tight” – as the Acer. I can’t describe it. It’s not because the Acer is more compact. The only think I can really gripe about is the touchpad. It stinks. It lags all of the time. I ahve asked around and others have the same problem. The model I got (M200) doesn’t come with a DVD player and the one I have for the Acer (which I was hoping to trade for the extra battery I bought) has a firewire connection. But alas, the Toshiba doesn’t have firewire (and no there is no such thing as a firewire to USB adapter – don’t think I haven’t spent 2+ hours googling for signs of one). It seems to start up 100% of the time in portrait mode, even when you are in keyboard mode.

But it’s much faster, much better battery life, bigger screen and only 1.1 lbs heavier. And it’s silver – ooh aah. I’m sure when I get used to it I’ll be cooing about it as well. I have to say though, in 20 or so years of computing, I have never talked about a computer the way I do about the Acer. What on earth *is* it about that tablet???

That’s all I can say about it at this point because I had to stop playing with it and do some other type of work.

Debugging Ian

Since Ian Griffiths doesn’t have comments, I just wanted to make sure I got his attention with that title.

Do you know that VB.NET doesn’t have Data Breakpoints either? And that it won’t in Whidbey, either? (Hmmm that C# book I received today in the mail looks tempting…)

I’m sure many many programmers who came to .NET from VB6 spent hours trying to get it to work in VB.Net. This was the other lost debugging function that I refer to when I say there were two things that we lost when coming to VB.NET. Don’t ask Kathleen Dollard about Data BreakPoints. ANd if you must, be prepared to run….fast! (she misses them too!)

update  okay I was taking it personally, but it’s NOT a VB thing. … I tried every single language option in this drop down and every one gave me the message “[language choice] does not support data breakpoints“. (except when I selected Unknown) I wonder where you can use DataBreak points. As Paul Vick says in the comments…it just can’t be done in managed code because of garbage colletion. So this is just a big tease! 🙂