Friday, January 23, 2009

Dell Inspiron 1525 XP Drivers

Notebook system software : http://ftp.us.dell.com/utility/R161278.EXE
Chipset drivers : http://ftp.us.dell.com/chipset/R153997.EXE
Media Card : http://ftp.us.dell.com/chipset/R141246.EXE
Intel Graphics : http://ftp.us.dell.com/video/Intel_GM965-Express-Chipset-_A05_R173064.exe
Lan Network : http://www.marvell.com/drivers/driverDisplay.do?dId=175&pId=3
Wireless : http://ftp.us.dell.com/network/R171131.EXE
Bluetooth : http://ftp.us.dell.com/network/R161378.EXE
Camera : http://ftp.us.dell.com/input/R165116.EXE
Modem : http://ftp.us.dell.com/comm/R147115.EXE
Touchpad : http://ftp.us.dell.com/input/R155586.EXE
Camera Application : http://ftp.us.dell.com/app/R160320.EXE
Audio : http://ftp.us.dell.com/audio/R171789.exe
Quickset : http://ftp.us.dell.com/app/R161139.EXE

Dell Inspiron 1525 Downgrade Vista to XP


  1. By default Dell Inspiron 1525 does not accept XP. To accept XP you need to change two bios settings.

    1. Go to Onboard Device and change Flash Cache Module to OFF. By default this will be enabled.

    2. Go to Onboard Device and change SATA Operation to ATA. By default this will be AHCI.

  2. You have to prepare SATA Driver on your USB Disk. You may get the Dell Inspiron 1525 SATA HERE.

  3. Now Insert your USB Disk into Flash drive and start installation with XP SP3.

  4. Once you complete your XP SP3 installation then install windows Downgrade XP patch for Dell Inspiron 1525.

  5. Finally install the following supporting drivers. You can get all drivers from dell support center.

    1. Dell Inspiron 1525 Wireless Card Driver as well known as Broadcom BCM 4311.

    2. Dell Inspiron 1525 Webcam you have to get Creative Labs Webcam that you may get it in the Windows Update Sites.

    3. Get Marvell Yukon 88E8040 PCI-E Fast Ethernet Controller drivers.

    4. Video Card Driver Intel GM965.

    5. Dell Application Software Quickset

    6. Ricoh R5C833 Flash Drive controller Driver

    7. Sound Audio Driver Dell Inspiron 1525 SIGMATEL STAC 92XX C-Major HD

    8. Download Intel Chipset

    9. Dell Inspiron 1525 Modem Conexant D330,HDA,MDC,v.92,Touchpad

    10. Dell Wireless 355 Bluetooth Module

The mouse pad driver in XP does not support scrolling. If you want the scrollbars to work then install vista drivers. The problem with this is you will not be able to access the mouse controls from the control panel. So I set the mouse pointer speed and the mouse pointer before installing the vista drivers. This is important if u plan to use an external usb mouse...... the pointer is shitty slow for an external mouse it u don't do it.

Enjoy XP on your Dell Inspiron 1525 Notebooks.

Friday, January 2, 2009

IE8 Beta 2 and IE7 Compatibility

Recently, the Internet Explorer team released IE 8 beta 2. I tested my existing site with IE8, its not displaying correctly. After some search i fixed using the following document compatible mode.

To specify a document mode for your Web pages, use the meta element to include an X-UA-Compatible http-equiv header in your Web page. The following example specifies Emulate IE7 mode compatibility.

<head>
<!-- Mimic Internet Explorer 7 -->
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
<title>My Web Page</title>
</head>
<body>

<p>Content goes here.</p>
</body>
</html>

The content attribute specifies the mode for the page; to mimic the behavior of Internet Explorer 7, specify IE=EmulateIE7. Specify IE=5, IE=7, or IE=8 to select one of those compatibility modes. You can also specify IE=edge to tell Internet Explorer 8 to use the highest mode available.

The X-UA-compatible header is not case sensitive; however, it must appear in the Web page's header (the HEAD section) before all other elements, except for the title element and other meta elements.

Verify Mailbox Before Sending Email

From time to time you will need to check if an email is valid before sending actual messages to it. This can be used when you register people to your site and so on.

This simple PHP function will do it but do keep in mind this is not 100% bulletproof. Yahoo reported me a mailbox as valid but later got a reply with undeliverable message: mailbox did not exist.

But, in most cases, this script will work and will help you validate mailboxes easily.

Here is the code,


//—————————————————————————-
function verifyMailbox($email,$mailAddress=“no-reply@no-mail.com”) {
$before = microtime();
$err = false;
if (!
preg_match(‘/([^\@]+)\@(.+)$/’, $email, $matches)) {
return
false;
}
$user = $matches[1]; $domain = $matches[2];
if(!
function_exists(‘checkdnsrr’)) return $err;
if(!
function_exists(‘getmxrr’)) return $err;
// Get MX Records to find smtp servers handling this domain
if(getmxrr($domain, $mxhosts, $mxweight)) {
for(
$i=0;$i<count($mxhosts);$i++){
$mxs[$mxhosts[$i]] = $mxweight[$i];
}
asort($mxs);
$mailers = array_keys($mxs);
}elseif(
checkdnsrr($domain, ‘A’)) {
$mailers[0] = gethostbyname($domain);
}else {
return
false;
}
// Try to send to each mailserver
$total = count($mailers);
$ok = 0;
for(
$n=0; $n < $total; $n++) {
$timeout = 5;
$errno = 0; $errstr = 0;
if(!(
$sock = fsockopen($mailers[$n], 25, $errno , $errstr, $timeout))) {
continue;
}
$response = fgets($sock);
stream_set_timeout($sock, 5);
$meta = stream_get_meta_data($sock);
$cmds = array(
“HELO localhost”,
“MAIL FROM: <$mailAddress>”,
“RCPT TO: <$email>”,
“QUIT”,
);
if(!
$meta['timed_out'] && !preg_match(‘/^2\d\d[ -]/’, $response)) {
break;
}
$success_ok = 1;
foreach(
$cmds as $cmd) {
fputs($sock, “$cmd\r\n”);
$response = fgets($sock, 4096);
if(!
$meta['timed_out'] && preg_match(‘/^5\d\d[ -]/’, $response)) {
$success_ok = 0;
break;
}
}
fclose($sock);
if(
$success_ok){
$ok = 1;
break;
}
}
$after = microtime();
// Fail on error
if(!$ok) return false;
// Return a positive value on success
return $after-$before;
}
//—————————————————————————-


PHP Email Address Domain Validation

Many email address validators will actually validate the email address formate, but they are not validating email address domain whether the domain really exists or not. For example example@test.com. In this email the domain is not exists in the real world, but its valid formate. We can stop this by checking the MX (Mail Exchanger) for the given hostname.

function checkEmail($StrEmail){
////// Before validate mail domain check email formate

list($StrUserName,$StrHostName) = split(‘@’,$StrEmail);
$arrMx = dns_get_record($StrHostName,MX);
if($arrMx){
return true;
}else{
return false;
}
}
checkEmail(”test@test.com“); ///////// returns false
checkEmail(”test@gmail.com“); ///////// returns true
?>

Note : This will work only in linux and not work in windows but there is a option in PEAR Net DNS package.

Remove Whitespaces Using Regular Expression

To remove multiple occurences of whitespace characters in a string to convert them all into single spaces, use this:

$text = preg_replace('/\s+/', ' ', $text);
?>

Search Engine-Friendly URLs

On today’s Internet, database driven or dynamic sites are very popular. Unfortunately the easiest way to pass information between your pages is with a query string. In case you don’t know what a query string is, it’s a string of information tacked onto the end of a URL after a question mark.

So, what’s the problem with that? Well, most search engines (with a few exceptions - namely Google) will not index any pages that have a question mark or other character (like an ampersand or equals sign) in the URL. So all of those popular dynamic sites out there aren’t being indexed - and what good is a site if no one can find it?

The solution? Search engine friendly URLs. There are a few popular ways to pass information to your pages without the use of a query string, so that search engines will still index those individual pages.

1. Using PHATH_INFO

2. .htaccess Error Pages

3. The ForceType Directive

Here i explained the first method PATH_INFO

If you look above this article on the address bar, you’ll see a URL like this: http://www.webmasterbase.com/article.php/999/12. SitePoint actually uses the PATH_INFO method to create their dynamic pages.

Apache has a “look back” feature that scans backwards down the URL if it doesn’t find what it’s looking for. In this case there is no directory or file called “12″, so it looks for “999″. But it find that there’s not a directory or file called “999″ either, so Apache continues to look down the URL and sees “article.php”. This file does exist, so Apache calls up that script. Apache also has a global variable called $PATH_INFO that is created on every HTTP request. What this variable contains is the script that’s being called, and everything to the right of that information in the URL. So in the example we’ve been using, $PATH_INFO will contain article.php/999/12.

So, you wonder, how do I query my database using article.php/999/12? First you have to split this into variables you can use. And you can do that using PHP’s explode function:

$var_array = explode("/",$PATH_INFO);

Once you do that, you’ll have the following information:

$var_array[0] = “article.php”

$var_array[1] = 999

$var_array[2] = 12

So you can rename $var_array[1] as $article and $var_array[2] as $page_num and query your database.

Yahoo! News: Technology News