<?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>Ivan Enviroman &#187; Technology</title>
	<atom:link href="http://www.ivanenviroman.com/category/apple-mac-iphone-gadgets/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.ivanenviroman.com</link>
	<description>Sustainability, Business, Technology, and Spirit</description>
	<lastBuildDate>Wed, 28 Jul 2010 17:40:45 +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>The Simplest Possible Cucumber Test</title>
		<link>http://www.ivanenviroman.com/test-post/</link>
		<comments>http://www.ivanenviroman.com/test-post/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 21:15:59 +0000</pubDate>
		<dc:creator>ivanoats</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[rubyonrails]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[webdesign]]></category>
		<category><![CDATA[webdevelopment]]></category>

		<guid isPermaLink="false">http://www.ivanenviroman.com/?p=1656</guid>
		<description><![CDATA[I&#8217;m not really that good at testing. So what, so are a lot of people. Having some tests is better than none! And, the way testing tutorials are written can seem really complex and scary. Today I started thinking about &#8230; <a href="http://www.ivanenviroman.com/test-post/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not really that good at testing. So what, so are a lot of people. Having some tests is better than none! And, the way testing tutorials are written can seem really complex and scary. Today I started thinking about the simplest possible way to get started with web app testing.</p>
<p>When I&#8217;m getting back into a project after not working on it for a while, I just want to know whether the application works. I want to know whether it will run on my development environment, even if I&#8217;m on a new machine. I have three computers that I use at various locations so this is important to me.</p>
<p>So for me the simplest possible test would be:</p>
<ul>
<li>The home page should load. That is the default route should return a successful page without any errors. It will have some key piece of text that says it&#8217;s working.</li>
</ul>
<p>Here&#8217;s how I do it with <a href="http://www.cukes.info/">cucumber</a>:</p>
<p>If you haven&#8217;t installed the cucumber gems yet, put this in your <code>config/test.rb</code>file.
</p>
<p>If you haven&#8217;t cucumber set up yet, run
<pre class="brush: php">script/generate cucumber</pre>
</p>
<p>Then, create the file below:</p>
<p>File: features/homepage.feature</p>
<pre class="brush: ruby">
Feature: View homepage for app
  In order to make sure the app loads
  As a user
  I want to see the home page

Scenario: Homepage should say Search
  When I go to the homepage
  Then I should see &quot;Search&quot;
</pre>
<p>Tip: none of what you write in the Feature section really matters. It&#8217;s just for you or your client&#8217;s benefit.</p>
<p>Then, run
<pre class="brush: php">cucumber features</pre>
</p>
<p>You should get the following output:</p>
<pre class="brush: ruby">
:&gt; cucumber features
Feature: View homepage for app
  In order to make sure the app loads
  As a user
  I want to see the home page

  Scenario: Homepage should say Search # features/homepage.feature:6
    When I go to the homepage          # features/step_definitions/webrat_steps.rb:10
    Then I should see &quot;My Telltale Text&quot; # features/step_definitions/webrat_steps.rb:118

1 scenario (1 passed)
2 steps (2 passed)
</pre>
</p>
<p>Some cool things about this: &#8220;the homepage&#8221; is something that cucumber / webrat understands out of the box. See features/step_definitions/webrat_steps.rb for how to define other custom route names. And also, &#8220;I should see &#8220;something in quotes&#8221; is out of the box cucumber goodness.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanenviroman.com/test-post/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Real Direct Democracy</title>
		<link>http://www.ivanenviroman.com/real-direct-democracy/</link>
		<comments>http://www.ivanenviroman.com/real-direct-democracy/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 15:34:43 +0000</pubDate>
		<dc:creator>ivanoats</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[technology]]></category>

		<guid isPermaLink="false">http://www.ivanenviroman.com/?p=1729</guid>
		<description><![CDATA[We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty, and the pursuit of Happiness. That to secure these rights, &#8230; <a href="http://www.ivanenviroman.com/real-direct-democracy/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<blockquote><p>We hold these truths to be self-evident, that all men are created equal, that they are endowed by their Creator with certain unalienable Rights, that among these are Life, Liberty, and the pursuit of Happiness. That to secure these rights, Governments are instituted among Men, deriving their just powers from the consent of the governed. </p></blockquote>
<p>Not all corporations are created equal, as our conservative supreme court seems to think. <a href="http://www.callaconvention.org/">It&#8217;s time to use our people power to set that straight.</a> And, while we&#8217;re at it, let&#8217;s set up a direct democracy party too! <a href="http://springwise.com/government/australians_launch_worlds_firs">The Australians have already made a first step!</a>   </p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanenviroman.com/real-direct-democracy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Pragmatic Programmer</title>
		<link>http://www.ivanenviroman.com/the-pragmatic-programmer/</link>
		<comments>http://www.ivanenviroman.com/the-pragmatic-programmer/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 03:23:23 +0000</pubDate>
		<dc:creator>ivanoats</dc:creator>
				<category><![CDATA[rubyonrails]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://www.ivanenviroman.com/?p=1620</guid>
		<description><![CDATA[The Pragmatic Programmer: From Journeyman to Master by Andrew Hunt My rating: 4 of 5 stars A little dated if you&#8217;re using a framework like Ruby on Rails, but definitely worth reviewing and further study. Lots of great practices. I &#8230; <a href="http://www.ivanenviroman.com/the-pragmatic-programmer/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.goodreads.com/book/show/4099.The_Pragmatic_Programmer_From_Journeyman_to_Master" style="float: left; padding-right: 20px"><img alt="The Pragmatic Programmer: From Journeyman to Master" border="0" src="http://photo.goodreads.com/books/1165384260m/4099.jpg" /></a> <a href="http://www.goodreads.com/book/show/4099.The_Pragmatic_Programmer_From_Journeyman_to_Master">The Pragmatic Programmer: From Journeyman to Master</a> by <a href="http://www.goodreads.com/author/show/2812.Andrew_Hunt">Andrew Hunt</a></p>
<p>My rating: <a href="http://www.goodreads.com/review/show/72957057">4 of 5 stars</a><br />
A little dated if you&#8217;re using a framework like Ruby on Rails, but definitely worth reviewing and further study. Lots of great practices. I feel like this book gives you the foundational understanding to what inspired many current Ruby on Rails practices.</p>
<p><a href="http://www.goodreads.com/review/list/1159140-ivan">View all my reviews >></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanenviroman.com/the-pragmatic-programmer/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Generate Random Passwords</title>
		<link>http://www.ivanenviroman.com/random-password-generator/</link>
		<comments>http://www.ivanenviroman.com/random-password-generator/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 06:11:15 +0000</pubDate>
		<dc:creator>ivanoats</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[scripts]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://www.ivanenviroman.com/sustainable-websites-green-web-hosting-generate-random-passwords/</guid>
		<description><![CDATA[I wrote an article on the Sustainable Websites Blog on a quick program to Generate Random Passwords.]]></description>
			<content:encoded><![CDATA[<p>I wrote an article on the Sustainable Websites Blog on a quick program to <a href="http://www.sustainablewebsites.com/article/random-password-generator">Generate Random Passwords</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanenviroman.com/random-password-generator/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Email Encryption Tutorial</title>
		<link>http://www.ivanenviroman.com/email-encryption-tutorial/</link>
		<comments>http://www.ivanenviroman.com/email-encryption-tutorial/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 01:25:27 +0000</pubDate>
		<dc:creator>ivanoats</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[encryption]]></category>
		<category><![CDATA[mac]]></category>

		<guid isPermaLink="false">http://www.ivanenviroman.com/?p=1307</guid>
		<description><![CDATA[If you have a mac and use Mac Mail, I found a great step-by-step tutorial on how to set up your mac to send and receive encrypted email. Why you would ever need to send encrypted email? Well, if you &#8230; <a href="http://www.ivanenviroman.com/email-encryption-tutorial/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you have a mac and use Mac Mail, I found a great step-by-step tutorial on <a href="http://www.wasuvi.com/?page_id=2368">how to set up your mac to send and receive encrypted email</a>.</p>
<p>Why you would <em>ever</em> need to send encrypted email? Well, if you are a web site owner or designer, you should <em>never</em> send passwords over email, because email is readable by any computer (or person) in between your computer and the receiver&#8217;s. Or, if you have health information you don&#8217;t want to be made public. Or anything private that you don&#8217;t want other people seeing, like when you&#8217;ll be on vacation, where you live, your social security #, and the list goes on. Unfortunately, strangers on the internet will take advantage of your private information if you let them.</p>
<p>My company, <a title="Green Web Hosting" href="http://www.sustainablewebsites.com">SustainableWebsites.com</a> has hosted web site customers that have been careless about connecting to their email or FTP from an unsecured network such as a coffeeshop or airport wifi. Unfortunately, they have had their emails stolen or web sites hacked. We have an article on <a title="Learn how to protect your web site" href="http://www.sustainablewebsites.com/article/security-tips">web site security tips</a> on our blog.</p>
<p>If you have a mac, and any interest in sending encrypted email (you should!), I recommend this tutorial, because it has screen shots and step-by-step instructions that most people can follow.</p>
<p>If you want to email me securely, you&#8217;ll need my public key, in either <a href="http://www.ivanenviroman.com/wp-content/uploads/2009/07/ivan-sustainablewebsites-com-ascii.gpgkey">ascii</a> or <a title="right click to download" href="http://www.ivanenviroman.com/wp-content/uploads/2009/07/ivan-sustainablewebsites-com.gpgkey">binary</a> format, and I&#8217;ll need yours. Try out the <a title="do it, it's fun and not too hard" href="http://www.wasuvi.com/?page_id=2368">tutorial</a> and send me your public key.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanenviroman.com/email-encryption-tutorial/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>What&#8217;s so Great About WordPress &#8211; the Radio Show</title>
		<link>http://www.ivanenviroman.com/whats-so-great-about-wordpress-the-radio-show/</link>
		<comments>http://www.ivanenviroman.com/whats-so-great-about-wordpress-the-radio-show/#comments</comments>
		<pubDate>Tue, 17 Feb 2009 00:10:43 +0000</pubDate>
		<dc:creator>Ivan Storck</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[sustainablewebsites]]></category>
		<category><![CDATA[technologydojo]]></category>

		<guid isPermaLink="false">http://www.ivanenviroman.com/?p=477</guid>
		<description><![CDATA[Sustainable Websites founder Ivan Storck will be on a live podcast tomorrow at 1pm PST. Call in with your WordPress questions! Many people think that WordPress is only for bloggers. Not true! Lee and Ivan will talk about why WordPress &#8230; <a href="http://www.ivanenviroman.com/whats-so-great-about-wordpress-the-radio-show/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Sustainable Websites founder Ivan Storck will be on a live podcast tomorrow at 1pm PST. Call in with your WordPress questions!</p>
<p>Many people think that <a href="http://www.sustainablewebsites.com/wordpress-pie">WordPress</a> is only for bloggers. Not true! Lee and Ivan will talk about why <a href="http://www.sustainablewebsites.com/wordpress-hosting">WordPress</a> is such a great tool for entrepreneurs and small business owners, and how you can get started today.</p>
<p>I&#8217;ll be introducing Sustainable Websites&#8217;s new service <a href="http://www.sustainablewebsites.com/wordpress-pie">WordPress Pie</a>!
</p>
<p>The show airs live on Blog Talk Radio on Tuesday, February 17 from 1-2 PM Pacific time.</p>
<p>To tune in, go to <a href="http://www.blogtalkradio.com/Dojo-Radio">http://www.blogtalkradio.com/Dojo-Radio</a>.</p>
<p>Call <strong>(646) 716-9210</strong> while we&rsquo;re recording the show to share comments or questions. And if you want to participate in the chat room (always fun!) you&rsquo;ll need to first register at <a href="http://www.blogtalkradio.com">www.blogtalkradio.com</a>.  See you on the air!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanenviroman.com/whats-so-great-about-wordpress-the-radio-show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s time to party like it&#8217;s 1234567890 – &#8217;cause it is!</title>
		<link>http://www.ivanenviroman.com/its-time-to-party-like-its-1234567890-%e2%80%93-cause-it-is/</link>
		<comments>http://www.ivanenviroman.com/its-time-to-party-like-its-1234567890-%e2%80%93-cause-it-is/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 01:16:22 +0000</pubDate>
		<dc:creator>Ivan Storck</dc:creator>
				<category><![CDATA[Lifestyle]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[1234567890]]></category>
		<category><![CDATA[epoch]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://www.ivanenviroman.com/its-time-to-party-like-its-1234567890-%e2%80%93-cause-it-is/</guid>
		<description><![CDATA[Get your geek on for the one and only 1234567890 day. On this Friday, Feb 13 at exactly 3:31 (PST), Unix time (WTF is Unix time?) will equal &#8217;1234567890&#8242;. read more &#124; digg story]]></description>
			<content:encoded><![CDATA[<p>Get your geek on for the one and only 1234567890 day. On this Friday, Feb 13 at exactly 3:31 (PST), Unix time (WTF is Unix time?) will equal &#8217;1234567890&#8242;.</p>
<p><a href="http://www.1234567890day.com/">read more</a> | <a href="http://digg.com/linux_unix/It_s_time_to_party_like_it_s_1234567890_n_cause_it_is">digg story</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanenviroman.com/its-time-to-party-like-its-1234567890-%e2%80%93-cause-it-is/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flipping Function Keys!</title>
		<link>http://www.ivanenviroman.com/flipping-function%c2%a0keys/</link>
		<comments>http://www.ivanenviroman.com/flipping-function%c2%a0keys/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 15:22:57 +0000</pubDate>
		<dc:creator>Ivan Storck</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://www.ivanenviroman.com/flipping-function%c2%a0keys/</guid>
		<description><![CDATA[FunctionFlip is a neat solution to a keyboard annoyance on my MacBook. I hate having to double-key to use the function keys. This free preference pane solves that problem, by allowing you to set which function keys should act normally. &#8230; <a href="http://www.ivanenviroman.com/flipping-function%c2%a0keys/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>FunctionFlip is a neat solution to a keyboard annoyance on my MacBook. I hate having to double-key to use the function keys. This free preference pane solves that problem, by allowing you to set which function keys should act normally.</p>
<blockquote cite="http://feeds.feedburner.com/~r/TheAppleBlog/~3/429525447/">
<p class="excerpt"><img class="alignright size-full wp-image-8111" title="functionflip" src="http://theappleblog.com/wp-content/uploads/2008/10/functionflip.png" alt="" width="92" height="92" />The problem with function keys on a MacBook or MacBook Pro is that they are one-trick ponies; they are either regular or special F-keys, but not both. With <a href="http://kevingessner.com/frog/projects/functionflip/">FunctionFlip</a>, you can have complete control over those flipping function keys.</p>
<p><img class="aligncenter size-full wp-image-8114 styled scale" title="functionflip_screen" src="http://theappleblog.com/wp-content/uploads/2008/10/functionflip_screen.png" alt="" /></p>
<p>On the keyboard of a MacBook or MacBook Pro, function keys can either be standard or special. As standard function keys, they control certain features of OS X, such as Exposé and numlock. They can also be special function keys to trigger hardware controls such as screen brightness, volume, and keyboard backlighting when they are pressed in tandem with the Fn key. For example, if I want to decrease the brightness of the keyboard backlight, I have to press Fn+F9; if I press F9 alone, Exposé is triggered instead.</p>
<p>In OS X’s Keyboard &amp; Mouse preferences, you can set special features to be triggered either with or without the Fn key. But what if you want to reduce some finger-work, and use only some F-keys with the Fn key, but not others?</p>
<p>This is where <strong><span style="font-weight: normal;">FunctionFlip</span> <span style="font-weight: normal;">c</span></strong>omes in. FunctionFlip lets you ‘flip’ the function keys on your MacBook or Macbook Pro between standard and special mode, allowing you to set which F-key you wish to use alone to access those hardware controls. Since I hardly trigger Exposé via the keyboard (I prefer using an Active Screen Corner for that), I’d much rather have F9 and F10 adjust the keyboard backlight directly. Now I can quickly adjust brightness of the keyboard backlight by pressing either F9 or F10, and trigger Exposé only when I press Fn+F9.</p>
<p>What I absolutely love about FunctionFlip, besides the fact that it is a free application, is that it installs itself as a Preference Pane and works its magic invisibly in the background. Give FunctionFlip a try; I guarantee you’ll like the goodness of the one-finger convenience it brings.</p>
<div class="feedflare">
    <a href="http://feeds.feedburner.com/~f/TheAppleBlog?a=WcTqM"><img src="http://feeds.feedburner.com/~f/TheAppleBlog?i=WcTqM" border="0" /></a> <a href="http://feeds.feedburner.com/~f/TheAppleBlog?a=nOR2m"><img src="http://feeds.feedburner.com/~f/TheAppleBlog?i=nOR2m" border="0" /></a> <a href="http://feeds.feedburner.com/~f/TheAppleBlog?a=MBoPm"><img src="http://feeds.feedburner.com/~f/TheAppleBlog?i=MBoPm" border="0" /></a> <a href="http://feeds.feedburner.com/~f/TheAppleBlog?a=pXrGm"><img src="http://feeds.feedburner.com/~f/TheAppleBlog?i=pXrGm" border="0" /></a> <a href="http://feeds.feedburner.com/~f/TheAppleBlog?a=wdzkM"><img src="http://feeds.feedburner.com/~f/TheAppleBlog?i=wdzkM" border="0" /></a>
  </div>
<p><img src="http://feeds.feedburner.com/~r/TheAppleBlog/~4/429525447" height="1" width="1" /> [From <a href="http://feeds.feedburner.com/~r/TheAppleBlog/~3/429525447/"><cite>Flipping Function Keys!</cite></a>]
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanenviroman.com/flipping-function%c2%a0keys/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cocoa Is My Girlfriend » Cocoa Touch Tutorial: iPhone Application Example</title>
		<link>http://www.ivanenviroman.com/cocoa-is-my-girlfriend-%c2%bb-cocoa-touch-tutorial-iphone-application-example/</link>
		<comments>http://www.ivanenviroman.com/cocoa-is-my-girlfriend-%c2%bb-cocoa-touch-tutorial-iphone-application-example/#comments</comments>
		<pubDate>Tue, 07 Oct 2008 16:55:44 +0000</pubDate>
		<dc:creator>ivanoats</dc:creator>
				<category><![CDATA[Bookmarks]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[xcode]]></category>

		<guid isPermaLink="false">http://delicious.com/url/4e5c01cdcc2731a21629489de1f15651#ivanoats</guid>
		<description><![CDATA[explain for beginning iPhone/iPod Touch developers how to build the most basic Cocoa Touch application using Interface Builder and an application delegate in xcode 3.1. This tutorial post is really to provide a quick how-to. <a href="http://www.ivanenviroman.com/cocoa-is-my-girlfriend-%c2%bb-cocoa-touch-tutorial-iphone-application-example/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>explain for beginning iPhone/iPod Touch developers how to build the most basic Cocoa Touch application using Interface Builder and an application delegate in xcode 3.1. This tutorial post is really to provide a quick how-to.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.ivanenviroman.com/cocoa-is-my-girlfriend-%c2%bb-cocoa-touch-tutorial-iphone-application-example/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
