Tuesday, June 30, 2009

CM has decided to continue

Dear all,
CM has decided to continue.

Monday, June 22, 2009

urgent ! Anyone knows about the top web hosting service providers in India

need URGENT info.
Anyone knows about the top web hosting service providers in India? I searched google and found a few but i'm not sure how good they are..Do you know someone who avails such a service and knows a service provider...if so please send me the websitelink or the phone number of the service provider.very urgent..please tell me ASAP.. (it should be Indian service provider as website is for indian audience)
Thanks in advance

Friday, June 19, 2009

How to integrate chase payment gateway with PHP?

Hi,
I will not explain here each and every step. Just I am telling what I did and which problems I faced while integrating chase payment gateway with PHP.

1) I user XML API method. ( Refer http://download.chasepaymentech.com/ to download links for XML schema ZIP for request and response, and xml specification DOC)
2) Download "Orbital Gateway XML Interface Specification" from ( http://download.chasepaymentech.com/portal/server.pt/gateway/PTARGS_0_226_1595_0_0_18/Orbital_Gateway_XML_Specification.pdf )
3) In your XML request do not forget to write correct version (e.g PTI46 in this case)
4) Developement KIT is not available for PHP. So if in future if you want to integrate chase with PHP contact me. I have done NewOrder, REFUND, VOID request to chase through PHP programming.
I will add sample format of REQUEST next time.
Enough for today.
Going bye...

Sampel XML Request and Response..
OrbitalConnectionUsername and OrbitalConnectionPassword are not really needed as authetication is checked from the SERVER IP from where the requst for payment transaction is made. Your server IP is stored to CHASE.


NEW ORDER REQUEST

<?xml version="1.0" encoding="UTF-8"?>
<Request>
<NewOrder>
<OrbitalConnectionUsername>TESTUSER123</OrbitalConnectionUsername>
<OrbitalConnectionPassword>abcd1234</OrbitalConnectionPassword>
<IndustryType>EC</IndustryType>
<MessageType>AC</MessageType>
<BIN>000001</BIN>
<MerchantID>123456</MerchantID>
<TerminalID>001</TerminalID>
<CardBrand></CardBrand>
<AccountNum>5454545454545454</AccountNum>
<Exp>0112</Exp>
<CurrencyCode>840</CurrencyCode>
<CurrencyExponent>2</CurrencyExponent>
<AVSzip>25541</AVSzip>
<AVSaddress1>123 Test Street</AVSaddress1>
<AVSaddress2>Suite 350</AVSaddress2>
<AVScity>Test City</AVScity>
<AVSstate>FL</AVSstate>
<AVSphoneNum>8004564512</AVSphoneNum>
<OrderID>8316384413</OrderID>
<Amount>2500</Amount>
</NewOrder>
</Request>



NEW ORDER RESPONSE

<?xml version="1.0" encoding="UTF-8"?>
<Response>
<NewOrderResp>
<IndustryType/>
<MessageType>AC</MessageType>
<MerchantID>123456</MerchantID>
<TerminalID>001</TerminalID>
<CardBrand>MC</CardBrand>
<AccountNum>5454545454545454</AccountNum>
<OrderID>8316384413</OrderID>
<TxRefNum>48E0E5BC6EAB75C4863A09DFED9804E7EC2E54A1</TxRefNum>
<TxRefIdx>1</TxRefIdx>
<ProcStatus>0</ProcStatus>
<ApprovalStatus>1</ApprovalStatus>
<RespCode>00</RespCode>
<AVSRespCode>H </AVSRespCode>
<CVV2RespCode> </CVV2RespCode>
<AuthCode>191044</AuthCode>
<RecurringAdviceCd/>
<CAVVRespCode/>
<StatusMsg>Approved</StatusMsg>
<RespMsg/>
<HostRespCode>00</HostRespCode>
<HostAVSRespCode>Y</HostAVSRespCode>
<HostCVV2RespCode/>
<CustomerRefNum/>
<CustomerName/>
<ProfileProcStatus/>
<CustomerProfileMessage/>
<RespTime>102708</RespTime>
</NewOrderResp>
</Response>


$xml is the XML request string.... SEE above

your header of XML request will be like
$header= "POST /AUTHORIZE HTTP/1.0\r\n";
$header.= "MIME-Version: 1.0\r\n";
$header.= "Content-type: application/PTI46\r\n";
$header.= "Content-length: ".strlen($xml)."\r\n";
$header.= "Content-transfer-encoding: text\r\n";
$header.= "Request-number: 1\r\n";
$header.= "Document-type: Request\r\n";
$header.= "Interface-Version: Test 1.4\r\n";
$header.= "Connection: close \r\n\r\n";

/** CURL Implementation **/
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://orbitalvar1.paymentech.net/authorize");
curl_setopt($ch, CURLOPT_HEADER, false);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, $header);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$response = curl_exec($ch);
if (curl_errno($ch))
{
//print curl_error($ch);
}
else
{
curl_close($ch);
}
$xml_parser = xml_parser_create();
xml_parser_set_option($xml_parser,XML_OPTION_CASE_FOLDING,0);
xml_parser_set_option($xml_parser,XML_OPTION_SKIP_WHITE,1);
xml_parse_into_struct($xml_parser, $response, $vals,$index);
xml_parser_free($xml_parser);
/*****************/
$parsedResArr = $this->parseXmlResponse($vals);

// Print response here
print_r( $parsedResArr);


public function parseXmlResponse($xmlResponse)
{
$newResArr = array();
foreach($xmlResponse as $val)
{ $tagval=$val['tag'];
if(($val['tag']!='Response') && ($val['tag']!='NewOrderResp'))
{
if(isset($val['value']))
{
$newResArr[$tagval]=$val['value'];
}
else
{
$newResArr[$tagval]=''; }
}
}
return $newResArr;
}
You can find the attachements at location :

https://sites.google.com/site/seedsoffriendship/home/downloads

My brother's name in english newspaper of UK (sunday sun)

Hey all,

Something good news to share with you....

My youngest brother's name came in "sunday sun newspaper, june 14 paper, page 45, under swainby overpowered [title] ". Actully apart from study he plays cricket there from "Hartlepool Power Station Cricket Club" (also he is in his university cricket team). His Team is doing good in Langbaurgh Cricket League . There team currently in TOP spot in the the league. (Langbaurgh Cricket League - Inshore Fisheries Langbaurgh League - Division 2).

His cricket club's url is http://hartlepoolps.play-cricket.com/home/home.asp.

I am attaching image of the newspaper cutout. See there shahare(65). He scored 65 runs. He already scored 3 fifty's in the 7 innings, total runs around 300 (top scorer for the league).

So this was something to share with you all. Click on image to view in large.


Thursday, June 18, 2009

India is Great

We find solution of each problem...that's why we are great...always...!!!


Wednesday, June 17, 2009

Padmini mam leaving on 20th

Hi All,

Padmini mam is also leaving on this 20 th from our previous company।I am sure she will never get such an experience in any other company.Her working under tension capability would have been increased tremendously in the preveious org.Now she is completely ready to face all the big challenges. best of all she must be feeling more relaxed now.

All the best mam...(though u will be in constant touch with all of us through this immortal blog)

"जॉब सोड्न्यबद्दल हार्दिक अभिनन्दन"

Tuesday, June 16, 2009

Website Optimization Best Practices, speed up your website load

Once i have performance issue in a website project i am working at, and i have wasted hours of my time to fix it up both in the server-side and client-side, for future checklist i searched on web and found great list of best practices to speed up our web page load at yahoo developer network.
Below are the summary:
Minimize HTTP Requests, this can be done with the following practices:
Combined files are a way to reduce the number of HTTP requests by combining all scripts into a single script
CSS Sprites, combined your background image into a single image and use CSS property to control the position of image segment
Image maps combine multiple images into a single image
Inline images use the data: URL scheme to embed the image data in the actual page
Use a Content Delivery Network
Add an Expires or a Cache-Control Header:
For static components: implement “Never expire” policy by setting far future Expires header
For dynamic components: use an appropriate Cache-Control header to help the browser with conditional requests
Compress HTTP text response with Gzip Components (text, html, json, xml)
Put CSS/stylesheets declarations at the Top
Put client side scripts at the bottom, some scripts can be placed at the bottom but some may not, so use it as neccessary
Avoid CSS Expressions, since it is evaluated more than we expect: on load, resize, scrolled, and even on mousemove
Make JavaScript and CSS External, take the benefit of browser caching mechanism
Reduce DNS Lookups in server’s settings
Minify JavaScript and CSS, you can use JSMin and YUI Compressor to achieve this goal
Avoid Redirects, one of the common mistaken is missing a trailing slash (/) from a URL, i.e: http://www.domain.tld/directory will be 301 redirected to http://www.domain.tld/directory/
Avoid scripts duplication
Configure ETags, Entity tags (ETags) are a mechanism that web servers and browsers use to determine whether the component in the browser’s cache matches the one on the origin server.
Make Ajax Response Cacheable, some rules should apply also to ajax are: Add an Expires or a Cache-Control Header, Compress HTTP reponse with Gzip component, Reduce DNS Lookups, Minify JavaScript, Avoid Redirects, Configure ETags
Flush the Response Buffer Early, in php there is flush(), and response.flush in asp
Use GET for AJAX Requests, because POST method is implemented in the browsers as a two-step process: sending the headers first, then sending data.
Post-load Components, Load page element only when it is neccessary or after the top priority elements is loaded. Have a l ook at YUI Image Loader, YUI Get Utility, or jQuery Lazy Load
Preload Components
Unconditional preload - as soon as onload fires, you go ahead and fetch some extra components.
Conditional preload - based on a user action you make an educated guess where the user is headed next and preload accordingly.
Anticipated preload - preload in advance before launching a redesign.
Reduce the Number of DOM Elements, means you need to optimize your markup, do not use new element if you can solve the issue in different ways
Split Components Across Domains, Splitting components allows you to maximize parallel downloads.
Avoid using iframes (and frames either)
No 404s, because the HTTP request is expensive
Reduce Cookie Size, It’s important to keep the size of cookies as low as possible to minimize the impact on the user’s response time
Use Cookie-free Domains for Components, You should make sure static components are requested with cookie-free requests. Create a subdomain and host all your static components there.
Minimize DOM Access:
Cache references to accessed elements
Update nodes “offline” and then add them to the tree
Avoid fixing layout with JavaScript
Develop Smart Event Handlers, attach event handler via parent elemnt wherever possible
Chooseover @import for stylesheets
Avoid Filters, mostly comes when dealing with IE6, YDN recommended using PNG8 which working fine in IE, but for me better shoot the IE6 with a machine gun (a lot headache cos of IE6 already)
Optimize Images: Try converting GIFs to PNGs, Run pngcrush (or any other PNG optimizer tool) on all your PNGs, Run jpegtran on all your JPEGs
Optimize CSS Sprites:
Arranging the images in the sprite horizontally as opposed to vertically
Combining similar colors in a sprite helps you keep the color count low
“Be mobile-friendly” and don’t leave big gaps between the images in a sprite.
Don’t Scale Images in HTML
Make favicon.ico Small and Cacheable
Keep Components under 25K
Pack Components into a Multipart Document

Monday, June 15, 2009

About Us

Hi ,

How u doing?

Looking at the blog you must have got a little idea about us !!! ( Don't u .. ?)
Well, we all were woking together in previous company named "****" (Sorry !!! I am not going to disclose it). We all are software professionals woking in web-developement. Together we have worked on something around say 70-80 different web-applications. All web applications were in PHP + Mysql. We were the team of 15 people at that time. All working in PHP.

Now what...?
Yes, we have changed our company and we are in different companies , in top reputed companies in Pune, India (enjoying the good packages...).

But still we are in touch with each other through emails, where we were sharing common thoughts, new technologies etc... some-one was sending a email and everyone was replying to it... So it was becoming a long chain of 40-50 emails...

So we (specially annie) come with an idea of blog, the name "seeds of friendshsip" is also suggested by "Annie".

Thats how this blog came into existance. A online place where we are again arised as a "TEAM".

So that's About Us...

But wait... Soon I will tell you about each and every one... How special they were in our team...

So visit again ... bye for now...

yours....
Seeds of Friendship

Firefox add-ons

I'm starting this topic for general info and fun.
Have you ever used any firefox extension (most common being Firebug) ?
if not..please install this wonderfull extension straight away. (Please check the version of your FF browser for compatibility).
Please share your experiences with different add-ons that you have used.
check out another FF add-on - "DOM Inspector" which comes in very handy if you are working with javascript DOM elements.
Any one has used greaseMonkey addon.?.If so please discuss what for did you use it...
(Grease monkey add-on allows you to inject your javascript code into any website ......ofcourse only on client side (and not on actual server)! ) .
this might come in handy if you want to test how your piece of javascript will behave on a live webpage...but you realise that you dont have access to the live server file to insert your code...
in such a case you can install Greasemonkey add-on on your FF browser and upload your js script to it , browse the page you want to test it on and......SURPRISE !!... you can execute the js script on live page....
Anyone has contact with Pradnya.The last info I had was that she has joined Clarion... Please ask her to join the blog....
I really miss her straight fwd attitude and cool sense of humour ;)

Natural Divider

Have a look at this Natural Divider. I guess its in chandrapur...

Saturday, June 13, 2009

Hi Team,

check this: http://www.mailchimp.com/

Email marketing tool..................

Friday, June 12, 2009

Why not getting post notification!

Hello,
Could we add email notification feature for the post to who ever subscribed,
becuase we are not notified when any submit any post

Banner Pic is good

Hello
Banner of blog is very good... thoda mera photo bright kardo na plzzz

There is a requirement in Persistent for

There is a requirement in Persistent for :

QA Engineers for Device Drivers testing (Total experience 4-6 years)

If some one you know fits the bill, please send their resume to me ASAP

Status given by Mayuresh about prassana's wedding

I, chandan, rajiv, amol and mayuresh attennded prassna's wedding on 30th may..
Here are the details given by mayuresh.......


Date of Journey -------- 29th May 2009 8:30 pm from Sangvi --------Completed
Reached at Hall -------- 30th May 2009 6.00 am -------- Completed
Band Started -------- 30th May 2009 8.30 am -------- Completed
Dance -------- 30th May 2009 8.45 am to 9:15 am -------- Completed
Marriage Attended -------- 30th May 2009 9:15 am to 10:30 am -------- Completed
Congratulate and Gift -------- 30th May 2009 11:00 am to 11:10 am -------- Completed
Heard PJ’s of Amol -------- 30th May 2009 11:10 am to 11:30 am -------- Completed
Wait for Lunch -------- 30th May 2009 11:30 am to 12:30 am -------- Completed
Lunch -------- 30th May 2009 12:30 am to 1:00 pm -------- Completed
Left for Aurangabad -------- 30th May 2009 1:30 pm -------- Completed
Reached Aurangabad -------- 30th May 2009 4:30 pm -------- Completed
Wait for Bus to Pune -------- 30th May 2009 4:30 pm to 6:00 pm -------- Completed
Left for Pune -------- 30th May 2009 6:00 pm -------- Completed
Reached Pune -------- 30th May 2009 10:45 pm -------- Completed

Added blog account to google analytics.

Hi All,
I have successfully added account for "http://seedsoffriendship.blogspot.com/" to google analytics. So now we can track about our blog traffic daily. I will update you on weekly basis.

Soon I will add our blog to http://technorati.com/.

Enjoy Blogging

Do anyone knows how to add category in the blog?

Hi all,
I dont know how to add category in the blog (blogspot blog) . Do you have any idea?

Object Oriented Javascript

This is a top priority for all webdevelopers now a days.
Please share your experieneces/learnings.
We could create separate treads for discussing Jquery...

By the way anyone worked on Mozilla gecko library...

I have a question to start off the discussion :
There is a 'onDOMNodeInserted' event that is supported by Firefox browser but not in iE
Can you suggest an equivalent in IE

PHP Frameworks

Please start a discussion of frameworks (follwoing OOPS) and their advantages/dis-advantages.Anything!

Congratulations Rajesh on your engagement !!

When are you planning to give us the treat ? :)

Prassana's Wedding Party

Hello Friends,

Please decide date and time for the party and let me know, but venue should be my home.

Sincerely

prassana

Thursday, June 11, 2009

Hello World...!!!

This blog is created to publish thoughts of friends from my previous company...