Changing PHP 5.4 initialization configuration on Go Daddy account | SESSION not created issue

Well, Today I figured out a solution to a weird problem that I had been facing and which had wasted almost 2 days of mine. And this also makes me think how error proof and reliable are the automated scripts used by the Hosting service providers like Go Daddy.

In order to be capable of using the latest PHP features, I got the PHP version of my GoDaddy account upgraded. All hell broke loose since then :-(
The session management on the site went haywire. In fact session was not working itself.
The session information in PHP is maintained in a file that is placed in some specific folder.
The folder location is mentioned in the PHP.ini file.
It is also important that you  MUST have WRITE access to this particular file/folder.

But the buggy upgrade system on GoDaddy hosting does not automatically provide you write access to the default folder. Hence, after an upgrade you are forced to change the SESSION folder to a location where you have write access.

But, at the same time you do not have write access to the PHP.ini file as well.
After lot of Google search I found that though we cannot modify the default PHP.ini file; we can create a custom PHP config file and place it in the HOSTING ROOT location. Thus GoDaddy uses the configuration from this file rather that the ones in default configuration.

Now, for different version of PHP / Type of Hosting Plan; there is specific name that you need to give to the custom config file of yours.

Please refer to the following URL for the name that you must give to you custom PHP.INI

https://support.godaddy.com/help/article/8913/what-filename-does-my-php-initialization-file-need-to-use?countrysite=in&marketid=en-IN



If you are upgrading to PHP version 5.4 on GoDaddy Hosting the name of the config file has to be .user.ini and must be placed at Root of account 

Hope this tip saves you the huge amount of time that I lost
Happy coding :-)

Is Cross-Origin Resource Sharing (CORS) AJAX Requests interfering with your development ?

This is again another learning from one of my latest projects. I have been creating a Backbone based web application. The data was being fetched from the webservice exposed on the developers machine. The issue occurred when backbone view tried making AJAX call to the webservice; it was being rejected by Chrome browser marking it as a CORS call.

We wanted an immediate intermediary solution to continue with our development and we found that using a command line parameter  while starting chrome browser makes it ignore CORS check during AJAX call.

I thought it would come handy to someone facing same issue and needing immediate solution :-)

Please use the below steps to start chrome browser with CORS security disabled;

1. press windows button + R key to start windows Run prompt
2. type follwoing command i.e.

chrome.exe --disable-web-security

EDIT:
Some people could not get CORS working using above method.

For them, here is a little PHP function that can also help you get rid of CORS issue.
All you need to do is call this function in the start of the PHP page.


/**
 *  An example CORS-compliant method.  It will allow any GET, POST, or OPTIONS requests from any
 *  origin.
 *
 *  In a production environment, you probably want to be more restrictive, but this gives you
 *  the general idea of what is involved.  For the nitty-gritty low-down, read:
 *
 *  - https://developer.mozilla.org/en/HTTP_access_control
 *  - http://www.w3.org/TR/cors/
 *
 */
function cors() {
    // Allow from any origin
    if (isset($_SERVER['HTTP_ORIGIN'])) {
        header("Access-Control-Allow-Origin: {$_SERVER['HTTP_ORIGIN']}");
        header('Access-Control-Allow-Credentials: true');
        header('Access-Control-Max-Age: 86400');    // cache for 1 day
    }
    // Access-Control headers are received during OPTIONS requests
    if ($_SERVER['REQUEST_METHOD'] == 'OPTIONS') {
        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_METHOD']))
            header("Access-Control-Allow-Methods: GET, POST, OPTIONS");        
        if (isset($_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']))
            header("Access-Control-Allow-Headers: {$_SERVER['HTTP_ACCESS_CONTROL_REQUEST_HEADERS']}");
        exit(0);
    }
    echo "You have CORS!";
}

Thanks for reading and happy coding :-)

Make a bootable windows 7 / Windows 8 usb drive

Recently, I landed into my worst fear i.e. my work computer crashed and I had to setup a new machine from scratch. In the entire recovery process; installing the OS the most tedious work.
It was then when I realized the lack of proper documentation regarding how to create a bootable USB drive to install windows 7 or windows 8

With lot of pain I found a tutorial and I would like to share the steps with all of you;


  1. Open the windows command prompt in the Administrator modeType following commands in sequence i.e.
  • diskpart (Note: This will open a new command window. Please do not close the previous command window as we will need that later)
  • list disk
  • select disk 1 (Note: here disk 1 is the disk number of the usb drive)
  • clean
  • create partition primary
  • select partition 1
  • active
  • format fs=ntfs quick
  • assign
  • exit (Note: This will close the command window and you will land into the original / first command window)
Now, you need the copy of windows 7 or windows 8 that you want to move to usb drive
Execute the following commands in the command window that is open i.e.
  • cd d:\windows7_install\boot (Note:  Navigate to directory named boot under the windows installation directory. For me it was in the D: drive in windows7_install directory)
  • bootsect.exe/nt60 e: (Note:  Here e: is the drive letter of the USB drive. Make sure that you make no mistake in this step)
  • Your bootable USB drive is all set now. Copy the windows 7 or windows 8 install directory in the USB drive and restart the computer with boot from USB disk option selected in the BIOS.
  • You computer boots from the USB drive. Now you can execute the setup from the install directory that you copied in previous step

Cheers !! :-)



Source: http://www.youtube.com/watch?v=nZVgInbhTAw&index=93&list=WL


PHP Mail - Send HTML email with attachment

As the title says, we are going to discuss how to send mail with attachment using the default PHP mail() function.
Sending a plain text / HTML email using PHP mail is very simple but when it comes to adding attachments to it then it becomes equally tricky and difficult.
I was caught up in this tricky situation and after searching around and trying zillions of solutions suggested by users in various forums got the following solution to work;
Hope this comes handy to someone in need :-)

This is the code that worked for me;

/* Email Detials */
  $mail_to = $to;
  $from_mail = $from;
  $from_name = $from_name;
  $reply_to = $from;
  $subject = $subject;
  $message_body = $msg;

/* Attachment File */
  // Attachment location
  $file_name = $basefilename;
  $path = "../reports/";
 
    // Read the file content
    $file = $path.$file_name;
    $file_size = filesize($file);
    $handle = fopen($file, "r");
    $content = fread($handle, $file_size);
    fclose($handle);
    $content = chunk_split(base64_encode($content));
   
/* Set the email header */
    // Generate a boundary
    $boundary = md5(uniqid(time()));
   
    // Email header
    $header = "From: ".$from_name." \r\n";
    $header .= "Reply-To: ".$reply_to."\r\n";
    $header .= "cc: ".$cc."\r\n";
    $header .= "MIME-Version: 1.0\r\n";
   
    // Multipart wraps the Email Content and Attachment
    $header .= "Content-Type: multipart/mixed;\r\n";
    $header .= " boundary=\"".$boundary."\"";

    $message .= "This is a multi-part message in MIME format.\r\n\r\n";
    $message .= "--".$boundary."\r\n";
   
    // Email content
    // Content-type can be text/plain or text/html
    $message .= "Content-Type: text/html; charset=\"iso-8859-1\"\r\n";
    $message .= "Content-Transfer-Encoding: 7bit\r\n";
    $message .= "\r\n";
    $message .= "$message_body\r\n";
    $message .= "--".$boundary."\r\n";
   
    // Attachment
    // Edit content type for different file extensions
    $message .= "Content-Type: application/csv;\r\n";
    $message .= " name=\"".$file_name."\"\r\n";
    $message .= "Content-Transfer-Encoding: base64\r\n";
    $message .= "Content-Disposition: attachment;\r\n";
    $message .= " filename=\"".$file_name."\"\r\n";
    $message .= "\r\n".$content."\r\n";
    $message .= "--".$boundary."--\r\n";
   
    // Send email
    if (mail($mail_to, $subject, $message, $header)) {
        echo "Sent";
    } else {
        echo "Error";
    }


Credit goes to user Karmaprod at the forum eureka.ykyuen.info
link: http://eureka.ykyuen.info/2010/02/16/php-send-attachmemt-with-php-mail/

Show inline image in Auto Responder email from cPanel

Today I am going to share a nice trick that I learnt regarding "How to add inline image to the Auto Responder email sent from cPanel"

Every one running a website might have setup an Auto Responder for inquiry email that are sent to them. The same can be very easily achieved using the "Auto Responders" feature in cPanel


But the problem with setting auto responds using it is that though we can send html responses; there is no way to embed an image in the email being sent. Most of us would love to have the logo of our company in the auto response mail for more professional appearance.

This is how the trick to achieve this goes,
Step 1
Create an email with image etc and the text that you want in the auto response using your favorite email application.

Step 2
Send the email to your GMAIL account. I used gmail cause the next step is easier using it. I tried yahoo but had difficulty figuring things

Step 3
Open the email in gmail and select the option "Show Original" to view the email as text with full details. The option  "Show original" can be found in the drop down at the top right corner of the email.


Step 4
In the text view of your email scroll down to the section where you see the details like From , To, Message Id, Subject etc,..


Take note of things I have highlighted in the attached screenshot above.

Step 5
Create an Auto Responder email in cPanel as normal.

Step 6
Open up Putty; Connect to your hosting server and navigate to following folder i.e.
/home/username/.autorespond

There you might find a file corresponding to the Auto Responder email that you have created something like this i.e. something@somedomain.com
Open this file using the Vi editor and two these two things,

  • Replace the content type line with the content type line copied from "Original" version of email in gmail. The line is highlighted in green in the screen shot in step 4 (Content-Type text)
  • Then replace everything after the subject line in the vi editor with the "Mail-Body" (marked in blue)  in the original text version of mail in gmail.


Step 7

Save and close the Vi editor. And test the hard work that you have done..
The auto response will have the logo of you company embedded in the response making it look more professional and authentic.


NOTE: Once you have done this activity; please never open the auto response email in cPanel else the settings will be reset and you will have to repeat the activity all over again.

Cheers and Have fun!!!





Courtesy goes to the member Sneader at "http://forums.cpanel.net/f43/trick-allow-attachment-auto-responder-240362.html"

Error Code: 1366. Incorrect string value - MySql stored procedure

Hello friends,

In continuation to the character encoding issues that I have been facing during development of my website AssameseBooks.com, here comes another blog.

The situation goes as follows,
I had the requirement to pull data that were saved in different tables to a single table. The data in the source tables were saved properly in UTF-8 character encoding.
I went through the most simplest approach to do it i.e. write a stored procedure and have the job one.

Well, the moment I executed the stored procedure, I encountered following error i.e.

Error Code: 1366. Incorrect string value: '\xE0\xA6\x85\xE0\xA6\xB8...' for column 'CUSTOM1' at row 1

where custom1 is a column in my database table having the text in assamese font.

Well, the solution was to alter my table and set the character set to UTF8 and collate to utf8_unicode_ci

so the query to be executed to achieve is,

ALTER TABLE tbl_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci;

Hope this comes handy to you guys too.

Cheers!! and Happy coding :-)

How to insert Indian font characters in MySql database using JAVA

Hello friends,

This blog is regarding my latest finding while working on my website Assamesebooks.com
As the name suggests, the website is all about Assamese literature and hence the books names had to be displayed in assamese as well.

I have created a dataload utility to load the product data from excel file into the mySql database.
The data in the excel file is in assamese font. Now the problem was that after the dataload, the assamese font  were not getting saved properly in the DB and were visible as ???? (question marks)

First I thought it might be due to the CHARSET or CHARACTER ENCODING that I had selected for my database schema and the table. But there were set to utf8_general_ci

This kept me puzzled for quite some time. While googling I came across the real solution which was related to how I was creating my JDBC connection URL.
In order to have the UNICODE characters saved properly to the mysql database we need to specify to use unicode and character encoding as UTF-8 while making the JDBC connection URL for databse.
This can be done by simply adding following parameters to the connection URL i.e. useUnicode=true&characterEncoding=UTF-8

So, your JDBC connection URL my look like,

String url = "jdbc:mysql://localhost/TestDB?useUnicode=true&characterEncoding=UTF-8";

Hope this information comes handy to you people as well.

Cheers! and happy coding :-)

PS: The google page where I found this helpful tip is :
http://uwudamith.wordpress.com/2011/09/02/how-to-insert-unicode-values-to-mysql-using-java/

Changing web project deploy name in Tomcat server

Before I start with details, I would like to give a brief of the problem so that you exactly know what I mean to say here.

Have you ever tried copying the same project in you workspace to make a duplicate so that you can fiddle with the code and ensure that the original code is not lost. If yes, then while running the project you might have come across the problem where the Tomcat server complained that there was already a project deployed with the same name. Well, this blog is about getting across this problem.

The first thing that comes to mind to get around this problem is changing the following things
1. Project Name
2. The 'Context Root' in 'Web Project Settings'

Below is an image of  the problem.



But to surprise it still doesn't work. Tomcat server picks the deploy name of the project from some where else.

After a bit of finding, I found following file in my project's folder i.e. org.eclipse.wst.common.component
It is located in the ".settings" folder in your project's folder.

The content of the file is as below,



You need to change the "deploy-name" under "wb-module" tag to a different name as I have highlighted above.

That's it. Start eclipse, refresh your workspace and then redeploy your project. You can see the new name there. Well, You are now ready to continue creating wonders.. :-) Cheers!!!

JSP / Servlet based web Site hosting on the web server : Tips / Tricks / Roadblocks


Well, as part of job I have created many web projects and made them live. But it is a different story when you need to do it on your own.
In the company you have different teams to handle various activities i.e. the Infra team for handling the Deployment and server setup stuff, Database team to handle the database setup / table creations, the sitedev team which deals with HTML pages, CSS, and JS and the developers keep themselves busy with the coding part.

I had my share of adventure of all these activities on my work for www.assamesebooks.com
This is a project that I am still working on. I will adding here the challenges that I have faced so far and their solution so that starter we developers like me who want to create something  all on their own can benefit.

1) Web Server folder structure - Where to place what files
Ok, so this is very important for us to know that which file need to be place at what location on the webserver. Many of the Linux based hosting servers give us a very nice interface to manage our application through "cPanel". I will discuss the same.
Below is an image of what a generic cPanel file structure looks like,


I will explain the details as colour marked in the image,
      a)      Red: These are custom folders. Some of them were present from before while others I created to manage my web resources like CSS, Javascript files, images, HTML files and the JSPs in a much better way. You can create your own folders.
      b)      Orange: This is the Runtime CLASSPATH of our web project. So anything that needs to be placed in the classpath of the web project like the classes, library JARs, properties files, web.xml, struts-config.xml  etc. goes here. 
      c)     Green: This is a configuration file for the web servers based on Tomcat Apache servers. The only configurational change that I did in it was adding the entry for my custom error page. Details of which will follow later.
      d)      Pink: These are my custom error pages. These are defined in the .htaccess as discussed above.
error400.jsp is displayed when an error with error code 404 occurs
error500.jsp is displayed when an error with error code 500 occurs
       e)      Blue: This file is the first file that is executed when someone types the address of our application in the browser. It is defined in the web.xml file under tag.

I hope this gives a fair idea of how the file system in cPanel is detailed. Let’s get in more details now.

2) Generic error page definition
Importance: This is important because we do not want our visitors to see a pre-defined ugly error page of our hosting provider when some error occurs. It is very important for a nice user experience to show our own error page with information about what to do next. So, let’s get on with it.
As I explained above, we can use the .htaccess file to define generic error page for our application based on the error codes. .htaccess is a normal text file and can be opened with any txt editor. Just note that this file has no extension so when you edit and save it, no extension is added or else it will stop working.
You can make an entry as follows for you error pages at the end of the file,
ErrorDocument 404 /error404.jsp
ErrorDocument 500 /error500.jsp

3) Deploying you web application on the Web Server
It is really easy. Though it appeared like a mystery when I did not know anything before. J
You can use the in built file upload tool of cPanel to upload your files. But I would suggest you use a FTP application like FileZilla to do it via FTP. It will make live much simpler as you can upload multiple file in a go with lot of ease.
So, place you file as detailed below,
      a)      The index.jsp and the .htaccess files go in the root. You also place all your custom folders that may be present under /WebContent  folder in your workspace here.
      b)      Copy all the build .class and properties files from you workspace location i.e. /build/classes to /WEB-INF /classes


       c)      Copy all the required JAR files to following location i.e. /WEB-INF/lib 




      d)      Copy all the configuration files and the TAG LIB files such as, web.xml, struts-config.xml, validation.xml, c.tld, fn.tld etc to /WEB-INF



      That’s all. This completes the deployment of your web application on the server.

4)  Next, challenge that I faced was while trying to access a file that I had placed in one of the custom folders through my servlet code. Giving a relation file location will not at all work here. It may work on our local machine and in eclipse. But when deployed on the web server, the code would fail.
In order to overcome this issue we need to get the full path of the file using the Servletcontext. Below is a sample code explaining  how to do it,

ServletContext context = getServletContext();
String relFileLoc = "uploadedData/Data.csv";
String fullFileLoc = context.getRealPath(relFileLoc);

5) Accessing you servlets from the browser
So, you have deployed all you servlet class files and code on the web server and are ready to access it. But , Hey! why am I not able to access it.
You can access your servlet correctly though the URL of form as given below in you workspace, i.e.
http://localhost:8080/servlet-name

But simply replacing localhost:8080 with your domain name (i.e.  http://domain-name/servlet-name  ) does not allow you to access your servlet.
You need to use URL of following form to access it, i.e.

http://domain-name/servlet/servlet-name 


Please note the word servlet in the URL. This is some kind of restriction from the host servers . I came to know about it through our host server’s documentation.

6) Want to upload a file to the web Server. Things you need to know.
Well, the first and last thing that you need to know is that you need to give write permission to the folder where you want your files to be saved. If you forget this your files will never get uploaded.
I have also attached here my fileUtil.java file with a sample code for performing single file upload on the server. For me, the uploaded data folder was /UploadedData . So, all you have to do is, right click on the folder name in the cPanel and choose “change permission” option. And select the write permission. Refer image below,



Download FileUtil.java: 


     7) Loggers – Key to finding errors and debugging them in you web application
      I do not need to explain why using loggers in your application is important. But I will definitely help you with how to deploy it on the web server J
      I have used Log4J for my purpose and will explain the same. Hope, it would be similar for any other loggers that you may use.
      Log4J comprises of 2 important things,
          a)      Log4J.properties file – this file holds the various properties needed for Log4J
          Like all the other property file it needs to be placed at following location on the web server i.e. /WEB-   INF /classes

       b)      The location where the log files would be created
       Now, this is really important and took me hell lot of time to figure it out. People taking you shared JVM based JSP hosting for their purpose will know it. J
      Well, I read lots tips/hints on the web as to how to set the path of the log file in the log4j.properties file so that it can be properly deployed on the web server. Some suggested using a servlet that was initialized on server startup or to use a ServletListner class. But somehow, both did not work for me. So this is what I did,
i)                    I printed the full path of my log folder in one of the JSPs by using the code to get the full path of a folder  in servlet as explained above i.e. context.getRealPath()

ii)                  I wrote this path as the location of my log file in the log4j.properties file

iii)                Gave write access to my Log folder
      
       I think this is the quickest and most simplest way to setup log4J for you application on the web server J

      8) Want to use Struts. No problem at all
      Setting up struts needs to special treatment. Simply place the required JARs and the configuration XML files in the locations as already explained and it will start working.
      The only little difficulty that I had was with using the struts-html and struts-bean Tag libraries in the JSP.
      With the setting I have explained,  including the tag-libs as below worked for me.
   
   <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html" %>
   <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>

     9) MySql + Stored Procedure = A hard time till I figured out the goof up
     Setting up the Database is very simple using the PHPMySQL interface that cPanel provides. I was able to run all kind of select, update and delete queries but when it came to running stored procedures I got following error, i.e.
      
     User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureBodies=true" to have driver generate parameters that represent INOUT strings irregardless of actual parameter types 
     
     Using “noAccessToProcedureBodies=true” in the connection URL also did not work for me. It was then I discovered that there was some bug in a specific version of the MySQL JDBC driver that did not allow “noAccessToProcedureBodies”  to work. I had to use “useInformationSchema=true” attribute in the connection URL to have my stored procedure execute. In case you face similar issue, please try this out.

      10) SVN repository – A must use feature
      Most of the Host servers provide a SVN repository as well. You can check if one exists for you or not by looking for this logo in cPanel,


     This is a very nice feature and must use it for sure to keep a repository of your project so that you can maintain version of it and share across team members. It was of great help to me lot of times when I accidently deleted some of my code files and I had to get it back.

     So that's all guys that I have got for now. I will keep adding more to this list as I come acroos more challenges.

     Hope this makes some one's life easy and my purpose of writing this post will be solved. CHEERS!!





"User does not have access" error with stored procedure on MySQL

Well, I was working on this new project where I needed to execute a stored procedure from my JAVA code over MySQL database. But, the problem was that the statement,
CallableStatement cs = con.prepareCall("CALL myproc(?)");
gave following error i.e.

User does not have access to metadata required to determine stored procedure parameter types. If rights can not be granted, configure connection with "noAccessToProcedureBodies=true" to have driver generate parameters that represent INOUT strings irregardless of actual parameter types

Even on using the parameter "noAccessToProcedureBodies=true" in the connection string didnot work. It was like a nightmare. Googled like hell but to no resolution. The code seemed all correct and used to work fine on local development machine but when deployed on the web server it just failed. To my surprise, I was even able to execute the procedure through PHP code but was only the JAVA code that had issues.

I read somewhere that my database user did not have proper rights but even that could not be the problem as I had given all the privileges to my user.

Then I came upon this article (http://bugs.mysql.com/bug.php?id=61203) which points to a bug in MySQL JDBC connector which cause "noAccessToProcedureBodies" not to work.

I was now interested. A bug !! well, that was the least I could expect that gave me such horrible time. Anyways, the discussion at the article suggested using the parameter "useInformationSchema=true" in the URL string to over come the problem or to use a more latest version of the MySQL JDBC conenctor as this issue was fixed in version 5.1.19

So, a connection string like this works like charm till your web server host provider upgrades his MySQL JDBC driver i.e.

DBURL=jdbc:mysql://localhost:3306/DatabaseName?user=DBUser&password=DBPassword&useInformationSchema=true

Hope, this information comes handy to some one in need. Cheers!! :-)

Personal Hotspot Missing In IPhone 4

Hello Friends,

From past few months I am owning an IPhone 4 with IDEA post paid connection. Recently, I came to know that there is a feature called Personal Hotspot available in the settings section. But somehow, this setting was missing for me :-(
Yes, I know it is really very sad... But then after lot of finding, I got this solution that really worked. And just like I do always, I am sharing this with all of you :-)




Well, if you do not see Personal Hotspot option in the setting page of your IPhone, then please follow this steps,

METHOD 1
-----------
1. Go to Settings -> General -> Network
2. Check if you can see Personal Hotspot option there. Please note that this option is somehow supported by you carrier provider. (I wonder what this has to be with the carrier, but it is :-( ). If you see the option there and are not able to enable it then move to Method 2




METHOD 2
-------------
1)Go to Setting -> General -> Network -> Cellular Data
2) Now, scroll down to Internet Tethering -> Enter APN (If you do not know these values, then ask the carrier provider. Or you can try entering the same values as in the Cellular Data section in the top of same page)
3) If Step 2 does not work then Go to Setting -> General -> Network ->cellular data -> scroll down to Internet Tethering -> Reset Setting. After reset enter the APN again as in Step 2 above
3)if problem still persist do following,
a)Call your mobile operator check it they have any restriction on tethering
b) Hard reset your mobile to reset it
c) or as a last option try to restore through ITunes


Hope this helps all of you and you can enjoy sharing your IPhone's internet connection with all your house hold wifi enabled devices...

Thank you and have fun... cheers!!

Microsoft office Communicator on IPhone

Hello Guys,
 As usual I am back with a very useful piece of information...
And the title of this post itself speaks it all.
Yes, you read it correct, you can use your office communicator on your iPhone...
Though its not my discover, below are the steps to configure it on your fone. And it is absolutely FREE too.
1. Download this Fuze Messenger from itunes store (Download) and yes! this is free apps :-) grab it while you can!
2. Install the apps to your iPhone
3. Create free account, this is automatically ask after you installed it into your iPhone. If not you can manually create the account by selecting settings - registration - and enter the detail of yours and hit submit.
4. No worries this registration also free :-)
5. After it successfully created your account, you can now setting your Office Communicator detail information, by tapping - setting - IM Networks - tap the OCS Gateway.
6. Filled the sign in name --> usually this will be your office email address
7. Filled the username --> usually you will need to enter using this format: domain\userid (userid usually is your same user id when you logged your PC/Laptop to connect your LAN Office).
8. Filled the password --> same as your LAN Office password.
9. Tap Log in
10. Wait until it finish loading all your Office Communicator contacts.
Thats it.. In 10 easy stes your are ready to chat with your office colleagues... :-)




Source: http://pokka77.blogspot.com/2011/01/you-can-now-chat-using-office.html

Configure Gmail on Samsung Star wifi (S5233W / S5230W)

Well, friends I know your first reaction to this post would be like what the heck... There are so many sources on the net where you can get this detail so what is new to it. So, to that I would like to tell my friend that I own the above model and for last some days I have gone through tens of such information that I get on the internet to configure gmail but to vain. Today, luckily I am able to do so with certain hit and trial and so I felt to share the same with you people so that you can also benefit from it...
So here goes the details,

After running the email setup wizard, go to edit option of the connection created and enter the details as below..

Account Name: Gmail
SMTP Server: smtp.gmail.com
SMTP Port: 465
Secure Connection : SSL
Incoming Server Type: POP3
POP3 Server: pop.gmail.com
POP3 Port: 995
APOP login: untick
Secure Connection: SSL
Download Limit: 500
Retrieveing option: Subject Only
Keep on server: tick
My Address -->
Username: username@gmail.com
Password: gmail password
POP before SMTP : untick
SMTP auth. : tick
Same as POP3/IMAP4: Tick

Save it and you are done...
Seems simple eh!!! Enjoy gmail on your phone now... :-)

We are all "Pappu"

Get SMS reminder for your Google Calendar Events..

Hi All,
Very recently I discovered an excellent feature available with Google Calendar.. i.e. you can configure it to send SMS reminders on your phone for all your events. And this feature is also available to its Indian users. So, isn't it a great thing to cheer for :-)

Please follow the steps below to configure the same and you will never have to miss any of your important appointments in case you have no access to internet to check email.

Step 1: Create and setup Google Calendar
If you donot have a google calendar account then you can go to  http://calendar.google.com and create one or login to your account if you have already registered.


Step 2:
Go to Google Calendar settings. Click on Settings –> Calendar settings.

Click on Mobile Setup tab

Step 3:
In the mobile setup page, select your country from the drop down and enter your mobile number. Click on “Send Verification Code” button. Your mobile phone will receive an SMS having the verification code. Enter the code in the box given on the mobile setup page and click on “Finish setup”

Step 4:
Now you can add an SMS reminder by clicking on the event, then click on “Edit event details” and then on  add a reminder by choosing the SMS option from the drop down menu.

That's it. So start adding SMS reminders for your calendar events and never miss anything important :-)

Thank you and Cheers!!!


Multi OS Boot - BCD/Bootloader missing and ntldr???

Ever faced problem with BCD/Bootloader missing and ntldr???

-If you install an earlier version of the Windows operating system on a Windows Vista-based or Windows 7-based computer, Windows Vista no longer starts. In this case, only the earlier version of the Windows operating system starts.
-If you install an additional instance of Microsoft Windows XP on a computer where Windows XP and Windows Vista are already installed in a dual-boot configuration, you may receive the following error message:

*Here is the solution:

right-click the command-prompt shortcut, and then click Run as Administrator.

Use Bootsect.exe to restore the Windows Vista MBR and the boot code that transfers control to the Windows Boot Manager program. To do this, type the following command at a command prompt: Drive:\boot\Bootsect.exe /NT60 All

In this command, Drive is the drive where the Windows Vista installation media is located.

Note The boot folder for this step is on the DVD drive.
Use Bcdedit.exe to manually create an entry in the BCD Boot.ini file for the earlier version of the Windows operating system. To do this, type the following commands at a command prompt.

Note In these commands, Drive is the drive where Windows Vista is installed.
Drive:\Windows\system32\Bcdedit /create {ntldr} /d "Description for earlier Windows version"

Note In this command, Description for earlier Windows version can be any text that you want. For example, Description for earlier Windows version can be "Windows XP" or "Windows Server 2003".
Drive:\Windows\system32\Bcdedit /set {ntldr} device partition=x:

Note In this command, x: is the drive letter for the active partition.
Drive:\Windows\system32\Bcdedit /set {ntldr} path \ntldr
Drive:\Windows\system32\Bcdedit /displayorder {ntldr} /addlast
Restart the computer.

NOTE: You would also need these files
Ntldr
Boot.ini
Bootfont.bin

Thanks to my old friend 'Haddi' to dig out this info for all of us.. :-)

Capture Online radio / Streaming music

Hello friends,
First of all.. A very Happy new year 2011 to all of you!!
Let me start my first of this year with a musical one.. :-)

To start off.. How many time have we been hearing songs on internet radio and thought "Alas If I could save it and play coz the song was too good and hard to find.."
Well, similar feeling used to occur to my mind . For me it was too boring activity to go to different sites and select and download songs..
So, a little bit of googling and I came out with this tutorial..
Here, I will show how you can record music from online radios and save as MP3 in your computer for later playback.

First of all you will need an application called "Audacity". It is a free application and can be download from here  Download Audacity

After you download and install Audacity, follow following steps,

  1. In the drop-down menu on Audacity's mixer toolbar, choose “Wave Out” or “Stereo Mix” as the input source. (The exact name may be different, depending on your computer's sound drivers.) When you press the Record button, Audacity will capture whatever sound is playing on your computer's speakers. Note: on Windows Vista or 7, you must choose the required input source in the "Recording Device" dropdown in the "Audio I/O" tab of Preferences ("Devices" tab in Audacity Beta). On Windows, if you don't have a “Wave Out” or “Stereo Mix” option, or if it won't record, go to the system Control Panel and try to enable this option there. For instructions see:Using the Control Panelon the Wiki.
  2. Then play your favorite internet station.
  3. Press the record button on Audacity and let it record those songs for you.
  4. When you are done, press stop button and save the music and Enjoy!! 
Note: Do not enable "software playthrough" when recording computer playback, because this creates a series of echoes.

Hope this comes to some good help to you.. :-)
Cheers!!!


How to Take Ownership of a Item in Vista and Windows 7

Ok friends.. So here goes the reason for this post...
Actually, I was trying to delete a file from Windows 7. My login has 'Administrative' rights. But even then the OS kept on saying that I need SYSTEM rights or I have no rights to delete the stupid file. So, u can imagine how irritating the situation would have been. I mean, in my own PC i was having no control over what files i should keep and which I should delete. Hence I wint out googling for some way. Its then when I stumbled upon this solution. So I thought to share it with u guys as wel...

This method will add Take Ownership to the Context (right click) menu for all folders and files in Vista. The Application files, (EX: EXE, CMD, MSI) will still have Run as administrator in addition to Take Ownership now. When you use Take Ownership on a folder, it will take ownership of all the files and subfolders within that folder to.


EXAMPLE: Before and After Context Menus







STEP ONE
Add or Remove Take Ownership
1. To Add Take Ownership -
A) Click on the download button below to download the
Add_Take_Ownership.reg file.
B) Go to step 3.
2. To Remove Take Ownership -
A) Click on the download button below to download the
Remove_Take_Ownership.reg file.

3. Click on Save, and save the .reg file to the Desktop.

4. Right click on the .reg file (on Desktop) and click on Merge.

5. Click on the Run button in the Security Warning pop-up.

6. Click on Continue (UAC), Yes, and then OK when prompted.

7. When done, you can delete the .reg file (on Desktop).
Tip
Taking ownership only changes the "owner" of the file to be your user account. It does not change the permission level of the file.

After you have taking ownership of the file, you may still need to "Allow" your user account "Full Control" of the file before you will have full permission to access it. See steps 11 to 22 in the tutorial below for how.

Take Ownership of file - Vista Forums

STEP TWO
How to Use Take Ownership
1. Right click on a folder or file.
NOTE: When you use Take Ownership on a folder, it will take ownership of all the files and subfolders within that folder to.

2. Click on Take Ownership. (See Example at top)

3. Click on Continue in the UAC prompt.

4. You will see a command window pop-up and then go away when it's finished. (See example screenshot below)

5. The folder or file has been taken ownership of.
NOTE:
A) You can verify from METHOD TWO step 7 here: How to Take Ownership of a Item in Vista
B) It will have your user name listed as the owner.
Tip
Taking ownership only changes the "owner" of the file to be your user account. It does not change the permission level of the file.

After you have taking ownership of the file, you may still need to "Allow" your user account "Full Control" of the file before you will have full permission to access it. See steps 11 to 22 in the tutorial below for how.

Take Ownership of file - Vista Forums


Source of this great solution: http://www.vistax64.com/tutorials/112795-context-menu-take-ownership.htmlhttp://www.vistax64.com/attachments/tutorials/19678d1276323719-context-menu-take-ownership-remove_take_ownership.reg

How to Create a bootable USB Drive

If you do not have a floppy disk drive, you may want to create a bootable USB memory key which will allow you to boot into a pure DOS environment. This can be very useful if you want to flash your BIOS. Here is a step by step procedure on how to perform this operation.
NOTE: Your computer must support booting from a USB device in order to boot from the USB Memory Key.
Step 1 - Download and install the Windows based HP USB Disk Format Tool. For your convenience, you can download it fromHERE.
Step 2 - Download the Windows 98 system files from HERE. This is a zip file that contains all of the system files that you will need. Create a new folder and extract these files into the folder that you just created. Make sure that you preserve the directory structure.

Step 3 - Insert the USB Memory Key into the USB port of your computer.
NOTE: Make sure that the lock/unlock switch (if present) is set to the unlock position.
 

USB MEM KEY 1
Step 4 - Launch the HP format tool program.
Under the device drop down list, make sure that the USB memory key is selected.

USB MEM KEY 2
Step 5 - Under the file system drop down list, select FAT32. This is important to do correctly.

USB MEM KEY 3
Step 6 - Check the box next to Create a DOS startup disk.
Select "using DOS system files located at:
Then click on the square box with 3 dots on it.

USB MEM KEY 4
Step 7 - Browse to the folder that you extracted the Win98 system files and then click on the OK button.

USB MEM KEY 5
Step 8 - Now click the Start button.

USB MEM KEY 6
Step 9 - You will receive a warning message. Make sure you have the USB memory key selected. If you are sure, then click the Yes button.

USB MEM KEY 7
Step 10 - Your USB memory key is now being formated and the DOS system files will be copied onto it.
Once the program has completed the operation, click on the Close button.
You now have a bootable USB memory key.

USB MEM KEY 8
On the USB memory key, you will see these files. These are the basic Win98 system files.

USB MEM KEY 9



If you want to have CDROM support when you boot from your USB memory key, copy these files, including the CDROM folder to the memory key. These files are the ones that you extracted earlier to a folder.
If you copy all of these files to the memory key, you will have mouse support for any DOS program that support this feature.
You will also have many other DOS utilities that are ve




WHY EMPLOYEES LEAVE ORGANISATIONS ?

WHY EMPLOYEES LEAVE ORGANISATIONS ?
- Azim Premji, CEO- Wipro

Every company faces the problem of people leaving the company for better pay or profile.

Early this year, Mark, a senior software designer, got an offer from a prestigious international firm to work in its India operations developing specialized software. He was thrilled by the offer.

He had heard a lot about the CEO. The salary was great. The company had all the right systems in place employee-friendly human resources (HR) policies, a spanking new office, and the very best technology, even a canteen that served superb food.

Twice Mark was sent abroad for training. "My learning curve is the sharpest it's ever been," he said soon after he joined.

Last week, less than eight months after he joined, Mark walked out of the job.

Why did this talented employee leave ?

Arun quit for the same reason that drives many good people away.

The answer lies in one of the largest studies undertaken by the Gallup Organization. The study surveyed over a million employees and 80,000 managers and was published in a book called "First Break All The Rules". It came up with this surprising finding:

If you're losing good people, look to their line managers .... the manager is the reason people stay and thrive in an organization. And he's the reason why people leave. When people leave they take knowledge, experience and contacts with them, straight to the competition.

" People leave managers not companies ," write the authors Marcus Buckingham and Curt Coffman.

Mostly manager drives people away?

HR experts say that of all the abuses, employees find humiliation the most intolerable. The first time, an employee may not leave, but a thought has been planted. The second time, that thought gets strengthened. The third time, he looks for another job.

When people cannot retort openly in anger, they do so by passive aggression. By digging their heels in and slowing down. By doing only what they are told to do and no more. By omitting to give the boss crucial information. Dev says: "If you work for a jerk, you basically want to get him into trouble. You don't have your heart and soul in the job."

Different managers can stress out employees in different ways - by being too controlling, too suspicious, too pushy, too critical, but they forget that workers are not fixed assets, they are free agents. When this goes on too long, an employee will quit - often over a trivial issue.

Talented men leave. Dead wood doesn't.