<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Blog4exchange</title>
	<atom:link href="http://blog4exchange.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog4exchange.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Wed, 03 Mar 2010 05:44:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='blog4exchange.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/213d82eeda139a3cd67a5cdc75450a5f?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Blog4exchange</title>
		<link>http://blog4exchange.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://blog4exchange.wordpress.com/osd.xml" title="Blog4exchange" />
	<atom:link rel='hub' href='http://blog4exchange.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Multithreading in C (POSIX style)</title>
		<link>http://blog4exchange.wordpress.com/2010/03/02/multithreading-in-c-posix-style/</link>
		<comments>http://blog4exchange.wordpress.com/2010/03/02/multithreading-in-c-posix-style/#comments</comments>
		<pubDate>Tue, 02 Mar 2010 13:25:08 +0000</pubDate>
		<dc:creator>justmanu</dc:creator>
				<category><![CDATA[C]]></category>

		<guid isPermaLink="false">http://blog4exchange.wordpress.com/?p=148</guid>
		<description><![CDATA[Multithreading — An Overview In most modern operating systems it is possible for an application to split into many &#8220;threads&#8221; that all execute concurrently. It might not be immediately obvious why this is useful, but there are numerous reasons why this is beneficial. When a program is split into many threads, each thread acts like [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=148&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>Multithreading — An Overview</h2>
<p>In most modern operating systems it is possible for an application to  split into many &#8220;threads&#8221; that all execute concurrently.  It might  not be immediately obvious why this is useful, but there are  numerous reasons why this is beneficial.</p>
<p>When a program is split into many threads, each thread acts like its  own individual program, except that all the threads work in the same  memory space, so all their memory is shared.  This makes communication  between threads fairly simple, but there are a few caveats that will be  noted later.</p>
<p>So, what does multithreading do for us?</p>
<p>Well, for starters, multiple threads can run on multiple <abbr title="Central Processing Unit">CPU</abbr>s, providing a performance  improvement.  A multithreaded application works just as well on a  single-CPU system, but without the added speed.  As multi-core  processors become commonplace, such as <a href="http://en.wikipedia.org/wiki/Dual-core">Dual-Core</a> processors and Intel Pentium 4&#8242;s with <a href="http://www.intel.com/technology/hyperthread/">HyperThreading</a>,  multithreading will be one of the simplest ways to boost performance.</p>
<p>Secondly, and often more importantly, it allows the programmer to  divide each particular job of a program up into its own piece that  operates independently of all the others.  This becomes particularly  important when many threads are doing blocking <abbr title="Input/Output">I/O</abbr> operations.</p>
<p>A media player, for example, can have a thread for pre-buffering the  incoming media, possibly from a harddrive, <abbr title="Compact Disc">CD</abbr>,  <abbr title="Digital Video Disc">DVD</abbr>, or network socket, a  thread to process user input, and a thread to play the actual media.  A  stall in any single thread won&#8217;t keep the others from doing their  jobs.</p>
<p>For the operating system, switching between threads is normally cheaper  than switching between processes.  This is because the memory  management information doesn&#8217;t change between threads, only the stack  and register set do, which means less data to copy on context switches.</p>
<h2>Multithreading — Basic Concepts</h2>
<p>Multithreaded applications often require synchronization objects.  These objects are used to  protect memory from being modified by multiple threads at the same time, which might make the data  incorrect.</p>
<p>The first, and simplest, is an object called a <code>mutex</code>.  A  <code>mutex</code> is like a lock.  A thread can lock it, and then any  subsequent attempt to lock it, by the same thread or any other, will cause  the attempting thread to block until the <code>mutex</code> is unlocked.   These are very handy for keeping data structures correct from all  the threads&#8217; points of view.  For example, imagine a very large linked  list.  If one thread deletes a node at the same time that another thread  is trying to walk the list, it is possible for the walking thread to fall  off the list, so to speak, if the node is deleted or changed.  Using a  <code>mutex</code> to &#8220;lock&#8221; the list keeps this from happening.</p>
<p>Computer Scientist people will tell you that <code>Mutex</code> stands for  <strong>Mut</strong>ual <strong>Ex</strong>clusion.<br />
In <a href="http://java.sun.com/">Java</a>, Mutex-like behaviour is  accomplished using the <code>synchronized</code> keyword.</p>
<p>Technically speaking, only the thread that locks a <code>mutex</code> can unlock it, but sometimes  operating systems will allow any thread to unlock it.  Doing this is, of course, a Bad Idea.  If  you need this kind of functionality, read on about the <code>semaphore</code> in the next  paragraph.</p>
<p>Similar to the <code>mutex</code> is the <code>semaphore</code>.  A  <code>semaphore</code> is like a <code>mutex</code> that counts instead of  locks.  If it reaches zero, the next attempt to access the semaphore will  block until someone else increases it.  This is useful for resource  management when there is more than one resource, or if two separate  threads are using the same resource in coordination.  Common  terminology for using semaphores is &#8220;uping&#8221; and &#8220;downing&#8221;, where  upping increases the count and downing decreases and blocks on  zero.<br />
Java provides a Class called <code>Semaphore</code> which does the  same thing, but uses <code>acquire()</code> and <code>release()</code> methods instead of uping and downing.</p>
<p>With a name as cool-sounding as <code>semaphore</code>, even  Computer Scientists couldn&#8217;t think up what this is short for. (Yes, I know that a semaphore is a signal or flag <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Unlike <code>mutexes</code>, <code>semaphores</code> are designed to allow multiple threads to up and down  them all at once.  If you create a <code>semaphore</code> with a count of 1, it will act just like  a <code>mutex</code>, with the ability to allow other threads to unlock it.</p>
<p>The third and final structure is the thread itself.  More specifically,  thread identifiers.  These are useful for getting certain threads to wait  for other threads, or for getting threads to tell other threads  interesting things.</p>
<p>Computer Scientists like to refer to the pieces of code protected by  <code>mutexes</code> and <code>semaphores</code> as  <strong>Critical Sections</strong>. In general, it&#8217;s a good idea to keep Critical Sections as short as possible to allow the application to be as parallel as possible. The larger the critical section, the more likely it is that multiple threads will hit it at the same time, causing stalls.</p>
<p>In POSIX, the types we&#8217;ll be dealing with are <code>pthread_t</code> for  thread identifiers, <code>pthread_mutex_t</code> for mutexes, and  <code>sem_t</code> for semaphores.  We use the word &#8220;pthread&#8221; a lot  because it stands for <strong>P</strong>OSIX <strong>Threads</strong></p>
<p>.</p>
<h2>Mutexes and Semaphores</h2>
<p>Mutexes are fairly easy to create.  The function we use is  <code>pthread_mutex_init</code>, which takes 2 parameters.  The first  is a pointer to a <code>mutex_t</code> that we&#8217;re creating.  The second  parameter is usually <code>NULL</code>, but can also be a  <code>pthread_mutexattr_t</code> structure that specifies different  attributes for it.</p>
<p>To lock and unlock a mutex, use <code>pthread_mutex_lock</code> and  <code>pthread_mutex_unlock</code>.  These both take 1 parameter: a  pointer to the mutex being operated on.   <code>pthread_mutex_trylock</code> is similar to  <code>pthread_mutex_lock</code>, except that if it can&#8217;t lock the  mutex, it returns a error instead of blocking.</p>
<p>When the mutex is no longer needed, it can be freed with  <code>pthread_mutex_destroy</code>.</p>
<p>Semaphores follow a similar paradigm.  They are initialized with  <code>sem_init</code>, which takes 3 parameters.  The first is a pointer  to the semaphore being initialized.  The second is always zero.  This  argument is used to denote semaphores shared between processes, but it  isn&#8217;t always supported.  The third argument specifies the initial value of  the newly created semaphore.</p>
<p>To &#8220;Up&#8221; a semaphore, use <code>sem_post</code>.  To &#8220;Down&#8221; a  semaphore, use <code>sem_wait</code>.  These kind of parallel  <code>pthread_mutex_lock</code> and  <code>pthread_mutex_unlock</code>.</p>
<p><code>sem_destroy</code> is used to destroy a semaphore once it is no  longer needed.</p>
<div>
<h2>Multithreading — Example Source</h2>
<p>Here&#8217;s some example code to illustrate thread creation:</p>
<pre><code>
#include &lt;pthread.h&gt;
#include &lt;stdio.h&gt;

/* This is our thread function.  It is like main(), but for a thread*/
void *threadFunc(void *arg)
{
	char *str;
	int i = 0;

	str=(char*)arg;

	while(i &lt; 110 )
	{
		usleep(1);
		printf("threadFunc says: %s\n",str);
		++i;
	}

	return NULL;
}

int main(void)
{
	pthread_t pth;	// this is our thread identifier
	int i = 0;

	pthread_create(&amp;pth,NULL,threadFunc,"foo");

	while(i &lt; 100)
	{
		usleep(1);
		printf("main is running...\n");
		++i;
	}

	printf("main waiting for thread to terminate...\n");
	pthread_join(pth,NULL); //</code>this will make one thread stop and wait for another thread  to finish.
<code>
	return 0;
}

</code></pre>
</div>
<div>
<p>The output will be (mostly) alternating lines as the <code>main()</code> and <code>threadFunc()</code> threads execute and pause.  Without the <code>usleep()</code>&#8216;s they&#8217;ll not switch because we  aren&#8217;t doing anything that takes long enough to consume our whole time slice.</p>
<p>We could capture the return value in the <code>pthread_join()</code> call if we used a variable instead of <code>NULL</code> for the second argument.</div>
<div></div>
<div>
<h2>Stopping a thread</h2>
</div>
<div>Sometimes an application may wish to stop a thread that is currently executing.  The function  <code>pthread_cancel</code> can help us accomplish this.</p>
<p><code>int pthread_cancel(pthread_t thread);</code></p>
<p>The only argument to <code>pthread_cancel</code> is the thread identifier for the thread to be  cancelled.  It returns zero if successful, or an error code otherwise.</p>
<p>A thread can set whether or not it can be cancelled by using <code>int pthread_setcancelstate</code>.</div>
<div></div>
<div>
<div>
<h2>Performance Considerations</h2>
<p>When designing an application for threads, or converting an existing program, there are some considerations to keep in mind when it comes to threads.</p>
<p>First, thread creation tends to be expensive &#8212; spawning thousands of threads with short lifetimes usually isn&#8217;t time-effective. If you need to create threads frequently, a common pattern used to reduce this cost is a &#8220;Thread Pool&#8221;. At startup, the application will spawn a number of threads and supply them on demand. When the thread task completes, the thread returns to the pool for reuse later. Fancier implementations will dynamically close threads when there&#8217;s too much of a surplus, or spawn additional threads when there&#8217;s a shortage.</p>
<p>Each additional thread also gets its own stack. This stack space can be large, which can consume a lot of memory space (especially in 32bit applications). There are methods to reduce a thread&#8217;s stack size using the pthreads API. For small numbers of threads this usually isn&#8217;t a concern, but it&#8217;s something to keep in mind.</p>
<p>Lock contention (when two or more threads are trying to acquire the same lock) requires skillful design to keep as many threads operating in parallel as possible. There are several volumes of literature on ways to design locks, lock heirarchies, and other variations to mitigate this cost.</p></div>
<h2>Multithreading Terms</h2>
<p>There are many terms used when writing multithreaded applications.  I&#8217;ll try to describe a few of there  here.</p>
<p><code>Deadlock</code> — A state where two or more threads each hold a lock that the others need to finish.   For example, if one thread has locked mutex A and needs to lock mutex B to finish, while another thread is holding  mutex B and is waiting for mutex A to be released, they are in a state of  deadlock.  The threads are stuck, and cannot finish.  One way to avoid  deadlock is to acquire necessary mutexes in the same order (always get mutex A then  B).  Another is to see if a mutex is available via  <code>pthread_mutex_trylock</code>, and release any held locks if  one isn&#8217;t available.</p>
<p><code>Race Condition</code> — A program that depends on threads working in a certain sequence to complete  normally.  Race Conditions happen when mutexes are used improperly, or not  at all.</p>
<p><code>Thread-Safe</code> — A library that is designed to be used in multithreaded applications is said to be  thread-safe.  If a library is <em>not</em> thread-safe, then one and only  one thread should make calls to that library&#8217;s functions.</div>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blog4exchange.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blog4exchange.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blog4exchange.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blog4exchange.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blog4exchange.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blog4exchange.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blog4exchange.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blog4exchange.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blog4exchange.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blog4exchange.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blog4exchange.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blog4exchange.wordpress.com/148/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blog4exchange.wordpress.com/148/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blog4exchange.wordpress.com/148/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=148&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog4exchange.wordpress.com/2010/03/02/multithreading-in-c-posix-style/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a669be884586a9343286d405faabf56d?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">justmanu</media:title>
		</media:content>
	</item>
		<item>
		<title>Nexus One &#8211; Google&#8217;s First Mobile Phone</title>
		<link>http://blog4exchange.wordpress.com/2010/02/03/nexus-one-googles-first-mobile-phone/</link>
		<comments>http://blog4exchange.wordpress.com/2010/02/03/nexus-one-googles-first-mobile-phone/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 05:16:07 +0000</pubDate>
		<dc:creator>valleyman9</dc:creator>
				<category><![CDATA[Mobile News]]></category>
		<category><![CDATA[Google's First Phone]]></category>
		<category><![CDATA[Nexus One]]></category>

		<guid isPermaLink="false">http://blog4exchange.wordpress.com/?p=118</guid>
		<description><![CDATA[By now everyone must be aware about Google&#8217;s new mobile phone &#8220;Nexus One&#8221;. Google unveiled its first mobile phone on 5th January 2010. There were rumours of google working on iphone competitor since last quarter of 2009. In this post, I will talk and provide links on few of the best reviews on &#8220;Nexus One&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=118&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>By now everyone must be aware about Google&#8217;s new mobile phone &#8220;Nexus One&#8221;.</p>
<p>Google unveiled its first mobile phone on 5th January 2010. There were rumours of google working on iphone competitor since last quarter of 2009.</p>
<p>In this post, I will talk and provide links on few of the  best reviews on &#8220;Nexus One&#8221;</p>
<p>This is the first phone to run google&#8217;s Android 2.1 mobile operating system. Here are couple of Nexus One images.</p>
<table>
<tr>
<td><img width="325" height="225" src="http://blog4exchange.files.wordpress.com/2010/02/nexusone_2.jpg?w=325&#038;h=225" alt="Nexus One" /></td>
<td><img width="200" height="325" src="http://blog4exchange.files.wordpress.com/2010/02/nexus1x.jpg?w=200&#038;h=325" alt="Nexus One front " /></td>
</tr>
</table>
<h2>Nexus One review report from various websites</h2>
<h3><a href="http://www.ubergizmo.com/15/archives/2010/01/nexus-one-review.html">From Ubergizmo</a></h3>
<p>I found information on this website to be quiet satisfying. It provides detailed info about the Phones functionalities. This website talks about Hardware specification, How phone dialling is easy, How web surfing is efficient, how security is unique, how picture and video clarity is good, how multitasking beats iPhone <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  , how game playing is better, much more details about phone and last but not least how pricing beats iPhone <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  .</p>
<h3><a href="http://www.ubergizmo.com/15/archives/2010/01/nexus-one-review.html">Click here to read actual review from website.</a></h3>
</p>
<p></p>
<h2>Following are the Links to remaining Nexus one review websites</h2>
<h3><a href="http://reviews.cnet.com/smartphones/htc-nexus-one-by/4505-6452_7-33906802.html">Click here to see video review from cnet.com</a></h3>
<h3> <a href="http://www.engadget.com/2010/01/04/nexus-one-review/">Click here to read review from engadget.com</a></h3>
<h3><a href="http://www.nexusoneblog.com/blog/2010/1/2/nexus-one-review.html">Click here to read review from nexusoneblog.com</a></h3>
<hr />
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blog4exchange.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blog4exchange.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blog4exchange.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blog4exchange.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blog4exchange.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blog4exchange.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blog4exchange.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blog4exchange.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blog4exchange.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blog4exchange.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blog4exchange.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blog4exchange.wordpress.com/118/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blog4exchange.wordpress.com/118/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blog4exchange.wordpress.com/118/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=118&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog4exchange.wordpress.com/2010/02/03/nexus-one-googles-first-mobile-phone/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/107d7a01521b40b28c52c6963a282034?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">valleyman9</media:title>
		</media:content>

		<media:content url="http://blog4exchange.files.wordpress.com/2010/02/nexusone_2.jpg" medium="image">
			<media:title type="html">Nexus One</media:title>
		</media:content>

		<media:content url="http://blog4exchange.files.wordpress.com/2010/02/nexus1x.jpg" medium="image">
			<media:title type="html">Nexus One front </media:title>
		</media:content>
	</item>
		<item>
		<title>iPhone Remote controlled AR.Drone</title>
		<link>http://blog4exchange.wordpress.com/2010/01/21/iphone-remote-controlled-ar-drone/</link>
		<comments>http://blog4exchange.wordpress.com/2010/01/21/iphone-remote-controlled-ar-drone/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 02:35:09 +0000</pubDate>
		<dc:creator>valleyman9</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[AR Drone]]></category>

		<guid isPermaLink="false">http://blog4exchange.wordpress.com/?p=107</guid>
		<description><![CDATA[AR.Drone is remote controlled helicopter. It uses wi-fi technology to stay connected with the controller&#8230; and makes use of various sensors to make flight simulation fun and safe&#8230; This drone is also integrated with the game play on iphone or ipod touch. I feel It takes the gaming experience to whole new level. Following is [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=107&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>AR.Drone is remote controlled helicopter. It uses wi-fi technology to stay connected with the controller&#8230; and makes use of various sensors to make flight simulation fun and safe&#8230;</p>
<p>This drone is also integrated with the game play on iphone or ipod touch. I feel It takes the gaming experience to whole new level. <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Following is the link to website of the company which invented this toy <a href="http://ardrone2.parrot.com/parrot-ar-drone/en.html">Parrot corp</a></p>
<p>quite an amazing toy guys.. do have look at the video&#8230;</p>
<p style="text-align:left;">
<span style="text-align:center; display: block;"><a href="http://blog4exchange.wordpress.com/2010/01/21/iphone-remote-controlled-ar-drone/"><img src="http://img.youtube.com/vi/V3KrFV0-WFw/2.jpg" alt="" /></a></span></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blog4exchange.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blog4exchange.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blog4exchange.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blog4exchange.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blog4exchange.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blog4exchange.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blog4exchange.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blog4exchange.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blog4exchange.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blog4exchange.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blog4exchange.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blog4exchange.wordpress.com/107/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blog4exchange.wordpress.com/107/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blog4exchange.wordpress.com/107/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=107&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog4exchange.wordpress.com/2010/01/21/iphone-remote-controlled-ar-drone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/107d7a01521b40b28c52c6963a282034?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">valleyman9</media:title>
		</media:content>
	</item>
		<item>
		<title>various tier architectures</title>
		<link>http://blog4exchange.wordpress.com/2010/01/13/various-tier-architectures/</link>
		<comments>http://blog4exchange.wordpress.com/2010/01/13/various-tier-architectures/#comments</comments>
		<pubDate>Wed, 13 Jan 2010 06:05:33 +0000</pubDate>
		<dc:creator>VJ</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog4exchange.wordpress.com/?p=105</guid>
		<description><![CDATA[I have collected some information from different sources about why we need various tier architectures, and how it helps to maintain the application . in the beginning, there were mainframes. Every program and piece of data was stored in a single almighty machine. Users could access this centralized computer only by means of dumb terminals. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=105&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have collected some information from different sources about why we need various tier architectures, and how it helps to maintain the application .</p>
<p>in the beginning, there were mainframes. Every program and piece of data was stored in a single almighty machine. Users could access this centralized computer only by means of dumb terminals.</p>
<p><img src="http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/035/3508/3508f2.png" alt="mainframe archietcture" /></p>
<p>In the 1980s, the arrival of inexpensive network-connected PCs produced the popular two-tier client-server architecture. In this architecture, there is an application running in the client machine which interacts with the server—most commonly, a database management system . Typically, the client application, also known as a fat client, contained some or all of the presentation logic (user interface), the application navigation, the business rules and the database access. Every time the business rules were modified, the client application had to be changed, tested and redistributed, even when the user interface remained intact. In order to minimize the impact of business logic alteration within client applications, the presentation logic must be separated from the business rules. This separation becomes the fundamental principle in the three-tier architecture.</p>
<p>In 2-tier, the application logic is either buried inside the User Interface on the client or within the database on the server (or both). With two tier client/server architectures (see Two Tier Software Architectures), the user system interface is usually located in the user&#8217;s desktop environment and the database management services are usually in a server that is a more powerful machine that services many clients. Processing management is split between the user system interface environment and the database management server environment. The database management server provides stored procedures and triggers</p>
<p><img src="http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/035/3508/3508f2.png" alt="two tier architecture" /></p>
<p>In a three-tier architecture (also known as a multi-tier architecture), there are three or more interacting tiers, each with its own specific responsibilities</p>
<p>In 3-tier, the application logic (or) process lives in the middle-tier, it is separated from the data and the user interface. 3-tier systems are more scalable, robust and flexible. In addition, they can integrate data from multiple sources. In the three tier architecture, a middle tier was added between the user system interface client environment and the database management server environment. There are a variety of ways of implementing this middle tier, such as transaction processing monitors, message servers, or application servers. The middle tier can perform queuing, application execution, and database staging. For example, if the middle tier provides queuing, the client can deliver its request to the middle layer and disengage because the middle tier will access the data and return the answer to the client. In addition the middle layer adds scheduling and prioritization for work in progress. The three tier client/server architecture has been shown to improve performance for groups with a large number of users (in the thousands) and improves flexibility when compared to the two tier approach. Flexibility in partitioning can be a simple as &#8220;dragging and dropping&#8221; application code modules onto different computers in some three tier architectures. A limitation with three tier architectures is that the development environment is reportedly more difficult to use than the visually-oriented development of two tier applications. The most basic type of three tier architecture has a middle layer consisting of Transaction Processing (TP) monitor technology. The TP monitor technology is a type of message queuing, transaction scheduling, and prioritization service where the client connects to the TP monitor (middle tier) instead of the database server. The transaction is accepted by the monitor, which queues it and then takes responsibility for managing it to completion, thus freeing up the client.<br />
<img src="http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/035/3508/3508f3.inline.png" alt="Three tier architecture" /></p>
<p>*</p>
<p>Tier 1: the client contains the presentation logic, including simple control and user input validation. This application is also known as a thin client.<br />
*</p>
<p>Tier 2: the middle tier is also known as the application server, which provides the business processes logic and the data access.<br />
*</p>
<p>Tier 3: the data server provides the business data.</p>
<p>These are some of the advantages of a three-tier architecture:</p>
<p>*</p>
<p>It is easier to modify or replace any tier without affecting the other tiers.<br />
*</p>
<p>Separating the application and database functionality means better load balancing.<br />
*</p>
<p>Adequate security policies can be enforced within the server tiers without hindering the clients.</p>
<p>ure, all of the data storage and retrieval processes are logically and usually physically located on a single tier. A 4-tier architecture allows an unlimited number of programs to run simultaneously, send information to one another, use different protocols to communicate, and interact concurrently. This allows for a much more powerful application, providing many different services to many different clients. In this application we will have following 4-Tiers<br />
1. Business Object [BO]<br />
2. Business Access Layer [BAL]<br />
3. Data Access Layer [DAL]<br />
4. UI (4-Tier) folder [UI]</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blog4exchange.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blog4exchange.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blog4exchange.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blog4exchange.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blog4exchange.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blog4exchange.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blog4exchange.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blog4exchange.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blog4exchange.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blog4exchange.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blog4exchange.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blog4exchange.wordpress.com/105/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blog4exchange.wordpress.com/105/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blog4exchange.wordpress.com/105/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=105&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog4exchange.wordpress.com/2010/01/13/various-tier-architectures/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78a4aca1440a32fa51f54991f8eec5e2?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">VJ</media:title>
		</media:content>

		<media:content url="http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/035/3508/3508f2.png" medium="image">
			<media:title type="html">mainframe archietcture</media:title>
		</media:content>

		<media:content url="http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/035/3508/3508f2.png" medium="image">
			<media:title type="html">two tier architecture</media:title>
		</media:content>

		<media:content url="http://www.linuxjournal.com/files/linuxjournal.com/linuxjournal/articles/035/3508/3508f3.inline.png" medium="image">
			<media:title type="html">Three tier architecture</media:title>
		</media:content>
	</item>
		<item>
		<title>What is MVC &amp; how it will make your application effective</title>
		<link>http://blog4exchange.wordpress.com/2009/12/08/what-is-mvc/</link>
		<comments>http://blog4exchange.wordpress.com/2009/12/08/what-is-mvc/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 13:54:20 +0000</pubDate>
		<dc:creator>VJ</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog4exchange.wordpress.com/?p=101</guid>
		<description><![CDATA[The main aim of the MVC architecture is to separate the business logic and application data from the presentation data to the user. Here are the reasons why we should use the MVC design pattern. 1. They are resuable : When the problems recurs, there is no need to invent a new solution, we just [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=101&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The main aim of the MVC architecture  is to separate the<br />
business logic and application data from the presentation<br />
data to the user.</p>
<p>Here are the reasons why we should use the MVC design pattern.</p>
<p>1. They are resuable : When the problems recurs, there is<br />
no need to invent a new solution, we just have to follow the<br />
pattern and adapt it as necessary.<br />
2. They are expressive: By using the MVC design pattern<br />
our application becomes more expressive.</p>
<p>1).  Model: The model object knows about all the data that<br />
need to be displayed. It is model who is aware about all the<br />
operations that can be applied to transform that object. It<br />
only represents the data of an application. The model<br />
represents enterprise data and the business rules that<br />
govern access to and updates of this data. Model is not<br />
aware about the presentation data and how that data will be<br />
displayed to the browser.</p>
<p>2). View : The view represents the presentation of the<br />
application. The view object refers to the model. It uses<br />
the query methods of the model to obtain the contents and<br />
renders it. The view is not dependent on the application<br />
logic. It remains same if there is any modification in the<br />
business logic. In other words, we can say that it is the<br />
responsibility of the of the view&#8217;s to maintain the<br />
consistency in its presentation when the model changes.</p>
<p>3). Controller:  Whenever the user sends a request for<br />
something then it always go through the controller. The<br />
controller is responsible for intercepting the requests from<br />
view and passes it to the model for the appropriate action.<br />
After the action has been taken on the data, the controller<br />
is responsible for directing the appropriate view to the<br />
user. In  GUIs, the views and the controllers often work<br />
very closely together.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blog4exchange.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blog4exchange.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blog4exchange.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blog4exchange.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blog4exchange.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blog4exchange.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blog4exchange.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blog4exchange.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blog4exchange.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blog4exchange.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blog4exchange.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blog4exchange.wordpress.com/101/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blog4exchange.wordpress.com/101/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blog4exchange.wordpress.com/101/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=101&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog4exchange.wordpress.com/2009/12/08/what-is-mvc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/78a4aca1440a32fa51f54991f8eec5e2?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">VJ</media:title>
		</media:content>
	</item>
		<item>
		<title>Eminem &#8211; Beautiful.. Nice one ;)</title>
		<link>http://blog4exchange.wordpress.com/2009/08/25/eminem-beautiful-nice-one/</link>
		<comments>http://blog4exchange.wordpress.com/2009/08/25/eminem-beautiful-nice-one/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 04:08:08 +0000</pubDate>
		<dc:creator>valleyman9</dc:creator>
				<category><![CDATA[Music]]></category>
		<category><![CDATA[Eminem - Beautiful]]></category>

		<guid isPermaLink="false">http://blog4exchange.wordpress.com/?p=82</guid>
		<description><![CDATA[Hope you like it&#8230; Lately I&#8217;ve been hard to reach I&#8217;ve been too long on my own Everyone has a private world Where they can be alone Are you calling me, are you trying to get through Are you reaching out for me, and I&#8217;m reaching out for you I&#8217;m just so fu-ckin&#8217; depressed I [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=82&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hope you like it&#8230;<br />
<object height="81" width="100%"><param name="movie" value="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fsoundcloud.com%2Fog882001%2F17-eminem-beautiful&amp;g=1&amp;show_comments=true&amp;auto_play=false&amp;color=ff7700"></param><embed height="81" src="http://player.soundcloud.com/player.swf?url=http%3A%2F%2Fsoundcloud.com%2Fog882001%2F17-eminem-beautiful&amp;g=1&amp;show_comments=true&amp;auto_play=false&amp;color=ff7700" type="application/x-shockwave-flash" width="100%"> </embed> </object></p>
<p>Lately I&#8217;ve been hard to reach<br />
I&#8217;ve been too long on my own<br />
Everyone has a private world<br />
Where they can be alone<br />
Are you calling me, are you trying to get through<br />
Are you reaching out for me, and I&#8217;m reaching out for you</p>
<p><span id="more-82"></span></p>
<p>I&#8217;m just so fu-ckin&#8217; depressed<br />
I just can seem to get out this slump<br />
If I could just get over this hump<br />
But I need something to pull me out this dump<br />
I took my bruises, took my lumps<br />
Fell down and I got right back up<br />
But I need that spark to get psyched back up<br />
And the right thing for me to pick that mic back up<br />
I don&#8217;t know how I pry away<br />
And I ended up in this position I&#8217;m in<br />
I starting to feel distant again<br />
So I decided just to beat this pain<br />
Up and tried to make an attempt to vent<br />
But I just can&#8217;t admit<br />
Or come to grips, with the fact that<br />
I may be done with rap<br />
I need a new outlet<br />
I know some shits so hard to swallow<br />
And I just can&#8217;t sit back and wallow<br />
In my own sorrow<br />
But I know one fact<br />
I&#8217;ll be one tough act to follow<br />
One tough act to follow<br />
Copy<br />
One tough act to follow<br />
Here today, gone tomorrow<br />
But you have to walk a thousand miles</p>
<p>Chorus<br />
Walk my shoes, just to see<br />
What it&#8217;s like, to be me<br />
All be you, let&#8217;s trade shoes<br />
Just to see what I&#8217;d be like to<br />
Feel your pain, you feel mine<br />
Go inside each other&#8217;s mind<br />
Just to see what we find<br />
Looking shit through each other&#8217;s eyes</p>
<p>But don&#8217;t let &#8216;em say you ain&#8217;t beautiful OoOo<br />
They can all get fu-cked. Just stay true to you sOoOoo<br />
Don&#8217;t let &#8216;em say you ain&#8217;t beautiful OoOo<br />
They can all get fu-cked. Just stay true to you</p>
<p>I think I&#8217;m starting to lose my sense of humour<br />
Everything is so tense and gloom<br />
I almost feel like I gotta check the temperature in the room<br />
Just as soon as I walk in<br />
It&#8217;s like all eyes on me<br />
So I try to avoid any eye contact<br />
Cause if I do that then it opens a door to conversation<br />
Like I want that&#8230;<br />
I&#8217;m not looking for extra attention<br />
I just want to be just like you<br />
Blend in with the rest of the room<br />
Maybe just point me to the closest restroom<br />
I don&#8217;t need fu-cking man servin&#8217;<br />
Tryin to follow me around, and wipe my ass<br />
Laugh at every single joke I crack<br />
And half of them ain&#8217;t even funny like that<br />
Ahh Marshall, you&#8217;re so funny man, you should be a comedian, god damn<br />
Unfortunately I am, but I just hide behind the tears of a clown<br />
So why don&#8217;t you all sit down<br />
Listen to the tale I&#8217;m about to tell<br />
Hell, we don&#8217;t have to trade our shoes<br />
And you don&#8217;t have to walk no thousand miles</p>
<p>Chorus<br />
Walk my shoes, just to see<br />
What it&#8217;s like, to be me<br />
All be you, let&#8217;s trade shoes<br />
Just to see what I&#8217;d be like to<br />
Feel your pain, you feel mine<br />
Go inside each other&#8217;s mind<br />
Just to see what we find<br />
Looking shit through each other&#8217;s eyes</p>
<p>But don&#8217;t let &#8216;em say you ain&#8217;t beautiful OoOo<br />
They can all get fu-cked. Just stay true to you sOoOoo<br />
Don&#8217;t let &#8216;em say you ain&#8217;t beautiful OoOo<br />
They can all get fu-cked. Just stay true to you sOoOoo</p>
<p>Nobody asked for life to deal us<br />
With these bullshit hands with doubt<br />
We have to take these cards ourselves<br />
And flip them, don&#8217;t expect no help<br />
Now I could have either just<br />
Sat on my ass and pissed and moaned<br />
But take this situation in which I&#8217;m placed in<br />
And get up and get my own<br />
I was never the type of kid<br />
To wait but I know to unpack his bags<br />
Never sat on the porch and hoped and prayed<br />
For a dad to show up who never did<br />
I just wanted to fit in<br />
Every single place<br />
Every school I went<br />
I dreamed of being that cool kid<br />
Even if it meant acting stupid<br />
Aunt Edna always told me<br />
Keep making that face till it gets stuck like that<br />
Meanwhile I&#8217;m just standing there<br />
Holding my tongue up trying to talk like this<br />
Till I stuck my tongue on the frozen stop sign poll at 8 years old<br />
I learned my lesson and cause I wasn&#8217;t tryin to impress my friends no more<br />
But I already told you my whole life story<br />
Not just based on my description<br />
Cause where you see it from where you&#8217;re sitting<br />
Is probably 110% different<br />
I guess we would have to walk a mile<br />
In each other&#8217;s shoes, at least<br />
What size you where?<br />
I wear tens<br />
Let&#8217;s see if you can fit your feet</p>
<p>Chorus<br />
Walk my shoes, just to see<br />
What it&#8217;s like, to be me<br />
All be you, let&#8217;s trade shoes<br />
Just to see what I&#8217;d be like to<br />
Feel your pain, you feel mine<br />
Go inside each other&#8217;s mind<br />
Just to see what we find<br />
Looking shit through each other&#8217;s eyes</p>
<p>But don&#8217;t let &#8216;em say you ain&#8217;t beautiful OoOo<br />
They can all get fu-cked. Just stay true to you sOoOoo<br />
Don&#8217;t let &#8216;em say you ain&#8217;t beautiful OoOo<br />
They can all get fu-cked. Just stay true to you sOoOoo</p>
<p>Lately I&#8217;ve been hard to reach<br />
I&#8217;ve been too long on my own<br />
Everyone has a private world<br />
Where they can be alone&#8230; sOoOoo<br />
Are you calling me, are you trying to get through OoOo<br />
Are you reaching out for me, and I&#8217;m reaching out for you sOoOoo Oo Oo</p>
<p>Yea&#8230; To my babies. Stay strong. Daddy will be soon<br />
And to the rest of the world, god gave you the shoes<br />
That fit you, so put em on and wear em<br />
And be yourself man, be proud of who you are<br />
Even if it sounds corny,<br />
Don&#8217;t ever let no one tell you, you ain&#8217;t beautiful</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blog4exchange.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blog4exchange.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blog4exchange.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blog4exchange.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blog4exchange.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blog4exchange.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blog4exchange.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blog4exchange.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blog4exchange.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blog4exchange.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blog4exchange.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blog4exchange.wordpress.com/82/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blog4exchange.wordpress.com/82/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blog4exchange.wordpress.com/82/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=82&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog4exchange.wordpress.com/2009/08/25/eminem-beautiful-nice-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/107d7a01521b40b28c52c6963a282034?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">valleyman9</media:title>
		</media:content>
	</item>
		<item>
		<title>Appearances Can be Deceiving&#8230;</title>
		<link>http://blog4exchange.wordpress.com/2009/08/24/appearances-can-be-deceiving/</link>
		<comments>http://blog4exchange.wordpress.com/2009/08/24/appearances-can-be-deceiving/#comments</comments>
		<pubDate>Mon, 24 Aug 2009 01:47:21 +0000</pubDate>
		<dc:creator>valleyman9</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Appearances Can be Deceiving]]></category>

		<guid isPermaLink="false">http://blog4exchange.wordpress.com/?p=79</guid>
		<description><![CDATA[Hello Everyone, It is said that as human mind matures over period of time, it evolves and acquires capacity to look at things unbiased. But in today&#8217;s over worked-out life style do we tend to judge people/objects impartially ?? do we look at things the way we should ?? Friends I came across this nice [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=79&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello Everyone,</p>
<p>It is said that as human mind matures over period of time, it evolves and acquires capacity to look at things unbiased.</p>
<p>But in today&#8217;s over worked-out life style do we tend to judge people/objects impartially ?? do we look at things the way we should ??</p>
<p>Friends I came across this nice article on How Appearances can be Deceiving..  Thought of sharing with everyone on our blog&#8230;</p>
<p><a href="http://www.personal-development.com/chuck/appearances.htm">Click Here to read actual article</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blog4exchange.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blog4exchange.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blog4exchange.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blog4exchange.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blog4exchange.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blog4exchange.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blog4exchange.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blog4exchange.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blog4exchange.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blog4exchange.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blog4exchange.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blog4exchange.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blog4exchange.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blog4exchange.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=79&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog4exchange.wordpress.com/2009/08/24/appearances-can-be-deceiving/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/107d7a01521b40b28c52c6963a282034?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">valleyman9</media:title>
		</media:content>
	</item>
		<item>
		<title>Something about VPN</title>
		<link>http://blog4exchange.wordpress.com/2009/08/13/something-about-vpn/</link>
		<comments>http://blog4exchange.wordpress.com/2009/08/13/something-about-vpn/#comments</comments>
		<pubDate>Thu, 13 Aug 2009 09:18:33 +0000</pubDate>
		<dc:creator>Chidimaar</dc:creator>
				<category><![CDATA[Networking]]></category>
		<category><![CDATA[VPN]]></category>

		<guid isPermaLink="false">http://blog4exchange.wordpress.com/?p=75</guid>
		<description><![CDATA[A Virtual Private Network or VPN is a service that provides a means for secure and reliable connectivity over a public infrastructure, such as the Internet. VPN’s can be divided into three common types depending on what components are accessing the VPN. Access VPN: An Access VPN is a secure means for remote workers to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=75&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>A Virtual Private Network or VPN is a service that provides a means for secure and reliable connectivity over a public infrastructure, such as the Internet.</p>
<p>VPN’s can be divided into three common types depending on what components are accessing the VPN.</p>
<p><strong>Access VPN:</strong><br />
An Access VPN is a secure means for remote workers to access the corporate network from home or any other remote location. Typically an access VPN comprises of software installed on the clients computer that ‘dials in’ to a VPN end point such as a PIX, authenticates the user and allows them to access parts of the network that have been defined in the VPN configuration. This type of VPN is commonly called a Remote Access VPN.</p>
<p><strong>Extranet VPN:</strong><br />
An Extranet VPN is in essence an Intranet VPN in so much as no software is required to be installed on any remote hosts and the configuration is all done between the two end points. Typically an Extranet VPN is used for connectivity to customer networks and the network access is granted at both ends of the tunnel; usually restricted to certain hosts only.</p>
<p><strong>Intranet VPN:</strong><br />
An Intranet VPN is used between two sites that belong to the same company and is commonly referred to as a site-to-site VPN. Usually it provides full and unrestricted access to the enterprise LAN and acts as seamless extension to the LAN – the end users may very well never know the VPN exists.</p>
<p>This topic will cover Extranet and Intranet VPN’s also known as LAN-To-LAN or Site-To-Site VPN.<br />
Extranet and Intranet VPN’s are configured almost identically, with the only difference being is that an extranet VPN may restrict what hosts can be reached via the VPN. The actual secure channel is setup and configured the same way and uses IKE and IPSec.<br />
<span id="more-75"></span></p>
<p><strong><span style="text-decoration:underline;">Internet Protocol Security (IPSec)</span></strong><br />
IPSec is not in itself a protocol, it is more a combination of other protocols and algorithms bundled together to provide data security at the network layer to address the inherent weaknesses in Internet Protocol.</p>
<p>IPSec uses Internet Key Exchange (IKE) to create a secure channel between two end points, known as a Security Association, before establishing the IPSec part of the VPN tunnel.</p>
<p>The method of establishing the VPN is broke into two phases; IKE Phase one and IKE phase two.</p>
<p><strong><span style="text-decoration:underline;">Internet Key Exchange (IKE)</span></strong><br />
IKE is the abbreviated abbreviation (eh?) for Internet Security Association and Key Management Protocol with Oakley distribution commonly known as ISAKMP (pronounced ice-a-camp). ISAKMP and the Oakley and Skeme key exchange are two different protocols, but are collectively known as IKE.</p>
<p>ISAKMP is defined in RFC 2408 and dictates the format used for the management of IPSec connections, however it does not include any [cryptographic] key management functions , in-other-words it doesn’t say how the keys should be shared with the two peers or how often they should be changed. To address these two limitations we use IKE in conjunction with ISAKMP. For the sake of VPN management the terms IKE and ISAKMP generally refer to the same thing and either can be used, for the rest of this paper I will use the term IKE.</p>
<p>IKE operates over User Datagram Protocol (UDP) on port 500 and is used to negotiate a mutual key exchange to create a secure path between two peers (end points). This secure connection is established in two phases, the first phase is used to establish the IKE Security Association (SA) and the second phase establishes the IPSec SA.</p>
<p>IKE provides the following functions:</p>
<p>Provides anti-replay protection for IPSec communications<br />
Provides a means to define an SA’s life-span<br />
Supports Certification Authorities (CA’s)<br />
Automatically negotiates the parameters for SA’s which reduces the manual configuration involved in setting it all up<br />
Permits the encryption key to be changed dynamically without the need to tear down the IPSec session.<br />
Provides a very flexible approach to setting up IPSec connections</p>
<p>It may seem a bit confusing at first but think of it like this:</p>
<p>Before you set up an IPSec connection with a remote node, we need to know that the remote node we are talking to is in fact the node we want to set up the VPN tunnel with. After we have verified the identity of the remote node we also need to share the cryptographic keys between the two nodes in a secure manner – this is the job of IKE Phase one. After this has been established we need to set up the IPSec part of the connection and the two nodes will use the secure IKE channel setup in phase one to establish the IPSec tunnel.</p>
<p><strong><span style="text-decoration:underline;">IKE Phase One</span></strong><br />
As mentioned IKE comes into play in phase one by setting up an SA between the two IKE peers. If IKE does not first establish an SA in phase one, then the IPSec SA in phase two will never take place.</p>
<p>**A Security Association (SA) is in plain terms a set of rules two end points agree to use and accept for the duration of that particular SA, such as encryption algorithms and hashing algorithms etc. **</p>
<p>During the IKE SA establishment he following must be mutually negotiated between the two end points:</p>
<p>1. Encryption Algorithm.<br />
2. Hash Algorithm.<br />
3. Authentication Method.<br />
4. Diffe-hellmen group.</p>
<p>Once the two end points agree on what they are going to use for all of the above, a bidirectional SA is established which then allows the IPSec SA to take place.</p>
<p>Phase one can be established in one of two modes; Aggressive mode or Main Mode.</p>
<p><span style="text-decoration:underline;">Main Mode</span><br />
Main mode negotiation consist of six message exchanges that mirror each other between the two peers and is used if you are using certificates to authentic remote peers. The message exchange is as follows:</p>
<p>1 – Initiator; negotiates an exchange policy<br />
2 – Responder; negotiates the exchange policy<br />
3 – Initiator; exchanges Diffe-Hellmen public keys and a random value between 8 – 256 bits, called a nonce.<br />
4 &#8211; Responder; exchanges Diffe-Hellmen public keys and a random value between 8 – 256 bits, called a nonce<br />
5 – Initiator; authenticates the Diffe-Hellmen key exchange<br />
6 – Responder; authenticates the Diffe-Hellmen key exchange</p>
<p><span style="text-decoration:underline;">Aggressive Mode</span><br />
Aggressive mode only has three exchanges and is used if you are using Pre-Shared Keys (PSK’s) for authentication. The first two exchanges negotiate the policy to use, exchanges public keys and authenticate the responder. The third message authenticates the initiating peer and is sent in encrypted text after the negotiation has finished.</p>
<p>**<strong>Diffe-Hellmen (DH)</strong> is a public cryptography protocol that two IPSec peers use to come up with a shared secret over an unsecured means such as the Internet, without actually having to send the key to each other. The mathematics behind it are ingenious; each peer will create a public and private key using a DH group, these peers then send their public keys to each other, next the peers run the public key they have just received and their own private key (which has never been shared with the other peer) through the DH algorithm and come up with a fixed length value that will be identical on both hosts. This shared key they will use to encrypt the subsequent key exchange for the SA to be established. **</p>
<p>During this phase one exchange, rather than negotiate each parameter individually, i.e. negotiate 3DES for the encryption standard and then negotiate SHA-1 for the Hash standard etc, the algorithms are grouped in to sets, called transform sets or IKE transform sets to be exact. These transform sets will delineate what standards can be used for encryption, authentication, key length and the mode to be used. Once a common transform set has been mutually agreed upon during the first message exchange the main Mode/Aggressive Modes exchange can continue. If a common transform set cannot be found the tunnel is closed down and the IKE SA will not occur.</p>
<p>For any peer to participate in an IPSec session it is essential for them to first authenticate each other via either main mode or aggressive mode as otherwise IKE phase two cannot start. Hence the need for IKE Phase One.</p>
<p>Which brings us on to the IPSec part of the setup process:</p>
<p><strong><span style="text-decoration:underline;">IKE Phase Two</span></strong><br />
Having successfully authenticated each peer and establishing a secure channel for further communications, IKE Phase One evolves in to Phase Two.</p>
<p>As mentioned phase two can only occur after the IKE SA negotiation has completed. Phase Two’s main purpose is to negotiate mutual policies for non ISAKMP SA’s such as the IPSec SA and to derive the keying material to be used.</p>
<p>Phase Two only has the one mode, called Quick Mode.</p>
<p>Once the secure tunnel has been setup by Phase One, Phase Two negotiates the IPSec parameters to be used such as the various algorithms, Shared Secret keying material etc. It is also used to re-negotiate the new SA once the predetermined life-span of the current IPSec SA has expired.</p>
<p>IPSec has two main protocols, ESP and AH.</p>
<p><strong><em>Encapsulating Security Payload</em></strong><em> – ESP</em><br />
ESP is an extensive protocol that provides anti-replay services, data confidentiality (encryption), data integrity (hashing) and data authentication and is primarily responsible for <em>securely </em>getting the data from the source to the destination in such a way that the destination host will know if the data has been tampered with hence ensuring that your session can not be effectively hijacked.<br />
ESP is versatile enough to be able to encrypt either just the payload of the packet or the entire data packet and can also authenticate the sender of the data either in conjunction with Authentication Header or on its own.</p>
<p><span style="text-decoration:underline;">IPv4 Packet Encrypted with ESP:</span><br />
_________________________________________________________________________<br />
|IP HEADER | ESP HEADER | TCP INFO | DATA | ESP TRAILER | ESP AUTHENTICATION |<br />
&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;` &#8212;&#8212;&#8212; ENCRYPTED BY ESP &#8212;&#8212;&#8212;- &#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;<br />
the ESP Header and all up to and including the ESP Trailer is Authenticated by ESP</p>
<p><strong><em>Authentication Header</em></strong>&#8211; AH<br />
Authentication Header pretty much does as it names suggests, it authenticates the information that is in the IP Header, or in other words it ensures that the data did originate from where it says it does in the header by means or origin authentication. By doing this is provides anti-replay services and prevents your session being hijacked. It may seem similar to ESP but the one glaring difference is that AH does not provide any data encryption, its only purpose is to authenticate the sender.</p>
<p>One major downfall with AH is that it is not compatible with Network Address Translation (NAT). Due to the address translation occurring before the IPSec SA being established, by altering the sending IP address you would cause the AH hash that confirms the sending source to fail.</p>
<p><span style="text-decoration:underline;">IPv4 Packet with AH</span><br />
__________________________________________________________<br />
| IP HEADER | AUTHENTICATION HEADER (AH) | TCP | DATA |<br />
&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;&#8220;<br />
As you can see no encryption takes place, unlike ESP which encrypts the payload of the packet.</p>
<p>ESP and AH can be configured to use different algorithms to encrypt and hash the data.</p>
<p>**An Encryption Algorithm is used to encrypt the data where as a Hash Algorithm is used to provide data integrity**</p>
<p>Following are the most used encryption algorithms:</p>
<p><span style="text-decoration:underline;">Data Encryption Standard (DES):</span><br />
DES is a 56 bit symmetric encryption algorithm. Although it is somewhat outdated now it is included with the PIX for legacy reasons and should not be used if there is another option available. Due to US technology export restrictions it is more commonly used outside the USA.</p>
<p><span style="text-decoration:underline;">Triple Data Encryption Standard (3DES):</span><br />
3DES as it name suggests it three time as strong as DES by way of a 168 bit symmetric cipher which is obtained by encrypting the data three consecutive times using DES. More specifically the data is first encrypted using a 56 bit DES key, then decrypted using another 56 bit DES key and then re-encrypted using yet another 56 bit DES key.</p>
<p><span style="text-decoration:underline;">Advanced Encryption Standard (AES)</span><br />
AES is a symmetric block cipher that encrypts and decrypts the data using cryptographic keys of 128, 192 or 256 bit lengths. The resulting encrypted data is then placed into 128 bit blocks which are combined into cipher block chains.</p>
<p>**Symmetric encryption uses only a single secret key by itself to encrypt and decrypt the data. Asymmetric encryption uses a key pair &#8212; both a public and a private one &#8212; for encryption and is commonly used for Certificates. The sending host uses the receiver&#8217;s public key to encrypt the data and the receiver uses their private key to decrypt it.**</p>
<p><strong><span style="text-decoration:underline;">Message Hashing</span></strong><br />
A hash algorithm simply talks the message, puts is through an algorithm and creates a fixed length Message Digest (MD) from it. This message digest is then put into another algorithm called a digital signature algorithm which in turn generates a signature (or hash) for the message from the message digest, rather than from the actual message, which reduces the processing time of the message. Should the data be altered even slightly it will massively throw out the message digest (which remember is derived from the original data) and as a knock on affect the signature (or hash) will be invalid.</p>
<p>For the hash to be created at the sending station and then understood at the receiving station both stations must be using the same algorithms.</p>
<p>Following are the most used hash algorithms:</p>
<p><span style="text-decoration:underline;">Secure Hash Algorithm 1 (SHA -1)</span><br />
SHA -1 produces 160 bit output and is considered more secure than MD5 for this reason</p>
<p><span style="text-decoration:underline;">Message Digest 5 (MD5)</span><br />
MD5 output is 128 bit. It is considered faster that SHA -1 but less secure.</p>
<p><strong><span style="text-decoration:underline;">IPSec Session</span></strong><br />
Once Phase One and Phase two are established, traffic deemed interesting for the IPSec session will flow through the tunnel in encrypted form. The tunnel is not an ‘always on’ means and will time out after either a predefined time limit is reached or a predefined amount of data has been sent through it.</p>
<p>One of the main weak points with any encrypted service is the amount of data sent in the encrypted form that had been encrypted using the same keysets. The more data that can be collected the easier it may be for the encryption algorithm to become compromised (you only have to look at WEP for a perfect example of this). For this reason the SA’s established will time out either after a predefined amount of time or a predefined amount of data has been sent through the IPSEC tunnel. When the SA times out IKE performs a whole new Phase Two negotiations and if needs be a new Phase One negotiation. This is done before the current SA times out to prevent any interruption in the data flow.</p>
<p>So let’s summarize:</p>
<p>IKE Phase One provides a low level set of security services via policies/standards that are first negotiated and then mutually agreed upon once common ground has been found. Once this secure channel has been established IPSec can use this secure channel to set up the IPSec Security Association (SA) in Phase Two.</p>
<p>**As mentioned earlier without Phase One there would be no way to verify that the end point in use when you set up the IPSec SA is actually the correct end point and that in fact you are not setting up your IPSec tunnel with an attacker of some kind**</p>
<p>IKE Phase Two is where IKE negotiates the IPSec SA’s parameters via the secure link setup in Phase One and sets up the IPSec ‘tunnel’ between the two peers. This established IPSec SA is what then protects all the resulting traffic that flows between the tunnel end points. IPSec uses IPSec transform sets in the same way IKE uses IKE transform sets. Again just like IKE, if no common transform set can be agreed upon the connection is torn down and the IPSec VPN fails.</p>
<p>Most VPN gateways/end-points support three methods of IPSec peer authentication:</p>
<p><strong>RSA Signatures (Certificates)</strong> &#8211; This is considered the preferred method of authentication as it uses digital certificates that are authenticated by an RAS Signature.<br />
<strong>Pre-shared Keys</strong> – As the name suggests these are manually configured case sensitive keys that must exactly match on both peers.<br />
<strong>RSA Encrypted Nonce’s</strong> &#8211; Cisco appliances can use RSA (Rivest Shamir Adleman) encryption to encrypt a random number (a nonce) that is generated by the peer along with other pre configured values. The PIX does not support this type of authentication at this moment in time.</p>
<p><strong>Certificates and Certification Authorities (CA)</strong><br />
Certificate authorities manage certificate requests, issue the requested certificates once approved and publish Certificate Revocation Lists (CRL’s). IKE understands X.509v3 certificates that require public keys.</p>
<p>A digital certificate has a public key, which is available publically, and is used for the automatic authentication of servers and/or users. The connecting node needs to trust the root CA that issued the certificate for it to accept it. By default the connecting node also needs access to the CRL to check if the certificate has been revoked by the root CA. Some third party CA’s are already trusted for web browsers etc but the PIX will only trust the following third party CA’s:</p>
<p>VeriSign<br />
Microsoft Corporation<br />
Baltimore Technologies<br />
Entrust Corporation</p>
<p>Certificates replace the need for pre-shared keys as they already have a public and private keys as part of the frame work of the certificate.<br />
For certificates to work on the PIX there are four steps to take:<br />
Generate an RSA Key pair</p>
<p>Obtain the CA’s certificate which will have the public key<br />
Using the generated key and the public key obtained by the CA the firewall will then request a signed certificate from the CA<br />
The CA then verifies the request and offers the signed certificate to be published (depending on how the CA is configured this sometimes requires an administrator to manually approve the request)</p>
<p><strong>Pre-Shared Keys</strong><br />
Pre-Shared Keys (PSK) are usually used if you only have a few firewalls to configure and you control all of the firewalls in the VPN configuration, as when you change a PSK on one firewall obviously you will need to change it on the other. PSK’s offer the quickest and easiest way to configure a VPN. A PSK can be up to 128 bytes long and uses alphanumeric characters ( A-Z and 0-9)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blog4exchange.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blog4exchange.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blog4exchange.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blog4exchange.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blog4exchange.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blog4exchange.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blog4exchange.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blog4exchange.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blog4exchange.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blog4exchange.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blog4exchange.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blog4exchange.wordpress.com/75/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blog4exchange.wordpress.com/75/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blog4exchange.wordpress.com/75/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=75&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog4exchange.wordpress.com/2009/08/13/something-about-vpn/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d5d66160a4c1578f7e026f795555bc20?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">Chidimaar</media:title>
		</media:content>
	</item>
		<item>
		<title>Silverlight</title>
		<link>http://blog4exchange.wordpress.com/2009/08/04/silverlight/</link>
		<comments>http://blog4exchange.wordpress.com/2009/08/04/silverlight/#comments</comments>
		<pubDate>Tue, 04 Aug 2009 13:34:33 +0000</pubDate>
		<dc:creator>justmanu</dc:creator>
				<category><![CDATA[DotNet]]></category>
		<category><![CDATA[Silverlight]]></category>

		<guid isPermaLink="false">http://blog4exchange.wordpress.com/?p=67</guid>
		<description><![CDATA[Introducing Silverlight What&#8217;s New in the .NET Framework As of the writing of this course, version 3.5 of the .NET Framework has been released. Version 3.5 includes features that encompass all facets of Windows, Web, and network development: Includes just under 10,000 classes, methods, and properties. Complies with the latest Web development standards. Introduces revolutionary [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=67&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h1>Introducing Silverlight</h1>
<h2 id="h2.1">What&#8217;s New in the .NET Framework</h2>
<p>As of the writing of this course, version 3.5 of the .NET Framework has been released. Version 3.5 includes features that encompass all facets of Windows, Web, and network development:</p>
<ul>
<li>Includes just under 10,000 classes, methods, and properties.</li>
<li>Complies with the latest Web development standards.</li>
<li>Introduces revolutionary technologies used in Windows Vista development, rich media and user experiences, workflow management, security and authorization, and complete distributed communication protocols.</li>
<p><span id="more-67"></span>
</ul>
<p>The .NET Framework can also be fully extended by developers to create custom classes and types. The functionality of the .NET Framework spans the server, the workstation, and the Web. The four primary additions to the .NET Framework as of version 3.0 are:</p>
<ol>
<li>Windows Presentation Foundation (WPF)</li>
<li>Windows Communication Foundation (WCF)</li>
<li>Windows Workflow Foundation (WF)</li>
<li>CardSpace</li>
</ol>
<h3 id="h3.3">Windows Presentation Foundation (WPF)</h3>
<p>WPF is used to develop elaborate user interfaces like those that adorn Windows Vista and managed advanced media streaming and integration. WPF is the a complete revamp of Windows Forms so that user interface, graphic, and media development is now designed around the .NET Framework.</p>
<h3 id="h3.4">Windows Communication Foundation (WCF)</h3>
<p>WCF encompasses the ASP.NET Web Services and .NET remoting functionality that was contained in the .NET Framework 2.0 as well as new communication technologies.</p>
<h3 id="h3.5">Windows Workflow Foundation (WF)</h3>
<p>WF is used to model complex workflow processes.</p>
<h3 id="h3.6">CardSpace</h3>
<p>CardSpace is the embodiment of new security and user authorization functionality.</p>
<h2 id="h2.3">Silverlight Architecture</h2>
<p>Unlike ASP.NET, the bulk of Silverlight processing occurs on the client machine thus decreasing server resource utilization and improving the Web experience on the client. The figure below shows the difference between ASP.NET processing and Silverlight processing: <img class="BlockImage" src="http://www.learn-silverlight-tutorial.com/Images/WISASPNETCompare.gif" alt="" /></p>
<p>When a client initially attempts to run a Silverlight application, if the Silverlight plug-in has not been installed on the client machine, it will be downloaded and installed. Upon subsequent requests to run the application, the application will instantiate on the client machine and make requests for resources from the server only when necessary. The Silverlight plug-in can be thought of as a scaled-down version of the full .NET Framework. It only contains those classes and functionality that are applicable to a Silverlight Web client and those were streamlined and optimized for use on the Web client machine.</p>
<p>Silverlight was designed using the same design paradigm as ASP.NET. Each page of a Silverlight application includes an associated code behind file that includes the code that handles events fired by the page. Silverlight resembles WPF in that it uses Extensible Application Markup Language (XAML) to construct the user interface (presentation layer). As Silverlight applications are composed of text-based files that include markup and code, they can be created using any text editor; however, more advanced tools and development environments such as Visual Studio or Expression Blend simplify the task significantly.</p>
<h2 id="h2.4">Silverlight Technologies</h2>
<p>Version 1.0 of Silverlight used JavaScript and supported the industry-leading Windows Media Services enabling delivery of audio and video that includes 2D and vector graphics.</p>
<p>Version 2 includes all features of version 1.0 and:</p>
<ul>
<li>support for the .NET Framework.</li>
<li>support for .NET-compliant programming languages such as C#, Visual Basic, Python, and Ruby.</li>
<li>support for database operations and language-integrated query (LINQ).</li>
</ul>
<p>The figure below illustrates the major differences between version 1.0 and version 2:  <img class="BlockImage" src="http://www.learn-silverlight-tutorial.com/Images/WISArchitecture.gif" alt="" /></p>
<h2 id="h2.6">Supported Platforms</h2>
<p>Silverlight can be installed on Windows and Macintosh machines. Silverlight applications run within the confines of a plug-in. There are many benefits to using a plug-in with the primary benefit being consistency across implementations. A plug-in application can provide a consistent result in every instance where it is supported. Other plug-in solutions, such as Adobe Flash, have become popular due to consistency across implementations. For instance, a plug-in application should deliver a consistent result regardless of whether it is displayed using Internet Explorer on Windows or Safari on a Macintosh.</p>
<p>Silverlight 2 is currently supported on the platforms discussed below.</p>
<table style="height:149px;" border="0" width="395">
<caption> Platforms that Support Silverlight 2 </caption>
<thead>
<tr>
<th>Operating System</th>
<th>Browser</th>
</tr>
</thead>
<tbody>
<tr>
<td>
<ul>
<li>Windows Vista</li>
<li>Windows XP SP2</li>
<li>Windows 2000</li>
<li>Windows Server 2003</li>
</ul>
</td>
<td>
<ul>
<li>Internet Explorer 7+</li>
<li>Firefox 1.5+</li>
<li>Google Chrome</li>
</ul>
</td>
</tr>
<tr>
<td>
<ul>
<li>Macintosh OS 10.4.8+ (Intel Based)</li>
</ul>
</td>
<td>
<ul>
<li>Safari</li>
<li>Firefox 1.5+</li>
</ul>
</td>
</tr>
</tbody>
</table>
<h3 id="h3.7">Linux</h3>
<p>Many developers are unaware that a version of the .NET Framework exists for the Linux operating system. Linux is an open source operating system that is supported heavily in the online community. The version of the .NET Framework that supports Linux is named the Mono project and was also developed by the open source community. The developers of the Mono project keep the project close to in sync with the .NET Framework when updates are released by Microsoft and created an initial, limited version of Silverlight (called &#8220;Moonlight&#8221;) that supports Linux in approximately <span>21 days!</span> You can get up to date information on this project at <a href="http://www.mono-project.com/Moonlight">http://www.mono-project.com/Moonlight</a>.</p>
<h2 id="h2.7">Future Platforms</h2>
<p>The Silverlight plug-in renders graphics and multimedia using a vector-based graphics engine. Vector graphics can easily be scaled from very small displays to very large displays of varying resolutions with virtually no loss of image quality. Silverlight on a Windows Mobile device will accommodate delivering live, streaming, high quality video to smart phones and similar devices. The goal is to enable developers to deliver rich interactive applications (RIA) to any type of device.</p>
<p>Microsoft has announced support for Silverlight on mobile devices with a limited initial support for Windows Mobile and the Nokia S60 models. You can learn more about this future support at <a href="http://www.microsoft.com/silverlight/overview/mobile.aspx">http://www.microsoft.com/silverlight/overview/mobile.aspx</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blog4exchange.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blog4exchange.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blog4exchange.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blog4exchange.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blog4exchange.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blog4exchange.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blog4exchange.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blog4exchange.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blog4exchange.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blog4exchange.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blog4exchange.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blog4exchange.wordpress.com/67/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blog4exchange.wordpress.com/67/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blog4exchange.wordpress.com/67/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=67&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog4exchange.wordpress.com/2009/08/04/silverlight/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a669be884586a9343286d405faabf56d?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">justmanu</media:title>
		</media:content>

		<media:content url="http://www.learn-silverlight-tutorial.com/Images/WISASPNETCompare.gif" medium="image" />

		<media:content url="http://www.learn-silverlight-tutorial.com/Images/WISArchitecture.gif" medium="image" />
	</item>
		<item>
		<title>SMS, iPhone, Android Under Attack at Black Hat</title>
		<link>http://blog4exchange.wordpress.com/2009/07/31/sms-iphone-android-under-attack-at-black-hat/</link>
		<comments>http://blog4exchange.wordpress.com/2009/07/31/sms-iphone-android-under-attack-at-black-hat/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 09:22:07 +0000</pubDate>
		<dc:creator>valleyman9</dc:creator>
				<category><![CDATA[Apps & OS]]></category>
		<category><![CDATA[mobiles under attack at Black hat]]></category>

		<guid isPermaLink="false">http://blog4exchange.wordpress.com/?p=64</guid>
		<description><![CDATA[Hello guys, I came across this very interesting article on Black Hat security conference. People talk on various security topics at this conference. In this particular news they have talked about security holes in mobile phones and they mentioned that even single sms can be used to hack a mobile phone. Click here to read [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=64&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Hello guys,</p>
<p>I came across this very interesting article on Black Hat security conference. People talk on various security topics at this conference. In this particular news they have talked about security holes in mobile phones and they mentioned that even single sms can be used to hack a mobile phone.</p>
<p><a href="http://www.internetnews.com/security/article.php/3832661/SMS+iPhone+Android+Under+Attack+at+Black+Hat.htm">Click here to read complete article</a> Guys do read it. It is just a single page article. <img src='http://s2.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Cheers! have good weekend</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/blog4exchange.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/blog4exchange.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/blog4exchange.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/blog4exchange.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/blog4exchange.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/blog4exchange.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/blog4exchange.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/blog4exchange.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/blog4exchange.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/blog4exchange.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/blog4exchange.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/blog4exchange.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/blog4exchange.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/blog4exchange.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=blog4exchange.wordpress.com&amp;blog=8457957&amp;post=64&amp;subd=blog4exchange&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://blog4exchange.wordpress.com/2009/07/31/sms-iphone-android-under-attack-at-black-hat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/107d7a01521b40b28c52c6963a282034?s=96&#38;d=monsterid&#38;r=G" medium="image">
			<media:title type="html">valleyman9</media:title>
		</media:content>
	</item>
	</channel>
</rss>
