Friday, March 30, 2007

Fabio Claudio Ferracchiati has a book on LINQ that he wrote against very early bits. When the March 2007 CTP came out, he blogged a list of things that he discovered had changed in LINQ syntax that required updates to his book. The list is handy if you have code even from the January CTP.

Friday, March 30, 2007 9:13:34 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [4]  | 
 Thursday, March 29, 2007

I used to hate flying. It still terrifies me to tempt gravity and nature so. But I have to fly a lot since I go to conferences and user groups all over the place. One of my tricks is that I love to get a window seat and look out at the amazing view.

Today I flew back from Orlando where I had just been at DevConnections (which I wrote about here). I flew from Orlando to Washington Dulles, then from there a short 1 hour flight home to Burlington, Vermont. Because it was a short flight, we were in a small plane and flying low. It was a fabulously goregous sunny day. I slept for the first bit of it but then woke up whe the pilot said "if you look to your right, you'll see a great view of NYC". I was on the left so I was looking at Newark. However as we got a little further north, it got better and better.

I lived in the Hudson Valley for 8 years prior to moving to Vermont. I was also quite in love with the Hudson River. My favorite bike rides were ones where I rode my bike across some of the many bridges that span the Hudson. Eventually, we were following the Hudson as we headed north and it was right out my window. By the time we got over Poughkeepsie, I was able to identify so much of what I was seeing because they were places I have spent a lot of time. I was able to see New Paltz and the Shawagunks. Then Rhinebeck which led to something that made my heart jump. I quickly followed the road out of Rhinebeck with my eyes and made my way to the house that I lived in for a very wonderful 6 years of my life (okay, that's discounting an icchy boyfriend that lived there with me for a short while (but hindsight's 20-20, right?). I couldn't really see the house, but I saw what was my pond when I lived there and filled in the rest of the view from memory.

I kept my eyes peeled to the landscape all the way to Burlington. Up the Taconic and Hudson river, the Hudson bridge and the town of Hudson. The Castskills (where I have spent a lot of time not only hiking and winter climbing, but bicycling through as well in my "former life") then Albany , the Adirondacks, Lake George and finally Lake Champlain. Even flying over Vermont, it was easy to pick out the place we put in to paddle Dead Creek, the Addison County Fairgrounds, Snake Mountain, Vergennes, Shelburne Bay and Shelburne Farms. Then finally Burlington. It was a pretty boundy landing due to some strong winds, but we did it safely and I got to drive home on some of the same roads that I had been watching from my birds' eye view.

I wish I could have filmed the entire thing, but hopefully by blogging it, I'll be able to come back and enjoy the memory here.

Thursday, March 29, 2007 7:17:23 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 

I was heads down prepping for DevConnectiosn last week and missed this post from Beth Massi. This is fabulous news, not just for Beth but for anyone who is a fan of the VB Developer Center (and all the new fans that I'm sure she will attract). Beth is one of the most energetic people I know and she's scary smart, too!

Congrats Beth!!

Thursday, March 22, 2007 6:27 PM
Yes, I swallowed the red pill, drank the koolaid, been assimilated, whatever...
That's right folks, I joined Microsoft on Monday! (Right after the MVP summit, of course.) I'm very excited about my new position writing content for the Visual Basic Developer Center and promoting the Visual Basic language in the community. I'm still getting all set up over here but stay tuned!!!...

Here's her new blog: blogs.msdn.com/bethmassi

 

Thursday, March 29, 2007 5:48:28 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Wednesday, March 28, 2007

I am at DevConnections where I was VERY excited to see Brian Dawson (ADO.NET team) do not one but TWO Entity Framework talks on Monday.

Brian has a newer build than what we are working with in the March CTP and I saw some stuff that made me wanna whine "gimme gimme".

  • SPAN - calling span on an entity sql query will force the ObjectContext to load up an object's entire hieriarchy without having to call Load after the fact to get related data. This seems to be available in Object Services but not through Linq to Entities. Hopefully an Extension Method will be created for Linq to Entities to give us access.
  • The EDM Wizard will display Views and Stored Procedures when building an EDM from a database. Then these will be part of the schemas.
  • Referential Contraints will work the way you would expect. For example if your db has a referential constraint to delete child records when a parent is deleted, EDM will pick those up. I don't know the details here but am assuming we will have some granular control over this.
  • ToList may not be necessary in the future and serialization will be implicit.
  • Beta 2 will have something (new to me) called IPOCO... Interface for Plain Old CLR Objects
  • QueryViews - ooh baby ooh baby. Create your own views in the mapping layer.
  • Associations between sub types.
  • There will be a way to convert existing strongly typed datasets to entity schemas. Unfortunately either Erick (who I got this from) misunderstood the question or I misunderstood the question or I misunderstood the answer. Darn.

At the same time as DevConnections, VSLive was happening in San Francisco. (Quite unfortunate scheduling...) Britt Johnston did a keynote and showed [a video of] the latest prototype of the EDM Modeler and also let us know that it won't be ready for Orcas but they plan to release it shortly (?) (well the quote from the ADONET blog post is literally "sometime") after Orcas. This is really frustrating, but it is just the reality and as developers we know the difficulties of designing tools... so it is what it is and until we have it, I will learn a LOT with the XML and personally hold off on doing any seriously complex modeling.

See the ADONET Team blog and Data Blog for more on Britt's keynote and links to the screencast on where the modeler is at today.

I did my ADO.NET Orcas overview talk yesterday to a full room (not a huge room, but still all the seats were filled which was great given that Carl Franklin and Richard Campbell were doing a live DotNet Rocks show with Scott Guthrie at the same time!). I love talking about this stuff even if I never seem to have enough time for all the cool stuff I wish I could show.

Wednesday, March 28, 2007 8:53:45 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [6]  | 
 Sunday, March 25, 2007

If you forget to run particular apps (and I'm talking about key development tools) as an administrator,  you may find yourself, as I did, spending a lot of time trying to solve the wrong problem! Read more

[A New DevLife Post]

Sunday, March 25, 2007 9:40:11 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Friday, March 23, 2007

I want to preface this by saying that I worked at Synergy when I first moved to Vermont and think the world of this company!!

--------------------------------

Synergy Software Technologies Inc. is a dynamic, fun and exciting software company located just outside of Burlington, Vermont.   Synergy has been in business since 1992 and is a leader in software for human services organizations with over 5000 installations across the country.  We are rapidly expanding our product line and have an immediate opening for an experienced MS SQL Server DBA. 

This position requires a strong knowledge of MS SQL Database Administration on Windows 2003 platforms running in a clustered environment.  Responsibilities include optimization and performance tuning, monitoring and maintenance of customer databases, development of scripts, documentation and procedures for database administration within testing and production environments and working with our development and technical support departments on resolution of database-related issues.  The successful candidate must be a self-starter with the ability to establish priorities and work independently.  Crystal Reports experience a plus.

Synergy offers a relaxed, fun working environment, and an opportunity to be part of a team working with the latest technologies in a high-growth area.  We are leaders in the market segment that we serve, and expect continued rapid growth over the next several years.  This is an opportunity for a creative, aggressive DBA to have a significant impact on our business.  Come grow with us!

Interested candidates must submit a complete package, including cover letter, resume, and salary requirements to ddap@synergysw.com.  Incomplete packages will not be considered.  Please do not submit system generated resumes.  Due to the typical volume of applicants, we will only be in contact with those candidates that we wish to interview.

Synergy Software Technologies Inc is an Equal Opportunity employer.

Friday, March 23, 2007 2:07:30 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Dominick Baier posted this 3 months ago, but I only needed it for the first time today. It's quite handy having the SLN files as shortcts when doing conference presentations, and I am preparing my new Vista laptop for next week's DevConnections.

Dominick created a little tool that you can use to run as admin from a file shortcut (not an default option in Vista). I added the tool as a SEND TO option which, while not being as great as having the shortcut run as admin on it's own, is still very helpful.

If you havne't discovered how to have application shortcuts always run as admin (so that you don't have to remember to right click and choose that option each time), there's a checkbox to force this in the shortcut's properties on the Compatibility tab.

Friday, March 23, 2007 1:11:48 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Activation by phone solved a strange problem which was suggesting that I had activated Office 2007 with my product key WAY too many times. Read more...

[A New DevLife Post]

Friday, March 23, 2007 10:48:55 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Thursday, March 22, 2007

I decided that I'm finally ready to make the move to a PocketPC Phone. This means buying a new phone and upgrading from a $40/month plan to an $80/month plan. But Verizon just does not seem to want my extra $40/month. I re-upped with them for another 2 year contract last summer (there was a mixup which is why my phone's end date and my contract's end date are not in synch) and if I want the upgrade discount on the phone I have to wait until June 2007. If I want to upgrade my monthly contract I have to wait until June 2008.

I understand the 2 year contract is a good thing for discouraging clients from cancelling, but I just don't get Verizon telling me that my options are either to purchase a second plan while continuing to pay for my $40/month plan for another 18 months and paying $250 for a phone when NEW customers that have NO history with them and NO loyalty can get the phone for $79.

Sounds ass-backwards to me.

 

Thursday, March 22, 2007 3:37:31 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [6]  | 

Think Mobile apps are cool? Wanna win a UMPC (now that's cool, too!)

From the mobility folks:

Today’s apps must work in an increasingly mobile environment and must allow new means of input: ink, touch, and more. Build a great application that encompasses these needs, write an article about what you’ve done, and you may win one of three cool Samsung Ultra-Mobile PCs. One winner per month, 3/15/07–6/15/07.
Check out Code Project for more details.

Hmm, now that I've got my own TOUCH SCREEN tablet, all I need to do is find some free time, and I'm so there....

Thursday, March 22, 2007 3:20:38 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

My DevLife blog that has been on the DevSource blog since June 2005, has been consolidated wtih the other Ziff-Davis blogs onto Movable Type. The old blog was on an OLD version of .Text and the comnent spam had gotten way out of control. I asked if they could just update to Community Server, but it made a lot more sense to move me onto the same blogging engine as all of the other ZD bloggers. MT is so different to use and I will miss all of the great formatting features that I'm used to having easy access to in .Text and in dasBlog which I use for THIS blog. Oh well.

But the spam situation was unbearable and it was impossible to keep up wtih attempting to delete 100 new spam comments a day. We had to turn off the comments which also meant hiding all of the valid comments, too, which was a bummer.

Anyway, here's the new blog:

http://blogs.devsource.com/devlife

Thursday, March 22, 2007 8:51:46 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Tuesday, March 20, 2007

This is a great thing that DevConnections has been putting together for the past few conferences. There will be a separate luncheon area on one day for women attendees to get together and gab away. In the fall, we did it on the last day and everyone said they wished they had been able to meet each other at the start of the conference, not just as they were getting ready to go home.

So that has been accommodated. I'm looking forward to it yet again.

It will be on Monday in the Crystal Ballroom. There is no formal presentation, it is purely social.

Tuesday, March 20, 2007 2:01:30 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

There are two bumps in the road of debugging ASP.NET in Vista. The first is enabling Windows Authentication, which depends on properly installing IIS on your computer. The second is an issue with the debugger not being able to automatically attach to the process that is running your website. This is gotten around either by manually attaching each time (a huge pain in the rear that I got sick of in less than 30 minutes) or applying a quick patch that Mike Volodarsky, on Microsoft's IIS team whipped up.

Mike's blog post shows how to get past these bumps and more.

Tuesday, March 20, 2007 8:55:57 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Monday, March 19, 2007

Rich and i have weekday passes to Mad River so when I work all weekend long and work at night, I won't feel too guilty cutting out for a few hours and today is the day! Even if you don't have a pass, you might want to consider it. Here's from MRG's website this morning:

Starting today we will be switching to special Spring hours and rates. We will be spinning the lifts from 9:30 AM to 4:30 PM and midweek lift tickets are a mere $29 for the rest of the season.  Today will simply be the best $29 you ever spent! Bluebird skies and temps in the upper 20's. The skiing, in a word, is unbelievable, with 28"-36" of Champlain Powder during the St. Patty's Weekend "snow event"!   The skiing is downright ludicrous with some of the fluffiest powder this side of Utah.  You absolutely owe it to yourself to make the pilgrimage to Mad River Glen right now. you won't be disappointed. The grooming "fleet" has been out in force pinning down the fluff on the novice and intermediate terrain.  It will be a corduroy paradise out there today  for those who like that kind of thing. The legendary steeps and bumps are about as good as they get and our glades, those famous glades, well you can only begin to imagine how good they are skiing. During the midweek period we will spin the Single Chair, the Sunnyside Double and the Callie's Corner Handle Tow from 9:30 AM to 4:30 PM.   Obviously 100% of our fabled main mountain terrain is wide open with some of the finest conditions in recent memory.

Monday, March 19, 2007 7:43:20 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Sunday, March 18, 2007

Perfect snow. We got about 18" of dense snow between Friday and Saturday. (I know, bad for drivers, bad for travellers, bad for a lot of people, but suh-wheeeeeet for skiers!) Then overnight last night we got another 8+ inches of the lightest fluffiest snow in the world. Yesterday Rich and I went out in our snowshoes and packed our ski trail down in the woods. Today will be the payoff as we get to ski in the fluffy fluffy fluff this afternoon.

Sunday, March 18, 2007 11:06:40 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Now that I have Vista on my main development machine, I have had a chance to test out the variety of collaboration tools that I use in my work. Here's a post I wrote about what is compatible, what isn't and the status of compatibile updates from vendors.

[A DevLife post]

Sunday, March 18, 2007 11:01:11 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Last week, I inaugurated my ADO.NET Orcas Overview at the TEchValley.NET User Group in Albany NY (with thanks to INETA!!). It was a serendipitous night for me to present there as they had just moved to new digs for their meeting, a very convenient, spacious and high tech location, so they packed the room!

The purpose of this presentation is to introduce developers to the Entity Framework and to LINQ for ADO.NET (that's the umbrella term for LINQ to SQL, LINQ to DataSets and LINQ to Entities) and while it sounds like a short list, it's a LOT to cover in one session. Especially if you don't want to just do some marketing. Developer's want to see code, but there is a lot of high level explaining to do up front, which takes time. Yet, I can't help wanting to desconstruct the Entity Data Model schema files, try to show different ways of designing a conceptual layer, and then the many ways of getting data out of the entity framework as well as using LINQ to SQL (a huge topic all on it's own) and LINQ to DataSets (another good sized topic, if you like DataSets, which I do!). Minimally, a day would be good to start with.

Before I opened up the schema files, I asked "so, who here is comfortable working with XML, anyway?". I was surprised that 1/3 of the hands went up. This is a smart group of developers who challenged me with a lot of awesome questions! (Though there was a big sigh of relief when I mentioned LINQ to XML and LINQ to XSD for those of use who live in fear of XPath!)

I laughed at John Papa's recent blog post where he bemoans the difficulty of cramming the same list of info into an article he is writing for MSDN Magazine. John and I have been providing lots of moral support to each other as we attempt to wade through Entity Framework and the LINQ flavors that are involved with data access. I was happy to finally meet John in person at the meeting, as well. (A local yokel!)

The most laughable part of my session was when, after constantly checking my watch to gauge how much time I had left (and being surprised, at each check, how well I was doing with the time), I realized that I hadn't changed the time on my watch for the early daylight savings time. I didn't have 1.5 hours to go, but only 1/2 hour! While I had planned to do a 2 hour session (user groups are a little more amenable to this than conferences where you are on a tight schedule), I think that, not counting the short break we took, I managed to wrap up in 2 hours and 15 minutes - and nearly everyone stayed! But what's new? (Hey, you've got me there, take advantage of it! ;-))

The next day, I had a three hour drive home, immediately followed by a GeekSpeak webcast on the same topic, but for only one hour. My favorite part of this format was that whenever I was starting to go on and on about one particular piece of the Entity Framework (can't be helped as I find it fascinating - sick, huh?), Susan would steer me to the next stage of the discussion. Boy, would I love to have Susan with me while I'm presenting at a conference. "Okay Julie, I think 5 minutes looking at XML is more than enough... let's go look at something a little sexier, like the LINQ to SQL designer, huh?"

So next up is DevConnections, where I will be doing this session in 75 minutes (less, if I want to be able to answer questions), then on to Code Camp in Waltham, then the South Sound User Group in Olympia (after talking about LINQ to SQL In Bellingham, WA - both INETA gigs) and DevTeach in Montreal. I'm excited about all of these opportunities to introduce developers to these very cool technologies!

Sunday, March 18, 2007 10:11:25 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

There is a woman in France who owns three of my parent's newfies (see them at TadoussacNewfs.com) . She is very serious about training and showing them.  These dogs have so much fun doing lots and lots of water training and showing and Bouba, the youngest of the three that came from my parents, has made a big name for himself in Europe! Today my parents told me that he is now ranked as the #2 Newfie in all of France, which in the crazy world of dog showing is a really big deal.

 

Sunday, March 18, 2007 8:28:17 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Saturday, March 17, 2007

From the forums (this thread):

A future version of SqlMetal.exe will generate DataContract and DataMember attributes on your entities for you.  Putting them on the DataContext won't work because the DataContext is not serializable.  (Matt Warren, Microsoft)

Saturday, March 17, 2007 10:17:54 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Friday, March 16, 2007

I was looking at Vista side bar gadgets on live.com and noticed gadgets for 2008 presidential hopefuls. While Hillary and Obama's are for your myspace or live blogs where others may be somehow inspired by your early choice in candidates, the mcCain one is a sidebar gadget. So if I were a McCain supporter, i could share that fact with my dogs, cat and husband who are the only ones that might be in my office.

Friday, March 16, 2007 4:53:46 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

There are about 350 people already registered for Code Camp in Waltham, MA Mar 31-Apr 1st. There is also room for more sessions! I just added a chalk talk because I thought it would be fun to open up the Entity Data Model schemas and explain what the heck is going on there.

You do not have to have a completely prepared powerpoint presentation to do a chalk talk. Just an idea, a computer and some working knowledge of the topic and then just go with the flow, which is driven by everyone in the room.

CODE CAMP 7 - more info here

Friday, March 16, 2007 4:25:03 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

There are some great questions bubbling up in the forums. THe ADO.NET team is busy in these discussions as well as writing some good blog posts on Entity Framework. Here's the current run down...

[A DevLife post]

Friday, March 16, 2007 4:16:20 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Kate Gregory pointed to a blog post by Microsoftie, Darren Strange, who just plain old had a bad day. An experienced presenter, he was well aware that he was in a downward spiral, but just couldn't seem to do anything about it. (Probably not as bad as what he describes.) The hardest part about when talks go south is picking up your ego and moving ahead.

I had a horrible conference experience (that I considered confessing to, but decided to keep a little bit of my pride in tact) and not only had to face myself (and my scores, and the people who had so kindly brought me to speak at the conference) but I had to present a week later at another conference, a sizable one, at that. Believe me, I did not want to. Not at all. But of course, I had a commitment to fulfill and I had to work hard to find the courage to go forward with it.

This was really really hard to do. It made me question if I should even be presenting. (Okay, I question that prior to every speaking commitment I have ever made (and after reading one negative eval, even if it's surrounded by many positive ones).)

My choices were to just go totally dark or turn my bad bad experience into a series of lessons. I thought long and hard about everything that did not go well, the reason for each of these problems and what I was going to do from then on to avoid each and every one of them.

I was also fortunate to have the ears (and the shoulders) of other folks who do a lot of presenting (such as Kate) to pat my poor ego a little and remind me why I present in the first place - because I really love sharing what I have learned.

I stress out prior to every opportunity I have to humiliate myself publically. Wouldn't you? :-) 

Susan Wisowaty and Glen Gordon were angels earlier this week when the normally routine (2 minute) installation of Live Meeting that I had inevitably put off (this wasn't my plan, of course) to only 1/2 hour prior to the GeekSpeak webcast just would not work. Finally I turned off UAC, rebooted my computer, ran the install yet again and was finally ready about 30 seconds before we went live. Those two, who are serious pros, were cool as cucumbers, professing basically that it was "all good" and even if I just talked about ADO.NET without showing any code (and believe me, I could do that for  hours and hours) it would still be fun. Of course, in the end, the event flew by and it was a blast and hopefully it was beneficial for listeners.

Friday, March 16, 2007 2:41:54 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 
 Thursday, March 15, 2007

We're really looking forward to this. Gov Douglas will be featured at the next VTSDA Meeting: A Discussion on the Vermont Software Sector and its role in Vermont's Economy.

More info at http://www.vtsda.org/meetings/

Thursday, March 15, 2007 12:56:50 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I remember trudging through piles of snow when I was little, knocking on my neighbor's doors taking (and then delivering) cookie orders.

Now if I want cookies, I have to go track them down. I just discovered that there's a list of where I can buy them all over vermont this week. (I just happened to think of it and it just happened to be this week!)

Thursday, March 15, 2007 11:30:17 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 
 Tuesday, March 13, 2007

VTdotNET had our Vista launch event at last night's meeting and we had a blast. There were about 35 people there (which is a crowd for us!). TEKSystems brought us piles and piles of fabulous pizza and two VTdotNET members, Mike Soulia and Rob Rohr gave great presentation.

Mike, who owns two of our favorite local stores in Burlington (Kiss the Cook and Apple Mountain where he has built their POS system) covered WorkFlow, WCF and WPF. Mike teaches software classes at Vermont Tech as well. WF is a hard thing for many developers to grasp at first, especially when it isn't solving a big problem that they have been struggling with. There are many who see it and say "oh, what I've always needed!" and others who just don't get it. I was in the latter camp at first and could tell there were plenty feeling that way last night. One thing I like to share with folks like me is that the fact that people who I have a lot of respect for, such as Kathleen Dollard, are VERY VERY excited about WF. She is doing a full day session on it at DevConnections. I figure if Kathleen things it's huge, then it's huge and that I need to pay attention to it.

Mike built a basic hello world server and a client  to call it with WCF so people could just see the working parts, get the most basic concepts and see that it works. After this he demo's Expression Web and showed an awesome iPod-like interface that when he hovered the mouse over the center circle (moving it around the circle), the volume went up and down, just like on an iPod. Very cool stuff.

Next up was Rob, who makes the University of Vermont School of Business Administration tick. Before he got started, I made him show Flip3D on his computer. There are plenty that hadn't seen it yet, so there was a fun reaction! Rob covered Vista security and then gave us a great presentation on CardSpaces, which I think nobody in the group has seen before. There's an article on CardSpaces in MSDN Magazine this month (April and it's not online yet, but I have it in my hands!) by Michele Leroux Bustamante.

After the meeting, we raffled off the swag that Microsoft sent as part of this launch event. The highlight was five Vista Business licenses,then there were things like pens, zipper pulls and mouse pads - silly stuff. I was really pleased that a woman who lives in Souther Vermont (over 2 1/2 hours away) and has never been to a meeting before was one of the Vista winners.

Thanks to Mike and Rob for all of the work they did preparing these sessions. And thanks to Elizabeth Rudolph at TEKSystems for not only sponsoring the pizza & soda, but picking it up, bringing it to the meeting and setting it all up.

Tuesday, March 13, 2007 7:38:11 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Monday, March 12, 2007

It wasn't obvious to me how to do this (hey, I've admitted worse embarrassments on this blog before...) so here's the scoop...

A DevLife post

Monday, March 12, 2007 12:41:26 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

My main machine has so many old apps on it that I don't want to install .net 3.0 there. Now that I have my other dev box set up on Vista, I can easily check out all of Charles Petzolds cool WPF demos that he posts on his blog! (Such as today's 3D shadow test.)

Monday, March 12, 2007 10:42:57 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 
 Sunday, March 11, 2007

If you are not on the email list to receive the monthly newsletter for INETA NORAM  you can always find them at www.ineta.org/newsletters.

Scott Spradlin does a great job putting this together as editor. I do the speaker interviews each month, something I started when I was the editor. This month I got the dirt (that's dirt bike dirt) on Chris Kinsman. Check it out.

Sunday, March 11, 2007 6:11:39 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I know that this cartoon in the New Yorker this week sadly comes close to home to many people that I know.

 

Sunday, March 11, 2007 9:02:09 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Tomorrow night Patti Smith is being inducted into the Rock n Roll Hall of Fame. Rock on.

Sunday, March 11, 2007 8:59:31 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Saturday, March 10, 2007

The first three days of the week are busy ones!

On Monday, Vermont.NET is having it's Vista/.NET 3.0 Launch meeting. Local brainiacs Mike Soulia and Rob Rohr will be presenting (after months of working with the Vista Launch team as part of the big user group roll out) and we'll have 5 Windows Vista licenses to give away (plus free pizza & soda thanks to TEKSystems, who recently opened up an office in Burlington).

Tuesday is the TEchNet/MSDN Event in Burlington. It's a day of training on Vista and Office 2007 products, with the morning focused on IT Pros and the afternoon for developers. Susan emailed me yesterday to say that they will be giving away Office 2007 licenses at the MSDN event!!!

I'll be missing that though because I'll be driving down to Albany to give a presentation to the Tech Valley .NET User Group about ADO.NET Orcas. Thanks to INETA for sponsoring this trip.

Then I drive back on Wednesday do to a GeekSpeak show with Susan Wisowaty (who is doing the MSDN event on Tuesday) and Glen Gordon. They were kind enough to move the time to later in the afternoon so that I'd be back from Albany on time and ready for action.

 

Saturday, March 10, 2007 1:56:06 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

GeekSpeak is a lot more free-form than a typical webcast and I'm not sure what to expect. I'll have the new CTP of ORCAS open and I guess we'll poke around Entity Framework and the three LINQ to ADO.NET techs (LINQ to SQL, LINQ to Entities nad LINQ to DataSet). And the most fun part is that I'll be doing this with hosts Glen Gordon (who I did a webcast with on ADO.NET 2.0 topic a few years ago) and Susan Wisowaty (who lives right here in Burlington!), from the MSDN Events team.

More info and registration here

Saturday, March 10, 2007 1:44:24 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I'm building out two Vista boxes today. One is a new tablet and the other is my Dell XS280 with a brand new hard drive. Read more...

A DevLife post

Saturday, March 10, 2007 1:15:26 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Thursday, March 08, 2007

Erick Thompson from Microsoft followed up on a thread about where ToDataTable went in the march CTP. http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=1300671&SiteID=1

Thursday, March 08, 2007 11:16:50 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 

Police said witnesses reported seeing two males walking on **** at about noon. One of the men was carrying flat screen television; the other was carrying a large duffel bag.

Officers arrived within minutes and found the duffel bag and television behind another house on *****. They followed a set of tracks in the snow and within minutes, officers found *** and ***, who has been under the supervision of the state Department of Corrections.

Thursday, March 08, 2007 10:13:00 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 
 Wednesday, March 07, 2007

Press Release

March 7th, 2007

 

Vermont Software Developers' Alliance

http://www.vtsda.org

 

*** Governor James Douglas will be making a presentation at a Vermont Software Developers' Alliance event on March 21. ***

 

Governor James Douglas will be making remarks about the Vermont Software Development sector and its role in Vermont's economic future.  We've also been informed that he has plans to make a very special announcement regarding the vtSDA.

 

This event will be held on Wednesday, March 21st 2007 from 11:30am to 1:30pm at the Sheraton Burlington Hotel and Conference Center.  The governor is scheduled to speak at 12:00pm sharp, for about 20 minutes. 

 

Mike Quinn, Commissioner of Economic Development and Pat Moulton, Commissioner of Labor, will follow the Governor's remarks with a presentation and Q&A period about the Vermont business environment, specifically relating to the software industry.

 

Please, accept our invitation to attend this very exciting event for the vtSDA and the future of software development in the state of Vermont. We anticipate having 30-40 owners and executives of local software development firms in attendance, as well as a number of government and media representatives.

 

The details of the event are still being finalized. Once we have gathered all the appropriate information we will issue a follow-up announcement.

 

 

Questions? Please email us at marketing@vtsda.org

Wednesday, March 07, 2007 6:12:03 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

It was -14.7 F at 7am this morning. It has warmed up to -7 right now (8:30am). The thermometer said it got as cold as -15.2 last night. BRRRRRRRRR.

Wednesday, March 07, 2007 8:27:01 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Tuesday, March 06, 2007

I've noticed that the posts on the ADO.NET and LINQ forums for Orcas have completely subsided after a flurry over the weekend. I guess everyone had to get back to work!

Tuesday, March 06, 2007 7:45:00 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I just took a peek at the list of abstracts on the Code Camp 7 site, with a thought to decreasing mine from three to two. However, there aren't tons in there yet. There could SO easily be more. Do a chalk talk. Come show off someting you've been working on or something you think is really cool. There is no need for a TechEd type of presentation. If you've got a story to tell, surely there are plenty of geeks who will be interested in hearing about it!

http://thedevcommunity.org/

Tuesday, March 06, 2007 2:01:28 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

There are SO many ways to "skin the data access cat" in Orcas that I'm getting a little cross-eyed. (Though this could be from looking at all of the XML in the Entity Data Models.)

I thought I would try to sort it out a little here since I have done this for some of the presentations I am putting together.

ADO.NET in Visual Studio Orcas

The "new" ADO.NET is not new, but added to. Evolution and backwards compatibility are key to the ADO.NET team. So in Orcas you will have what you know as ADO.NET 2.0 basically in tact. Then added onto that are two things: Entity Framework and integration with LINQ.

LINQ Integration in ADO.NET (in VS Orcas).

Painting a broad brush stroke to define LINQ is that it gives you the ability to query in-memory objects (that are iEnumerable).

 While there is the basic LINQ to Objects syntax, there are four derivatives of this.

LINQ to XML allows you to use LINQ to query XML.

There are three others that all fall under the umbrella of LINQ to ADO.NET.

The first of these is LINQ to DataSet. DataSets are in-memory objects, right? So we can query them, too. What we are really querying is an Enumerable collection of DataRows. Because of the special nature of DataSets, this "flavor" of LINQ needs to be specialized.

Next is LINQ to SQL. Of course, this taints my brushstroke because SQL is not an in-memory object. :-) However, as long as we have this fabulous new language enhancement, and we are all over querying databases, this version of LINQ was created to work directly with SQL, not only to query, but to update the data as well.

The last of the LINQs is LINQ to Entities. This lets us use LINQ to query the objects that are created by the Entity Framework. So let me jump to that and then come back to this one.

Entity Framework

Entity Framework is a whole new set of APIs added into the System.Data namespace.

The key to the framework is a set of three schema files.

The first file describes the conceptual layer of your business entities using a schema file. This is not replacing your objects. All we are describing is structure and basic metadata. Two of the (many) big advantages of this are that 1) in the end, we can write our data access code against this schema (which creates classes for us) rather than having to code up connections to the db, create complex joins to pull together info from various related tables and write lots of update logic and 2) we can describe these conceptual entities based on what we want them to look like, rather than how they are best organized in a database.

The second files describes the schema of the database, including pk/fk relationships.

The third file is a map between the first two. So that when you code against the entities, the framework can translate your requests (or updates) into what the database is expecting.

So those are just three files (which can be created directly from your db using a wizard or a command line tool and then edited manually).

Interacting with the schema files

There are two APIs that know how to make these schemas do their magic, Object Services and Entity Client.

Object Services

Object Services know how to work with the entities as objects. You can query against the entities and get objects as your results. These objects are managed in memory by Object Services and you can update the database easily with changes made to the objects. So I said the magic word, query.

There are two ways to query with the object services. 1) Directly using (yet ANOTHER query syntax...) Entity SQL, which is similar to using SQL and is built using strings. Here you would use the ObjectServices API to create a query object and then pass in the Entity SQL string 2) Indirectly using LINQ to Entities. If you use LINQ to Entities to query the entity classes, in the background LINQ to Entities will use Object Services to interact with the objects. Either way, ObjectServices will maintain in-memory knowledge of the objects for updates.

There are  providers being built to interact with other databases. Regardless of the database, once the schemas and mapping are built, everytihng you do on the client side will be the same.

A caveat is that if you use Object Services plus Entity SQL to query and in your query you use projections (request specific columns/properties instead of entire objects) you will not get an updatable object. Instead you will get an IEnumerable collection of DbDataRecords. LINQ to Entities will return objects even with projections, because that's what LINQ knows how to do.

Entity Client

The last thing I wanted to talk about is Entity Client, the other way to access entities. EntityClient is a provider, similar to SQLClient and the others. It let's you build your data access code to query the entities in a familiar way, with connections (though the connection points to your entity objects) and commands. With EntityClient, you build queries using Entity SQL syntax. EntityClient queries return a dbDataReader. You cannot do updates directly through EntityClient. An interesting thing about this provider is that if you are building an app that leverages the Provider Independent API, you can have code that easily flips back and forth from access data in SQL Server, Oracle, Access, or other data engines. So (though I haven't tested this, I'm making an educated guess here) you can add EntityClient into this flexible model.

Summary

So now you can see why I'm a little cross-eyed. We are working with 6 new query languages (though they are all related),5 new ways of accessing data, trying to keep track of which syntax goes with which access method and which access method returns what type of data. And it is dizzying for sure. But after some investment in this, I have definitely gotten it sorted out. And you can too!

 

Tuesday, March 06, 2007 12:05:33 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 
 Monday, March 05, 2007

I wrote up a list of some of the invaluable resources I have been relying on while diving deeply into the new March CTP of Orcas.

[A DevLife post]

Monday, March 05, 2007 9:08:56 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

In a previous interation, I managed to track down some sample code that built a LINQ call to a stored procedure, the class which it returns and executed it in LINQ to SQL.

The code has changed dramatically in the March CTP. Luckily, Mike Taulty beat me to it and I leveraged the C# code in his post to revise mine.

One of the things I was so silly to do in my previous test was to hand code the return class rather than just create it in the designer and return that.

But all of this is not totally necessary since you can now drag and drop stored procs onto the LINQ to SQL Visual Modeler and make calls to it. Interestingly the return type is just created on the fly at run time so it's not even an issue - yay to anonymous types.

However, it's still nice to know how to build this stuff becasue drag n drop doesn't solve every coding problem. So check Mike's post for the C# version.

Here is a working version in VB.

"CustOrderHist" is the name of the stored procedure in my database. 

What this is doing is

1) using the attribute to hook it up to the sproc
2) taking in a parameter of customerID and associating it with the parameter @CustomerID in the stored proceudre
3) Returning and IEnumerable of type CustOrderHistoryResult (the class I created in the designer that matches the structure of what the sproc returns).

On the client side, I can now take the result and do whatever I want with it, such as bind it to a gridview on a web page.

<StoredProcedure(Name:="CustOrderHist")> _
Public Function GetCustOrderHist(<Parameter(Name:="CustomerID")> ByVal customerID As String) As IEnumerable(Of CustOrderHistoryResult)

  Dim result As IQueryResults(Of CustOrderHistoryResult) = _
 
ExecuteMethodCall(Of CustOrderHistoryResult)(Me,
  MethodInfo.GetCurrentMethod, customerID)
    
  Return result

  End Function

Monday, March 05, 2007 4:52:17 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Oh, and the cat, too.

I've been working from th ekitchen for about a week so I can hang out with the dogs. They don't do stairs anymore and we haven't cleared the path through the snow for them to get to my office from the outside.

So here they are hanging out withme. G.B. the cat has found his favorite warm spot in the house (with Tasha) and Daisy is on her cushy bed. What a mush.

Monday, March 05, 2007 2:41:08 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 
 Sunday, March 04, 2007

Thanks again to Kate (she sure helps funnel good info for me), I see that Microsoft is sponsoring a contest to win a full paid trip to this [Microsoft sponsored?] summit.

You need to be a software developer chick (sorry guys), live in one of these 5 countries: Austria, Denmark, France, Germany or the UK, and not work for Microsoft.

The submission is an essay and due by April 2.

Check it out here.

Sunday, March 04, 2007 8:55:37 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Friday, March 02, 2007

The stars have aligned and I'm going to MIX07.

I am ignoring the fact that this is going to mean a whole lot of flying . In a 5 week period I will fly to Orlando and back (from Vermont), then to Seattle and back and then to Las Vegas and back. Oy, silly me.

 

Friday, March 02, 2007 5:03:20 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 

VB9 has come a long way in the new March CTP of Orcas! Paul Vick has a quick list of what is now in there. And there are a lot of good details in the msdn documentaiton that comes along with the CTP.

A few things I noticed quickly when bringing my LINQ for SQL demos over to the new bits.

  • First, and happily, the named parameter syntax of := is no longer necessary. You can just type =, like a normal person.
  • You need to be explicit about using the reference to the entity when refering to properties. In other words where I could say
     From s In db.Suppliers_
                Where CompanyName = "Exotic Liquids" ...
    I now need to put  "s." in front of the CompanyName property
  • T