Monday, 18 October 2010

http://gftp.seul.org/

gFTP is a free multithreaded file transfer client for *NIX based machines. It has the following features:

* Distributed under the terms of the GNU Public License Agreement
* Written in C and has a text interface and a GTK+ 1.2/2.x interface
* Supports the FTP, FTPS (control connection only), HTTP, HTTPS, SSH and FSP protocols
* FTP and HTTP proxy server support
* Supports FXP file transfers (transferring files between 2 remote servers via FTP)
* Supports UNIX, EPLF, Novell, MacOS, VMS, MVS and NT (DOS) style directory listings
* Bookmarks menu to allow you to quickly connect to remote sites
* Fully Internationalized. The following translations of gFTP that are available: Albanian (sq), Amharic (am), Arabic (ar), Azerbaijan (az), Bangla (bn), Belarusian (be), Bulgarian (bg), Catalan (ca), Chinese (zh_CN,zh_HK,zh_TW), Croatian (hr), Czech (cs), Danish (da), Dutch (nl), Dzongkha (dz), English (en_CA, en_GB, en_US), Finnish (fi), French (fr), Galician (gl), German (de), Greek (el), Gujarati (gu), Hebrew (he), Hungarian (hu), Irish (ga), Italian (it), Kinyarwanda (rw), Korean (ko), Japanese (ja), Latvian (lv), Lithuanian (lt), Macedonian (mk), Malayalam (ml), Malay (ms), Nepali (ne), Norwegian (no), Norwegian bokmål (nb), Occitan (oc), Polish (pl), Portuguese (pt,pt_BR), Punjabi (pa), Romanian (ro), Russian (ru), Serbian (sr,sr@Latn), Slovak (sk), Spanish (es), Swedish (sv), Tamil (ta), Thai (th), Turkish (tr) and Ukrainian (uk) translations available.

Wednesday, 6 October 2010

Tuesday, 5 October 2010

using compression in linux with command

Using command line is faster than GUI.


compresses file

gzip -c file1 > foo.gz


Gunzip and import to mysql using gzip

gunzip < outputfile.sql.gz | mysql < mysql options>

Sunday, 12 September 2010

Send mail with joomla jmail class using gmail smtp account

jimport('joomla.mail.mail');
$mail = new JMail();
$mail->setsender("useremail");
$mail->addRecipient("destination@email.com");
$mail->setSubject("Here goes the subject");
$mail->setbody("The body of mail");
$mail->addAttachment('c:\\1.pdf');
$mail->useSMTP(true, "smtp.gmail.com", "useremail", "password",'ssl',465);
$mail->send();

Sunday, 8 August 2010

Performance comparison test between MySQL and PostgreSql

Step 1)

I have created a table in mysql with following query.

CREATE TABLE `latlong` (
`id` int(10) NOT NULL auto_increment,
`lat` decimal(12,9) NOT NULL,
`lng` decimal(12,9) NOT NULL,
`place_name` varchar(253) NOT NULL,
PRIMARY KEY (`id`),
KEY `lat` (`lat`),
KEY `lng` (`lng`),
KEY `id` (`id`)
) ENGINE=MyISAM AUTO_INCREMENT=800001 DEFAULT CHARSET=latin1;


I made the similar structure in PostgreSQL too.

CREATE TABLE latlong
(
id integer NOT NULL,
lat numeric(12,9) NOT NULL,
lng numeric(12,9) NOT NULL,
place_name character varying NOT NULL,
CONSTRAINT latlong_pkey PRIMARY KEY (id)
)
WITH (
OIDS=FALSE
);
ALTER TABLE latlong OWNER TO postgres;

-- Index: lat

-- DROP INDEX lat;

CREATE INDEX lat
ON latlong
USING btree
(lat);

-- Index: lng

-- DROP INDEX lng;

CREATE INDEX lng
ON latlong
USING btree
(lng);

Step 2 ) I entered 70 lakhs of random data to the table using a stored procedure.
In that i kept 1 lakh of duplicate data for testing purpose.

After that, i exported the mysql data to csv and imported to Postgresql.

Now both the table has same data and structure.

Then i ran the query on both and the time differences were amazing.

select count(*) from
(select max(id),count(id) from latlong group by lat,lng
having count(id) >1
) as tmp;

The result was 99998 in both tables.

Time taken for the outputs are,

Mysql > 29.297 seconds
PostgreSQL > 7.922 seconds

In the above test, PostgreSQL showed better performance than MySql.

mysql stored procedure example

This is an example script of mysqls stored procedure.
This will insert a large number of records into a table. I prepared this for checking the performance of db.


delimiter //
CREATE PROCEDURE load_part_tab()
begin
declare v int default 0;
declare latv,longv float;

while v < 8000000
do

set latv = FLOOR(7 + (RAND() * 5)) + rand();
set longv = FLOOR(7 + (RAND() * 5)) + rand();

INSERT INTO `sams`.`latlong` (
`id` ,
`lat` ,
`lng` ,
`place_name`
)
VALUES (
'', latv, longv, concat(latv,longv));

set v = v + 1;
end while;
end
//
delimiter ;

Tuesday, 4 May 2010

php code for sending email with godaddy using phpmailer

require dirname(__FILE__).'/phpmailer/class.phpmailer.php';
try {
$mail = new PHPMailer(true); //New instance, with exceptions enabled
$body = $content;
$body = preg_replace('/\\\\/','', $body); //Strip backslashes
//$mail->IsSMTP(); // telling the class to use SMTP
$mail->SMTPDebug = 1; // enables SMTP debug information (for testing)
$mail->Host = "relay-hosting.secureserver.net"; // sets GMAIL as the SMTP server


$mail->SetFrom('postman@website.com', 'Postman');

$mail->Subject = $subject;

$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test

$mail->MsgHTML($content);

$address = $to;
$mail->AddAddress($address);
if($attachment) {
$mail->AddAttachment($attachment); // attachment
}
$mail->Send();

return true;
} catch (phpmailerException $e) {
//echo $e->errorMessage();
}