July 2004 - Posts
I'm still working my way through the online labs for InfoPath available at MSDN.COM. Today I came across a regular expression builder that's part of the data validation tool set.
When you select a form field you want to validate, you can indicate that you want to validate it based on a pattern. A magical "Data Entry Pattern" dialog box is displayed. There are a few standard patterns inside (phone number, SSN, Zip, and Zip + 4) but the magic is when you need to do a custom pattern.
In the past I've pulled my hair out trying to write a regular expression that works right. I've Googled my way around the web, looked for examples, and try, change, try, change, try, change, and on and on and on.... Argh!
But this Data Entry Pattern dialog box has a simple combination of a text box (that I can type in) and a drop down list (containing "special characters" such as left paren, right paren, one or more, none or more, etc.) that lets me do what I need to do - without the pain of guessing! And it shows me an example of what a valid match looks like. In seconds I have a pattern defined that does exactly what I want it to.
I like this!
The "Data Entry Pattern" dialog box in InfoPath.
Best thing since sliced bread.
If you're a developer and live in the south Sound (as in Puget Sound) area, you need to get to know Paul Mehner and the South Sound .NET User Group.
SSDOTNET meets the second Thursday of each month in Olympia.
Paul's blog is located here: http://paulmehner.blogspot.com/
Scott Hanselman is going to present at the user group meeting on August 12.
Check it out.
Need to write a desktop application? Need integrated word processing or spreadsheet capabilities? Take a look at Visual Studio Tools for Office (officially known as the Microsoft Visual Studio Tools for the Microsoft Office System -- how's that for a long name? VSTO works for short. Disclaimer.)
There are a number of VSTO-related webcasts coming up in August that you'll probably want to take a look at. Action Panes are uber-cool.
View Control Programming in Word 2003 and Excel 2003
Wednesday, August 04, 2004
1:00 PM-2:30 PM PST
Information and registration:
http://go.microsoft.com/fwlink/?LinkId=32724
Actions Pane and Managed Controls in Word 2003 and Excel 2003 with Visual Studio Tools for Office
Wednesday, August 11, 2004
1:00 PM-2:30 PM PST
Information and registration:
http://go.microsoft.com/fwlink/?LinkId=32725
Security implications for Word and Excel programming with Visual Studio Tools for Office
Wednesday, August 18, 2004
11:00 AM-12:30 PM PST
Information and registration:
http://go.microsoft.com/fwlink/?LinkId=32726
Visual Studio Tools for Office 2005 – Open Forum
Wednesday, August 18, 2004
1:00 PM-2:30 PM PST
Information and registration:
http://go.microsoft.com/fwlink/?LinkId=32727
Server Document Generation in Visual Studio Tools for Office
Thursday, August 19, 2004
1:00 PM-2:30 PM PST
Information and registration:
http://go.microsoft.com/fwlink/?LinkId=32728
I've been working through some of the InfoPath labs that are available on MSDN.com and I'm blown away. This is a really cool product that can really help with developer productivity for desktop applications. And it hasn't received the publicity it should have. Give it a try.
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/odc_2003_ta/html/odc_landinfo03_tr.asp?frame=true
Just a quick reminder: there's a Portland Nerd Dinner this Wednesday evening at the Washington Square Mall food court. That's July 28, starting around 6:30 PM.
Be there and be square.
After 3 days of pre-conference meetings, a couple of days of general session meetings, today's the final day of the technical part of the conference. 10 days away from home - seems like forever. I have an 8:30 flight tomorrow morning, and Delta should have me back in Portland before noon. Ah. It's going to be so good to get back home.
I'm jazzed about today's sessions - there are a couple that I'm really looking forward to. One of them is about building high end solutions using InfoPath 2003. Another is on designing and building scalable and performant applications in .NET and will be based on PAG content. It's perfect timing, since next week's Portland Java user group meeting's topic is on high performance J2EE apps. And the other cool session is about practicing agile methods using the tools in VS 2005 Team System. It might be tough to get into this session - it's a chalk talk (few slides, lots of discussion) and is limited to the first 50 people.
Here's to a good final day at the conference!
It's way past that time again. This time the Portland Nerd Dinner will be on a Wednesday evening instead of the usual Tuesday. Why the switch from Tuesday? I want to see what's happnin' at the Portland Java User Group meeting the week of the 26th, and the PJUG meeting falls on that Tuesday evening.
What: Portland Nerd Dinner
Where: Washington Square Mall "food" court
When: Wednesday, July 28, starting around 6:30 PM.
Why: Because after attending 7 days of conference (and 3 more to go!) in Hotlanta and eating only conference-supplied food I've developed an unnatural craving for crappy food.
Be there and be rotund.
The folks from Channel9 are having a "Summer of Express" coding contest. Build a cool app using one of the Express products and you could win a very cool prize. Go take a look at
http://channel9.msdn.com/express/.
Last Tuesday morning, Lenn Pryor and Jeff Sandquist of Channel9 fame came to talk with us about developer evangelism. Good stuff. Lenn talked about his 6 "rules" of evangelism, which he has blogged about. If you haven't been to Channel9 lately, you should go take a look. They've revamped the page layout a bit based on feedback from the community. And we're going to be posting more stuff from the field - such as Washington, Oregon, and Idaho.
And they brought some cool swag!

Well, enough silence.
It's been a busy couple of weeks - and still busy as I sit in my hotel room in super HOT Atlanta this afternoon. I'm resting up before I head over to the best practices fair this evening. Folks from around the Microsoft world are going to be sharing best practices with each other. It's amazing how many incredibly smart, passionate, and energetic people work at Microsoft. In the words of Steve Ballmer (and sometimes channelled through Rory), "I love this company!"
SteveB gave a rousing speech yesterday afternoon, at the end of a day full of talks from senior executives including BillG about the new fiscal year and the years beyond.
Nothing but good times.
After today's sessions and before this evening's big bash (Smash Mouth is the featured group) my roommate and I went to work out in the gym here in the Hyatt. I did a couple hundred sit ups about 100 push ups, around 50 chin ups (OK, so perhaps I'm exaggerating) then went to the elevators. My heart is bounding. I'm still breathing deep. Sweating bullets.
The elevator arrives and I hop in. And in hops a guy behind me. With a cigar. A lit cigar. Gag! Cough! Hack! My room is on the 15th floor. He pressed the button for the 20th floor. Argh! I dropped to the elevator floor, sucked in a deep breath (not as much smoke down there) and held my breath. Second floor... third floor... fourth floor.... 10th floor - my lungs are burning now - 11th floor... 12th floor - my eyes are about to pop out - must... not... take... a.... breath! 14th floor (thank God there's no 13th floor!)... and the door slowly opens. My eyes are watering. I'm about to pass out. And then - fresh air! I'm alive!
I don't mind cigars - I've been to smoke one now and again, including a couple this week - but ICK!!! not in an enclosed elevator. Not while I'm inhaling full throttle.
I think I'll go pass out now. I hope I make it to the party.
Update: I made it to the party and had a great time. And I have pictures to prove it.

With Joe Healy and Steve Loethen - before the fun begins....

During the middle of the fun...

And we lived to tell about it.
I have a bunch more pictures in between the before and after, but what goes on the road, stays on the road. : )
Is it supposed to be fun when you're visiting with your brother and his family - for your dad's memorial service? Hm. I don't know what Ms. Manners would say. Death happens. It's a part of life. (Or perhaps it's the first part of Death - which doesn't really count as life.)
But I definitely had a wonderful time visiting with my brother. It had been years since we were able to spend this much time together. We watched a few movies - including Spiderman 2 - listened to him rehearse for his recital, and played a bunch of tennis. (Did you know that Charlotte is a bit warmer and more humid in July than Vancouver, Washington, is? Yep. It's true. I have the gallons of sweat to prove it.)

Be glad that odor does not come through the web...
The memorial service this morning was good. It brought some closure in a way that I wasn't expecting. (I normally hate it when people talk about "closure" - but it's the right word here. I guess I "get it" now.) My brother and I met with the minister of the church yesterday morning and recounted some stories about growing up in the Blizzard household. He weaved those stories into his message today and made me think about how we all touch people in more ways than we realize. A kind word here, a gesture there... it can make a difference. We smiled and shed a tear or two.
Well, one more night with the bro' then it's early to rise. I'm on the 8:00 A.M. flight tomorrow (Thursday) morning from Charlotte to Portland, with a short lay over in Chicago. (Flying first class again, which I'm really looking forward to.) I'll get to stay home a couple of days - get to see the new paint job in my daughter's room (thank God they painted it while I was gone! : ), then it's off to Atlanta on Sunday for ten days to attend a little conference.
Life goes on...
Flew across the country today. First time I've done that in first class. Wow. What a pleasant trip (in spite of the 4 hour lay over in Denver). I ended up using 40K frequent flyer miles to make the trip. (I could have used 25K miles, but the return flight home would have been sometime in late August. United only allocates a certain number of seats to the 25K frequent flyer awards program, and those seats go pretty fast. To be able to make the round trip on my schedule I had to burn a ton of miles. Ah well.)
I had to suppress a laugh when on the leg from Portland to Denver they apologized when the "forced" me to drink from a plastic cup -- they didn't have any glass glasses. And on the leg from Denver to Charlotte they did have glasses made of glass, but I was "forced" to use a styrofoam cup for my coffee. "I'm so sorry you have to suffer with the styrofoam." Heh. If they only knew I was just a bumpkin and was so happy not to be sitting in my normal "luggage class" seat.
On the leg from Denver to Charlotte I had the first class cabin to myself. Me and 7 empty seats. I tried out each one during the flight. I felt like I was in my own personal jet with a flight attendant all to myself. "More water, please," and "Just a bit more coffee," and "May I have another hot cookie?" Fun stuff. Some guy wandered into "my" first class section (from his luggage class seat) and used "my" lavatory. The nerve!
My dad's memorial service is set for Wednesday morning. In the meantime my brother and I are going to enjoy life. We watched "Chicago" this evening. Monday and Tuesday we're set to play some tennis -- just like in the old days -- and we're going to rent "Behind Enemy Lines" tomorrow evening. (I'm also going to create a WEP key for his wireless home network tomorrow. It's currently sitting wide open with the default userID and password. Hacked into the admin console in just a few seconds.)
It's good to be back in North Carolina, even if just for a few days.
A couple of days ago I complained about the lack of documentation for the XML server control in Visual Studio .NET. It turns out that my friend Jason Mauer (Consultant in Microsoft Consulting Services here in Portland) is an XSLT guru. He trimmed my ugly manual file parsing + XSLT into a simple, elegant XSLT file. Man, it's a thing of beauty now. He said the Wrox "XSLT" book was worth its weight in gold. I need to get the book and I owe Jason a tall cold one. Thanks Jason!
Behold the work of art:
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:dasblog="urn:newtelligence-com:dasblog:runtime:data">
<xsl:output method="html" />
<xsl:template match="dasblog:Comment">
<div>
<b>
<font size="+1">
<a target="ablankpage" href="http://snowstormlife.com/blogs/bliz/CommentView.aspx?guid={dasblog:TargetEntryId}">
<xsl:value-of select="dasblog:TargetTitle" />
</a>
</font>
</b>
<br />
<i><b>Comment date: </b></i>
<xsl:value-of select="dasblog:Modified" /><br />
<i><b>Author: </b></i>
<xsl:value-of select="dasblog:Author" /><br />
<i><b>Comment: </b></i>
<xsl:value-of select="dasblog:Content" />
<hr />
</div>
</xsl:template>
</xsl:stylesheet>