System Tray Icon Missing from System Tray in Windows XP

December 02, 2005 Add Comment

System Tray Icon Missing from System Tray in Windows XP


Symptoms

After the computer started, not all icons that should be present in the system tray (nowadays also called notification area) of the task bar is showing. Often, one or more icons are missing and disappearing from the task bar notification area.

This is known problem, or a bug of Windows XP. It has nothing to do with Hide Inactive Icons that tidy up your notification area.

Cause

The exact cause for the problem is unknown. According to Microsoft, the problem can be caused by the Simple Service Discovery Protocol (SSDP) which discovers Universal Plug and Play devices on your network.

However, Microsoft Knowledge Base may not exactly the same symptom with notification area icons do not appearing issue, as it also has other symptoms:

The pointer changes to an hour glass when you move it over the taskbar.
Some icons do not appear in the notification area.
When you click Start, nothing happens.
The Start button does not work for several minutes, and then it starts to work.
When you restart the computer, the icons in the notification area are missing. If you log off and log on with the same user account, the icons appear.
When you click any icon in the Quick Launch bar immediately after starting the computer, the pointer changes to an hourglass.
Solutions

Possible solutions are many, although none confirmed to be working perfectly. If you have the symptoms as mentioned by Microsoft above, you can try out resolution suggested by Microsoft to resolve this behavior. Note that Microsoft’s solution will disable the SSDP Discovery Service, which caused new devices on the network cannot be found automatically.

1. Right-click My Computer, and then click Manage.
2. Click Services and Applications.
3. Double-click Services.
4. In the Services list, right-click SSDP Discovery Service, and then click Properties.
5. On the General tab, in the Startup type drop-down list, click Disabled.
6. Click OK.

If it doesn’t work, the alternative would be disable both SSDP Discovery Service and Universal Plug and Play Device Host. Repeat the above steps for both services.

You may try to choose Automatic at step 5 instead of Disabled, as it’s reported some people has success with this.

If you need Universal Plug and Play services and wouldn’t want to disable it, Francesco Ostuni suggested Ostuni Workaround which does not disable the uPNP service. The steps as below (only applicable on Windows XP with Service Pack 2):

1. Open My Network Places.
2. Click Hide Icons for Networked uPnP Devices at the Tasks panel.
3. For Windows Classic theme users, click Tools and the Folder Options in Windows Explorer, and then select Show Common Tasks in Folders to see the option specified in step 2.

Or,

1. Open Control Panel.
2. Click Add or Remove Programs.
3. Click Add/Remove Windows Components.
4. Select Networking Services.
5. Click Details button.
6. Uncheck (remove) the UPnP User Interface.
7. Click OK.

The most reliable way to solve the problem is to logout and then login again to Windows XP.

If you don’t want to logout and login Windows XP after starting the PC, Disable Automatic Logon is a possible way to solve the issue by the following steps:

1. Click on Start.
2. Click on Run.
3. Type “control userpasswords2″.
4. Click OK.
5. Check (Select) Users must enter a user name and password to use this computer.
6. Click OK.

Oracle Database Import Error 3113/3114

November 14, 2005 Add Comment

Oracle Database Import Error 3113/3114


When trying to import the Oracle export dump into Oracle database, the following errors occur:

IMP-00003: ORACLE error 3113 encountered
ORA-03113: end-of-file on communication channel
IMP-00003: ORACLE error 3114 encountered
ORA-03114: not connected to ORACLE

The errors occur on Oracle database installed in Windows machine too. Actually the problem can occurs in any platform of Oracle database. It usually happens when try to import into new database.

The problem occurs because imp utiliy encounters error out when trying to execute some commands.

The solution to solve the problem is as following:

Login as sys in the SQLPLUS and run the following sqls

$OH/rdbms/admin/dbmsread.sql
$OH/rdbms/admin/prvtread.plb

After executing the above sql scripts, retry the import. The error should disappears.

Manual and Clean Uninstall Oracle for Windows

November 12, 2005 Add Comment

Manual and Clean Uninstall Oracle for Windows



Warning: Editing registry may cause problems to your PC.

If you facing problems trying to uninstall Oracle from your Windows workstation, or unable to uninstall Oracle installations cleanly and properly, the following steps may be used to uninstall all Oracle products currently install on the workstation:

Uninstall all Oracle components using the Oracle Universal Installer (OUI).
Delete the HKEY_LOCAL_MACHINE/SOFTWARE/ORACLE key which contains registry entries for all Oracle products by using regedit.
Delete any references to Oracle services/components in the following registry 



location: HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Services/. Looks for key entries that starts with “Ora” which are obviously related to Oracle.



Reboot the workstation.



Delete the ORACLE_BASE directory. (i.e C:\Oracle)
Delete the C:\Program Files\Oracle directory.
Empty the temp directory.
Empty the recycle bin.
With this, the computer is more or less clear of any Oracle components, which allows you to reinstall Oracle if needed.

FireFox 1.5 to Provide Better Web Experience

October 29, 2005 Add Comment

FireFox 1.5 to Provide Better Web Experience


The new version of Firefox has been released by open source group Mozilla Foundation, the not-for-profit organisation that rose from the ashes of Netscape after it lost out in the market to Microsoft in the late 1990s, promising a number of performance enhancements to the world’s second most popular internet browser, including speedier browsing, swifter updates and better pop-up blocking.

Firefox 1.0 was introduced just over one year ago, and Firefox 1.5 is the browser’s first major update. Since then, Firefox has emerged as one of the most popular alternatives to Microsoft’s Internet Explorer, with more than 100 million copies downloaded in the first year, more than 40 million active users and about 8 percent of the browser market.

New features in Firefox 1.5 include:

Automated update to streamline product upgrades. Notification of an update is more prominent, and updates to Firefox may now be half a megabyte or smaller. Updating extensions has also improved.
Faster browser navigation with improvements to back and forward button performance.
Drag and drop reordering for browser tabs.
Improvements to popup blocking.
Clear Private Data feature provides an easy way to quickly remove personal data through a menu item or keyboard shortcut.
Answers.com is added to the search engine list.
Improvements to product usability including descriptive error pages, redesigned options menu, RSS discovery, and “Safe Mode” experience.
Better accessibility including support for DHTML accessibility and assistive technologies such as the Window-Eyes 5.5 beta screen reader for Microsoft Windows. Screen readers read aloud all available information in applications and documents or show the information on a Braille display, enabling blind and visually impaired users to use equivalent software functionality as their sighted peers.
Report a broken Web site wizard to report Web sites that are not working in Firefox.
Better support for Mac OS X (10.2 and greater) including profile migration from Safari and Mac Internet Explorer.
New support for Web Standards including SVG, CSS 2 and CSS 3, and JavaScript 1.6.
Many security enhancements.

Disable Auto Go To (Jump) To Read More Tag

October 14, 2005 Add Comment

Disable Auto Go To (Jump) To Read More Tag


In WordPress, it’s possible to a WordPress blog site to display post excerpts on the front or home page, and the visitors have to click on the title or a link to continue reading your post or article.

One way of achieving this technique is by using the quicktag called “more”. The quicktag “more” is inserted into the post at the desired break-off (or cut-off) point so that everything above it become an excerpted content of the post and everything below it will only be readable when the visitors click on the title or a link to view the whole post.

The quicktag “more” is implemented by inserting the following line of code into the post:

However, by default, when a visitor click on the Read More link, the web page loads and then automatically forwards or jumps to the spot where the tag is set in the post. If you do not want this kind of positioning, you can change the default function of how this works by editing the following line in wp-includes/template-functions-post.php:

$output .= ‘ <a href="’. get_permalink() . "#more-$id\">$more_link_text</a>";

to

$output .= ‘ <a href="’. get_permalink() ."\">$more_link_text</a>";

or

$output .= ‘ <a href="’. get_permalink() ."”>$more_link_text</a>’;

After the change, the Read More link will load the blog post and stop at the top of page instead of position where the quicktag “more” were.

NOTE: When upgrading WordPress, this file will be replaced so make a note of the change so you can change it again after upgrading.

ppStream Connection Limit in Configuration Settings

October 14, 2005 Add Comment

ppStream Connection Limit in Configuration Settings


Note: The newer version of ppSteream has integrated the configuration into the program’s menu.

ppStream comes with a configuration file named setting.ini at the installation folder. It’s possible to tweak the connection limit settings in the configuration file to achieve optimum bandwidth speed for best viewing experience. It’s a good answer to solve some problem when viewing channel with ppStream such as streaming lagging, frequent disconnection, slow buffering etc.

The available configuration settings are as below:

remotepeerlimit = 41
localpeerlimit = 35
totalpeerlimit = 51
simulconnectingpeer = 30

The value of above is the default setting. All of the settings are quite self-explanatory as its name. You may not see the above lines in setting.ini configuration file. If it’s not in the setting.ini, add it in.

It’s hard to determine the best setting for all as each user’s computer and network configuration is different. So the best way is to try it out yourself and determine for yourself. I set all my 4 settings to 100, and able to achieve a very smooth streaming and almost without disconnection.

Some people has even set the limit to even higher than 100. But note that it’s not almost works. As currently ppStream has no ability to limit upload bandwidth speed, if you set connection limit too high, it’s good to have a lot of source peer to download. But remember that your workstation is a peer too that will upload to other peers. If upload takes up too much bandwidth, it will adversely affect the download speed, especially on ADSL broadband.

Easy Way to Upgrade FreeBSD’s Ports

October 09, 2005 Add Comment

Easy Way to Upgrade FreeBSD’s Ports


Before you can update and upgrade the FreeBSD’s ports, the Ports Collection needs to be updated. Follow step here to update the Ports Collection.

Once you updated your Ports Collection, before attempting a port upgrade, you should check the /usr/ports/UPDATING file. This file describes various issues and additional steps users may encounter and need to perform when updating a port.

Keeping the ports up to date can be a tedious job. Just for example, to upgrade a port you need to go to the ports directory, build the port, deinstall the old port, install the new port, and then clean up after the build. If there are numerous ports that need to be upgrade, it will be very troublesome. This was a large problem for system administrators to deal with, and FreeBSD have utilities which do this automatically, and that’s sysutils/portupgrade utility.

To install sysutils/portupgrade utility, use the command just as to install any other port: make install clean.

Create a database with the following command: pkgdb -F

The command will read the list of installed ports and create a database file in the /var/db/pkg directory.

Run portupgrade -a to start to update the ports.

The portupgrade will read the database file created by pkgdb -F and the ports INDEX file. Finally, portupgrade will begin to download, build, backup, install, and clean the ports which have been updated.

Portupgrade utility has a lot of options for different uses, the most important ones listed below.

If you want to upgrade only a certain application, not the complete database, use portupgrade pkgname, include the flags -r if portupgrade should act on all those packages depending on the given package as well, and -R to act on all packages required by the given packages.

To use packages instead of ports for installation, provide -P. With this option portupgrade searches the local directories listed in PKG_PATH, or fetches packages from remote site if it is not found locally. If packages can not be found locally or fetched remotely, portupgrade will use ports. To avoid using ports, specify -PP.

To just fetch distfiles (or packages, if -P is specified) without building or installing anything, use -F.

Note: It is important to regularly update the package database using pkgdb -F to fix inconsistencies, especially when portupgrade asks you to. Do not abort portupgrade while it is updating the package database, this will leave you an inconsistent database.

Making phpBB2 working with PHP5

September 20, 2005 Add Comment

Making phpBB2 working with PHP5

Officially, phpBB 2 (as of this writing, up to version 2.0.17) is not supporting PHP 5. If you install PHP 5, and use it to run phpBB, you will encounter the following symptoms and errors:

You cannot post message – When you want to post new topic or reply to a topic, after writing your message, when you click “Submit”, a blank page or screen or error message is shown with address bar showing posting.php, instead of posting confirmation message.
You unable to search – When you want to search by clicking oh “Search”, no search results are been returned, or a black page or screen, or error message is shown.
To enable PHP 5 to work properly with phpBB, some changes to the phpBB source code needs to be done. Just follow steps as below:
OPEN
admin/admin_ug_auth.php
FIND
if( $forum_access[$i][$auth_field] == AUTH_ACL && isset($change_acl_list[$forum_id][$auth_field]) )
REPLACE WITH
if( $forum_access[$i][$auth_field] == AUTH_ACL && isset($change_acl_list[$forum_id]) )
FIND
( !isset($auth_access[$forum_id][$auth_field]) && !empty($change_acl_list[$forum_id][$auth_field]) ) ) ||
REPLACE WITH
( !isset($auth_access[$forum_id][$auth_field]) && empty($change_acl_list[$forum_id][$auth_field]) ) ) ||
Finally, some changes are needed so that functions that get called with functions as parameters are not called ‘by reference’ with functions:
OPEN
includes/functions_post.php
FIND
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, &$post_username, &$post_subject, &$post_message, &$poll_title, &$poll_options, &$poll_length)
REPLACE WITH
function submit_post($mode, &$post_data, &$message, &$meta, &$forum_id, &$topic_id, &$post_id, &$poll_id, &$topic_type, &$bbcode_on, &$html_on, &$smilies_on, &$attach_sig, &$bbcode_uid, $post_username, $post_subject, $post_message, $poll_title, &$poll_options, &$poll_length)
OPEN
includes/functions_search.php
FIND
function clean_words($mode, &$entry, &$stopword_list, &$synonym_list)
REPLACE WITH
function clean_words($mode, $entry, &$stopword_list, &$synonym_list)
FIND
function split_words(&$entry, $mode = ‘post’)
REPLACE WITH
function split_words($entry, $mode = ‘post’)
For the above, the changes involved are some parameters have been stripped off the “&” sign.

Check Oracle Version

September 17, 2005 Add Comment

Check Oracle Version

here are several ways where you can query or retrieve the version number of installed Oracle products:

1. If you just want to check the version information of the Oracle database, simply connect and login to the Oracle database with SQL *Plus. Upon login, you will see:

SQL*Plus: Release 9.2.0.6.0 – Production on Tue Oct 18 17:58:57 2005

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

Connected to:
Oracle9i Enterprise Edition Release 9.2.0.6.0 – 64bit Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.6.0 – Production

The first italic number is the version of the SQL*Plus client and the second italic number is the version of Oracle database which you are connected to .

2. Retrieve the version information from v$version table by using SQL*Plus. In this table you can find version information on Oracle, PL/SQL, etc.

To retrieve the version information for Oracle, you execute the following SQL statement:

select * from v$version where banner like ‘Oracle%’;

It should return something like this:

Banner
————————————————————————————–
Oracle9i Enterprise Edition Release 9.2.0.1.0 – 64bit Production

3. Version information can also be checked from Installed Products from the Oracle Universal Installer. It will tells you what products is installed on the machine and also its version information too.

In Unix, the installer is located at $ORACLE_HOME/bin/runInstaller.
In Windows, access the installer by Start -> All Programs -> Oracle Installed Products -> Universal Installer.

Install, Setup and Configure CGI and Perl in Windows XP

September 16, 2005 Add Comment

Install, Setup and Configure CGI and Perl in Windows XP

Prerequisite
Obviously, a web server needs to be running on the Windows machine. Refer to this post for instructions on how to install Apache2 in Windows.
Download Active Perl
Download Active Perl from http://www.activestate.com/Products/ActivePerl/?mp=1. Click on Free Download to start the download process. There is no need to input any contact info. Just leave it blank and press ‘Next’ to start the download.
Then download the latest version of Windows MSI package.
Install Active Perl
Start the installation by double clicking the setup file. Follows the on-screen instruction. If you will be using Perl CGI programs and want to maintain some level of portability between both Linux machines and Windows machines, you may want to install Perl at the same location on your Windows machine as it is on most Linux machines.
For example, on Linux machine, Perl is located at /usr/bin/perl and so every Perl program that I write begins with #!/usr/bin/perl. So, it’s best when install Perl on an Windows machine, instead of installing it in the default location (i.e. C:\perl), install it in C:\usr instead, so that the Perl executable is located at /usr/bin/perl. This allows codes written on Windows machine been moved to, without changes, to Linux machine, and have it run there, and vice versa.
To change the installation path, click on browse button when you’re on the installation screen that prompts you to select which features you want to install. Set it to C:\usr\ if needed.
Make sure that the following options is checked (selected):
Add Perl to the PATH environment variable
Create Perl file extension association
Activating CGI
Open the httpd.conf file for editing by selecting Start > Programs > Apache HTTP Server > Configure Apache Server > Edit the Apache httpd.conf Configuration File. Alternatively, open the httpd.conf with any text editor.
In the main directory section, search for Options Indexes FollowSymLinks (at about line 267), and add ExecCGI to the end so it looks like:
Options Indexes FollowSymLinks ExecCGI
Search for the following line and remove the hash mark character (#) to uncomment this line. (You can also change .cgi to .pl, or add .pl behind .cgi if you prefer that perl extention is also treated as cgi files) For example:
#AddHandler cgi-script .cgi
Should look like:
AddHandler cgi-script .cgi .pl
or
AddHandler cgi-script .pl
or
AddHandler cgi-script .cgi
Save the httpd.conf configuration file, restart the Apache server. Test the configuration as described in Testing Your Web Server CGI Configuration at the end of this article.
Optional: Enabling CGI in Any Directory
If you want to use CGI outside Script Aliased directory (Script Alias is usually the Apache2/cgi-bin/), comment out the following line:
ScriptAlias /cgi-bin/ “C:/Program Files/Apache Group/Apache2/cgi-bin/”

Should look like:

#ScriptAlias /cgi-bin/ “C:/Program Files/Apache Group/Apache2/cgi-bin/”

Alternatively, if you want to specify just one directory to put all your cgi programs, change the path instead, but makes ure that directory exists.

Should look like (for default settings):

ScriptAlias /cgi-bin/ “your_prefer_cgi-bin_direcotry”

Save the httpd.conf file. Restart the Apache server.
Finding Perl Executable Location
If you don’t know where is perl.exe installed to, go to Start -> Search and search for perl.exe. This location is the path to the perl executable that has to be put on the top of all cgi scripts. If you follow default installation procedure, the path should be C:/perl/bin/perl.exe
For the path to perl.exe path, all of these format are valid:
#!c:/perl/bin/perl.exe
#!c:/perl/bin/perl
#!/perl/bin/perl.exe
#!/perl/bin/perl
Testing Your Web Server CGI Configuration
Save the following test script in your DocumentRoot directory (if you have uncomment ScriptAlias, you can put it anywhere inside your DocumentRoot directory, or if you have set ScriptAlias to some particular directory, put the cgi in that directory only, i.e Apache2/cgi-bin) as test.pl or test.cgi (depending on your configuration of the AddHandler line) and modify the first line as required to point to your ActivePerl interpreter:
#!c:\perl\bin\perl.exe
# ^^^ this must be the first line of the script! ^^^
# start code
use strict;
use CGI;
my $q = new CGI;
# print header and start the markup output
print $q->header( “text/html” ),$q->start_html( “hello from perl cgi!” );
print $q->h2(“hello dave…”);
print $q->end_html;
# end code
Now go to http://localhost/cgi-bin/test.cgi (scripts in Apache2/cgi-bin/ are read as http://localhost/cgi-bin/ by default). You should see a page that displays a level two heading with the following text:
hello dave
If you see the above message, CGI is running. If you get a 500 error, go to the last entry in your Apache2/logs/error.log (or the Review Error Log in the Start menu) to see exactly what caused this error.