Tuesday, August 19, 2008

Recent Service Packs and Version From Microsoft

Well, I have went through the installation of all the updates Microsoft has recently released. I finally set up a Windows 2008 virtual machine. I have installed SQL Server 2008 on my workstation (XP), laptop (Vista RTM) and a Windows 2008 virtual machine. I have also installed Visual Studio 2008 & .NET 3.5 service pack 1. Most if not all was a torturous process. Visual Studio 2008 & .NET 3.5 SP1 installs kept throwing exceptions on both my workstation and laptop. SQL 2008 would consistently fail on all sorts of “rules” when the conditions were not configured in a way that the failure was claiming. One example would be the “SQL 2005 Express Tools” rule would fail saying they were installed when they weren’t. It turned out to be RedGate’s SQL Prompt and uninstalling that made it pass. I was really excited about these updates. Sadly the new features and fixes are great but installing them is a nightmare. I have never experienced anything like this before and I hope they stand up and take notice. From what I seen I am definitely not the only one.

Posted by Hakke at 00:21:24 | Permalink | No Comments »

Friday, July 25, 2008

Unlocker & Teracopy

I’d like to mention two great tools I came across the other day, Unlocker & Teracopy.
 
Unlocker runs in the background and when you try to delete something and get a “file in use” or “permission denied” even though you are a local administrator it automatically kicks in. You will get a window showing what the cause of the error is and options to get rid of it by removing the cause for the error.

Teracopy is a replacement for the standard file copying/moving system which allows for extremely faster copy/move operation. If you every tried to copy a large file from/to another system from Vista over a wireless LAN you should automaticlly see the value this has. Yes, SP1 improves that issue however it still doesn’t do it as well as it does on XP.

Unlocker:
http://ccollomb.free.fr/unlocker/

Teracopy:
http://www.codesector.com/teracopy.php

Posted by Hakke at 15:50:02 | Permalink | No Comments »

Thursday, July 24, 2008

Visual Studio 2003 To 2008 ASP.NET Updates Breaks Web Controls

When moving a site using ASP.NET 1.1 to 3.5 Visual Studio throws a nasty little entry in the web.config which breaks web controls such as the menu control. Remove the entry you see below from your web.config to address this issue. I hope this saves some people the hassle of finding this solution like I had.

 <xhtmlConformance mode=”Legacy“/>

Posted by Hakke at 16:40:42 | Permalink | No Comments »

Friday, July 18, 2008

SMTP Tester

Here’s a simple command line tool I built when diagnosing SMTP issues. It is a great companion to Microsoft’s SMTPDiag.

Usage: SMTPTester.exe HOST FROM TO

http://www.codeplex.com/smtptester

Posted by Hakke at 15:12:57 | Permalink | No Comments »

Sunday, July 13, 2008

Visual Studio 2008 Setup Project Build Fails

As many of you may know, setup projects fail on build with no errors in certain solutions. This happens to be a strange LINQ to SQL issue. If one project uses it any setup projects in that same solution will fail on build with no errors. There is a workaround. However this work around is no good for web site projects. The work around is to edit the project file manually. A website project does not have it and the closest thing to it would be the web.config file.

For regular projects do this to workaround the issue:

1. Close VS 2008.
2. Open the project file containing the LINQ To SQL item in Notepad.
3. Remove the following lines:
<ItemGroup>
     <Service Include=”{3259AA49-8AA1-44D3-9025-A0B520596A8C}” />
</ItemGroup>

If you open the DBML designer again you will have to perform this work around again. For solutions with a web site project using LINQ to SQL all you can do is temporarily remove the web site project from the solution, build the setup project and place it back in afterwards.

Luckily even though it says it fails nothing actually fails and the installer is created. Microsoft’s Connect site lists this project as fixed. However it has been stated that with the Visual Studio 2008 SP1 beta the problem still exists. So either there is some hotfix out there that nobody can seem to find or it is going to be a long time until this is actually resolved.

Posted by Hakke at 03:07:11 | Permalink | No Comments »

Thursday, July 10, 2008

Visual Studio 2008 & .NET v3.5 SP1 Beta More Like Alpha

As we all know service packs are supposed to have fixes and enhancements to existing features. However the Visual Studio 2008 & .NET v3.5 SP1 Beta release had a ton of new features. Some of which people like myself were in desperate need of (BIDS in my case). So I figured beta, can’t be too bad, let me give it a try. I was seriously wrong.

Yes beta has no promise of working correctly at all. However beta is a level above a release quality status called alpha. So there is a certain amount of stability expected. In the case of alpha you know it is going to have serious issues.

Then we have Microsoft releasing a beta version service pack for their latest development tools. Yet, even though they were labeled as beta, they behaved like alpha (or CTP as Microsoft likes to call it). So you have them releasing software with an incorrect status and goes against the service pack quality.

So I am left with the question of why did they do this. I figure the answer is simple. These tools lacked important features to be put in full use. So they release these service packs as beta and cram the necessary new features they require. I figure it is simply because they wanted to show that they were going to fill in the missing pieces and soon.

Ok, this is understandable. Although I don’t have to like it to agree with it. I hope this does not become commonplace for them. SQL 2008 CTP (now RC0 by the way) was allot more stable then these supposed beta releases. Oh well, lets hope to see things like this handled better in the future.

Posted by Hakke at 17:53:42 | Permalink | No Comments »

Wednesday, July 9, 2008

HP 2133 UMPC Horrors

My job recently purchased the highly praised HP 2133 UMPC (http://www.hp2133guide.com/). I thought it would be perfect for my needs. Sadly, this was not the case.

First of all the trackpad buttons are on the left and right of it instead of under it which makes navigation a nightmare. Then, you think VIA CPU, that should be low power enough to keep it from getting hot. Wrong! It was way beyond the ability to cook an egg on it. The entire bottom surface getss so hot could flip it over and fry up a burger on it. Luckily the battery is designed to raise up the back and keeps most of the surface from being directly on your lap. I guess this was their work-around for the heat issue. Then you think think, 1280×768 resolution, that leaves me with a ton a of desktop space to work with compared to other UMPCs. That just makes it worse. Even with a 120 DPI and 2.5x magnified reading glasses it was still painful to see anything. I could go on however I think my point has been made.

My 2 children each have and EEE. Even though it has such low specs I would take that over the 2133 any day.

Posted by Hakke at 02:37:43 | Permalink | No Comments »

Wednesday, June 18, 2008

LINQ to SQL Isn’t Ready For Prime Time

Well, lately as I have been converting my projects over to Visual Studio 2008 and .NET 3.5 framework I have been putting LINQ to SQL to use. It is a great ORM (object relational mapping) compared to its competition, nHibernate and ORM.NET. However the use of it in Visual Studio 2008 proves that Microsoft jumped the gun and released an incomplete ORM solution.

I have two reasons for this. The first and most annoying is the lack of support for temporary tables. So if you have a stored procedure which returns its results from a temporary table it is unable to decipher the type of result output. Instead of getting a ISingleResult you simply get an integer set to zero.

The method for dealing with this situation it to manually correct the mapping by right clicking the LINQ to SQL class file, choose “open with…” and select “XML Editor”. Now you are able to make the changes I describe below.

After dragging your stored procedure which uses temporary tables from the server explorer to the the LINQ to SQL class and opening it as XML as described above you will see the mapping is configured like the snippet below.

<Function Name=dbo.spUsesTempTables Method=spUsesTempTables>

<Parameter Name=uid Parameter=uid Type=System.Int32 DbType=Int /><

Return Type=System.Int32 />

</Function>

You will need to replace <Return Type=System.Int32/> as shown in the snippet below.

<Function Name=dbo.spUsesTempTables Method=spUsesTempTables>

<Parameter Name=uid Parameter=uid Type=System.Int32 DbType=Int /><

ElementType Name=spUsesTempTables>

<Column Name=FieldName1 Type=System.String DbType=VarChar(200) NOT NULL CanBeNull=false /><

Column Name=FieldName2 Type=System.String DbType=VarChar(200) NOT NULL CanBeNull=false />

<Column Name=FieldName3 Type=System.String DbType=VarChar(7000) NULL CanBeNull=true /></

ElementType>

</Function>

Not extremly difficult yet it’s enough to be annoying depending on scenarios which result in causing this issue.

The other problem is that, say you are adding another field to be returned from a stored procedure that is mapped via LINQ to SQL, there is no way to automatically refresh the mapping to account for the changed. You must remove the mapping and recreate it. Again not extremly difficult, however far from elegant.

Sadly, even Visual Studio 2008 SP1 deas not address either of these issues. To me LINQ to SQL was the only redeeming feature of LINQ that made me even consider its use. However it shows that they did not fully build the architecture for this properly and aspects such as the ones I mention fell through the cracks.

If you have any input on this topic please comment below.

Posted by Hakke at 04:46:38 | Permalink | No Comments »

Tuesday, June 3, 2008

AeroNotes v0.4

AeroNotes is a simple text editor using the Aero glass technology for the entire window.

This version contains a few small tweaks and fixes.

http://www.codeplex.com/aeronotes

Here’s a couple things I do get paid for so I can do open source projects like this one ;)
top online colleges
structured settlement

Posted by Hakke at 02:46:43 | Permalink | No Comments »