<?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>Ratchet Developer Labs</title>
	<atom:link href="http://labs.ratchet.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.ratchet.com</link>
	<description>Leave The Heavy Lifting to Us</description>
	<lastBuildDate>Thu, 10 Nov 2011 22:23:01 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Steve was right</title>
		<link>http://labs.ratchet.com/702/steve-was-right/</link>
		<comments>http://labs.ratchet.com/702/steve-was-right/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 05:44:47 +0000</pubDate>
		<dc:creator>ddittmer</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Interesting]]></category>
		<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://labs.ratchet.com/?p=702</guid>
		<description><![CDATA[Today, Adobe released an official announcement* of their intention to stop further development of Flash on mobile browsers. Although they will continue to support standalone Flash applications developed with AIR (to be consumed via app stores), their withdrawl from the mobile web will have a huge impact on web development everywhere. Consider the fact that [...]]]></description>
			<content:encoded><![CDATA[<p>Today, Adobe released an official announcement* of their intention to stop further development of Flash on mobile browsers. Although they will continue to support standalone Flash applications developed with AIR (to be consumed via app stores), their withdrawl from the mobile web will have a huge impact on web development everywhere.</p>
<p>Consider the fact that mobile devices now account for about 7% of all internet traffic**, and this figure is projected to continue skyrocketing over the coming years. Site operators want their content to be accessible by all types of users, and will more than likely think twice about alienating this growing segment of the market before investing heavily in new Flash content. Will this result in the gradual phasing out of all Flash on the web? We shall see&#8230;</p>
<p>&nbsp;</p>
<p>*<a title="http://blogs.adobe.com/conversations/2011/11/flash-focus.html" href="http://blogs.adobe.com/conversations/2011/11/flash-focus.html" target="_blank">http://blogs.adobe.com/conversations/2011/11/flash-focus.html</a></p>
<p>**<a title="http://bits.blogs.nytimes.com/2011/10/12/mobile-accounts-for-7-percent-of-web-traffic-report-says/" href="http://bits.blogs.nytimes.com/2011/10/12/mobile-accounts-for-7-percent-of-web-traffic-report-says/" target="_blank">http://bits.blogs.nytimes.com/2011/10/12/mobile-accounts-for-7-percent-of-web-traffic-report-says/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ratchet.com/702/steve-was-right/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Breaking up with Firefox</title>
		<link>http://labs.ratchet.com/695/breaking-up-with-firefox/</link>
		<comments>http://labs.ratchet.com/695/breaking-up-with-firefox/#comments</comments>
		<pubDate>Thu, 22 Sep 2011 03:43:14 +0000</pubDate>
		<dc:creator>ghilal</dc:creator>
				<category><![CDATA[Interesting]]></category>
		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://labs.ratchet.com/?p=695</guid>
		<description><![CDATA[Firefox the browser for the cool kids and developers has finally come to end for me.  It is not fun having your browser crash 5 times a day.  It reminds of the days when I switched to IE 5.5 from Netscape for the same reasons. The other day I was looking at our phone system&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Firefox the browser for the cool kids and developers has finally come to end for me.  It is not fun having your browser crash 5 times a day.  It reminds of the days when I switched to IE 5.5 from Netscape for the same reasons.</p>
<p>The other day I was looking at our phone system&#8217;s dashboard and saw this message.</p>
<p><img class="alignnone size-full wp-image-696" title="warning" src="http://labs.ratchet.com/wp-content/uploads/2011/09/warning.png" alt="" width="707" height="108" /></p>
<p>Firefox we had some good times but I have moved backed to my old friend IE.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ratchet.com/695/breaking-up-with-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manage Multiple Sites in IIS Locally, Easier</title>
		<link>http://labs.ratchet.com/679/manage-multiple-sites-in-iis-locally-easier/</link>
		<comments>http://labs.ratchet.com/679/manage-multiple-sites-in-iis-locally-easier/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 16:18:36 +0000</pubDate>
		<dc:creator>ghilal</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[IIS7]]></category>

		<guid isPermaLink="false">http://labs.ratchet.com/?p=679</guid>
		<description><![CDATA[I have never been a big fan of the built in web server that comes with Visual Studio.  It was something that was there and worked for basic testing but  it never really reflected a true IIS environment. On my local work station I would always try to use the built in IIS server for [...]]]></description>
			<content:encoded><![CDATA[<p>I have never been a big fan of the built in web server that comes with Visual Studio.  It was something that was there and worked for basic testing but  it never really reflected a true IIS environment.</p>
<p>On my local work station I would always try to use the built in IIS server for development/testing.  On windows XP it was a not fun, but, when IIS7 came out on workstations it was awesome.  I finally had a real IIS environment for development/testing, but there was still an issue with managing different sites.  The main issue was managing the domain name and setting the host header.  Every time I added a site I had to update the host file with mappings of  xyz.site.com to 127.0.0.1. Not a big deal for myself but when there was a team of  developers it became a pain to manage all the initial setups.</p>
<p>To help make the setup process easier we registered a new domain called ratchetlocal.com.  A public wild card DNS entry was added to point *.ratchetlocal.com to 127.0.0.1.   For setup in IIS all it required was setting the host header, which you had to do anyways (or change ports) to have mutiple sites.</p>
<p>Now setup  for local  .NET/IIS sites are easier.  With this setup we have the ability to test sites with multiple domains and also with ISAPI/Domain rules easier.</p>
<p>We have also extended this for local WordPress sites and it works well for that.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ratchet.com/679/manage-multiple-sites-in-iis-locally-easier/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ratchet Sound Board</title>
		<link>http://labs.ratchet.com/668/ratchet-sound-board/</link>
		<comments>http://labs.ratchet.com/668/ratchet-sound-board/#comments</comments>
		<pubDate>Wed, 29 Jun 2011 18:53:34 +0000</pubDate>
		<dc:creator>mkrebs</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Project]]></category>
		<category><![CDATA[Android]]></category>

		<guid isPermaLink="false">http://labs.ratchet.com/?p=668</guid>
		<description><![CDATA[The app in an hour went well&#8230;a few missteps but overall not to bad. If you would like the source code for what I went through you can find it here. http://code.google.com/p/ratchet-sound-board/downloads/list]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">The app in an hour went well&#8230;a few missteps but overall not to bad.  If you would like the source code for what I went through you can find it here.</p>
<p style="text-align: center;"><a rel="attachment wp-att-671" href="http://labs.ratchet.com/668/ratchet-sound-board/soundboard1/"><img class="size-medium wp-image-671 aligncenter" title="soundboard1" src="http://labs.ratchet.com/wp-content/uploads/2011/06/soundboard1-168x300.png" alt="" width="168" height="300" /></a></p>
<p style="text-align: left;"><a href="http://code.google.com/p/ratchet-sound-board/downloads/list">http://code.google.com/p/ratchet-sound-board/downloads/list</a></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ratchet.com/668/ratchet-sound-board/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Analytics IQ Test</title>
		<link>http://labs.ratchet.com/662/google-analytics-iq-test/</link>
		<comments>http://labs.ratchet.com/662/google-analytics-iq-test/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 15:19:05 +0000</pubDate>
		<dc:creator>skampshoff</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://labs.ratchet.com/?p=662</guid>
		<description><![CDATA[When I graduated from college I was excited since that meant I wouldn&#8217;t have to take another exam again save things like pub trivia quiz and the occasional eye exam. Sadly, that may have been a little premature because I recently took the Google Analytics IQ (Individual Qualification) exam. Luckily, this was a topic I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>When I graduated from college I was excited since that meant I wouldn&#8217;t have to take another exam again save things like pub trivia quiz and the occasional eye exam. Sadly, that may have been a little premature because I recently took the Google Analytics IQ (Individual Qualification) exam. Luckily, this was a topic I&#8217;m interested in and it was overall a good experience. The test is for people who want to become proficient in all things Google Analytics and while I had worked with a lot of the basics within GA, I hadn&#8217;t had a chance to look into the more involved features like goals, eCommerce tracking, etc.</p>
<p>To prepare for the exam, Google provides an online course of presentations which cover all of the features and functionality. They go all the way from accessing GA for the first time to detailed topics like using regular expressions in filters. If you have access to an existing Google Analytics accounts I recommend following along in it while you go through the presentations. The presentations are good but seeing the features in action can be beneficial. Another helpful hint is that within the presentations there&#8217;s a Notes tab where you can view all of the voice over text. The people doing the voice overs are perfectly fine but if you&#8217;re less likely to focus on the audio like I am or you&#8217;re attempting to go back to a presentation and review this can be helpful and faster.</p>
<p>The exam itself costs $50 and consists of 70 multiple choice questions. You&#8217;re given a time limit of 90 minutes to finish however the test can be paused over the course of 5 days. The pause feature is great so you don&#8217;t have to be worried about completing the exam in one fell swoop. Although, don&#8217;t make the mistake of thinking that you can multitask because you may forget to pause the exam. Then you may find yourself wanting those precious seconds back that could have been spent looking over questions that you marked for review. I may or may not have done this.</p>
<p>The test questions themselves were definitely challenging. Many of them truly require you to apply the knowledge that you learned throughout the presentations and are not merely regurgitation of material. Granted, there were a few softball questions like what cookies are but by and large they were more difficult.</p>
<p>Once completed, you&#8217;re automatically given your score as a percentage and told whether or not you passed. 80% and above is passing for the exam and once you&#8217;ve passed you&#8217;re given a link that you can give out to anyone if you wish to share with them your Google Analytics proficiency level. The link can be customized to display your score or merely display the fact that you passed. The latter is useful if you may not have fared as well as you had hoped. Once again, I may or may not have done this.</p>
<p>I would definitely recommend watching the presentations and taking the exam to anyone who’s looking to expand their knowledge of Google Analytics. It will take you beyond the simple page view and visit metrics and hopefully lead you toward improving your websites or those of your clients.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ratchet.com/662/google-analytics-iq-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JS tools for design/development</title>
		<link>http://labs.ratchet.com/652/js-tools-for-designdevelopment/</link>
		<comments>http://labs.ratchet.com/652/js-tools-for-designdevelopment/#comments</comments>
		<pubDate>Fri, 10 Jun 2011 14:26:59 +0000</pubDate>
		<dc:creator>jhays</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Interesting]]></category>
		<category><![CDATA[front-end development]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://labs.ratchet.com/?p=652</guid>
		<description><![CDATA[We&#8217;re all familiar with Firebug, Developer Tools, and Fiddler- some of our go-to tools used with development here at Ratchet. Here are a couple other tools I&#8217;ve recently come across that will come in handy: First, check out live.js. This is a neat tool for design- if you include this js file on your page, [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;re all familiar with Firebug, Developer Tools, and Fiddler- some of our go-to tools used with development here at Ratchet. Here are a couple other tools I&#8217;ve recently come across that will come in handy:</p>
<p>First, check out <a href="http://livejs.com/" target="_blank">live.js</a>. This is a neat tool for design- if you include this js file on your page, it will send requests to refresh the &lt;head&gt;. It will automatically and dynamically apply CSS changes to the webpage, and if it detects HTML or JS changes it will auto-refresh the page. As they describe on their site, &#8220;Say goodbye to Alt-Tab. Live.js makes sure you&#8217;re always looking at the latest version of the page you&#8217;re working on, whether you&#8217;re writing HTML, CSS or Javascript.&#8221;</p>
<p>Live.js has a live demo available <a href="http://livejs.com/demo" target="_blank">here</a>.</p>
<p>Second, check out <a href="http://www.sprymedia.co.uk/article/Visual%2BEvent" target="_blank">Visual Event</a>. This is a really neat JS tool user for identifying Events tied to elements on a page. All you need to do is save the JS as a bookmark in your browser. Then, click on the bookmark while viewing a web page, and it will add some visual cues to represent JS Events tied to elements on the page. This allows you to hover over  the element, and it will show a floating window with the JS code that is triggered by this element, whether on click, change, load, unload, and so on. Very useful for hunting down JQuery events tied to button clicks!</p>
<p>And lastly here is another cool HTML/CSS/JS tool that Charlie showed me this morning: <a href="http://jsfiddle.net/">http://jsfiddle.net/ </a>- this site allows you to play around with CSS, JS, and HTML all on one page.</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ratchet.com/652/js-tools-for-designdevelopment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Phone 7 Application Live &#8211; ShotShakr</title>
		<link>http://labs.ratchet.com/627/windows-phone-7-application-live-shotshakr/</link>
		<comments>http://labs.ratchet.com/627/windows-phone-7-application-live-shotshakr/#comments</comments>
		<pubDate>Wed, 01 Jun 2011 19:19:26 +0000</pubDate>
		<dc:creator>ghilal</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Interesting]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Windows 7 Mobile]]></category>

		<guid isPermaLink="false">http://labs.ratchet.com/?p=627</guid>
		<description><![CDATA[We recently went through the process of deploying a Windows Mobile 7 Application to the Microsoft&#8217;s Market Place. The process was not too bad and only took a few days from time of submission to going live. Our first submission was rejected due to a missing icon for the home screen and some questionable content [...]]]></description>
			<content:encoded><![CDATA[<p>We recently went through the process of deploying a Windows Mobile 7 Application to the Microsoft&#8217;s Market Place.   The process was not too bad and only took a few days from time of submission to going live.  Our first submission was rejected due to a missing icon for the home screen and some questionable content issues (I guess swear words are a no no).  It was nice to see that a review of some sort took place.</p>
<p>I am not a Windows Phone 7 convert yet but I am very pleased with how the phone works and how to develop applications for it.</p>
<p>If you have a windows phone check out ShotShakr  and provide some feedback (good or bad).  Version 1.4 coming out very soon.</p>
<p>A few screen shots from the app.</p>
<p><img class="alignnone size-medium wp-image-640" title="screen3a" src="http://labs.ratchet.com/wp-content/uploads/2011/06/screen3a-180x300.png" alt="" width="180" height="300" /> <img class="alignnone size-medium wp-image-641" title="screen4a" src="http://labs.ratchet.com/wp-content/uploads/2011/06/screen4a-180x300.png" alt="" width="180" height="300" /></p>
<p><img class="alignnone size-medium wp-image-638" title="screen1a" src="http://labs.ratchet.com/wp-content/uploads/2011/06/screen1a-180x300.png" alt="" width="180" height="300" /> <img class="alignnone size-medium wp-image-639" title="screen2a" src="http://labs.ratchet.com/wp-content/uploads/2011/06/screen2a-180x300.png" alt="" width="180" height="300" /></p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ratchet.com/627/windows-phone-7-application-live-shotshakr/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android: AsyncTask, UI Threading made easy</title>
		<link>http://labs.ratchet.com/630/android-asynctask-ui-threading-made-easy/</link>
		<comments>http://labs.ratchet.com/630/android-asynctask-ui-threading-made-easy/#comments</comments>
		<pubDate>Thu, 26 May 2011 21:15:49 +0000</pubDate>
		<dc:creator>mkrebs</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Android]]></category>
		<category><![CDATA[Efficient Coding]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Threading]]></category>

		<guid isPermaLink="false">http://labs.ratchet.com/?p=630</guid>
		<description><![CDATA[AsynkTask is a class that allows for easy use of UI Threading. AsyncTask allows you to preform background tasks in a separate thread with out disrupting the UI thread. In ShotShakr 2.0 I am using AsyncTask to filter the list of shots when a filter is selected. In order to use AsyncTask it must be [...]]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://labs.ratchet.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushJava.js"></script>
<p>AsynkTask is a class that allows for easy use of UI Threading.  AsyncTask allows you to preform background tasks in a separate thread with out disrupting the UI thread.  In ShotShakr 2.0 I am using AsyncTask to filter the list of shots when a filter is selected. In order to use AsyncTask it must be subclassed and override at least one method (doInBackground(Params&#8230; )).</p>
<p>Here is ShotShakr&#8217;s UpdateShot Class.  Here i am passing in the list of filters and shots.</p>
<p><pre class="brush: java">private class UpdateShots extends AsyncTask&lt;String, Void, ArrayList&lt;Shot&gt;&gt; {

	    	private ArrayList&lt;String&gt; aFilters;
	    	private ArrayList&lt;Shot&gt; aShots;
	   	
	    	public UpdateShots(ArrayList&lt;String&gt; filters, ArrayList&lt;Shot&gt; allShots){
	    	  	aFilters = filters;
	    		aShots = allShots;
	    	}
	   	
	   		
	    	
	    }
</pre></p>
<p>doinbackground method does the work of the filtering and after completion postExecute gets fired.  Here is where i update the UI Thread with the results.<br />
<pre class="brush: java">	@Override
	    	protected void onPostExecute(ArrayList&lt;Shot&gt; result) {
	    		//Update UI Thread
	    		shotpicker.this.filteredShots = result;
	    	}


	    	@Override
	    	protected ArrayList&lt;Shot&gt; doInBackground(String... params) {
	    		ArrayList&lt;Shot&gt; newShots = new ArrayList&lt;Shot&gt;();
	   		
	    			//filter shots
                                // add to new list
	   		
	   		//sends to postexecute
	    		return newShots;
	    	}
</pre></p>
<p>Here is how to fire of the AsyncTask<br />
<pre class="brush: java">new UpdateShots(filters,allShots).execute();</pre></p>
<p>See a more detailed how to http://developer.android.com/reference/android/os/AsyncTask.html</p>
<p>Cheers</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ratchet.com/630/android-asynctask-ui-threading-made-easy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automating made easy with Selenium IDE (integrated Development Environment)</title>
		<link>http://labs.ratchet.com/614/automating-made-easy-with-selenium-ide-integrated-development-environment/</link>
		<comments>http://labs.ratchet.com/614/automating-made-easy-with-selenium-ide-integrated-development-environment/#comments</comments>
		<pubDate>Mon, 25 Apr 2011 19:07:02 +0000</pubDate>
		<dc:creator>dfletcher</dc:creator>
				<category><![CDATA[How To]]></category>
		<category><![CDATA[Automated Testing]]></category>
		<category><![CDATA[Selenium]]></category>

		<guid isPermaLink="false">http://labs.ratchet.com/?p=614</guid>
		<description><![CDATA[WHAT IT’S GOOD FOR Test automation has specific advantages for improving the long-term efficiency of a software team’s testing processes. Test automation supports: Frequent regression testing Rapid feedback to developers Virtually unlimited iterations of test case execution Support for Agile and extreme development methodologies Disciplined documentation of test cases Customized defect reporting Finding defects missed [...]]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://labs.ratchet.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushJava.js"></script>
<p>WHAT IT’S GOOD FOR</p>
<p>Test automation has specific advantages for improving the long-term efficiency of a software team’s testing processes. Test automation supports:</p>
<ul>
<li>Frequent regression testing</li>
<li>Rapid feedback to developers</li>
<li>Virtually unlimited iterations of test case execution</li>
<li>Support for Agile and extreme development methodologies</li>
<li>Disciplined documentation of test cases</li>
<li>Customized defect reporting</li>
<li>Finding defects missed by manual testing</li>
</ul>
<p>When to automate, and when not to&#8230;</p>
<p>If the application’s user interface will change considerably in the near future, then any automation might need to be rewritten anyway. Also, sometimes there simply is not enough time to build test automation. For the short term, sometimes manual testing can be more effective.</p>
<p>An example of the most commonly used Selenium Commands  (See the first link below for exact process to implement)</p>
<p><span style="text-decoration: underline;">Open: </span>opens a page using a URL.</p>
<p><span style="text-decoration: underline;">click/clickAndWait: </span>performs a click operation, and optionally waits for a new page to load.</p>
<p><span style="text-decoration: underline;">verifyTitle/assertTitle: </span>verifies an expected page title.</p>
<p><span style="text-decoration: underline;">verifyTextPresent: </span>verifies expected text is somewhere on the page.</p>
<p><span style="text-decoration: underline;">verifyElementPresent: </span>verifies an expected UI element, as defined by its HTML tag, is present on the page.</p>
<p><span style="text-decoration: underline;">verifyText: </span>verifies expected text and it’s corresponding HTML tag are present on the page.</p>
<p><span style="text-decoration: underline;">verifyTable: </span>verifies a table’s expected contents.</p>
<p><span style="text-decoration: underline;">waitForPageToLoad: </span>pauses execution until an expected new page loads. Called automatically when clickAndWait is used.</p>
<p><span style="text-decoration: underline;">waitForElementPresent: </span>pauses execution until an expected UI element, as defined by its HTML tag, is present on the page.</p>
<p><strong> </strong></p>
<p>Links for more info (in order from most important to least):</p>
<p>http://seleniumhq.org/docs/02_selenium_ide.html#chapter02-reference</p>
<p><a href="http://seleniumhq.org/docs/01_introducing_selenium.html#test-automation-for-web-applications">http://seleniumhq.org/docs/01_introducing_selenium.html#test-automation-for-web-applications</a></p>
<p><a href="http://oshyn.com/_blog/Software_Development/post/Selenium-IDE-Automated-Testing/">http://oshyn.com/_blog/Software_Development/post/Selenium-IDE-Automated-Testing/</a></p>
<p>http://www.nickbartlett.com/wordpress/must-know-commands-for-selenium-ide/</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ratchet.com/614/automating-made-easy-with-selenium-ide-integrated-development-environment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Running Command Line Bat Files From a Web Page ASP.NET C#</title>
		<link>http://labs.ratchet.com/566/running-command-line-bat-files-from-web-page-asp-net-c/</link>
		<comments>http://labs.ratchet.com/566/running-command-line-bat-files-from-web-page-asp-net-c/#comments</comments>
		<pubDate>Fri, 15 Apr 2011 04:29:01 +0000</pubDate>
		<dc:creator>ghilal</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[Utility]]></category>

		<guid isPermaLink="false">http://labs.ratchet.com/?p=566</guid>
		<description><![CDATA[We needed the ability to run some batch processes without having to remote to the server.   I put together a small  ASP.NET app that allowed us to do this.  Found some code for running standard command line application through .NET and modified/extended it to work through a web interface. Here is the code that does the bulk [...]]]></description>
			<content:encoded><![CDATA[            <script type="text/javascript" src="http://labs.ratchet.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushJava.js"></script>
            <script type="text/javascript" src="http://labs.ratchet.com/wp-content/plugins/wordpress-code-snippet/scripts/shBrushCSharp.js"></script>
<p>We needed the ability to run some batch processes without having to remote to the server.   I put together a small  ASP.NET app that allowed us to do this.  Found some code for running standard command line application through .NET and modified/extended it to work through a web interface.</p>
<p>Here is the code that does the bulk of the of the work for running the bat files.<br />
<pre class="brush: csharp">public static string ProcessBatFile(string batFile)
{
            string val = &quot;&quot;;

            if (!File.Exists(batFile))
            {
                throw new Exception(batFile + &quot; does not exists&quot;);
            }

            // Create the ProcessInfo object
            System.Diagnostics.ProcessStartInfo psi =
                    new System.Diagnostics.ProcessStartInfo(&quot;cmd.exe&quot;);
            psi.UseShellExecute = false;
            psi.RedirectStandardOutput = true;
            psi.RedirectStandardInput = true;
            psi.RedirectStandardError = true;

            // Start the process
            System.Diagnostics.Process proc =
                       System.Diagnostics.Process.Start(psi);

            // Open the batch file for reading
            System.IO.StreamReader strm = proc.StandardError;
            // Attach the output for reading
            System.IO.StreamReader sOut = proc.StandardOutput;

            // Attach the in for writing
            System.IO.StreamWriter sIn = proc.StandardInput;

            // Write each line of the batch file to standard input
            /*while(strm.Peek() != -1)
            {
                sIn.WriteLine(strm.ReadLine());
            }*/
            sIn.WriteLine(batFile);
            strm.Close();

            // Exit CMD.EXE
            string stEchoFmt = &quot;# {0} run successfully. Exiting&quot;;

            sIn.WriteLine(String.Format(stEchoFmt, batFile));
            sIn.WriteLine(&quot;EXIT&quot;);

            // Close the process
            proc.Close();

            // Read the sOut to a string.
            string results = sOut.ReadToEnd().Trim();

            // Close the io Streams;
            sIn.Close();
            sOut.Close();

            val = results;

            return val;
}</pre></p>
<p>I created CMD prompt in CSS to make it look legit. It just displays the captured output from the method above.</p>
<p><img class="alignnone size-large wp-image-607" title="commander" src="http://labs.ratchet.com/wp-content/uploads/2011/04/commander1-1024x771.png" alt="" width="750" /></p>
<p>This can be extremely unsafe for a server.  Your sys admin should question setting something like this up.  Please let them know there are steps that can be taken to help make this a safe process such as requiring authentication to access this script and only allow the bat files to run from set directory.</p>
]]></content:encoded>
			<wfw:commentRss>http://labs.ratchet.com/566/running-command-line-bat-files-from-web-page-asp-net-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

