OCDProgrammer.com

It's Microsoft's World, and I'm just living in it
View Clarence Klopfstein's profile on LinkedIn

Clarence Klopfstein's Facebook profile

This site is under construction...

Categories

New Comments

Referring Sites


Disclaimer

  • This is MY blog. The views represented here are not in relation to anybody else. Please read my full disclaimer for a more complete disclaimer.

How to tech support friends and family...

January 6, 2009 00:00 by ckincincy

Well any geek can certainly relate to being the guy that people call when things go south on their computer.

A few years back I came across a post on LifeHacker that fits the bill perfectly. 

I could go on and on about how to do this, but the audience for this blog is fairly technical so I'm going to just link you to the article and let you figure it out.  If you need help, don't hesitate to ask.

How to Reverse VNC.

In case that page gets deleted, you can see my printout of that page here.

How do you help your relatives?

Though when researching this post, I found this alternative (and possibly better) fix.


Categories: Tech Tips
Actions: E-mail | Permalink | Comments (2) | Comment RSS

Domain Registry of America

January 2, 2009 21:16 by ckincincy

image

If you own a domain you have heard of this company.  Domain Registry of America.  The story for me started about 9 months ago.  A client of mine was having issues with their .org of their domain name.  We got it registered and transferred.  Then I started looking for the history behind the .com address.  Found out that an office worker had received the spam like letter from Domain Registry of America and they paid their exorbitant $35 renewal fee.  So now Domain Registry of America was the registrar of record for their .com domain. 

I thought it wasn’t much of a big deal and we’d just initiate a transfer to GoDaddy.  Contacted Domain Registry of America only to find out they put a 120 day hold on any new domains.  You can’t transfer them within that 120 period.  Lets not forget that NO OTHER REPUTABLE company puts such a limit on domains.  So after many frustrating emails on the subject, I figured I’d just wait them out.

Now it came time to initiate a transfer from them to GoDaddy.  I went to GoDaddy and filled out the information to see that they had the technical contact email as privacy@droa.com.  So I logged back into Domain Registry of America’s admin page to verify (again) my contact information, only to see a not so noticeable check box to make this happen.  I turn that option off and reinitiate the transfer.

Comes down to where I need the “EPP Key” to transfer the domain.  So I call up their customer service and give them my domain.  The customer service rep then goes to ask me what my password is… IE THEY HAVE THE PASSWORDS NOT ONLY IN THE CLEAR BUT EASILY ACCESSED!!! So they then send me the code via email and their email was laughable:

image

The first issue here is that they don’t have a clue who my registrar is at this point, and it certainly isn’t Melbourne IT, LTD. D/B/A Internet Names Worldwide.  So their email is just a continuing of the scam.  I’m stunned that the government hasn’t stepped in to deal with this scam yet.

So the moral of the story?  Send an email now, yes NOW, to all of your clients warning them that if they get any mailings from any company (but ESPECIALLY DROA) to contact you for clarification.


Categories: General | Tech Tips
Actions: E-mail | Permalink | Comments (0) | Comment RSS

Windows Live Writer 2008

December 27, 2008 18:43 by ckincincy

windowslivewriter2008I run two blogs, and if you've ever run a blog you know that one of the biggest headaches is using the built in HTML editor to make a post. 

In comes probably the best software Microsoft has ever released, Windows Live Writer.  gives you advanced controls so you can make a nice looking blog post with ease.  It works with many blog platforms, including the one this blog is built on (DotNetBlogEngine.Net).

I am actually posting this with their new version, Windows Live Writer 2009 – Release Candidate, but there is at least one issue with DotNetBlogEngine.net.  I have submitted the bug to both the WLW team and the DNBE team.  However their old version is perfectly functional, so when you visit the site go to the right side bar and download the stable version, or be ready to uninstall their current version in favor of their stable version. I know a lot of techies are weary of Microsoft Products, but trust me on this one... its an incredible piece of software and worth the risk.


Online Learning Tools

December 24, 2008 18:48 by ckincincy

A few weeks ago my son was struggling with some spelling words, and I was listening to him and my wife talk about them.  He then asked if he should go test himself on the computer.

Being the geek I am, I was interested in what she was talking about.  Turns out he has been using a web site to help learn his spelling words.  I took a look at the site and was impressed. Sometimes I wonder how we learned anything back in the day :-)

image


Easily Switching Profiles in Thunderbird

November 13, 2008 15:42 by ckincincy

In my effort to migrate to my more professional domain I needed to setup a new profile in my email client of choice, Thunderbird.  Many other clients have this built in, but unbelievably Thunderbird does not. 

Thankfully there is a plug-in to make it happen.

After you install the plug-in you will see the following menu option:

image

Now what is great about all of this is you can actually have multiple identities open at once.  When you select a new identity to open up you get the following dialog box:

image

So why do this and not just have all my emails checked from one profile?  To make 100% sure that when I want to email somebody from OCDProgrammer.com with my OCDProgrammer.com signature, I do.


'.', hexadecimal value 0x00, is an invalid character. Line 1, position...

October 5, 2008 16:00 by ckincincy

Last week we upgraded our company from Sybase to SQL Server 2005.  All of a sudden one of our web applications started throwing this error:

'.', hexadecimal value 0x00, is an invalid character. Line 1, position 198128.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.Xml.XmlException: '.', hexadecimal value 0x00, is an invalid character. Line 1, position 198128.

This was happening when I was calling a .NET web service via an ASPX page.  The web service call returned a serialized object:

For understanding, I have a class similar to this:

Model.Customer cust = new Customer();
cust.Id = 1;
cust.Name = "CK IN CINCY";

Now for the code that gave me this error (ie the ASPX code behind):

Model.Customer cust = new Customer();
WebSvc.GetCustomer(1, out cust);

This would blow up.

The web service looked like this:

[WebMethod]
public int GetCustomer(int Id, out Model.Customer cust)
{
     // Fill cust object from database
     return 1;
}

The problem was the data in the database contained null characters.  This is to understood as different than null records.  A null record is self explanitory and can be deal with inside the sql with an isnull call.  The problem was that the record existed but somehow has a null character.  CK IN [NULL CHARACTER] CINCY.  In this case, isnull won't solve the problem.  So after about five hours of searching I found this post.  Which contained this function, which did the trick for me.  Hopefully this saves you 5 hours of your time :-).

 

/// <summary>
/// Removes control characters and other non-UTF-8 characters
/// </summary>
/// <param name="inString">The string to process</param>
/// <returns>A string with no control characters or entities above 0x00FD</returns>
public static string RemoveTroublesomeCharacters(string inString)
{
    if (inString == null) return null;

    StringBuilder newString = new StringBuilder();
    char ch;

    for (int i = 0; i < inString.Length; i++)
    {

        ch = inString[i];
        // remove any characters outside the valid UTF-8 range as well as all control characters
        // except tabs and new lines
        if ((ch < 0x00FD && ch > 0x001F) || ch == '\t' || ch == '\n' || ch == '\r')
        {
            newString.Append(ch);
        }
    }
    return newString.ToString();

}

Response.Redirect, Server.Transfer

August 2, 2008 03:00 by ckincincy

After recently launching a website, I had some built in error reporting in it.  Starting seeing a few 'Thread is being Aborted' errors.  I remembered dealing with this at my previous job and that it was related to the Response.Redirect call.

So hopefully with the help of a few of my readers we can put a list of issues related to the various calls that you can make to redirect a user to another page.

Response.Redirect
Response.Redirect was something I first used in classic ASP.  now due to the nature of that platform I didn't see any issues with it.  But in .NET its a different story.  Microsoft gives us a few versions of this call.

1. Response.Redirect("URL")  - The parameter is just the URL that you want the user sent to.  Pretty strait forward.
2. Response.Redirect("URL", true/false) - The second parameter is what causes the error above.  By default version one of this call sets the second parameter to true.  However what that does is 'abort the thread' so as your page goes down to the next call it will see that the page is being aborted.  By setting this to false, you fix the issue.  However this is not idea because by setting it to true you are getting a bit more overhead on your HTTP traffic because you are telling the server to continue the request. Even though you have moved on.

Server.Transfer
Server.Transfer is a lot like Response.Redirect in that you have two versions to call.

1. Server.Transfer("URL")
2. Server.Transfer("URL", True/False) - The second parameter determines whether or not you can use the objects (like text boxes) on the original page.  If it is set to true, you can use the objects.  If it is set to false, you can't.  Those items expire when the new page loads.

Comparisons
Now from my reading there are a few other distinct differences between the two.

1. Response.Redirect allows you to redirect to pages external to your site. The Server.Transfer HAS to be on your server.
2. Server.Transfer is just like Response.Redirect with a true passed in.  Except it doesn't throw the original error.  This allows you to save server resources as you transfer from page to page.

Well do you have anything to add?  Did I miss anything?

HT: Microsoft
HT: Karl Moore


Windows Always On Top

July 25, 2008 03:00 by ckincincy

image One feature that I use to increase my productivity is an application called AlwaysOnTop.  Basically it adds a menu to the right click on the title bar to make a window 'always on top'.

This allows me to open up one document (lets say a tutorial on how to do something in Visual Studio) and make it 'on top' while I have my IDE open to walk through the tutorial.

There are a lot of similar applications out there, but none of them that I've found are are good as this one.


Uninstalling .NET framework

July 21, 2008 03:00 by ckincincy

I've had two interesting things happen to friends computers over the past few months.

First I got an email from my friends at Tin Roof (by the way, if you want to support a great charity... this is it) telling me that she needed to file an extension on her taxes before she leaves for Nicaragua on Tuesday. However when she started Turbo Tax she was getting an error.

Further investigation by me (via a VNC connection I set up with her a while ago) realized that this was a .NET error.

Turbo Tax spit out the following error: 20888 39915.  A Quick search of their site gave this article.  Basically blaming .NET and their solution has a link to a program that totally wipes out .NET from your system so you can start over.  I downloaded the program, ran it and then reinstalled .NET and her problem was fixed (well after I ran a reboot.bat file that was in the Turbo Tax installation folder, but that's another issue all together).

Then I have another buddy who had been using a program I wrote for my church to transfer files between members of the multimedia team.  Several months ago a basic Windows component of it stopped working right.  I was at a total loss for a solution (as a simple uninstall and reinstall of .NET didn't help).  I let it drop... but I emailed him today with this fix and my hunch is, that this will get him up and running again.

What frustrates me the most about this, is that Microsoft's .NET uninstall doesn't fully uninstall itself.  Many years ago I did some work for Lexmark's All in One printers and one of the BIG things they did was make sure that their uninstall completely wipes out any record of the machine being on your system.  And really there is no excuse for any other behavior.


.NET Search Engine

July 9, 2008 03:00 by ckincincy

If you are a .NET developer you've faced the issues I've faced when using a major search engine... results that don't really fit your problem.

But Google has an interesting feature that allows you to create a custom search engine.  You define the sites it searches. 

Dan Appleman has put together a site www.searchdotnet.com that searches his list of .NET sites and overall the results I get from this site are pretty good.