<?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>purpleAsphalt &#187; David Herman</title>
	<atom:link href="http://www.purpleasphalt.com/author/dstarh/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.purpleasphalt.com</link>
	<description>a programmers ramblings about everything</description>
	<lastBuildDate>Tue, 22 Feb 2011 21:12:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Command Line Quick Tip &#8211; generate a large file fast</title>
		<link>http://www.purpleasphalt.com/2011/02/18/command-line-quick-tip-generate-a-large-file-fast/</link>
		<comments>http://www.purpleasphalt.com/2011/02/18/command-line-quick-tip-generate-a-large-file-fast/#comments</comments>
		<pubDate>Fri, 18 Feb 2011 20:28:55 +0000</pubDate>
		<dc:creator>David Herman</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.purpleasphalt.com/?p=200</guid>
		<description><![CDATA[Need to generate a large file fast to test a large file based operation? The yes command is your friend. Simply redirect the output of yes to a file and then ctrl+c to stop it. After about 10 seconds I have a 248 meg file. My commands yes > yes.txt ^C dhermanmac:file dherman$ ls -lh [...]]]></description>
			<content:encoded><![CDATA[<p>Need to generate a large file fast to test a large file based operation? The <code>yes</code> command is your friend.  Simply redirect the output of <code>yes</code> to a file and then <code>ctrl+c</code> to stop it.  After about 10 seconds I have a 248 meg file.</p>
<p>My commands</p>
<pre class="brush: bash">
yes > yes.txt
^C
dhermanmac:file dherman$ ls -lh
total 508504
-rw-r--r--  1 dherman  EDIETS1\domain users   248M Feb 18 15:25 yes.txt
dhermanmac:file dherman$
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.purpleasphalt.com/2011/02/18/command-line-quick-tip-generate-a-large-file-fast/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Selenium, Firebug and Xpath (updated)</title>
		<link>http://www.purpleasphalt.com/2011/02/02/selenium-firebug-and-xpath/</link>
		<comments>http://www.purpleasphalt.com/2011/02/02/selenium-firebug-and-xpath/#comments</comments>
		<pubDate>Wed, 02 Feb 2011 18:32:52 +0000</pubDate>
		<dc:creator>David Herman</dc:creator>
				<category><![CDATA[general]]></category>

		<guid isPermaLink="false">http://www.purpleasphalt.com/?p=186</guid>
		<description><![CDATA[Today I was working on writing a selenium test to ensure a feature was working properly on our site.  The button I was trying to click had a duplicate button on the page and each did something different.  The problem was that they were both in different forms, but had the same name and no [...]]]></description>
			<content:encoded><![CDATA[<p>Today I was working on writing a selenium test to ensure a feature was working properly on our site.  The button I was trying to click had a duplicate button on the page and each did something different.  The problem was that they were both in different forms, but had the same name and no ID.  In  selenium the only way to target the specific button is via XPath.  The XPath for this is a little crazy:</p>
<p><code style="overflow-x: auto; display: block;">//div/div[2]/div/div/div[2]/div/div/div[2]/div[2]/div[2]/div[2]/div/form/input[13]</code></p>
<p>Now I spent a bit of time trying to figure it out manually and quickly gave up.  I figured firebug might have something and sure enough if you &#8220;Inspect Element&#8221; on the button firebug pops up with the full html path to the element shown across the top of the firebug window.  Hovering over each element gives you the full XPath and right clicking lets you do a few different operations such as Copy Html and Copy XPath.  Now the XPath that it gives you will look like</p>
<p><code style="overflow-x: auto; display: block;">/html/body/div/div[2]/div/div/div[2]/div/div/div/div[2]/div[2]/div[2]/div/form/input[13]</code></p>
<p>I removed the /html/body and replaced with // to match the rest of the XPath that selenium generates, replaced the name=fieldname in my test and it worked.</p>
<p><a href="http://www.purpleasphalt.com/wp-content/uploads/2011/02/firebug-xpath.jpg" rel="lightbox[186]"><img class="alignnone size-full wp-image-187" title="Getting XPath info from firebug" src="http://www.purpleasphalt.com/wp-content/uploads/2011/02/firebug-xpath.jpg" alt="" width="513" height="366" /></a></p>
<p><strong>*Please NOTE*</strong></p>
<p><strong>This is horrible don&#8217;t ever use it <img src='http://www.purpleasphalt.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  &#8211; All joking aside if you have the option to add a class or an id(as <strong>rasenplanscher points out in the comments below)</strong> to an element on the page that you need to target you should do that instead.  If you can&#8217;t like this situation, this will work for you.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.purpleasphalt.com/2011/02/02/selenium-firebug-and-xpath/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I heart groovy</title>
		<link>http://www.purpleasphalt.com/2011/01/19/i-heart-groovy/</link>
		<comments>http://www.purpleasphalt.com/2011/01/19/i-heart-groovy/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 14:51:39 +0000</pubDate>
		<dc:creator>David Herman</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[groovy]]></category>

		<guid isPermaLink="false">http://www.purpleasphalt.com/?p=164</guid>
		<description><![CDATA[Reason number 2343242354 why i love groovy &#8211; I had a bunch of urls and I needed to run NSLOOKUP on them. I had a couple of options, write a shell script, do each by hand, write it in java (eeek) or write it in groovy. I chose groovy. ["https://www.googleadservices.com", "https://roia.biz", "https://www.emjcd.com", "https://nmargin.com", "https://ssl.google-analytics.com", "https://www.ifactz.com", [...]]]></description>
			<content:encoded><![CDATA[<p>Reason number 2343242354 why i love groovy &#8211; I had a bunch of urls and I needed to run NSLOOKUP on them.  I had a couple of options, write a shell script, do each by hand, write it in java (eeek) or write it in groovy.  I chose groovy.</p>
<pre class="brush: groovy">["https://www.googleadservices.com",
"https://roia.biz",
"https://www.emjcd.com",
"https://nmargin.com",
"https://ssl.google-analytics.com",
"https://www.ifactz.com",
"https://secure.interclick.com",
"https://r.turn.com",
"https://secure.trafficmp.com",
"https://secure.fastclick.net",
"https://ads.revsci.net",
"https://conv.opt.fimserve.com",
"https://ds.contextweb.com",
"https://ad.yieldmanager.com",
"https://beacon.dedicatednetworks.com",
"https://flex.atdmt.com",
"https://seal.verisign.com",
"https://sealserver.trustkeeper.net"].each{ url -&gt;
println "nslookup ${url[8..-1]}".execute().text
}</pre>
<p>Ok let&#8217;s look whats going on here.  First thing you&#8217;ll notice if you&#8217;re coming from the java world is there is no class definition, there&#8217;s an implicit class created for you so for simple scripts especially run once scripts like this, it&#8217;s not necessary.</p>
<p>
The first part is a list which is created with []</p>
<pre class="brush: groovy">["https://www.googleadservices.com",
"https://roia.biz"]</pre>
</p>
<p>
Next we are calling a method on the list called .each which accepts a closure which is in this case</p>
<pre class="brush: groovy">{ url -&gt;
println "nslookup ${url[8..-1]}".execute().text
}</pre>
</p>
<p>
Contained in this closure is what I really needed to do, which was do an <code>NSLOOKUP</code> on each url, but only the domain, I had to strip out the protocol (I know this could have easily been done with a search and replace in my editor but then you don&#8217;t have any example code)
</p>
<p>We start by creating a groovy string &#8211; denoted by the<code>""</code> which allows us to substitute the url in with the ${url} syntax. Another niceity is to omit the {}&#8217;s if you do not need to run any additional methods on the variable you are substituting &#8211; had the <code>https://</code> not been in the url i could have written it like so:</p>
<pre  class="brush: groovy">
println "nslookup $url".execute().text
</pre>
</p>
<p>What you&#8217;ll notice is by using the array index notation with a range I am able to get all chars starting at position 8 and go all the way to the end (in groovy -1 means the end of the string, -2 would be 2 from the right -3, 3 from the right etc. &#8211; <code>no more subString(pos, string.len - pos)</code>) This same syntax also works with lists</p>
<p>Now that I have the portion of the domain I need, we call .execute() on it.  In groovy a <code>.execute</code> method is added to the String class and when doing so the entire string will be passed to the command line and executed. The following would print out the directory listing where the script was running.</p>
<pre  class="brush: groovy">
"ls -la".execute().text
</pre>
</p>
<p>Finally we call <code>.text </code>(equivalent of .<code>getText()</code>) since .execute only returns a <code>java.lang.UNIXProcess</code> and the text property gives you back the output</p>
<p>Also note that println is the equivalent of <code>System.out.println("text")</code> &#8211; it&#8217;s just another groovy shortcut.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purpleasphalt.com/2011/01/19/i-heart-groovy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alfred : A better &#8984; SPACE</title>
		<link>http://www.purpleasphalt.com/2011/01/19/alfred-a-better-cmd-space/</link>
		<comments>http://www.purpleasphalt.com/2011/01/19/alfred-a-better-cmd-space/#comments</comments>
		<pubDate>Wed, 19 Jan 2011 05:00:11 +0000</pubDate>
		<dc:creator>David Herman</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[alfred]]></category>
		<category><![CDATA[app launchers]]></category>

		<guid isPermaLink="false">http://www.purpleasphalt.com/?p=142</guid>
		<description><![CDATA[Over the past few weeks I&#8217;ve been using Alfred on both my work and home macs.  It&#8217;s a replacement for quicksilver which doesn&#8217;t seem to have been updated lately and to be quite honest I never really &#8220;got&#8221;.  I used it to launch applications and search with finder, but other than that not much else. [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few weeks I&#8217;ve been using <a href="http://www.alfredapp.com/">Alfred</a> on both my work and home macs.  It&#8217;s a replacement for quicksilver which doesn&#8217;t seem to have been updated lately and to be quite honest I never really &#8220;got&#8221;.  I used it to launch applications and search with finder, but other than that not much else.  After quicksilver I just started using good old &#8984;  SPACE to open spotlight and use it as my application launcher and for that alone it works just fine. It also replaces spotlight&#8217;s file searching using find {file} and open {file} to find and open files on disk &#8211; you can include / exclude the types of files it searches as well.  Alfred adds to this a bunch of web searching by default, type google some term and a new tab opens in the default browser (Chrome in my case) with your search term.  There are built in searches for gmail, twitter, amazon, wikipedia and many others which each have their own keyword and search term combination.</p>
<p>At work I often find myself doing certain search tasks (more go to url.com/x/ where x is a variable) all the time. Enter alfred&#8217;s custom searches.  You define your keyword, your url and it replaces a token &#8220;{query}&#8221; with your search term.  Now opening a track ticket is &#8984;   SPACE t 12345 which translates to trac.site.com/ticket/12345.  I have also added trac searching, stack overflow searching and a few others.</p>
<p>As well as app launching and searching it&#8217;s also got commands for various system commands such as activate screensaver, logout, lock, empty trash, and shutdown (yes there are already shortcuts for these, this just provides alternate ways of doing it). Another great feature is access the OSX dictionary, spell {word} will give you options on how to spell the word and define {word} will give you its definition.</p>
<p>The product is still in beta but it seems very well thought out and has given me no problems as of yet.</p>
<p>ps: As a bonus I changed the default behavior of &#8984;   SPACE in OSX preferences to &#8984;   SHIFT SPACE and mapped alfred to &#8984;  SPACE instead</p>

<a href='http://www.purpleasphalt.com/2011/01/19/alfred-a-better-cmd-space/default-alfred-window/' title='Default Alfred Window'><img width="150" height="96" src="http://www.purpleasphalt.com/wp-content/uploads/2011/01/default-alfred-window-150x96.jpg" class="attachment-thumbnail" alt="Default Alfred Window" title="Default Alfred Window" /></a>
<a href='http://www.purpleasphalt.com/2011/01/19/alfred-a-better-cmd-space/alfred-app-launcher/' title='The application launcher - can do fuzzy too'><img width="150" height="150" src="http://www.purpleasphalt.com/wp-content/uploads/2011/01/alfred-app-launcher-150x150.jpg" class="attachment-thumbnail" alt="The application launcher - can do fuzzy too" title="The application launcher - can do fuzzy too" /></a>
<a href='http://www.purpleasphalt.com/2011/01/19/alfred-a-better-cmd-space/alfred-google-search/' title='Alfred doing a google search'><img width="150" height="150" src="http://www.purpleasphalt.com/wp-content/uploads/2011/01/alfred-google-search-150x150.jpg" class="attachment-thumbnail" alt="Alfred doing a google search" title="Alfred doing a google search" /></a>
<a href='http://www.purpleasphalt.com/2011/01/19/alfred-a-better-cmd-space/alfred-prefrences/' title='A custom search in alfred'><img width="150" height="150" src="http://www.purpleasphalt.com/wp-content/uploads/2011/01/alfred-prefrences-150x150.jpg" class="attachment-thumbnail" alt="A custom search in alfred" title="A custom search in alfred" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.purpleasphalt.com/2011/01/19/alfred-a-better-cmd-space/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Un-Bustable: Why Mythbusters should stop doing some myths</title>
		<link>http://www.purpleasphalt.com/2010/10/13/un-bustable-why-mythbusters-should-stop-doing-some-myths/</link>
		<comments>http://www.purpleasphalt.com/2010/10/13/un-bustable-why-mythbusters-should-stop-doing-some-myths/#comments</comments>
		<pubDate>Thu, 14 Oct 2010 01:23:10 +0000</pubDate>
		<dc:creator>David Herman</dc:creator>
				<category><![CDATA[general]]></category>
		<category><![CDATA[mythbusters]]></category>
		<category><![CDATA[tv]]></category>
		<category><![CDATA[unbustable]]></category>

		<guid isPermaLink="false">http://www.purpleasphalt.com/?p=121</guid>
		<description><![CDATA[I love the Mythbusters, my 6 year old son loves the Mythbusters, in fact we now have a Friday night ritual where we camp out in the family room and watch the show. That being said I feel that there are a few myths that have been tackeld by the show that should not be. [...]]]></description>
			<content:encoded><![CDATA[<p>I love the Mythbusters, my 6 year old son loves the Mythbusters, in fact we now have a Friday night ritual where we camp out in the family room and watch the show. That being said I feel that there are a few myths that have been tackeld by the show that should not be.  Not because they are not interesting to watch but because they are &#8220;un-bustable&#8221;.  Lets take for example the breathalyzer, they tried about 5 or 6 methods to try and beat the test, none of them worked; shocking!  Lets say that they had found an easily reproducible method for defeating the machine, am I expected to believe that the hosts Adam and Jamie, the producers of the show, The Discovery Channel, the District Attorney, etc would have ever let such an episode air? If they had found that gargling milk mixed with hot sauce, rasins and fish sauce let you pass the breath test we would never have seen the segment. The same can be said for one of the most recent episodes, beating the drug sniffing dog.  Again had they found a sure fire way to do so, it would not be at all responsible for them to air the episode. Beating the radar gun, ditto.</p>
<p>The show is great let me make that clear, but they should just stop trying to bust the un-bustable myths.  I&#8217;d love to read your comments on this, has this bothered you as well?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purpleasphalt.com/2010/10/13/un-bustable-why-mythbusters-should-stop-doing-some-myths/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Brew Urban Cafe, Fort Lauderdale</title>
		<link>http://www.purpleasphalt.com/2008/12/05/brew-urban-cafe-fort-lauderdale/</link>
		<comments>http://www.purpleasphalt.com/2008/12/05/brew-urban-cafe-fort-lauderdale/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 16:27:26 +0000</pubDate>
		<dc:creator>David Herman</dc:creator>
				<category><![CDATA[food and drink]]></category>
		<category><![CDATA[brew]]></category>
		<category><![CDATA[espresso]]></category>
		<category><![CDATA[fort lauderdale]]></category>

		<guid isPermaLink="false">http://www.purpleasphalt.com/?p=107</guid>
		<description><![CDATA[Just wanted to write a quick note about Brew.  Had some time to kill before going to a show with Amalia so I went over to Brew based on recomendations from a friend. I&#8217;m a big fan of espresso, especially machiattos, and had the perfect machiatto on Wednesday night.  For once I was able to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.brewurbancafe.com/"><img class="alignleft" style="margin-left: 5px; margin-right: 5px;" title="Brew Logo" src="http://www.brewurbancafe.com/images/logo.gif" alt="Brew Logo" width="89" height="90" align="left" /></a></p>
<p>Just wanted to write a quick note about Brew.  Had some time to kill before going to a <a href="http://www.laffingmatterz.com/" target="_blank">show</a> with <a href="http://www.daveandamalia.com/amalia">Amalia</a> so I went over to Brew based on recomendations from a <a href="http://trak3r.blogspot.com">friend</a>. I&#8217;m a big fan of espresso, especially machiattos, and had the perfect machiatto on Wednesday night.  For once I was able to order a machiatto without having to explain to the barista that a it&#8217;s not a little latte, nor is it espresso with whipped cream (never order something complex from *$ on the turnpike).</p>
<p>The espresso was rich and extremely bold without being overly bitter, and the locally roasted beans seem to make quite a difference.  Now if only they had a location closer to my office. Like I said, a quick note, wasn&#8217;t there long enough to write a full review.  What&#8217;s your favorite coffee &#8220;joint&#8221; as they say?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purpleasphalt.com/2008/12/05/brew-urban-cafe-fort-lauderdale/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pods Fail</title>
		<link>http://www.purpleasphalt.com/2008/11/30/pods-fail/</link>
		<comments>http://www.purpleasphalt.com/2008/11/30/pods-fail/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 16:03:11 +0000</pubDate>
		<dc:creator>David Herman</dc:creator>
				<category><![CDATA[code]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[pods]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.purpleasphalt.com/?p=97</guid>
		<description><![CDATA[Always on the lookout for new tools I thought I&#8217;d try and install pods.Â  Pods claims to be a simple cms tool that allows you to create relatable objects. You can create master &#62; detail pages, calendars, photo albums. Seems to be the simple &#8220;relational db&#8221; plugin I&#8217;ve been looking for. The install instructions are: [...]]]></description>
			<content:encoded><![CDATA[<p>Always on the lookout for new tools I thought I&#8217;d try and install <a title="pods" href="http://pods.uproot.us/">pods</a>.Â  Pods claims to be a simple cms tool that allows you to create relatable objects.  You can create master &gt; detail pages, calendars, photo albums.  Seems to be the simple &#8220;relational db&#8221; plugin I&#8217;ve been looking for.</p>
<p>The install instructions are:</p>
<ol>
<li>Copy the pods .htaccess file and overwrite yours</li>
<li>Change the permalink to /%postname%/</li>
<li>Activate plugin</li>
</ol>
<p>I followed those instructions and got the following warnings</p>
<p><code>Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /purpleasphalt/wp-content/plugins/pods/init.php on line 33</code></p>
<p><code>Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /purpleasphalt/wp-content/plugins/pods/sql/update.php on line 4<br />
</code></p>
<p><code>Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in /purpleasphalt/wp-content/plugins/pods/sql/update.php on line 11<br />
</code></p>
<p><code>Warning: Cannot modify header information - headers already sent by (output started at /purpleasphalt/wp-content/plugins/pods/init.php:33) in /purpleasphalt/wp-includes/classes.php on line 1569<br />
</code></p>
<p>On I trudged ignoring the errors.  I was able to create a new pod, or at least it showed up on the screen, but when I refreshed, it was gone.</p>
<p>I started poking around the comments section of the site and found that the warnings would be cleared up in the next release.   I also noted that issues can be cleared up by removing the associated pods tables, and that they would be re-created.  However it looks like from my warnings that pods could not determine if it had already installed itself.  My suspicions were correct when I checked mysql and found that there were no pods tables found.</p>
<p>I&#8217;ll post more when 1.2.1 hits and the warnings go away.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purpleasphalt.com/2008/11/30/pods-fail/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Hey mac, give me my keyboard back!</title>
		<link>http://www.purpleasphalt.com/2008/11/28/hey-mac-give-me-my-keyboard-back/</link>
		<comments>http://www.purpleasphalt.com/2008/11/28/hey-mac-give-me-my-keyboard-back/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 18:12:29 +0000</pubDate>
		<dc:creator>David Herman</dc:creator>
				<category><![CDATA[mac]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[os x]]></category>

		<guid isPermaLink="false">http://www.purpleasphalt.com/?p=84</guid>
		<description><![CDATA[I&#8217;m a recent mac convert and everything is as they say, Hunky Dory.  In windows I was rather proud in not having to take my fingers off the keyboad for most computing endeavors.  However, on sparkly new macbook things are were not so easy. Web Forms: The default behavior it seems is to tab between [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m a recent mac convert and everything is as they say, Hunky Dory.  In windows I was rather proud in not having to take my fingers off the keyboad for most computing endeavors.  However, on sparkly new macbook things <span style="text-decoration: line-through;">are</span> were not so easy.</p>
<p>Web Forms:<br />
The default behavior it seems is to tab between text and list boxes only.  That checkbox that says &#8220;Remember Me&#8221;, good luck selecting that with your keyboard.</p>
<p>Dialog Boxes:<br />
I&#8217;m also used to using the arrow keys to hit Cancel or Ok, which ever is not the default option.</p>
<p>To fix this problem change the settings from &#8220;Text boxes and Lists only&#8221; to &#8220;All Controls&#8221;</p>
<div id="attachment_85" class="wp-caption alignnone" style="width: 160px"><a href="http://www.purpleasphalt.com/wp-content/uploads/2008/11/keyboard-mouse.jpg" rel="lightbox[84]"><img class="size-thumbnail wp-image-85" title="Keyboard and Mouse Settings" src="http://www.purpleasphalt.com/wp-content/uploads/2008/11/keyboard-mouse-150x150.jpg" alt="Get your keyboard back!" width="150" height="150" /></a><p class="wp-caption-text">Get your keyboard back!</p></div>
<p>This has now fixed one of the main pain points for me and my new mac.  There&#8217;s not much that I have issues with but this was one that really bothered me.  I just wish it was the default setting.  I&#8217;d love an application that would list all of the &#8220;newb&#8221; settings all in one place so that I could more easily change them, or know that they exist for that matter.</p>
<p>Some other things that I have found:</p>
<p>fn + delete = makes delete key a delete key and not a backspace key.</p>
<p>Speaking of the &#8216;fn&#8217; key, have an app that loves the F Keys like Eclipse?  You can default them to F1,F2 etc with the following change:</p>
<div id="attachment_91" class="wp-caption alignnone" style="width: 160px"><a href="http://www.purpleasphalt.com/wp-content/uploads/2008/11/keyboard-mouse-2.jpg" rel="lightbox[84]"><img class="size-thumbnail wp-image-91" title="Function Keys" src="http://www.purpleasphalt.com/wp-content/uploads/2008/11/keyboard-mouse-2-150x150.jpg" alt="Use function keys by default" width="150" height="150" /></a><p class="wp-caption-text">Use function keys by default</p></div>
<p>Any other keyboard tips and tricks? Let me know in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.purpleasphalt.com/2008/11/28/hey-mac-give-me-my-keyboard-back/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>

