<?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>Omar's Teck Blog</title>
	<atom:link href="http://oalbadri.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://oalbadri.wordpress.com</link>
	<description>"I consider myself the John Holmes of Programmers!"</description>
	<lastBuildDate>Tue, 06 May 2008 20:42:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='oalbadri.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Omar's Teck Blog</title>
		<link>http://oalbadri.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://oalbadri.wordpress.com/osd.xml" title="Omar&#039;s Teck Blog" />
	<atom:link rel='hub' href='http://oalbadri.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Blog post has moved</title>
		<link>http://oalbadri.wordpress.com/2008/05/06/blog-post-has-moved/</link>
		<comments>http://oalbadri.wordpress.com/2008/05/06/blog-post-has-moved/#comments</comments>
		<pubDate>Tue, 06 May 2008 20:42:48 +0000</pubDate>
		<dc:creator>oalbad</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://oalbadri.wordpress.com/?p=48</guid>
		<description><![CDATA[Please see my new blog at:   http://oateck.com<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oalbadri.wordpress.com&amp;blog=2358857&amp;post=48&amp;subd=oalbadri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Please see my new blog at:</p>
<p> </p>
<p><a href="http://oateck.com">http://oateck.com</a></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oalbadri.wordpress.com/48/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oalbadri.wordpress.com/48/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oalbadri.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oalbadri.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oalbadri.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oalbadri.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oalbadri.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oalbadri.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oalbadri.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oalbadri.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oalbadri.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oalbadri.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oalbadri.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oalbadri.wordpress.com/48/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oalbadri.wordpress.com/48/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oalbadri.wordpress.com/48/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oalbadri.wordpress.com&amp;blog=2358857&amp;post=48&amp;subd=oalbadri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oalbadri.wordpress.com/2008/05/06/blog-post-has-moved/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bc48d7f0b436d1f689c2ff06aaf056c2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">oalbad</media:title>
		</media:content>
	</item>
		<item>
		<title>Multi-Threading Kernel for Data Integration</title>
		<link>http://oalbadri.wordpress.com/2007/12/22/multi-threading-kernel-for-data-integration/</link>
		<comments>http://oalbadri.wordpress.com/2007/12/22/multi-threading-kernel-for-data-integration/#comments</comments>
		<pubDate>Sat, 22 Dec 2007 03:59:49 +0000</pubDate>
		<dc:creator>oalbad</dc:creator>
				<category><![CDATA[Asp.net]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[World Wide Web]]></category>

		<guid isPermaLink="false">http://oalbadri.wordpress.com/2007/12/22/multi-threading-kernel-for-data-integration/</guid>
		<description><![CDATA[Data integration:The final frontier. If anyone has worked for a ecommerce company or a company that develops ecommerce system for a brick and mortar site, the question always arrises: Who will be the Master of Inventory(MOI)? Ideally you would want the web site to control the inventory that way when you are &#8220;out of stock&#8221; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oalbadri.wordpress.com&amp;blog=2358857&amp;post=39&amp;subd=oalbadri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><strong><a href="http://oalbadri.files.wordpress.com/2007/12/kernel1.jpg" title="kernel1.jpg"></a><a href="http://oalbadri.files.wordpress.com/2007/12/thread-prop.jpg" title="thread-prop.jpg"></a><a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"></a><a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"></a><a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"></a><a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"></a><a href="http://oalbadri.files.wordpress.com/2007/12/sitting.jpg" title="sitting.jpg"><img src="http://oalbadri.files.wordpress.com/2007/12/sitting.thumbnail.jpg?w=700" alt="sitting.jpg" /></a>Data integration:The final frontier.</strong></p>
<p>If anyone has worked for a ecommerce company or a company that develops ecommerce system for a brick and mortar site, the question always arrises: Who will be the Master of Inventory(MOI)? Ideally you would want the web site to control the inventory that way when you are &#8220;out of stock&#8221; the web site will be updated automatically and online users won&#8217;t get disappointed by ordering a out of stock item.</p>
<p>The problem arises when the Brick and Mortar(B&amp;M) site does want the website to be the MOI. Usually the reason being that the floor still generates most of the sales and they already have a inventory control system in place and do not want to change it. Your options are :</p>
<p>1) Create a outbound xm<a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"></a>l channel to your database that updates the inventory periodacally. Problem: expensize as you would need a Biztalk server or something of the sort and complex as you will have to define and map the outbound and inbound structure<br />
2) Have the admin mannually update the products in stock.Problem: Inpractacall even if you created a upload page the  user would have to spend hours a day entering and verifing the data.<br />
3) Create a multithreading kernel that polls a location and imports the data based on the MOI export file.</p>
<p>Most Inventory control systems have a export functionality, wither it is in XML or some propietary system, which you can use. You simply need to create a kernal that will poll a export location and pull in the data as soon as the Inventory control system spits it out.</p>
<p>Here the outline of what we want to accomplish:<br />
1. Multi-Threading<br />
2. Live feed back<br />
3. A Folder location where the export file will be continously polled.</p>
<p><strong><u>Program<br />
</u></strong>Start by opening Visual studio and create a Windows application in C#.</p>
<p>Lets start by adding the basic elements that will contrust our kernel:</p>
<p>1. Add a Start and Stop button and a browse button<br />
2. Add a text box of the File Directory to be inserted<br />
3. Add a Multiline TextBox that will display your messages<br />
4. Drop a OpenFileDialog Control<br />
5. Drop a Worker thread</p>
<p>Your form should look something like this</p>
<p><a href="http://oalbadri.files.wordpress.com/2007/12/kernel1.jpg" title="kernel1.jpg"><img src="http://oalbadri.files.wordpress.com/2007/12/kernel1.jpg?w=700" alt="kernel1.jpg" /></a></p>
<p><strong><u>Coding</u></strong></p>
<p>Double click the browse button and use the OpenFiledialog control which I named <u>fbd</u> to show and grab a file location. This will be the location were we will poll for a export file.</p>
<p><em>Sample Code<br />
<font size="2"></font></em><font size="2"><em>{<br />
fbd.ShowDialog();<br />
txtFolderLocation.Text = fbd.SelectedPath;<br />
}<br />
</em></font><font size="2"> Next we will look at the start and stop button</font><font size="2">Thinking about what we want to do: First the <u>Start </u>and <u>Stop</u><strong> </strong>button we be associated with the ThreadWorker component that previously dropped on the form. Second we want to report all messages to the large Text box<em>.<br />
</em></font><font size="2"><strong><em>Coding:</em></strong><strong><em>Lets look a the properties of the Thread are:<br />
</em><a href="http://oalbadri.files.wordpress.com/2007/12/kernel1.jpg" title="kernel1.jpg"></a><a href="http://oalbadri.files.wordpress.com/2007/12/thread-prop.jpg" title="thread-prop.jpg"></a><em><img src="http://oalbadri.files.wordpress.com/2007/12/thread-prop.jpg?w=700" alt="thread-prop.jpg" /></em></strong></font><font size="2"><strong><em><strong><em>The only property that we are conserned with is the WorkerSupportsCancellation. We want to be able to stop the Thread gracefully, so this property needs to be set to true.Now lets look at the events of the Thread:</em><a href="http://oalbadri.files.wordpress.com/2007/12/kernel1.jpg" title="kernel1.jpg"></a><a href="http://oalbadri.files.wordpress.com/2007/12/thread-prop.jpg" title="thread-prop.jpg"></a><em><img src="http://oalbadri.files.wordpress.com/2007/12/thread-events.jpg?w=700" alt="thread-events.jpg" /><br />
</em></strong></em></strong></font><font size="2"><strong><em><font size="2"><strong></strong><em>The only two things we are concerned win are the DoWork and the RunWorkerCompleted Event. The DoWork is is the function that is going to be called when you start the thread and RunWorkedCompleted is the event called when you push the stop button. Double click on these event to create the Events.</em></font><font size="2"><strong><em>DoWork</em></strong></font><font size="2"><em> </em>The function of this event is to poll the folder selected previously the code is simple:</font><font size="2"><strong>Code:<br />
<font size="2" color="#0000ff">private</font><font size="2"> </font><font size="2" color="#0000ff">void</font><font size="2"> thread1_DoWork(</font><font size="2" color="#0000ff">object</font><font size="2"> sender, </font><font size="2" color="#2b91af">DoWorkEventArgs</font><font size="2"> e)<br />
{<br />
</font></strong><font size="2" color="#0000ff">while</font><font size="2"> (!thread1.CancellationPending)<br />
</font><font size="2">{<br />
</font><font size="2" color="#0000ff">if</font><font size="2"> (</font><font size="2" color="#2b91af">File</font><font size="2">.Exists(path))<br />
{<br />
//do something with the file<br />
}<br />
}<br />
The only think to notice is that we are looping on the thread1.CancellationPending not being set to true. This allows us to Stop the thread by pressing the stop button.</font></font></em></strong></font><font size="2"><strong><em><font size="2">When the Stop button is pressed the<br />
</font><font size="2"><font size="2" color="#0000ff">private</font><font size="2"> </font><font size="2" color="#0000ff">void</font><font size="2"> thread1_RunWorkerCompleted(</font><font size="2" color="#0000ff">object</font><font size="2"> sender, </font><font size="2" color="#2b91af">RunWorkerCompletedEventArgs</font><font size="2"> e)<br />
{}<br />
</font></font><font size="2">is called. Use this function to do any clean up code and ideally write the log file.</font><font size="2">Next we will code the <u>Start</u> and <u>Stop </u>Buttons:</font><font size="2"><strong>Code:Start</strong></font><font size="2">The code for the start button is pretty simple. Basically we would like to disable the start button enable the stop button and call the thres to start</font><font size="2"> </font><font size="2"><strong>Code:</strong></font><font size="2"> <font size="2"><font size="2"><font size="2" color="#0000ff">private</font><font size="2"> </font><font size="2" color="#0000ff">void</font><font size="2"> btnStart_Click(</font><font size="2" color="#0000ff">object</font><font size="2"> sender, </font><font size="2" color="#008080">EventArgs</font><font size="2"> e)<br />
{<br />
</font>b<font size="2">tnStart.Enabled = </font><font size="2" color="#0000ff">false</font><font size="2">;<br />
btnStop.Enabled = </font><font size="2" color="#0000ff">true</font><font size="2">;<br />
thread1.RunWorkerAsync();<br />
}</font></font></font><font size="2"><font size="2"><br />
</font><font size="2">Now your DoWork event will fire.</font></font><font size="2"><font size="2"></font></font><font size="2"><strong><u>Writing messages to the text box</u></strong></font><font size="2"><u><br />
</u>If you call the TextBox&#8217;s .Text property to send messages you will get the following error:<br />
<em>Cross-thread operation not valid: Control &#8220;txtOutInfo&#8221; accessed from a thread other than the thread it was created on.<br />
</em></font></font><font size="2">In order to acess the textbpx Text Propety you need to use a delegate</font><font size="2"><strong>Code:</strong></font><font size="2"><strong> <font size="2"></font><font size="2" color="#0000ff">private</font><font size="2"> </font><font size="2" color="#0000ff">void</font><font size="2"> SetText(</font><font size="2" color="#0000ff">string</font><font size="2"> text)<br />
{<br />
</font><font size="2"><font size="2"></font><font size="2" color="#0000ff">if</font><font size="2"> (</font><font size="2" color="#0000ff">this</font><font size="2">.OutInfo.InvokeRequired)<br />
{<br />
<font size="2" color="#008000">// InvokeRequired required compares the thread ID of the</font><font size="2" color="#008000"> calling thread to the thread ID of the creating thread. If these threads are different, it returns true.</font></font></font></strong><strong><font size="2"></font><font size="2" color="#008080">  SetTextCallback</font><font size="2"> stc =<br />
</font></strong></font><font size="2"><strong><font size="2"> </font><font size="2" color="#0000ff">new</font><font size="2"> </font><font size="2" color="#008080">SetTextCallback</font><font size="2">(SetText);</font><font size="2"><font size="2" color="#0000ff">   this</font><font size="2">.Invoke(d, </font><font size="2" color="#0000ff">new</font><font size="2"> </font><font size="2" color="#0000ff">object[</font><font size="2">] text });}<br />
</font></font><font size="2" color="#0000ff">else<br />
</font><font size="2">{<br />
</font><font size="2" color="#0000ff">   this</font><font size="2">.txtOutInfo.Text += text;<br />
</font><font size="2" color="#0000ff">   this</font><font size="2">.txtOutInfo.SelectionStart = OutInfo.Text.Length;<br />
   OutInfo.ScrollToCaret();<br />
}<br />
</font><font size="2">}<br />
</font><font size="2">And you now have messages:<br />
<a href="http://oalbadri.files.wordpress.com/2007/12/kernel1.jpg" title="kernel1.jpg"></a><a href="http://oalbadri.files.wordpress.com/2007/12/thread-prop.jpg" title="thread-prop.jpg"></a><a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"></a><a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"></a><a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"></a><a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"><img src="http://oalbadri.files.wordpress.com/2007/12/final.jpg?w=700" alt="Final Program" /></a></font></strong></font><font size="2"><strong><font size="2"><a href="http://oalbadri.files.wordpress.com/2007/12/kernel1.jpg" title="kernel1.jpg"></a><a href="http://oalbadri.files.wordpress.com/2007/12/thread-prop.jpg" title="thread-prop.jpg"></a><a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"></a><a href="http://oalbadri.files.wordpress.com/2007/12/final.jpg" title="Final Program"></a></font></strong></font><font size="2"><strong><font size="2"> </font></strong></font><font size="2"><strong><font size="2">Now that you set up your Kernel you can data migrate.</font></strong></font><font size="2"><strong><font size="2">O.</font></strong></font></p>
<p></em></strong></font></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oalbadri.wordpress.com/39/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oalbadri.wordpress.com/39/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oalbadri.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oalbadri.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oalbadri.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oalbadri.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oalbadri.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oalbadri.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oalbadri.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oalbadri.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oalbadri.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oalbadri.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oalbadri.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oalbadri.wordpress.com/39/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oalbadri.wordpress.com/39/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oalbadri.wordpress.com/39/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oalbadri.wordpress.com&amp;blog=2358857&amp;post=39&amp;subd=oalbadri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oalbadri.wordpress.com/2007/12/22/multi-threading-kernel-for-data-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bc48d7f0b436d1f689c2ff06aaf056c2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">oalbad</media:title>
		</media:content>

		<media:content url="http://oalbadri.files.wordpress.com/2007/12/sitting.thumbnail.jpg" medium="image">
			<media:title type="html">sitting.jpg</media:title>
		</media:content>

		<media:content url="http://oalbadri.files.wordpress.com/2007/12/kernel1.jpg" medium="image">
			<media:title type="html">kernel1.jpg</media:title>
		</media:content>

		<media:content url="http://oalbadri.files.wordpress.com/2007/12/thread-prop.jpg" medium="image">
			<media:title type="html">thread-prop.jpg</media:title>
		</media:content>

		<media:content url="http://oalbadri.files.wordpress.com/2007/12/thread-events.jpg" medium="image">
			<media:title type="html">thread-events.jpg</media:title>
		</media:content>

		<media:content url="http://oalbadri.files.wordpress.com/2007/12/final.jpg" medium="image">
			<media:title type="html">Final Program</media:title>
		</media:content>
	</item>
		<item>
		<title></title>
		<link>http://oalbadri.wordpress.com/2007/12/20/38/</link>
		<comments>http://oalbadri.wordpress.com/2007/12/20/38/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 01:10:55 +0000</pubDate>
		<dc:creator>oalbad</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://oalbadri.wordpress.com/2007/12/20/38/</guid>
		<description><![CDATA[Hello, Here is my new blog. I started this blog for one reason. To help other programmers and to pass on my knowledge to the world. My goals with this blog is to show how to do programming for real life situations that arise in the real world. I see a lot of post of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oalbadri.wordpress.com&amp;blog=2358857&amp;post=38&amp;subd=oalbadri&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://oalbadri.wordpress.com/2007/12/20/38/me/" rel="attachment wp-att-37" title="ME"><img src="http://oalbadri.files.wordpress.com/2007/12/l_5eede6b36b0f09d4306e895a97a6cdbf.thumbnail.jpg?w=700" alt="ME" /></a></p>
<p>Hello,</p>
<p>Here is my new blog. I started this blog for one reason. To help other programmers and to pass on my knowledge to the world. My goals with this blog is to show how to do programming for real life situations that arise in the real world. I see a lot of post of theoretical issues and a lot of one line answers.  I will attempt to post full solutions to real life problems that web programmers and web companies face.</p>
<p>Feel free to email me or comment on my code.</p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/oalbadri.wordpress.com/38/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/oalbadri.wordpress.com/38/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/oalbadri.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/oalbadri.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/oalbadri.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/oalbadri.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/oalbadri.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/oalbadri.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/oalbadri.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/oalbadri.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/oalbadri.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/oalbadri.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/oalbadri.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/oalbadri.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/oalbadri.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/oalbadri.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=oalbadri.wordpress.com&amp;blog=2358857&amp;post=38&amp;subd=oalbadri&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://oalbadri.wordpress.com/2007/12/20/38/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/bc48d7f0b436d1f689c2ff06aaf056c2?s=96&#38;d=identicon" medium="image">
			<media:title type="html">oalbad</media:title>
		</media:content>

		<media:content url="http://oalbadri.files.wordpress.com/2007/12/l_5eede6b36b0f09d4306e895a97a6cdbf.thumbnail.jpg" medium="image">
			<media:title type="html">ME</media:title>
		</media:content>
	</item>
	</channel>
</rss>
