<?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"
	>

<channel>
	<title>Thoughts.exe</title>
	<atom:link href="http://www.abitsmart.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://abitsmart.com</link>
	<description>"Be the change you want to see in the world." - The Great Mahatma Gandhi</description>
	<pubDate>Tue, 02 Feb 2010 07:11:17 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Validating an Australian drivers license number using Regex</title>
		<link>http://abitsmart.com/2010/02/validating-an-australian-drivers-license-number-using-regex/</link>
		<comments>http://abitsmart.com/2010/02/validating-an-australian-drivers-license-number-using-regex/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 07:08:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[License number validation]]></category>

		<category><![CDATA[Regex validation]]></category>

		<category><![CDATA[Regex validation for license number]]></category>

		<guid isPermaLink="false">http://abitsmart.com/?p=303</guid>
		<description><![CDATA[The following code snippet demonstrates validation of an Australian drivers license using Regex.
Here are the rules for the license number format,
1. Max length 9 characters
2. Alphanumeric characters only
3. Must have at least 4 numeric characters
4. Must have no more than 2 alphabetic characters
5. The third and fourth character must be numeric
This is the Regex way [...]]]></description>
			<content:encoded><![CDATA[<p>The following code snippet demonstrates validation of an Australian drivers license using Regex.</p>
<p><span id="more-303"></span>Here are the rules for the license number format,</p>
<p>1. Max length 9 characters</p>
<p>2. Alphanumeric characters only</p>
<p>3. Must have at least 4 numeric characters</p>
<p>4. Must have no more than 2 alphabetic characters</p>
<p>5. The third and fourth character must be numeric</p>
<p>This is the Regex way to validate this,</p>
<pre>

public bool ValidateLicenseNumber(string licenseNumber)

{

bool result = false;

result =

Regex.IsMatch(licenseNumber, @"^[A-Za-z0-9]{4,9}$") // Rule 1 and 2

&amp;&amp; Regex.IsMatch(licenseNumber, "^..[0-9]{2}") // rule 5

&amp;&amp; Regex.IsMatch(licenseNumber, "(.*[0-9]){4}") // Rule 3

&amp;&amp; !Regex.IsMatch(licenseNumber, "(.*[A-Za-z]){3}"); // Rule 4

return result;

}
</pre>
<p>Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://abitsmart.com/2010/02/validating-an-australian-drivers-license-number-using-regex/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VirtualWiFi - The Basics</title>
		<link>http://abitsmart.com/2009/12/virtualwifi-the-basics/</link>
		<comments>http://abitsmart.com/2009/12/virtualwifi-the-basics/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 12:34:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Technology]]></category>

		<category><![CDATA[Windows 7 VirtualWiFi]]></category>

		<category><![CDATA[Windows 7 VirtualWiFi Basics]]></category>

		<guid isPermaLink="false">http://abitsmart.com/?p=278</guid>
		<description><![CDATA[In basic terms, VirtualWiFi in Windows 7 is nothing but, connecting to multiple IEEE 802.11 networks using one WiFi card.
VirtualWiFi is a project Microsoft have been working on from 2002. Not being worked on now, not event supported by Microsoft research. They have provided VirtualWiFi OID support in Windows 7.

Previously VirtualWiFi was known as MultiNet. [...]]]></description>
			<content:encoded><![CDATA[<p>In basic terms, VirtualWiFi in Windows 7 is nothing but, connecting to multiple IEEE 802.11 networks using one WiFi card.</p>
<p>VirtualWiFi is a project Microsoft have been working on from 2002. Not being worked on now, not event supported by Microsoft research. They have provided VirtualWiFi OID support in Windows 7.<br />
<span id="more-278"></span><br />
Previously VirtualWiFi was known as MultiNet. VirtualWiFi is a wireless LAN (WLAN) card virtualization architecture i.e., single WLAN card is made to appear as multiple virtual WLAN cards, isn&#8217;t that cool? What exactly does that mean? Each of the virtual WLAN card can be configure to connect to different wireless networks. Using VirtualWiFi feature, you can connect your machine to multiple wireless networks simultaneously and that too using just one WLAN card. Yes, believe it. This feature has bought into possibility different applications which were otherwise with a single WLAN card into possibility. Some of the sample applications which are now very close to reality are,</p>
<ul>
<li>Using VirtualWiFi, you can play your games over a network and surf the web using a different network</li>
<li>VirtualWiFi can allow you to connect only a single node of a multiple node network to the internet</li>
<li>Your home network can be extended by increasing it&#8217;s access to node out of the range of the wireless access point</li>
<li>Tools for fault diagnosis and recovery of Wireless networks are possible. One such tool Microsoft worked on is called Client Conduit. The basic theory is to create an ad hoc network of disconnected nodes to exchange diagnostic information. This communication is achieved by using VirtualWiFi on the connected clients. The connected clients connect to the disconnected clients over an ad hoc network created, and relay relay diagnostic information back to the backup servers. A note to make here is, the communication of connected and disconnected clients is done over an ad hoc network which means, the connected client does not need to disconnect from it&#8217;s own network.</li>
<li>Another application of VirtualWiFi is increasing capacity of wireless ad hoc networks. Using orthogonal channels to do this, this technique is called &#8220;Slotted Seeded Channel Hopping&#8221; (SSCH). SSCH uses virtualizes a WLAN card with a number of instances as the number of orthogonal channels present. Each of the virtual WLAN cards are then connected on a different orthogonal channel.</li>
<li>Microsoft also worked on another application using Virtual WiFI named &#8220;WiFiProfiler&#8221;. WiFiProfiler was aimed to diagnose wireless problems. Basically, the connected and disconnected clients exchange information and data plane. The configuration information exchanged on the information plane is used to diagnose the problem.</li>
</ul>
<p>VirtualWiFi was used in the Mesh Networking project.  I will be discussing about Mesh Networks ahead.</p>
<p><strong>Wireless Mesh Networks</strong> -</p>
<p>Wireless Mesh network is a wireless technology that would allow neighbors to connect their networks together. The advantages of such connectivity is, forming something called as a &#8216;community mesh network&#8217;. When a number of neighbors cooperate to form such a network and forward each others packets, each of them do not need to individually have an gateway. Instead they all can share faster, cost-effective Internet access via gateways that are distributed in the neighborhood. Hopping from one neighbor&#8217;s node to another, packets dynamically find a route to reach the Internet through one of the gateways. There can also collaboratively setup backup technology. Another use case is that data can be shared locally without having to move through the internet or ISP.  Local community networks will allow fast and easy sharing of this cached information. With Mesh networks enables flow in network locally rather than needing external controls, etc. The mesh network sounds a very good alternative but it also has it caveats which have yet to be ironed out. Planning, security and other number of factors have yet to be designed for such networks.</p>
<p>Have fun.</p>
<p>More here - <a title="Microsoft Research" href="http://research.microsoft.com/en-us/um/redmond/projects/virtualwifi/default.htm" target="_blank">Link</a></p>
]]></content:encoded>
			<wfw:commentRss>http://abitsmart.com/2009/12/virtualwifi-the-basics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SQL - Returning table with unknown columns</title>
		<link>http://abitsmart.com/2009/11/sql-returning-table-with-unknown-columns/</link>
		<comments>http://abitsmart.com/2009/11/sql-returning-table-with-unknown-columns/#comments</comments>
		<pubDate>Sun, 29 Nov 2009 14:12:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[SQL]]></category>

		<category><![CDATA[Converting table to XML]]></category>

		<category><![CDATA[Returning table with unknown columns]]></category>

		<category><![CDATA[SQL XML]]></category>

		<guid isPermaLink="false">http://abitsmart.com/?p=269</guid>
		<description><![CDATA[Ever wanted to return a table with unknown set of columns from your SQL stored procedure? Yes, you can. Say thanks to SQL XML.

SQL XML helps you convert the data being returned by a stored procedure or user defined function into a XML format. Using this functionality, you can work with stored procedures or functions [...]]]></description>
			<content:encoded><![CDATA[<p>Ever wanted to return a table with unknown set of columns from your SQL stored procedure? Yes, you can. Say thanks to SQL XML.<br />
<span id="more-269"></span><br />
<strong>SQL XML</strong> helps you convert the data being returned by a stored procedure or user defined function into a <strong>XML format</strong>. Using this functionality, you can work with stored procedures or functions <strong>without needing to know the table structure</strong> being returned.</p>
<p>Here is a sample query which will execute the function and convert the resultant table returned into a XML format,</p>
<pre>
DECLARE @Data XML

SET @Data = (SELECT * FROM dbo.yourFunction() FOR XML RAW(''Row''),ROOT(''Result''))
</pre>
<p>Assuming, yourFunction return a table with three columns, Name, Age and Gender, the resulting output will be,</p>
<pre>
&lt;Result&gt;
  &lt;Row Namel="ABitSmart" Age="27" Gender="Male" /&gt;
&lt;/Result&gt;
</pre>
<p>Now, dealing with a stored procedure is little bit twisted. We would not be able to do the same thing as we did with the function. The best way I figured out is, letting the stored procedure return a XML parameter as an output parameter. This XML parameter can be created in the same way as we did for the function, just replacing the function with the table being returned.</p>
<p>To convert a table (temporary or in memory) into XML refer to the following snippet,</p>
<pre>
-- converting a temporary table to XML format
DECLARE @Data XML
Set @Data = (Select * from  #tmpTable For XML RAW('Row'),ROOT('Result'))
</pre>
<p>Or</p>
<pre>
-- converting an in-memory table to XML format
DECLARE @Data XML
Set @Data = (Select * from  @tmpTable For XML RAW('Row'),ROOT('Result'))
</pre>
<p>Use the option as per your scenario.</p>
<p>As we see in the above approach, we did not have to bother with the column details being returned by the function or procedure. The XML being returned will have all this metadata for us. Every node of the XML returned will correspond to a table row. Each row will have the corresponding column value pair as the attribute value of the node.</p>
<p>I have used the above concepts in creating a generic reporting framework. The framework is built with WPF, LINQ and SQL 2008.<br />
I have one main executing stored procedure which takes in a procedure name and returns a XML output. LINQ calls the main procedure, passing a stored procedure name. The main procedure executes (using Dynamic SQL) the passed in stored procedure name (which is the reporting procedure) and converts the returned table into a XML output. This XML output is returned to the main application i.e. LINQ.<br />
The advantage of this approach is a loosely coupled architecture. The report procedures can be altered on the fly without having the application to be involved.</p>
<p>Softwares - .Net 3.5, WPF, Linq, SQL 2008<br />
Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://abitsmart.com/2009/11/sql-returning-table-with-unknown-columns/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DotnetSpider Web-master</title>
		<link>http://abitsmart.com/2009/11/dotnetspider-web-master/</link>
		<comments>http://abitsmart.com/2009/11/dotnetspider-web-master/#comments</comments>
		<pubDate>Sun, 15 Nov 2009 13:53:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Announcement]]></category>

		<category><![CDATA[DNS]]></category>

		<category><![CDATA[DNS Web-master]]></category>

		<guid isPermaLink="false">http://abitsmart.com/?p=257</guid>
		<description><![CDATA[It&#8217;s been a very busy time for me, these past few weeks. Wanted to share some good news. I have been elected as a Web-master at DNS.

This is an immensely respectful responsibility bestowed to me. As part of my responsibility, I will maintain and administer the working of DNS along with Raghav. My primary role [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a very busy time for me, these past few weeks. Wanted to share some good news. I have been elected as a Web-master at DNS.<br />
<span id="more-257"></span><br />
This is an immensely respectful responsibility bestowed to me. As part of my responsibility, I will maintain and administer the working of DNS along with Raghav. My primary role will be selecting winners, moderating the forum and resources. Looks like a meaty role. Hope to continue my enthusiasm with DNS and .Net technology with this role. </p>
<p>I have already announced the presence of DNS on Twitter and also the MVM Logo designing contest. Be a part of it.</p>
<p>Thank you Tony and Raghav</p>
<p>Cheers!</p>
<p><a href="http://www.Dotnetspider.com">DNS</a></p>
]]></content:encoded>
			<wfw:commentRss>http://abitsmart.com/2009/11/dotnetspider-web-master/feed/</wfw:commentRss>
		</item>
		<item>
		<title>VS 2010 Go live</title>
		<link>http://abitsmart.com/2009/10/vs-2010-go-live/</link>
		<comments>http://abitsmart.com/2009/10/vs-2010-go-live/#comments</comments>
		<pubDate>Tue, 27 Oct 2009 11:12:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Tech Announcement]]></category>

		<category><![CDATA[VS 2010 beta 2]]></category>

		<category><![CDATA[VS 2010 Go live]]></category>

		<category><![CDATA[VS 2010 live version]]></category>

		<guid isPermaLink="false">http://abitsmart.com/?p=246</guid>
		<description><![CDATA[VS 2010 Beta 2 has been announced the Go live version. 
From msdn blogs,
We are pleased to declare Beta 2 of Visual Studio 2010 and the .NET Framework 4
a “go live” release (read more about it on Soma’s blog). This means that Beta 2 has met high standards of quality for pre-release software, and we [...]]]></description>
			<content:encoded><![CDATA[<p><!-- google_ad_section_start -->VS 2010<!-- google_ad_section_end --> Beta 2 has been announced the Go live version. </p>
<p>From msdn blogs,<br />
We are pleased to declare Beta 2 of Visual Studio 2010 and the .NET Framework 4<br />
a “go live” release (read more about it on Soma’s blog). This means that Beta 2 has met high standards of quality for pre-release software, and we are licensing it for developing and deploying production applications.</p>
<p><a href="http://blogs.msdn.com/jeffbe/archive/2009/10/19/going-live-with-visual-studio-2010-beta-2.aspx">MSDN</a></p>
]]></content:encoded>
			<wfw:commentRss>http://abitsmart.com/2009/10/vs-2010-go-live/feed/</wfw:commentRss>
		</item>
		<item>
		<title>ASP.Net Detecting Bots, Crawlers</title>
		<link>http://abitsmart.com/2009/10/aspnet-detecting-bots-crawlers/</link>
		<comments>http://abitsmart.com/2009/10/aspnet-detecting-bots-crawlers/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 10:51:29 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[ASP.Net]]></category>

		<category><![CDATA[ASP.Net Bots]]></category>

		<category><![CDATA[ASP.Net Crawlers]]></category>

		<category><![CDATA[ASP.Net Search bots]]></category>

		<category><![CDATA[ASP.Net Search Crawlers]]></category>

		<category><![CDATA[ASP.Net Spiders]]></category>

		<guid isPermaLink="false">http://abitsmart.com/?p=239</guid>
		<description><![CDATA[This article discusses a method to detect bot and crawler visits to your site.
Recently, I was developing a model to collect visitor information to the site. The stats showed a mind boggling 10,000 visits a day. Stunned! This was highly unlikely for us. I tracked this through Google Analytics which showed a different number i.e. [...]]]></description>
			<content:encoded><![CDATA[<p>This article discusses a method to detect bot and crawler visits to your site.</p>
<p>Recently, I was developing a model to collect visitor information to the site. The stats showed a mind boggling 10,000 visits a day. Stunned! This was highly unlikely for us. I tracked this through Google Analytics which showed a different number i.e. 2000. Well, we all are aware of the difference in script based (Google analytics) and server log based tracking arguments. I was experiencing the same. Reading through and understanding the concept, I got very suspicious on spider and crawler visits. Well, so the journey started to find out the and categorize the bot/crawler visits.<br />
<span id="more-239"></span><br />
The easiest method to detect crawlers and bots is by dissecting the browsers UserAgent. This contains all the information we want. It describes the web browser client type. Example of UserAgent strings are,</p>
<p>Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727)<br />
Mozilla/5.0 (compatible; Googlebot/2.1; +http://www.google.com/bot.html)<br />
Mozilla/5.0 (compatible; Yahoo! Slurp; +http://help.yahoo.com/help/us/ysearch/slurp)</p>
<p>If you notice properly, in the second string the text bot appears. So the simplest code snipper to detect a bot will be,</p>
<pre>
if (Request.UserAgent.ToString().Contains("bot") > -1)
{
   //Bot!!
}
</pre>
<p>Looks simple but a horrible way to do something. Some of the crawlers do not have the text &#8220;bot&#8221; in their string. And this will need a check for each key word the crawlers/bot use. </p>
<p>The next method discussed is the inbuilt functionality within .Net framework to detect the same. Yes, it&#8217;s true. There is an inherent method to find out if the request has come from a bot/crawler. There is a property on the HTTPRequest&#8217;s Browser object which detects crawlers. Here is, how to use it -</p>
<pre>
if (Request.Browser.Crawler)
{
   // Bot!!
}
</pre>
<p>Nice - neat and clean. One call does all! </p>
<p>But wait, it is not that simple also. You need to configure a .brower file with rules to detect crawler. The good news is that .Net framework by default has a number of file for this purpose already installed. They are also kept updated in service packs, perhaps. But nevertheless, you can still add your own ones to substitute for anything missing. The .browser file can be added to your application&#8217;s App_Browsers directory for application only scope or to the %SystemRoot%\Microsoft.NET\Framework\<em>version</em>\CONFIG\Browsers directory for machine wide scope. Note: replace version with the version folder name on your machine.<br />
After adding the file to the Browsers directory, it is necessary to run the ASP.Net browser registration tool. The ASP.NET Browser Registration tool compiles browser definitions in the Browsers directory of the version of the .NET Framework that corresponds to the tool version. Each version of the .NET Framework has its own copy of the tool. The ASP.NET Browser Registration tool parses and compiles all system-wide browser definitions into an assembly and installs the assembly in the global assembly cache. If there are errors in the system-wide browser definitions, the tool reports those errors. The browser capabilities assembly is used by all Web applications on the system. Note that you can also programmatically recompile system-wide browser definition files by using the BrowserCapabilitiesCodeGenerator class.<br />
e.g.,<br />
C:\WINDOWS\Microsoft.NET\Framework\<versionNumber>\aspnet_regsql.exe -i<br />
or<br />
Just open the VS command prompt and run, aspnet_regsql.exe -i</p>
<p>I use <a href="http://owenbrady.net/browsercaps/OceanSpiders.browser.xml">Oceans.Broswer</a> file in addition to the inherent .Net provided ones.</p>
<p>Well, the above method does work but there is a little bit enhancement I have added to increase the detection of bots/crawlers. In addition to the above, I also run a regex to find certain bot related keywords in the UserAgent. So my final check goes like this,</p>
<pre>
bool found = false;

if (request.Browser.Crawler)
{
   // Bot!!
}
else
{
    if (!string.IsNullOrEmpty(request.UserAgent))
    {
        Regex regEx = new Regex("Slurp|slurp|ask|Ask|Teoma|teoma");
        if (regEx.Match(request.UserAgent).Success)
        {
            // Bot!!
        }
    }
}
</pre>
<p>Thanks to <a href="http://www.eggheadcafe.com/tutorials/aspnet/a988f8c3-f69e-4ad2-a2e9-f9e01867769c/aspnet-request-logger-an.aspx">Peter Bromberg</a> for the regex.</p>
<p>Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://abitsmart.com/2009/10/aspnet-detecting-bots-crawlers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DNS Winner of the week</title>
		<link>http://abitsmart.com/2009/09/dns-winner-of-the-week/</link>
		<comments>http://abitsmart.com/2009/09/dns-winner-of-the-week/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 01:29:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Awards]]></category>

		<category><![CDATA[DNS]]></category>

		<category><![CDATA[DNS Award]]></category>

		<category><![CDATA[DNS Weekly Award]]></category>

		<guid isPermaLink="false">http://abitsmart.com/?p=195</guid>
		<description><![CDATA[Awesome. Congratulate me. I am the winner of the week on Dotnet Spider this week.
Here is my certificate,
Thanks a lot DNS.
Have fun.
]]></description>
			<content:encoded><![CDATA[<p>Awesome. Congratulate me. I am the winner of the week on Dotnet Spider this week.</p>
<p><span id="more-195"></span>Here is my certificate,</p>
<p><div id="attachment_196" class="wp-caption aligncenter" style="width: 310px"><a href="http://abitsmart.com/wp-content/uploads/2009/09/dns-certificate-abitsmart.png"><img class="size-medium wp-image-196" title="Weekly Award" src="http://abitsmart.com/wp-content/uploads/2009/09/dns-certificate-abitsmart-300x222.png" alt="Weekly Award" width="300" height="222" /></a><p class="wp-caption-text">Weekly Award</p></div></p>
<p>Thanks a lot DNS.</p>
<p>Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://abitsmart.com/2009/09/dns-winner-of-the-week/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Site Coordinator on MSDotnetHeaven</title>
		<link>http://abitsmart.com/2009/09/site-coordinator-on-msdotnetheaven/</link>
		<comments>http://abitsmart.com/2009/09/site-coordinator-on-msdotnetheaven/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 01:32:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Announcement]]></category>

		<category><![CDATA[MsDnh]]></category>

		<category><![CDATA[MSDotnetHeaven]]></category>

		<guid isPermaLink="false">http://abitsmart.com/?p=199</guid>
		<description><![CDATA[I have been elected as a Site Cooridnator on MSDotNetHeaven, more fondly called MSDnh.
Please visit the site at www.msdotnetheaven.com/forums/index.php. It would be great if you decide to become a part of this community and contribute.
See you there!
Have fun.
]]></description>
			<content:encoded><![CDATA[<p>I have been elected as a Site Cooridnator on MSDotNetHeaven, more fondly called MSDnh.</p>
<p><span id="more-199"></span>Please visit the site at <a href="http://www.msdotnetheaven.com/forums/index.php">www.msdotnetheaven.com/forums/index.php</a>. It would be great if you decide to become a part of this community and contribute.</p>
<p>See you there!</p>
<p>Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://abitsmart.com/2009/09/site-coordinator-on-msdotnetheaven/feed/</wfw:commentRss>
		</item>
		<item>
		<title>DNS on Twitter</title>
		<link>http://abitsmart.com/2009/09/dns-on-twitter/</link>
		<comments>http://abitsmart.com/2009/09/dns-on-twitter/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 01:40:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Announcement]]></category>

		<category><![CDATA[DNS]]></category>

		<category><![CDATA[DNS Twitter]]></category>

		<category><![CDATA[Dotnet Spider twitter]]></category>

		<guid isPermaLink="false">http://abitsmart.com/?p=205</guid>
		<description><![CDATA[DNS is on Twitter.
Follow it to get the latest news,happening and announcements on DNS.

Twitter link - http://twitter.com/DotNet_Spider
Have fun.
]]></description>
			<content:encoded><![CDATA[<p>DNS is on Twitter.</p>
<p>Follow it to get the latest news,happening and announcements on DNS.</p>
<p><span id="more-205"></span></p>
<p>Twitter link - <a href="http://twitter.com/DotNet_Spider">http://twitter.com/DotNet_Spider</a></p>
<p>Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://abitsmart.com/2009/09/dns-on-twitter/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MsDnh on Twitter</title>
		<link>http://abitsmart.com/2009/09/msdnh-on-twitter/</link>
		<comments>http://abitsmart.com/2009/09/msdnh-on-twitter/#comments</comments>
		<pubDate>Fri, 04 Sep 2009 01:36:22 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Announcement]]></category>

		<category><![CDATA[MsDnh]]></category>

		<category><![CDATA[MsDnh Twitter]]></category>

		<guid isPermaLink="false">http://abitsmart.com/?p=202</guid>
		<description><![CDATA[I have added a Twitter account for MsDnh.
Please follow the twitter account of MsDnh for latest updates and happenings.
Twitter link - http://twitter.com/msdotnetheaven
Have fun.
]]></description>
			<content:encoded><![CDATA[<p>I have added a Twitter account for MsDnh.</p>
<p><span id="more-202"></span>Please follow the twitter account of MsDnh for latest updates and happenings.</p>
<p>Twitter link - <a href="http://twitter.com/msdotnetheaven">http://twitter.com/msdotnetheaven</a></p>
<p>Have fun.</p>
]]></content:encoded>
			<wfw:commentRss>http://abitsmart.com/2009/09/msdnh-on-twitter/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>

