All posts by Julie

Fix XML encoding in LINQ to SQL files to open up in RTM designer window

When opening a dbml file created in a pre-RTM version of Visual Studio 2008, you will probably see this error message:

Cannot load ‘[filepath].dbml’: Error encountered, check Error List window for details.

Looking in the error list window, you might see the following errors:

Build failed due to validation errors in [filepath].dbml.  Open the file and resolve the issues in the Error List, then try rebuilding the project. 

and

There is no Unicode byte order mark. Cannot switch to Unicode.

Opening up the dbml file in the XML editor, the intellisense does not point out any validation errors.

 I couldn’t see the problem.

Then I created a new LINQ to SQL file and looked at the xml,noticing that the encoding was:

<?xml version=1.0 encoding=utf-8?>

while the old file had

<?xml version=1.0 encoding=utf-16?>

So I modified the old file changing the encoding to utf-8 and voila, my project compiled and the file opened up in the designer.

Paper books – from my cold, dead hands

Last week, I was fortunate to have dinner with Rick Chapman, author of In Search of Stupidity, who had come to Vermont to speak at the monthly meeting of the Vermont Software Developer’s Alliance.

Rick is an software marketing guru who also author’s the Softletter newsletter for software company business owners. He is also someone who does a lot of trend analysis.

During our dinner, the conversation shifted to e-books. Rick is sure that e-books, when the devices reach the right form factor and functional features, will replace books. I said,”No way. I love books. You’ll have to take them from my cold dead hands.” (Very creative of me, eh?)

He couldn’t be convinced; but I know I love books. I know I love it when I get to add the latest read to my bookshelf. I love reading in bed and I love carrying a book with me when I travel. One argument of his was “aha – so how many books can you carry on a plane? Wouldn’t an e-reader be better?” My reply was that it didn’t matter because I can’t read that fast anyway. One book will usually suffice for a plane trip.

I love the different fonts that are created for letter presses. I love the varying quality of the covers and the paper. I love the feel of the paper.

It’s probably why I also always enjoy Charles Petzold’s many posts about his books. Today he wrote about digital vs. paper books and wondered about wanting to re-read a book after a decade or two. If it’s digital, what are the chances of the original technology/format that the books was delivered in still existing, or the device still even working. But if it’s a book on his bookshelf, no problem. Just pull it out and read it. Maybe a little dusty, perhaps some yellowed-pages, but there for all time.

Vermont IT Jobs: PHP programmer in Burlington

Union Street Media, a leading Vermont web design and development company, is seeking to add a new PHP Programmer to our team. Since 1999, we have developed database-driven web sites focusing on visual appeal, usability, and search engine prominence. The company serves over 300 clients in three primary business areas: real estate, e-commerce, and content-driven sites. Union Street Media is a young, aggressive company requiring its employees to wear many hats.

The PHP Programmer will be responsible for the maintenance and development of our content management system which includes real estate tools and e-commerce. Experience developing and supporting PHP/MySQL content management systems is key. The work will entail building new features and improving existing ones, fixing bugs, and some project management. Sysadmin skills and/or experience with real estate web site development are pluses. The role requires timeliness in project delivery, attention to detail, and a high degree of professionalism. We’re looking for a hard working team player who enjoys working on the web. Those who don’t play well with others need not apply.

The position comes with a host of benefits including health insurance contribution, great work environment in a recently renovated office and access to ski vouchers.

Functions/Responsibilities:
• B.S. in Computer Science or related field
• 3+ years professional experience
• Thorough knowledge of PHP, MySQL, CVS, cron, curl, Posfix/Sendmail, shell scripting, basic Unix skills, javascript
• Develop new features for our PHP/MySQL CMS
• Support the real estate site and ecommerce modules
• Strong people skills and team mentality
• Work with all members of the USM team
• Assist tech support staff with bug fixes, diagnosing problems
• Keeping skill set up to date with current technologies

Compensation: Commensurate with experience.

Schedule: This full-time position in our Burlington, VT office is open immediately.

To Apply: Email resumé, cover letter & 3 references to jobs@unionstreetmedia.com . No phone calls please.

Union Street Media is an equal opportunity employer.

VS2008 RTMs today and Entity Framework Beta3 and Designer CTP2 will be here in a few more weeks

Probably no need to mention that VS2008 RTM (Team Suite English) hit MSDN subscriber downloads this morning. But what about Entity Framework?

According to Danny Simmons in this forum post, we’ll have new bits that align with VS2008 RTM in a few more weeks.

We’re working hard to wrap up the last round of testing and bug fixes on the EF and the EF designer.  The plan is to release beta 3 of the EF/CTP 2 of the designer in a few weeks (think “early December”).

One major thing to look forward to is a simplification of getting graphs across tiers and handling the state of objects and their navigation properties (e.g. children in a graph). More details in this blog post.

Not sure what will be in the Tools CTP2, but I know they are working on having the designer handle stored procs and updating an EDM if the store has changed.

Snow!

It’s been snowing for about 5 hours. The grass is still peeking through the wet & slimy white stuff, but the ground is throughly covered. And I"m sitting here at my computer wearing a brand new pair of back country ski boots trying to determine if they are keeper or not. I’d say winter is here.

Still under my rock

There’s something about a conference that inadvertantly makes me go dark.

I did 4 sessions and a workshop at DevConnections last week.

In the weeks leading up to to this, I was heads down finalizing my presentations. That includes mucking with the PowerPoint’s and fine-tuning demos and stuffing as much into my brain about the various technologies as I can.

While I was at the conference I spent a lot of my time in my room continuing on this path. The speaker room is a bad place for me to work – too many people I want to talk to! 🙂  I did get to attend a number of Entity Framework and Astoria sessions on Tuesday, but that’s all that I saw in the entire show.

Because I had disparate topics (tablet pc, silverlight, entity framework and LINQ), I needed to really clear my head of the previous topic and wrap my head around the next one.

During this time I did check emails, but I didn’t check my office voice mail, I didn’t do any client work and I managed to write only one blog post. I even got to go out to dinner one night, but most of the rest were working in my room.

(I’m not complaining, by the way, just sharing what it’s like…)

At the end of the week, I went to Colorado for a few days to hang out with my sister & brother in law. I checked email but again, no work, no blogging.

Not only did I not blog, but I wasn’t reading blogs. I had missed the DevCOnnex keynotes and no idea that the VS2008 RTM date was finally announced, that live services came out of beta and more was going on.

I got home Monday afternoon, spent two hours at my house then got back in the car for the VTdotNET user group meeting (another blog I need to write). Since it was the birthday of our illustrious speaker, Russ Fustino, we went out and I got home at about 11:00pm.

Tuesday I finally got to do some client work for the first time in about 3 weeks! I have a huge list of things to do, but topping that list were a host of things one of my client’s has been patiently waiting for.

It still amazes me the impact that conference speaking has on my routine. I am hoping to get my head above water by the end of this week. I also am bummed that I haven’t had any exercise since before I headed to the conference. I had high hopes and brought my swimsuit, sneakers and other related clothes with me, but they never got touched!

So I have LOTS to blog about and so many people awaiting so many things from me. I will just be getting through it all one step at a time…

 

Astoria – what’s coming after the prototype

Mike Flasko presented on Astoria this afternoon as part of the Data Access track at DevConnections. Being the PM on the Astoria team, Mike’s not stuck with the prototype bits like the rest of us slackers and was using production bits of what Astoria will really look like.

Here’s a few new things:

1. No more code name. Bah – I always hate this part. I like Astoria.

The official name of the product is ADO.NET Data Services. Oh boring, but descriptive. Although when you see #5, you might wonder why “ADO.NET” is in the name.

2. No more POX (Plain old XML) and they didn’t go with that Web3S format either. Data will be spit out as JSON or ATOM. ATOM is xml is formatted for blog posts so you’ll see elements named feed and more.

3. AJAX Client. When working with the services from the client side usig ajax, there is an ajax client api. It was something like sys.data.services. I will ask Mike and fix that. 🙂 You can use this to easily point to the data service and do things like call an insert method to easily insert a json object.

4. You can incorporate mime types into your data and when the service is built, those will be pulled in and then (as a example) if you have data that is the binary of a gif and it has image mime type associated with it, then  the data will be served up as the image, not as the string of binary. This is easily demonstrated when using the uri directly in a browser. I haven’t seen how this surfaces in a client app. But it’s very sweet.

5. Build services against any class that exposes iQueryables. Entity Framework queries return iQueryables of entities. After some discussion of which way to go with this in the Astoria Team blog, they decided to leverage the iQueryable. So you can build a class that has a public method that returns your data as iQueryables, then you can build the service against that just as easily as you can build one against an EDM.

6. Last bu hardly least is. dah dah dah dah…

LINQ to ASTORIA.

Yes, Virginia. You can write a LINQ query that will get interpreted into the URI. Astoria already provides a means of generating classes for clients to use, so LINQ just works against these classes.

That’s all I remember since I didn’t have my computer or a scrap of paper with me in the session.

 

Mobile Mouse

Over a week ago, I accidentally left a car window partially open overnight. The next day there was lots of evidence of a mouse in the car – shredded kleenex, mouse poop and more. I looked everywhere for the mouse but could not find him (her?) and figured it was gone. I didn’t really go anywhere for about a week. On Friday night I rove to a neighbor’s house wondering if it was possibly still in the car and was going to jump on my head while I was driving, but it didn’t.

But on Sunday I looked in the car again and there was more shredded kleenex and poop. Rich and I spent an hour cleaning, vacuuming and inspecting every nook and cranny but found no mouse.

Rich decided there was only one way to get rid of the mouse if it was still hiding out in the car – a solution that I am not fond of at all, but let him take charge of the situation. So he put a mouse trip (oh boo hoo) with some peanut butter on the floor of the front seat. I’m more of a hava-heart trap kind of girl.

Poor little mousey.

This morning I unwillingly looked into the car when I took the dogs out. Seeing a tail and a butt was enough, I didn’t want to see his poor little head or neck under the business end of the trap. Rich is going to go out and deal with it.