Memcached and “N” things you can do with it – Part 1

Posted 19 CommentsPosted in PHP, Scalability
In my last post, MySQL Query Cache, WP-Cache, APC, Memcache - What to choose, I discussed in brief about 4 caching technologies which you might have used knowingly or unknowingly. Towards the end, we came to the conclusion that Memcached is the best caching solution when you are looking for speed and number of hits per second. By my experience, Memcached is capable of handling more than 100 Million PV's per month without any problem. However, towards the end, I did also discuss why memcached is unreliable and insecure. In this post, I will dig a level deeper into memcached....

MySQL Query Cache, WP-Cache, APC, Memcache – What to choose

Posted 44 CommentsPosted in PHP, Scalability
Hello Cache Freaks, Ever since I changed my job (from Business Intelligence to Web development) and started working with my present employer, I have had a chance to work on a lot of scalable projects. From making my project to scale from 20 Million PV's to 100 Million PV's to development of an internal tool, the answer to all scalable applications have been caching. There are a lot of caching techniques which are being employed by sites worldwide. WP-Cache used in wordpress - a file system based caching mechanismAPC Cache - an opcode based caching systemMemcache - an in memory...

New Year, New Server and a New Theme

Posted 28 CommentsPosted in WordPress
Hello Everyone, I wish I could have finished this task by 1st January, but nevertheless it's finally done. Finally I have a new self designed wordpress theme named "Jhantu". Also I have moved my blog from a shared hosting to my VPS due to increasing traffic. Transition from one server to another is always painful. Here are the steps which I followed to make my server move smooth: I took a dump of my blog last week and started developing new theme locally on my windows system Yesterday before moving to VPS, I took the latest dump of wordpress blog...

How to get dzone feeds as IM using JAXL? Add [email protected]

Posted 9 CommentsPosted in XMPP
The most funny part of knowing XMPP protocol is that you can execute all your daily web needs using it. Be it playing anagram online or achieving your status messages. And your life gets easy if you are using an XMPP Client Library like JAXL. Here I have tried to create a simple bot which allows you to read newest links posted on dzone category wise. Simply add [email protected] in your gtalk messenger and start by typing options. Available options are: frontpage: Will send you latest links on frontpage. queue: Will send you latest links in queue. tag: Send in...

Introducing JAXL – Open Source Jabber XMPP Library

Posted 97 CommentsPosted in Open Source
Introduction JAXL stands for "Jabber XMPP Library". For fun, it stands for "Just Another XMPP Library" This library currently supports following features: Connect to a Jabber Server (e.g. Gtalk) TLS Encryption DIGEST-MD5 and PLAIN authentication mechanisms Roster Support Library comes with the following class files: config.ini.php : Holds your jabber account and mysql connection information mysql.class.php : Basic MySQL connection class used to insert received messages and presence into MySQL database logger.class.php : A very basic logger class which allows you to log all XML stanza's send and received from jabber server xmpp.class.php : Base XMPP class library which implements...

Behind the scenes – How and What XML’s are exchanged by JAXL

Posted Leave a commentPosted in Open Source, PHP, XMPP
Pre-requisite Though it’s not mandatory but will be helpful if you have given a casual reading to the following RFC’s: Extensible Messaging and Presence Protocol(XMPP):Core Extensible Messaging and Presence Protocol(XMPP):Instant Messaging and Presence Case Study: Google Talk Server JAXL Sends >> <!--?xml version="1.0"?--> <stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="gmail.com" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace"></stream:stream> Gtalk Acknowledges With >> <!--?xml version="1.0" encoding="UTF-8"?--> <stream:stream from="gmail.com" id="981E0522D7363BDF" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"> <stream:features>   <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls">     <required>   </required></starttls>   <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">     <mechanism>X-GOOGLE-TOKEN</mechanism>   </mechanisms> </stream:features></stream:stream> JAXL Sends >> <starttls xmlns="urn:ietf:params:xml:ns:xmpp-tls"></starttls> Gtalk Acknowledges With >> <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"></proceed> JAXL Sends >> <!--?xml version="1.0"?--> <stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="gmail.com" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace"></stream:stream> Gtalk Acknowledges With >> <!--?xml version="1.0" encoding="UTF-8"?--> <stream:stream from="gmail.com" id="C01610C43D6A37A2" version="1.0" xmlns:stream="http://etherx.jabber.org/streams" xmlns="jabber:client"> <stream:features>   <mechanisms xmlns="urn:ietf:params:xml:ns:xmpp-sasl">     <mechanism>PLAIN</mechanism>     <mechanism>X-GOOGLE-TOKEN</mechanism>   </mechanisms> </stream:features></stream:stream> JAXL Sends >> <auth xmlns="urn:ietf:params:xml:ns:xmpp-sasl" mechanism="PLAIN">AGFjY192nbRbm3J1cGvxYWRzAG15QVRNcGlukT9zcpMxAjI=</auth> Gtalk Acknowledge With >> <success xmlns="urn:ietf:params:xml:ns:xmpp-sasl"></success> JAXL Sends >> <!--?xml version="1.0"?--> <stream:stream xmlns:stream="http://etherx.jabber.org/streams" version="1.0" xmlns="jabber:client" to="gmail.com" xml:lang="en" xmlns:xml="http://www.w3.org/XML/1998/namespace"></stream:stream> Gtalk Acknowledge With...