Tuesday, May 24, 2005

SOA Jump Start and Design Patterns

This session was very informative. I have been avoiding reading about SOA for whatever reason, and this was my first introduction. Actually, it didn't really seem like something that is all that new. It almost seems like they came up with a new name for what is already being done under different names. I'm probably wrong, though.

The design patterns part of this session is what was really worthwhile. Surprisingly, to me at least, was understanding finally what on earth an Interface is! Yes, IEnumerable and the other I-things in .NET. What on earth? I've heard them discussed and it hadn't done me a bit of good until today. Suddenly the light went on, and it makes me wonder: am I dense or something?

Oh, well. I already had the concept in my mind and experience, what is even more surprising. It's just that it's somewhat old knowledge to me. Anybody remember the excellent computer language Modula-2? I learned how to use it ten or more years ago, and it had a feature that resembles or is identical to the idea of Interfaces. In M2 the Interface was implemented using module pairs: Definition Modules and Implementation Modules. The definition module had no implementation code, just an interface description. You could write all your definition modules and wire them up to the main execution threads in the overall program without ever coding any implementation, and the program would compile and run (as long as you didn't try to execute functionality that had not yet been implemented). The similarity between Modula-2's and .NET's implementation of Interfaces is conceptual and not explicit, if you know what I mean, but I am suddenly wildly enthusiastic about Interfaces. Slick stuff! I've been programming .NET for a couple of years already, and it hurts to admit that I have been such a slacker on this basic functionality, but there it is.

Thanks, Paul, for straightening me out!

Jeff Richter at Forum

Just got back from my first day at the IPMA Forum, and I am so far quite pleased at how much value it is. Attended Jeffrey Richter's presentation, as well as SOA and Design Patterns.

I've listened to Brother Jeff before, so I was expecting a good and informative session; I was not disappointed. I wasn't sure what was meant by the official title of the presentation, ".NET Roundtable" (since if you're the only one at the table, what's the point of making it round?). But Jeff's title was more along the way of ".NET Controversies." Before he started the presentation I asked him if he would be discussing the controversy of C# vs. VB.NET. I was pleased to discover that he wasn't going to touch that one (although in the Q&A some yahoo predictably had to bring it up). I'm fed up with the question. Like someone who asks an accountant what 1 + 1 is, the accountancy answer is "What do you want it to be?" The answer to VB.NET vs C# is just like that: "Whatever you want." I'm not into religious wars, of any stripe, and that's what this question is about. Well, that's about 200% more about VB.NET vs. C# than I wanted to write about, myself, but since this is coming out more-or-less stream of conciousness, I won't redact it out.

Jeff covered some interesting subjects, including obfuscation and NGen.exe. What was very interesting was the use of a product called Demeanor, which is an obfuscator. This product has, as one of its options, the ability to store your strings in assemblies in the Canadian Aboriginal Syllabic Font. Which, since nobody uses it, leaves basically blank squares in your IL code. In the course of this discussion, Jeff used an interesting free product called Reflector, which was developed by Lutz Roeder, and is an IL Disassembler with more bells and whistles than the native .NET ILDasm.

The discussion on NGen.exe (a native code generation tool shipped with Visual Studio) was freaky to me. Here's a tool that in assembly initialization stage saves you lots of time, but in run time costs you time. And apparently, the more processors greater than 2 you have, the slower it makes you! Slick.

Friday, May 20, 2005

Getting Set for Forum

I'm really looking forward to the IPMA Forum this year. In past years (the last two, I mean), it was to a certain extent a time-waster. Not that it wasn't fun looking at new doodads and wishing I could convice Office of Financial Management to buy me a new toy or two, but the real reason for the Forum was the presentations, and they were largely ho-hum. I know a couple of people who were presenters last year, and I don't mean you were ho-hum; I mean the overall show was boring. Of course there were highlights.

But the line-up this year is very encouraging! After going over the Forum schedule and picking the best events to attend, it turns out that I will be spending most of my time during that two days in the Worthington Center.

My first point of interest was Jeffrey Richter's .NET Roundtable, which takes up the lion's share of my first day, but I'm also looking forward to the session on "SOA Jump Start with .NET & Design Patterns". "SOA" stands for Service-Oriented Architecture, and this is a subject that I have been ignoring, but should start paying attention to. The word "architecture" is a bit scary, though. That word frequently seems to mean that the presentation will be better than the sleep aid of your choice. Well, that's Tuesday afternoon.

I'll be at the Forum all day on Wednesday. This schedule seems a trifle ambitious, since I have a hard time sitting around listening to talking heads, and will have to watch out for my head nodding --- make sure to get a lot of sleep the night before! But there's a lot of relevant material on Wednesday, that's for sure. Relevant to me and my professional interests, at least.

m.

Thursday, May 12, 2005

May .NET Events

May 12, 7:00-9:00 PM / Jason Mauer / Language Enhancements in .NET 2.0 / Olympia Center In this presentation we’ll be walking through new features of C# and VB in the .NET Framework 2.0. This is specifically about syntax; whiz-bang IDE features will be kept to a minimum. Come learn about the new abilities you’ll be able to take advantage of in the next release of .NET.

A free copy of Visual Studio 2005 Beta 2 DVD Kit will be given away to all in attendance (includes VS2005 Team Suite Beta 2, Team Foundation Server Beta 2, and the April CTP of SQL Server 2005) plus some additional goodies.

May 24, 1-3:15 PM / Jeffrey Richter At IPMA Forum / St. Martin’s College, LaceyDon't miss Jeffrey Richter's presentation at IPMA Forum on May 24 from 1:00 to 3:15! Jeffrey Richter is the author of Applied Microsoft .NET Framework Programming (ISBN: 0-7356-1422-9). His knowledge of the Microsoft .NET Framework is unparalleled in the world. We are extremely fortunate to have him visit our community. Please show your support for the South Sound .NET User Group by attending his presentation!

Win a Pass To Devscovery in Redmond
Wintellect (one of the South Sound .NET User Group Sponsors) will be giving a way one free three-day pass to the Redmond Devscovery event (valued at $900). Hear with the hugest names in software development: Software Legend Jeffrey Richter, Bug Slayer John Robbins, ASP.NET Guru Jeff Prosise, SQL Expert Peter DeBetta. Details on how to win the contest will be available at the Wintellect booth.

Are You A Blogger? Will You Be At IPMA Forum?
Send me an email (paul.mehner@ssdotnet.org) to be included in the “IPMA bloggers” website that I have set up at http://ipmabloggers.blogspot.com/. Visit the site frequently during the forum as many of us will be blogging away to keep you up to date on what’s happening.

South Sound .NET User Group Sponsors @ IPMA Forum
Milestone Technology, Wintellect, and Soundex co-sponsor the South Sound .NET User Group. Be sure to visit the Milestone and Wintellect booths and thank them for the support that they give to developers in our community!

Tuesday, May 10, 2005

IPMA Bloggers Meet Here!

This community blogging site was created as a central location for IPMA attendies to share their experiences from the IPMA Forum in Olympia, Washington.