Thursday, August 27, 2009

Visual Studio 2008 and dumbness

I recently started a project to move a rather large win32 codebase from Visual Studio 2003 to Visual Studio 2008. This codebase included a number of projects as well as third party components, some of which are cross-platform open source components that use nmake instead of Visual C++ project files.

Figuring that I wanted to be sure I was running the latest patches/fixes, etc, I installed Service Pack 1 before I went to build any of the components.

Things were going great. I am generally pleased with some of the usability improvements in the product (in particular the ability to view the contents of STL containers in the Visual Studio Debugger).

So I spent a few weeks, and ported over all the code, and have been testing it in my development environment. Last night though, I installed it onto a clean Windows 2008 install, and when I tried to run one of the executables, I got the following error:

C:\myprogram>myprogram
The system cannot execute the specified program.

Looking at the Event Log, I saw the following:

Component identity found in manifest does not match the
identity of the component requested

Syntax error in manifest or policy file "C:\myprogram\
Microsoft.VC90.DebugCRT.MANIFEST" on line 4.

Off to Google... It turns out that Microsoft provided a new version of the CRT with Visual Studio 2008 Service Pack 1 (no surprise there). However, they rigged up the linker so that it only uses the new CRT if you add a specific "#define _BIND_TO_CURRENT_VCLIBS_VERSION" to *every* project you build. There is no way to set it globally in the Visual Studio compiler so that all projects use the CRT that ships with SP1. And to add insult to injury, the SP1 installer *overwrote* the version of the CRT that came with the RTM version, so in order to revert to the original CRT I have to reinstall VS2008 onto a clean workstation to recover the files.

It turns up I'm not the only one who has complained about this.

https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=361682

To take a much simpler example, it means that if you do a clean install of Visual Studio 2008, then install SP1, and then create a hello world program that dynamically links against the CRT, that program will not run on any computer other than the one that Visual Studio is installed on. Oh, and you won't get any warnings during compilation. How dumb is that?

So now I get to choose. Do I:
  1. Modify the project files for *every* project I am responsible for, including all the third-party libraries and other dependencies. In cases where the library doesn't use a MSVC project and instead uses nmake, dig through the source to figure out the appropriate place to put the #define. This also means recompiling *EVERYTHING* from source.
  2. Ship with the RTM version of the CRT, and run the risk of bugs that have already been fixed effecting my product.
I can appreciate Microsoft wanting to be able to allow developers to ship with the RTM version of the CRT even though they have the Service Pack installed. But not allowing this to be globally configurable in the compiler and requiring you to edit your source code? What the hell were they thinking?

New building

I haven't been up on the rooftop desk of my building in about eight weeks. A couple of nights ago, I went up there after work with a salad I picked up on my way home. And to my somewhat surprise, a fifty-story building had appeared since I was last there:



The last time I was up on the roof, they had just finished the foundation and put up five or six floors.



This pic kind of looks like a cloud dragon is attacking the building.



And this picture is just here to give you some relative scale (since it's hard to tell from the other pics how tall the building actually is). I took the other pictures point the camera almost straight up. Bear in mind the building is only one block away from mine.

Tuesday, August 25, 2009

Busy busy busy....

It turns up I ended up with a pretty full week. This morning I met with an architect for some possible renovations to my apartment (so I will have to work late tonight to make up the time). I've got the board meeting for my building tomorrow night after work (which is expected to run 3 hours). On Thursday night I'm going out to Queens to get Indian food with Michael and Steven. And somewhere in there I was hoping to grab a beer with Doug.

On top of all the above, I've got to finish the em28xx VBI support this week.

In other words, I suspect I will be burning some of the midnight oil this week....

Monday, August 24, 2009

Weekend roundup

Spent the weekend in Philadelphia. On Saturday Victoria and I went and visited a caterer. We also did a cake tasting at The Night Kitchen Bakery and decided on the style for the cake etc. In the afternoon, we visited one of the possible locations for the wedding (at the gazebo outside the Philadelphia Art Museum). Later that evening we went to a club to celebrate her friends Nicole, Alix, and Jamie's birthday.

On Sunday, we packed up the Toyota, drove to New York, and moved Amy into college. I was thoroughly impressed with how organized the Fashion Institute of Technology was in terms of moving people in, in particular given the logistics surrounding unloading hundreds of cars in midtown Manhattan.

Spent most of Sunday evening working on em28xx VBI support, as well as tonight.

My insomnia is back. As an experiment, I started taking Melatonin last week to see if it would help. I didn't really have any trouble sleeping for the last few days. I forgot to take it tonight, and here I am awake at 2:53 am. Coincidence? Causation?

Monday, August 17, 2009

Back from Vacation...

I got back from vacation yesterday. Victoria, her sister, sister's boyfriend, grandmother, and I spent the last five days on Dataw Island, South Carolina (about an hour from Savannah, GA). It rained alot, but we still had lots of fun. For me it was just nice to get away for a few days.

No laptop, limited Internet access. In other words, for those of you who follow the blog to read about my progress on LinuxTV, there essentially was none. But I got back in the groove last night and am hoping to have more to write about this week.

I'm looking at the list of crap people are asking for, and it seems pretty clear I need an apprentice or something. Alot of this stuff is pretty straightforward but too time consuming to keep on top of by myself. Stuff like fixing em28xx board profiles and writing firmware extract scripts. None of this is rocket science but I just don't have the cycles to keep up. If I had someone to help with the small stuff, it would make it easier for me to focus on the larger projects that require more advanced debugging and analysis.

Unfortunately, it seems like there are too many users and not many developers willing to help support the project.

Tuesday, August 11, 2009

Asbury Park Casino

I was getting my coffee this morning on the way to work and happened to notice a picture of the Casino on the front page of USA Today.



Here is the online version of the article.

http://www.usatoday.com/news/nation/2009-08-10-asbury-park_N.htm?loc=interstitialskip

Small world...

Sunday, August 9, 2009

Another weekend...

Victoria came to New York this weekend. Things were pretty quiet. Had some pretty good Indian food on Saturday night over on 28th street. Today we drove to New Jersey and Victoria visited her aunt while I visited mine. The train back to New York seemed to take *forever*. Got home a little after 9pm.

On Tuesday night I am flying to South Carolina with Victoria and her grandmother. Her sister and sister's boyfriend are already there. Should be nice to get away for a few days.

Various things still moving forward with LinuxTV work. Spent Friday night analyzing how VBI works on my cx88 card, so I can determine what is required for making VBI work under em28xx.

Wednesday, August 5, 2009

My fiance knows me so well

My fiance sent me the following image along with the message, "this is you this is you!!!".



From: http://xkcd.com/619/

Tuesday, August 4, 2009

Tuesday evening

Today was pretty uneventful at work. When I got home I worked some more on the PCTV 340e i2c issue, as well as more on em28xx VBI support.

Spent the rest of the evening putting together the new dresser which arrived unassembled from Target.com. It's pretty much done except for attaching the back, which requires sixty nails and I don't want to disturb my neighbors at midnight with the banging.

Have to be at the allergist at 8:30am, so I'm going to be early. TTFN.

Alumna sues college because she hasn't found a job

Check this out:

http://www.cnn.com/2009/US/08/03/new.york.jobless.graduate/

I read about this story yesterday and found it only slightly funny. Then this morning I happen to read the CNN version and was laughing my ass off at this part:
As Thompson sees it, any reasonable employer would pounce on an applicant with her academic credentials, which include a 2.7 grade-point average and a solid attendance record. But Monroe's career-services department has put forth insufficient effort to help her secure employment, she claims.

"They're supposed to say, 'I got this student, her attendance is good, her GPA is all right -- can you interview this person?' They're not doing that," she said.
Yeah, a 2.7 GPA and she's not getting employers beating down her door in this economy? Shock! I have to give CNN some credit here for the tongue-in-cheek factor.

Monday, August 3, 2009

Wedding Weekend

Victoria and I drove out to Reading, PA with Nicole and Dave for one of her classmate's wedding.

From Ephesians 5:22
Wives, submit to your husbands as to the Lord. For the husband is the head of the wife as Christ is the head of the church, his body, of which he is the Savior. Now as the church submits to Christ, so also wives should submit to their husbands in everything.
You should have seen the look she shot at me as the minister gave the above reading. I think it's pretty safe to assume that no such things will be said at our wedding.

The reception was nice though. The cake was delicious.