Windows 2000/XP Fix

•February 22, 2008 • No Comments

Repair Install

If XP is corrupted to the point where none of the previous solutions get it to boot,
you can do a Repair Install that might work as well as keep the current settings.
Make sure you have your valid WindowsXP key.
The whole process takes about half an hour depending on your computer
If you are being prompted for the administrator’s password, you need to choose the 2nd repair option, not the first.
Insert and boot from your WindowsXP CD
At the second R=Repair option, press the R key
This will start the repair
Press F8 for I Agree at the Licensing Agreement
Press R when the directory where WindowsXP is installed is shown. Typically this is C:\WINDOWS
It will then check the C: drive and start copying files
It will automatically reboot when needed. Keep the CD in the drive.
You will then see the graphic part of the repair that is like during a normal install of XP (Collecting Information, Dynamic Update, Preparing Installation, Installing Windows, Finalizing Installation)
When prompted, click on the Next button
When prompted, enter your XP key
Normally you will want to keep the same Workgroup or Domain name
The computer will reboot
Then you will have the same screens as a normal XP Install
Activate if you want (usually a good idea)
Register if you want (but not necessary)
Finish
At this point you should be able to log in with any existing accounts.

NTOSKRNL Missing or Corrupt

If you get an error that NTOSKRNL not found:
Insert and boot from your WindowsXP CD.
At the first R=Repair option, press the R key
Press the number that corresponds to the correct location for the installation of Windows you want to repair.
Typically this will be #1
Change to the drive that has the CD ROM.
CD i386
expand ntkrnlmp.ex_ C:\Windows\System32\ntoskrnl.exe
If WindowsXP is installed in a different location, just make the necessary change to C:\Windows
Take out the CD ROM and type exit

HAL.DLL Missing or Corrupt

If you get an error regarding a missing or corrupt hal.dll file, it might simply be the BOOT.INI file on the root of the C: drive that is misconfigured
Insert and boot from your WindowsXP CD.
At the first R=Repair option, press the R key
Press the number that corresponds to the correct location for the installation of Windows you want to repair.
Typically this will be #1
Type bootcfg /list to show the current entries in the BOOT.INI file
Type bootcfg /rebuild to repair it
Take out the CD ROM and type exi

Corrupted or Missing \WINDOWS\SYSTEM32\CONFIG

If you get the error:
Windows could not start because the following files is missing or corrupt
\WINDOWS\SYSTEM32\CONFIG\SYSTEM or \WINDOWS\SYSTEM32\CONFIG\SOFTWARE
Insert and boot from your WindowsXP CD.
At the first R=Repair option, press the R key
Press the number that corresponds to the correct location for the installation of Windows you want to repair.
Typically this will be #1
Enter in the administrator password when requested
cd \windows\system32\config
Depending on which section was corrupted:
ren software software.bad or ren system system.bad
Depending on which section was corrupted
copy \windows\repair\system
copy \windows\repair\software
Take out the CD ROM and type exit

NTLDR or NTDETECT.COM Not Found

If you get an error that NTLDR is not found during bootup,
If you have FAT32 partitions, it is much simpler than with NTFS.
Just boot with a Win98 floppy and copy the NTLDR or NTDETECT.COM files
from the i386 directory to the root of the C:\ drive.
For NTFS:
Insert and boot from your WindowsXP CD.
At the first R=Repair option, press the R key
Press the number that corresponds to the correct location for the installation of Windows you want to repair.
Typically this will be #1
Enter in the administrator password when requested
Enter in the following commands (X: is replaced by the actual drive letter that is assigned to the CD ROM drive.
COPY X:\i386\NTLDR C\:
COPY X:\i386\NTDETECT.COM C:\
Take out the CD ROM and type exit.

Calling navbar into html

•February 22, 2008 • No Comments

Browser Compatible Version

This method will work in any browser that has JavaScript enabled, which is actually the majority.

We will be creating an external js file to include in your pages directly. So lets get started.

Step 1:

You will not need to create an external page for your navigation, as it will all be included in your js file, using the code format below:

document.write(” your navigation code will go here “);

Notice the highlighted area. This is where your navigation HTML code will go. The one thing to keep in mind when coding javascript in these methods, is the use of backslashes.

You need to preceed every quotation mark (”) within the highlighted area with a backslash (i.e. \” ). You will receive errors otherwise.

Once you have created the code above, save it as navinclude.js

Step 2:

Now you’ll just need to include the navigation into your pages with the following code:

<SCRIPT language=”Javascript” src=”navinclude.js”>
</SCRIPT>

Using any of these methods, will cause each page of your site to update when you update the one source file. So basically, in method 1, you would update navigation.html, and this would update your navigation on every page.

In this method, you would update the navinclude.js file.

You have a dynamically updatable site, without all of the headaches of updating each individual page. So, have fun! You can use the extra time to catch up on some reading, or learn how to grow oranges or something.

Some useful Java Scripts for your site

•February 22, 2008 • No Comments

Date Script
——————–

<SCRIPT LANGUAGE = “JavaScript”>
<!–

// Array of day names
var dayNames = new Array(”Sunday”,”Monday”,”Tuesday”,”Wednesday”,”Thursday”,”Friday”,”Saturday”);

var monthNames = new Array(”January”,”February”,”March”,”April”,”May”,”June”,”July”,
“August”,”September”,”October”,”November”,”December”);

var dt = new Date();
var y = dt.getYear();

// Y2K compliant
if (y < 1000) y +=1900;

document.write(dayNames[dt.getDay()] + “, ” + monthNames[dt.getMonth()] + ” ” + dt.getDate() + “, ” + y);
// –>
</SCRIPT>

Close Window Button
————————————

<form>
<input type=button value=”Close Window” onClick=”javascript:window.close();”>
</form>
or <a href=”javascript:window.close();”>Close Window</a>

Setting your page as Home Page:
——————————————-

<SPAN
onClick=”this.style.behavior=’url(#default#homepage)’;
this.setHomePage(’http://www.edevcafe.com’);”>
Click Here to Make eDevCafe.com Your Home Page
</SPAN>

Adding Page to Favorites:
——————————–

<U>
<SPAN STYLE=’color:blue;cursor:hand;’
onClick=’window.external.AddFavorite(location.href, document.title);’>
Add this page to your favorites
</U>

Firefox Tweaks

•February 22, 2008 • No Comments

logo

Type “about:config” in your firefox address bar.

Search for the following settings:

1. network.http.pipelining
Set to true def:false
2. network.http.pipelining.firstrequest
Set to true
3. network.http.pipelining.maxrequests
Set to 32 def: 4
4. network.http.proxy.pipelining
Set to true def: false
5. nglayout.initialpaint.delay
Set to 0

Its very likely that you won’t have an entry for network.http.pipelining.firstrequest. Thats ok. Just add one.

Right-click on the preferences list, select ‘New’ then select ‘Boolean’

On the first prompt, type:
network.http.pipelining.firstrequest

On the second prompt, set it to ‘true’

Its also likely that you won’t have an entry for nglayout.initialpaint.delay

Right-click on the preferences list, select ‘New’ then select ‘Integer’

On the first prompt, type:
nglayout.initialpaint.delay

On the second prompt, set it to ‘0′

Did u feel it?

Firefox is way faster for me and has enabled me to finally bail on IE. Feel free to reply. Thanks!

Windows 2000/XP Registry Tweaks Part-II

•February 22, 2008 • 1 Comment

Read Part-I here

Tcp1323Opts

Tcp1323Opts is a necessary setting in order to enable Large TCPWindow support as described in RFC 1323. Without this parameter, the TCPWindow is limited to 64K.

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
Tcp1323Opts=”1″ (DWORD, recommended setting is 1. The possible settings are 0 - Disable RFC 1323 options, 1 - Window scaling but no Timestamp options, 3 - Window scaling and Time stamp options.)

Note: Tcp1323Opts=”3″ might help in some cases where there is increased packet loss, however generally you’ll achieve better throughput with Tcp1323Opts=”1″, since Timestamps add 12 bytes to the header of each packet.

DefaultTTL

DefaultTTL determines the time in seconds and the number of hops a packet lives. While it does not directly affect speed, a larger value increases the amount of time it takes for a packet to be considered lost, discarded and retransmitted. A value that’s too small can cause packets to be unable to reach distant servers at all.

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
DefaultTTL=”64″ (DWORD, recommended setting is 64. Other settings that are widely used are 128 and 32)
[ Default is: 40 ]

EnablePMTUDiscovery

When set to 1 (True), TCP attempts to discover MTU automatically over the path to a remote host. Setting this parameter to 0 causes MTU to default to 576 which reduces overall performance over high speed connections. Note that this setting is different than our Windows 9x recommendation.

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
EnablePMTUDiscovery=”1″ (DWORD - boolean, valid settings are 0–>False and 1–>True. Many connections perform better with this entry at 1, however, if you prefer to set your upstream to send fixed 1500 packets, you might want to use 0 instead). When set at 1, establishing connections and initial transfer speed might slow down a bit, however you will get better throughput if somewhere in the path large packets need to be fragmented.

EnablePMTUBHDetect

Setting this parameter to 1 (True) enables “black hole” routers to be detected, however it also increases the maximum number of retransmissions for a given segment. In most cases you’d want to keep BHDetect to 0 (False).

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
EnablePMTUBHDetect=”0″ (DWORD - boolean, valid settings are 0–>False and 1–>True. Recommended setting is 0)

SackOpts

This parameter controls whether or not SACK (Selective Acknowledgement) support is enabled, as specified in RFC 2018. SACK is especially important for connections using large TCP Window sizes.

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
SackOpts=”1″ (DWORD - boolean, recommended setting is 1. Possible settings are 0 - No Sack options or 1 - Sack Option enabled).

TcpMaxDupAcks

This parameter determines the number of duplicate ACKs that must be received for the same sequence number of sent data before “fast retransmit” is triggered to resend the segment that has been dropped in transit.

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters
TcpMaxDupAcks=”2″ (DWORD - range 1-3, recommended setting is 2).

Additional TCP/IP Related Parameters

The additional TCP related parameters are not necessary in most cases, and you shouldn’t expect any drastic improvements, however we added them for those of you who like experimenting. You might be able to gain that last bit of performance, or customize your TCP/IP behavior even more with those. Keep in mind you should familiarize yourself with what the parameters mean and how they affect your connection before changing their values

MTU
Setting MTU overrides the default MTU for the network interface it is added to. Note that if EnablePMTUDiscovery is set to 1, TCP will use the smaller value of this local MTU and the “Discovered” MTU of the underlying network connection. If you’d rather use only the MTU value specified here, you’d have to disable PMTUDiscovery, which would prevent your system from detecting the network MTU.

HKLM\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces
MTU=”1500″ (DWORD, valid range is from 68 to MTU of network).

Note: For Windows XP PPPoE, there is an additional location for MTU that might need to be adjusted (to 1480, or up to 1492 as per the PPPoE specs), depending on the PPPoE software you use. Check the following location in the Registry:
HKLM\SYSTEM\CurrentControlSet\Services\NdisWan\Parameters\Protocols
ProtocolMTU=”1480″

Windows 2000 Web Patch:

According to the HTTP specs, only limited number of simultaneous connections are allowed, while loading pages. To increase that number, you can add the following entries to the Registry (they are not present by default):

HKEY_USERS.DEFAULT\Software\Microsoft\Windows\CurrentVersion\Internet Settings
“MaxConnectionsPerServer”=dword:00000010
“MaxConnectionsPer1_0Server”=dword:00000010

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Internet Settings
“MaxConnectionsPerServer”=dword:00000010
“MaxConnectionsPer1_0Server”=dword:00000010

Special thanks to my friend Philip.