Tuesday, April 15, 2008

Jeremy Miller and David Laribee explain ALT.NET on DotNETRocks.

Tuesday, April 15, 2008 3:23:38 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Today: Sunny, with a high near 56. West wind between 7 and 10 mph.

Wednesday: Sunny, with a high near 66. South wind between 5 and 15 mph.

Thursday: Sunny, with a high near 72. South wind between 5 and 13 mph.

Friday: Sunny, with a high near 70.

Saturday: Sunny, with a high near 69.

Tuesday, April 15, 2008 9:03:33 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Director, IT Business Systems Team - Information Technology
Reports to:            Vice President for Information Technology
Location:               Brattleboro, VT 
 
 
General Description: 
The senior member of the IT Business Systems Team, the Director, IT Business
Systems Team is responsible for working with the CIO to set the vision for the
Application Development for the organizations Information Technology. This individual
has demonstrated the ability to analyze and implement business solution using various
application development technologies.
 
Primary Responsibilities:
•         Working with CIO and IT Senior Management team to lead short term and long
term planning for the IT organization
•         Interview, gather, analyze, and produce business requirements based upon
business need within the organization
•         Leads efforts with IT and Business Management to determine best solution
•         Leads IT team members to design, analyze, code, test, implement and
document solutions for business problems
•         Ability to transition IT organization to new application development technologies
•        Maintains and enhances IT solutions for business areas
•         Work with outside vendors to provide support for the organizations Application environment
•         Recruit, lead, coach, and mentor members of the Business System team
•         Perform Project Management functions for the Application Development projects
•         Stay current with major trends and information technology approaches and tools
•         Make recommendation to business area to improve business processes
 
Required Qualifications:
•         BA in related field or equivalent experience.
•         At least 8 – 9 years experience in a similar position.
•         Proven success designing and/or selecting, and implementing application
solutions in a global environment
•         Ability to collaborate with heads of program units to understand their challenges
and implement technology solutions 
•         Knowledge and experience with Microsoft SQL, Business Objects (Crystal
Reports), Coldfusion, and Microsoft  Access.
•         Microsoft .Net experience or demonstrated proficiency in object oriented
languages
•         Understanding and proficiency in building web based applications
•         Ability to demonstrate strong skills in information needs analysis, requirements
creation, development and testing in a Windows environment.
•         Experience working with central corporate MIS systems.
•         Strong organizational skills and excellent attention to detail.
•         Strong interpersonal skills with excellent patience, clarity of communications
and commitment to team approaches, strong leadership and negotiation skills.
 
Desired Qualifications:
•         Relevant experience working in a not-for-profit, educational or international
organization.
•         Knowledge and experience with Windows operating systems and Windows
based programming languages
•         Experience supporting Datatel.
 
Skills:
•         Demonstrated Leadership capability (ability to motivate others to achieve
organization’s goals)
•         Strong Organizational skills and strong goal orientation
•         Strong Analytical Thinking (ability to identify and respond to complex situations)
•         Good Oral Communication (ability to convey and absorb information through
spoken words)
•         Good Written Communication (ability to write clearly and to understand written communications)
•         Strong Teamwork capability (capability to work with others in order to achieve a
common goal)

Contact:
Benjamin J. Scribner
Executive Recruiter
Gallagher Flynn & Company, LLP
(802) 651-7278
bscribner@gfc.com

 

Tuesday, April 15, 2008 6:48:13 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Monday, April 14, 2008

In April 2008 issue of MSDN Magazine (April is not online yet, but in your mailbox), I wrote an {End Bracket} essay about Surface Computing, Microsoft's "Vision Quests" and CSI (yes, the T.V. show). A few weeks after the essay was finalized and headed to the printer, I turned on CSI and wouldncha know it, there was a Surface computer!

Update: Here's a link to the essay: The Magic of Software.

Monday, April 14, 2008 12:31:27 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 
 Saturday, April 12, 2008

Between the many conversations I had with folks over the days about thinking, about Presentation Zen, about languages and about ALT.NET, I leave Sweden with my head filled with new ideas which I'm very excited about. Read more here...

[A DevLife Post]

Saturday, April 12, 2008 4:00:45 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Thursday, April 10, 2008

These things tend to happen when I'm travelling and don't check my feeds for an entire day. I can't say this is a huge surprise since it's very sensible. I'm happy to finally have some tangible news from the team. I'll be happy to share this news in my Entity Framework workshop tomorrow! During the conference I actually had someone suggest that they still didn't believe that EF wouldn't go the way of Object Spaces. Sheesh!

Entity Framework & ADO.NET Data Services to Ship with VS 2008 SP1 & .NET 3.5 SP1

Wednesday, April 09, 2008, 7:02:00 PM | dpblogsGo to full article

It's settled! The Entity Framework (and the Entity Designer) along with ADO.NET Data Services will RTM as part of the Visual Studio 2008 and .NET 3.5 SP1 releases!

Unfortunately, we don't have official release dates at this point, but stay tuned. You'll also want to keep an eye out for the upcoming SP1 Beta 1, which will be your next chance to check out updated bits for both of these products.

Elisa Flasko
Program Manager, Data Programmability

Thursday, April 10, 2008 6:15:00 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 

Just had to share this funny comment that came through my other blog. Not as a comment on a post but from the contact form.

"hi dear kese hoooooo i learn C# but i can't understand what should i do please tell me "

Thursday, April 10, 2008 11:31:29 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 

Doug Seven is one of the track chairs for the track that I'm speaking in at TechEd Developer. I was talking to him the other day about finding the line between the "Presentation Zen" type of presentation (where an extreme example would be a slide with nothing more than a smiley face on it) and a presentation that will be useful to attendees (or other downloaders) after the fact that has actual content on it as the presenter is no longer there to fill in the blanks.

He gave me a great suggestion - prepare two decks. take my typical "stand-alone" decks which is very dense, the make a copy of it and strip the copy down. Way down.

So many of the bullet points are things I'm talking about. Why should the attendees need to be destracted by so many details on the deck when I'm talking about them anyway?

But, and here's what's great about this idea - use the dense deck to share with attendees after the fact. All of the details that I talked about are now there right on the deck for their benefit.

I love this idea so much that I did it to my decks for the DevSummit. I have done one of my sessions already using the stripped down deck, then gave the stand-alone version of the deck to the track chair to put on the website.

I'm doing a silverlight talk this afternoon and cut the deck in half and on the remaining slides, removed a lot of content and replaced some of it with images instead. No smiley faces though.

I get to have my cake and eat it to and I think it's a win-win for the attendees during and after the live session.

Thursday, April 10, 2008 6:34:14 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [3]  | 
 Wednesday, April 09, 2008

I'm not a DBA. I've probably said that about 5000 times. So I am often pretty much out of the loop in the world of SQL Server. So, I really embarrassed myself today asking Niels Berglund if he was a SQL Server guy. I now realize that it would be like asking Kimberly Tripp if she was a SQL Server gal.

And because I am also on a mission to make sure that DBAs are at least aware that the EDM and Entity Framework supports stored procedures, I continued to dig my hole deeper by asking him if he knew that. Turns out he did a full day workshop on LINQ to SQL and Entity Framework at DevWeek in the U.K. I didn't know about this when I wrote a blog post about DevWeek.

So I will now be subscribing to Niels' blog along with Bob B's, since I'm always trying to better understand the DBA perspective on Entity Framework.

Wednesday, April 09, 2008 9:00:56 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I attended Christian Weyer's Astoria sesson this morning at the DevSummit , one of the few not in Swedish that I could understand! In fact, I was surprised to walk into Tess Ferrandez's session and hear her speaking fluent Swedish. it turns out she lived in Sweden for a time.

Christian shared a brilliant quote in his session which was how to explain REST in one sentence. He got it from David Meggison's "REST - The Quick Pitch" blog post.

With REST, every piece of information has its own URL.

I have had to try to explain REST in my own Astoria talks and I am going to adopt this brilliant quote. Thank Christian!

We'll see if Christian survives his stay in Stockholm as he had quite a lot of fun (and it was hilarious I have to say) talking about the World Cup Soccer 2006. Hey, they only beat Sweden by 2 goals!  My only memory of the World Cup was all of the TechEd attendees swarmed swarmed around the many screens at the conference displaying the matches.

Wednesday, April 09, 2008 8:51:32 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

The snacks at the DevSummit in Stockhom speak loudly of the healthy living of the Swedes.

Here is fruit and some yummy mango banana smoothies!

I remember the year at TechEd just after Steve Ballmer slimmed down and got healthy. The afternoon snacsk of candy bars, chips and hostess cupcakes was replaced with healthier fare - baked potato chips, celery and carrot sticks, stuff like that. From one extreme to another.

The above is MUCH more my speed, though I was also quite happy to find bite sized toblerone bars at one of the vendor booths!

Wednesday, April 09, 2008 8:39:08 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 
 Monday, April 07, 2008

Spring has arrived in Vermont, but I'm leaving.

This afternoon I start my overnight journey to Stockholm where I will be participating in the Developer Summit 08 and have been working with Patrik Lowendahl and Mats Rydin who are coordinating. Patrik's company, Cornerstone is instrumental in this conference and everyone there has been wonderful in helping get me prepared.

I'm really looking forward to it. Stockholm is an incredibily beautiful city with lots of history and I've never been there before. Plus there's a great line up of speakers some who are friends that I always look forward to hanging out with and others who I am looking forward to finally meeting! And David Chappell, who is coming by way of Eilat Israel (a 2 day trip) from TechEd, is giving the keynote!

When I have asked anyone if they want me to bring anything back for them, they all have said "oh, yes, a beautiful Swede!" Well at least my single friends have made that request.

Swedish is not among the languages I ahve ever studied so I was happy to find some really useful lessons on Survival Phrases.com. I downloaded a bunch to my iPod to listen to again if I need them. They don't just say how to say a phrase but when it's appropriate as well as providing other background.

I still needed to see what these words look like so a simple list like Basic Swedish Phrases provides good backup. This won't enable me to give my presentatino in Swedish, but at least I can be polite when I have to find the toaletten.

I'll be doing an Advanced EF Session, a talk on Silverlight Annotation and on Friday a full day workshop on Entity Framework including some Hands on Labs. It should be a blast.

And even with my dreadful lschedule right now, I'd be a fool not to at least poke around Stockholm so I am flying home on Sunday (6am flight -uggh) and will have Saturday off to be a tourist.

Monday, April 07, 2008 10:02:58 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 
 Saturday, April 05, 2008

In my previous post, I managed to update a simple model from an existing database. But then I started trying to do things like build my project and ran into so many problem trying to get my simple model to interact with the AdventureWorks database that I finally gave up.

I actually wrote my thoughts on this in a question on the MSDN forum for Entity Framework, with the point of the question being "is there a real example of this? Or is it just a concept that looks good on paper?"

I care a lot about this becuase I have been sharing this concept (which does make sense to me) that the EDMs loose coupling to the database means that you could map the CSDL to different databases.

But the AdventureWorks database just had too many constraints - such as non-nullable fields that I didn't have in my model and I finally gave up because it was forcing me to modify the CSDL and I would also have to add in some business logic to deal with some of these non-nullable fields. And even if I did that, who knows what other problems would pop up?

Update after I gave myself a little time while eating lunch to think about this some more, I crossed out "finally gave up" becasue it's basically not in my nature. I decided to go about this in a different direction with just ONE entity and succeeded by removing the unused non-nullable fields from the SSDL and mapped the entity to Insert/Update/Delete sprocs. All I have to say to myself at this point is "well, duh!" The insert stored proc provides the missing non-nullable fields and the update stored proc updates the modifieddate for me. SO problem solved in a not very realistic example, but I plan to build it up thought not today - I've already invested too much time. There's a lot of flexilibity in the model, but we all still have a lot of learning to do for our various use cases.

You can read my more complete thoughts on this in the forum post and if you want to follow the conversation you can sign up to get alerts on this thread from the MSDN forums.

Oh, and if you've never signed up for alerts before, you might want to read this blog post I wrote last summer: A few MSDN Forums tips (which I learned the hard way - as usual).

Saturday, April 05, 2008 12:47:18 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

When you use the UpdateModel feature of the Entity Framework design tools, the process relies on matching up existing entity names to table names, more specifically name of objects in the CSDL with names of objects in the database.

IF you have selected objects to add and nothing with that name already exists, it will add a new entity in the model, otherwise, it will use the existing entity.

There are changes coming to how this works detailed in this blog post by Noam Ben-Ami.

But I got bit by something that I overlooked which took hours to pinpoint the cause of the problem, so I wanted to share it.

I had created a model from scratch that was a simple, generic commerce app (see image below). I created entities for Customer, Order, LineItem, Address and Product with some properties, entity keys and associations.

Then I linked it up to  a database using UpdateModel to create the SSDL for me but nothing happened.

It took a lot of experimenting before I realized that the problem was that I was trying to add in a CustomerAddress table but I had an association named CustomerAddress. If that had been an entity, it wouldn't have posed a problem. But the wizard did not know how to handle the fact that it was an association and just completely gave up the ghost.

The only problem I see here is that some indication of the conflict would have helped me figure out what was wrong a little sooner, though I don't expect the wizard to overcome the conflict on its own. I did make a note of this in the forums. However, I am putting the info here for posterity in case it's too late to change the wizard for RTM and somebody else gets stuck on the same problem.

Saturday, April 05, 2008 9:28:29 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Friday, April 04, 2008

Here's the story of where the new movie The Forbidden Kingdom comes from  - bedtime stories told by a man who lives nearby in Morrisville, VT to his son.

I just watched the trailer online and it looks awesome. I love the fanastical Jet Li kung fu style movies including of course, the Kill Bill series. Oddly, I can't bare to watch violent films but love this genre.

Friday, April 04, 2008 4:26:31 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Over the next few months I'll be presenting at 4 conferences in Stockholm, Orlando, Toronto then again Orlando. I'll be doing talks on Entity Framework, Astoria, Silverlight and Data Access in general. Details and links are here...

[A New DevLife Post]

 

Friday, April 04, 2008 3:05:21 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I've written a set of Entity Framework (and one which is more general for LINQ to Entities and LINQ to SQL) tutorials that are on DataDeveloper.NET Tutorials page.

Most of these are beginner basics. The "101 Tutorials" are designed to make sure new programmers don't get completely lost. So if you need the extra handholding, it's there, if not just skim over it to get to the juicy bits.

The Tutorials so far are:

101 Tutorial:Creating an ADO.NET Entity Framework Entity Data Model

101 Tutorial: Use an Entity Framework Entity as a WinForms Data Source

Many to Many Relationships in the Entity Data Model

Using Stored Procedures for Insert, Update & Delete in an Entity Data Model

Naming conventions in an Entity Data Model: Cleaning up the wizard-generated EDM

Adding items to a LINQ Query of anonymous types - after the fact

101 Tutorial: ASP.NET DataBinding with the Entity Framework

101 Tutorials: WPF Databinding with Entity Framework

Friday, April 04, 2008 2:41:24 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Thursday, April 03, 2008

Debug breakpoints stopped working in my Silverlight 2.0 project.

There's one very good reason why debugging won't work which Karsten blogs about in his post "What To Do When Breakpoints Disappear and Debugging Dies In Silverlight 2".

But that wasn't my problem. I had SL debugging on.

My project was from the template which creates a Web App to host and I finally realized that somehow the web app and the silverlight app were no longer linked. WHen I recreated the link debugging was back. Not that I need to debug becuase like you, my code is perfect the first time around! ;-)

Thursday, April 03, 2008 7:52:40 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Wednesday, April 02, 2008

I'm in SHOCK. I just learned about this option that I've always wanted in poweropint.

When I present I always print out a set of 3 per page handouts then write notes to myself about demos in the area to the right.

I often lose or throw away my notes and kick myself next time I want to do the presentation.

I came across Tip #2448 - Creating Custom PowerPoint Handouts in MS Word  on the web when I finally entered the right combination of words in google and realized that the functino exists RIGHT IN Powerpoint. In Powerpoint 2007 it's in the Publish menu.

Wednesday, April 02, 2008 4:22:39 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

The return type of a LINQ query is an IQueryable, even a LINQ to Entities query.

Here is a screenshot of a LINQ to Entities query at design time (code is NOT being debugged).

But when the query has been processed, it's no longer an IQueryable, but an ObjectQuery.

What's going on here?

At design time, the compiler recognizes that it's a LINQ query and therefore assumes the return will be an IQueryable.

However LINQ to Entities queries are sent to ObjectServices which return an ObjectQuery, so after it's processed, it is actually an ObjectQuery.

So, since it's an ObjectQuery after all, wouldn't it be nice to leverage ObjectQuery features like MergeOptions on a LINQ to Entities query? You can!

But how? At design time, the query is an IQueryable, not an ObjectQuery and doesn't have MergeOptions.

No worries. ObjectQuery implements IQueryable.

So you can cast the LINQ to Entities query to an ObjectQuery, set the MergeOption and, as Jeffrey Palermo would say, party on the LINQ to Entities query (though he may not be likely to say that in the context of Entity Framework ;-)).

    Using context As New AdventureWorksLTEntities
      Dim query = From c In context.Customer Where c.LastName.StartsWith("S")
      Dim objquery = CType(query, ObjectQuery(Of Customer))
      objquery.MergeOption = MergeOption.OverwriteChanges
      Dim cust = query.ToList.First
      Console.WriteLine(cust.LastName)
      cust.LastName = cust.LastName.Trim & "___XYZ"
      cust = query.ToList.First
      Console.WriteLine(cust.LastName)
    End Using

Notice that I'm still performing the operations against the  LINQ query after I cast it to the ObjectQuery.

I could also have done something like

Dim custs = objquery.Execute(MergeOption.OverwriteChanges)

Thanks to Danny for reminding me about the casting! The blog post is intended to lock it into my brain.

Wednesday, April 02, 2008 3:44:46 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  |