Saturday, January 20, 2007

When we attended the ASPInsiders Summit in December, I was impressed with the amount of time that many of the ASP.NET Team members spent with us over the three days (and nights) that we were there. Notably were Rich Ersek and Scott Guthrie, but really so many others that spent lots of time with us.

In one of the of the presentations that Scott did for us, we were reminded that he is a coder first and a manager second as he talked about working out some coding concepts on a plane but getting cut short because his laptop battery died.

One of the things that has always been great about Scott is that regardless of his elevation to higher and higher ranks at Microsoft, he's still, in many ways, just one of the guys, or should I say, just one of the geeks.

I have always been under the assumption that Scott, who is a very busy guy, has some of his lengthy technical posts and tutorials ghost written, but it just isn't true! He wrote about this in his rendition of "five things you didn't know about me..." that has been going around the blogosphere.

5) I write all of the blog posts and samples on my blog myself.  A lot of people often ask if I have help doing them - but I actually write all of the posts/tutorials entirely myself (hence the reason I usually post between 10pm and 2am at night <g>).  I've posted 217 blog posts over the last 12 months and have responded to ~6500 (non-spam) blog comments this year.  It has kept me busy, but I also find it a lot of fun.

You might also assume that this is just part of his job, but have you ever noticed when his posts are posted? 11:30 pm. 1am. 8:30 pm. etc.

And it just makes me wonder how he does it all, but only adds to the enigma that is Scott. All I can say is that I know I'm one of many many grateful developers!

Saturday, January 20, 2007 2:01:37 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 

ADO.NET Orcas brings forth a LOT of new concepts, especially for anyone unfamiliar with Object Relational Mapping.

One of the points of confusion is how entities are wired to the database. Now that I understand it, I thought I would use my own way of explaining it to help anyone who might have a hard time with the more deeply technical whitepapers out there.

If you were to follow the typical scenario that is demonstrated in the Entity Data Modeler Hands on Lab, this screencast or this Channel 9 video, you see that you can create an entity set by merely pointing at a database. An entity is generated for each table in the database with a one to one relationship. This isn't really the optimal scenario for entities, but it's a great place to get started.

Even if you haven't installed any of the CTPs, you can look at the various XML files from the October Samples to see what these files look like. I also suggest taking a look at the Next Generation Data Access article on MSDN online for some good visuals to help grok this stuff.

Three XML files are created by the EDM tool.

  1. An XML file that represents the schema of the entities. This has the extension of CSDL.
  2. An XML file representing the schema of the database that you began with. This has an SSDL extension.
  3. An XML file that shows the mapping between elements from the CSDL file and elements in the SSDL file. It's extension is MSL.

The SSDL file that shows the db schema contains:

An EntityContainer which represents the schema name in the db, such as "dbo". The entity container has elements that are EntitySets. These represent the tables in the database.

EntityTypes are siblings to the EntityContainer element and they represent each table and the schema of the table.

The CSDL that shows the entity schema is somewhat similar:

There is an EntityContainer which has EntitySets and AssociationSets as Children.

Then various EntityTypes flesh out the schemas of each of the EntitySets that live within the Entity Container.

Associations define the relationships between the various entity types.

So if you simply create an entity model directly from the db, the SSDL and CSDL files will look somewhat alike.

Lastly, there is the MSL file, which maps elements of the SSDL to the CSDL files.

Although there is a lot going on in the MSL file, the field mapping happens within EntityTypeMapping elements. Inside of there is a TableMappingFragment element. If you have an entity that is traversing various tables to get it's data, you would have one EntityTypeMapping for each relationship to a table. Each EntityTypeMapping for this entity will have the same TypeName parameter so that they can be stitched together to create the entire entity.

So if you have an entity such as SalesPerson which gets info from a contacts table, an address table and a HiringInfo table, you would have three separate EntityTypeMapping elements. The first would have a TableMappingFragment that points to the Contacts table. The second points to the Address table and the third to the HiringInfo table. Within each fragment, now we can map the entity's field to that particular table's field.

Note: You can create fields in your entity that don't have anything to map to directly in the db. I still have to learn how these are populated.

Then there's the magic :-)

So once these exist, ADO.NET Orcas does a lot of stuff in the background for us. It creates (extensible) classes from the entities that we can code against and when we request data it uses our mapping definitions to pull the correct data from the database. When we want to update, it again, uses the mapping definitions to decide what goes where (and does it very efficiently as you can witness with something like the SQL Server Query profiler). All of this happens in the background, while all we need to interact with is our nicely structured entities.

Saturday, January 20, 2007 11:48:35 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Friday, January 19, 2007

If you have read the phrase "ADO.NET Orcas" then you have probably seen the phrase "impedance mismatch" trailing right behind it. Do you even know what it means? I don't even think the phrase makes sense! Read more...

[A DevLife post]

Friday, January 19, 2007 5:41:33 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Wednesday, January 17, 2007
Wednesday, January 17, 2007 4:42:32 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Cingular still doesn't offer service in Vermont, so that means no iPhones.

According to this article, Vermont isn't the only state that is ignored by Cingular (AT&T). Other states which do not get Cingular service (or don't in large portions of the state) are:

Alaska, Colorado, the Dakotas, Idaho, Iowa, Kansas, Maine, Minnesota, Montana, Nebraska, Nevada, New Hampshire, New Mexico, upstate New York, Oregon, Utah and Wyoming.

I have always thought of the lack of Cingluar in Vermont as a temporary problem.  Luckily we have Verizon Wireless(who is selling off their he wired service in vermont) and have access to lots of other cool phones. We also have Unicel here, which is more regional. I moved over to Verizon a few years ago because I was travelling so much.

Wednesday, January 17, 2007 3:22:58 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 

Note: the offer has been extended to Feb 1st

Sure wish I had known about this when we had our meeting last night!

ReSharper personal license fior Individual Developers is $99 through Jan 11th.

Thanks Laura and Dave.

Wednesday, January 17, 2007 3:04:23 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Tuesday, January 16, 2007

I have been wondering this lately after talking to yet another 50+ person who is having a hard time finding a programming job... read more

[A DevLife post]

Tuesday, January 16, 2007 1:51:19 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Monday, January 15, 2007

Wednesday's Vermont Software Developer Alliance meeting features a panel discussion with representatives of Vermont colleges and universities.  Learn what they're doing to prepare students for software related jobs, and what they're doing now to help employers connect with young talent.

Wednesday Jan 17th

12pm - 2pm

Courtyard Marriott in Williston VT

www.vtsda.org for more info

Monday, January 15, 2007 10:30:00 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Why oh why did I wait so long to set up source control to use for myself? It was so easy to set up and makes perfect sense to use even in a non-team environment. Read more...

{A DevLife Post]

Monday, January 15, 2007 9:15:30 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 
 Saturday, January 13, 2007

Listening to Wait Wait Don't Tell Me, I got a good laugh this morning. The quote of "I'll order 4000 lattes to go please" was the clue and the question was what was being launched that this was the first crank call from? Of course we know it was Steve Jobs on the new iPhone which was front page headline news everywhere. The contestant said "oh, that new ummm... Microsoft, ummmm..." to the ooohs and boos of the audience. Kinda funny. :-)

Saturday, January 13, 2007 11:54:13 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 
 Friday, January 12, 2007

What's in the Jan CTP for people looking for ADO.NET Orcas goo? It's basically the same as the October bits except the documentation is there. I actually sat here going back and forth between three VPCs this morning, comparing the August, October and January CTPs, just to be sure. Here's what I found...

[A DevLife post]

Friday, January 12, 2007 2:42:42 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Tuesday, January 09, 2007

I hadn't, so when I needed a calendar I could put info onto in a web app (like the one on your wall), it took me a while to realize that all I needed was right at my fingertips. Read more ...

[A DevLife post]

Tuesday, January 09, 2007 10:11:47 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Egad - not snakes on a plane, but scorpions on a plane....

Tuesday, January 09, 2007 6:03:22 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

The "Ready for a new day" Launch 2007 Event for Vista, Office 2007 & Exchange 2007 is starting this month.

I'm sure many people will be interested in the fact that attendees will receive free copies of Office Pro 2007 and  Groove 2007.

Events "near" Vermont are

  • Albany Feb 15th
  • Nashua  Feb 15th
  • Boston Jan 24th

More info here: http://www.microsoft.com/business/uslaunchevent2007

 

Tuesday, January 09, 2007 4:46:44 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Last night's VTdotNET meeting was a blast. We did something that we have never done before. Rather than have one person do a session on a .NET topic, 6 members from the user group demo'd tools that they love to use when they are programming. Some were Visual Studio Add-Ins, such as ReSharper. Others were apps help create .NET code such as CodeSmith and Code Charge Studio. Other's were tools that work hand in hand with Visual Studio, such as XMLSpy. And then there were a whole bunch that were not really related to coding: SnagIt, pureText, TimeSnapper, NotePad++, ExamDiff, Toad Free Modeller and a bunch of Windows XP PowerToys.

I have the links to all of the tools demo'd in a power point on the Past Meetings page under the Jan 8th meeting.

The tools also ranged from free to shareware to commercial.

We were happy to have licenses to ReSharper and Altova's DiffDog to raffle off at the end of the meeting.

It was a lot of fun because so many of these tools were useful to everyone and many people had never seen most of them before. Amusing to me was how each person told me "oh, I won't need all of the time allotted to me" and everyone of them got buzzed in the middle of a sentence and was shocked that they had already used up their allotted time. Dave Burke wrote about that on his blog. :-) I used a little shareware stopwatch program called XNote StopWatch to keep track of the time and tied an obnoxious wav file to the "time's up" event. Then I was able to pay attention to the demos and not worry about the time. Nobody got the hook of course. This just helped us know when it was time to wrap up.

A huge thanks goes to Altova who sponsored the meeting in a big way with money for pizza & soda plus VTdotNET.aspx">gobs of swag.

 

Tuesday, January 09, 2007 2:53:14 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Monday, January 08, 2007

Altova is sponsoring tonight's VTdotNET meeting in a big way.

They are paying for the pizza and soda, plus they sent a big box o'swag. Check this out. The bags are for the winners of the 5 DiffDog licenses. They ahve in them a hat and a 128 MB thumbdrive with all of the Altova evals on them.

In addition they sent piles of hats and t-shirts (really nice colors!) , pens and lit about their products. This was really generous of them and will make the meeting like Christmas all over again.

Monday, January 08, 2007 3:43:23 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

When it's 35 degrees and raining slush, that's PJ Day around here. Almost every day, I start the day by walking the dogs. But today was so nasty, I just came downstairs in my pj's and let the dogs out to pee and "do the doo" and then right back in.

I think people assume that since I work at home, I do this quite often, but it is a true rarity - maybe twice a year!

I just realized it's nearly noon and here I am still in my pjs. Just need to remember to change into street clothes before I head to the VTdotNET meeting tonight.

 

Monday, January 08, 2007 11:42:17 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 

Resource Systems Group, Inc is an employee-owned consulting firm with offices in Vermont and Chicago, IL. We are seeking talented, motivated individuals to join our White River Junction office.  From this location we serve a committed base of regional and national clients. The following position is available:

 

Associate: Software Development

 

This position involves working in the Technology Group, supporting the firm’s software and analysis needs. The primary focus will be developing fully dynamic web-based solutions from interface to business logic to back end database design. We are looking for someone who is organized, resourceful, and analytical to join our team.

 

·          Bachelor’s or Masters degree with emphasis in computer science or a related field

·          Practical experience in the following areas:

o         Web Development in ASP.NET or Java

o         Database Design and Query Development and Analysis in SQL

o         Strong Design and Development Skills

 

Please email resume and cover letter to employment@rsginc.com      

 

We are an equal-opportunity employer.

 

http://www.rsginc.com/employment/

Monday, January 08, 2007 10:41:29 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Saturday, January 06, 2007

We have a fun session coming up on Monday.

 

Six VTdotNET members will show off some of their favorite productivity tools. Some of these tools are free, some are shareware and some are commercial. The demos will be fast and furious. Here’s the skinny:

 

·         Mike Soulia: XMLSpy (xpath features)   

·         Chris DeGuise: ReSharper

·         Dave Burke: CodeSmith  

·         Rob Hale: Beyond Compare

·         Bret Griswold: Code Charge Studio

·         Julie Lerman: SnagIt, PureText, TimeSnapper & 2 PowerToys 

·         Bob LoCicero: NotePad++, ExamDiff, SyncToy, XmlNotepad & Toad Free Modeller

 

PIZZA & SODA will be sponsored by ALTOVA, makers of XMLSpy.

Please rsvp for a pizza count! rsvp@vtdotnet.org

 

Big Thanks to ALTOVA!

We got a big box of swag from Altova including:

 5 license of DiffDog as raffles for the meeting. It should be fun!

DiffDog is an XML-aware diff/merge tool for file and directory differencing.

 

Date: Monday, Jan 8th

Time: 6:00 – 8:30

Location: Vermont Tech, Williston Campus

 

More Info at www.vtdotnet.org

Saturday, January 06, 2007 3:30:15 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Are these really pictures of Vermont in January? Yes. I just took them in my front yard. Bah. I think ALL of the snow for planet earth is in Colorado right now.

 

Saturday, January 06, 2007 3:25:46 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  |