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

<channel>
	<title>Dave Amenta .com</title>
	<atom:link href="http://www.daveamenta.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.daveamenta.com</link>
	<description>Where Person meets Profession</description>
	<lastBuildDate>Thu, 11 Mar 2010 04:34:16 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Google Voice SMS Automatic Responder</title>
		<link>http://www.daveamenta.com/2010-03/google-voice-sms-automatic-responder/</link>
		<comments>http://www.daveamenta.com/2010-03/google-voice-sms-automatic-responder/#comments</comments>
		<pubDate>Fri, 05 Mar 2010 19:20:59 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=361</guid>
		<description><![CDATA[Have you ever wanted to own your own SMS service?  Directing customers to send &#8220;MSG&#8221; to 123-456-789 for more information, or set up a whole menu with.  Easily deliver customers with coupons, games, jokes or whatever else with GVAutoResponder!
GVAutoResponder turns your Google Voice account into a full-fledged business.  Easily respond to customers with automated messages, [...]]]></description>
			<content:encoded><![CDATA[<p>Have you ever wanted to own your own SMS service?  Directing customers to send &#8220;MSG&#8221; to 123-456-789 for more information, or set up a whole menu with.  Easily deliver customers with coupons, games, jokes or whatever else with GVAutoResponder!</p>
<p>GVAutoResponder turns your Google Voice account into a full-fledged business.  Easily respond to customers with automated messages, even have a default option for users that don&#8217;t already know the commands.</p>
<p>GVAutoResponder runs on Windows XP/Vista/7 and monitors Google Voice for new messages.  If they match the criteria you select, they&#8217;ll get a response.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/03/login.png"><img class="aligncenter size-medium wp-image-363" title="Google Voice Automatic Responder Login" src="http://www.daveamenta.com/wp-content/uploads/2010/03/login-300x270.png" alt="" width="300" height="270" /></a></p>
<p>Once you&#8217;ve entered your account information, <em>which is securely sent to Google Voice</em>, you&#8217;ll be able to create and manage <strong>rules</strong> that describe what kind of responses customers will get.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/03/default.png"><img class="aligncenter size-medium wp-image-362" title="GV Auto Responder" src="http://www.daveamenta.com/wp-content/uploads/2010/03/default-300x267.png" alt="" width="300" height="267" /></a></p>
<p>Creating a new rule is simple, just click <em>New Rule</em>.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/03/defrule.png"><img class="aligncenter size-medium wp-image-364" title="Google Voice Response Rule" src="http://www.daveamenta.com/wp-content/uploads/2010/03/defrule-300x270.png" alt="" width="300" height="270" /></a></p>
<p>GVAutoResponder may be purchased for a one-time fee of $15, via PayPal.<br />
<span align=center><br />
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input name="hosted_button_id" type="hidden" value="HPR3FR5JVDZGE" />
<input alt="PayPal - The safer, easier way to pay online!" name="submit" src="https://www.paypal.com/en_US/i/btn/btn_buynowCC_LG.gif" type="image" />
<img src="https://www.paypal.com/en_US/i/scr/pixel.gif" border="0" alt="" width="1" height="1" /><br />
</form>
<p></span><br />
<br />
A trial version is not yet available, but will be soon<br />
Send me an email (dave dot amenta at g<b></b>mail dot com), or contact me using the widget to the right if you would like a more customized solution.  <b>Please leave your email address so I can get back in touch with you!</b></p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-03/google-voice-sms-automatic-responder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GVNotifier 1.2 &#8211; International calling fix</title>
		<link>http://www.daveamenta.com/2010-03/gvnotifier-1-2-international-calling-fix/</link>
		<comments>http://www.daveamenta.com/2010-03/gvnotifier-1-2-international-calling-fix/#comments</comments>
		<pubDate>Mon, 01 Mar 2010 05:17:59 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[GVNotifier]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=357</guid>
		<description><![CDATA[I pushed a patch today that fixes International number call/sms issues.
]]></description>
			<content:encoded><![CDATA[<p>I pushed a patch today that fixes International number call/sms issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-03/gvnotifier-1-2-international-calling-fix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WPF Windows 7 Explorer Toolbar Control</title>
		<link>http://www.daveamenta.com/2010-02/wpf-windows-7-explorer-toolbar-control/</link>
		<comments>http://www.daveamenta.com/2010-02/wpf-windows-7-explorer-toolbar-control/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 23:28:07 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=350</guid>
		<description><![CDATA[Today I have been working on emulating the Windows 7 Explorer Toolbar in WPF.  I really like this control as it blends the older toolbar and menubar concepts into one which may support icons and dropdown menus.

WPF makes creating new controls quite easy.  I decided to base my controls off of System.Windows.Controls.Toolbar, and similarly each [...]]]></description>
			<content:encoded><![CDATA[<p>Today I have been working on emulating the Windows 7 Explorer Toolbar in WPF.  I really like this control as it blends the older toolbar and menubar concepts into one which may support icons and dropdown menus.</p>
<p style="text-align: center;"><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/win7_toolbar_explorer.png"><img class="aligncenter size-medium wp-image-351" title="Windows 7 Explorer Toolbar" src="http://www.daveamenta.com/wp-content/uploads/2010/02/win7_toolbar_explorer-300x39.png" alt="" width="507" height="66" /></a></p>
<p>WPF makes creating new controls quite easy.  I decided to base my controls off of System.Windows.Controls.Toolbar, and similarly each item in the Toolbar is based off of the Button control.</p>
<p><a href="/download/wpf_toolbar.txt">Here&#8217;s the XAML that I came up with</a></p>
<p>Creating a new WPF application and using this code for Window1.xaml, you should see this:<br />
<a href="http://www.daveamenta.com/wp-content/uploads/2010/02/wpf_explorer_toolbar.png"><img class="aligncenter size-full wp-image-352" title="WPF Windows 7 Explorer Toolbar" src="http://www.daveamenta.com/wp-content/uploads/2010/02/wpf_explorer_toolbar.png" alt="" width="420" height="403" /></a></p>
<p>Note that while this control is visually similar to the Windows 7 Explorer Toolbar, it does not handle overflow, or collapse menu items like the Explorer one does.  Perhaps an eventual update to this control will provide more advanced support.</p>
<p>This control does handle the IsMouseOver, IsMouseDown, and IsKeyboardFocused states.  Adding the menu glyph is a WPF Polygon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-02/wpf-windows-7-explorer-toolbar-control/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What is CamServer?</title>
		<link>http://www.daveamenta.com/2010-02/what-is-camserver/</link>
		<comments>http://www.daveamenta.com/2010-02/what-is-camserver/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 19:03:26 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[CamServer]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=344</guid>
		<description><![CDATA[I added a link to CamServer on the right of the page a little while ago, but didn&#8217;t explain what CamSever is and who would want to use it.  CamServer is experimental software.
CamServer is a surveillance and monitoring application for Windows and Linux that lets you easily view and record remote cameras.  Simply plug [...]]]></description>
			<content:encoded><![CDATA[<p>I added a link to CamServer on the right of the page a little while ago, but didn&#8217;t explain what CamSever <em>is</em> and who would want to use it. <em> CamServer is experimental software.</em></p>
<p>CamServer is a surveillance and monitoring application for Windows and Linux that lets you easily view and record remote cameras.  Simply plug one or more USB or PCI capture devices into a computer, and then view the cameras from a remote location &#8212; on the same network or over the internet.  Computers running CamServer on the local network are automatically discovered, no configuration is needed!</p>
<p>Screenshots:</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/controlpanel.png"><img class="aligncenter size-medium wp-image-345" title="CamServer Control Panel" src="http://www.daveamenta.com/wp-content/uploads/2010/02/controlpanel-300x212.png" alt="" width="300" height="212" /></a></p>
<p>Cameras are loaded from your computer, the local network, and over the internet.  CamServer nodes can host cameras for remote access.  Designate one instance for external use, and view all your cameras in one place.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/properties.png"><img class="aligncenter size-medium wp-image-346" title="CamServer Camera Properties" src="http://www.daveamenta.com/wp-content/uploads/2010/02/properties-191x300.png" alt="" width="191" height="300" /></a></p>
<p>Record video to AVI for future playback.  Cameras may be designated as public or open-access, or protected with a username/password of your choosing.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/Untitled.png"><img class="aligncenter size-medium wp-image-347" title="CamServer Camera Example" src="http://www.daveamenta.com/wp-content/uploads/2010/02/Untitled-300x246.png" alt="" width="300" height="246" /></a></p>
<p>Camera feeds may include timestamp and response information.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/disconnected.png"><img class="aligncenter size-medium wp-image-348" title="CamServer Disconnected Camera" src="http://www.daveamenta.com/wp-content/uploads/2010/02/disconnected-300x246.png" alt="" width="300" height="246" /></a></p>
<p>If the connection is lost, CamServer will let you know that the device is no longer providing video.</p>
<p>Grab a copy of CamServer and let me know what you think!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-02/what-is-camserver/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Project Deferno</title>
		<link>http://www.daveamenta.com/2010-02/project-deferno/</link>
		<comments>http://www.daveamenta.com/2010-02/project-deferno/#comments</comments>
		<pubDate>Tue, 09 Feb 2010 18:38:02 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Deferno]]></category>
		<category><![CDATA[IRC]]></category>
		<category><![CDATA[WPF]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=341</guid>
		<description><![CDATA[Over the past year or so, a few friends and I had been toying with the idea of a better IRC client, something with an attractive UI, HTML rendered themes, flexible features and, above all, feels like a 21st century piece of software.  mIRC feels horribly dated, how much has really changed since it was run on [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past year or so, a few friends and I had been toying with the idea of a better IRC client, something with an attractive UI, HTML rendered themes, flexible features and, above all, feels like a 21st century piece of software.  mIRC feels horribly dated, how much has really changed since it was run on Win95?</p>
<p>Project Deferno is live today, and available to anyone via ClickOnce deployment.  Functionality is very limited, but development is moving quickly.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/02/deferno.png"><img class="aligncenter size-medium wp-image-342" title="Deferno IRC" src="http://www.daveamenta.com/wp-content/uploads/2010/02/deferno-300x157.png" alt="" width="300" height="157" /></a></p>
<p>Deferno is targeted at Windows 7 with Aero, features may be limited in other configurations.</p>
<p>Download <a href="/deferno/setup.exe">Project Deferno</a>.  [ClickOnce installer]</p>
<p>Support/Questions should be directed to irc://irc.freenode.net/#deferno</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-02/project-deferno/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Download old GVNotifier (1.1)</title>
		<link>http://www.daveamenta.com/2010-02/download-old-gvnotifier-1-1/</link>
		<comments>http://www.daveamenta.com/2010-02/download-old-gvnotifier-1-1/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 17:36:52 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=339</guid>
		<description><![CDATA[For historical/compatibility purposes, I&#8217;m making GVNotifier 1.1 available as a zip download.  Please use the latest version if possible, but if you&#8217;re having a problem that didn&#8217;t exist before, feel free to roll back to the old version until everything gets worked out.
]]></description>
			<content:encoded><![CDATA[<p>For historical/compatibility purposes, I&#8217;m making GVNotifier 1.1 available as a <a href="/download/GVNotifier_110.zip">zip download</a>.  Please use the latest version if possible, but if you&#8217;re having a problem that didn&#8217;t exist before, feel free to roll back to the old version until everything gets worked out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-02/download-old-gvnotifier-1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GVNotifier 1.2 &#8211; let&#8217;s get serious!</title>
		<link>http://www.daveamenta.com/2010-02/gvnotifier-1-2-lets-get-serious/</link>
		<comments>http://www.daveamenta.com/2010-02/gvnotifier-1-2-lets-get-serious/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 19:25:40 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[GVNotifier]]></category>
		<category><![CDATA[GVNotifier.net]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=322</guid>
		<description><![CDATA[I&#8217;ve been hard at work on GVNotifier 1.2 for the last couple of weeks.  Lots of bugfixes and enhancements have been added based on the great feedback I&#8217;ve had via the comments form, widget and the GVNotifier beta group.
This version adds lots of preferences&#8211;so you can use it how you like.
Check out the screenshots:

The contact [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been hard at work on GVNotifier 1.2 for the last couple of weeks.  Lots of bugfixes and enhancements have been added based on the great feedback I&#8217;ve had via the comments form, widget and the <a href="http://groups.google.com/group/gvnotifiernet" target="_blank">GVNotifier beta group</a>.</p>
<p>This version adds lots of preferences&#8211;so you can use it how you like.</p>
<p>Check out the screenshots:</p>
<p><img class="aligncenter size-full wp-image-323" title="contacts" src="http://www.daveamenta.com/wp-content/uploads/2010/02/contacts.png" alt="" width="325" height="468" /></p>
<p>The contact list supports pinning, keep your favorite contacts just a click away.  Contact photos are downloaded from Google Contacts.</p>
<p><img class="aligncenter size-full wp-image-324" title="context" src="http://www.daveamenta.com/wp-content/uploads/2010/02/context.png" alt="" width="338" height="215" /></p>
<p><img class="aligncenter size-full wp-image-325" title="login" src="http://www.daveamenta.com/wp-content/uploads/2010/02/login.png" alt="" width="360" height="415" /></p>
<p>The login experience has been enhanced, if you&#8217;re still unable to login, you may send a detailed error report and I can look over the logs to determine what&#8217;s happening.</p>
<p><img class="aligncenter size-full wp-image-328" title="prefs" src="http://www.daveamenta.com/wp-content/uploads/2010/02/prefs.png" alt="" width="518" height="345" /></p>
<p>Lots of preferences have been added for key features.</p>
<p><img class="aligncenter size-full wp-image-327" title="newcontact" src="http://www.daveamenta.com/wp-content/uploads/2010/02/newcontact.png" alt="" width="357" height="168" /></p>
<p>Quickly call or text new people without having to open a browser to Google Voice.</p>
<p><img class="aligncenter size-full wp-image-326" title="message" src="http://www.daveamenta.com/wp-content/uploads/2010/02/message.png" alt="" width="344" height="388" /></p>
<p>Easily message contacts with multiple numbers.  Just click the number to choose where to send to.</p>
<p>GVNotifier 1.2 is available now, auto-update to the latest version if you already have it installed, or <a href="http://daveamenta.com/gvnotifier/setup.exe" target="_self">Download it here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-02/gvnotifier-1-2-lets-get-serious/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>GVNotifier tutorial video</title>
		<link>http://www.daveamenta.com/2010-01/gvnotifier-tutorial-video/</link>
		<comments>http://www.daveamenta.com/2010-01/gvnotifier-tutorial-video/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 01:38:49 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[GVNotifier]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=302</guid>
		<description><![CDATA[Here&#8217;s a great video that gives an overview of GVNotifier&#8217;s features.

If you can&#8217;t see the video, try here.
]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a great video that gives an overview of GVNotifier&#8217;s features.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="320" height="240" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="quality" value="best" /><param name="bgcolor" value="#1a1a1a" /><param name="allowfullscreen" value="true" /><param name="scale" value="showall" /><param name="allowscriptaccess" value="always" /><param name="flashvars" value="autostart=false&amp;thumb=http://www.supportwiz.info/tutorials/GVN/FirstFrame.png&amp;thumbscale=75&amp;color=0x1A1A1A,0x1A1A1A" /><param name="src" value="http://www.supportwiz.info/tutorials/GVN/GVNotifier_controller.swf" /><embed type="application/x-shockwave-flash" width="320" height="240" src="http://www.supportwiz.info/tutorials/GVN/GVNotifier_controller.swf" flashvars="autostart=false&amp;thumb=http://www.supportwiz.info/tutorials/GVN/FirstFrame.png&amp;thumbscale=75&amp;color=0x1A1A1A,0x1A1A1A" allowscriptaccess="always" scale="showall" allowfullscreen="true" bgcolor="#1a1a1a" quality="best"></embed></object></p>
<p>If you can&#8217;t see the video, <a href="http://www.supportwiz.info/tutorials/GVN/GVNotifier.mp4">try here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-01/gvnotifier-tutorial-video/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>C# Threading Shorthand</title>
		<link>http://www.daveamenta.com/2010-01/c-threading-shorthand/</link>
		<comments>http://www.daveamenta.com/2010-01/c-threading-shorthand/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 01:20:47 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Delegate]]></category>
		<category><![CDATA[Threading]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=292</guid>
		<description><![CDATA[As the complexity of an application increases, often so does the threading complication.  I have two snippets which often come in useful when dealing with threads in C#.
Quickly execute code in the background:

new Thread&#40;&#40;ThreadStart&#41;delegate&#40;&#41;
    &#123;
        // code here is executed on a new thread
  [...]]]></description>
			<content:encoded><![CDATA[<p>As the complexity of an application increases, often so does the threading complication.  I have two snippets which often come in useful when dealing with threads in C#.</p>
<p>Quickly execute code in the background:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">new</span> Thread<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>ThreadStart<span style="color: #000000;">&#41;</span><span style="color: #FF0000;">delegate</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
    <span style="color: #000000;">&#123;</span>
        <span style="color: #008080; font-style: italic;">// code here is executed on a new thread</span>
        <span style="color: #008080; font-style: italic;">// blocking operations will not block the calling thread</span>
    <span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span>.<span style="color: #0000FF;">Start</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span></pre></div></div>

<p>Note that if this code is to be called often, a ThreadPool may be the better choice.  ThreadPools&#8217; have less overhead for instances when many threads would be created and destroyed.</p>
<p>Execute code that manipulates UI:</p>

<div class="wp_syntax"><div class="code"><pre class="csharp" style="font-family:monospace;"> <span style="color: #0600FF;">if</span> <span style="color: #000000;">&#40;</span>Control.<span style="color: #0000FF;">IsHandleCreated</span><span style="color: #000000;">&#41;</span>
<span style="color: #000000;">&#123;</span>
    <span style="color: #0600FF;">try</span>
    <span style="color: #000000;">&#123;</span>
       Control.<span style="color: #0000FF;">Invoke</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#40;</span>MethodInvoker<span style="color: #000000;">&#41;</span><span style="color: #FF0000;">delegate</span><span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
       <span style="color: #000000;">&#123;</span>
            <span style="color: #008080; font-style: italic;">// code here is safe to interact with Control</span>
       <span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #008000;">;</span>
    <span style="color: #000000;">&#125;</span>
    <span style="color: #0600FF;">catch</span><span style="color: #000000;">&#40;</span>Exception<span style="color: #000000;">&#41;</span> 
    <span style="color: #000000;">&#123;</span> 
        <span style="color: #008080; font-style: italic;">// even though IsHandleCreated, Invoke may throw exceptions, they should be </span>
        <span style="color: #008080; font-style: italic;">//  caught and dealt with outside the handling of actual errors</span>
    <span style="color: #000000;">&#125;</span>
<span style="color: #000000;">&#125;</span></pre></div></div>

<p>Replace &#8216;Control&#8217; with &#8216;this&#8217; inside the Form class.  Control may refer to any control created on the UI thread.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-01/c-threading-shorthand/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Search Urban Dictionary with C#</title>
		<link>http://www.daveamenta.com/2010-01/search-urban-dictionary-with-c/</link>
		<comments>http://www.daveamenta.com/2010-01/search-urban-dictionary-with-c/#comments</comments>
		<pubDate>Sat, 23 Jan 2010 00:44:28 +0000</pubDate>
		<dc:creator>Dave</dc:creator>
				<category><![CDATA[Code Snippets]]></category>
		<category><![CDATA[HTML Scraping]]></category>
		<category><![CDATA[RegEx]]></category>
		<category><![CDATA[Urban Dictionary]]></category>
		<category><![CDATA[WebClient]]></category>

		<guid isPermaLink="false">http://www.daveamenta.com/?p=282</guid>
		<description><![CDATA[Here&#8217;s a quick example of how one might scrape the search results from Urban Dictionary.  This shows some nice use of Regular Expressions and WebClient.

(View Text)
Thankfully Urban Dictionary is a very scrape-friendly site, finding results is as easy as locating two div&#8217;s and extracting the contents.
UrbanDictionary.Search(string); will return a list of key-value pairs which contain [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick example of how one might scrape the search results from <a href="http://www.urbandictionary.com">Urban Dictionary</a>.  This shows some nice use of Regular Expressions and WebClient.</p>
<p><a href="http://www.daveamenta.com/wp-content/uploads/2010/01/code.png"><img class="aligncenter size-full wp-image-289" title="code" src="http://www.daveamenta.com/wp-content/uploads/2010/01/code.png" alt="" width="500" height="350" /></a></p>
<p>(<a href="/ud_code.txt">View Text</a>)</p>
<p>Thankfully Urban Dictionary is a very scrape-friendly site, finding results is as easy as locating two div&#8217;s and extracting the contents.</p>
<p>UrbanDictionary.Search(string); will return a list of key-value pairs which contain the word as the key, and the Urban Dictionary definition as the value.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.daveamenta.com/2010-01/search-urban-dictionary-with-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
