<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title></title>
	<atom:link href="http://www.aurigait.com/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.aurigait.com/blog</link>
	<description>Customizing IT for you</description>
	<lastBuildDate>Tue, 03 Apr 2012 11:50:58 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Facts about content writing</title>
		<link>http://www.aurigait.com/blog/facts-about-content-writing</link>
		<comments>http://www.aurigait.com/blog/facts-about-content-writing#comments</comments>
		<pubDate>Tue, 03 Apr 2012 11:50:58 +0000</pubDate>
		<dc:creator>saurabh</dc:creator>
				<category><![CDATA[SEO]]></category>
		<category><![CDATA[Content Writing]]></category>
		<category><![CDATA[Content Writing Tips]]></category>

		<guid isPermaLink="false">http://www.aurigait.com/blog/?p=106</guid>
		<description><![CDATA[Before starting about the topic, we have to understand that what is the reason that is making it essential, in terms of making focus upon the content. It is just about explaining what that page is all about and why it is important to be visited. Just think about difference between a mirror image and sketch. [...]]]></description>
			<content:encoded><![CDATA[<p>Before starting about the topic, we have to understand that what is the reason that is making it essential, in terms of making focus upon the content. It is just about explaining what that page is all about and why it is important to be visited. Just think about difference between a mirror image and sketch. This difference tells about more accuracy in things even a good sketch can’t compete with mirror image and this is the same with good content and bad content. A good content can easily create image of website in visitors mind and make him adhere to the website and if they are selling something than there more chances to sales conversion for good content.</p>
<p>&nbsp;</p>
<p>So here are some suggestions about having good content:-</p>
<ul>
<li>Answer the questions of visitors:- When visitor search and reaches to the website than he certainly have some questions in his mind and that is the reason why he was searched that keyword. Just try to answer about some possible questions. This gonna help in improving the user engagement and helps out to increase in social sharing.</li>
<li>Try to write what users love to read:- it is pretty clear thing that our ultimate target are the visitors not the search engines so don’t for the hard readable search engine optimized highly keyword dense content. Instead of that write a less optimized but more user friendly term.</li>
<li>Write, what people search:- It is just the expansion of previous point. This time just do a bit search about what people are searching about your targeted market. This gonna give you a more better approach and dimensions to think about writing. It also let you help in thinking in a broader way.</li>
<li>Keep it simple:- Complications make things harder to read and reduces the readers zone which reduces the number of visitors and ultimately causes the less conversion or sale. While everything in the life is getting complicated in life day by day than complicated content gets mostly ignored, even it should be in such simple language that even a 10<sup>th</sup> grade student can easily learn from it.</li>
<li>Say no to sales pitch:- This is the point where most people makes mistakes in writing a webcopy. People understand very well if a product is being sold to them or information is carrying for them. Mostly people bounce the sales pitch page or content. Instead of that be descriptive about the product, go for the information or questions can be searched by people.</li>
</ul>
<p>&nbsp;</p>
<p>Mostly these points sort out most of the queries, but still finding problems than feel free to ask in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurigait.com/blog/facts-about-content-writing/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solve Date format problem for Excel into SQL Server via PHP</title>
		<link>http://www.aurigait.com/blog/solve-date-format-problem-for-excel-into-sql-server-via-php</link>
		<comments>http://www.aurigait.com/blog/solve-date-format-problem-for-excel-into-sql-server-via-php#comments</comments>
		<pubDate>Mon, 06 Feb 2012 07:58:11 +0000</pubDate>
		<dc:creator>Lokesh</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Date Format]]></category>
		<category><![CDATA[Date format problem for Excel]]></category>
		<category><![CDATA[Excel]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL Server]]></category>

		<guid isPermaLink="false">http://www.aurigait.com/blog/?p=103</guid>
		<description><![CDATA[We can upload data in database using excel easily but whenever we will upload any kind of date through excel than the uploaded date unrecognized sometimes. This is because of different supported date formats by different versions of word editors. Like MS Word 2003 supports “Day/Month/Year” (dd/mm/yy) format, MS Word 2007 supports “Month/Day/Year” (mm/dd/yy) format [...]]]></description>
			<content:encoded><![CDATA[<p>We can upload data in database using excel easily but whenever we will upload any kind of date through excel than the uploaded date unrecognized sometimes.</p>
<p>This is because of different supported date formats by different versions of word editors. Like MS Word 2003 supports “Day/Month/Year” (dd/mm/yy) format, MS Word 2007 supports “Month/Day/Year” (mm/dd/yy) format and Open Office supports “Month Name/Day,Year”(MM/dd,yy).</p>
<p>So there are some difficulties while we use some default function and of course we can’t bind our user to use some kind of specific software.</p>
<p>So the solution for this problem is that, we have to convert the format of date from date to number using option “Format Cells” so our date will display some kind of numeric data on the cell.</p>
<p>This is because excel use a simple number formatting to read dates like 1/1/1900 = 1.00 and 16/1/2012 = 40924.00. So whenever we have to upload dates using excel we have to convert it into number and then upload it and just before the insert query of database we use a function which is listed below to convert the number format into date format which support by database.</p>
<p>&nbsp;</p>
<blockquote><p><code>function excel_number_to_date($num)</code></p>
<p>{</p>
<p>$num=$num-25570;              //this is because php date function work only for date after 1/1/1970</p>
<p>return addday(&#8217;1970/01/02&#8242;,$num);</p>
<p>}</p></blockquote>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The static no. 25570 denoted a date of 1/1/1970. Because while we upload data in MySQL than it will not read date which is older than 1/1/1970. Thant’s why I have to subtract this particular no. IT totally depends on type of database and addday function is listed below.</p>
<p>&nbsp;</p>
<blockquote><p><code>function addday($dat,$days)                                                      //’$dat’ will be in ‘YYYY/mm/dd’ format</code></p>
<p>{</p>
<p>$dat=str_replace(&#8220;/&#8221;,&#8221;-&#8221;,$dat);</p>
<p>$dat=date(&#8220;Y-m-d&#8221;,strtotime($dat));</p>
<p>return date(&#8220;Y-m-d&#8221;,strtotime($days.&#8217; days&#8217;,strtotime($dat)));</p>
<p>}</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.aurigait.com/blog/solve-date-format-problem-for-excel-into-sql-server-via-php/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP Apache configurations</title>
		<link>http://www.aurigait.com/blog/php-apache-configurations</link>
		<comments>http://www.aurigait.com/blog/php-apache-configurations#comments</comments>
		<pubDate>Thu, 26 Jan 2012 13:24:56 +0000</pubDate>
		<dc:creator>nishant</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.aurigait.com/blog/?p=101</guid>
		<description><![CDATA[Server Request Response Flow-  Apache is web server, Its job is to receive the request and send the response. So if I opens a web page mydomain.com/test.html . request goes to server, server checks the mime type(.html in case) , executes the corresponding file and sends the response. If I open a web page mydomain.com/test.php [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: left" dir="ltr"><strong>Server Request Response Flow-  </strong><br />
Apache is web server, Its job is to receive the request and send the response. So if I opens a web page mydomain.com/test.html . request goes to server, server checks the mime type(.html in case) , executes the corresponding file and sends the response.<br />
If I open a web page mydomain.com/test.php then also same flow happens. Request goes to server, server checks the mime type(.php), executes the test.php and send the response. But wait a sec, my server doest know how to execute this .php file? Here comes mod_php OR fastCGI. You might have heard about both of them.<strong></strong></div>
<div style="text-align: left" dir="ltr"><strong>Mod</strong><strong>_Php</strong> &#8211; php sits inside the web server and gets loaded just like other modules of apache.<br />
<strong>FastCGI</strong>- It is not part of web server. It is like a separate application which gets invoked by web server when it receives php mime type requests. Instead of creating a new process for each request, FastCGI uses persistent processes to handle a series of requests. These processes are owned by the FastCGI server, not the web server. FastCgi is a faster version of CGI. It is implemented by mod_fcgid and mod_fastcgi.<br />
setup would be -<br />
Apache MPM+ mod_fcgid<br />
Apache MPM+ mod_fastcgi</div>
<div style="text-align: left" dir="ltr"><strong>How to set up fastcgi on apache</strong> -<br />
<a target='_blank' href="https://wiki.archlinux.org/index.php/Apache_and_FastCGI">https://wiki.archlinux.org/index.php/Apache_and_FastCGI</a></div>
<div style="text-align: left" dir="ltr">
<p>mod_fastcgi manage processes (not web server processes) through FastCGI Process Manager, fcgi-pm. This process manager is spawned by Apache at server initialization.</p>
<p><strong>CGI Application Flow &#8211; </strong>CGI is a gateway to handle executable files (known as CGI scripts)<br />
1. Apache got request GET /your_script<br />
2. Your CGI app is loaded, in case of say Perl it&#8217;s compiled first then  loaded. To compile/translate it, the perl would have to be started. When it starts it loads dynamic libraries, which when loaded are pulling  other dynamic libraries (in most cases).<br />
3. When all is settled with Perl, your script is translated.<br />
4. Now we&#8217;re ready to execute our script.<br />
5. Your script pulls the data out of environment, does it&#8217;s job and calls exit.<br />
6. The memory used by perl is freed, your compiled code is wasted.  the libraries are unloaded and now we&#8217;re waiting for step 1, just  to make another similar job.</p>
<p>Quite clear that every time CGI app is loaded, lot of depending libraries are loaded to serve one request and on completion of request CGI app is unloaded. Process repeats for any next request. Repeating loading and unloading is time consuming.</p>
<p><strong>FAST CGI Flow - </strong><br />
1. Apache got request GET /your_script<br />
2. Your CGI app is loaded, in case of say Perl it&#8217;s compiled first then  loaded. To compile/translate it, the perl would have to be started.  When it starts it loads dynamic libraries, which when loaded, are pulling  other dynamic libraries (in most cases).<br />
3. When all is settled with Perl, your script is translated.<br />
4. Now we&#8217;re ready to execute our script.<br />
5. Your script pulls the data out of environment, does  it&#8217;s job and it goes Back to step 4.</p>
<p><strong>Difference Mod_php AND FAST CGI - </strong><br />
Conceptually it is quite clear that Mod_php is faster as it is bundled with apache and preloaded so web server is able to serve the request in less time. But this comes with High memory usage as these libraries are always pre loaded even when apache is serving static html files. If you dont have memory problem (you do have it on a shared server) then Mod_php is good to go. But as Mod_php is part of apache php config settings changes wont be reflected without restarting apache (unless you do a dynamic mod_php installation).</p>
<p><strong>PHP-FPM (FastCGI Process Manager)</strong> &#8211; is an alternative PHP FastCGI implementation with some additional features useful for sites of any size, especially busier sites.<br />
Apache worker + mod_fastcgi + php-fpm<br />
when we use mod_fcid or mod_fastcgi each process has its&#8217;s own OPCode cache but  in PHP-FPM that opcode cache is shared across processes. Php-fpm supports socket connection (for local server when web server and cgi server are on same machine) as well as TCP/IP connection (for remote servers). socket connection is definitely faster.<br />
know more at <a target='_blank' href="http://php-fpm.org/about/">http://php-fpm.org/about/</a></p>
<p><strong>APACHE MPM Worker and APACHE MPM PREFORK-</strong><br />
Ever wonder how apache handles requests. It has to start a process to serve a request. To manage simultaneous requests it keeps a pool of processes running and keeps forking/killing them to maintain maximum process limit.  lets understand this in detail-</p>
<p><strong>APACHE MPM Worker</strong> &#8211; It implements a hybrid multi process multi threaded server. It uses threads to serve requests and able to serve more requests with less resource as compared to process based server (Prefork).<br />
- based on apache 2.0<br />
- lower memory consumption and higher performance</p>
<p><strong>How Worker MPM works-</strong></p>
<div style="text-align: justify">
<p>A single control process (the parent) is responsible for launching child processes. Each child process creates a fixed number of server threads as specified in the <strong>ThreadsPerChild </strong>directive, as well as a listener thread which listens for connections and passes them to a server thread for processing when they arrive.Apache always tries to maintain a pool of spare or idle server threads, which stand ready to serve incoming requests. In this way, clients do not need to wait for a new threads or processes to be created before their requests can be served. The number of processes that will initially launched is set by the <strong>StartServers </strong>directive. Then during operation, Apache assesses the total number of idle threads in all processes, and forks or kills processes to keep this number within the boundaries specified by <strong>MinSpareThreads </strong>and <strong>MaxSpareThreads</strong>. Since this process is very self-regulating, it is rarely necessary to modify these directives from their default values. The maximum number of clients that may be served simultaneously (i.e., the maximum total number of threads in all processes) is determined by the <strong>MaxClients </strong>directive. The maximum number of active child processes is determined by the <strong>MaxClients </strong>directive divided by the ThreadsPerChild directive.</p>
</div>
<p><strong>MPM Prefork</strong> &#8211; It is a non thread server and appropriate for sites that need to avoid threading for compatibility with non-thread-safe libraries.(You might have come across options to download thread-safe/non thread-safe versions of libraries several times.) It isolates each request and handles in  separate process so that a problem with a single request will not affect any other.<br />
- based on apache 1.3<br />
-  stable and secure<br />
- high memory consumption and low performance</p>
<p><strong>How Prefork works </strong><br />
A single control process is responsible for launching child processes which listen for connections and serve them when they arrive. Apache always tries to maintain several spare or idle server processes, which stand ready to serve incoming requests. In this way, clients do not need to wait for a new child processes to be forked before their requests can be served.</p>
<p>The <strong>StartServers</strong>, <strong>MinSpareServers</strong>, <strong>MaxSpareServers</strong>, and <strong>MaxClients </strong>regulate how the parent process creates children to serve requests. In general, Apache is very self-regulating, so most sites do not need to adjust these directives from their default values. Sites which need to serve more than 256 simultaneous requests may need to increase MaxClients, while sites with limited memory may need to decrease MaxClients to keep the server from thrashing.<br />
<strong><br />
</strong><br />
<strong>Magento PerformanceTuning</strong> -</p>
<p>Magento is highly resource extensive. The web server settings play a big role in fine tuning, reducing the load time for website and increasing the number of requests handled.<br />
<strong>Mod_php OR FastCGI</strong> &#8211; well simple answer &#8211; if you dont have memory and resource problems then go for mod_php, it is no doubt faster but eats up lot of resources.<br />
<strong>Worker OR Prefork</strong> &#8211; we are using php so we might have to deal with non thread safe third party libraries. PHP5 is thread-safe, but PHP extensions aren&#8217;t all thread-safe. And Magento is a PHP application like any other, chances are that you are using some PHP extensions somewhere. So it&#8217;s considered harmfull to run a PHP application on a worker-mpm. so using Prefork is a better option.</p>
<p><a href="http://nishantgauttam.blogspot.com" target="_blank">+ Nishant </a></p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.aurigait.com/blog/php-apache-configurations/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Password Hashing and Encryption</title>
		<link>http://www.aurigait.com/blog/password-hashing-and-encryption</link>
		<comments>http://www.aurigait.com/blog/password-hashing-and-encryption#comments</comments>
		<pubDate>Wed, 25 Jan 2012 17:14:14 +0000</pubDate>
		<dc:creator>nishant</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[hashing]]></category>
		<category><![CDATA[Magento]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[rainbow]]></category>

		<guid isPermaLink="false">http://www.aurigait.com/blog/?p=93</guid>
		<description><![CDATA[I happened to write this while I was digging  into how Magento stores password. well magento stores hashed password separated by a two character salt in db. A sample looks like - 353dc2ba6108461cf3468184bdd0e174:QP split = 353dc2ba6108461cf3468184bdd0e174:QP magentoPass = split[0]; salt = split[1]; ##Authenticate user entered manager. # is used for concatanation if( md(5) [split[1]#userenteredpasswd])==split[0]) { [...]]]></description>
			<content:encoded><![CDATA[<div style="text-align: left" dir="ltr">I happened to write this while I was digging  into how Magento stores password.<br />
well magento stores hashed password separated by a two character salt in db. A sample looks like -</div>
<div style="text-align: left" dir="ltr">
<div style="background-color: #cccccc">353dc2ba6108461cf3468184bdd0e174:QP<br />
split = 353dc2ba6108461cf3468184bdd0e174:QP</div>
<div style="background-color: #cccccc">magentoPass = split[0];<br />
salt = split[1];</div>
<div style="background-color: #cccccc">##Authenticate user entered manager.</div>
<div style="background-color: #cccccc"># is used for concatanation</div>
<div style="background-color: #cccccc">if( md(5) [split[1]#userenteredpasswd])==split[0])</div>
<div style="background-color: #cccccc">{</div>
<div style="background-color: #cccccc">    # User Authenticated</div>
<div style="background-color: #cccccc">}</div>
<p>Now lets understand some cryptography Hashing and encryption.</p>
<p>Password hashing and encryption are two different things. Hashing is one way function while encryption is two way. Reverse encryption (called decryption) is possible but you can not reverse hash and generate your original string back.  You can find another string which has same hash value by brute force methods.</p>
<p><strong>Collision </strong>- Hashing generates a fixed length output (called as message digest, checksum) for all input values which makes it possible to have two different strings (S1#S2) but H(S1)=H(S2). That is called collision. Probability of collision depends upon the algorithm and length of hashed output.</p>
<a href="http://www.aurigait.com/blog/wp-content/uploads/2012/01/rainbow-collision1.png"><img class="aligncenter size-medium wp-image-98" src="http://www.aurigait.com/blog/wp-content/uploads/2012/01/rainbow-collision1-300x150.png" alt="collision" width="300" height="150" /></a>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>To secure passwords, cryptographic hash algorithms are used(MD5, SHA-1, SHA-2).<br />
But Plain hashing is easily defeated using a dictionary attack, where an attacker just pre-hashes every word in a dictionary (or every combination of characters up to a certain length), then uses this new dictionary to look up hashed passwords. Salting, Key stretching, HMAC can be used to strengthen your hashing, will discuss that later.<strong> </strong></p>
<p><strong>How hash algorithms work</strong> &#8211; Most algorithms(MD5, SHA-1, SHA-2, SHA-3) are based on Block Ciphers. Input string is divided into fixed length blocks and then padded, encrypted with keys, processed with complex operations (ADD/AND/XOR/ROTATE) sequentially to generate final output. That makes it hard to break. For example computing 40*11 is easy but factorizing 440 and generating 40 and 11 is a bit hard because of multiple possibilities. That is what it makes hard to break.</p>
<p><strong>Salting</strong> &#8211; Instead of directly hashing the input you can add a pinch of salt to make it spicy.<br />
salt could be any digit random string, which you store along with the hashed value. You can store your passwords in db as hash:salt. For authentications when user enters a password, it&#8217;s hash is calculated using entered password and salt(from db) and validated against the hash(from db).</p>
<div style="background-color: #cccccc">hash = md5(password + salt);</div>
<p>&nbsp;</p>
<p><strong>Key Stretching</strong> &#8211; You add the salt and hash it for n times. You have to store that count(n) as well, along with salt.</p>
<div style="background-color: #cccccc">hash = md5(password + salt);</div>
<div style="background-color: #cccccc">for (i = 0; i &lt; 1000; i++)</div>
<div style="background-color: #cccccc">{</div>
<div style="background-color: #cccccc">   hash = md5(hash + password + salt);</div>
<div style="background-color: #cccccc">}</div>
<p>Don&#8217;t use</p>
<div style="background-color: #cccccc">hash = md5(hash)</div>
<p>in the loop, it will only increase the collision probability.</p>
<p><strong>Common Hashing Alogrithms</strong></p>
<p><strong>CRC32</strong><span style="background-color: white;color: black;float: none;font-family: 'Times New Roman';font-size: 16px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: justify;text-indent: 0px"><strong><span class="Apple-converted-space"> </span>(Cyclic redundancy check) </strong>- Very simple hash function.Produces 32 bit long hash value and typically expressed as 8 digit hexadecimal string.</span><br />
<span style="background-color: white;color: black;float: none;font-family: 'Times New Roman';font-size: 16px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: justify;text-indent: 0px"> </span><br />
<strong>MD-5</strong> &#8211; MD5 produces 128 bit(16 byte) hash value.  It is typically expressed as 32 digit hexadecimal string(each hexadecimal digit takes 4 bits). This algorithm has been broken and found vulnerable.</p>
<p><strong>SHA-1</strong> &#8211; SHA-1 produces 160 bit hash value. It is typically expressed as 40 digit hexadecimal string. <span style="background-color: white;color: black;float: none;font-family: 'Times New Roman';font-size: 16px;font-style: normal;font-variant: normal;font-weight: normal;letter-spacing: normal;line-height: normal;text-align: justify;text-indent: 0px">It&#8217;s approximately two-three times slower then MD5 algorithm</span> This algorithm is also broken and found vulnerable.</p>
<p><strong>SHA-2(SHA-512) </strong>- SHA-2 produces 512 bit hash value. typically expressed as 128 digit hexadecimal string. This is not yet broken.</p>
<p><strong>HMAC </strong>- Unlike the other hashes mentioned above, HMAC (Hashed Message Authentication Code) is a key dependant hash.  HMACs are useful when authentication but not secrecy of a message is required.Current HMAC specification  is defined as</p>
<div style="background-color: #cccccc"># used for concatenation</div>
<div style="background-color: #cccccc">H(key1 ∥ H(key2 ∥ message)).</div>
<p>The cryptographic strength of the HMAC depends upon the size of the secret key that is used. The most common attack against HMACs is brute force to uncover the secret key. HMACs are substantially less affected by collisions than their underlying hashing algorithms alone. Therefore, HMAC-MD5 does not suffer from the same weaknesses that have been found in MD5.</p>
<p><strong>How does  HMAC work?</strong></p>
<div style="background-color: #cccccc">Lets Define-</div>
<div style="background-color: #cccccc">ipad = inner padding: the byte 0&#215;36 repeated the same number of times as the block size</div>
<div style="background-color: #cccccc">opad = outer padding: the byte 0x5c repeated the same number of times as the block size</div>
<div style="background-color: #cccccc">text = the message we wish to compute the HMAC over.</div>
<div style="background-color: #cccccc">The length of the key should be less than or equal to the block size (64 bytes for MD5 and SHA-1), though greater than the size of the message digest (16 bytes for MD5, 20 bytes for SHA-1). If the key length is greater than the block size, a (fixed length) hash of the key should be used.</div>
<div style="background-color: #cccccc">To compute HMAC over the data &#8216;text&#8217; the following steps are performed:</div>
<div style="background-color: #cccccc">1. the key is appended with zero bytes until it equals the block size in length.</div>
<div style="background-color: #cccccc">2. the key is XORed with ipad</div>
<div style="background-color: #cccccc">3.text is appended to the result of 2</div>
<div style="background-color: #cccccc">4.the hash algorithm is applied to the result of 3</div>
<div style="background-color: #cccccc">5.the key is XORed with opad</div>
<div style="background-color: #cccccc">6.the result of 4 is appended to the result of 5<span style="background-color: #cccccc"><span style="background-color: #cccccc"><br />
7.the hash algorithm is applied to the result of 6.</span></span></div>
<p>&nbsp;</p>
<p><strong>How to break a Hash -</strong><br />
If you want to find a given plaintext for a certain hash there are two simple methods:<br />
- Hash each plaintext one by one, until you find the hash.<br />
- Hash each plaintext one by one, but store each generated hash in a sorted table so that you can  easily look the hash up later without generating the hashes again.<br />
Simple..  huh? well lets discuss that.</p>
<p><strong>What is Rainbow Table-</strong><br />
Hash Function converts plain text into hashed output which cannot be dehashed. But how abut if there is a mapping table which stores every possible mapping from Hash Value to Plain Text, then you just need to see if your hash value exists in this table or not and you will get the plain text for that hash. That table is known as Rainbow table.  Obviouslly there is no such pre existing table so this is how you use Rainbow table to break a hash -</p>
<p>Inputs-<br />
hash password(to be broken)<br />
input password is 6 digit (numeric)<br />
hash alogorithm used- Md5<br />
Output-<br />
input password</p>
<div style="background-color: #cccccc">lets say my password is 493823<br />
MD5(&#8220;493823&#8243;) -&gt; &#8220;222f00dc4b7f9131c89cff641d1a8c50&#8243;<br />
I have a <strong>Reduction function</strong> which takes first 6 numbers from the last generated hash. R(&#8220;222f00dc4b7f9131c89cff641d1a8c50&#8243;) -&gt; &#8220;222004&#8243;.</div>
<p>&nbsp;</p>
<p>This input is feed to MD5 and output is feed to Reduction function, and the cycle goes on. It represents a chain from starting input text to ending hash(you can choose to end at any hash). The table only stores the starting plaintext, and the final hash you choose to end with, and so a chain &#8220;containing&#8221; millions of hashes can be represented with only a single starting plaintext, and a single finishing hash.<br />
Now we can use these chains to break the given hash password and find the input password.<br />
The algorithm is:</p>
<ul>
<li>start-Look for the hash in the list of final hashes, if it is there break out of the loop.</li>
<li>If it isn&#8217;t there reduce the hash into another plaintext, and hash the new plaintext.</li>
<li>Goto the start point.</li>
<li>If the hash matches one of the final hashes, the chain for which the hash matches the final hash contains the original hash.</li>
</ul>
<p>&nbsp;</p>
<a href="http://www.aurigait.com/blog/wp-content/uploads/2012/01/rainbowtable3.png"><img class="aligncenter size-medium wp-image-100" src="http://www.aurigait.com/blog/wp-content/uploads/2012/01/rainbowtable3-300x124.png" alt="rainbow" width="300" height="124" /></a>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>+<a href="http://nishantgauttam.blogspot.com" target="_blank">Nishant</a></p>
<p>References- http://kestas.kuliukas.com/RainbowTables/</p>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.aurigait.com/blog/password-hashing-and-encryption/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Software Project Lifecycle</title>
		<link>http://www.aurigait.com/blog/software-project-lifecycle</link>
		<comments>http://www.aurigait.com/blog/software-project-lifecycle#comments</comments>
		<pubDate>Sat, 21 Jan 2012 15:45:25 +0000</pubDate>
		<dc:creator>nishant</dc:creator>
				<category><![CDATA[Start Up]]></category>
		<category><![CDATA[Technical]]></category>
		<category><![CDATA[Web 2.0]]></category>
		<category><![CDATA[project lifecycle]]></category>
		<category><![CDATA[project management]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.aurigait.com/blog/?p=88</guid>
		<description><![CDATA[I never realised  criticality involved with Software Project Lifecycle until I became part of &#8211; -Undefined Requirements - Vicious cycle of Rework and Rework - Never Ending Projects - Bugs - Late Deliveries - Bad Cash flow &#160; &#160; &#160; Above mentioned points are pain points of any Software Development Startup. At every step of [...]]]></description>
			<content:encoded><![CDATA[<p>I never realised  criticality involved with Software Project Lifecycle until I became part of &#8211; <a href="http://www.aurigait.com/blog/wp-content/uploads/2012/01/frustation.png"><img class="alignright size-medium wp-image-89" src="http://www.aurigait.com/blog/wp-content/uploads/2012/01/frustation-300x254.png" alt="" width="300" height="254" /></a></p>
<p>-Undefined Requirements</p>
<p>- Vicious cycle of Rework and Rework</p>
<p>- Never Ending Projects</p>
<p>- Bugs</p>
<p>- Late Deliveries</p>
<p>- Bad Cash flow</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>Above mentioned points are pain points of any Software Development Startup. At every step of project lifecycle there is good chance of miscommunication/gaps which could ultimate effect the deliveries and company economy or I better say a startup economy. There has to be a full proof process which can take care of all transitions smoothly. Before devising that process I am sure that the process has to serve following -</p>
<p>1. The Requirement Specs should be as clear as possible.</p>
<p>2. Considering requirements will vary there has to be a team which is in touch with client and knows the project right from start.</p>
<p>3. Task distribution is easy, but their status also need to be monitored.</p>
<p>4. Feedback with client are important at every milestone.</p>
<p>5. Quality Check before delivery</p>
<p>6. Most Important &#8211; Delivery on time.</p>
<p>Keeping above points in minds I believe there have to be following teams -</p>
<p><strong>Team A</strong> &#8211; First Communication point. Client gives  a brief requirement and asks for a quote.</p>
<p>A does few meetings with clients and prepares a  requirement doc[R-Doc]. Now A should feed this input to another team-B and gets the effort estimate on top of which A can generate the cost estimate and negotiate with client.</p>
<p><strong>Team B </strong>goes through the requirement doc, discusses with Team A, do some magical analysis and outputs an effort and feature doc [F-Doc] and send back to Team A. This team also takes care of Specs.</p>
<p>Now this F-Doc comes to <strong>Team C</strong> which takes care of implementing it.</p>
<p>Once things are done Team B does a Quality Check (Team B knows the project best).</p>
<p>There is <strong>Team D </strong>which takes care of timings and make sure deliveries are done on time by poking Team C to do some work actually <img src='http://www.aurigait.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> .</p>
<p>Well that seems simple. Now lets make this process more clear by discussing these teams.</p>
<p><strong>Team A is Business Team</strong>, People in this team should have good sales skills to even sell Used Newspapers at millions  and Business analytic skills to better understand the client Business requirement and prepare our R-Doc( There can be multiple revisions.) Now problem is our Team A is not smart enough to tell  the effort estimate. Well they always think that tough job is done so things should be done by FRIDAY <img src='http://www.aurigait.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>Team B is Product development Team</strong>. It understands that magical R-Doc and generates F-Doc <img src='http://www.aurigait.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  and also tells how much effort will it take. This team should sure have good technology skills to estimate the work correctly, good analytic skills to quality check the implemented work.</p>
<p><strong>Team C is Engineering/Technology team</strong>. It is a Black Box , It converts F-Doc into a nice software application. It definetely should have good development, coding skills and debugging skills. After developing this team is supposed to test the application and submit to Team D . Team D asks for Team B for quality check and approval and give a go ahead for final deployment.</p>
<p><strong>Team D is Delivery Team</strong>, it  takes care of time and makes sure things get done on time. It also takes care of demos and feedback.</p>
<p><strong>P Team(Project Teams)</strong> &#8211; They are sub teams of our Engineering Team.There must be multiple projects going around. So there should be a dedicated team for every project. This dedicated team will have Techno-Manager/Project Manager + Project Lead + Developer(s). Team B should involve P teams  at-least the techno-manager and tech lead while preparing F-Doc.</p>
<p><strong>Feedback/Requirement Change</strong> &#8211; Change in requirements are certain to come. Team D takes care of it.The Client Feedback and Change in Requirements are sent to Team B for approval and modification  in F-Doc, things come back to  Engineering team. Project Manger and Project Lead decides in which release the newly requested features will go in and they are rolled out accordingly.</p>
<p>The above process is explained below.</p>
<p>&nbsp;</p>
<a href="http://4.bp.blogspot.com/-KQUb2NKJE5M/TxqqH0Bmm7I/AAAAAAAAAL8/b9isMoQoW9c/s1600/software-project-lifecycle.png"><img src="http://4.bp.blogspot.com/-KQUb2NKJE5M/TxqqH0Bmm7I/AAAAAAAAAL8/b9isMoQoW9c/s640/software-project-lifecycle.png" alt="" width="640" height="483" border="0" /></a>
<p>&nbsp;</p>
<p>+<a target='blank' href='http://www.nishantgauttam.blogspot.com'>Nishant</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurigait.com/blog/software-project-lifecycle/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Auriga Day 2012</title>
		<link>http://www.aurigait.com/blog/auriga-day-2012</link>
		<comments>http://www.aurigait.com/blog/auriga-day-2012#comments</comments>
		<pubDate>Fri, 20 Jan 2012 11:08:25 +0000</pubDate>
		<dc:creator>divye</dc:creator>
				<category><![CDATA[Auriga]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Foundation Day]]></category>
		<category><![CDATA[Foundation Day of AurigaIT]]></category>

		<guid isPermaLink="false">http://www.aurigait.com/blog/?p=79</guid>
		<description><![CDATA[&#160; Whenever I talk about Auriga, the first thing that always comes to my mind is the trivia that Auriga is a Constellation of Stars. And it seems so true, thats what we are, a group of stars collectively working together and forming the Constellation Auriga IT. The journey, as it usually happens with startups, [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p>Whenever I talk about Auriga, the first thing that always comes to my mind is the trivia that Auriga is a Constellation of Stars. And it seems so true, thats what we are, a group of stars collectively working together and forming the Constellation Auriga IT. The journey, as it usually happens with startups, started with a different plan. It is Time that has evolved us to what we are and it seems that the shine is getting brighter, the path seems to be clearer and the focus on destination set.</p>
<p>We celebrated our first official Foundation Day on 12th Jan, 2012, thats after two years of our Corporate Existence. The whole team sported handsome black Auriga T Shirts and the mood was getting set to have an eventful day, but who knew it would turn out to be such a great memory forever. We planned presentations by the whole team and the topic was &#8216;If I were CEO of the Company!&#8217;. The other activities included Skits, Songs, Team Activity and Dance.</p>
<p>&nbsp;</p>
<p style="text-align: left;"><a href="http://www.aurigait.com/blog/wp-content/uploads/2012/01/IMG_64771.jpg"><img class="aligncenter size-large wp-image-83" title="IMG_6477" src="http://www.aurigait.com/blog/wp-content/uploads/2012/01/IMG_64771-1024x682.jpg" alt="" width="640" height="480" /></a></p>
<p style="text-align: left;">The day started with lots of last moment action and every one preparing for their own role for the day, definitely it was not going to start on time (its with all techies I guess!). Alongside the preparations, color was being filled in the day through beautiful Rangoli by Pragati and Anuradha. It all begun with the Team doing a small pooja together. The activities started by watching the Britannia video which tells &#8216;Zindagi har roz kucch naya sikhati hai&#8217;, thanks to TechBuddy Team for the Video and the Projector too.</p>
<p>Then started the round of presentations, the presentations were perceived to be formal but soon took the informal touch of a breezy talk with Family Members. The team shared their journey of life with others and I believe it definitely helped us to know each other better. Infact the findings were much more than that. We discovered that knowingly or unknowingly all the Auriga Team shares a common DNA &#8211; when the going gets tough, the tough gets going. Many of us have already had our tryst with Entrepreneurship and the others have faced challenges and have come up good. I believe the journey till now has made each one of us such that we love challenges! We love to work hard and dream big &#8211; if with a couple of people dreaming we can have such a great Team, then we are definite to have Great Results with the whole Team sharing their Dreams.</p>
<p style="text-align: center;"><a href="http://www.aurigait.com/blog/wp-content/uploads/2012/01/IMG_6489.jpg"><img class="aligncenter size-large wp-image-81" title="IMG_6489" src="http://www.aurigait.com/blog/wp-content/uploads/2012/01/IMG_6489-1024x682.jpg" alt="" width="640" height="480" /></a></p>
<p style="text-align: left;">During the course of the day we had couple of interesting skits, which were very well executed considering the time spent on their preparation. It was good to see that &#8216;A Day at Auriga&#8217; (one of the skit&#8217;s theme) is so enjoyable. It helped us to reflect on why there is an energy always flowing in the office. The Team Activity was a special one, though did not end all happy, coz of some misunderstanding in the rules but then the small feud that occurred shows our competitiveness. It also helped us to learn the power of &#8216;Zhingalala Hurr Hurr&#8217;, a Funda that our Team observes to cool down during tense situations. Its good to be fighting amongst ourselves to perform better and yet be in complete harmony.</p>
<p>Well the management did bore with their extra looonngg talks, as its done universally, but the cake was a good motivation to keep awake and going. Finally it was time for Sehwag Dance (A Dance without Footwork) and time to reach home.</p>
<p style="text-align: center;"><a href="http://www.aurigait.com/blog/wp-content/uploads/2012/01/IMG_6496.jpg"><img class="aligncenter size-large wp-image-82" title="IMG_6496" src="http://www.aurigait.com/blog/wp-content/uploads/2012/01/IMG_6496-1024x682.jpg" alt="" width="640" height="480" /></a></p>
<p style="text-align: left;">We definitely took some Team Pics and Videos for memories, but are they really required to remember such days. When I was starting my Corporate Journey, I never wanted to leave Friends (and who does?). I believe we have been successful in creating a Family of Friends working together, enjoying together. We are now all in to set our next target, the suggestions have been noted and the Dream is building, its just a matter of time and we will be visible clear in the Sky. Till then if you are not being able to see us in the Sunlight, dont forget Sun is also just a star and we are a Family of them!</p>
<p>Eagerly waiting for the next 12th Jan.</p>
<p>Let&#8217;s Rock!<br />
Divye</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurigait.com/blog/auriga-day-2012/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Cart behavior on Login in Magento</title>
		<link>http://www.aurigait.com/blog/cart-behavior-on-login-in-magento</link>
		<comments>http://www.aurigait.com/blog/cart-behavior-on-login-in-magento#comments</comments>
		<pubDate>Sat, 24 Dec 2011 06:47:42 +0000</pubDate>
		<dc:creator>Hiren Pandya</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Magento Customization]]></category>

		<guid isPermaLink="false">http://www.aurigait.com/blog/?p=78</guid>
		<description><![CDATA[While customizing Magento cart, if you are using quote id and item ids of cart in any reference then you must face a problem with login.  If you have some thing in cart and guess your cart id or quote id is 41 and you log in at any step  the cart id will get changed and the cart [...]]]></description>
			<content:encoded><![CDATA[<p>While customizing Magento cart, if you are using quote id and item ids of cart in any reference then you must face a problem with login. </p>
<p>If you have some thing in cart and guess your cart id or quote id is 41 and you log in at any step  the cart id will get changed and the cart or quote history with id 41 will be deleted permanently and same will happen with the item ids. This happens because magento changes the quote when you are log in.</p>
<p>The new cart or quote id will be generated in two ways. If the logged in user has previously (before you logged out last time) stored items in his cart and that cart&#8217;s id is suppose 26 than the new items will be added into that cart or quote and current cart id will be changed to 26. But if you don’t have any thing previously than a new cart or quote id will be generated as suppose 42 and cart item ids will be changed accordingly.</p>
<p>If you don’t want the things to happen like this and want to change the behavior that it should not change the cart id and its item ids if those created while the user was not logged in then you need to make a change in /app/code/core/mage/Checkout/Model/Observer.php file.</p>
<p> you need to change the function loadCustomerQuote with this - </p>
<p>&nbsp;</p>
<blockquote><p><code>public function loadCustomerQuote()</code></p>
<p>{</p>
<p>try</p>
<p>{</p>
<p>if(Mage::getSingleton(&#8216;checkout/session&#8217;)-&gt;getQuote()-&gt;getItemsCount() &gt; 0)</p>
<p>{</p>
<p>}</p>
<p>else</p>
<p>{</p>
<p>Mage::getSingleton(&#8216;checkout/session&#8217;)-&gt;loadCustomerQuote();</p>
<p>}</p>
<p>}</p>
<p>catch (Mage_Core_Exception $e) {</p>
<p>Mage::getSingleton(&#8216;checkout/session&#8217;)-&gt;addError($e-&gt;getMessage());</p>
<p>}</p>
<p>catch (Exception $e) {</p>
<p>Mage::getSingleton(&#8216;checkout/session&#8217;)-&gt;addException(</p>
<p>$e,</p>
<p>Mage::helper(&#8216;checkout&#8217;)-&gt;__(&#8216;Load customer quote error&#8217;)</p>
<p>);</p>
<p>}</p>
<p>}</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.aurigait.com/blog/cart-behavior-on-login-in-magento/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Transferring Domain from Melbourne IT to Godaddy</title>
		<link>http://www.aurigait.com/blog/transferring-domain-from-melbourne-it-to-godaddy</link>
		<comments>http://www.aurigait.com/blog/transferring-domain-from-melbourne-it-to-godaddy#comments</comments>
		<pubDate>Wed, 21 Dec 2011 05:29:06 +0000</pubDate>
		<dc:creator>ronak</dc:creator>
				<category><![CDATA[Technical]]></category>

		<guid isPermaLink="false">http://www.aurigait.com/blog/?p=75</guid>
		<description><![CDATA[I had a domain registered with Melbourne IT for which they were charging USD 35.50 for one year. I decided to shift the domain to Godaddy which was much cheaper around USD 8.00 per year. The exercise was not as easy as I had thought. I had initiated the transfer from Godaddy and have received [...]]]></description>
			<content:encoded><![CDATA[<p>I had a domain registered with Melbourne IT for which they were charging USD 35.50 for one year. I decided to shift the domain to Godaddy which was much cheaper around USD 8.00 per year.</p>
<p>The exercise was not as easy as I had thought.</p>
<p>I had initiated the transfer from Godaddy and have received the Security Code and Token Key on the administrator mail of Domain. Then I unlocked the domain from Domain Management (Melbourne IT) and was waiting for the Authorization Code. I waited but did not receive it. (Though I acted as a fool as later I came to know that it can easily be generated from the Domain Manager. For more information <a href="http://www.melbourneit.com.au/help/index.php?questionid=50347">http://www.melbourneit.com.au/help/index.php?questionid=50347</a> )</p>
<p>I was trying to get the proper forum or support for domain transfer. It took me lot of time to figure out how to raise the ticket on Melbourne IT and after raising the ticket too I do not know where to track the ticket. It was a very frustrating experience.</p>
<p>I was searching over the internet  that how can I get the authorization code and then somewhere I read a blog where it was mentioned that once you cancel the domain you will receive the complete details in mail for further action. I cancelled the domain and soon I realized that I will have no control over the domain after cancellation. But the realization was too late, domain was cancelled and I had no other options. I called the 24*7 Melbourne IT Customer support but nobody was at the receiving end and I did not expected it from them. I was going desperate and then the social media came to rescue.  Somehow I got hold of Melbourne IT Twitter account and I tweeted about the no response from customer support. Within no time I received a call from Melbourne IT support center and they guided me further.</p>
<p>They told me that the only way to restore the domain is to apply for the redemption (Charges for this were USD 155.00). As I had no other option, I had to apply for redemption and got the ownership of Domain.</p>
<p>The exact steps for Domain Transfer from Melbourne IT to Godaddy are as follows:</p>
<ol>
<li>Purchase the Domain on Godaddy (<a href="http://www.godaddy.com/domains/domain-transfer.aspx">http://www.godaddy.com/domains/domain-transfer.aspx</a>)</li>
<li>You will receive a Security Code and Token Key on your administrator contact of Domain</li>
<li>Then act from the following link <a href="http://help.godaddy.com/article/1592?locale=en#authorize">http://help.godaddy.com/article/1592?locale=en#authorize</a></li>
</ol>
<p>Other Important links are</p>
<p><a href="https://www.melbourneit.com.au/help/index.php?topicid=193">https://www.melbourneit.com.au/help/index.php?topicid=193</a></p>
<p><a href="http://help.godaddy.com/article/1592#authorize">http://help.godaddy.com/article/1592#authorize</a></p>
<p>Lesson to Learn -</p>
<ul>
<li>Do not cancel your domain ever if you want to Transfer the Domain or change any setting related to Domain.</li>
<li>By chance you have cancelled your domain then it will not be available for purchase for next 60 days and you can apply for the redemption of Domain.</li>
</ul>
<p>Hope it helps you! I learned my lessons hard way. <img src='http://www.aurigait.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurigait.com/blog/transferring-domain-from-melbourne-it-to-godaddy/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Team Building Activity</title>
		<link>http://www.aurigait.com/blog/team-building-activity</link>
		<comments>http://www.aurigait.com/blog/team-building-activity#comments</comments>
		<pubDate>Tue, 20 Dec 2011 16:10:39 +0000</pubDate>
		<dc:creator>ronak</dc:creator>
				<category><![CDATA[Auriga]]></category>

		<guid isPermaLink="false">http://www.aurigait.com/blog/?p=74</guid>
		<description><![CDATA[Team Building activities plays a very important role and everyone including Management, Employees will reap benefits from this.  It helps in bringing out the best in a team and cultivates leadership skills, positive communication and ability to work as a group to solve practical problems. We decided to have a team building activity session on [...]]]></description>
			<content:encoded><![CDATA[<p>Team Building activities plays a very important role and everyone including Management, Employees will reap benefits from this.  It helps in bringing out the best in a team and cultivates leadership skills, positive communication and ability to work as a group to solve practical problems.</p>
<p>We decided to have a team building activity session on the Fourth Saturday on every month. We started searching over the internet for various Ideas and then come up with a very brilliant concept of Building Bridges. (<a href="http://www.firststepstraining.com/resources/activities/archive/activity_bridges.htm">http://www.firststepstraining.com/resources/activities/archive/activity_bridges.htm</a>)</p>
<p><strong>Building Bridges </strong></p>
<p>Objective: The objective of this activity is to introduce the idea of team work, communication and problem solving attitude.</p>
<p><strong>Instructions </strong>–</p>
<ul>
<li>Every team will be of 3 Members</li>
<li>Every team needs to build a bridge using 25 Newspaper and Masking Tape. The bridge should be strong enough to hold the one liter Jug (Filled with Water) and wide enough o allow a Pan to pass through it. Bridge should not be attached to any wall.</li>
</ul>
<p><strong>Rules</strong></p>
<p>All teams will get 7 minutes to discuss the strategy and then 8 minutes to build the bridge. During the 8 minutes team members cannot talk to each other. Then there will be 1 minute break during which the team can talk again and revise the strategy. After that the team will get 8 minutes more to build the bridge and they cannot talk with each other</p>
<p><strong>Processing/discussion questions:</strong></p>
<ul>
<li>How did you work as a group?</li>
<li>Did everyone participate in some way?</li>
<li>Was there one particular person that kept the ball rolling?</li>
<li>What influenced the type of bridge built by each group?</li>
<li>How did communication or lack of it affect the work of the group?</li>
<li>What characteristics of teamwork became evident during this exercise?</li>
<li>Was there any panic when the time was ending or did you change the plan in between?</li>
</ul>
<p>Some pictures for this activity  coming soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurigait.com/blog/team-building-activity/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moodle Login Integration</title>
		<link>http://www.aurigait.com/blog/moodle-login-integration</link>
		<comments>http://www.aurigait.com/blog/moodle-login-integration#comments</comments>
		<pubDate>Wed, 14 Dec 2011 12:39:49 +0000</pubDate>
		<dc:creator>Hitesh Shrimali</dc:creator>
				<category><![CDATA[Technical]]></category>
		<category><![CDATA[Moodle Customization]]></category>
		<category><![CDATA[Moodle Development]]></category>
		<category><![CDATA[Moodle Integration]]></category>
		<category><![CDATA[Moodle Login Integration]]></category>

		<guid isPermaLink="false">http://www.aurigait.com/blog/?p=72</guid>
		<description><![CDATA[Moodle login integration in other source Introduction  When we need Moodle integration in any site to use some functional part of Moodle like Quiz for that we have to create Single sign on between both platforms. For that we have to create alternative login to Moodle and disable the direct login functionality in Moodle.    [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Moodle login integration in other source Introduction</strong></p>
<p><strong> </strong>When we need Moodle integration in any site to use some functional part of Moodle like Quiz for that we have to create Single sign on between both platforms. For that we have to create alternative login to Moodle and disable the direct login functionality in Moodle.</p>
<p><strong> </strong><strong> </strong></p>
<p><strong>How to add alternative login page to Moodle?</strong></p>
<p>If you don’t want to use Moodle login page and want to create your own. Or want to integrate Moodle login in your site then follow the following steps.</p>
<p>1. Create login form which has Moodle login page URL in action.</p>
<p>Ex. &lt;form action=”&lt;your Moodle site root&gt;/login/index.php” method=”post”&gt;&lt;/form&gt;</p>
<p>2. This form must contain at least two text field username and password.</p>
<p>3. Now login to your Moodle site as admin and go to</p>
<p>Site administrator -&gt; Plugin -&gt; Authentication -&gt; Manage authentication.</p>
<p>Type or just paste your new login page URL in alternative login text box and click on save changes button.</p>
<p>Now anyone click on login link will be redirected to login page which you created and after filling it with correct credentials he will login to your Moodle site .So direct login to your Moodle site is disabled. Now you have to create login for Moodle administrator.</p>
<p>This process will help you to integrate Moodle with other platforms like Joomla, WordPress etc and use Moodle functional parts like on line learning, quiz and assignments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.aurigait.com/blog/moodle-login-integration/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

