Scalability

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

Posted on

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 a 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 a 100 Million PV’s per month without any problem. However, towards the end I did also discussed why memcached is unreliable and unsecure. In this post I will dig a level deeper into […]

PHP

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

Posted on

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 mechanism APC Cache – an opcode based caching system Memcache – an […]

WordPress

New Year, New Server and a New Theme

Posted on

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 […]

XMPP

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

Posted on

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 […]

Open Source

Introducing JAXL – Open Source Jabber XMPP Library

Posted on

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 […]

Open Source

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

Posted on

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 […]