CSV to Excel – keep leading zeros
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
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
In case you need a list of countries, here is the file
Integrate Apache 2 with Tomcat 6
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
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
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
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
There are couple of ways to do so:
- 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();
- RequestDispatcher
- Send a redirect
GMail down
It has been more than an hour or so, I am unable to access gmail. I get the following error.

I wonder what made this happen!
Update: Found the problem what caused this mess on gmail’s blog
MySQL database backup and restore
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]
