Tuesday, December 30, 2008

Firefox 3 Cookies Issue

Recently my computer did what all computers did and started to demonstrate they are emotional entities. It just got mad at me and quit saving any login information on sites I visit and have tabs open to most of the day.

This is one of those situations where I don't know what the cause was but the cure was easy enough. It had to do with deleting the cookies.sqlite as described here.

Tuesday, December 2, 2008

Favorite Windows Vista Sidebar Gadgets

There are some helpful gadgets on this list.

Wednesday, July 16, 2008

Email not working

When working with a client today on email problems I realized I had never provided a simple tutorial for helping with email problems. As a user of Thunderbird, Outlook and/or Outlook Express you might have run into a situation where you can't send and/or receive emails for a new email account that has been set up. Sometimes it can be traced to a configuration problem when setting the account up in your email client and other times it can be a problem with your Internet Service Provider (ISP) or the email server you're attempting to use.

To remove your email client from the equation you can test your incoming mail server (the server you check when picking up email) and your outgoing mail server (the server that is used for delivering emails that you author).

Here is a simple tutorial for testing a POP3 incoming mail server and a SMTP outgoing mail server..

Monday, July 14, 2008

Remote Desktop Connection on Windows Vista Home Premium

In case you've only found blogs that say it can't be done then buckle up boys and girls, Tony Chan has come to the rescue and the ride isn't even a harrowing one.

Steps to Add Remote Desktop to Vista Home Premium:

1. Download termsvr.zip here
2. Extract Termsvr.zip to a temp directory
3. Start "Command Prompt" in Administrator mode (Run As Administrator)
4. Run the corresponding batch file for your Vista edition
5. Allow TCP Port 3389 on Windows Firewall or any other firewall product.
6. Done
source: Remote Desktop on your Windows Vista Home Premium

In the event that the link to Tony's blog entry goes bad let me know and I can email you the termsvr.zip file.

Wednesday, July 9, 2008

Windows Server 2003 Administration Tools Pack

Recently I upgraded my main laptop to Windows Vista Business and as usual it begins the search for the newer versions of some of the tools that you've become so accustomed to using. This blog post has to do with the Windows Server 2003 Administrator Tools Pack. If you haven't used it before I'd recommend you check it out.

Windows Server 2003 Service Pack 2 Administration Tools Pack for x86 editions

Thursday, July 3, 2008

Dell Bluetooth Travel Mouse


We recently ordered 4 new Latitude D830s for a client with the Bluetooth mice and upon received had an interesting experience. Granted my experience with Bluetooth is limited (okay non-existent except for my phone headset) it was still interesting. The paperwork that came with the mouse shows that when setting up Bluetooth you just select the "Don't use a passkey" item. Well the problem is either those were written for Vista (and we're using XP Pro) or the aren't using the Bluetooth utility that comes with the new Dell. After a few minutes of seaching it appears the mouse does indeed have a PIN.

Putting 0000 in the PIN window connected the mouse successfully and we had the pretty Dell BT Travel Mouse in the Bluetooth Settings utility.



Thank the Lord above for simple solutions.

Friday, June 20, 2008

Protect Your Home Network Tidbit - A Simple And Quick Solution

Too often non-technical people get confused when they hear so many terms about security and from some of the press you read you would think that there is a full-time team of hackers that were hired just to take down your home network. The reality is there are a lot of automated attacks happening every second that are much more effective than a full-time team sent after you. Some of these attacks go after simple things that a home user could change in a matter of seconds to protect themselves.

Today's tidbit will cover the common malware attack now that tries to compromise your router using the default password. There are so many variations out there but here's a search if you're interested in learning more about the different attacks. If you know you have a router however you have no idea how to log into it here is a quick overview.

1. In Windows open a command prompt using Start Menu > Run > Type 'cmd' > Click 'Ok'
2. Type ipconfig
3. Get the IP address from the gateway.
Example of my laptop which has a wired and wireless connection.

Ethernet adapter Local Area Connection:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 10.0.0.148
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.0.0.1

Ethernet adapter Wireless Network Connection:

Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : 10.0.0.140
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.0.0.1
4. Type the Default Gateway into Internet Explorer, in the above example you would type "http://10.0.0.1/"
5. If you're not sure of the username and password go to Google and type your router model number and default username password. Here's an example search from the popular Linksys WRT54G. As you can see in Google it isn't even necessary to click on the links, the default password and username is shown. Here is another site that lists most major model's usernames and password.

Friday, June 13, 2008

Internet Connection Drops Every Few Minutes

Do you have an issues with your internet connection dropping every few minutes or multiple times per hour? If you're running XP Home/Office you've found a possible simple fix.

The first thing is to verify that the problem exists on your PC by eliminating the router and internet connection at your location. Go to a friends or neighbors house that has internet access and make sure that the problem continues there. If so the issue may be a corrupt Winsock. Be aware that running this command can cause issues with some VPN software which will require it to be reinstalled or some applications that create virtual adapters.

To use the fix open a command windows (cmd at the Run dialog) and type the following:

c:\> netsh winsock reset catalog

After the command is executed it will be necessary to restart your PC. If that doesn't fix your problem you want to read the following at Microsoft Help & Support.
How to determine and to recover from Winsock2 corruption in Windows Server 2003, in Windows XP, and in Windows Vista

Thursday, June 12, 2008

Display Datasheet View in SharePoint 2003

Recently we had a user contact us that was having an issue getting the datasheet view to work in SharePoint 2003. The following message was appearing when attempting to use the datasheet view.

The list is displayed in Standard view. It cannot be displayed in Datasheet view for one or more of the following reasons: A datasheet component compatible with Windows SharePoint Services is not installed, your browser does not support ActiveX controls, or support for ActiveX controls is disabled.
After some investigation there were a few possible fixes.

1) http://www.mindbusiness.de/.../sharepoint-server-2007-moss-2007/
2) http://support.microsoft.com/kb/909506/en
3) http://objectmix.com/sharepoint/329100-cannot-edit-lists-datasheet-view.html

For us the fix was what was behind item #3. Since this customers laptops are delivered with the full Office 2003 suite (Office 2003 Pro, Project, Visio) we uninstalled the trial version of Project 2007 which he had installed recently.

Google Easter Egg

In case you've never heard of an easter egg I'll defer to wikipedia.

A virtual Easter egg is an intentional hidden message or feature in an object such as a movie, book, CD, DVD, computer program, or video game. The term draws a parallel with the custom of the Easter egg hunt observed in many western nations.

As Google has shown in the past they have a sense of humor and don't mind doing something a little risky to entertain their users. My brother sent me this one today via, what else, Google Talk.

1. Open your Google Reader.
2. Enter the following keystrokes: Up, Up, Down, Down, Left, Right, Left, Right, B, A
3. The background on the left should change and you should now see a little character there to assassinate an otherwise regular reading day.

Good day.

Friday, June 6, 2008

SkypeOut Caller ID

Today I'm logging into my skype account and happen to scan the home page and what do I see?


So I quickly scan my calendar and no, it isn't April 1st and I don't see a full eclipse outside so something must be going on. I click the View Settings link and .... wait for it ....

The heavens open and Josh Silverman personally touched my account and I could hear the angels singing, just like the shepherds in the field described in Luke Chapter 2. Skype, at long last, has found it fit to bestow upon me, a lowly Skype user, outbound caller identification. I take a moment to gain my composure as a tear falls on my keyboard and I thank the Lord for bringing conviction to the Skype staff to bring caller id to the U.S.

Google Filter Issues?

If you run gmail combined or multiple filters in a single filter entry here is a point if it ever appears that the filters 'quit working'.

Background
In case you didn't know it is possible to apply multiple filters with the same action in a single entry. For example lets say you want to flag a group of inbound emails that come from different people. You get some emails from me.com and you.com however the actions you perform on them is identical when they arrive. You could create a filter that states emails from me.com|you.com in the from portion of the filter. The pipe (|) is the delimiter that separates the different from addresses. It is also not necessary to put the entire email if you get emails from the same domain but different email addresses.

Cause
As of the date of this entry the filter will only process combined entries until it reaches a double pipe (||). In my case it was just an accident on my part as I had removed part of the filter at some point and accidentally left the trailing pipe for that domain. For example if you had a filter as follows: me.com|you.com||us.com|them.com all of the me.com and you.com email would be processed correct however when it reached the double pipe it would fail to process the remaining domains.

Solution
Replace the double pipe with a single pipe. In the example above me.com|you.com||us.com|them.com would be changed to me.com|you.com|us.com|them.com

The hope is that someone on the gmail team will stumble across this entry and by the time you read it the problem will no longer exist :D

Thursday, June 5, 2008

Sql Server 2000 Reporting Services (SSRS) LogonUser Problem

We recently had an issue where we had set up a new server for a customer due to a problem with their older server. It is running some older stuff: Sql Server 2000 as well as the associated Sql Server 2000 Reporting Services, it also has all of the latest SPs installed. When we set up the user that SSRS would use to connect to the Reporting Service database we must have typed a password in incorrectly and were getting the following error in the event log and could not connect to the http://localhost/Reports website.

Event Type: Error
Event Source: Schedule and Delivery Processor
Event Category: Management
Event ID: 129
Date: 6/5/2008
Time: 12:16:29 PM
User: N/A
Computer: SERVER
Description:
The encrypted value for LogonUser in the RSReportServer.config file cannot be decrypted.

After some looking around we found a simple solution to our problem. It essentially resets the database user to the information provided. Be cautious however because it could cause problems with existing data. Since we don't use subscriptions or any other data and deploy from the development environment on another server it was not an issues for us.
C:\>rskeymgmt -d
All data will be lost. Are you sure you want to delete all encrypted data from
the report server database (Y/N)? Y

The command completed successfully

C:\>rsconfig -c -s %computername% -d ReportServer -a Windows -u DOMAIN\user -t
The command completed successfully

C:\>rsactivate -c"C:\Program Files\Microsoft SQL Server\MSSQL\Reporting Services\ReportServer\RSReportServer.config"
The command completed successfully
Best wishes on resolving any issues you might be having.

Friday, May 23, 2008

Skype Call Quality

If you're attempting to improve your Skype call quality one thing to consider is Quality of Service setting on the router. Especially in cases where you do a lot of multitasking or you're using a network that has other users adjusting the QoS settings can have a noticeable impact on the quality of your calls.

The attached article walks you through updating the router software, dd-wrt, to give priority to Skype information traveling over your network. It provided a noticeable change to my Skype calls. An easy way to test the changes is to use the Skype Test Call functionality and listen to your voice during the playback.

DD-WRT Tutorial 4: Defining Priorities with QoS

Thursday, May 8, 2008

Alternative Way To Force Logoff In Terminal Client/Remote Desktop

Due to my working from a hotel and the way they set up their network I was only able to VPN into a client's network and connect to one of their servers. There were connectivity issues at the hotel and their network would keep dropping my connection. Last time I connected it said I had exceeded the maximum number of connects on the only server I could connect to remotely....uh oh.

After some search I found a few tools available in the Windows Server 2003 Administrator Pack I've got installed on an XP laptop. For the example below we're going to assume the IP address of the server is 192.168.1.100

C:\>qwinsta /SERVER:192.168.1.100
SESSIONNAME -- USERNAME -- ID -- STATE -- TYPE -- DEVICE
rdp-tcp#166 -- myuser -- 2 -- Active -- rdpwd
rdp-tcp#169 -- myuser -- 1 -- Active -- rdpwd

Using the ID of #1 above we disconnect that user.
C:\>rwinsta /SERVER:192.168.1.100 1

Wednesday, February 6, 2008

How To Fix A Bad DVD

If you've ever had a DVD that was having problems you might want to consider trying out ddrescue. I used it on a video that had one too many scratches on it and it created a reusable iso that worked well enought to watch.


user@machine-> aptitude show ddrescue
Package: ddrescue
State: installed
Automatically installed: yes
Version: 1.13-3
Priority: optional
Section: universe/utils
Maintainer: Ubuntu MOTU Developers
Uncompressed Size: 77.8k
Depends: libc6 (>= 2.5-0ubuntu1)
Description: copies data from one file or block device to another dd_rescue is a tool to help you to save data from crashed partition. It tries to read and if it fails, it will go on with the next sectors where tools like dd will fail. If the copying process is interrupted by the user it is possible to continue at any position later. It can copy backwards.

rdesktop Minimize From Full Screen

After spending the time to get a Xubuntu workstation to VPN into a Windows environment I realized that I've become accostomed to using Windows Remote Desktop in full screen however when running rdesktop in full screen the small bar at the top that allow you to minimize didn't appear. The solution is easy however, CTRL+ALT+ENTER and it reduced size so you can see your XFCE panel.

If you're not sure how to launch rdesktop in full screen here is an example of the command that is launched from an icon on my panel.

rdesktop -T "AD Main" -d ADDomain -u ADAdmin -f -a 15 -P 192.168.0.1

Tuesday, February 5, 2008

021 no connection named [OpenSWAN]

Since it had been over a year since I had last used OpenSWAN I couldn't remember why this error occurred. Searching Google for 021 no connection named "blah" was not producing a fix. Finally, and I admit this a little embarrassed I read the manual and found that I had forgot to do after configured the /etc/ipsec.conf file.

user@machine ~> sudo ipsec auto --add myconnection


So if you see the following in the future don't forget to add the connection.

user@machine ~> sudo ipsec whack --name myconnection --initiate
021 no connection named "myconnection"

Restarting Pluto [OpenSWAN]

If you've suffered the same fate as I have...the inability to locate solutions on restarting pluto aside from the infamous RTM this post if for you.

First we'll make sure pluto is running and get the PID

user@machine ~> sudo ipsec setup --status
IPsec running - pluto pid: 8794
pluto pid 8794
No tunnels up


Now we restart everything related to ipsec

user@machine ~> sudo /etc/init.d/ipsec restart
ipsec_setup: Stopping Openswan IPsec...
ipsec_setup: Starting Openswan IPsec 2.4.6...
ipsec_setup: insmod /lib/modules/2.6.22-14-generic/kernel/net/key/af_key.ko
ipsec_setup: insmod /lib/modules/2.6.22-14-generic/kernel/net/ipv4/xfrm4_tunnel.ko
ipsec_setup: insmod /lib/modules/2.6.22-14-generic/kernel/net/xfrm/xfrm_user.ko


Last but not lease lets make sure pluto restarted and has a new PID

user@machine ~> ipsec setup --status
IPsec running - pluto pid: 9193
pluto pid 9193
No tunnels up

There are probably other ways of accomplishing this as well however so if you know please add a comment letting everyone know.

Monday, January 28, 2008

Remove Shut Down button on Windows Server 2003

We recently assisted a client that has slowly moved from having staff in an office setting to most of them being virtual. Since they are doing away with their large office and instead going to a small office without the availability of a small server room we needed to move them to a data center. Part of the move required that we allowed access to their accounting data and software which has always resided on a machine in their office. We installed all software successfully on a Windows Server 2003 Standard machine however we wanted to make sure they don't hit Shutdown when logging off through the Start Menu since all accounting work will now be performed through a Remote Desktop connection. It is a simple registry addition as indicated below.

Key Location: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer
Type: REG_DWORD
Name: NoClose
Value: 1

Thursday, January 24, 2008

IPKG Update Problems

When attempting to run the command to update ipkg on a new unslung box I kept seeing the following issue.

user@machine ~> ipkg update
ipkg_conf_init: Failed to create temporary directory `(null)': No such file or directory


Since I hadn't set up an unslung box in quite awhile I couldn't remember how I'd fixed this before after I switch over to using bash instead of the default sh. Then like a flash it hit me...temporary directory genius.

user@machine ~> mkdir ~/tmp

Now it works like a charm.

Tuesday, January 22, 2008

Synchronize/Update Time on Active Directory DC

Recently while performing some updates on a couple of DC on a Windows only corporate network I noticed the time seemed off by more than 10 minutes. After a little investigation it appears that the time wasn't being updated. Using Google as my dear online search friend I came across this post. The script has been saved to a .bat file that is run on as a schedule task now so the problem is a thing of the past (pun intended).

On the main DC:
NET TIME /SETSNTP:time.windows.com
NET STOP W32TIME
NET START W32TIME
W32TM /config /reliable:YES
W32TM /resync /rediscover


On all other DCs:
W32TM /resync /rediscover

Thanks Chrissy for the good work on that one and make sure to visit Chrissy's blog.

Tuesday, January 1, 2008

Microsoft Word 2000 Unspecified Code Execution Vulnerability

What can you do about it, nothing until Microsoft issues a patch but you should be aware of it. Here is the overview from SecurityFocus:


Microsoft Word 2000 is prone to an unspecified remote code-execution vulnerability.

Microsoft Word 2000 is confirmed vulnerable to an unspecified remote code-execution issue. Exploit attempts against Word 2003/XP will consume all CPU resources and will cause a denial of service for legitimate users.

Note that this issue is distinct from issues described in BID 21589 (Microsoft Word Code Execution Vulnerability), BID 21451 (Microsoft Word Unspecified Remote Code Execution Vulnerability), and BID 21518 (Microsoft Word Unspecified Code Execution Vulnerability).


The only preventative measure being offered currently is this one by Symantec.


To protect yourself against these threats, do not trust unsolicited files or documents about “interesting” topics. Do not open attachments unless they are expected and come from a known and trusted source.

SharePoint 2003 Menus (MSOWebPartPage_OpenMenu)

As we were attempting to add custom menus to SharePoint 2003 we discovered that is was actually pretty easy using a built in JavaScript function provided (and utilitized) by SharePoint. The function name is MSOWebPartPage_OpenMenu and the problem was that the posts we found discussing how to do it with SharePoint seemed to indicate that the function allowed some optional parameters but we couldn't seem to locate an online reference describing the function in detail. Since we're not SharePoint 'gurus' we did a search of our server which indicated that it was getting pulled from the IE55UP.js file.


function MSOWebPartPage_OpenMenu(MenuToOpen,SourceElement,WebPart,InConnectionsMode)
{
if(WebPart)
{
MenuWebPart = WebPart
MenuWebPartID = WebPart.WebPartID;
var minOption = MenuToOpen.all.item('MSOMenu_Minimize');
var restoreOption = MenuToOpen.all.item('MSOMenu_Restore');
var closeOption = MenuToOpen.all.item('MSOMenu_Close');
var deleteOption = MenuToOpen.all.item('MSOMenu_Delete');
var exportOption = MenuToOpen.all.item('MSOMenu_Export');
var resetPersOption = MenuToOpen.all.item('MSOMenu_RestorePartDefaults');
var helpOption = MenuToOpen.all.item('MSOMenu_Help');
var connectionOption = MenuToOpen.all.item('MSOMenu_Connections');
if(minOption)
{
minOption.style.display = (WebPart.allowMinimize == 'false' || WebPart.style.display == 'none') ? 'none' : '';
}
if(restoreOption)
{
restoreOption.style.display = (WebPart.allowMinimize == 'false' || WebPart.style.display != 'none') ? 'none' : '';
}
if(closeOption)
{
closeOption.style.display = (WebPart.allowRemove == 'false') ? 'none' : '';
}
if(deleteOption)
{
deleteOption.style.display = (MSOLayout_inDesignMode && WebPart.allowDelete != 'false') ? '' : 'none';
}
if(exportOption)
{
exportOption.style.display = (WebPart.allowExport == 'false') ? 'none' : '';
}
if(helpOption)
{
helpOption.style.display = (WebPart.helpLink == null) ? 'none' : "";
}
if(resetPersOption)
{
resetPersOption.style.display = (MSOLayout_inDesignMode && WebPart.HasPers == 'true' && WebPart.OnlyForMePart != 'true') ? '' : 'none';
}
if(connectionOption)
{
connectionOption.style.display = (MSOLayout_inDesignMode ? '' : 'none');
}
if(InConnectionsMode != 'False')
{
var connMenu = document.all.item('MSOMenu_Connections'+WebPart.id);
if(connectionOption != null && connMenu != null)
{
connectionOption.outerHTML = connMenu.innerHTML;
}
}
}
try
{
if (!MenuToOpen.isOpen()) MenuToOpen.show(SourceElement, true);
}
catch(e)
{
}
}


In case you're looking for how to build a menu in SharePoint see these links:
SharePoint Menus - roll your own
WSS Navigation

ASP.NET - Store ViewState in Database using VB.NET

We had finally crossed the barrier of ViewState performance and were watching our application performance drop signficantly. I did the usual websearches and arrived at two solutions: 1) start changing major bits of code to not use ViewState and/or 2) store ViewState in the database.

This page made it seem easy however the one issue was that we're using VB.NET and not C#. From some additional searching it appeared that no one had made the change to store it in the database using VB.NET so I decided to go after it. It really didn't take long to recode in VB.NET however I know there are a few issues with the code (i.e. it is ugly and uncommented) however I wanted to get something out there in the event it helps someone out sooner than waiting and not getting it posted for another month or two.

SqlViewState Class
Database Code

To use just change your code to inherit from the class instead of the System.Web.UI.Page. The performance difference in our case was significant. We know we need to move to AJAX however when we started the AJAX stuff was not mature enough for our use so this solution is easy to implement and we saw a 5% to 30% increase in performance. If you look at the source of the page you'll see the following:


<input type="hidden" name="__VIEWSTATEGUID" value="130adb08-0644-470a-9c3b-0cc630defd32" />
<input type="hidden" name="__VIEWSTATE" value="" />