<?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>Dana Woodman</title>
	<atom:link href="http://www.danawoodman.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.danawoodman.com</link>
	<description>The online home of Dana Woodman.</description>
	<lastBuildDate>Fri, 19 Nov 2010 23:53:25 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>JavaScript Arrays</title>
		<link>http://www.danawoodman.com/2010/11/javascript-arrays/</link>
		<comments>http://www.danawoodman.com/2010/11/javascript-arrays/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 23:51:39 +0000</pubDate>
		<dc:creator>Dana Woodman</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.danawoodman.com/?p=506</guid>
		<description><![CDATA[In this write-up I will go over JavaScript arrays, how to manipulate them and different ways to use them in your code. Array Overview An array is an Object in JavaScript and holds multiple items in a list. An array can contain any other JavaScript Object, such as numbers, strings, variables, boolean values (e.g. true [...]]]></description>
			<content:encoded><![CDATA[<p>In this write-up I will go over JavaScript arrays, how to manipulate them and different ways to use them in your code.</p>

<p><span id="more-506"></span></p>

<h3>Array Overview</h3>

<p>An array is an <em>Object</em> in JavaScript and holds multiple items in a list. <strong>An array can contain any other JavaScript Object</strong>, such as numbers, strings, variables, boolean values (e.g. true or false), and functions.</p>

<p>You can store an array into a variable to manipulate and use elsewhere in your code.</p>

<h3>Creating Arrays</h3>

<p>Below are three different ways to construct an Array in JavaScript.</p>

<h4>Method 1: Regular Array</h4>

<pre><code>var fruits = new Array();

fruits[0] = "Apples";
fruits[1] = "Oranges";
fruits[2] = "Mangos";
</code></pre>

<p>The numbers are the array <em>index</em>, which you can think of as like an ID of the item in the array. You can use this index number to access an item in an array, like so:</p>

<pre><code>alert(fruits[1]);
</code></pre>

<p>&#8230; which will open an alert box that shows the item, in this case <code>Oranges</code>.</p>

<h4>Method 2: Condensed Array</h4>

<pre><code>var fruits = new Array("Apples", "Oranges", "Mangos");
</code></pre>

<p>This is a slightly more convenient way to construct an array.</p>

<p>The order in which you put the items is the order in which they are added to the array.</p>

<h4>Method 3: Literal Array</h4>

<pre><code>var fruits = ["Apples", "Oranges", "Mangos"];
</code></pre>

<p>This is my favorite way to create an array in JavaScript because it tends to be the cleanest and easiest to write for most use cases.</p>

<h3>Arrays of different data</h3>

<p>You can create arrays that hold all types of JavaScript Objects, like numbers, strings, boolean values (e.g. true or false), functions and objects.</p>

<p>Here is an example of an array that has various types of content:</p>

<pre><code>var my_array = [
    "Baseball", 
    4, 
    true, 
    { 
        "name": "John Smith",
        "position": "Pitcher" 
    }, 
    function do_something() {
        alert("Do something!");
    }
];
</code></pre>

<p>The array above shows a string, a number, a boolean, an Object, and a function.</p>

<h3>Working with Arrays of Objects</h3>

<p>Arrays of Objects are an incredibly useful aspect of JavaScript. It allows you to create structured arrays of data that you can&#8217;t do with simple arrays alone.</p>

<p>For example, here is an array of people:</p>

<pre><code>var people = [
    {
        "first_name": "Bob",
        "last_name": "Smith",
        "birthday": "10/14/1956",
        "gender": "male",
        "number_of_pets": 3,
        "likes_apples": true
    },
    {
        "first_name": "Mary",
        "last_name": "Thompson",
        "birthday": "3/8/1965",
        "gender": "female",
        "number_of_pets": 1,
        "likes_apples": false
    },
    {
        "first_name": "Harry",
        "last_name": "McClintock",
        "birthday": "1/19/1977",
        "gender": "male",
        "number_of_pets": 0,
        "likes_apples": true
    }
];
</code></pre>

<p>Now with this data you can loop through each one and do stuff with the information:</p>

<pre><code>for (var i=0; i &lt; people.length; i++) {

    // Create the full_name of the person by joining the first and last.
    var full_name = people[i].first_name + " " + people[i].last_name;

    var html = "";

    html = html + "&lt;h1&gt;" + full_name + "&lt;/h1&gt;";
    html = html + "&lt;p&gt;";
    html = html + "Born: " + people[i].birthday + "&lt;br /&gt;";
    html = html + "Gender: " + people[i].gender + "&lt;br /&gt;";
    html = html + "# of Pets: " + people[i].number_of_pets + "&lt;br /&gt;";

    // Indicate if they like apples.
    if (people[i].likes_apples) {
        html = html + "They like apples!!! Yay!!!";
    };

    html = html + "&lt;/p&gt;";

    // Write the content to the page.
    document.write(html);

};
</code></pre>

<p>This will output each person, structuring the data from the array into something you can present to users.</p>

<p><em>Note that this is not an example of best practices, it is for demonstration purposes only. It would be better to write a dedicated function that adds the data to the page. I like to use <a href="http://www.jquery.com/">jQuery</a> to add content to a page because of it&#8217;s easy to use  <a href="http://en.wikipedia.org/wiki/Document_Object_Model">DOM</a> manipulation and beautiful syntax.</em></p>

<h3>Joining Arrays</h3>

<p>If you need to join two more arrays, you can use the <code>concat()</code> function (which stands for concatenate, or &#8220;connect or link in a series or chain&#8221;):</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];
var veggies = ["Lettuce", "Carrots", "Onions"];

var food = fruit.concat(veggies);
</code></pre>

<p>This will take the fruit array and join the veggies array to it. It will result in this array:</p>

<pre><code>["Apples", "Oranges", "Mangos", "Lettuce", "Carrots", "Onions"]
</code></pre>

<p>If you need to join more than two arrays, you can just pass one more array to the <code>concat()</code> function, like so:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];
var veggies = ["Lettuce", "Carrots", "Onions"];
var cereals = ["Rice", "Wheat", "Oats"];

var food = fruit.concat(veggies, cereals);
</code></pre>

<p>&#8230; which will result in this array:</p>

<pre><code>["Apples", "Oranges", "Mangos", "Lettuce", "Carrots", "Onions", "Rice", "Wheat", "Oats"]
</code></pre>

<p>You can change the order of the items in the array by changing the order in which you join them, like so:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];
var veggies = ["Lettuce", "Carrots", "Onions"];
var cereals = ["Rice", "Wheat", "Oats"];

var food = cereals.concat(fruit, veggies);
</code></pre>

<p>&#8230; which will result in this array:</p>

<pre><code>["Rice", "Wheat", "Oats", "Apples", "Oranges", "Mangos", "Lettuce", "Carrots", "Onions"]
</code></pre>

<h3>Adding items to an Array</h3>

<p>You can add items to an array in a few different ways.</p>

<h4>Manually add an item to an Array</h4>

<p>If know the items in the array, you could just create a new item:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruit[3] = "Strawberries";
</code></pre>

<p>This will add <code>"Strawberries"</code> onto the end of the array, making the <code>fruits</code> array have 4 items.</p>

<p><em>Note that the first item in an array is <code>[0]</code>, not <code>[1]</code> as you might expect.</em></p>

<h4>Add an item to the end of an Array using <code>push()</code></h4>

<p>Since the above example only works if you know what items are in you array, JavaScript provides a shortcut function to add an item to the end of an array, called <code>push()</code>. Here is how you use <code>push()</code>:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruit.push("Strawberries");
</code></pre>

<p>&#8230; which will return:</p>

<pre><code>["Apples", "Oranges", "Mangos", "Strawberries"]
</code></pre>

<p>You can <strong>add multiple items</strong> using push, like so:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruit.push("Strawberries", "Peaches", "Grapes");
</code></pre>

<p>&#8230; which will return:</p>

<pre><code>["Apples", "Oranges", "Mangos", "Strawberries", "Peaches", "Grapes"]
</code></pre>

<h4>Add an item to the beginning of an Array using <code>unshift()</code></h4>

<p>If you want to add an item to the beginning of an array, you can use <code>unshift()</code>:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruit.unshift("Strawberries");
</code></pre>

<p>&#8230; which will return:</p>

<pre><code>["Strawberries", "Apples", "Oranges", "Mangos"]
</code></pre>

<p><em>Like the <code>push()</code> function above, you can pass along one or more new items into the array.</em></p>

<h3>Removing items from an Array</h3>

<p>Below are a few ways to remove items from an array in JavaScript.</p>

<h4>Remove the last item in an Array using <code>pop()</code></h4>

<p>Using the <code>pop()</code> function allows you to remove the last item in an array:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruit.pop();
</code></pre>

<p>&#8230; which will return:</p>

<pre><code>["Apples", "Oranges"]
</code></pre>

<p><em>Like the <code>push()</code> function above, you can pass along one or more new items into the array.</em></p>

<h4>Remove the first item in an Array using <code>shift()</code></h4>

<p>If instead of removing the last item from an array, you want to remove the first item, you can use the <code>shift()</code> function:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruit.shift();
</code></pre>

<p>&#8230; which will return:</p>

<pre><code>["Oranges", "Mangos"] 
</code></pre>

<p><em>Like the <code>push()</code> function above, you can pass along one or more new items into the array.</em></p>

<h3>Sorting an Array using <code>sort()</code></h3>

<p>If you have an array that you would like to sort, you can use the <code>sort()</code> function. The <code>sort()</code> function works on arrays of alphanumeric data (e.g. words and/or numbers).</p>

<h4>Sorting an Array of words</h4>

<p>Here is how to sort an array of words:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruit.sort();
</code></pre>

<p>&#8230; which will return:</p>

<pre><code>["Apples", "Mangos", "Oranges"]
</code></pre>

<h4>Sorting an Array of numbers</h4>

<p>In order to sort numerical data, you need to pass the array into a function that orders the content. Below we create two functions to sort the content in an ascending and a descending order.</p>

<pre><code>// Sort an array of numbers in ascending order (e.g. 1, 2, 3).
function sortNumbersAsc(a, b) {
    return a - b;
};

// Sort an array of numbers in descending order (e.g. 3, 2, 1).
function sortNumberDesc(a, b) {
    return b - a;
};

var numbers = ["17", "1", "10", "8943", "4"];

var ascending = numbers.sort(sortNumbersAsc);

// Will result in [1, 4, 10, 17, 8943]

var decending = numbers.sort(sortNumbersDesc);

// Will result in [8943, 17, 10, 4, 1]
</code></pre>

<h3>Slicing a string using <code>slice()</code></h3>

<p>You can use the <code>slice()</code> tool to get specific items from an array:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos", "Strawberries", "Peaches"];

// Get the first item.
fruit.slice(0,1); // Returns: ["Apples"]

// Get all items after the first item.
fruit.slice(1); // Returns: ["Oranges", "Mangos", "Strawberries", "Peaches"]

// Get the last two items.
fruit.slice(-2); // Returns: ["Strawberries", "Peaches"]
</code></pre>

<p>The slice tool works like so:</p>

<pre><code>string.slice(begin,end)
</code></pre>

<p>Where the <code>string</code> is the string (or array) you are slicing from, <code>begin</code> is the first item to start the extraction from, and <code>end</code> is where to end the extraction.</p>

<p>If <code>end</code> is not defined, it will get everything from <code>begin</code> to the end of the string or array.</p>

<h3>Using <code>splice()</code> to remove items from an Array</h3>

<p>If you want to get or remove a specific amount of items from an array, you can use the <code>splice()</code> function:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruit.splice(1, 0); // Returns ["Oranges", "Mangos"]
fruit.splice(2, 0); // Returns ["Mangos"]
fruit.splice(2, 1); // Returns ["Mangos"] AND removes it from the array
</code></pre>

<p>The <code>splice()</code> function adds and/or removes elements to/from an array. It returns the removed element(s):</p>

<pre><code>array.splice(index, how_many, element_1, ..., element_X)
</code></pre>

<ul>
<li><strong>index</strong> &#8212; <em>Required.</em> An integer specifying the which to add or remove elements from.</li>
<li><strong>how_many</strong> &#8212; <em>Required.</em> The number of elements to remove. If set to 0, no elements will be removed.</li>
<li><strong>element_1, &#8230;, element_X</strong> &#8212; <em>Optional.</em> The new element(s) to be added to the array.</li>
</ul>

<h3>Reverse the order of an Array using <code>reverse()</code></h3>

<p>If you want to reverse the order of an array, you can use the convient <code>reverse()</code> function:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruit.reverse();
</code></pre>

<p>&#8230; which will return:</p>

<pre><code>["Mangos", "Oranges", "Apples"]
</code></pre>

<h3>Turn an Array into a String using <code>toString()</code> and <code>join()</code></h3>

<h4>Using <code>toString()</code> to turn an Array into a String</h4>

<p>If you wanted to output your array into a string, you can use the <code>toString()</code> function:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruit.toString();
</code></pre>

<p>&#8230; which will return:</p>

<pre><code>Apples,Oranges,Mangos
</code></pre>

<h4>Using <code>join()</code> to turn an Array into a String</h4>

<p>A more flexible way to turn an array into a string is using the <code>join()</code> function:</p>

<pre><code>var fruit = ["Apples", "Oranges", "Mangos"];

fruits.join();
</code></pre>

<p>&#8230; which will return:</p>

<pre><code>Apples,Oranges,Mangos
</code></pre>

<p>Now this is the same as the <code>toString()</code> function, but the nice thing about <code>join()</code> is you can pass it a string to use for joining the items together.</p>

<p>Let&#8217;s say you wanted the fruit to be separated by a dash instead, you could do the following:</p>

<pre><code>fruits.join(" - ");
</code></pre>

<p>&#8230; which will return:</p>

<pre><code>Apples - Oranges - Mangos
</code></pre>

<p>You can use any characters you want to separate the items, it&#8217;s up to your imagination.</p>

<h3>External resources</h3>

<ul>
<li><a href="https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Array">Mozilla Developer Network &#8212; JavaScript documentation on Arrays</a></li>
<li><a href="http://www.w3schools.com/JS/js_obj_array.asp">W3 Schools JavaScript Array page</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.danawoodman.com/2010/11/javascript-arrays/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Our Natural Sleep Cycle video on TED</title>
		<link>http://www.danawoodman.com/2010/09/our-natural-sleep-cycle-video-on-ted/</link>
		<comments>http://www.danawoodman.com/2010/09/our-natural-sleep-cycle-video-on-ted/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 21:41:08 +0000</pubDate>
		<dc:creator>Dana Woodman</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[sleep]]></category>

		<guid isPermaLink="false">http://www.danawoodman.com/?p=454</guid>
		<description><![CDATA[I just watched an interesting video at TED called &#8220;Our Natural Sleep Cycle&#8221; in which Jessa Gamble &#8212; an expert on sleep &#8212; spoke about human&#8217;s natural sleep cycle. Jessa explained that in cultures where there are no artificial lights people generally go to sleep around 8pm and then wake around 12am where they are [...]]]></description>
			<content:encoded><![CDATA[<p>I just watched an interesting video at <a href="http://www.ted.com/">TED</a> called &#8220;<a href="http://www.ted.com/talks/jessa_gamble_how_to_sleep.html">Our Natural Sleep Cycle</a>&#8221; in which Jessa Gamble &#8212; an expert on sleep &#8212; spoke about human&#8217;s natural sleep cycle.</p>

<p>Jessa explained that in cultures where there are no artificial lights people generally go to sleep around 8pm and then wake around 12am where they are awake for a few hours &#8212; in a meditative state &#8212; before the go to sleep again, waking at dawn.</p>

<p>People who have allowed their bodies to adapt to these cycles report being more awake during the day than they ever have in their lives.</p>

<p>Here is the video:</p>

<p><object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="allowScriptAccess" value="always"/><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param> <param name="flashvars" value="vu=http://video.ted.com/talks/dynamic/JessaGamble_2010GU-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/JessaGamble-2010G.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=957&#038;introDuration=15330&#038;adDuration=4000&#038;postAdDuration=830&#038;adKeys=talk=jessa_gamble_how_to_sleep;year=2010;theme=new_on_ted_com;theme=how_the_mind_works;theme=evolution_s_genius;theme=a_taste_of_tedglobal_2010;theme=unconventional_explanations;event=TEDGlobal+2010;&#038;preAdTag=tconf.ted/embed;tile=1;sz=512x288;" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" allowScriptAccess="always" flashvars="vu=http://video.ted.com/talks/dynamic/JessaGamble_2010GU-medium.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/JessaGamble-2010G.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=957&#038;introDuration=15330&#038;adDuration=4000&#038;postAdDuration=830&#038;adKeys=talk=jessa_gamble_how_to_sleep;year=2010;theme=new_on_ted_com;theme=how_the_mind_works;theme=evolution_s_genius;theme=a_taste_of_tedglobal_2010;theme=unconventional_explanations;event=TEDGlobal+2010;"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://www.danawoodman.com/2010/09/our-natural-sleep-cycle-video-on-ted/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My family&#8217;s Thanksgiving turkey recipe</title>
		<link>http://www.danawoodman.com/2010/03/my-familys-thanksgiving-turkey-recipe/</link>
		<comments>http://www.danawoodman.com/2010/03/my-familys-thanksgiving-turkey-recipe/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 08:00:34 +0000</pubDate>
		<dc:creator>Dana Woodman</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[cooking]]></category>
		<category><![CDATA[recipe]]></category>

		<guid isPermaLink="false">http://www.danawoodman.com/?p=198</guid>
		<description><![CDATA[The tried and true family recipe for making the best Thanksgiving turkey and gravy. Gotta try it! Prep Pre-heat oven to 350℉ Pull out innards &#38; put in fridge Rinse out and pat dry turkey Rub salt around inside of cavity Rub outside of bird with salt, pepper, sage, thyme, rosemary and any other desired [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.danawoodman.com/2010/03/my-familys-thanksgiving-turkey-recipe/4432253709_d210e3c357_o/" rel="attachment wp-att-419"><img src="http://www.danawoodman.com/wp-content/uploads/2010/03/4432253709_d210e3c357_o.jpg" alt="My family&#039;s Thanksgiving turkey recipe" title="My family&#039;s Thanksgiving turkey recipe" width="610" height="220" class="alignnone size-full wp-image-419" /></a></p>

<p>The tried and true family recipe for making the best Thanksgiving turkey and gravy. Gotta try it!</p>

<p><span id="more-198"></span></p>

<h3>Prep</h3>

<ul>
<li>Pre-heat oven to 350℉</li>
<li>Pull out innards &amp; put in fridge</li>
<li>Rinse out and pat dry turkey</li>
<li>Rub salt around inside of cavity</li>
<li>Rub outside of bird with salt, pepper, sage, thyme, rosemary and any other desired spices</li>
<li>Stuff skin with fresh herbs (esp. rosemary)</li>
<li>Place a couple daubs of butter on the top of the turkey</li>
<li>Stuff turkey with home-made or Stove Top stuffing, chicken/turkey broth, onions, celery and fresh herbs</li>
</ul>

<h3>Basting broth</h3>

<ul>
<li>Slow cook gizzards in about 1 cup of chicken broth to use for basting bird</li>
</ul>

<h3>Cooking</h3>

<ul>
<li><strong>Cook for 15-20 minutes a pound</strong></li>
<li>Place in oven covered in tinfoil for half the cooking time</li>
<li>Baste turkey when skin begins to dry, keeping it moist at all times</li>
<li>Cook the turkey until it reaches 162℉ inner temperature (check a thick part of the bird like the breast)</li>
</ul>

<h3>Gravy</h3>

<ul>
<li>Get pan scrappings &amp; juices from the turkey</li>
<li>Put in freezer for 3-5 minutes</li>
<li>Remove from freezer and boil for 3-5 minutes</li>
<li>Combine flour to thicken (6-8 table spoons or about ¼ cup)</li>
<li>Stir in sage and chicken broth and mix well and boil for 5-10 minutes (until at desired thickness)</li>
</ul>

<h3>Suggested cooking times</h3>

<ul>
<li>5lb turkey = 1:15 &#8211; 1:40</li>
<li>10lb turkey = 2:30 &#8211; 3:20</li>
</ul>

<h3>Eat it!</h3>

<p>If you try this recipe let me know how it turns out for you! <em>Bon appetit!</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.danawoodman.com/2010/03/my-familys-thanksgiving-turkey-recipe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My Windows and OS X software list</title>
		<link>http://www.danawoodman.com/2010/03/my-windows-and-os-x-software-list/</link>
		<comments>http://www.danawoodman.com/2010/03/my-windows-and-os-x-software-list/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 07:50:59 +0000</pubDate>
		<dc:creator>Dana Woodman</dc:creator>
				<category><![CDATA[Resources]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[recommendations]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.danawoodman.com/?p=193</guid>
		<description><![CDATA[A list of the software I use and recommend for both Windows and Mac OS X Universal Software that works on both Windows and Mac. Skype &#8212; The best video chat software out there. FileZilla &#8212; An excellent free, open-source FTP client. Firefox &#8212; One of the most feature rich and robust browsers. Google Chrome [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.danawoodman.com/2010/03/my-windows-and-os-x-software-list/4433200542_6a127f2dbe_o/" rel="attachment wp-att-445"><img src="http://www.danawoodman.com/wp-content/uploads/2010/03/4433200542_6a127f2dbe_o.jpg" alt="My Windows and OS X software list" title="My Windows and OS X software list" width="610" height="220" class="alignnone size-full wp-image-445" /></a></p>

<p>A list of the software I use and recommend for both Windows and Mac OS X</p>

<p><span id="more-193"></span></p>

<h3>Universal</h3>

<p>Software that works on both Windows and Mac.</p>

<ul>
<li><strong>Skype</strong> &#8212; The best video chat software out there.</li>
<li><strong>FileZilla</strong> &#8212; An excellent free, open-source FTP client.</li>
<li><strong>Firefox</strong> &#8212; One of the most feature rich and robust browsers.</li>
<li><strong>Google Chrome</strong> &#8212; Pretty much the fastest browser in town.</li>
<li><strong>The Last Ripper</strong> &#8212; A good music gathering tool.</li>
<li><strong>Pidgin</strong> &#8212; A multi-client chat tool that lets you connect with a lot of services (AOL, MSN, Google Chat, etc&#8230;)</li>
<li><strong>Open Office</strong> &#8212; An open-source Office like application suite.</li>
<li><strong>Synergy</strong> &#8212; Share one mouse and one keyboard between multiple computers.</li>
<li><strong>7-zip</strong> &#8212; The best file compression/decompression tool out there, free and open-source.</li>
<li><strong>DeVeDe</strong> &#8212; A great DVD/CD creation and burning tool.</li>
<li><strong>Jing</strong> &#8212; A tool that makes screenshots and screencasts simple and fast.</li>
<li><strong>VirtualBox</strong> &#8212; Easy to use and free virtualization tool. Run Windows/Mac/Linux/UNIX/etc&#8230; on your computer.</li>
<li><strong>Dropbox</strong> &#8212; Makes a virtual folder on your computer that syncs with a server.</li>
<li><strong>iTunes</strong> &#8212; The most popular media player, and my personal favorite.</li>
<li><strong>Adobe CS4</strong> &#8212; The leading editing software.</li>
<li><strong>Blackra1n</strong> &#8212; An easy to use tool to jailbreak your iPhone.</li>
<li><strong>Flickr Uploadr</strong> &#8212; An easy to use and robust Flickr uploading tool.</li>
<li><strong>BitTorrent</strong> &#8212; The most popular and easy to use bittorrent client.</li>
</ul>

<h3>Mac</h3>

<ul>
<li><strong>TextMate</strong> &#8212; My text editor of choice. Has a robust &#8220;bundle&#8221; system to add new features.</li>
<li><strong>SequelPro</strong> &#8212; A tool to visualize MySQL databases.</li>
<li><strong>Adium</strong> &#8212; A chat client that works with all popular clients (AOL, MSN, Facebook, Google Chat, etc&#8230;)</li>
<li><strong>WriteRoom</strong> &#8212; A bare bones writing client that makes focusing on the task at hand a breeze.</li>
<li><strong>CandyBar</strong> &#8212; Skin your Mac like a pro.</li>
<li><strong>HandBreak</strong> &#8212; The best ripping tool in town.</li>
<li><strong>Google Quick Search Box</strong> &#8212; A way better spotlight.</li>
<li><strong>LittleSnitch</strong> &#8212; A reverse firewall that alerts you when programs attempt to access the internet.</li>
</ul>

<h3>Windows</h3>

<ul>
<li><strong>E-text editor</strong> &#8212; The self described TextMate for Windows.</li>
<li><strong>Putty</strong> / <strong>Pageant</strong> &#8212; The defacto SSH tool for Windows.</li>
<li><strong>TortoiseSVN</strong> &#8212; A great SVN integrated command tool.</li>
<li><strong>AVG antivirus</strong> &#8212; My anti-virus tool of choice.</li>
<li><strong>Ad-Aware</strong> &#8212; Essential to keep your computer free of ad-ware. Scan regularly!</li>
<li><strong>DVD rip</strong> &#8212; Rip your DVDs to your computer in just 1 step.</li>
<li><strong>InfraRecorder</strong> &#8212; The best free DVD/CD burning tool I&#8217;ve found.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.danawoodman.com/2010/03/my-windows-and-os-x-software-list/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing broken 3 &amp; 4 finger gestures in Snow Leopard</title>
		<link>http://www.danawoodman.com/2010/03/fixing-broken-3-4-finger-gestures-in-snow-leopard/</link>
		<comments>http://www.danawoodman.com/2010/03/fixing-broken-3-4-finger-gestures-in-snow-leopard/#comments</comments>
		<pubDate>Sun, 14 Mar 2010 07:45:54 +0000</pubDate>
		<dc:creator>Dana Woodman</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[gestures]]></category>
		<category><![CDATA[help]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[Snow Leopard]]></category>
		<category><![CDATA[troubleshooting]]></category>

		<guid isPermaLink="false">http://www.danawoodman.com/?p=188</guid>
		<description><![CDATA[Have you recently had your 3 and 4 finger gestures just stop working in Mac OSX Snow Leopard? Well I did today and after a bit of searching found three different fixes for them and decided to write them down here for future reference. Solution 1: Shutdown The first and simplest solution is just to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.danawoodman.com/2010/03/fixing-broken-3-4-finger-gestures-in-snow-leopard/4433217670_b3826b3d83_o/" rel="attachment wp-att-414"><img src="http://www.danawoodman.com/wp-content/uploads/2010/03/4433217670_b3826b3d83_o.jpg" alt="Fixing broken 3 &amp; 4 finger gestures in Snow Leopard" title="Fixing broken 3 &amp; 4 finger gestures in Snow Leopard" width="610" height="220" class="alignnone size-full wp-image-414" /></a></p>

<p>Have you recently had your 3 and 4 finger gestures just stop working in Mac OSX Snow Leopard? Well I did today and after a bit of searching found three different fixes for them and decided to write them down here for future reference.</p>

<p><span id="more-188"></span></p>

<h3>Solution 1: Shutdown</h3>

<p>The first and simplest solution is just to turn off your computer and turn it back on. Restarting may work for you, but for me I had to completely shutdown and start back up.</p>

<p>This fixed the problem for me, but if it doesn&#8217;t for you, try these other solutions:</p>

<h3>Solution 2: Create a new user account and switch to it</h3>

<p>Some people have had success creating a new user account, logging off and then logging in as the new user. Once logged in as the new user the gestures started to work so they just logged back in to their main account, deleted the test user and went on their way.</p>

<h3>Solution 3: Error check your hard disk</h3>

<p>This solution was <a href="http://discussions.apple.com/thread.jspa?threadID=2223030&amp;tstart=0">offered by a Mac technician named Majicman</a>  (see the 8th post down the page.)</p>

<p>The solution involves shutting down and then booting into single user mode, then checking the disk for errors and repairing them.</p>

<ol>
<li>Shutdown.</li>
<li>Reboot while holding down <kbd>Apple+S</kbd>.</li>
<li><p>When you see the command line type:</p>

<pre><code>fsck_hfs -f /dev/disk0s2
</code></pre></li>
<li><p>Shutdown by typing:</p>

<pre><code>shutdown -r now
</code></pre></li>
<li><p>Reboot.</p></li>
</ol>

<p>This, if not the other two solutions, should fix your 3 and 4 finger gestures problems.</p>

<p>I hope this write up was helpful!</p>

<p>Cheers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danawoodman.com/2010/03/fixing-broken-3-4-finger-gestures-in-snow-leopard/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>URL ABCs</title>
		<link>http://www.danawoodman.com/2009/11/url-abcs/</link>
		<comments>http://www.danawoodman.com/2009/11/url-abcs/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 01:59:03 +0000</pubDate>
		<dc:creator>Dana Woodman</dc:creator>
				<category><![CDATA[Random]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[URL]]></category>

		<guid isPermaLink="false">http://www.danawoodman.com/?p=134</guid>
		<description><![CDATA[What do you get when you type in every letter in your browser address bar and write down the first result? Read more to see my results. After reading this post from Andy Clark&#8217;s blog, I decided to give it a shot; type in every letter in my browser address bar and write down the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.danawoodman.com/2009/11/url-abcs/4432468563_9ba70dcba4_o/" rel="attachment wp-att-430"><img src="http://www.danawoodman.com/wp-content/uploads/2009/11/4432468563_9ba70dcba4_o.jpg" alt="URL ABCs" title="URL ABCs" width="610" height="220" class="alignnone size-full wp-image-430" /></a></p>

<p>What do you get when you type in every letter in your browser address bar and write down the first result? Read more to see my results.</p>

<p><span id="more-134"></span></p>

<p>After reading <a title="Read the post on Andy Clark's blog" href="http://stuffandnonsense.co.uk/blog/about/url_abc/" target="_blank">this post</a> from Andy Clark&#8217;s blog, I decided to give it a shot; type in every letter in my browser address bar and write down the first result. Here are my results:</p>

<p><strong>A</strong> &#8211; <a href="http://www.apple.com/">http://www.apple.com/</a><br />
<strong>B</strong> &#8211;  <a href="http://www.bbcode.org/reference.php">http://www.bbcode.org/reference.php</a><br />
<strong> C</strong> &#8211; <a href="http://www.chromeextensions.org/">http://www.chromeextensions.org/</a><br />
<strong> D</strong> &#8211; <a href="http://www.danawoodman.com/">http://www.danawoodman.com/</a> (yay, thats me!)<br />
<strong> E</strong> &#8211; <a href="http://www.danawoodman.com/">http://en.gravatar.com/</a><br />
<strong> F</strong> &#8211; <a href="http://www.facebook.com/">http://www.facebook.com/</a><br />
<strong> G</strong> &#8211; <a href="http://www.google.com/analytics/">http://www.google.com/analytics/</a><br />
<strong> H</strong> &#8211; <a href="http://www.danawoodman.com/">http://www.danawoodman.com/</a> (again!?)<br />
<strong> I</strong> &#8211; <a href="http://www.iconfinder.net/">http://www.iconfinder.net/</a><br />
<strong> J</strong> &#8211; <a href="http://www.javascriptcompressor.com/">ttp://www.javascriptcompressor.com/</a><br />
<strong> K</strong> &#8211; <a href="http://www.kayak.com/">http://www.kayak.com/</a><br />
<strong> L</strong> &#8211; <a href="http://localhost:8000/">http://localhost:8000/</a> (<a title="Visit Django Project" href="http://www.djangoproject.org" target="_blank">Django</a>&#8216;s home on my computer)<br />
<strong> M</strong> &#8211; <a href="http://www.mcshanesnursery.com/">http://www.mcshanesnursery.com/</a><br />
<strong> N</strong> &#8211; <a href="http://www.nathanborror.com/">http://www.nathanborror.com/</a><br />
<strong> O</strong> &#8211; <a href="http://www.organixcms.com/">http://www.organixcms.com/</a><br />
<strong> P</strong> &#8211; <a href="http://www.panel.webfaction.com/">http://www.panel.webfaction.com/</a><br />
<strong> Q</strong> &#8211; <a href="http://www.qinsb.blogspot.com/">http://www.qinsb.blogspot.com/</a><br />
<strong> R</strong> &#8211; <a href="http://www.robotson.com/">http://www.robotson.com/</a><br />
<strong> S</strong> &#8211; <a href="http://www.simplebits.com/">http://www.simplebits.com/</a><br />
<strong> T</strong> &#8211; <a href="http://www.twitter.com/">http://www.twitter.com/</a><br />
<strong> U</strong> &#8211; <a href="http://utidylib.berlios.de/">http://utidylib.berlios.de/</a><br />
<strong> V</strong> &#8211; <a href="http://www.vimeo.com/">http://www.vimeo.com/</a><br />
<strong> W</strong> &#8211; <a href="http://www.webpagesthatsuck.com/">http://www.webpagesthatsuck.com/</a><br />
<strong> X</strong> &#8211; <a href="http://www.xp-dev.com/">http://www.xp-dev.com/</a><br />
<strong> Y</strong> &#8211; <a href="http://www.youtube.com/">http://www.youtube.com/</a><br />
<strong> Z</strong> &#8211; <a href="http://www.zillow.com/">http://www.zillow.com/</a><br /></p>

<p>This was actually an interesting experiment (<a href="http://maxvoltar.com/articles/url-abc">game</a>?). I ended up getting a mixed set of results including services or sites I frequent combined with pages I don&#8217;t even remember visiting.</p>

<p>Another enjoyable waste of time, try it out!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danawoodman.com/2009/11/url-abcs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BBCode syntax reference</title>
		<link>http://www.danawoodman.com/2009/11/bbcode-syntax-reference/</link>
		<comments>http://www.danawoodman.com/2009/11/bbcode-syntax-reference/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 17:29:29 +0000</pubDate>
		<dc:creator>Dana Woodman</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[BBCode]]></category>
		<category><![CDATA[character codes]]></category>
		<category><![CDATA[forums]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://www.danawoodman.com/?p=112</guid>
		<description><![CDATA[A complete reference of all the available BBCode tags with examples, notes and more! Name Syntax Bold [b]bold text[/b] Results in: &#60;strong&#62;bold text&#60;/strong&#62; Italic [i]italic text[/i] Results in: &#60;em&#62;italic text&#60;/em&#62; Strike-through [s]strike-through text[/s] Results in: &#60;strike&#62;strike-through text&#60;/strike&#62; Underline [u]underlined text[/u] Results in: &#60;u&#62;underlined text&#60;/u&#62; Font Size [size=30]30px text[/size] Results in: &#60;span style="font-size:30px"&#62;30px text&#60;/span&#62; Depending on [...]]]></description>
			<content:encoded><![CDATA[<p>A complete reference of all the available BBCode tags with examples, notes and more!</p>

<p><span id="more-112"></span></p>

<table cellspacing="0">
    <thead>
        <tr>
            <th>Name</th>
            <th>Syntax</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>Bold</td>
            <td>
                
                <pre>[b]bold text[/b]</pre>

                <p>Results in:</p>

                <pre>&lt;strong&gt;bold text&lt;/strong&gt;</pre>
                
            </td>
        </tr>
        <tr>
            <td>Italic</td>
            <td>
                
                <pre>[i]italic text[/i]</pre>

                <p>Results in:</p>

                <pre>&lt;em&gt;italic text&lt;/em&gt;</pre>
                
            </td>
        </tr>
        <tr>
            <td>Strike-through</td>
            <td>
                
                <pre>[s]strike-through text[/s]</pre>

                <p>Results in:</p>

                <pre>&lt;strike&gt;strike-through text&lt;/strike&gt;</pre>
                
            </td>
        </tr>
        <tr>
            <td>Underline</td>
            <td>
                
                <pre>[u]underlined text[/u]</pre>

                <p>Results in:</p>

                <pre>&lt;u&gt;underlined text&lt;/u&gt;</pre>
                
            </td>
        </tr>
        <tr>
            <td>Font Size</td>
            <td>
                
                <pre>[size=30]30px text[/size]</pre>

                <p>Results in:</p>

                <pre>&lt;span style="font-size:30px"&gt;30px text&lt;/span&gt;</pre>
                
                <p>Depending on the implementation, font sizes could be based on pixels, points, or relative font sizes (e.g. percentage or em).</p>
                
            </td>
        </tr>
        <tr>
            <td>Font Color</td>
            <td>
                
                <pre>[color=green]green text[/color]</pre>

                <p>Results in:</p>

                <pre>&lt;span style="color:green"&gt;green text&lt;/span&gt;</pre>
                
                <p>Both HTML color names (e.g. &#8220;green&#8221;, &#8220;red&#8221;, &#8220;blue&#8221;, etc&#8230;) and hexadecimal color values (e.g. &#8220;#ffffff&#8221; or &#8220;ffffff&#8221;) with and without the pound sign (#) are generally supported. In some implementations you must remove the pound sign (#) from the color code.</p>
                
            </td>
        </tr>
        <tr>
            <td>Center text</td>
            <td>
                
                <pre>[center]centered text[/center]</pre>

                <p>Results in:</p>

                <pre>&lt;div style="text-align:center"&gt;centered text&lt;/div&gt;</pre>
                
            </td>
        </tr>
        <tr>
            <td>Quoted text</td>
            <td>
                
                <pre>[quote]quoted text[/quote]</pre>

                <p>Results in:</p>

                <pre>&lt;blockquote&gt;&lt;p&gt;quoted text&lt;/p&gt;&lt;/blockquote&gt;</pre>
                
            </td>
        </tr>
        <tr>
            <td>Quoted text with source</td>
            <td>
                
                <pre>[quote="John Smith"]quoted text[/quote]</pre>

                <p>Results in:</p>

<pre>&lt;blockquote&gt;
    &lt;em&gt;John Smith&lt;/em&gt;
    &lt;br /&gt;
    &lt;p&gt;quoted text&lt;/p&gt;
&lt;/blockquote&gt;</pre>

            </td>
        </tr>
        <tr>
            <td>Link</td>
            <td>
                
                <pre>[url]http://www.google.com/[/url]</pre>

                <p>Results in:</p>

                <pre>&lt;a href="http://google.com/"&gt;http://google.com/&lt;/a&gt;</pre>
                
            </td>
        </tr>
        <tr>
            <td>Link with text</td>
            <td>
                
                <pre>[url=http://google.com/]Google[/url]</pre>

                <p>Results in:</p>

                <pre>&lt;a href="http://google.com/"&gt;Google&lt;/a&gt;</pre>
                
            </td>
        </tr>
        <tr>
            <td>List</td>
            <td>
                
<pre>[list]
    [*]List item[/*]
[/list]</pre>
                

                <p>Results in:</p>

<pre>&lt;ul&gt;
    &lt;li&gt;List item&lt;/li&gt;
&lt;/ul&gt;</pre>
                
                <p>Some variations allow you to indicate what type of list it is by adding a parameter such as a number (e.g. [list=1][/list]) which will result in a ordered list or a letter (e.g. [list=a][/list]) which will result in an ordered list using letters instead of numbers (e.g. a, b, c, d, etc&#8230;).</p>
                
            </td>
        </tr>
        <tr>
            <td>Unordered list</td>
            <td>
                
<pre>[ul]
    [*]List item[/*]
[/ul]</pre>
                

                <p>Results in:</p>

<pre>&lt;ul&gt;
    &lt;li&gt;List item&lt;/li&gt;
    
&lt;/ul&gt;</pre>
            </td>
        </tr>
        <tr>
            <td>Ordered list</td>
            <td>
                
<pre>[ol]
    [*]List item[/*]
[/ol]</pre>
                

                <p>Results in:</p>

<pre>&lt;ol&gt;
    &lt;li&gt;List item&lt;/li&gt;
&lt;/ol&gt;</pre>

            </td>
        </tr>
        <tr>
            <td>Image</td>
            <td>
                
                <pre>[img]http://foo.com/img.gif[/img]</pre>

                <p>Results in:</p>

                <pre>&lt;img src="http://foo.com/img.gif" /&gt;</pre>
                
            </td>
        </tr>
        <tr>
            <td>Resized image</td>
            <td>
                
                <pre>[img=200x80]http://foo.com/img.gif[/img]</pre>

                <p>Results in:</p>

                <pre>&lt;img src="http://foo.com/img.gif" width="200" height="80" /&gt;</pre>
                
                <p>The order is width by height. Size is in pixels.</p>
                
            </td>
        </tr>
        <tr>
            <td>Code</td>
            <td>
                
                <pre>[code]# code here...[/code]</pre>

                <p>Results in:</p>

                <pre>&lt;pre&gt;# code here...&lt;/pre&gt;</pre>
                
            </td>
        </tr>
        <tr>
            <td>Code (language defined)</td>
            <td>
                
                <pre>[code=css]body { background: #fff; }[/code]</pre>
                
                <p>This is sometimes implemented by using a syntax highlighting library (e.g. Pygments) and the resulting code is wrapped in span tags based on the language for styling with CSS.</p>
                
            </td>
        </tr>
    </tbody>
</table>

<p>Depending on the implementation of BBCode you are using, some or all of these codes could be implemented and more could be potentially available. Consult the documentation or FAQ on the BBCode variation you are using to see what is available to you.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danawoodman.com/2009/11/bbcode-syntax-reference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing e-mail sending locally in Django</title>
		<link>http://www.danawoodman.com/2009/11/testing-e-mail-sending-locally-in-django/</link>
		<comments>http://www.danawoodman.com/2009/11/testing-e-mail-sending-locally-in-django/#comments</comments>
		<pubDate>Sat, 21 Nov 2009 12:21:59 +0000</pubDate>
		<dc:creator>Dana Woodman</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[Python]]></category>

		<guid isPermaLink="false">http://www.danawoodman.com/?p=114</guid>
		<description><![CDATA[If you&#8217;ve been wanting to test email in your Django application locally, then read this short tutorial. If you need to test you Django app&#8217;s email sending functionality locally, you&#8217;re in luck. Python has a built in &#8220;dumb&#8221; SMTP email server for doing just that. All you need to do to run it is open [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve been wanting to test email in your Django application locally, then read this short tutorial.</p>

<p><span id="more-114"></span></p>

<p>If you need to test you Django app&#8217;s email sending functionality locally, you&#8217;re in luck. Python has a built in &#8220;dumb&#8221; SMTP email server for doing just that.</p>

<p>All you need to do to run it is open up your console and type:
<pre>python -m smtpd -n -c DebuggingServer localhost:1025</pre>
Then just change your settings.py file to have these settings:
<pre>EMAIL_HOST = "localhost"
EMAIL_PORT = 1025</pre>
&#8230; and any email sent from your local Django app will show up in the console for you to view.</p>

<p>See this page for more info:
<a title="View Django's docs on email sending." href="http://docs.djangoproject.com/en/dev/topics/email/#testing-e-mail-sending" target="_blank">http://docs.djangoproject.com/en/dev/topics/email/#testing-e-mail-sending</a></p>

<p>Hope that helps, cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danawoodman.com/2009/11/testing-e-mail-sending-locally-in-django/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>List of all Pygments supported languages with character codes</title>
		<link>http://www.danawoodman.com/2009/11/list-of-all-pygments-supported-languages-with-character-codes/</link>
		<comments>http://www.danawoodman.com/2009/11/list-of-all-pygments-supported-languages-with-character-codes/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 14:24:44 +0000</pubDate>
		<dc:creator>Dana Woodman</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[Pygments]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[syntax highlighting]]></category>

		<guid isPermaLink="false">http://www.danawoodman.com/?p=106</guid>
		<description><![CDATA[A listing of all available Pygments languages including their code names. Recently I have been working on making a Django power forum (that I may release shortly!) and it has built in BBCode highlighting. With the BBCode in my forum you can use any Pygment supported language which is great but I could not for [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.danawoodman.com/2009/11/list-of-all-pygments-supported-languages-with-character-codes/4433296354_2b9c282599_o/" rel="attachment wp-att-427"><img src="http://www.danawoodman.com/wp-content/uploads/2009/11/4433296354_2b9c282599_o.jpg" alt="List of all Pygments supported languages with character codes" title="List of all Pygments supported languages with character codes" width="610" height="220" class="alignnone size-full wp-image-427" /></a></p>

<p>A listing of all available Pygments languages including their code names.</p>

<p><span id="more-106"></span></p>

<p>Recently I have been working on making a <a title="Visit Django" href="http://www.djangoproject.org" target="_blank">Django</a> power forum (that I may release shortly!) and it has built in <a title="Read about BBCode" href="http://www.phpbb.com/community/faq.php?mode=bbcode" target="_blank">BBCode</a> highlighting. With the BBCode in my forum you can use any <a title="Visit Pygment's home page" href="http://pygments.org/" target="_blank">Pygment</a> supported language which is great but I could not for the life of me find a decent resource that lists all the languages with their corresponding character code (to use in BBCode for example) so I decided to collect a list myself. Below is the list of languages with the language code on the left and the language on the right:</p>

<table cellspacing="0">
    <thead>
        <tr>
            <th>Code</th>
            <th>Language</th>
        </tr>
    </thead>
    <tbody>
        <tr>
            <td>abap</td>
            <td>ABAP</td>
        </tr>
        <tr>
            <td>antlr</td>
            <td>ANTLR</td>
        </tr>
        <tr>
            <td>antlr-as</td>
            <td>ANTLR With ActionScript Target</td>
        </tr>
        <tr>
            <td>antlr-csharp</td>
            <td>ANTLR With C# Target</td>
        </tr>
        <tr>
            <td>antlr-cpp</td>
            <td>ANTLR With CPP Target</td>
        </tr>
        <tr>
            <td>antlr-java</td>
            <td>ANTLR With Java Target</td>
        </tr>
        <tr>
            <td>antlr-objc</td>
            <td>ANTLR With ObjectiveC Target</td>
        </tr>
        <tr>
            <td>antlr-perl</td>
            <td>ANTLR With Perl Target</td>
        </tr>
        <tr>
            <td>antlr-python</td>
            <td>ANTLR With Python Target</td>
        </tr>
        <tr>
            <td>antlr-ruby</td>
            <td>ANTLR With Ruby Target</td>
        </tr>
        <tr>
            <td>as</td>
            <td>ActionScript</td>
        </tr>
        <tr>
            <td>as3</td>
            <td>ActionScript 3</td>
        </tr>
        <tr>
            <td>apacheconf</td>
            <td>ApacheConf</td>
        </tr>
        <tr>
            <td>applescript</td>
            <td>AppleScript</td>
        </tr>
        <tr>
            <td>bbcode</td>
            <td>BBCode</td>
        </tr>
        <tr>
            <td>bash</td>
            <td>Bash</td>
        </tr>
        <tr>
            <td>console</td>
            <td>Bash Session</td>
        </tr>
        <tr>
            <td>bat</td>
            <td>Batchfile</td>
        </tr>
        <tr>
            <td>befunge</td>
            <td>Befunge</td>
        </tr>
        <tr>
            <td>boo</td>
            <td>Boo</td>
        </tr>
        <tr>
            <td>brainfuck</td>
            <td>Brainfuck</td>
        </tr>
        <tr>
            <td>c</td>
            <td>C</td>
        </tr>
        <tr>
            <td>csharp</td>
            <td>C#</td>
        </tr>
        <tr>
            <td>cpp</td>
            <td>C++</td>
        </tr>
        <tr>
            <td>cmake</td>
            <td>CMake</td>
        </tr>
        <tr>
            <td>css</td>
            <td>CSS</td>
        </tr>
        <tr>
            <td>css+django</td>
            <td>CSS+Django/Jinja</td>
        </tr>
        <tr>
            <td>css+genshitext</td>
            <td>CSS+Genshi Text</td>
        </tr>
        <tr>
            <td>css+mako</td>
            <td>CSS+Mako</td>
        </tr>
        <tr>
            <td>css+myghty</td>
            <td>CSS+Myghty</td>
        </tr>
        <tr>
            <td>css+php</td>
            <td>CSS+PHP</td>
        </tr>
        <tr>
            <td>css+erb</td>
            <td>CSS+Ruby</td>
        </tr>
        <tr>
            <td>css+smarty</td>
            <td>CSS+Smarty</td>
        </tr>
        <tr>
            <td>cheetah</td>
            <td>Cheetah</td>
        </tr>
        <tr>
            <td>clojure</td>
            <td>Clojure</td>
        </tr>
        <tr>
            <td>common-lisp</td>
            <td>Common Lisp</td>
        </tr>
        <tr>
            <td>cython</td>
            <td>Cython</td>
        </tr>
        <tr>
            <td>d</td>
            <td>D</td>
        </tr>
        <tr>
            <td>dpatch</td>
            <td>Darcs Patch</td>
        </tr>
        <tr>
            <td>control</td>
            <td>Debian Control file</td>
        </tr>
        <tr>
            <td>sourceslist</td>
            <td>Debian Sourcelist</td>
        </tr>
        <tr>
            <td>delphi</td>
            <td>Delphi</td>
        </tr>
        <tr>
            <td>diff</td>
            <td>Diff</td>
        </tr>
        <tr>
            <td>django</td>
            <td>Django/Jinja</td>
        </tr>
        <tr>
            <td>dylan</td>
            <td>Dylan</td>
        </tr>
        <tr>
            <td>erb</td>
            <td>ERB</td>
        </tr>
        <tr>
            <td>ragel-em</td>
            <td>Embedded Ragel</td>
        </tr>
        <tr>
            <td>erlang</td>
            <td>Erlang</td>
        </tr>
        <tr>
            <td>erl</td>
            <td>Erlang erl session</td>
        </tr>
        <tr>
            <td>evoque</td>
            <td>Evoque</td>
        </tr>
        <tr>
            <td>fortran</td>
            <td>Fortran</td>
        </tr>
        <tr>
            <td>gas</td>
            <td>GAS</td>
        </tr>
        <tr>
            <td>glsl</td>
            <td>GLSL</td>
        </tr>
        <tr>
            <td>genshi</td>
            <td>Genshi</td>
        </tr>
        <tr>
            <td>genshitext</td>
            <td>Genshi Text</td>
        </tr>
        <tr>
            <td>pot</td>
            <td>Gettext Catalog</td>
        </tr>
        <tr>
            <td>gnuplot</td>
            <td>Gnuplot</td>
        </tr>
        <tr>
            <td>groff</td>
            <td>Groff</td>
        </tr>
        <tr>
            <td>html</td>
            <td>HTML</td>
        </tr>
        <tr>
            <td>html+cheetah</td>
            <td>HTML+Cheetah</td>
        </tr>
        <tr>
            <td>html+django</td>
            <td>HTML+Django/Jinja</td>
        </tr>
        <tr>
            <td>html+evoque</td>
            <td>HTML+Evoque</td>
        </tr>
        <tr>
            <td>html+genshi</td>
            <td>HTML+Genshi</td>
        </tr>
        <tr>
            <td>html+mako</td>
            <td>HTML+Mako</td>
        </tr>
        <tr>
            <td>html+myghty</td>
            <td>HTML+Myghty</td>
        </tr>
        <tr>
            <td>html+php</td>
            <td>HTML+PHP</td>
        </tr>
        <tr>
            <td>html+smarty</td>
            <td>HTML+Smarty</td>
        </tr>
        <tr>
            <td>haskell</td>
            <td>Haskell</td>
        </tr>
        <tr>
            <td>ini</td>
            <td>INI</td>
        </tr>
        <tr>
            <td>irc</td>
            <td>IRC logs</td>
        </tr>
        <tr>
            <td>io</td>
            <td>Io</td>
        </tr>
        <tr>
            <td>java</td>
            <td>Java</td>
        </tr>
        <tr>
            <td>jsp</td>
            <td>Java Server Page</td>
        </tr>
        <tr>
            <td>js</td>
            <td>JavaScript</td>
        </tr>
        <tr>
            <td>js+cheetah</td>
            <td>JavaScript+Cheetah</td>
        </tr>
        <tr>
            <td>js+django</td>
            <td>JavaScript+Django/Jinja</td>
        </tr>
        <tr>
            <td>js+genshitext</td>
            <td>JavaScript+Genshi Text</td>
        </tr>
        <tr>
            <td>js+mako</td>
            <td>JavaScript+Mako</td>
        </tr>
        <tr>
            <td>js+myghty</td>
            <td>JavaScript+Myghty</td>
        </tr>
        <tr>
            <td>js+php</td>
            <td>JavaScript+PHP</td>
        </tr>
        <tr>
            <td>js+erb</td>
            <td>JavaScript+Ruby</td>
        </tr>
        <tr>
            <td>js+smarty</td>
            <td>JavaScript+Smarty</td>
        </tr>
        <tr>
            <td>llvm</td>
            <td>LLVM</td>
        </tr>
        <tr>
            <td>lighty</td>
            <td>Lighttpd configuration file</td>
        </tr>
        <tr>
            <td>lhs</td>
            <td>Literate Haskell</td>
        </tr>
        <tr>
            <td>logtalk</td>
            <td>Logtalk</td>
        </tr>
        <tr>
            <td>lua</td>
            <td>Lua</td>
        </tr>
        <tr>
            <td>moocode</td>
            <td>MOOCode</td>
        </tr>
        <tr>
            <td>mxml</td>
            <td>MXML</td>
        </tr>
        <tr>
            <td>basemake</td>
            <td>Makefile</td>
        </tr>
        <tr>
            <td>make</td>
            <td>Makefile</td>
        </tr>
        <tr>
            <td>mako</td>
            <td>Mako</td>
        </tr>
        <tr>
            <td>matlab</td>
            <td>Matlab</td>
        </tr>
        <tr>
            <td>matlabsession</td>
            <td>Matlab session</td>
        </tr>
        <tr>
            <td>minid</td>
            <td>MiniD</td>
        </tr>
        <tr>
            <td>modelica</td>
            <td>Modelica</td>
        </tr>
        <tr>
            <td>trac-wiki</td>
            <td>MoinMoin/Trac Wiki markup</td>
        </tr>
        <tr>
            <td>mupad</td>
            <td>MuPAD</td>
        </tr>
        <tr>
            <td>mysql</td>
            <td>MySQL</td>
        </tr>
        <tr>
            <td>myghty</td>
            <td>Myghty</td>
        </tr>
        <tr>
            <td>nasm</td>
            <td>NASM</td>
        </tr>
        <tr>
            <td>newspeak</td>
            <td>Newspeak</td>
        </tr>
        <tr>
            <td>nginx</td>
            <td>Nginx configuration file</td>
        </tr>
        <tr>
            <td>numpy</td>
            <td>NumPy</td>
        </tr>
        <tr>
            <td>ocaml</td>
            <td>OCaml</td>
        </tr>
        <tr>
            <td>objective-c</td>
            <td>Objective-C</td>
        </tr>
        <tr>
            <td>ooc</td>
            <td>Ooc</td>
        </tr>
        <tr>
            <td>php</td>
            <td>PHP</td>
        </tr>
        <tr>
            <td>pov</td>
            <td>POVRay</td>
        </tr>
        <tr>
            <td>perl</td>
            <td>Perl</td>
        </tr>
        <tr>
            <td>prolog</td>
            <td>Prolog</td>
        </tr>
        <tr>
            <td>python</td>
            <td>Python</td>
        </tr>
        <tr>
            <td>python3</td>
            <td>Python 3</td>
        </tr>
        <tr>
            <td>py3tb</td>
            <td>Python 3.0 Traceback</td>
        </tr>
        <tr>
            <td>pytb</td>
            <td>Python Traceback</td>
        </tr>
        <tr>
            <td>pycon</td>
            <td>Python console session</td>
        </tr>
        <tr>
            <td>rebol</td>
            <td>REBOL</td>
        </tr>
        <tr>
            <td>rhtml</td>
            <td>RHTML</td>
        </tr>
        <tr>
            <td>ragel</td>
            <td>Ragel</td>
        </tr>
        <tr>
            <td>ragel-c</td>
            <td>Ragel in C Host</td>
        </tr>
        <tr>
            <td>ragel-cpp</td>
            <td>Ragel in CPP Host</td>
        </tr>
        <tr>
            <td>ragel-d</td>
            <td>Ragel in D Host</td>
        </tr>
        <tr>
            <td>ragel-java</td>
            <td>Ragel in Java Host</td>
        </tr>
        <tr>
            <td>ragel-objc</td>
            <td>Ragel in Objective C Host</td>
        </tr>
        <tr>
            <td>ragel-ruby</td>
            <td>Ragel in Ruby Host</td>
        </tr>
        <tr>
            <td>raw</td>
            <td>Raw token data</td>
        </tr>
        <tr>
            <td>redcode</td>
            <td>Redcode</td>
        </tr>
        <tr>
            <td>rb</td>
            <td>Ruby</td>
        </tr>
        <tr>
            <td>rbcon</td>
            <td>Ruby irb session</td>
        </tr>
        <tr>
            <td>splus</td>
            <td>S</td>
        </tr>
        <tr>
            <td>sql</td>
            <td>SQL</td>
        </tr>
        <tr>
            <td>scala</td>
            <td>Scala</td>
        </tr>
        <tr>
            <td>scheme</td>
            <td>Scheme</td>
        </tr>
        <tr>
            <td>smalltalk</td>
            <td>Smalltalk</td>
        </tr>
        <tr>
            <td>smarty</td>
            <td>Smarty</td>
        </tr>
        <tr>
            <td>squidconf</td>
            <td>SquidConf</td>
        </tr>
        <tr>
            <td>tcl</td>
            <td>Tcl</td>
        </tr>
        <tr>
            <td>tcsh</td>
            <td>Tcsh</td>
        </tr>
        <tr>
            <td>tex</td>
            <td>TeX</td>
        </tr>
        <tr>
            <td>text</td>
            <td>Text only</td>
        </tr>
        <tr>
            <td>vb.net</td>
            <td>VB.net</td>
        </tr>
        <tr>
            <td>vala</td>
            <td>Vala</td>
        </tr>
        <tr>
            <td>vim</td>
            <td>VimL</td>
        </tr>
        <tr>
            <td>xml</td>
            <td>XML</td>
        </tr>
        <tr>
            <td>xml+cheetah</td>
            <td>XML+Cheetah</td>
        </tr>
        <tr>
            <td>xml+django</td>
            <td>XML+Django/Jinja</td>
        </tr>
        <tr>
            <td>xml+evoque</td>
            <td>XML+Evoque</td>
        </tr>
        <tr>
            <td>xml+mako</td>
            <td>XML+Mako</td>
        </tr>
        <tr>
            <td>xml+myghty</td>
            <td>XML+Myghty</td>
        </tr>
        <tr>
            <td>xml+php</td>
            <td>XML+PHP</td>
        </tr>
        <tr>
            <td>xml+erb</td>
            <td>XML+Ruby</td>
        </tr>
        <tr>
            <td>xml+smarty</td>
            <td>XML+Smarty</td>
        </tr>
        <tr>
            <td>xslt</td>
            <td>XSLT</td>
        </tr>
        <tr>
            <td>yaml</td>
            <td>YAML</td>
        </tr>
        <tr>
            <td>aspx-cs</td>
            <td>aspx-cs</td>
        </tr>
        <tr>
            <td>aspx-vb</td>
            <td>aspx-vb</td>
        </tr>
        <tr>
            <td>c-objdump</td>
            <td>c-objdump</td>
        </tr>
        <tr>
            <td>cpp-objdump</td>
            <td>cpp-objdump</td>
        </tr>
        <tr>
            <td>d-objdump</td>
            <td>d-objdump</td>
        </tr>
        <tr>
            <td>objdump</td>
            <td>objdump</td>
        </tr>
        <tr>
            <td>rst</td>
            <td>reStructuredText</td>
        </tr>
        <tr>
            <td>sqlite3</td>
            <td>sqlite3con</td>
        </tr>
    </tbody>
</table>

<p>If you see anything I&#8217;m missing let me know! Hope this was helps someone out there!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danawoodman.com/2009/11/list-of-all-pygments-supported-languages-with-character-codes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Regex: Match anything after a certain character</title>
		<link>http://www.danawoodman.com/2009/11/regex-match-anything-after-a-certain-character/</link>
		<comments>http://www.danawoodman.com/2009/11/regex-match-anything-after-a-certain-character/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 14:06:26 +0000</pubDate>
		<dc:creator>Dana Woodman</dc:creator>
				<category><![CDATA[Reference]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[regular expressions]]></category>

		<guid isPermaLink="false">http://www.danawoodman.com/?p=103</guid>
		<description><![CDATA[A simple regular expression to match anything after a certain character. Today I needed to match everything in a string after a certain character, in this case a quote (&#8220;). To accomplish this I needed to do the following: "(.+$) The " part can be any character or combination of characters and the (.+$) matches [...]]]></description>
			<content:encoded><![CDATA[<p>A simple regular expression to match anything after a certain character.</p>

<p><span id="more-103"></span></p>

<p>Today I needed to match everything in a string after a certain character, in this case a quote (&#8220;). To accomplish this I needed to do the following:</p>

<p><pre>"(.+$)</pre></p>

<p>The <code>"</code> part can be any character or combination of characters and the <code>(.+$)</code> matches anything (<code>.</code>) to the end of the line (<code>$</code>).</p>

<p>That&#8217;s about it, nothing fancy but useful none the less.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.danawoodman.com/2009/11/regex-match-anything-after-a-certain-character/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
