<?xml version="1.0" encoding="UTF-8"?><rss version="0.92">
<channel>
	<title>Anthony Long</title>
	<link>http://antlong.com</link>
	<description></description>
	<lastBuildDate>Wed, 28 Jul 2010 15:08:19 +0000</lastBuildDate>
	<docs>http://backend.userland.com/rss092</docs>
	<language>en</language>
	<!-- generator="WordPress/3.0" -->

	<item>
		<title>Run Selenium Cases Through A Web Interface</title>
		<description><![CDATA[I&#8217;ve heard a couple of people ask how to run Selenium test cases through a web interface with python. Here is how you do it. I do not recommend this. Some cases can take over 30-60 seconds to run, and would cause the browser to time out before it finished, which would render the case, [...]]]></description>
		<link>http://antlong.com/run-selenium-cases-through-a-web-interface/</link>
			</item>
	<item>
		<title>Nose print bug fixed</title>
		<description><![CDATA[I fixed the nose print bug, where the first run of a test with a print statement would pass but any run thereafter would fail. Get the fix here: http://github.com/antlong/nose If you see this error, then you need to checkout my fix: ERROR: test.test &#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;- Traceback (most recent call last): File &#34;/opt/local/Library/Frameworks/Python.framework/Versions/2.6/lib/python2.6/site-packages/nose/case.py&#34;, line 188, in [...]]]></description>
		<link>http://antlong.com/nose-print-bug-fixed/</link>
			</item>
	<item>
		<title>Python Credit Card Generator</title>
		<description><![CDATA[from random import Random import copy generator = Random() generator.seed() def creditcard(type=&#34;&#34;): def credit_card_number(generator, prefixList, length): def _completed_number(prefix, length): ccnumber = prefix while len(ccnumber) &#60; (length - 1): digit = generator.choice(['0', '1', '2', '3', '4', '5', '6', '7', '8', '9']) ccnumber.append(digit) sum, pos = (0, 0) reversedCCnumber = [] reversedCCnumber.extend(ccnumber) reversedCCnumber.reverse() while pos &#60; length [...]]]></description>
		<link>http://antlong.com/python-credit-card-generator/</link>
			</item>
	<item>
		<title>Run concurrent processes</title>
		<description><![CDATA[import signal import subprocess, os signal.alarm(5) def oh_crap(*args): def _inner(*a): for pid in args: print &#34;Killing %d&#34; % pid os.kill(pid, signal.SIGKILL) return _inner p1 = subprocess.Popen([&#34;/usr/bin/python&#34;, &#34;alarmer.py&#34;]) p2 = subprocess.Popen([&#34;/usr/bin/python&#34;, &#34;alarmer.py&#34;]) signal.signal(signal.SIGALRM, oh_crap(p1.pid, p2.pid)) pid, sts = os.waitpid(p1.pid, 0) pid, sts = os.waitpid(p2.pid, 0) print &#34;Done.&#34;]]></description>
		<link>http://antlong.com/run-concurrent-processes/</link>
			</item>
	<item>
		<title>Giant List of Data Models</title>
		<description><![CDATA[I was searching for a list of common data models for picka. What I came across was this monster listing. http://www.databaseanswers.org/data_models/]]></description>
		<link>http://antlong.com/giant-list-of-data-models/</link>
			</item>
	<item>
		<title>The Strain</title>
		<description><![CDATA[]]></description>
		<link>http://antlong.com/the-strain/</link>
			</item>
	<item>
		<title>Twitter your build status with Twildbot.</title>
		<description><![CDATA[This is a tiny script which will get the current status of your build, and tweet it to your twitter account. Enjoy. #!/usr/bin/env python # Watch builds on buildbot and publish to twitter from time import time, sleep from xmlrpclib import ServerProxy from urllib import urlopen user, password = &#34;USERNAME&#34;, &#34;PASSWORD&#34; bbot_url = &#34;http://buildbot.example.com/xmlrpc&#34; tweet_url [...]]]></description>
		<link>http://antlong.com/twitter-your-build-status-with-twildbot/</link>
			</item>
	<item>
		<title>Adding JQuery Locators to Selenium</title>
		<description><![CDATA[It&#8217;s very simple to add jquery functionality to your selenium installation, and also very useful if you use the functions a lot. Add this to RemoteRunner.html &#60;script language=&#34;JavaScript&#34; type=&#34;text/javascript&#34; src=&#34;lib/jquery.min.js&#34;&#62;&#60;/script&#62; &#60;script language=&#34;JavaScript&#34; type=&#34;text/javascript&#34;&#62; function openDomViewer() { var autFrame = document.getElementById('selenium_myiframe'); var autFrameDocument = new SeleniumFrame(autFrame).getDocument(); this.rootDocument = autFrameDocument; var domViewer = window.open(getDocumentBase(document) + 'domviewer/domviewer.html'); return [...]]]></description>
		<link>http://antlong.com/adding-jquery-locators-to-selenium/</link>
			</item>
	<item>
		<title>Selenium on the cloud, with Amazon EC2</title>
		<description><![CDATA[I am currently writing a doc which aims to provide directions, analysis and benefits of using selenium in the cloud, with Amazon&#8217;s EC2. Included in the write-up, is Boto vs. Twisted Amazon. Essentially they are the same, the main difference being, Boto is &#8216;blocking&#8217; while TxAWS is &#8216;non-blocking&#8217;. Coming soon. # Outline Boto vs Twisted [...]]]></description>
		<link>http://antlong.com/selenium-on-the-cloud-with-amazon-ec2/</link>
			</item>
	<item>
		<title>iTunes: One key song deletion.</title>
		<description><![CDATA[This AppleScript snippet will allow you to assign a key to instantly move the currently playing song to your trash. To set this, put it in ~/Library/iTunes/Scripts then assign the hotkey via System Preferences. global addenda tell application &#34;iTunes&#34; if player state is not stopped then set ofi to fixed indexing set fixed indexing to [...]]]></description>
		<link>http://antlong.com/itunes-one-key-song-deletion/</link>
			</item>
</channel>
</rss>
