<?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>techrobatics.com</title>
	<atom:link href="http://www.techrobatics.com/feed" rel="self" type="application/rss+xml" />
	<link>http://www.techrobatics.com</link>
	<description>Sysadmin Ex Machina</description>
	<lastBuildDate>Wed, 07 Sep 2011 14:59:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>Migration Complete</title>
		<link>http://www.techrobatics.com/news/migration-complete</link>
		<comments>http://www.techrobatics.com/news/migration-complete#comments</comments>
		<pubDate>Wed, 07 Sep 2011 14:59:50 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[News]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/?p=324</guid>
		<description><![CDATA[I&#8217;ve moved the site from Slicehost to Linode. Everything appears to be working. I&#8217;ll have more details about the decision later. For now, let&#8217;s just all be glad it works.]]></description>
		<wfw:commentRss>http://www.techrobatics.com/news/migration-complete/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Versus Ruby &#8211; Part 2</title>
		<link>http://www.techrobatics.com/coding/python-versus-ruby-part-2</link>
		<comments>http://www.techrobatics.com/coding/python-versus-ruby-part-2#comments</comments>
		<pubDate>Tue, 26 Oct 2010 02:37:32 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/?p=286</guid>
		<description><![CDATA[In this example, I try something a bit more complicated. This was originally done in Ruby, as an exercise for an interview, but I&#8217;ve decided to make it a bake-off post to follow up from last month. What follows is mostly a linguistic analysis. In the coming months, I&#8217;ll start doing performance and reliability comparisons [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/coding/python-versus-ruby-part-2/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Versus Ruby &#8211; Part 1</title>
		<link>http://www.techrobatics.com/coding/python-versus-ruby</link>
		<comments>http://www.techrobatics.com/coding/python-versus-ruby#comments</comments>
		<pubDate>Wed, 15 Sep 2010 19:33:08 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[comparison]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/?p=275</guid>
		<description><![CDATA[I&#8217;m experimenting with comparative differences in Python and Ruby. Here is an example from each language, designed to do exactly the same thing: go and get a copy of &#8220;A Comedy of Errors&#8221; from Gutenberg, and dump it to the console. Not too useful, but interesting from the perspective of seeing how the two languages [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/coding/python-versus-ruby/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Random Word Generator</title>
		<link>http://www.techrobatics.com/coding/python-random-word-generator</link>
		<comments>http://www.techrobatics.com/coding/python-random-word-generator#comments</comments>
		<pubDate>Tue, 14 Sep 2010 19:39:16 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[random]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/?p=269</guid>
		<description><![CDATA[Did this one just for the fun of it. Please feel free to use it as you see fit. #!/usr/bin/env python import urllib2 import random import string class RandomItems(object): """This is the root class for the randomizer subclasses. These are used to generate arbitrary content for each of the fields in a csv file data [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/coding/python-random-word-generator/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VBScript Admin Utilities</title>
		<link>http://www.techrobatics.com/admins/vbscript-admin-utilities</link>
		<comments>http://www.techrobatics.com/admins/vbscript-admin-utilities#comments</comments>
		<pubDate>Wed, 21 Jul 2010 04:56:27 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cygwin]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[vbscript]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/?p=254</guid>
		<description><![CDATA[I&#8217;ve been working on a project for a friend of mine, over the last couple weeks. He&#8217;s using a Windows 2003 Server, with IIS 6. I&#8217;m not uncomfortable working from a Windows command shell, but my own personal preference is bash. He&#8217;s also got a tight budget for bandwidth, so Cygwin is the way to [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/admins/vbscript-admin-utilities/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1 AND ASCII(LOWER(SUBSTRING((SELECT TOP 1 name FROM sysobjects WHERE xtype=&#8217;U&#039;), 1, 1))) &gt; 116</title>
		<link>http://www.techrobatics.com/admins/1-or-11</link>
		<comments>http://www.techrobatics.com/admins/1-or-11#comments</comments>
		<pubDate>Fri, 09 Jul 2010 00:40:44 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[sql injection]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/wordpress/?p=136</guid>
		<description><![CDATA[The title of this post is actually an attempted SQL Injection I did against my own website, right here. It populated the title of a new post, just as you see here above. Fortunately, it was the only injection of about 600 that succeeded. Y&#8217;all might want to look for the &#8220;SQL Inject Me&#8221; Plugin [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/admins/1-or-11/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automating FogBugz With Python</title>
		<link>http://www.techrobatics.com/coding/automating-fogbugz-with-python</link>
		<comments>http://www.techrobatics.com/coding/automating-fogbugz-with-python#comments</comments>
		<pubDate>Thu, 01 Jul 2010 19:21:51 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[automation]]></category>
		<category><![CDATA[fogbugz]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/wordpress/?p=116</guid>
		<description><![CDATA[I&#8217;ve created a git repository to house a new project I&#8217;ve started, to build a common set of functional utilities for FogBugz. You can find all the links on my projects page.]]></description>
		<wfw:commentRss>http://www.techrobatics.com/coding/automating-fogbugz-with-python/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rexx To Python In Functions</title>
		<link>http://www.techrobatics.com/coding/rexx-to-python-in-functions</link>
		<comments>http://www.techrobatics.com/coding/rexx-to-python-in-functions#comments</comments>
		<pubDate>Thu, 01 Jul 2010 04:59:23 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[languages]]></category>
		<category><![CDATA[ports]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rexx]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/wordpress/?p=109</guid>
		<description><![CDATA[The following is a collection of little &#8220;translation&#8221; functions I wrote in python, so that I could wax nostalgic about my days as a Rexx automation programmer, while coding in Python. It&#8217;s by no means a COMPLETE list, and the list is by no means complete, either. But I thought I&#8217;d post it here for [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/coding/rexx-to-python-in-functions/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Using python to create Amazon S3 Backups</title>
		<link>http://www.techrobatics.com/admins/using-python-to-create-amazon-s3-backups</link>
		<comments>http://www.techrobatics.com/admins/using-python-to-create-amazon-s3-backups#comments</comments>
		<pubDate>Mon, 28 Jun 2010 23:02:13 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[Amazon S3]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[boto]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/wordpress/?p=105</guid>
		<description><![CDATA[The following script is a rudimentary attempt at ( 1 ) understanding the BOTO API kit for Amazon S3, and ( 2 ) ending up with something functionally useful for the average web system administrator. I&#8217;ll be using what I&#8217;ve learned from this, as the framework for a complete backup tool for DIY bloggers/web types. [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/admins/using-python-to-create-amazon-s3-backups/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>See storage usage per aggregate program</title>
		<link>http://www.techrobatics.com/admins/see-storage-usage-per-aggregate-program</link>
		<comments>http://www.techrobatics.com/admins/see-storage-usage-per-aggregate-program#comments</comments>
		<pubDate>Sun, 27 Jun 2010 17:42:26 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[memory usage]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/?p=97</guid>
		<description><![CDATA[This, I got from pixelbeat.org. I&#8217;m reposting it here, so that I never ever lose it. #!/usr/bin/env python # Try to determine how much RAM is currently being used per program. # Note per _program_, not per process. So for example this script # will report RAM used by all httpd process together. In detail [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/admins/see-storage-usage-per-aggregate-program/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working with web basic authentication</title>
		<link>http://www.techrobatics.com/coding/working-with-web-basic-authentication</link>
		<comments>http://www.techrobatics.com/coding/working-with-web-basic-authentication#comments</comments>
		<pubDate>Sat, 26 Jun 2010 03:51:33 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[basic authentication]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/wordpress/?p=88</guid>
		<description><![CDATA[Here&#8217;s a short script to give you an idea of how to programmatically answer basic authentication prompts using python. #!/usr/bin/env python import urllib2, sys, re, base64 from urlparse import urlparse #base64string = base64.encodestring('%s:%s' % (data['name'], data['pass']))[:-1] #req.add_header("Authorization", "Basic %s" % base64string) username = 'some_userid' password = 'some_password' theurl = 'http://www.techrobatics.com/protected' #realm = 'REALM' base64string = [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/coding/working-with-web-basic-authentication/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Temperature convertor in python</title>
		<link>http://www.techrobatics.com/coding/temperature-convertor-in-python</link>
		<comments>http://www.techrobatics.com/coding/temperature-convertor-in-python#comments</comments>
		<pubDate>Sat, 26 Jun 2010 03:33:08 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[celcius]]></category>
		<category><![CDATA[fahrenheit]]></category>
		<category><![CDATA[kelvin]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[rankines]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[temperature]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/wordpress/?p=86</guid>
		<description><![CDATA[I wrote this little class to be able to convert in and out of all four temperature formats: #!/usr/bin/env python """ My Rankines Convertor I am creating these routines to help convert all nonsense temperature systems into the only one that makes any real rational sense. Why does it make more sense than fahrenheit or [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/coding/temperature-convertor-in-python/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Komodo &#8211; Create File Macro</title>
		<link>http://www.techrobatics.com/coding/komodo-create-file-macro</link>
		<comments>http://www.techrobatics.com/coding/komodo-create-file-macro#comments</comments>
		<pubDate>Sat, 26 Jun 2010 03:26:52 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[komodo]]></category>
		<category><![CDATA[macro]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[scripting]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/wordpress/?p=83</guid>
		<description><![CDATA[This attractive bit of python gadgetry will allow you to auto-generate new python files in Komodo. I use it to create a new &#8220;daily notes&#8221; file each day of work. It contains the to-do, reminder, and technical notes of each day. from datetime import datetime import os, os.path import komodo def create_file_by_date(dd, prefix=None): parts = [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/coding/komodo-create-file-macro/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>simple swapfile monitor and alert</title>
		<link>http://www.techrobatics.com/admins/simple-swapfile-monitor-and-alert</link>
		<comments>http://www.techrobatics.com/admins/simple-swapfile-monitor-and-alert#comments</comments>
		<pubDate>Fri, 25 Jun 2010 21:47:25 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[storage]]></category>
		<category><![CDATA[swapfile]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/wordpress/?p=31</guid>
		<description><![CDATA[This bit of bash script tells me when the swap file on my servers exceeds a set maximum. I use it to let me know when storage becomes an issue on my site: #!/bin/bash # Notify me one time if my swap is over MAXSWAP and log the # swap usage as well in SWAPLOG. [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/admins/simple-swapfile-monitor-and-alert/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>showing both internal and external IP addresses</title>
		<link>http://www.techrobatics.com/admins/showing-both-internal-and-external-ip-addresses</link>
		<comments>http://www.techrobatics.com/admins/showing-both-internal-and-external-ip-addresses#comments</comments>
		<pubDate>Fri, 25 Jun 2010 21:35:41 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[network]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tcpip]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/wordpress/?p=27</guid>
		<description><![CDATA[For those of you stuck behind a corporate intranet firewall, here&#8217;s a few python functions that might come in handy: #!/usr/bin/env python #iptools.py import socket import urllib2 def get_intranet_ip: """Relies upon your company's intranet web site being available""" s = socket.socket(socket.AF_INET, socket.SOCK_STREAM) s.connect(("www.myintranethost.net", 80)) ipaddr, port = s.getsockname() return ipaddr def get_internet_ip: """Relies upon external [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/admins/showing-both-internal-and-external-ip-addresses/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Listing top disk consumers</title>
		<link>http://www.techrobatics.com/admins/listing-top-disk-consumers</link>
		<comments>http://www.techrobatics.com/admins/listing-top-disk-consumers#comments</comments>
		<pubDate>Fri, 25 Jun 2010 21:27:33 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[disk usage]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/?p=23</guid>
		<description><![CDATA[For you python enthusiasts, here is a script that will recurse through directories, from the location where you run this, and show you the top disk space consumers. It&#8217;s handy for finding a runaway process, or indulgent user&#8230; #!/usr/bin/env python #dutop.py import os import sys import operator cutoff_percentage=5 #The following matches "du -h" output def [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/admins/listing-top-disk-consumers/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache2 mod_rewrite rules for wordpress</title>
		<link>http://www.techrobatics.com/admins/apache2-mod_rewrite-rules-for-wordpress</link>
		<comments>http://www.techrobatics.com/admins/apache2-mod_rewrite-rules-for-wordpress#comments</comments>
		<pubDate>Fri, 25 Jun 2010 20:29:43 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mod_rewrite]]></category>
		<category><![CDATA[urls]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/?p=7</guid>
		<description><![CDATA[Place a copy of this block at the bottom of your apache2.conf. Reproduce it for EACH directory, on which you want to enable the rewrite rules (each wordpress root instance). &#60; Directory /var/www/wordpress&#62; Options Indexes FollowSymlinks MultiViews &#60; IfModule mod_rewrite.c&#62; RewriteEngine On #RewriteBase /wordpress/ &#60;-- If you want to point somewhere else RewriteCond %{REQUEST_FILENAME} !-f [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/admins/apache2-mod_rewrite-rules-for-wordpress/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Apache and PHP on Mac OSX</title>
		<link>http://www.techrobatics.com/admins/installing-apache-and-php-on-mac-osx</link>
		<comments>http://www.techrobatics.com/admins/installing-apache-and-php-on-mac-osx#comments</comments>
		<pubDate>Tue, 23 Feb 2010 22:12:56 +0000</pubDate>
		<dc:creator>Greg</dc:creator>
				<category><![CDATA[Sys Admin]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[configuration]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[hosting]]></category>
		<category><![CDATA[installation]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://www.techrobatics.com/?p=129</guid>
		<description><![CDATA[Under the covers, Mac OSX is a not quite clone of freeBSD, known as &#8220;Darwin&#8221;. The mascot is appropriately a platypus, both because the platypus is a nod to the famous Charles Darwin, and because the folks at Apple have outfitted Darwin with all sorts of customizations cannibalized from the old NeXT project that confound [...]]]></description>
		<wfw:commentRss>http://www.techrobatics.com/admins/installing-apache-and-php-on-mac-osx/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

