<?xml version="1.0" encoding='utf-8'?>
<!-- 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
-->
<?xml-stylesheet type="text/xsl" href="https://rollerweblogger.org/roller-ui/styles/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom">
    <title type="html">Blogging Roller</title>
    <subtitle type="html">Dave Johnson on open web technologies, social software and software development</subtitle>
    <id>https://rollerweblogger.org/roller/feed/entries/atom</id>
        <link rel="self" type="application/atom+xml" href="https://rollerweblogger.org/roller/feed/entries/atom?tags=microsoft" />
    <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/" />
    <updated>2026-03-23T14:54:34+00:00</updated>
    <generator uri="http://roller.apache.org" version="6.1.5">Apache Roller</generator>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/more_on_atompub_and_windows</id>
        <title type="html">More on AtomPub and Windows Live Writer</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/more_on_atompub_and_windows"/>
        <published>2007-10-20T17:08:19+00:00</published>
        <updated>2007-10-21T00:12:43+00:00</updated> 
        <category term="Blogging" label="Blogging" />
        <category term="atompub" scheme="http://roller.apache.org/ns/tags/" />
        <category term="blogging" scheme="http://roller.apache.org/ns/tags/" />
        <category term="microsoft" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;Joe Cheng posted another entry in his series explaining the details of AtomPub support in Windows Live Writer (WLM), titled  
&lt;a href=&quot;http://jcheng.wordpress.com/2007/10/19/wlwatompub-part-2-authentication/&quot;&gt;
WLW+AtomPub, Part 2: Authentication&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt;Wondering what WLM looks like? &lt;a href=&quot;http://www.travelinlibrarian.info/&quot;&gt;Travelin&amp;#39; Librarian&lt;/a&gt; has a nice set of &lt;a href=&quot;http://flickr.com/photos/travelinlibrarian/tags/windowslivewriter&quot;&gt; screen-shots of WLM&lt;/a&gt; on Flickr including shots of the installation process, HTML mode, preview mode and more. Looks pretty sweet.&lt;/p&gt;

&lt;a href=&quot;http://flickr.com/photo_zoom.gne?id=1366689098&amp;size=o&quot;&gt;
&amp;lt;img src=&amp;quot;http://farm2.static.flickr.com/1321/1366689098_8323af9281.jpg&amp;quot;
    alt=&amp;quot;Screen-shot of Windows Live Writer&amp;quot; /&amp;gt;
&lt;/a&gt;
</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/homeserver</id>
        <title type="html">Homeserver</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/homeserver"/>
        <published>2007-01-09T22:11:20+00:00</published>
        <updated>2007-01-10T06:11:20+00:00</updated> 
        <category term="Microsoft" label="Microsoft" />
        <category term="microsoft" scheme="http://roller.apache.org/ns/tags/" />
        <category term="server" scheme="http://roller.apache.org/ns/tags/" />
        <category term="windows" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;I spent a fair amount of holiday time trying to figure out how to share and backup the important files on our various home computers. The solution I settled on was geeky bordering on goofy:&lt;br&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;A Linksys &lt;a href=&quot;http://en.wikipedia.org/wiki/NSLU2&quot;&gt;NSLU2&lt;/a&gt; &amp;quot;Slug&amp;quot; running &lt;a href=&quot;http://www.nslu2-linux.org/wiki/Unslung/HomePage&quot;&gt;Unslung&lt;/a&gt; Linux, Apache HTTPD and Subversion&lt;/li&gt;&lt;li&gt;One 200GB USB drive hooked up to Slug (formatted with Linux ext)&lt;br&gt;&lt;/li&gt;&lt;li&gt;Two 200GB USB drives one for each of our Mac laptops&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;For documents I use Subversion. On each computer, each user&amp;#39;s files are kept in a directory that is under Subversion source code control. Since nobody else in the family knows about Subversion (yet), I have to visit each computer periodically and commit any new files or changes. I had hoped that approach would work for all of my files, but Subversion on the Slug is way too sluggish when it comes to big files.&lt;br&gt; &lt;/p&gt;&lt;p&gt;So, for photos and other big binary files I use the Slug as a simple file-server. I make sure my photos and videos are organized into directories that are roughly DVD-size directories (i.e. about 8GB)&amp;nbsp; and I periodically copy them to the Slug and make DVDs for off-site storage. &lt;/p&gt;&lt;p&gt;And finally, for full backups I use disk &amp;quot;cloning&amp;quot; software. Every month or so I use &lt;a href=&quot;http://www.bombich.com/software/ccc.html&quot;&gt;Carbon Copy Cloner&lt;/a&gt; to make a full-disk backup our two Mac laptops to a USB drive.&lt;/p&gt;&lt;p&gt;Sounds like a total pain in the ass doesn&amp;#39;t it? But a growing number of folks have multiple computers and piles of photos and videos to backup, so my problems are far from unique. That&amp;#39;s why I think Windows Home Server is going to be a hit. &lt;/p&gt;

&lt;div align=&quot;left&quot;&gt;&lt;img vspace=&quot;0&quot; hspace=&quot;0&quot; border=&quot;0&quot; src=&quot;http://s86.photobucket.com/albums/k90/crunchgear/CES%202007/th_windowshomeserver.jpg&quot;&gt;&lt;br&gt;Windows Home Server concept design (as seen on &lt;a href=&quot;http://crunchgear.com/2007/01/08/windows-home-server-up-close-and-personal/&quot;&gt;CrunchGear&lt;/a&gt;)&lt;br&gt;

&lt;/div&gt;&lt;p&gt;It&amp;#39;s a server appliance with no monitor or keyboard. You just plug it into your home network, put it in a corner and it solve all of your PC backup problems. It quietly makes full-disk image backups of each of your Windows PCs and it gives you a place to share files with other folks at home and over the net. It&amp;#39;s of no use to me since most of my home computers run some form of UNIX, but 95% of the world is hooked on Windows -- they&amp;#39;re gonna want this thing. Check out Paul Thurrott&amp;#39;s &lt;a href=&quot;http://www.winsupersite.com/reviews/whs_preview.asp&quot;&gt;Windows Home Server Preview&lt;/a&gt; for more details. &lt;br&gt;&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/microsoft_flak_jacket_2007_still</id>
        <title type="html">Microsoft Flak Jacket 2007 (still in beta)</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/microsoft_flak_jacket_2007_still"/>
        <published>2006-06-29T12:58:32+00:00</published>
        <updated>2006-10-25T06:53:34+00:00</updated> 
        <category term="Microsoft" label="Microsoft" />
        <category term="apache" scheme="http://roller.apache.org/ns/tags/" />
        <category term="conferences" scheme="http://roller.apache.org/ns/tags/" />
        <category term="microsoft" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;blockquote&gt;&lt;a href=&quot;http://blogs.msdn.com/robburke/archive/2006/06/29/650748.aspx&quot; target=&quot;_self&quot;&gt;Robert Burke&lt;/a&gt;: And it was kinda cool to be the Microsoft guy running Apache and PHP on his laptop :)&lt;/blockquote&gt;I&amp;#39;m sorry I missed that talk. &lt;br&gt;&lt;br&gt;Tags: topic:[apacheconeu2006], topic:[apachecon]&lt;br&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/google_desktop_is_just_like</id>
        <title type="html">Google Desktop is just like WinFS</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/google_desktop_is_just_like"/>
        <published>2004-10-19T11:03:36+00:00</published>
        <updated>2006-10-25T07:47:17+00:00</updated> 
        <category term="Microsoft" label="Microsoft" />
        <category term="google" scheme="http://roller.apache.org/ns/tags/" />
        <category term="microsoft" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;blockquote&gt;
&lt;a href=&quot;http://bitworking.org/news/Google_Desktop&quot;&gt;Joe Gregorio&lt;/a&gt;: 
&lt;p&gt;This is just like WinFS.&lt;/p&gt;
&lt;p&gt;Except that it is shipping today.&lt;/p&gt;
&lt;p&gt;And it just works.&lt;/p&gt;
&lt;p&gt;And it doesn&amp;#39;t require an upgrade to your operating system.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://bitworking.org/news/Google_Desktop&quot;&gt;more...&lt;/a&gt;&lt;/p&gt; 
&lt;/blockquote&gt;
</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/microsoft_to_release_open_source</id>
        <title type="html">Microsoft to release open source Wiki</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/microsoft_to_release_open_source"/>
        <published>2004-09-28T21:20:31+00:00</published>
        <updated>2016-11-29T16:51:12+00:00</updated> 
        <category term="Microsoft" label="Microsoft" />
        <category term="microsoft" scheme="http://roller.apache.org/ns/tags/" />
        <category term="opensource" scheme="http://roller.apache.org/ns/tags/" />
        <category term="wiki" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;blockquote&gt;&lt;a href=&quot;http://news.com.com/Microsoft+flexes+more+open-source+muscle/2100-7344_3-5384769.html?part=rss&amp;tag=5384769&amp;subj=news.7344.20&quot;&gt;Microsoft flexes more open-source muscle | CNET News.com&lt;/a&gt;: &amp;quot;FlexWiki is the third piece of Microsoft code that the company has released this year under an open-source license, all under the &lt;a href=&quot;https://opensource.org/licenses/cpl1.0.php&quot;&gt;Common Public License&lt;/a&gt; (CPL). In April, Microsoft posted its Windows Installer XML (WiX) to SourceForge.net, following up a month later with the posting of the Windows Template Library (WTL) project.&amp;quot;&lt;/blockquote&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/parsing_rss_with_net</id>
        <title type="html">Parsing RSS with .Net</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/parsing_rss_with_net"/>
        <published>2004-09-01T08:55:33+00:00</published>
        <updated>2006-12-15T19:00:47+00:00</updated> 
        <category term="Microsoft" label="Microsoft" />
        <category term="microsoft" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;How do you do it? I need to provide some examples to show how to
parse RSS with Java and C#. I have written simple parsers using the
common XML parsing techniques such as DOM, SAX, and Pull. I have also
written some examples that use parser libraries, but I have yet to find
a good and free RSS parser library for .Net. Lazy-web, please help me
out here.
&lt;/p&gt;
&lt;p style=&quot;font-style:italic;&quot;&gt;When you assume...&lt;/p&gt;
&lt;p&gt;
If you assume that RSS is XML and you are just interested in getting
titles, decriptions, links, and dates then it is pretty easy to write a
simple parser that can handle most forms of RSS including RSS 1.0, RSS
2.0, and some forms of funky RSS. If you to handle more than those
basic elements, then I recommend that you use a parser library.&lt;br&gt;
&lt;/p&gt;
&lt;p style=&quot;font-style:italic;&quot;&gt;Parser libraries&lt;/p&gt;
&lt;p&gt;
Python programmers are blessed with a great newsfeed parser library:
 Pilgrim&amp;#39;s regex-based 
&lt;a href=&quot;http://feedparser.org/&quot;&gt;Universal Feed Parser&lt;/a&gt; which can parse any feed, even if it is not valid XML. I
don&amp;#39;t think Pilgrim&amp;#39;s parser will port easily to the Java version of
Python 
&lt;a href=&quot;http://www.jython.org&quot;&gt;Jython&lt;/a&gt;, because Jython is missing some important Python
libraries and Jython uses a Java regex which is different from Python&amp;#39;s
built-in regex. The same thing probably goes for the .Net version of
Python 
&lt;a href=&quot;http://ironpython.com/&quot;&gt;IronPython&lt;/a&gt;. By the way, Lazy-web, would you please port
Pilgrim&amp;#39;s parser to Jython?
&lt;/p&gt;&lt;p&gt;
So, Java developers don&amp;#39;t have the Universal Feed Parser, but we do
have two active projects that are developing full featured RSS (and
Atom) parsers: 
&lt;a href=&quot;http://informa.sourceforge.net/&quot;&gt;Informa&lt;/a&gt; (used by Javablogs.com) and 
&lt;a href=&quot;http://rome.dev.java.net/&quot;&gt;Rome&lt;/a&gt;. .Net developers have 
&lt;a href=&quot;http://rss-net.sourceforge.net/&quot;&gt;RSS.Net&lt;/a&gt;, but it
is incomplete and development seems to have comletely stagnated back in
November of 2003. 
&lt;/p&gt;&lt;p&gt;
So how do you parse RSS with .Net? I started looking around and digging
into source code. I found that 
&lt;a href=&quot;http://www.25hoursaday.com/&quot;&gt;Dare&lt;/a&gt; built his C# based RSS parser for
&lt;a href=&quot;http://www.rssbandit.org&quot;&gt;RssBandit&lt;/a&gt; on top of an 
&lt;a href=&quot;http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=B90FDDCE-E60D-43F8-A5C4-C3BD760564BC&quot;&gt;SGML&lt;/a&gt; parser. 
&lt;a href=&quot;http://bitworking.org&quot;&gt;Joe&lt;/a&gt; built his C# based RSS parser
for 
&lt;a href=&quot;http://bitworking.org/Aggie.html&quot;&gt;Aggie&lt;/a&gt; using good old System.Xml. 
I guess you just have to do it by hand, so here goes...
&lt;/p&gt;
&lt;p style=&quot;font-style:italic;&quot;&gt;My examples&lt;/p&gt;
&lt;p&gt;
Now it&amp;#39;s time for the lazy web to point and laugh at my feeble efforts
to build simple RSS parsers in C#. I have two examples for your
ridicule. After you are done laughing, please, .Net heads, help me out
and tell me what I am doing wrong and where I can make improvements.
&lt;/p&gt;&lt;p&gt;
First, here is a simple C# RSS parser method that uses a DOM based approach.
It extracts the basic elements of title, description, link, and pubDate
from the channel and item levels and it puts them into a dictionary
(just like Pilgrim&amp;#39;s parser does). It can handle RSS 1.0, RSS 2.0, and
some forms of funky RSS. Have a look:
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;pre&gt;public IDictionary ParseFeed(String fileName) {&lt;br&gt;    XmlDocument feedDoc = new XmlDocument();&lt;br&gt;    feedDoc.Load(fileName);&lt;br&gt;    XmlElement root = feedDoc.DocumentElement;&lt;br&gt;    string defaultNS = null; &lt;br&gt;    string contentNS = &amp;quot;http://purl.org/rss/1.0/modules/content/&amp;quot;;&lt;br&gt;    string dcNS = &amp;quot;http://purl.org/dc/elements/1.1/&amp;quot;;&lt;br&gt;    string xhtmlNS = &amp;quot;http://www.w3.org/1999/xhtml&amp;quot;;&lt;br&gt;    if (root.Name.Equals(&amp;quot;rss&amp;quot;)) {&lt;br&gt;        defaultNS = null;&lt;br&gt;    }&lt;br&gt;    else {&lt;br&gt;        defaultNS = &amp;quot;http://purl.org/rss/1.0/&amp;quot;;&lt;br&gt;    }&lt;br&gt;    XmlElement channel = (XmlElement)root.GetElementsByTagName(&amp;quot;channel&amp;quot;).Item(0);&lt;br&gt;    IDictionary feedMap = new Hashtable();&lt;br&gt;    feedMap.Add(&amp;quot;title&amp;quot;,       GetChildText(channel,&amp;quot;title&amp;quot;,defaultNS));&lt;br&gt;    feedMap.Add(&amp;quot;pubDate&amp;quot;,     GetChildText(channel,&amp;quot;pubDate&amp;quot;,defaultNS));&lt;br&gt;    feedMap.Add(&amp;quot;dc:date&amp;quot;,     GetChildText(channel,&amp;quot;date&amp;quot;,dcNS));&lt;br&gt;    feedMap.Add(&amp;quot;description&amp;quot;, GetChildText(channel,&amp;quot;description&amp;quot;,defaultNS));&lt;br&gt;    feedMap.Add(&amp;quot;link&amp;quot;,        GetChildText(channel,&amp;quot;link&amp;quot;,defaultNS));&lt;br&gt; &lt;br&gt;    XmlNodeList items = null;&lt;br&gt;    if (root.Name.Equals(&amp;quot;rss&amp;quot;)) {&lt;br&gt;        items = channel.GetElementsByTagName(&amp;quot;item&amp;quot;);&lt;br&gt;    }&lt;br&gt;    else {&lt;br&gt;        items = root.GetElementsByTagName(&amp;quot;item&amp;quot;);&lt;br&gt;    }&lt;br&gt;    IList itemList = new ArrayList();&lt;br&gt;    feedMap.Add(&amp;quot;items&amp;quot;, itemList);        &lt;br&gt;    for (int i=0; i&amp;lt;items.Count; i++) {&lt;br&gt;        IDictionary itemMap = new Hashtable();&lt;br&gt;        itemList.Add(itemMap);&lt;br&gt;        XmlElement item = (XmlElement)items.Item(i);          &lt;br&gt;        itemMap.Add(&amp;quot;title&amp;quot;,       GetChildText(item,&amp;quot;title&amp;quot;,defaultNS));&lt;br&gt;        itemMap.Add(&amp;quot;link&amp;quot;,        GetChildText(item,&amp;quot;link&amp;quot;,defaultNS));&lt;br&gt;        itemMap.Add(&amp;quot;guid&amp;quot;,        GetChildText(item,&amp;quot;guid&amp;quot;,defaultNS));&lt;br&gt;        itemMap.Add(&amp;quot;pubDate&amp;quot;,     GetChildText(item,&amp;quot;pubDate&amp;quot;,defaultNS));&lt;br&gt;        itemMap.Add(&amp;quot;dc:date&amp;quot;,     GetChildText(item,&amp;quot;date&amp;quot;,dcNS));&lt;br&gt;        itemMap.Add(&amp;quot;description&amp;quot;, GetChildText(item,&amp;quot;description&amp;quot;,defaultNS));&lt;br&gt;        itemMap.Add(&amp;quot;content:encoded&amp;quot;, GetChildText(item,&amp;quot;encoded&amp;quot;,contentNS));&lt;br&gt;        itemMap.Add(&amp;quot;body&amp;quot;,        GetChildText(item,&amp;quot;body&amp;quot;,xhtmlNS));&lt;br&gt;    }&lt;br&gt;    return feedMap;&lt;br&gt;}&lt;br&gt;private string GetChildText(XmlElement element, string childName, string namespaceURI) {&lt;br&gt;    string text = null;&lt;br&gt;    XmlNodeList nodeList = null;&lt;br&gt;    if (namespaceURI != null) {&lt;br&gt;        nodeList = element.GetElementsByTagName(childName, namespaceURI);&lt;br&gt;    } else {&lt;br&gt;        nodeList = element.GetElementsByTagName(childName);&lt;br&gt;    }&lt;br&gt;    if (nodeList!=null &amp;amp;&amp;amp; nodeList.Item(0)!=null) {&lt;br&gt;        if (nodeList.Item(0).FirstChild!=null) {&lt;br&gt;            text = nodeList.Item(0).FirstChild.Value;&lt;br&gt;        } else {&lt;br&gt;            text = &amp;quot;&amp;quot;;&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;    return text;&lt;br&gt;}&lt;br&gt;&lt;/pre&gt;

&lt;p&gt;
And here is the same thing, but using a pull-parser based XmlTextReader approach:
&lt;/p&gt;&lt;p&gt;
&lt;/p&gt;&lt;pre&gt;public IDictionary ParseFeed(String fileName) {&lt;br&gt;    XmlTextReader reader = new XmlTextReader(fileName);&lt;br&gt;    reader.WhitespaceHandling = WhitespaceHandling.None;&lt;br&gt;    IDictionary feedMap = new Hashtable();&lt;br&gt;    IList items = new ArrayList();&lt;br&gt;    IDictionary itemMap = null;&lt;br&gt;    feedMap.Add(&amp;quot;items&amp;quot;, items);&lt;br&gt;    while (reader.Read()) {&lt;br&gt;        bool isStart = reader.NodeType.Equals(XmlNodeType.Element);&lt;br&gt;        bool isEnd = reader.NodeType.Equals(XmlNodeType.EndElement);&lt;br&gt;        if (isEnd &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;item&amp;quot;)) {&lt;br&gt;            itemMap = null;&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;item&amp;quot;)) {&lt;br&gt;            itemMap = new Hashtable();&lt;br&gt;            items.Add(itemMap);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; itemMap!=null &lt;br&gt;            &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;title&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            itemMap.Add(&amp;quot;title&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; itemMap!=null &lt;br&gt;            &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;link&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            itemMap.Add(&amp;quot;link&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; itemMap!=null &lt;br&gt;            &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;description&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            itemMap.Add(&amp;quot;description&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; itemMap!=null &lt;br&gt;            &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;content:encoded&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            itemMap.Add(&amp;quot;content:encoded&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (itemMap!=null &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;body&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            itemMap.Add(&amp;quot;body&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; itemMap!=null &lt;br&gt;            &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;pubDate&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            itemMap.Add(&amp;quot;pubDate&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; itemMap!=null &lt;br&gt;            &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;dc:date&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            itemMap.Add(&amp;quot;dc:date&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;title&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            feedMap.Add(&amp;quot;title&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;description&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            feedMap.Add(&amp;quot;description&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;link&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            feedMap.Add(&amp;quot;link&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;pubDate&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            feedMap.Add(&amp;quot;pubDate&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;dc:date&amp;quot;)) {&lt;br&gt;            reader.Read();&lt;br&gt;            feedMap.Add(&amp;quot;dc:date&amp;quot;, reader.Value);&lt;br&gt;        }&lt;br&gt;        else if (isStart &amp;amp;&amp;amp; reader.Name.Equals(&amp;quot;image&amp;quot;)) {&lt;br&gt;            // skip images&lt;br&gt;            while (reader.Read()) {&lt;br&gt;                if (reader.Name.Equals(&amp;quot;image&amp;quot;)&lt;br&gt;                    &amp;amp;&amp;amp; reader.NodeType.Equals(XmlNodeType.EndElement)) {&lt;br&gt;                    break;&lt;br&gt;                }&lt;br&gt;            }&lt;br&gt;        }&lt;br&gt;    }&lt;br&gt;    return feedMap;&lt;br&gt;}&lt;br&gt;&lt;/pre&gt;
&lt;p&gt;
Have some better examples of parsing RSS with .Net? Please point me to them.
&lt;/p&gt;</content>
    </entry>
    <entry>
        <id>https://rollerweblogger.org/roller/entry/those_pesky_autoruns</id>
        <title type="html">Those pesky Autoruns</title>
        <author><name>Dave Johnson</name></author>
        <link rel="alternate" type="text/html" href="https://rollerweblogger.org/roller/entry/those_pesky_autoruns"/>
        <published>2004-08-28T11:37:50+00:00</published>
        <updated>2006-10-25T16:12:57+00:00</updated> 
        <category term="General" label="General" />
        <category term="microsoft" scheme="http://roller.apache.org/ns/tags/" />
        <content type="html">&lt;p&gt;
I&amp;#39;ve been using &lt;a href=&quot;http://www.sysinternals.com/&quot;&gt;SysInternals&lt;/a&gt; freeware Windows &lt;a href=&quot;http://www.sysinternals.com/ntw2k/freeware/procexp.shtml&quot;&gt;Process Explorer&lt;/a&gt; and other Sysitnernals utilties for years now, but I never noticed this one.  &lt;a href=&quot;http://www.sysinternals.com/ntw2k/freeware/autoruns.shtml&quot;&gt;AutoRuns&lt;/a&gt; &amp;quot;shows you what programs are configured to run during system bootup or login&amp;quot; and allows you to delete or disable any of them. Via &lt;a href=&quot;http://blogs.msdn.com/jonathanh/archive/2004/08/27/221699.aspx&quot;&gt;Jonathan Hardwick&lt;/a&gt;.&lt;/p&gt;</content>
    </entry>
</feed>

