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]  | 
 Thursday, September 25, 2008

I have a database hosted at ORCSWeb. As soon as I started using SQL Server 2008, I couldn't get at it from the Object Browser of SS Management Studio. I could access the database and work with it. I was just having a particular security problem with the Object Browser. When I tried to expand the list of the databases so that I could see mine and work with my db objects, I kept getting an error message that my login was invalid for someone else's database - even though I wasn't trying to access it.

Luckily, Desiree, a DBA at ORCSWeb, encountered and got to the bottom of this problem already.

Check out her very aptly titled blog post:

The server principal 'A' is not able to access the database 'B' under the current security context (Microsoft SQL Server, Error:916)

Thursday, September 25, 2008 4:53:28 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

IT Network Administrator

Vermont Energy Investment Corp (VEIC) is searching for a Network Administrator who will install, configure, secure, maintain and provide support for all aspects of VEIC's local and wide area network infrastructure serving our 175+ staff and sub-contractors. The Network Admin will also works with the IT Manager to plan for and manage the growth and development of VEIC’s network systems and coordinate with the IT Project Manager and Helpdesk Support Specialists to ensure quality delivery of computer support and training to VEIC’s staff. 

Requirements:

Bachelor’s degree in computer science, network engineering plus 6 years of experience managing a LAN/WAN or a combination of education and experience from which comparable knowledge and skills are acquired.

Experience with Windows Server 2003, Group Policy management, Citrix Presentation Server, Exchange 2007, and VMware Infrastructure preferred.

More info at http://www.veic.org/AboutUs/Jobs.cfm

Applicants should send a cover letter and resume to resume@veic.org by 5:00 p.m. on Monday, October 6th.

Thursday, September 25, 2008 3:14:50 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

I've written a 14-page article (that's pretty long!) comparing DataSets, LINQ to SQL and Entity Framework. It's in the current issue of CoDe Magazine. Read more here...

[A New DevLife Post]

Thursday, September 25, 2008 7:46:48 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 

I spent a ridiculous amount of time moving an app with lots of Crystal Reports from VS2005 to VS2008. The VS part was a breeze. It was the move to Crystal Reports 2008 that slayed me. I learned a lot of lessons during this process and wrote them into an article for ASPAlliance in the hopes of helping others have a smoother transition.

The article is Lessons Learned: Sorting out Crystal Reports 2008 Versioning, Service Packs and Deployment

Thursday, September 25, 2008 7:08:57 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 
 Friday, September 19, 2008

It was a last minute scramble, but as I will be in Amsterdam for the SDN conference next month, the Amsterdam Girl Geek Dinners managed to schedule a meeting for my last night there.

I won't be doing the same talk that I am doing the next night at the London Girl Geek Dinner event.

In Amsterdam the talk will be titled:

"Staying dry while drinking from the technology firehose"

Date: Wednesday, 8 October, 2008
Time: 7-11 PM
Location: Flexbar (Pazzanistraat 1, Amsterdam)
Cost: 22.50 Euros (buffet dinner, excluding drinks)

The Flexbar is located on the Westergasfabriek terrain.

Abstract: Julie Lerman has been programming for over 20 years, with the glorious beginnings of a single BASIC computer class while acquiring a degree in Russian history. At her first job (nothing to do with history) the only computer in a company of over 1000 people quickly ended up on her desk. Since then she has used about 10 programming languages, but it took 13 years before she attended her first programming class. Julie will talk to the Amsterdam Girl Geeks about the challenge of trying to remain sane while keeping up with constantly changing technology and some of the extra challenges that being a girl geek added along the way.

 

I had a good laugh when I calculated the cost of the meeting (buffet excluding drinks, mind you) into US$.

Friday, September 19, 2008 11:37:51 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Not all CLR methods can be used when building LINQ to Entities or LINQ to SQL queries. The method needs to be something that can be expressed in the native query language. So if you have a date field, you can't use ToShortDateString in the query since there is no equivalent. You'll get runtime exceptions when you use these as the query compiler goes to work.

There are others that work, but you may not want them.

Case in point is doing a query to search on the first letter of a property.

String.StartsWith

VB

From con In context.Contacts _
                     Where con.LastName.StartsWith("S")

C#

from con in PEF.Contacts
                    where con.LastName.StartsWith("S")
                    select con

Both render this WHERE clause in TSQL:

WHERE (CAST(CHARINDEX(N'S', [Extent1].[LastName]) AS int)) = 1

I've been told this will make DBAs run away screaming.

 

String.SubString

VB

From con In PEF.Contacts _
                     Where con.LastName.Substring(0, 1) = "S"

C#

from con in PEF.Contacts
                          where con.LastName.Substring(0, 1) == "S"
                          select con

These render this WHERE clause:

WHERE N'S' = (SUBSTRING([Extent1].[LastName], 0 + 1, 1))

 

Visual Basic's Left does the cleanest job

From con In PEF.Contacts _
                    Where Left(con.LastName, 1) = "S"

Gives us:

WHERE N'S' = (LEFT([Extent1].[LastName], 1))

Other options such as attempting to use an indexer (lastname(0) or lastname

 

Be careful out there.

Friday, September 19, 2008 10:49:07 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [3]  | 
 Wednesday, September 17, 2008

CoDe Magazine is based in Houston. You probably heard about Ike... a little wind, a little water. The server where the site is housed is also in Houston. So are Markus and Ellen and Cleo and many of the CoDe Magazine and EPS Software gang. Well, some people happen to be on vacation (such good timing).

But CoDe's website has been down and continues to be, in case you were looking for it. Not their fault, obviously.

When it's back up, I'll blog about my 14 page article on Data Access Options in VS2008. It's in the current issue. The one with the green cover. :-)

Wednesday, September 17, 2008 9:43:19 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 

If you are not a comp-sci major, mathematician, DBA or something along those lines, there's a term in the Entity Data Model that might make you cross-eyed when you read it.

Function Name="InsertContact" 
Aggregate="false"
BuiltIn="false"
NiladicFunction="false"
IsComposable="false"
ParameterTypeSemantics="AllowImplicitConversion"
Schema="dbo">

The term in questions is "niladic". It's a math term.

"nil" meaning nothing

"adic", when combined wtih prefixes, means "having a certain number of arguments"

So combined it means having no arguments.

I'm not a comp-sci major, mathematician or DBA so I looked it up.

Wednesday, September 17, 2008 3:33:54 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Thanks to Kathleen Dollard for hooking me up with the London Geek Girls giving me somewhere to go and something to do with myself in the 3 days between SDN in Amsterdam and DevReach in Bulgaria!

I'll be heading to London for the interim and speaking at the 3rd Anniversary of the London Geek Girl Dinner. I'm so looking forward to this because I get to talk about being a geekette and don't have to write a lick of code. The geek girl dinner's are non-denominational, so to speak, crossing over many technology areas. It's a coincidence that this month's meeting will be at the Microsoft office. The fruit just does not fall far from the tree, does it? :-)

Here's the abstract for my talk.

Julie Lerman: “Defining the –ette in Geekette”
Twenty years ago, Julie Lerman learned that she had to act and dress like the guys in order to fit into the IT Industry. Today she’s found that the cover-up is no longer necessary. Many of her “girly” qualities have become advantageous in a world of geeks where she now speaks at conferences all over the world and has just finished writing her first programming book for O’Reilly Press. Julie will share with the London Girl Geeks some of this historical perspective and lessons learned.

But wait there's more. I'm going to be in pretty intellectual company! The other speaker for the evening is Dr. Elisabeth Kelan who is a Senior Research Fellow in the Lehman Brothers Centre for Women in Business at London Business School (http://www.london.edu/womeninbusiness.html). (I sure hope that Centre was endowed for the long term! :-( ) Elisabeth will be presenting on research she has done on gender proportions (such as the oft-quoted percentage of IT workers that are women (it's 10% if you were wondering)) and gender stereotypes in the workplace.

I've heard these gatherings have upwards of 150 GEEK CHICKS. I am SO excited to be able to participate in this. I'd be thrilled just to be a fly on the wall, much less an attendee or even a presenter. Thanks to Microsoft for sponsoring this large meeting.

For my other two days, I plan to wander around the V&A (you can find me among the glass, ceramic and armor collections oh and maybe the tapestries and well, so much more...) and consume tea & scones.

Wednesday, September 17, 2008 12:18:00 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [3]  | 
 Monday, September 15, 2008

.NET devs in Vermont have a LOT going on this week (if I can call the next 9 days "this week" that is).

Monday : Tonight is our monthly meeting of VTdotNet with Mark Merchant from Microsoft's Virtual Earth Business Unit presenting on leveraging Virtual Earth's APIs and web services in your web apps and using the new SQL Server Geography data type. Based on the # of RSVPs, this is going to be one of our better attended meetings!

Thanks to GE Healthcare for hosting this meeting and to Mark for driving up from southern Vermont and to Microsoft for paying for the pizza. We also have gobs of swag thanks to CodeZone, Infragistics, Jet Brains and a number of publishers.

More info:

www.vtdotnet.org

 

Saturday & Sunday: This weekend is the New England Code Camp (number TEN!) in Waltham. Since we don't yet do a Code Camp in Vermont (if you want to organize one, let me know!), the Waltham Code Camp has been a popular choice for those of us who can make the road trip. I have some previous obligations and am very bummed that I won't be able to attend or present.

Registration and details:

http://blogs.msdn.com/cbowen/archive/2008/09/07/new-england-code-camp-10-update.aspx

 

Tuesday: The gift that keeps on giving! On Tuesday, Chris Bowen and Jim O'Neill, two of our Dev Evangelists from Microsoft's Mass office, are kicking off their RoadShow tour in Burlington. It's a full day of free training from two very knowledgeable guys. Chris & Jim have a crazy schedule to do 6 different sessions throughout the day. The event will be held at KnowledgeWave in South Burlington.

Registration and details:

http://blogs.msdn.com/cbowen/archive/2008/09/02/announcing-the-fall-2008-northeast-roadshow.aspx

Monday, September 15, 2008 12:00:17 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Friday, September 12, 2008

Remember your first coloring book and the big challenge of staying inside of the lines?

Well, it's a problem with InkPresenter too. I've been using ClippingPath to solve this problem, but someone recently asked about using MouseLeave and MouseEnter instead. Here's what we learned.

[A New DevLife Post]

Friday, September 12, 2008 8:19:36 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Thursday, September 11, 2008

If you are thinking about going to DevTeach in Montreal (Dec 1-5), tomorrow is the last day to get the CN$300 early bird discount for the conference.

In addition to some EF talks during the conference, I'll be teaching a full day post con workshop on Dec 5th.

I'll be raffling off a full-blown MSDN Universal Subscription to a lucky attendee. That's the $10,000 subscription. The workshop is only $400. More info and register here.

Thursday, September 11, 2008 7:08:19 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 

Next Monday (Sept 15th at 6pm to be exact), VTdotNet is lucky to have Mark Merchant of Microsoft's Virtual Earth Business Unit (who just so happens to reside in Vermont) do a presentation on programming with the Virtual Earth API, services and controls.

It was a good opportunity to test out the new ASP.NET control for Virtual Earth which I have embedded into the group's Upcoming Meetings page.

I don't know how to embed it into my blog post so here's a screenshot instead.

veembedded

I couldn't figure out how to get the pin on there without doing some actual coding, so all this does is show you the general location. If there was a pin, it would be on the "X" in IDX Drive. By default, the control supports panning around and zooming and switching views. If you want to do things like map directions, you'd have to dig into the API and add that support in. That's why I also provided the "map it on local.live.com" link which opens up the map in Local.Live with the pin and all of the usual capabilities.

I expect to learn how to add more functionality to this at Monday's meeting!

Thursday, September 11, 2008 12:47:03 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 

I forgot about this picture which I took quite a long time ago. After I signed the contract with O'Reilly for my book, they sent me a little packet of information with pointers such as what to do about writer's block, how to work with their templates, etc. Included in that were two classic writing books. On Writing Well by William Zimser and Strunk & White's The Elements of Style. It was a nice touch. Especially the ribbon which is a cute reference to O'Reilly's animal kingdom of books.

oreillybooks 007

Thursday, September 11, 2008 8:03:59 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 

I don't know why I'm so special that my sample app has still not been put on the MSDN Magazine site to go along with my article,Write On! Create Web Apps You Can Draw On with Silverlight 2.

You can play with the app here: Silverlight Annotation sample

I finally put the download on my own website.

The download is for the sample application. It requires VS2008 SP1 and Silverlight 2.0.

I've pulled out all of the compiled XAPs and DLLs that made the file 30MB and now it's only 5MB.

You can download the sample code at

http://www.thedatafarm.com/docs/LermanSilverlightAnnotationSampleMSDN.zip

Thursday, September 11, 2008 6:42:49 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Wednesday, September 10, 2008

I picked my head up today from what I've been focused on and took a look at my blog feeds and was happy to see that Jarek Kowalski had a new post. He doesn't write a lot of blog posts, but they are generally pretty juicy.

This one didn't disappoint.

Persistence Ignorance (POCO) Adapter for Entity Framework V1

He has been hammering out a way to implement POCO in Entity Framework v1 which involves  a custom code generator that adds in some extra wrappers into the generated classes as well as some new APIs. His solution is called EFPocoAdapter.

One of the big problems for POCO is that you can't do much without the ObjectContext which means that you are tied to the EF APIs. For Unit Testing you can't fake the query (though TypeMock is working on an EF sample) which means you can't do tests without hitting the database.

One of the cool things Jarek has done is split out the EntitySets and given it the ability to do change tracking for you.

And some of the work he's done leverages the EF Extensions that COlin Meek created earlier this year.

It's all very interesting and though I'd love to dig into it, I can't at the moment.

Jarek has a nice long post explaining how he worked out the sample. EFPocoAdapter is available on CodeGallery. My RSS feed for the ADO.NET Team's code gallery indicated that there was an update there also. Now I know what it was.

Wednesday, September 10, 2008 3:39:15 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Tuesday, September 09, 2008

Experience Required:

Technical Specification Development 3 yr

.NET 2-4 years

ASP 2-4 Years

XML 2-4 Years

OS/400 1 Year

Role Description:

Developer to perform the following:

1.  Review Functional Requirements, Technical Specifications

2.  Code and Unit Test; document Unit Test Results

3. Analyze and resolve defects detected in Integration and UA Testing

Contact Information:

Andrew Reams

Andrew.reams@keane.com

Tuesday, September 09, 2008 9:11:38 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Monday, September 08, 2008

Why oh why did I check out Instant VB after I spent  45 minutes trying to translate one line of code from C# to VB?

Read more...

[A New DevLife Post]

Tools | VB
Monday, September 08, 2008 10:01:28 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Saturday, September 06, 2008

Update 1 (I expect more...)

Progress:I did the rebuilddatabase again (http://blogs.msdn.com/psssql/archive/2008/08/29/how-to-rebuild-system-databases-in-sql-server-2008.aspx) and realized that I had a typo in the instance name when I first did it. But the error didn't indicate anything about that. Good thing I am persistent!

But I can't log in to sql server database engine, although I have no problem with the other services.. Pout.

Maybe next step is unintall and resinstall SQL Server so I can get the login lined up again.

Update 2

A complete uninstall and complete reinstall did the trick.

It all started yesterday when I realized that I needed to get the latest version of Crystal Reports 2008 onto my new computer. I wasted a few hours just trying to get the file. I had a license key so downloaded and installed the 30-day trial, but that turned out not to be the SP0 version. I followed some links to the Service Pack but they were broken. I finally found the file in the downloads section (duh).

I installed it and something was very wrong. None of the designers were in VS2008 any more. I spent about 5 hours of installing and uninstalling different versions of CR on my computer and verified that I wasn't going crazy. This was just not working with VS2008 SP1.

In the meantime, I needed to get back to the task at hand but SQL Server wasn't starting up.

Weird.

I went into Configuration Manager and attempted to start the service. It wouldn't start. The log files said I needed to rebuild my master file.

I found the instructions on this very recent blog post from SQL Server Engineering but it didn't fix my problem.

Then I decided to repair the installation. It took me a while to figure out where I had tucked the ISO away. It was on my external drive. I mounted that and started the repair. Along the way there was an error message saying that it there was something wrong with a file -  I can't remember the name but it was critical like THE SQL SERVER ENGINE file or something. (ahh - it the msi for SSCE Runtime - not a crisis for me).

The repair had a lot of failures.

I copied the file from the external drive to a local drive on the computer and tried again - same results.

So, I though, okay I'll go download the darned file again. It's 3GB. With my connection that's about 1/2 hour or so. What's another 1/2 hour after the current investment of about 10 (not counting the 2 hours I laid awake from about 4am to 6am this morning worrying about this).

Off I go to MSDN Subscriptions and lucky me - no downloads this weekend! I was trying to be a good citizen when I opted for the online download only subscription rather than getting piles of DVDs which is usually pretty wasteful.

Scheduled Maintenance

Due to scheduled release activities this weekend, MSDN, TechNet, and Expression Subscribers will not be able to use any of their online Subscription benefits, such as downloading files, or viewing or claiming keys. The Subscriber sites will be available for access, but functionality will be limited to that which a non-subscriber has.

Scheduled Start: Friday 5 September 2008 17:00 (USA Pacific Time, GMT-8)
Scheduled End: Sunday 7 September 2008 17:00 (USA Pacific Time, GMT-8)

That's it. I'm heading for the kitchen to the drawer with the BIG KNIVES.

It would be nice to say "okay, I'll just take the weekend off" but I can't afford it. I've got way too much to do.

Saturday, September 06, 2008 10:33:57 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Friday, September 05, 2008

It took me a ridiculous amount of time to find this.

First of all, do not download the trial version that's readily available. It doesn't have the Service Pack in it. I figured that out after I did the 350 MB download, unzipped and installed, only to have the same old problems I had before SP0.

There are also a lot of broken links pointing to the pre-SAP takeover of Business Objects.

But I finally found it.

Start here:

https://www.sdn.sap.com/irj/sdn/businessobjects-downloads

Ignore the certificate request.

Click the link for Crystal Reports etc. Downloads

Fill out the form as shown

crdownload

Click Search and the file will appear.

If I had known I was going to waste all of that time today, I would have gone for that bike ride after all.

Friday, September 05, 2008 4:32:34 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 
 Wednesday, September 03, 2008

O'Reilly has us .NET authors going to the birds.

I've got a Seychelles Blue Pigeon.

You can pre-order the book on Amazon.com.

Here's a link to my book web site also: www.programmingentityframework.com.

 

John Papa's new cover has a bird as do the other Silverlight titles he displays in his blog post.

Wednesday, September 03, 2008 8:05:45 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [1]  | 

by way of Alex

 

Andrew Peters is joining the EF team. Funny to see all of the comments about the growing numbers of kiwis (is it PC for a non-kiwi to use that term?) at Microsoft. :-)

Wednesday, September 03, 2008 7:41:09 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [2]  | 
 Tuesday, September 02, 2008

I'm actually leaving my house and leaving my road and even leaving my state today. And I won't be doing it on my bicycle. I'm heading down to Springfield Mass to do an INETA sponsored presentation at the Western Mass .NET User Group hosted by MassMutual.

I've spoken at this group before when they were meeting at Atalasoft's very hip offices in a renovated mill with a cool history.I also remember having a long conversation with someone from Atalasoft about the challenges of annotating on the web. So it was no surprise to me to read a blog post by Lou Franco from Atalasoft who, upon seeing my recent MSDN Mag Silverlight Annotation article [Write On! Create Web Apps You Can Draw On with Silverlight 2] said that "It's one of the more compelling arguments I've seen for Silverlight."

And coincidentally, I was asked to do a presentation on Annotation in Silverlight 2.0 tonight. Funny how I assumed they would request an EF talk. ;-)

I have a demo app on my website if you're curious to see this technology in action.

And for some reason, my code download for the MSDN article is still not online on the MSDN site even though they got it before the article ever went online. Apparently, somebody has been on a nice long summer vacation.

If it's not up there in the next few days, I'll just put it on my own web site. It's a big download because it has embedded images.

Tuesday, September 02, 2008 8:50:39 AM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  | 
 Monday, September 01, 2008

I finally discovered OpenID when I wanted to leave a comment on a friend's blogspot blog. Google has recently adopted it. Read more about this open source service that lets you have one login identity which you can use on thousands of websites.

 

[A New Devlife Post]

Monday, September 01, 2008 1:00:57 PM (Eastern Standard Time, UTC-05:00)  #     |  Comments [0]  |