Archive for the 'Software' Category

Installing Crystal Reports XI Release 2

Today I found out the hard way that if you have Crystal Reports XI already installed on your machine and you are going to upgrade to Crystal Reports XI Release 2 you should uninstall the original as the Release 2 “Upgrade/Service Pack” is a whole new installer and doesn’t remove the previous version automatically.  Once I had installed Release 2 each time I tried to access a report in Visual Studio I was prompted that Windows needed to setup the software.  This process would take about 10 minutes.  Also if I tried to save changes I had made to a report they would be lost and I would get an Active X error.  After several hours of researching the problem I found the solution.  It was a “good” waste of a day.  After uninstalling Crystal Reports XI and Crystal Reports XI Release 2 and then just installing Crystal Reports XI Release 2 I had an installation that works correctly.

Mobile SSH Client for your Blackberry

A friend told me about this cool SSH client that you can run on your Blackberry.  It has already come in handy for me when I needed to reset a service on linux box and I was out running errands.  It is called MidpSSH.

Crystal Reports 10 Runtime and Citrix

Earlier this week I installed the Crystal Reports 10 run time on a client’s Citrix server.  After installing I tried to run our application and the run time kept on giving me an error saying “Load report failed”.  Doing some research we found that the Crystal run time when installed assumes there is going to be a C drive.  In this case we didn’t have one.  The main system partition was W.  The below knowledge base article describes what needs to be done to get the run time to work on a server that doesn’t have a C drive.

Symptom

A Microsoft Visual Studio .NET application uses Crystal Reports 10 for Visual Studio .NET SDK as the reporting development tool.

When the application is deployed to a computer that does not have a C drive, the following error message appears:

“Load Report Failed”

Why does this error message appear and how can it be resolved?

Background Information

———————-

It is common to not have a C drive on Terminal servers and Citrix servers.
Resolution

This error message appears because the application sets registry values that point to the C drive. To resolve the error message, use the following steps to change these registry values in the Registry Editor.

====================

WARNING:

The following resolution involves editing the registry. Using the Registry Editor incorrectly can cause serious problems that may require you to reinstall the Microsoft Windows operating system. Use the Registry Editor at your own risk.

HELP:

For information on how to edit the registry key, view the ‘Changing Keys And Values’ online Help topic in the Registry Editor (Regedit.exe).

RECOMMENDATION:

It is strongly recommended that you make a backup copy of the registry files (System.dat and User.dat on Win9x computers) before you edit the registry.

====================

1. On the ‘Start’ menu, click ‘Run’.

2. In the ‘Run’ dialog box, type “Regedit” then click ‘OK’.

3. In the Registry Editor browse to the following subkey:

HKEY_LOCAL_MACHINE\SOFTWARE\Crystal Decisions\10.0\Report Application Server\InprocServer\LocalConnectionMgr

4. Right-click the ‘ConnectionDirectoryPath’ string value, then click ‘Modify’.

5. In the ‘Value data’ text box, change “c:\” to the drive letter where the following directory exists (You may need to search your computer to find where this directory exists):

\Program Files\Common Files\Crystal Decisions\2.5\bin

Click ‘OK’.

6. Right-click the ‘LocalConnectionMgr’ subkey, click ‘New’ then click ‘String Value’.

7. Name this String Value “ReportDirectoryPath”.

8. Right-click the ‘ReportDirectoryPath’ string value and click ‘Modify’.

9 In the ‘Value data’ text box, type the same drive letter as you typed in step 5.

====================

NOTE:

After making changes to the registry, restart the affected service or application as required.

====================

Now, when the application is run, the error message will not appear.

Cheat Sheets

Came across these cheat sheets today:

Cheat Sheets for Front-end Web Developers

Windows, Google Search, Gmail, Google Reader

For Developers

Linux

Various

Network Drives and Window’s Services

The other day I was working with a program that runs as a windows service on a client’s server. One of the files that the program needs to access is on a mapped network drive. I had tested the program while I was logged in as administrator and everything worked fine, but when it run on its schedule it kept failing. It took me a little while to realize it was because when it ran as the windows service user there was not mapped drive. To solve this problem I had to switch the references to the file to UNC format. The format looks like: \\server\share\file_path

Firefox Extensions

One of the things I like about Firefox is that there are many people out there writing some pretty cool extensions. Below is the list of the extensions I am using and I am always looking for new ones that can improve the user experience or make my time surfing the Net easier.

DOM Inspector
Domain Lookup
DownThemAll
EC2 UI
FireShot
Live HTTP Headers
Meebo
RefControl
ScribeFire
SEO For Firefox
ShowIP
YSlow

You can find more information about the above extensions by going hereDomain Lookup hasn’t been added to Mozilla yet so you can find it by going here.

What is your favorite extension?

Instant Messaging

I have been using Instant Messaging (IM) software for a long time. I started out on AIM and was able to just stick with that client for many years. Then I had some friends that only used YIM so I started running it too. Then a couple years ago I started using MSN and Google chat. I started having way too many IM programs running. Frustration set in rather quickly and I was introduced to Trillian which helped reduce it. However, soon after some offices location that I was working in started blocking IM traffic. This got frustrating as I had to start sending emails like it were IMs. I believe IM can be a very valuable tool for communication. This is assuming you are using it to be more productive and you are not busy chatting with your friends all day. About a year ago I was introduced to a web based IM program that tied many IM networks together into one client. The site is Meebo.com. Meebo supports AOL (AIM), Yahoo (YIM), Google Talk, MSN, ICQ, and Jabber. Since it is browser based and running over http protocol I can chat behind many firewalls that block the instant messaging client.  This assumes the network admin didn’t decide to block the Meebo site entirely.  Another advantage is I don’t have a need for all the different IM clients and can jump on IM on any computer with internet access and not have to worry about setting up any additional software on someone else’s computer. As an extra benefit for some is that Meebo allows you to put a widget on your website that will allow your website visitors to chat with you without them even needing an IM account.

Securing WordPress Part 2

After publishing Part I and doing some more searching on Google I came across the WordPress Automatic Upgrade plugin. The plugin will keep your WordPress installation updated to the newest version available. Reading through the comments it looks like a pretty good plugin and I’ll be recommending it to my friends who have problems keeping their versions up to date.

Previously I mentioned that you can use the .htaccess file to block access by IP address. If this is too much trouble or you don’t feel comfortable setting it, then there is another option that provides similar security. The AskApache plugin will create the .htaccess file with a username and password that is controlled at the Apache level to help secure the admin section of your blog.

A final plugin is Login LockDown which will disable the login function automatically lock out an IP range for an hour after 3 failed login attempts in 5 minutes. The plugin can be configured with different options. This will help stop the brute force password discovery.

Securing WordPress

Over the last couple of weeks some people I know have had their Wordpress installations hacked. The one common denominator is that they were all running older versions of the software and had not done upgrades for a while. The best thing to do is to make sure you do the upgrades. Now I know doing that is not always convenient, so I went looking around for some ideas how to make it a little more secure using Apache. The article with the best advice came from Matt Cutts and had to do with using Apache’s .htaccess file to limit access to the /wp-admin/ directory by IP address. If you have a dynamic IP address you may have to FTP into your site and edit the file to include the new IP address before you can access the admin section of your blog. The next tip he had was making sure you don’t leak unnecessary information to a potential attacker by putting a blank index.php file in the plugins directory. You can also turn off the directory browsing in Apache. The final tip was to remove the Wordpress version tag from your header template so a potential attacker can’t view it and find out quickly what holes may exist. For details on how to do the above check out the article.