CSV to Excel – keep leading zeros

February 9, 2010 · Posted in Windoze · Comment 

When opening a csv file in excel, leading zero’s are displaced as below:

if the CSV file has “010101″, when opened in excel, it becomes “10101″.

To overcome this issue, store data in CSV file as =”010101″ (add ‘equals’ sign before the first quote.). If now you would open this file in excel, the leading zeros will stay as is.

Generate SSL certificate for Tomcat

January 21, 2010 · Posted in general web, java · Comment 

Following are the steps to create an real SSL certificate (verified by VeriSign/Thawte etc.) for Tomcat:
1. Creation of keystore
keytool -genkey -alias XXX -keyalg RSA -keystore ./XXX.keystore

2. Generation of CSR
keytool -certreq -alias XXX -file XXX.csr -keystore ./XXX.keystore
Send the generated XXX.csr to the signing authority and get the certificate from them. Save that file as “XXX.thawte”

3. Install the certificate in the keystore
keytool -import -alias XXX -trustcacerts -file XXX.thawte -keystore XXX.keystore

That’s it.

List of Countries

January 20, 2010 · Posted in general web · Comment 

In case you need a list of countries, here is the file

Integrate Apache 2 with Tomcat 6

January 18, 2010 · Posted in apache, general web, java, linux · Comment 

I have been trying to configure apache/tomcat is such a way that apache comes on the front-end so that I can have all the features of apache like URL rewriting, virtual hosts, PHP etc. and forward only certain requests to tomcat whose only job should be running servlets.

I have CentOS installed on my server with Apache 2 installed through yum and the goal was to install the binaries for Tomcat 6 and make them talk to each other. After some googling, the best tutorial I found to configure tomcat through mod_jk was found here. I have attached the PDF of the instructions here.
After following the steps, I was easily able to create a worker and configure apache to forward the request to /examples to tomcat.
The next issue was how to configure virtual hosts so that I can host multiple websites, some handled by apache and others through tomcat. Following is the snippet of httpd.conf setting that needs to be updated to enable virtual hosting.


NameVirtualHost *:80
#
# NOTE: NameVirtualHost cannot be used without a port specifier
# (e.g. :80) if mod_ssl is being used, due to the nature of the
# SSL protocol.
#
#
# VirtualHost example:
# Almost any Apache directive may go into a VirtualHost container.
# The first VirtualHost section is used for requests without a known
# server name.
#
#<VirtualHost *:80>
#    ServerAdmin webmaster@dummy-host.example.com
#    DocumentRoot /www/docs/dummy-host.example.com
#    ServerName dummy-host.example.com
#    ErrorLog logs/dummy-host.example.com-error_log
#    CustomLog logs/dummy-host.example.com-access_log common
#</VirtualHost>
<VirtualHost *:80>

ServerAdmin webmaster@lalitmehta.com
ServerName www.lalitmehta.com
ErrorLog logs/lalitmehta.com-error_log
CustomLog logs/lalitmehta-access_log common
</VirtualHost>
<VirtualHost *:80>
ServerAdmin info@saiyam.com
ServerName rsspile.com
#   No need of DocumentRoot
ErrorLog logs/rsspile.com-error_log
CustomLog logs/rsspile.com-access_log common
JkMount /rss ajp13
JkMount /rss/* ajp13
</VirtualHost>


I do have two questions though:
1. since mod_jk.so is available for download for Linux, what advantage you get by compiling Apache and mod_jk from source? Most of the websites mention the need to compile the source. Let me know :)
2. How do I enable SSL on my server with the above configuration?

Increase maximum limit of open files per user

January 15, 2010 · Posted in linux · Comment 

If you want to increase the limit of open files for the current session, simply run

ulimit -n 2048

If you want to increase it by default, edit /etc/security/limits.conf and add

*    hard     nofile     2048
*    soft     nofile     2048

or if you want to increase it only for a certain user, set it as

userlogin    hard     nofile     2048
userlogin    soft     nofile     2048

IE 6 bug in window.location

January 13, 2010 · Posted in Windoze, general web · Comment 

There is a bug in IE 6 where following code does not work

var newUrl = "http://www.google.com/";
window.location = newUrl;
// This also doesn't work!
// window.location.href = newUrl;

After a scratching head for couple of hours, found the solution here

var newUrl = "http://google.com/";
setTimeout(function()
{
window.location = newUrl;
}, 0);

SVNAnt does not work

September 3, 2009 · Posted in Uncategorized · Comment 

If using SVNAnt, make sure subversion is installed on the system.

In case, there is a way to use SVNAnt without it please let me know.

Invoke a servlet from a servlet

September 3, 2009 · Posted in Uncategorized · Comment 

There are couple of ways to do so:

  1. Send a HTTP request
    To invoke a servlet that requires authentication, in addition to creating the URL object, you need to pass authentication cookies too.

    URL url = new URL("http://blah");
    URLConnection con = url.openConnection();
    con.setRequestProperty("Cookie", request.getHeader("Cookie"));
    con.connect();
  2. RequestDispatcher
  3. Send a redirect

GMail down

September 1, 2009 · Posted in Uncategorized · Comment 

It has been more than an hour or so, I am unable to access gmail. I get the following error.

google-error

I wonder what made this happen!

Update: Found the problem what caused this mess on gmail’s blog

MySQL database backup and restore

July 14, 2009 · Posted in Uncategorized · Comment 

1. Create Database Backup:
You can use mysqldump to create a simple backup of your database using the following syntax.

mysqldump -u [username] -p [password] [databasename] > [backupfile.sql]

  • [username] – this is your database username
  • [password] – this is the password for your database
  • [databasename] – the name of your database
  • [backupfile.sql] – the file to which the backup should be written.

You can also ask mysqldump to add a drop table command before every create command by using the option –add-drop-table. This option is useful if you would like to create a backup file which can rewrite an existing database without having to delete the older database manually first.
mysqldump --add-drop-table -u [username] -p [password] [databasename] > [backupfile.sql]

If you want to back up certain tables
mysqldump -u [username] -p [password] [databasename] [table1] [tableN]> [backupfile.sql]

If you want to back up multiple databases
mysqldump -u [username] -p [password] [databasename1] [databasenameN] > [backupfile.sql]

Or want to back up all databases
mysqldump -u [username] -p [password] --databases-all > [backupfile.sql]

2. Restore from database backup

Restore a particular database
mysql -u [username] -p [password] [database_to_restore] < [backupfile]

Restore all databases
mysql -u [username] -p [password] < [backupfile]

Next Page »