Thursday, March 20, 2008

The Disaster of Microsoft Visual Studio 2008

For any software developers out there who may be considering moving to Microsoft Visual Studio 2008 from Visual Studio 2005, DON'T. Certainly not yet anyway.

On Wednesday I posted this on the MSDN forums:
"Are there any special procedures involved in uninstalling Visual Studio 2008 and reinstalling Visual Stuido 2005?

Will I have to change my project files to get them to work with VS2005 again? I have a VB.NET web application with a dozen+ library DLLs.

Visual Studio 2008 is a total disaster. I have been using it since its official release and it has consistently crashed on me 5+ times a day. It is completely random with no pattern whatsoever. Yes Microsoft, I'm the one with the same IP address who has been sending you those "click here to Send Error Report" logs multiple times per day, every day, for WEEKS AND WEEKS now...

In my 11+ years of professional programming Visual Studio 2008 is most unstable, unreliable tool I have ever used, even worse than Rational Rose 8 years ago (and I didn't even think that was possible).

Back on topic though... Will I need to just rebuild the solution file or will all the project files have to be rebuilt as well? (If it's the later I guess I will try repulling them from SourceSafe and starting from there.)
Ray Dyce responded and confirmed that I'm not the only one having these problems. He said they had abandoned VS2008 as well.

I made the switch from VS2005 to VS2008 on January 7, 2008 and had nothing but problems ever since. The most recent hotfix roll-up which Microsoft released did manage to fix the dreadfully slow compile problem but the debugger was still crashing multiple times per day and completely randomly.

Here are the steps that I went through yesterday to remove our application from the disaster of Visual Studio 2008 and remarry it with Visual Studio 2005. The application is an ASP.NET web application with about 15 DLLs, fairly small. I've worked on projects with 50 to 300 DLL projects, and if you're in that camp, well, it's just going to take you a bit longer than it did me!

First, I'm at a significant advantage because I never removed VS2005 from my machine. We use Analysis Services and I kept VS2005 so that Business Intelligence Developer's Studio (BIDS) would still function. So the problem I was left with was not in uninstalling and reinstalling but just in converting all of our project files back to the VS2005 format.

If you are in this same predicament, it turns out to be fairly simple:

1. I made a ZIP backup of our entire solution as a fail-safe.

2. I checked in the solution into SourceSafe with a label.

3. I checked out a writable copy of everything back out of SourceSafe.

4. I copy/pasted the top-level folder for our solution and named the copy "MySolution VS2008 disaster". This was another fail-safe and a fall back point in case the SourceSafe control files (all those .scc's etc.) got messed-up somewhere along the way (which didn't end up happening).

5. I opened our solution in VS2008 and set the target .NET framework for everything from 3.5 back to 3.0. I right-clicked each and every project and changed this in the Properties dialog.

6. We are using the Telerik Prometheus controls, so I then needed to copy the non-3.5-specific binaries for Telerik back into the bin directory and overwrite the 3.5-specific files.

7. I performed a Clean and Rebuild. In a few cases I needed to go into the references on some projects and remove System.Linq and System.Data.DataSetExtensions as well as the imported namespace System.Xml.Linq. I then closed VS2008 for the last time for a very good, LONG while.

8.
I opened up SourceSafe again and, knowing the date of when we converted to VS2008, for our solution file as well as for each DLL project file I found the history snapshot pre-VS2008 and compared it to the file on my hard disc. Then I applied changes one by one...

Yes, it sounds bad, but it really wasn't. I couldn't just re-pull all the VS2005-era project files because we had added a lot of code since then, and I didn't want to re-add everything. It turns out they all follow the same pattern. Of course, you still have to examine each and every one individually but I found the following changes were all common between them:
  • On the Project tag I deleted the ToolsVersion="3.5" attribute.
  • I set the ProductVersion tag back to "8.0.50727".
  • I deleted the FileUpgradeFlags, OldToolsVersion, and UpgradeBackupLocation tag pairs.
For project files which had been added since we moved to VS2008 I also had to change this line:
<import project="$(MSBuildToolsPath)\Microsoft.VisualBasic.targets">

to this line:
<import project="$(MSBuildBinPath)\Microsoft.VisualBasic.targets">

As I visited each DLL I also deleted its bin and obj folders just to made things tidy and prevent any of those strange compiler errors that Microsoft swears will never happen.

9. We are using Microsoft Visual Studio Web Deployment Projects and since it changed between the 2005 and 2008 version I had to modify it as well. The changes were extremely minimal. Mileage may vary since the XML is very customizable and it will depend on how many custom tasks you have defined. I also deleted the Debug and Release folders beneath the project, again, just to be safe.

10. The web.config file was next. There were many AJAX-related lines that I had to put back into the VS2005 version.

11. Then I fired up VS2005 and prayed... It worked.

After a bit more testing I verified that everything was working fine. I am very happy to be rid of Visual Studio 2008 now and will be much more productive without it. Maybe by Service Pack 2 or 3 Microsoft will manage to get the product stable.


Labels: , , , ,

Wednesday, March 19, 2008

Product Review: Linksys WRT350N Wireless-N Gigabit Router with Storage Link

Highlighter Rating SystemNetwork Storage Link Does NOT Work

The Network Storage Link on the Linksys WRT350N does NOT work.

I have tried more than once, in different configurations, and it does not work. Period. Upgrading the firmware will not resolve the issue.

If you have folders and files on an existing USB drive and then attach it to the router, they will not appear as they should. Directories will appear as subdirectories of others in cases where they really are not. In other words, directory A will appear beneath directory B even when it is not! It is simply WRONG.

Also, it is absolutely impossible to assign read/write permissions for different users to different folders. 75% of the time the router software will not save your changes. Even when it does save your changes, randomly, the security permission will not work as you define them.

Do not buy this product.

Labels: , , , , , ,

Wednesday, March 12, 2008

Hookers should watch CNBC

Wall Street is gleefully smiling ear-to-ear this week as news that New York governor Elliot Spitzer was found to be involved in a prostitution ring and, after failing to plea-bargain and weasel his way out of it, was forced to resign today. Before being governor for the past year, Spitzer made his reputation as being the "Sheriff on Wall Street" under his previous role as Attorney General and destroyed a lot of reputations and made a lot of enemies along the way.

What surprises me the most is not how stupid Spitzer was. Sad as it is that's just human nature. The surprising thing is that it was only within the past year that the hookers started recognizing him as the, then, governor of New York.

Back in his prosecuting days he was all over the financial press and TV shows. CNBC used to interrupt their programming and show his press conferences live as he announced who he was going to "bring to justice" next, most of whom never got to trial to defend theirselves by the way.

I think that if a hooker recognized him in those days and shopped some evidence around to the right folks she could have easily walked away with $1 million in cash and very possibly several million, maybe $5 to $10, in a foreign account -- just for some recorded phone calls, some text messages, and, for the $5+ million payday, maybe some video from a hidden camera. I'm not saying this would have been a Christian thing to do, but it could have been done.

Spitzer destroyed a lot of people. Dick Grasso alone lost $100 million directly because of Spitzer. I don't know who would have paid up, or if a few of them would have went in together, but I can almost guarantee a deal would have been made and the "purchasers" of the merchandise would have saved themselves many millions after the immediate downfall of Spitzer. Even a $10 million payday would not have been out of the question. Several of the people affected by him in those days were on the Forbes billionaires list. We're talking homes and condos around the world with private jets in between. Moving several million into a foreign account and discreetly flying someone out of the country with advice not to come back into the U.S. for two or three years would not have been a stretch for these people.

So, point being, if you are a hooker, watch CNBC.

(However, to be completely honest I must say that I've watched CNBC and its predecessor FNN, the Financial News Network, for a very long time, 18+ years I guess (not to imply that I'm a hooker or anything), and I must say that 99.99% of everything they say is complete, total rubbish. However, their advice and the advice of their talking head parade is a very good contrary indicator for investing.)

Book Review: LLC or Corporation? How to Choose the Right Form for Your Business by Anthony Mancuso

Highlighter Rating SystemHighlighter Rating SystemHighlighter Rating System Average


I've read several books on this topic, and I can't rank this one very high on the list. The first half of the book is pretty decent, not bad at all; however, the last half of the book, four whole chapters, is focused on converting one entity to another. This material should be in another book devoted to that topic, not here. That said, you are paying for fifty percent of a book that is very readable. It is not dense at all, and the "real-world" examples illustrating when one company entity is preferable over another entity are good, though few and far between. The inclusion of MANY more example scenarios would have made this an extremely informative book.


Buy it on Amazon

Labels: , , , , , ,

Book Review: Trump University Asset Protection 101 by J.J. Childers

Highlighter Rating SystemHighlighter Rating SystemHighlighter Rating SystemHighlighter Rating SystemHighlighter Rating System Very well written and sound advice


This is an extremely informative and well-written book. Building wealth is vitally dependent on legally reducing your taxes by forming companies and properly structuring your income between earned income and passive income. The author covers the various forms of company entities such as general and limited partnerships, S Corps, C Corps, and LLCs. I've read several books about corporate entities and this is the first one I've found with practical, real-world examples that explain why an S Corp is better in one situation, while a C Corp is better in another, and an LLC is better in other circumstances. I came away believing (rightly or wrongly!) that I actually understand the differences now. The author then builds on that and explain how you can use multiple entities of different types to create a solid asset protection plan. He gives an excellent example of how a actively traded investment account can be structured as a limited partnership (with brokerage accounts held inside it) and whose general partner is a corporation. I've noticed this same structure when reading annual reports over the years, and now I understand why this structure reduces liability and has very significant tax advantages.


There is much more than what I've covered here. I highlighted text on almost every page in the book. My highlighting ratio is the predominant factor of how high I will rate a book. I will continue to pull this book off the shelf and refer back to it.


Buy it on Amazon

Labels: , , , , , , ,