Tuesday, October 14, 2008

While I'm away at conferences, that is, while I'm thousands of miles away... my husband has torn apart our house to beef up the poor insulation and put new shingles on the roof. He sent me pictures and it looks like a hurricane blew through!

Roof 2008 002 

The roof, opened like a can of sardines with all of the old stuff pulled out.

Roof 2008 006

A new layer of some shiny stuff.

Roof 2008 007

More layers of some other stuff. (If these were computer parts, I might be able to identify them.)

Roof 2008 010

The bigger picture of what he's up to and yes, he has promised me that he's tied up with ropes (he used to be a rock climber) so that I won't have to come home to visit him in the hospital! One of the reasons he's doing this while I'm away is that I will be constantly freaked out to see him up on that very high and very steep roof and I probably wouldn't give him a moment's peace because of it.

Tuesday, October 14, 2008 1:11:22 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [3]  | 
 Monday, October 13, 2008

There are so many women attending DevReach this year that we are going to have an impromptu get together at lunch time tomorrow.

I'm very excited about this and will certainly report back!

Monday, October 13, 2008 9:08:42 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Sunday, October 12, 2008

I loved reading Beth Granter's blog post (Girl Geeks get their knickers in a twist about cleavage) about the London Girl Geek Dinner that I wrote about here.

Beth is one of the women who cheered the concept of eliminating all lines when it comes to how female we can be within the world of I.T.

Her blog post gives a good flavor and perspective of the discussion earlier this week.

I'll be keeping an eye out for her proposed "Girl Geeks for Cleavage fan club". :-)

Beth also write's about Elizabeth's presentation and one thing that she points out was something I was also impressed with - how Elizabeth responded to a very critical comment.

Sunday, October 12, 2008 2:57:27 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Today Michael Foord and his wife Delia came into London to do the tourist thing with me.

We wandered over to Buckingham Palace and I took the requisite photo of one of the guards.

london day 2 004 

I loved these fat pelicans (?) in the park near the palace.

pelicans

After lunch we headed over to the Tate Modern for a special treat but first we got stuck because a film crew was in the area filming a scene for a new Sherlock Holmes movie (we were told it was by Guy Ritchie).

london day 2 008

Then a quick peak around the corner revealed St. Paul's Basilica.

london day 2 009

To get to the Tate, we had to cross the Millennium Bridge - a great place to stop and take a few pictures.

Here are Michael and Delia with the Tate behind them.

london day 2 010 

and Delia and me with the sun in our eyes and St. Paul's behind.

london day 2 014

The special treat at the Tate was a Mark Rothko exhibit! No pictures, though. I love Rothko. In fact I have Rothko paintings as the background on my desktop and laptop computers. So when I realized that this exhibit was happening, it went to the top of my to-do list.

At the end of the day, we met up with Michael's co-worker Jonathan (another Iron Python programmer) , his wife, and some friends of theirs who were visiting from Denmark (another geek - Java & C# programmer) for Fish & Chip at a great little restaurant called the Gilded Hind. What a treat!

london day 2 019

Fish & Chips all around.

london day 2 016 

Michael constructed (and actually ate) a chip sandwich (update: it's called a "chip buttie") from bread & butter and chips. Eeew.

chip sandwich 

On to Sofia!

Sunday, October 12, 2008 8:07:32 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [7]  | 
 Saturday, October 11, 2008

At the Girl Geek Dinner on Thursday night I was surprised to see Peter DeBetta there! He is in London working on a contract and had been told about the GGD by our mutual friend, Rachel Hawley from Red Gate.

I had plans to spend the day with Dave Sussman the next day (now yesterday) and Peter and Dave actually wrote a book together years ago and are pals. But Peter didn't know that Dave was going to make the 1 1/2 hour journey into town.

london 006Dave and I spent the day doing some fun touristy things. Walking through Hyde Park. Seeing the Albert memorial and the Royal Albert Hall.

 london 001

 

We wandered the halls of the Victoria and Albert museum, then over to Big Ben and Trafalgar Square.

london 010 london 012

At the end of the day we went to Covent Gardens and met up with Peter and two guys from Wintellect who he's working with, Steve and Sergio. Dinner was at a very fun Belgian restaurant called Belgo Centraal. And of course it was very geeky talk about .NET, Silverlight, WCF, EF and more. (even VB6). This was after I got the usual ribbing about being a VB programmer. ;-)

london 014 
Sergio, Peter, Dave and Steve.

I'm a whimpy beer drinker so I had a little half pint of Belgian Wheat beer. Here's my beer surrounded by the real beer drinker's glasses!

london 013

We all had classic Belgian dinners of steamed mussels and frites. Followed by the yummiest chocolate cheesecake (more like a mousse in fact) that I can ever recall eating.

london 015

Today will be more tourism. I discovered that there's a Mark Rothko exhibit at the Tate so I'm going to see that with Michael Foord (co-author of Iron Python in Action) and his wife, Delia. We may even take a ride on the London Eye for a spectacular view of the city.

london 011

Saturday, October 11, 2008 5:32:57 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

roughcutsI have received an email from O'Reilly to let me know that the Rough Cuts version of my book is now online.

 

Currently you will find a handful of the chapters from the early part of the book. These are introductory chapters about the model, querying, stored procs and using EF for databinding in WinForms and WPF apps.

While all of the book chapters are already written, I am cleaning them up. As each chapter gets to that next stage (cleaned up) they will be pushed up to the Rough Cuts. I may not necessarily do them in order so you may see some of the advanced chapters before the rest of the intro chapters are up there.

Links and more info are here:  Entity Framework Book Status

Saturday, October 11, 2008 4:51:15 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Friday, October 10, 2008

Last night's London GGD event was wild, fun and eye-opening. There were 150 people signed up. I'm not sure how many were in the room.

The event began with a presentation by Elizabeth Kernan about research that she has been doing on gender in the workplace and it's impact on innovation. Their study was broad sweeping in terms of subjects - they worked with teams from over 100 companies in a variety of industries ranging from Volvo to Symantec. The teams were of various sizes up to 30 people on a team and ranged from all women to all men with many ratios in between. So far they have done the quantitative portion of the study which will help them determine where to go with the next stage which will be qualitative through observation. Elizabeth defined for us factors that lead to innovation and showed us statistics about looking for those factors on the different teams. The study found that the teams with the 50/50 balance of men & women were the ones who most prominently displayed the facets that lead to innovation. They didn't spike off the charts, but they were consistently a little higher in each category that was measured. It was really interesting and led to a lot of discussion. She also talked about stereotypes and used as a great example how Nokia made their cell phones pink as a "feature" for women.

After our dinner break (pizza, just like at our user group meetings!) it was time for me to talk about "Defining the -ette in Geekette". I talked a little about my own history and how in the 80's I learned that I needed to cover up my girliness in order to get my geekiness noticed in our industry. But then in the last 5 or 6 years (for me starting with Marcie Jones' DataGridGirl.com website) I realized it was okay to be a girl again (although now that I'm older, the definition is a little different for me) thanks to observing the younger women in our industry who have not been made to feel they need to cover up who they are.

Then I steered from that into ... so if we *do* want to get noticed, what feminine qualities make us stand out in our industry? I showed a cleavage shot that is from someone's conference speaker photo, a beautiful and very smart young woman. It pains me to hear the guys sniggering over that photo. Then I showed a photo of matronly, maternal moi accepting a volunteer of the year award from INETA. This juxtaposition took over much of the rest of the night. We had a spirited , passionate and engaging discussion/debate about where the lines are, if there should be lines and who has the right to determine where they should be drawn. At the same time that we celebrate being able to let our feminine qualities show, is a free-for-all needed/appropriate/professional?  Believe me there were definitely women who thought that this speaker photo was very liberating and that others in the room who were critical of it were being judgmental.

We also spent some time talking about taking advantage of being a minority (and women certainly aren't the most minor monority here) in our industry to open a door or two and the importance of following that up with doing a bang-up job. This too led to debate. The last bit of this talk was about the all important "Street Cred".

It was a rousing evening and not quite what I had planned but I was thrilled to turn it loose when I saw the effect that some of the points I was making was having on the women in the room.

I don't know if I've ever been in a room with 100+  brainy, professional, powerful women talking about our boobs. It was quite amazing.

Friday, October 10, 2008 5:10:39 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 
 Thursday, October 09, 2008

Last night I participated in the 3rd Amsterdam Girl Geek Dinner and I'm so happy I was able to! The dinner was at a very cool bar called the Flexbar in Amsterdam. About 30 or 35 people showed up. The GGD is run by three women. One of them is Melanie Rieback who is actually an ex-pat American and a Comp Sci professor at a local university. I mean Dr. Melanie Rieback. Melanie just defended her doctorate based on research she has been doing with RFID security. It's really inspiring to be around people like her. She's quite outspoken and had attended a GGD elsewhere and decided to start one in Amsterdam. Everyone was very welcoming. There was a great variety of tech represented there. I was happy to see Danielle Loppe who works on the Expression team at Microsoft's Amsterdam office. I had chatted with Danielle earlier that week at the SDN Conference. There was a pair of women who are well known researchers of the Semantic Web. They were happy to be in a room where they didn't have to explain what that meant. There were a lot of nationalities represented as well including a few other American ex-pats, a gal from New Zealand and others.

I had a lot of fun doing this talk which was aimed at inspiring the women to take advantage of the many learning opportunities out there to enhance their knowledge and/or their career. Melanie offered a lot of tips for getting to conferences.We talked about participating in forums and  a variety of things. Melanie also encouraged me to talk a little bit about the Entity Framework which was interesting to do since I had to do it in a generic enough way that it could be understood by folks who are not necessarily developers or data geeks.

We stayed pretty late. I think I got back to my hotel after midnight.

Then I hd to get up very early to head to London by train and that is where I am now (London, not train).

I just saw that tonight's London Girl Geek dinner (with room for 150) is sold out. It's coincidentally at Microsoft's office. I'll try to report back after the fact. I'll be speaking along with Dr. Elisabeth Kelan, a Sr Research Fellow at the Lehman Center for Women in Business at the London School of economics. How impressive is that?! 

I'm going to do some sightseeing for a few days (in between hiding in my hotel to work on my book edits) and then head to Sofia for DevReach on Sunday morning.

Dave Sussman is hoofing it (okay, taking the train) into London tomorrow and we're going to go wander around the V&A. Saturday is a play day with Python.NET guru Michael Foord and his wife, Delia. Looking forward to it!

Tata.

Thursday, October 09, 2008 10:19:14 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Saturday, October 04, 2008

I haven't been able to go out hiking to see the really phenomenal view but thankfully the view from my house isn't so bad either. I leave for Amsterdam this evening, so I'm putting these photos here to look at while I'm gone and make myself homesick. They are mostly the same picture over and over but some with clouds, some with sun, etc trying to get something that actually captures it.

leaves 003 leaves 004 leaves 005

leaves 006 leaves 010 leaves 007

leaves 009 leaves 008

Saturday, October 04, 2008 12:59:35 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [3]  | 
 Friday, October 03, 2008

How great is that session title?

I'm happy that I don't have a session scheduled at the same time that Alex and Paul are doing this talk during the SDN Conference in Amsterdam next week. If the session is as entertaining as the title, it will be quite a lot of fun to attend! (Of course, it is likely to be in Dutch so I might miss a few good parlays.) Paul's one of the reviewers of my book, so I expect him to be able to go pretty deep into EF's capabilities and provide a good challenge based on what he's learned.

Alex Thissen and Paul Gielens take will compete with two major innovations in the field of data access, namely: the new Entity Data Model - which is part of the ADO.NET Entity Framework - and linQ (Language Integrated Query) to SQL queries to integrate into the programming languages.  What are these technologies, how do they compare to each other, what role they play in Microsoft's Data Access Strategy and when to use what? Of course, there is only one winner!

Friday, October 03, 2008 5:09:28 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [3]  | 

Although I mentioned this in a blog post last month about the DevTeach early bird special pricing, I thought I would highlight this to see how quickly we could pack the room! :-) Not that the prospect of a full day of EF shouldn't be enticing enough. But I thought that it would be nice to reward like-minded data geeks.

I will be giving away a full VSTS2008 Team Suite MSDN Premium Subscription to attendees of the workshop. That's the one that's $10,000 new and I think about $3000 for a renewal.

Here's more info about the Entity Framework workshop which is on December 5th.

If Montreal doesn't work for you, don't forget that John Papa is doing the same (giving away an MSDN subscription) for his Silverlight class in Florida!  Day of Silverlight 2 and a Free MSDN Premium Subscription. Great minds think alike!

Friday, October 03, 2008 3:22:13 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

This cost me two very precious hours today, so I thought I would share.

In preparing my laptop for my upcoming trip, I needed to get the latest version of an app I wrote for a client in case I need to do any work for them while I'm away. The application uses the latest version of Crystal Reports which caused me a great deal of grief when I recently moved to it. (See my ASPAlliance article: Lessons Learned: Sorting out Crystal Reports 2008 Versioning, Service Packs and Deployment for details).

Today's time-sucker was not Crystal's fault but the fact that when I installed the earlier version of Crystal on to the laptop, I had done it from an external drive.

When I tried to install the newer version, it chugged along then said that it failed because it couldn't uninstall the previous version.

I attempted to do the uninstall myself from the Control Panel but that failed with this message:

""Error applying transforms. Verify that the specified transform paths are valid"

Some googling pointed out that if I copied the original install files to my hard drive and ran setup from there I could avoid the problem.

That didn't work.

Finally I discovered that within the registry (in Computer\HKey_CLASSES_ROOT\Installer\Products\) there was a folder that contained the Crystal install information. In there was a key called "Transforms" which pointed to F:\Extended\Package\1033.mst. F:\ must have been the path of the external drive when I originally installed the app.

I changed the path of that file to the folder that I had just copied onto my hard drive.

Then I was able to uninstall, not from the Control Panel, but form the setup.exe from that same set of installer files.

Hopefully I'll save somebody the hours and frustration I wasted myself. If you're really grateful, just send chocolate. :-)

Friday, October 03, 2008 2:07:00 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [4]  | 
 Thursday, October 02, 2008

finalcoverAs we begin the push of getting my book, Programming Entity Framework, towards production, it is still going to be a number of months before it is out in print. Currently, OReilly is targeting January 2009.

But why wait for paper (and the perfection of the final edits)?

We've decided to take my work in progress and make it available as a Rough Cut  title on OReilly.com and Safari.

The first set of chapters, which are introductory, will appear sometime in the next few days and I'll post the links as soon as I have them.

Thursday, October 02, 2008 2:04:35 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 
 Wednesday, October 01, 2008

London Girl Geek Dinners just celebrated their 3rd Anniversary. Since its inception, the idea has taken hold and there are now GGDs all over the world. Read more here!

 

[A New DevLife Post]

Wednesday, October 01, 2008 9:05:45 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Tuesday, September 30, 2008

The sun just came out so even though I'm trapped working, I ran out the door to snap some pictures. It's been warm so the leaves are turning  a little early. It's going to cool down so that will slow down the process a little.

These are all right from my front yard.

fall leaves and jorgina 003

fall leaves and jorgina 014

fall leaves and jorgina 009

That's our neighbor's cat, Jorgina, who likes to hunt in our field. :-)

fall leaves and jorgina 011

Lots of apples in the trees...

fall leaves and jorgina 010

...but mostly on the ground.

Tuesday, September 30, 2008 2:43:47 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 

I saw this thread  early this summer and have spent hours looking for it since. Since i just came across it, I thought I would make a blog bookmark to it.

Multiplicity of 0..1 and SQL eager loading problem

Here's what the thread is about. When you query an entity that has a parent, for example an OrderDetail, that query will go over to Order so that EF can build the related EntityKeys. This is because when OrderDetail is materialized, it will need to populate OrderDetail.OrderReference.EntityKey.

If you query Orders and you don't eager load the details, there is no reason to touch OrderDetails in the query.

But what if  you have a 1: 0..1 relationship between the "parent" and "child" instead of 1:*?

The child property is no longer an EntityCollection, but an EntityReference. Therefore the EntityKey for that EntityReference needs to be constructed. So even if you don't include the children in the query, the store query will still have to seek out the child record to create it's EntityKey if it does exist.

I have such a relationship in my model.

 

onetozeroorone

 

If I query only for Contacts:

From c In context.Contacts Where c.FirstName = "Robert"

You can see the left outer join in the SQL query that is used to build the CustomerReference.EntityKeys.

SELECT 
1 AS [C1], 
[Extent1].[ContactID] AS [ContactID], 
[Extent1].[FirstName] AS [FirstName], 
[Extent1].[LastName] AS [LastName], 
[Extent1].[Title] AS [Title], 
[Extent1].[AddDate] AS [AddDate], 
[Extent1].[ModifiedDate] AS [ModifiedDate], 
[Extent2].[ContactID] AS [ContactID1] 
FROM  [dbo].[Contact] AS [Extent1]
LEFT OUTER JOIN [dbo].[Customers] AS [Extent2] ON [Extent1].[ContactID] = [Extent2].[ContactID]
WHERE [Extent1].[FirstName] = 'Robert'

The problem for Sean was that he was querying Contact but Contact has 1:0..1 relationships with 52 other entities. So he was getting 52 outer join  and he reported that he was getting 2800 extra columns. Imagine his surprise! I'm only getting the extra ContactID column. I wonder if he meant 2800 extra pieces of data? Either way, it's something to be aware of and in the thread Diego Vega suggests a way to avoid this which is to query with NoTracking so that the relationship info (CustomerReference.EntityKEy) is not needed.

The same query with MergeOption set to NoTracking is:

SELECT 
[Extent1].[ContactID] AS [ContactID], 
[Extent1].[FirstName] AS [FirstName], 
[Extent1].[LastName] AS [LastName], 
[Extent1].[Title] AS [Title], 
[Extent1].[AddDate] AS [AddDate], 
[Extent1].[ModifiedDate] AS [ModifiedDate]
FROM [dbo].[Contact] AS [Extent1]
WHERE N'Robert' = [Extent1].[FirstName]

If you need to do tracking or relationships, then attach the entities after the fact.

Now if only I can remember what I was looking for in the forums before I happened upon this long lost thread!

Tuesday, September 30, 2008 8:11:52 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Monday, September 29, 2008

Oh happy day, I finally woke up and discovered that StringFormat was added to SP1.

Here's a quick rundown on Lester Lobo's WPF blog: WPF 3.5 SP1 feature: StringFormat

This solves a huge problem that i was having in my book where I wanted to format a date but didn't want to side track readers with how to write an IValueConverter or how to write partial classes (a topic that is not addressed until a later chapter). Phew!

Monday, September 29, 2008 5:19:44 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

This weekend I'm heading off for conferences in Europe (SDC Netherlands, DevReach in Sofia and some Girl Geek Dinners in between (Amsterdam & London)) but there is a notable event in San Francisco at the same time that I want to recommend if you are a last-minute (but can't quite make it to Europe) kind of a person.

IASA Connections in SF has a collection of some highly respected architects in our industry. David Chappell, Juval Lowy, Rocky Lhotka, Kathleen Dollard, Michele Leroux Bustamante and more.

Kathleen is a speaker and an IASA member and even she is gaga over the list of presenters.

She also divulged how to get a $400 discount if you are still wavering... do that by clicking this link. When you register on line scroll to the bottom and enter the discount code “SPEAKER”. The discount should appear on the next confirmation page so you can ensure you’ve got your discount before you commit.

Monday, September 29, 2008 3:00:45 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Sunday, September 28, 2008

Claudio Perrone is a developer who is passionate about Agile practices. We when we were both presenters at the Developer Summit in Stockholm this past spring. We had a lot of chats about presentation style and I've been very inspired by what he showed me and got me thinking about. I learned the hard way that people attending presentations to learn something very technically specific really need some bullet points. But when it comes to talking about concepts or theory or telling a story, Claudio uses the Presentation Zen like an art form.

He's doing a session at OREDev in Sweden in November. It looks like a great conference with Ted Neward, Jimmy Nilsson and Eric Evans on the speaker slate.

Claudio has done an awesome 1 minute video trailer as a teaser for his session "Agile tales of creative customer collaboration". Definitely check it out (with sound on).

Sunday, September 28, 2008 7:33:40 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 
 Friday, September 26, 2008

Roger Jennings wrote about this (well, ranted is probably a more appropriate word ;-) ) last week. I finally came across it today and see why he was so annoyed. I am revising all of my early book chapters to line up with the release version of Entity Framework. In doing so, I am going through all of the walk-throughs and one of them is to create a model from a database with about 15 tables. Some of the tables have singular names, which means that I need to edit the EntitySet names to be plural.

But some of the tables have plural names. The EntitySet names are perfect. I need to change the Entity names to be singular. That's where I see the effect that set Roger off.

I understand that if I'm creating a new entity and naming it, the designer needs to have something for the default. In this case appending "Set" is a lot safe than just appending an "s". But editing the entity name also triggered the behavior and my EntitySet names got changed as well. If I'm editing the Entity name, I most likely won't want the EntitySet name to be automatically changed.

It's surely aggravating. But all I can do in my book is point it out and explain what to do about it.

If I had a lot of tables in the database that this happened to, I'd be much more annoyed. You definitely need the designer for this because the Entity name change reverberates through the entire CSDL and MSL and you don't want to have to do that by hand.

Roger makes a great point of highlighting Huagati's LINQ to SQL & EF tool  that includes a naming tool for the model. I've had this tool bookmarked for quite a while but have been focused on my main task. Luckily Roger has taken the time to check it out (for an upcoming VS Mag article on tools for LINQ to SQL, which also includes Damien Guard's T4 template (with VB support, three cheers for Damien!!) which is also on my list, but mostly everything is on hold at this point until I get my book edits done... :-()

(okay, long sentence which went down a few roads... deep breath... back to the plural entity set names...)

So, the behavior will definitely get highlighted and explained.

IdeaBlade's DevForce has a model naming feature in it as well. Maybe they can do a community service and split that feature out as a free download! :-) Although I believe that works with their custom designer so it may not be possible.

Friday, September 26, 2008 5:21:38 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  |