<?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>Richard K Miller &#187; Main</title>
	<atom:link href="http://richardkmiller.com/category/main/feed" rel="self" type="application/rss+xml" />
	<link>http://richardkmiller.com</link>
	<description></description>
	<lastBuildDate>Mon, 05 Jul 2010 22:58:59 +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>Script to enable/disable DMZ on Linksys and Verizon routers</title>
		<link>http://richardkmiller.com/879/script-to-enable-disable-dmz-on-linksys-and-verizon-routers</link>
		<comments>http://richardkmiller.com/879/script-to-enable-disable-dmz-on-linksys-and-verizon-routers#comments</comments>
		<pubDate>Mon, 05 Jul 2010 22:49:28 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Facebook]]></category>
		<category><![CDATA[FamilyLink.com]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[dmz]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[linksys]]></category>
		<category><![CDATA[router]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[verizon]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=879</guid>
		<description><![CDATA[Your home Internet router gives you some protection against direct attacks on your computer by keeping your home network safely encapsulated. Each of your home computers can access the Internet (this is called NAT), but no outsider can access your &#8230; <a href="http://richardkmiller.com/879/script-to-enable-disable-dmz-on-linksys-and-verizon-routers">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-213dec2bb13a80e3975bcc3aee3d230c3f6b044f'><p>Your home Internet router gives you some protection against direct attacks on your computer by keeping your home network safely encapsulated. Each of your home computers can access the Internet (this is called NAT), but no outsider can access your computers directly. Outsiders only see the router. However, sometimes you want your computer to be "fully" online. Enter the "DMZ" feature of your router. <strong>Your router's DMZ allows one of your computers to be fully exposed to the Internet (for better or worse).</strong></p>
<p>Reasons to enable your DMZ:</p>
<ul>
<li>Access your files while away from home.</li>
<li>Serve web pages from your computer.</li>
<li>Make BitTorrent transfers faster. BitTorrent transfers are usually faster when your computer is directly exposed to the Internet.</li>
</ul>
<p>For my work at FamilyLink.com, I develop directly on my local machine. While working on our Facebook application, I need to allow Facebook servers to directly access my machine. (When you use a Facebook app, you're accessing Facebook's servers and Facebook servers are, in turn, accessing the developer's server via a callback URL. While working on our Facebook app, Facebook directly accesses my local machine.) This requires me to open my machine to the DMZ.</p>
<p>Reasons not to enable your DMZ:</p>
<ul>
<li>Your computer is more likely to be hacked</li>
<li>Your private data is more likely to be accessed</li>
</ul>
<p>If you enable your DMZ, know which services are enabled on your machine and which files and data are being shared. There may be files you're comfortable sharing on your local network that you wouldn't want to share with the world. Only enable the DMZ as long as necessary.</p>
<p>Enabling the DMZ can be a pain -- logging into your router and navigating to the correct setting -- so I wrote the following Ruby scripts to make it easy. The first worked with the Linksys router I had. (I believe it was a WRT54G.) To use, fill in your router's IP address and password, and your computer's hardware address, then type "linksys_dmz.rb on" or "linksys_dmz.rb off" at the command-line. The script looks up your computer's hardware address in the table of local IP addresses so the IP address can safely change from time to time.</p>
<div class="igBar"><span id="lruby-3"><a href="#" onclick="javascript:showPlainTxt('ruby-3'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">RUBY:</span>
<div id="ruby-3">
<div class="ruby">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000; font-style:italic;">#!/usr/bin/env ruby</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000; font-style:italic;"># linksys_dmz.rb</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">router = '<span style="color:#006666;color:#800000;">10</span>.<span style="color:#006666;color:#800000;">1</span>.<span style="color:#006666;color:#800000;">1</span>.<span style="color:#006666;color:#800000;">1</span>'</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">user = 'admin'</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">pass = 'your_password'</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">hardware_address = '<span style="color:#006666;color:#800000;">00</span>:<span style="color:#006666;color:#800000;">23</span>:6C:<span style="color:#006666;color:#800000;">00</span>:<span style="color:#006666;color:#800000;">00</span>:<span style="color:#006666;color:#800000;">00</span>'</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">leases = <span style="color:#996600;">`curl -su #{user}:#{pass} http://#{router}/DHCPTable.asp`</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">leases.<span style="color:#9900CC;">scan</span><span style="color:#006600; font-weight:bold;">&#40;</span>%r<span style="color:#006600; font-weight:bold;">&#123;</span>'<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#91;</span>^'<span style="color:#006600; font-weight:bold;">&#93;</span>+<span style="color:#006600; font-weight:bold;">&#41;</span>', hardware_address<span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#9966CC; font-weight:bold;">do</span> |m|</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; ip_address = m<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>.<span style="color:#9900CC;">strip</span>.<span style="color:#9900CC;">to_s</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; last_digit = ip_address.<span style="color:#CC0066; font-weight:bold;">split</span><span style="color:#006600; font-weight:bold;">&#40;</span>'.'<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">last</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#9966CC; font-weight:bold;">if</span> $*<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span> == '<span style="color:#CC0066; font-weight:bold;">open</span>' || $*<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span> == 'on'</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; post_values = <span style="color:#996600;">"submit_button=DMZ&amp;change_action=&amp;action=Apply&amp;dmz_enable=1&amp;dmz_ipaddr=#{last_digit}"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#CC0066; font-weight:bold;">print</span> <span style="color:#996600;">"Opening DMZ to #{ip_address}<span style="color:#000099;">\n</span><span style="color:#000099;">\n</span>"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#9966CC; font-weight:bold;">else</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; post_values = <span style="color:#996600;">"submit_button=DMZ&amp;change_action=&amp;action=Apply&amp;dmz_enable=0"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#CC0066; font-weight:bold;">print</span> <span style="color:#996600;">"Closing DMZ<span style="color:#000099;">\n</span><span style="color:#000099;">\n</span>"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#9966CC; font-weight:bold;">end</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#996600;">`curl -su #{user}:#{pass} -e http://#{router}/DMZ.asp -d '#{post_values}' http://#{router}/apply.cgi`</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">end</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Last year I switched to Verizon FIOS, which came with its own wireless router, so I had to write a new script. Again, fill in the password, then type "verizon_dmz.rb on" or "verizon_dmz.rb off" in Terminal. (This script assumes a 10.1.1.* network. Change it to 192.168.1.* if that's what you have.)</p>
<p>As a side note, the Verizon router was a bit of beast to automate. It uses a hashed signature to try to enforce JavaScript-enabled browsers. Writing this script required using TamperData, Charles Proxy, and a lot of trial and error to discover which POST data were necessary.</p>
<p>I use this script to open the DMZ before working on our Facebook app, then I close it when I'm done for the day. Eventually, it'd be nice to find a way to enable the DMZ remotely -- maybe via email or something.</p>
<div class="igBar"><span id="lruby-4"><a href="#" onclick="javascript:showPlainTxt('ruby-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">RUBY:</span>
<div id="ruby-4">
<div class="ruby">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000; font-style:italic;">#!/usr/bin/env ruby</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000; font-style:italic;"># verizon_dmz.rb</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#CC0066; font-weight:bold;">require</span> 'rubygems'</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#CC0066; font-weight:bold;">require</span> 'mechanize'</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#CC0066; font-weight:bold;">require</span> 'digest/md5'</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">user = 'admin'</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">pass = 'your_password'</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">localhost = <span style="color:#996600;">`ifconfig`</span>.<span style="color:#9900CC;">scan</span><span style="color:#006600; font-weight:bold;">&#40;</span>/inet <span style="color:#006600; font-weight:bold;">&#40;</span>\d+\.\d+\.\d+\.\d+<span style="color:#006600; font-weight:bold;">&#41;</span>.*broadcast <span style="color:#006666;color:#800000;">10</span>.<span style="color:#006666;color:#800000;">1</span>.<span style="color:#006666;color:#800000;">1</span>.<span style="color:#006666;color:#800000;">255</span>/<span style="color:#006600; font-weight:bold;">&#41;</span>.<span style="color:#9900CC;">join</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">router&nbsp; &nbsp; = localhost.<span style="color:#CC0066; font-weight:bold;">gsub</span><span style="color:#006600; font-weight:bold;">&#40;</span>/\d+$/,'<span style="color:#006666;color:#800000;">1</span>'<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">begin</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; agent = Mechanize.<span style="color:#9900CC;">new</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; page = agent.<span style="color:#9900CC;">get</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#996600;">"http://#{router}:81"</span><span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">rescue</span> Exception</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; abort <span style="color:#996600;">"Unable to connect to Verizon Router! Check the IP address."</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">end</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">form = page.<span style="color:#9900CC;">forms</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">auth_key = form.<span style="color:#9900CC;">fields</span>.<span style="color:#9900CC;">find</span> <span style="color:#006600; font-weight:bold;">&#123;</span>|f| f.<span style="color:#9900CC;">name</span> == 'auth_key'<span style="color:#006600; font-weight:bold;">&#125;</span>.<span style="color:#9900CC;">value</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">form.<span style="color:#9900CC;">fields</span>.<span style="color:#9900CC;">find</span> <span style="color:#006600; font-weight:bold;">&#123;</span>|f| f.<span style="color:#9900CC;">name</span> == 'user_name'<span style="color:#006600; font-weight:bold;">&#125;</span>.<span style="color:#9900CC;">value</span> = user</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">form.<span style="color:#9900CC;">fields</span>.<span style="color:#9900CC;">find</span> <span style="color:#006600; font-weight:bold;">&#123;</span>|f| f.<span style="color:#9900CC;">name</span> == 'md5_pass'<span style="color:#006600; font-weight:bold;">&#125;</span>.<span style="color:#9900CC;">value</span> = Digest::MD5.<span style="color:#9900CC;">hexdigest</span><span style="color:#006600; font-weight:bold;">&#40;</span>pass + auth_key<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">form.<span style="color:#9900CC;">fields</span>.<span style="color:#9900CC;">find</span> <span style="color:#006600; font-weight:bold;">&#123;</span>|f| f.<span style="color:#9900CC;">name</span> == 'mimic_button_field'<span style="color:#006600; font-weight:bold;">&#125;</span>.<span style="color:#9900CC;">value</span> = 'submit_button_login_submit%3A+..'</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">form.<span style="color:#9900CC;">method</span> = <span style="color:#996600;">"POST"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">form.<span style="color:#9900CC;">submit</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">post = <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; 'dmz_host_cb_watermark' =&gt; '<span style="color:#006666;color:#800000;">1</span>',</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; 'dmz_host_ip0' =&gt; localhost.<span style="color:#CC0066; font-weight:bold;">split</span><span style="color:#006600; font-weight:bold;">&#40;</span>'.'<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; 'dmz_host_ip1' =&gt; localhost.<span style="color:#CC0066; font-weight:bold;">split</span><span style="color:#006600; font-weight:bold;">&#40;</span>'.'<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;color:#800000;">1</span><span style="color:#006600; font-weight:bold;">&#93;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; 'dmz_host_ip2' =&gt; localhost.<span style="color:#CC0066; font-weight:bold;">split</span><span style="color:#006600; font-weight:bold;">&#40;</span>'.'<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;color:#800000;">2</span><span style="color:#006600; font-weight:bold;">&#93;</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; 'dmz_host_ip3' =&gt; localhost.<span style="color:#CC0066; font-weight:bold;">split</span><span style="color:#006600; font-weight:bold;">&#40;</span>'.'<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;color:#800000;">3</span><span style="color:#006600; font-weight:bold;">&#93;</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; 'active_page'&nbsp; =&gt; '<span style="color:#006666;color:#800000;">9013</span>',</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; 'mimic_button_field' =&gt; 'submit_button_login_submit%3A+..',</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">if</span> $*<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span> == '<span style="color:#CC0066; font-weight:bold;">open</span>' || $*<span style="color:#006600; font-weight:bold;">&#91;</span><span style="color:#006666;color:#800000;">0</span><span style="color:#006600; font-weight:bold;">&#93;</span> == 'on'</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;post<span style="color:#006600; font-weight:bold;">&#91;</span>'dmz_host_cb'<span style="color:#006600; font-weight:bold;">&#93;</span> = '<span style="color:#006666;color:#800000;">1</span>'</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp;<span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">"Opening DMZ to #{localhost}"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">else</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">"Closing DMZ"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">end</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">agent.<span style="color:#9900CC;">post</span><span style="color:#006600; font-weight:bold;">&#40;</span>'/index.<span style="color:#9900CC;">cgi</span>', post<span style="color:#006600; font-weight:bold;">&#41;</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/879/script-to-enable-disable-dmz-on-linksys-and-verizon-routers/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>FamilyLink.com + Kynetx: How websites could be better with your family</title>
		<link>http://richardkmiller.com/860/familylink-com-kynetx-how-websites-could-be-better-with-your-family</link>
		<comments>http://richardkmiller.com/860/familylink-com-kynetx-how-websites-could-be-better-with-your-family#comments</comments>
		<pubDate>Thu, 07 Jan 2010 20:54:37 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Family]]></category>
		<category><![CDATA[FamilyLink.com]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=860</guid>
		<description><![CDATA[I've been playing around with Kynetx.com technology. I think it has a lot of cool potential for helping FamilyLink.com users see who their relatives are across multiple websites. For example, What if you could see your FamilyLink.com relatives directly in &#8230; <a href="http://richardkmiller.com/860/familylink-com-kynetx-how-websites-could-be-better-with-your-family">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-c328364b4ed2bc0cbbde125a8adbfa04eb597c0d'><p>I've been playing around with <a href="http://kynetx.com/">Kynetx.com</a> technology. I think it has a lot of cool potential for helping FamilyLink.com users see who their relatives are across multiple websites.</p>
<p>For example,</p>
<ul>
<li>What if you could see your FamilyLink.com relatives directly in Facebook?</li>
<li>If you knew which LinkedIn users were your relatives, would you be more likely to do business?</li>
<li>If you knew which Twitter users were your relatives, would you be more likely to follow them?</li>
<li>If you discovered that a comment on a political news story with which you strongly disagreed was from a relative, would you be more careful how you responded?</li>
</ul>
<p>Here's a demo video:<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/skDe5WGNbHg&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/skDe5WGNbHg&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/860/familylink-com-kynetx-how-websites-could-be-better-with-your-family/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Reminiscing about Provo411.com and Scraping the Course Catalog</title>
		<link>http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog</link>
		<comments>http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog#comments</comments>
		<pubDate>Thu, 08 Oct 2009 17:58:11 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[BYU]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=780</guid>
		<description><![CDATA[One of my first web development projects and biz partnerships with Brian Stucki was Provo411.com. We were roommates at BYU and conceived of a website where students could share events -- parties, concerts, football games, etc. We were already in &#8230; <a href="http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-094c99b227bd0f07e51e726ad993de96274495c3'><p>One of my first web development projects and biz partnerships with <a href="http://www.brianstucki.com/blog/">Brian Stucki</a> was <a href="http://www.provo411.com/">Provo411.com</a>. We were roommates at BYU and conceived of a website where students could share events -- parties, concerts, football games, etc. We were already in our beds for the night when the idea came, but we couldn't go to sleep before buying the domain. I think it was the first domain I ever bought. It was September 2002.</p>
<p>I developed a calendar in PHP and wrote a few scripts to scrape <a href="http://byucougars.com/">byucougars.com</a> and retrieve the sports schedules. I also developed a <a href="http://en.wikipedia.org/wiki/Wireless_Markup_Language">WML</a> app so Brian and I could add events to the calendar from our pre-iPhone mobile phones. I recall being at a party in south Provo, in a former dental office, and using my Nextel phone to add the party to Provo411. If you go back far enough, you can see <a href="http://www.provo411.com/2003/10">events on the calendar</a>. My brother Alan did the artwork.</p>

<a href='http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/byu' title='BYU'><img width="30" height="30" src="http://richardkmiller.com/wp-content/uploads/2009/10/BYU.jpg" class="attachment-thumbnail" alt="BYU" title="BYU" /></a>
<a href='http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/concert' title='Concert'><img width="30" height="30" src="http://richardkmiller.com/wp-content/uploads/2009/10/Concert.jpg" class="attachment-thumbnail" alt="Concert" title="Concert" /></a>
<a href='http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/dance' title='Dance'><img width="30" height="30" src="http://richardkmiller.com/wp-content/uploads/2009/10/Dance.jpg" class="attachment-thumbnail" alt="Dance" title="Dance" /></a>
<a href='http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/football' title='Football'><img width="30" height="30" src="http://richardkmiller.com/wp-content/uploads/2009/10/Football.jpg" class="attachment-thumbnail" alt="Football" title="Football" /></a>
<a href='http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/live_band' title='Live_Band'><img width="30" height="30" src="http://richardkmiller.com/wp-content/uploads/2009/10/Live_Band.jpg" class="attachment-thumbnail" alt="Live_Band" title="Live_Band" /></a>
<a href='http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/meal' title='Meal'><img width="30" height="30" src="http://richardkmiller.com/wp-content/uploads/2009/10/Meal.jpg" class="attachment-thumbnail" alt="Meal" title="Meal" /></a>
<a href='http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/soccer' title='Soccer'><img width="30" height="30" src="http://richardkmiller.com/wp-content/uploads/2009/10/Soccer.jpg" class="attachment-thumbnail" alt="Soccer" title="Soccer" /></a>
<a href='http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/talk' title='Talk'><img width="30" height="30" src="http://richardkmiller.com/wp-content/uploads/2009/10/Talk.jpg" class="attachment-thumbnail" alt="Talk" title="Talk" /></a>
<a href='http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/theater' title='Theater'><img width="30" height="30" src="http://richardkmiller.com/wp-content/uploads/2009/10/Theater.jpg" class="attachment-thumbnail" alt="Theater" title="Theater" /></a>
<a href='http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/volleyball' title='Volleyball'><img width="30" height="30" src="http://richardkmiller.com/wp-content/uploads/2009/10/Volleyball.jpg" class="attachment-thumbnail" alt="Volleyball" title="Volleyball" /></a>

<p>I always wanted Provo411.com to have a course schedule alert system. Perhaps students would pay $3 to receive an email or SMS alert when hard-to-get classes had an opening. It shouldn't have been hard technically, but the <a href="http://saas.byu.edu/classSchedule/schedule.php">publicly available course catalog</a> isn't updated in real-time. I could have scraped the authenticated course catalog on Route Y, but BYU might have objected and it'd be a fragile business model.</p>
<p>My brother Michael recently came home from <a href="http://www.youtube.com/watch?v=TbwT4j-mLdw">his mission</a> and started school at <a href="http://www.csn.edu/">CSN</a>. The business classes he wanted were full, so I put the old "course schedule alert" idea to the test with some new tools -- Ruby and Mac OS X's speech. Here's what I came up with:</p>
<div class="igBar"><span id="lruby-6"><a href="#" onclick="javascript:showPlainTxt('ruby-6'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">RUBY:</span>
<div id="ruby-6">
<div class="ruby">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000; font-style:italic;">#!/usr/bin/env ruby</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000; font-style:italic;"># a list of course call numbers to check</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">call_numbers = %w<span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color:#006666;color:#800000;">46405</span> <span style="color:#006666;color:#800000;">46407</span> <span style="color:#006666;color:#800000;">46409</span> <span style="color:#006666;color:#800000;">46411</span> <span style="color:#006666;color:#800000;">46415</span> <span style="color:#006666;color:#800000;">46413</span> <span style="color:#006666;color:#800000;">53252</span> <span style="color:#006666;color:#800000;">53254</span> <span style="color:#006666;color:#800000;">53256</span> <span style="color:#006666;color:#800000;">53258</span> <span style="color:#006666;color:#800000;">53260</span> <span style="color:#006666;color:#800000;">53262</span> <span style="color:#006666;color:#800000;">53268</span> <span style="color:#006666;color:#800000;">53270</span> <span style="color:#006666;color:#800000;">53272</span> <span style="color:#006666;color:#800000;">53274</span> <span style="color:#006666;color:#800000;">46423</span> <span style="color:#006666;color:#800000;">46435</span> <span style="color:#006666;color:#800000;">53276</span> <span style="color:#006666;color:#800000;">46443</span> <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000; font-style:italic;"># auth_token obtained via Firefox+TamperData while my brother logged into CSN</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">auth_token = <span style="color:#996600;">"123456789012345"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">say <span style="color:#996600;">"Checking"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">call_numbers.<span style="color:#9900CC;">uniq</span>.<span style="color:#9900CC;">sort</span>.<span style="color:#9900CC;">each</span> <span style="color:#9966CC; font-weight:bold;">do</span> |call_number|</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; c = <span style="color:#996600;">`curl -si -d CONVTOKEN=#{auth_token} -d AUDITT=N -d CALLT=#{call_number} -d CONTINUE=Continue &quot;https://bighorn.nevada.edu/sis_csn/XSMBWEBM/SIVRE04.STR&quot;`</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#CC0066; font-weight:bold;">print</span> <span style="color:#996600;">"Call number #{call_number}: "</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#9966CC; font-weight:bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>c =~ /&lt;p <span style="color:#9966CC; font-weight:bold;">class</span>=<span style="color:#996600;">"p5"</span>&gt;<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#91;</span>^&lt;<span style="color:#006600; font-weight:bold;">&#93;</span>+<span style="color:#006600; font-weight:bold;">&#41;</span>&lt;br\/&gt;/m<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#9966CC; font-weight:bold;">if</span> $<span style="color:#006666;color:#800000;">1</span>.<span style="color:#9900CC;">strip</span>.<span style="color:#9900CC;">empty</span>?</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">"May have openings<span style="color:#000099;">\n</span>"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#006666;color:#800000;">3</span>.<span style="color:#9900CC;">times</span> <span style="color:#006600; font-weight:bold;">&#123;</span>say <span style="color:#996600;">"Michael, class number #{call_number} may be open!"</span><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#9966CC; font-weight:bold;">else</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">"#{$1.strip}<span style="color:#000099;">\n</span>"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#9966CC; font-weight:bold;">end</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#9966CC; font-weight:bold;">else</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#CC0066; font-weight:bold;">puts</span> <span style="color:#996600;">"could not find message"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; say <span style="color:#996600;">"Help. I cannot access the C S N website."</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color:#0000FF; font-weight:bold;">return</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#9966CC; font-weight:bold;">end</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#CC0066; font-weight:bold;">sleep</span> <span style="color:#006666;color:#800000;">5</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">end</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#008000; font-style:italic;"># Ouput an audible message via Mac OS X's speech function</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">def</span> say<span style="color:#006600; font-weight:bold;">&#40;</span>message<span style="color:#006600; font-weight:bold;">&#41;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#996600;">`say &quot;#{message}&quot;`</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#9966CC; font-weight:bold;">end</span> </div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>We set this to run every 15 minutes on the living room iMac, and we turned up the volume. Every 15 minutes we could hear "Checking" from the computer. A few hours later we heard the script announce that a class had opened up. Michael, I'm still waiting for my $3.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/780/reminiscing-about-provo411-com-and-scraping-the-course-catalog/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Can pornography be made unpopular?</title>
		<link>http://richardkmiller.com/737/can-pornography-be-made-unpopular</link>
		<comments>http://richardkmiller.com/737/can-pornography-be-made-unpopular#comments</comments>
		<pubDate>Sat, 29 Aug 2009 21:03:02 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Government]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Morals]]></category>
		<category><![CDATA[Pornography]]></category>
		<category><![CDATA[Speech]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=737</guid>
		<description><![CDATA[My friend Cam has started a cause called Fight the New Drug (FTND). That "New Drug" is pornography, and their approach parallels the fight against tobacco. This is about changing the messaging. For example, if smoking is a way to &#8230; <a href="http://richardkmiller.com/737/can-pornography-be-made-unpopular">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-ce0c7cd7420e9932b9e386478e25aac35ac6f9f3'><p>My friend Cam has started a cause called <a href="http://www.fightthenewdrug.org/">Fight the New Drug</a> (FTND). That "New Drug" is pornography, and their approach parallels the fight against tobacco.</p>
<p>This is about changing the messaging. For example, if smoking is a way to rebel against authority, then parents and medical experts saying <em>Don't smoke!</em> only reinforces the rebellion. But if smoking is succumbing to executives at Big Tobacco, then smoking isn't a form of rebellion at all, it's a form of conformity. What rebellious kid wants to conform to Big Tobacco executives? That's the message of <a href="http://www.thetruth.com/"><em>The Truth</em></a> campaign.</p>
<div id="attachment_747" class="wp-caption alignright" style="width: 120px"><a href="http://richardkmiller.com/wp-content/uploads/2009/08/become_a_fighter_fight_the_new_drug.png" rel="lightbox"><img src="http://richardkmiller.com/wp-content/uploads/2009/08/become_a_fighter_fight_the_new_drug.png" alt="Become a Fighter - Fight the New Drug" title="become_a_fighter_fight_the_new_drug" width="110" height="217" class="size-full wp-image-747" /></a><p class="wp-caption-text">Fight the New Drug</p></div>
<p><strong>Imagine a similar change of messaging around pornography</strong>: Pornography isn't glamorous, it isn't sexy. Love and romance without pornography is glamorous and sexy. By making the negative externalities of pornography more visible, it would become less appealing. While organizations like <a href="http://cp80.org">CP80</a> and <a href="http://lightedcandle.org">Lighted Candle Society</a> fight the supply-side of pornography, <strong>FTND fights the demand-side</strong>.</p>
<p>I'm very excited about this approach.</p>
<p>Mary Eberstadt at Stanford's Hoover Institution calls pornography the "new tobacco" and said:</p>
<blockquote><p>Yesterday, smoking was considered unremarkable in a moral sense, whereas pornography was widely considered disgusting and wrong — including even by people who consumed it. Today, as a general rule, just the reverse is true. Now it is pornography that is widely (though not universally) said to be value-free, whereas smoking is widely considered disgusting and wrong — including even by many smokers.</p></blockquote>
<p>Can we change minds again?</p>
<p>Columnist Kathryn Jean Lopez said:</p>
<blockquote><p>...I’ve been flashing back to something Traci Lords once said: "I have to thank Ed Meese for saving my life." At 18, her career as a porn star ended in a federal raid. How many Tracis are on a computer near you today? And who else is porn harming? It’s a question that our society -- which in its rhetoric and culture says it cares about women and children and lives and love -- needs to grapple with. If Eberstadt’s comparison is right, the time [is] coming. The shrugs will cease. Yet I hope the turnaround comes, not because the government has made porn highly inconvenient, but because we have decided we want something better. (<a href="http://article.nationalreview.com/?q=NWI5ZTA5ZWQ1MjRjYjRmYTdlMWU1ZTNiYWEzMDNiZjc">Smoking Is Out, Porn Is In</a>.)</p></blockquote>
<p>Seth Godin said you can't fight an ideavirus ("pornography is okay") by "challenging the medium in which it spreads." Instead, you must counter "one ideavirus with another one."</p>
<blockquote><p>You don't counter racism by making the act of uttering racist statements against the law. You do it by spreading an idea (racism is hateful, wrong and stupid) that keeps the racist from expressing his ideas because all his friends will shun him if he does. (<a href="http://sethgodin.typepad.com/seths_blog/2007/09/thinking-about-.html">"Thinking about this war"</a>.)</p></blockquote>
<p>Here is some of the FTND messaging, paraphrased:</p>
<blockquote><p>1. Educate people about the negative effects of pornography and let them choose their pornography involvement for themselves. We do not contest the legality to produce pornographic material. </p>
<p>2. Just because it's legal to smoke cigarettes, doesn't mean it's healthy. Similarly, porn can have devastating effects on you and your loved ones. </p>
<p>3. Although pornography consumption can lead to powerful addictive behaviors, we don't contest people's right to view it.</p>
<p>4. People need to be educated about the negative effects of pornography on individuals, families and businesses. </p>
<p>5. We fight against the demand for pornography. Through education, we believe people will no longer want to use porn and those with addictive behavior will seek help from professionals. </p>
<p>6. People addicted to porn often feel they have no options. We're letting people know that they have a choice.</p>
<p>7. We want to infuse more sexiness into the world. Two committed people together -- that is sexy. A lonely, addicted person sitting in front of a computer is not sexy.
</p></blockquote>
<p>Please <a href="http://www.fightthenewdrug.org/">make a $10 donation to FTND</a> to become a "fighter". Ten dollars from 1,000 people is better than $10,000 from 1 person. The money will be used to develop messaging campaigns to fight the demand for pornography. This will be a grass-roots movement to make pornography unpopular.</p>
<p>I've put in my $10 and I'm hoping many, many more friends will as well.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/737/can-pornography-be-made-unpopular/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>iPhone tip: Use a Silent Ringtone to Screen Calls in Your Sleep</title>
		<link>http://richardkmiller.com/702/iphone-tip-use-a-silent-ringtone-to-screen-calls-in-your-sleep</link>
		<comments>http://richardkmiller.com/702/iphone-tip-use-a-silent-ringtone-to-screen-calls-in-your-sleep#comments</comments>
		<pubDate>Fri, 07 Aug 2009 04:33:30 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Communication]]></category>
		<category><![CDATA[Getting Things Done]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=702</guid>
		<description><![CDATA[Have you ever wished your iPhone would ring only when certain people call? Here's how to do it: Download the "Silence" ringtone here: silence.m4r Copy this file into the Ringtones section of your iTunes. (Click to enlarge.) Sync your iPhone &#8230; <a href="http://richardkmiller.com/702/iphone-tip-use-a-silent-ringtone-to-screen-calls-in-your-sleep">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-77038d20900c5f596e02c0e0978d89896b5387ee'><p>Have you ever wished your iPhone would ring only when <em>certain</em> people call? Here's how to do it:</p>
<ol>
<li>Download the "Silence" ringtone here: <a href="http://richardkmiller.com/wp-content/uploads/2009/08/silence_ringtone.php">silence.m4r</a></li>
<li>Copy this file into the Ringtones section of your iTunes. (Click to enlarge.)<br />
<br />
<a href="http://richardkmiller.com/wp-content/uploads/2009/08/adding_ringtone_to_itunes.png" rel="lightbox"><img src="http://richardkmiller.com/wp-content/uploads/2009/08/adding_ringtone_to_itunes-300x192.png" alt="adding_ringtone_to_itunes" title="adding_ringtone_to_itunes" width="300" height="192" class="alignnone size-medium wp-image-715" /></a>
</li>
<li>Sync your iPhone with iTunes to load the ringtone.</li>
<li>On your iPhone, change your ringtone to "Silence" (under <em>Settings</em> -> <em>Sounds</em> -> <em>Ringtone</em>). You'll no longer hear your phone calls.<br />
<br />
<a href="http://richardkmiller.com/wp-content/uploads/2009/08/2_iphone_silence_ringtone.png" rel="lightbox"><img src="http://richardkmiller.com/wp-content/uploads/2009/08/2_iphone_silence_ringtone-200x300.png" alt="2_iphone_silence_ringtone" title="2_iphone_silence_ringtone" width="200" height="300" class="alignnone size-medium wp-image-709" /></a>
</li>
<li>For each person whose calls you still want to hear, change his or her Custom Ringtone to something audible: Click the name in your contact list, choose <em>Ringtone</em>, then choose something besides <em>Default</em><br />
<br />
<a href="http://richardkmiller.com/wp-content/uploads/2009/08/3_iphone_important_caller.png" rel="lightbox"><img src="http://richardkmiller.com/wp-content/uploads/2009/08/3_iphone_important_caller-200x300.png" alt="3_iphone_important_caller" title="3_iphone_important_caller" width="200" height="300" class="alignnone size-medium wp-image-710" /></a> <a href="http://richardkmiller.com/wp-content/uploads/2009/08/4_iphone_audible_ringtone.png" rel="lightbox"><img src="http://richardkmiller.com/wp-content/uploads/2009/08/4_iphone_audible_ringtone-200x300.png" alt="4_iphone_audible_ringtone" title="4_iphone_audible_ringtone" width="200" height="300" class="alignnone size-medium wp-image-711" /></a>
</li>
</ol>
<p>Now you can screen calls in your sleep. Because Sunday afternoons are for napping.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/702/iphone-tip-use-a-silent-ringtone-to-screen-calls-in-your-sleep/feed</wfw:commentRss>
		<slash:comments>63</slash:comments>
		</item>
		<item>
		<title>3 Uses for iPhone Screenshots</title>
		<link>http://richardkmiller.com/676/3-uses-for-iphone-screenshots</link>
		<comments>http://richardkmiller.com/676/3-uses-for-iphone-screenshots#comments</comments>
		<pubDate>Wed, 24 Jun 2009 06:31:33 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Getting Things Done]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=676</guid>
		<description><![CDATA[For all the iPhone users out there: You probably know you can take a snapshot of whatever you see on your screen: Briefly press the top and front buttons at the same time. The screen will flash white and you'll &#8230; <a href="http://richardkmiller.com/676/3-uses-for-iphone-screenshots">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-8fc2c9a90eb500aa078b5f8531e06b1e12527c4b'><p>For all the iPhone users out there: You probably know you can take a snapshot of whatever you see on your screen:</p>
<ol>
<li>Briefly press the top and front buttons at the same time.</li>
<li>The screen will flash white and you'll hear a "snapshot" sound.</li>
<li>A picture of your screen is now in your iPhone "Photos".</li>
</ol>
<p>I've found it extremely helpful to make screenshots, and I do it all the time. Here are a few reasons:</p>
<h3>Remember an Interesting Part of a Podcast</h3>
<p>If I'm driving and hear something I like in a podcast, I make a quick screenshot of the playback screen. When I get back to my computer, I can return to that spot in the podcast and take notes.</p>
<p><a href="http://richardkmiller.com/wp-content/uploads/2009/06/iphone_screenshot_podcast.png" rel="lightbox"><img src="http://richardkmiller.com/wp-content/uploads/2009/06/iphone_screenshot_podcast-200x300.png" alt="iphone_screenshot_podcast" title="iphone_screenshot_podcast" width="200" height="300" class="alignnone size-medium wp-image-681" /></a></p>
<h3>Save a Point on a Map</h3>
<p>Sometimes I want to "bookmark" a location on the map before looking up something else. A screenshot is a fast way to do this.</p>
<p><a href="http://richardkmiller.com/wp-content/uploads/2009/06/iphone_screenshot_map.png" rel="lightbox"><img src="http://richardkmiller.com/wp-content/uploads/2009/06/iphone_screenshot_map-200x300.png" alt="iphone_screenshot_map" title="iphone_screenshot_map" width="200" height="300" class="alignnone size-medium wp-image-679" /></a></p>
<h3>Save a Website Address Without Interrupting Your Reading</h3>
<p>Sometimes when I'm reading in Google Reader, I want to save the location of an article to read later. (I don't want to leave Google Reader immediately because it has to entirely reload when I return.)</p>
<p>If you hold your finger on a link for a few seconds, a menu will popup with the address of the link. Sometimes I simply save a screenshot of the link, then hit Cancel and go back to my reading. Later I read the items I saved in my screenshots.</p>
<p><a href="http://richardkmiller.com/wp-content/uploads/2009/06/iphone_screenshot_opened_link.png" rel="lightbox"><img src="http://richardkmiller.com/wp-content/uploads/2009/06/iphone_screenshot_opened_link-200x300.png" alt="iphone_screenshot_opened_link" title="iphone_screenshot_opened_link" width="200" height="300" class="alignnone size-medium wp-image-680" /></a></p>
<p>Screenshots can help you practice "ubiquitous capture" -- capturing all notes, thoughts, and ideas, as they come to you, so you don't have to keep them in your head.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/676/3-uses-for-iphone-screenshots/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Do We Need a New Internet?</title>
		<link>http://richardkmiller.com/613/do-we-need-a-new-internet</link>
		<comments>http://richardkmiller.com/613/do-we-need-a-new-internet#comments</comments>
		<pubDate>Sat, 20 Jun 2009 20:14:03 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Law]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Pornography]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Speech]]></category>
		<category><![CDATA[cp80]]></category>
		<category><![CDATA[h2m]]></category>
		<category><![CDATA[iran]]></category>
		<category><![CDATA[larry_lessig]]></category>
		<category><![CDATA[lessig]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=613</guid>
		<description><![CDATA[The New York Times recently asked, Do We Need a New Internet? ...there is a growing belief among engineers and security experts that Internet security and privacy have become so maddeningly elusive that the only way to fix the problem &#8230; <a href="http://richardkmiller.com/613/do-we-need-a-new-internet">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-fecdfedfdc47ff2c13bb0a05758dd9e81d08ee0f'><p>The New York Times recently asked, <a href="http://www.nytimes.com/2009/02/15/weekinreview/15markoff.html?_r=3&#038;partner=rss&#038;emc=rss&#038;pagewanted=all">Do We Need a New Internet?</a></p>
<blockquote><p>...there is a growing belief among engineers and security experts that Internet security and privacy have become so maddeningly elusive that the only way to fix the problem is to start over.</p></blockquote>
<p>A new Internet might have more security, less anonymity.</p>
<blockquote><p>As a new and more secure network becomes widely adopted, the current Internet might end up as the bad neighborhood of cyberspace. You would enter at your own risk and keep an eye over your shoulder while you were there.</p></blockquote>
<p>Stanford's <a href="http://cleanslate.stanford.edu/about_cleanslate.php">Clean Slate Project</a> intends to "reinvent the Internet" to "overcome fundamental architectural limitations," including security.</p>
<p>I've previously asked, <a href="http://richardkmiller.com/306/is-the-internet-broken">Is the Internet broken?</a> One place it might be broken is in the ability for parents to protect their children, and interested people to protect themselves, from pornography.</p>
<p>If the university most associated with the invention of our current Internet is willing to reexamine its underpinnings and reinvent it, more incremental changes like <a href="http://www.cp80.org/">CP80</a> or Larry Lessig's <a href="http://richardkmiller.com/305/harmful-to-minors">H2M</a> seem worthy of consideration.</p>
<p>Of course, anonymity can be a virtue. Anonymity allows seekers to learn about a new religion in a low-pressure way or protestors in Iran to orchestrate protests.</p>
<p>The tech-savvy, often libertarian-leaning people you find at Slashdot.org tend to dismiss proposals like CP80, considering them antithetical to the nature of the Internet. I like that one Slashdot user offered a thoughtful counterproposal: "The people who want a 'cleaned kid friendly Internet' can establish an alternate port where such a thing would be delivered...." (<a href="http://yro.slashdot.org/comments.pl?sid=1167835&#038;cid=27263203">read more</a>)</p>
<p>I think Bill Cosby's adage applies: "I brought you in this world, and I can take you out." We built the Internet. If it's not suiting us well, we can change it. I think the Internet has already been a great tool for good, and will continue to be, but I don't mind considering proposals that might improve it.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/613/do-we-need-a-new-internet/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>When Society Stops Rewarding Industry, We See Galtism</title>
		<link>http://richardkmiller.com/622/when-society-stops-rewarding-industry-we-see-galtism</link>
		<comments>http://richardkmiller.com/622/when-society-stops-rewarding-industry-we-see-galtism#comments</comments>
		<pubDate>Sat, 18 Apr 2009 23:39:26 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Economics]]></category>
		<category><![CDATA[Government]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Motivation]]></category>
		<category><![CDATA[Principles]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=622</guid>
		<description><![CDATA[Following up on what motivates us to work and create, I want to point out a few cases of "Galtism" in current events. (As background, John Galt is a character in Atlas Shrugged who leaves society when it stops rewarding &#8230; <a href="http://richardkmiller.com/622/when-society-stops-rewarding-industry-we-see-galtism">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-83b7b01cbfd00034c68475848ec29bc2526c7a94'><p>Following up on <a href="http://richardkmiller.com/599/what-motivates-us-to-work-and-create">what motivates us to work and create</a>, I want to point out a few cases of "Galtism" in current events.</p>
<p>(As background, <a href="http://en.wikipedia.org/wiki/John_Galt">John Galt</a> is a character in Atlas Shrugged who leaves society when it stops rewarding his ingenuity and hard work.) </p>
<p>First, a letter from Jake DeSantis, an executive vice president at A.I.G. who resigned after the company reneged on its bonus contracts after it became politically unpopular:</p>
<blockquote><p>As most of us have done nothing wrong, guilt is not a motivation to surrender our earnings. We have worked 12 long months under these contracts and now deserve to be paid as promised. None of us should be cheated of our payments any more than a plumber should be cheated after he has fixed the pipes but a careless electrician causes a fire that burns down the house. (Jake DeSantis, <a href="http://www.nytimes.com/2009/03/25/opinion/25desantis.html?_r=1&#038;pagewanted=all">"Dear A.I.G., I Quit"</a>, Ny Times, March 24, 2009.)</p></blockquote>
<p>Second, some musings on "what happens when government regulation makes it more expensive to bill for medical services than providers receive":</p>
<blockquote><p>More and more of my fellow doctors are turning away Medicare patients because of the diminished reimbursements and the growing delay in payments. I’ve had several new Medicare patients come to my office in the last few months with multiple diseases and long lists of medications simply because their longtime provider — who they liked — abruptly stopped taking Medicare.</p></blockquote>
<blockquote><p>This scenario is not academic.  The health systems in Canada and the UK have shortages of doctors, especially specialists...which is why it takes months to get testing and diagnosis even for serious illnesses. </p></blockquote>
<p>Among P.J. O'Rourke's well-known lines is <strong>"If you think health care is expensive now, wait until you see what it costs when it's free."</strong> The full speech is worth reading:</p>
<blockquote><p>Freedom is not empowerment.... Anybody can grab a gun and be empowered. It's not entitlement. An entitlement is what people on welfare get, and how free are they? It's not an endlessly expanding list of rights -- the "right" to education, the "right" to health care, the "right" to food and housing. That's not freedom, that's dependency. Those aren't rights, those are the rations of slavery -- hay and a barn for human cattle.</p>
<p>There is only one basic human right, the right to do as you...please. And with it comes the only basic human duty, the duty to take the consequences. (P.J. O'Rourke, <a href="http://www.cato.org/speeches/sp-orourke.html">"The Liberty Manifesto"</a>, May 6, 1993.)</p></blockquote>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/622/when-society-stops-rewarding-industry-we-see-galtism/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>What Motivates Us to Work and Create</title>
		<link>http://richardkmiller.com/599/what-motivates-us-to-work-and-create</link>
		<comments>http://richardkmiller.com/599/what-motivates-us-to-work-and-create#comments</comments>
		<pubDate>Fri, 13 Mar 2009 05:15:12 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Creating]]></category>
		<category><![CDATA[Economics]]></category>
		<category><![CDATA[Government]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[United States]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=599</guid>
		<description><![CDATA[I recently read Mind the Gap, an essay by Paul Graham on wealth, industry, and incentives. It's almost 5 years old now, but it seems timely as our nation appears to be on a road toward socialism. Wealth is not &#8230; <a href="http://richardkmiller.com/599/what-motivates-us-to-work-and-create">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-00cb3606f7b775bdd91bed5128f5b4b82dbfda3d'><p>I recently read <a href="http://www.paulgraham.com/gap.html"><em>Mind the Gap</em></a>, an essay by Paul Graham on wealth, industry, and incentives. It's almost 5 years old now, but it seems timely as our nation appears to be on a road toward socialism.</p>
<blockquote><p>Wealth is not money. Money is just a convenient way of trading one form of wealth for another. Wealth is the underlying stuff—the goods and services we buy....</p>
<p>Where does wealth come from? People make it. This was easier to grasp when most people lived on farms, and made many of the things they wanted with their own hands. Then you could see in the house, the herds, and the granary the wealth that each family created. It was obvious then too that the wealth of the world was not a fixed quantity that had to be shared out, like slices of a pie. If you wanted more wealth, you could make it.</p>
<p>This is just as true today, though few of us create wealth directly for ourselves.... Mostly we create wealth for other people in exchange for money, which we then trade for the forms of wealth we want.</p></blockquote>
<blockquote><p>If you suppress variations in income, whether by stealing private fortunes, as feudal rulers used to do, or by taxing them away, as some modern governments have done, the result always seems to be the same. Society as a whole ends up poorer.</p></blockquote>
<blockquote><p>You need rich people in your society not so much because in spending their money they create jobs, but because of what they have to do to get rich. I'm not talking about the trickle-down effect here. I'm not saying that if you let Henry Ford get rich, he'll hire you as a waiter at his next party. I'm saying that he'll make you a tractor to replace your horse. (Emphasis added.)</p></blockquote>
<p>Similar ideas can be found in a monologue from Francisco d'Anconia, the wealthy mine owner in Ayn Rand's book <em>Atlas Shrugged</em>.</p>
<blockquote><p>"Money demands that you sell, not your weakness to men's stupidity, but your talent to their reason; it demands that you buy, not the shoddiest they offer, but the best that your money can find. <strong>And when men live by trade—with reason, not force, as their final arbiter—it is the best product that wins, the best performance, the man of best judgment and highest ability—and the degree of a man's productiveness is the degree of his reward.</strong></p></blockquote>
<blockquote><p>"...you will see the rise of men of the double standard—the men who live by force, yet count on those who live by trade to create the value of their looted money—the men who are the hitchhikers of virtue. In a moral society, these are the criminals, and the statutes are written to protect you against them. But when a society establishes criminals-by-right and looters-by-law—men who use force to seize the wealth of disarmed victims—then money becomes its creators' avenger.</p></blockquote>
<blockquote><p>"When you see that trading is done, not by consent, but by compulsion—when you see that in order to produce, you need to obtain permission from men who produce nothing—when you see that money is flowing to those who deal, not in goods, but in favors—when you see that men get richer by graft and by pull than by work, and your laws don't protect you against them, but protect them against you—when you see corruption being rewarded and honesty becoming a self-sacrifice—you may know that your society is doomed.</p></blockquote>
<blockquote><p>"If you ask me to name the proudest distinction of Americans, I would choose—because it contains all the others—the fact that they were the people who created the phrase 'to <em>make</em> money.' No other language or nation had ever used these words before; men had always thought of wealth as a static quantity—to be seized, begged, inherited, shared, looted or obtained as a favor. Americans were the first to understand that <strong>wealth has to be created....</strong>" (Ayn Rand. <em>Atlas Shrugged</em>. pp. 411-14. Emphasis added.)</p></blockquote>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/599/what-motivates-us-to-work-and-create/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>More Important to Teach Principles than Facts</title>
		<link>http://richardkmiller.com/557/more-important-to-teach-principles-than-facts</link>
		<comments>http://richardkmiller.com/557/more-important-to-teach-principles-than-facts#comments</comments>
		<pubDate>Sun, 22 Feb 2009 07:05:36 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Character]]></category>
		<category><![CDATA[Economics]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Leadership]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Stephen Covey]]></category>
		<category><![CDATA[The Leader in Me]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=557</guid>
		<description><![CDATA[This week I read The Leader in Me, Stephen Covey's new book about teaching the Seven Habits of Highly Effective People to elementary school students. Schools in North Carolina, Alabama, Illinois, Guatemala, Singapore, and elsewhere have successfully incorporated 7 Habits &#8230; <a href="http://richardkmiller.com/557/more-important-to-teach-principles-than-facts">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-6055480aadd93e475cfc420adef9ed9378e20943'><p>This week I read <em>The Leader in Me</em>, Stephen Covey's new book about teaching the <em>Seven Habits of Highly Effective People</em> to elementary school students. Schools in North Carolina, Alabama, Illinois, Guatemala, Singapore, and elsewhere have successfully incorporated <em>7 Habits</em> into their curriculum.</p>
<p>As an outsider to education, what most interested me were the chapter on teaching effectiveness principles in the home (chapter 10) and the following thoughts on curriculum.</p>
<p>Parents, teachers, and business leaders recognize that simple transmission of facts is no longer a sufficient education, as it may have been many years ago. This is what makes teaching effectiveness principles so attractive. Principles and habits transcend facts.</p>
<blockquote><p>While factual information remains a key factor for survival in today's world, it is no longer sufficient. With the massive spread of the internet and other digital resources, facts that at one time were closely guarded trade secrets and only available from the top universities can now be accessed in most every nook and cranny on the globe at the click of a mouse. As a result, many of the so-called elite professions that once required extensive schooling are today being passed on to computers or to people at far lower education levels and wages across the planet. Factual knowledge alone is thus no longer the great differentiator between those who succeed and those who do not. (Stephen R. Covey. <em>The Leader in Me</em>. p. 7)</p></blockquote>
<p>What's needed, in Mr. Covey's opinion, is a greater emphasis on "meta" skills such as being proactive, setting goals, resolving conflicts, and listening well. (I previously wrote about <a href="http://richardkmiller.com/48/intellectual-self-sufficiency">"intellectual self-sufficiency"</a>, which I believe is one of these meta skills that is larger than other academic skills.) </p>
<p>Perhaps we could teach better by teaching <em>less</em>:</p>
<blockquote><p>"It is time to recognize that the major flaw in the de facto curriculum of American public schools is not that schools do not do enough, but that they attempt to do too much. Even though American students have fewer school days each year than their Asian and European counterparts, they are expected to learn far more curriculum content. Confronted with a curriculum that is 'a mile long and one-half inch deep,' teachers have become preoccupied with 'coverage.' They feel unable to teach for student mastery of knowledge and skills because of the race to cover content. One of the most meaningful steps a school can take to promote significant improvement is to develop a process for identifying significant curriculum content, eliminating non-essential material, and providing teachers with time to teach the significant curriculum." (Richard DuFour and Robert Eaker. <em>Professional Learning Community</em>. p. 165. Quoted in <em>The Leader in Me</em>. pp. 197-198.)</p></blockquote>
<blockquote><p>"U.S. mathematics textbooks address 175 percent as many topics as do German textbooks and 350 percent as many topics as do Japanese textbooks. The science textbooks used in the United States cover more than nine times as many topics as do German textbooks and more than four times as many topics as do Japanese textbooks. Yet German and Japanese students significantly outperform U.S. students in mathematics and science." (Robert J. Marzano.<em> What Works in Schools</em>. pp. 26-28. Quoted in <em>The Leader in Me</em>. p. 198.)</p></blockquote>
<p>I'm not saying these are magic answers for education, or even that they're new, but I thought they were interesting. As the internet makes it easier to connect with people and access any information, I see wisdom in learning and teaching better personal effectiveness skills.</p>
<p>Eric Hoffer said, "It is the learners who inherit the future. The learned usually find themselves equipped to live in a world that no longer exists."</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/557/more-important-to-teach-principles-than-facts/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>The Language That&#8217;s Magic</title>
		<link>http://richardkmiller.com/537/the-language-thats-magic</link>
		<comments>http://richardkmiller.com/537/the-language-thats-magic#comments</comments>
		<pubDate>Thu, 12 Feb 2009 05:57:52 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Character]]></category>
		<category><![CDATA[Communication]]></category>
		<category><![CDATA[Family]]></category>
		<category><![CDATA[Language]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Marriage]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=537</guid>
		<description><![CDATA[One of my pet peeves is a request in the form of an incomplete "if" statement, e.g. "If you could get me that report by 2:00 PM." Maybe it's just me, but the programmer in me thinks that "if" clauses &#8230; <a href="http://richardkmiller.com/537/the-language-thats-magic">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-271c8ff04917e88055a728713988640d8cc4aa33'><p>One of my pet peeves is a request in the form of an incomplete "if" statement, e.g. "If you could get me that report by 2:00 PM." Maybe it's just me, but the programmer in me thinks that "if" clauses are always followed by "then" statements.</p>
<p>This made <a href="http://www.ted.com/talks/steven_pinker_on_language_and_thought.html">Steven Pinker's talk on language and thought</a> very interesting to me. Why do we speak like this?</p>
<blockquote><p>Language as a social interaction has to satisfy two conditions: You have to convey the actual content. You want to express the bribe, the command, the promise, the solicitation, and so on. But you also have to negotiate and maintain the kind of relationship you have with the other person. The solution, I think, is that we use language at two levels: The literal form signals the safest relationship for the listener, whereas the implicated content--the reading between the lines that we count on the listener to perform--allows the listener to derive the interpretation which is most relevant in context....</p>
<p>The simplest example of this is in the polite request. If you express your request as a conditional--"if you could open the window, that would be great"--even though the content is an imperative, the fact that you're not using the imperative voice means that you're not acting as if you're in a relationship of dominance where you could presuppose the compliance of the other person. (Steven Pinker, <em><a href="http://www.ted.com/talks/steven_pinker_on_language_and_thought.html">The Stuff of Thought</a></em>, 14:06-15:10.)
</p></blockquote>
<p>Just in time for Valentine's Day, Truman Madsen has a similar thought on the language husbands and wives use with each other:</p>
<blockquote><p>Now, a woman who is a woman delights in being thought a woman. She is "romance conscious," and in the deeper sense love-anxious most of the time. The language she understands includes a lot of little (and in the opinion of many husbands, disgustingly trivial) things...the tender touch, the kiss good-by, the kiss hello. A morning of robust yard work is not as eloquent to her as the quiet smoothing of little hurdles, the gallantry of an open door, helping her with a chair or a coat and these mean a hundred times more to her feelings of response than the salary you bring home. Having an eye for the new dress or even the old one, saying the word, however inept or inadequate, about this salad or that gravy, remembering and repeating utterly trivial sentiments and events which no grownup man can remember unless he wants to, no woman can forget even if she tries.<br />
...<br />
Universally, woman is made rich by the man who knows that these touches mean everything. This language speaks to her being. She will respond to it and give.</p>
<p>Now, turn to the man. A man who is a man delights in being thought a man. He is "authority conscious." The language he understands includes a lot of little things, the language of her listening even to his nonsense, the language of biting her tongue instead of lashing with it when his decisions are finally made, the uninterrupted phone call, the restraining of curiosity, the controlling of the disposition to inquisition. (A wife who insists on knowing nothing will eventually have everything, but the wife who insists on knowing everything will eventually have nothing.) The man understands the language of flexibility in a wife who respects his final decisions (even the decision of not to decide), or even so trivial a matter as when we leave the party. The man comprehends the exhilaration of a woman who, when his delays bring him home late, offers a brighter welcome instead of a dismal doghouse.</p>
<p>Universally, a man is responsive to these little matters which mean everything to him. He will rise to them and give in kind.</p>
<p>It is easy to say that we should prize other languages. If a man brings home the bacon and doesn't complain at the wife's food, and shows sympathy for her lot, then why all this emphasis on the romantic sizzle? "If I don't like your cooking, I'll say so; otherwise you are doing fine," said one. On the other hand, if the wife works day and night to tend his kids, to keep his home, and put up with him, then why all the childish emphasis on the authority sizzle? Does a woman have to pander to this desire of a man to have the last word?</p>
<p>Well, it may be strange, as some cynics say (a weird kind of insecurity which mature people ignore), it may even seem ridiculous. But the cost is so little and the results so vast that it is tragic to work against the grain. You can't speak without speaking a language. And this language is magic. Why not master it and speak it? (Truman Madsen, <em>Four Essays on Love</em>, pp. 56-58.)</p></blockquote>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/537/the-language-thats-magic/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some Collective Intelligence Can&#8217;t Be Reduced to Thumbs-Ups and Star Ratings</title>
		<link>http://richardkmiller.com/508/some-collective-intelligence-cant-be-reduced-to-thumbs-ups-and-star-ratings</link>
		<comments>http://richardkmiller.com/508/some-collective-intelligence-cant-be-reduced-to-thumbs-ups-and-star-ratings#comments</comments>
		<pubDate>Sun, 08 Feb 2009 00:42:16 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Communication]]></category>
		<category><![CDATA[Health]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Web2.0]]></category>
		<category><![CDATA[Made to Stick]]></category>
		<category><![CDATA[medicine]]></category>
		<category><![CDATA[ophthalmology]]></category>
		<category><![CDATA[Sermo]]></category>
		<category><![CDATA[stories]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=508</guid>
		<description><![CDATA[In a podcast this week, I learned about Sermo, a private social network where doctors can share knowledge with each other. Seems like a good idea -- let doctors submit and "rate" treatments for various diseases, Web 2.0-style*, like Digg &#8230; <a href="http://richardkmiller.com/508/some-collective-intelligence-cant-be-reduced-to-thumbs-ups-and-star-ratings">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-64cf44eaebf59319c656944ae094c62a1f54b3d6'><p>In a podcast this week, I learned about <a href="http://www.sermo.com/">Sermo</a>, a private social network where doctors can share knowledge with each other. Seems like a good idea -- let doctors submit and "rate" treatments for various diseases, Web 2.0-style*, like Digg or YouTube. (This is for fellow doctors only, not like WebMD.)</p>
<p>I suggested Sermo to my father (an ophthalmologist), but he was skeptical. He said each patient is different and many situations are unique. Sometimes patient comfort or reducing risk are more important than treating the disease. Sometimes "subjective" elements like fear or hearsay affect which treatments a patient will accept. How can these complexities be reduced to a simple, Web 2.0 "vote"? <div id="attachment_530" class="wp-caption alignright" style="width: 160px"><a href="http://richardkmiller.com/wp-content/uploads/2009/02/sermo_overview.jpg" rel="lightbox"><img src="http://richardkmiller.com/wp-content/uploads/2009/02/sermo_overview-150x150.jpg" alt="Overview of Sermo" title="Overview of Sermo" width="150" height="150" class="size-thumbnail wp-image-530" /></a><p class="wp-caption-text">Overview of Sermo</p></div></p>
<p>That's not to say doctors aren't taking advantage of the Internet. My father subscribes to the American Glaucoma Society's emailing list and has found it helpful. He said glaucoma specialists from around the world share stories and experiences. When a doctor tells a story he can share more detail, and the listening doctors can interpret and apply the story to their own patients. <strong>The collective intelligence in these stories can't be reduced to a simple thumbs up/thumbs down vote or a star rating.</strong> (That's not to say that this is Sermo's model -- I don't know -- or that my father won't still try it.)</p>
<p>The book <em>Made to Stick</em> explains the importance of story-telling for transmitting information. A Xerox repairmen told his co-workers, over a game of cribbage and in precise detail, how he and his partner spent 4 hours repairing a photocopier that gave them a misleading "E053" error message. Here's why:</p>
<blockquote><p>
Why do people talk shop? Part of the reason is simply Humanity 101--we want to talk to other people about the things that we have in common. Xerox repairmen work with photocopiers, so they talk about them. But that's not the only factor at play here. For example, the storyteller above could have shared the general arc of the story without the details. "I had a real bear of a problem today--it took me four hours to get to the bottom of it. I'm glad that one's over." Or he could have leapt straight to the punch line: "After hours of hassle, I traced the problem back to a measly burned-out dicorotron. How was <em>your</em> morning?"</p>
<p>Instead, he tells a story that's much more interesting to his lunch partners. It has built-in drama--a misleading code leads two men on a wild goose chase until they uncover, through lots of work and thought, that the problem is simpler than they initially thought. Why is this story format more interesting? Because it allows his lunch partners to play along. He's giving them enough information so that they can mentally test out how they would have handled the situation. The people in the room who weren't aware of the misleading E053 code have now had their "E053 schema" fixed. Before, there was only one way to respond to an E053 code. Now, repairmen know how to be aware of the "misleading E053" scenario.</p>
<p><strong>In other words, this story is part entertainment and part instruction. Shop talk conveys important clues about how to respond to the world.</strong> It teaches nurses not to have blind faith in heart monitors. It teaches copy repairmen to beware of the misleading E053 code. (<em>Made to Stick</em> by Chip and Dan Heath. pp. 207-208, my emphasis.)</p></blockquote>
<p>* I'm using <em>Web 2.0</em> in the classical sense, the way <a href="http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html">Tim O'Reilly defined it</a> to mean the aggregation of collective intelligence, not the popular connotation of brightly colored websites with rounded corners.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/508/some-collective-intelligence-cant-be-reduced-to-thumbs-ups-and-star-ratings/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>For Better Performance, More Awareness</title>
		<link>http://richardkmiller.com/467/for-better-performance-more-awareness</link>
		<comments>http://richardkmiller.com/467/for-better-performance-more-awareness#comments</comments>
		<pubDate>Sun, 01 Feb 2009 07:39:50 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Cognition]]></category>
		<category><![CDATA[Health]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Mind]]></category>
		<category><![CDATA[awareness]]></category>
		<category><![CDATA[Inner Game of Tennis]]></category>
		<category><![CDATA[proprioception]]></category>
		<category><![CDATA[tennis]]></category>
		<category><![CDATA[wii]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=467</guid>
		<description><![CDATA[Among important cognitive skills is "learning to see 'nonjudgmentally'--that is, to see what is happening rather than merely noticing how well or how badly it is happening," according to The Inner Game of Tennis. I read it earlier this month. &#8230; <a href="http://richardkmiller.com/467/for-better-performance-more-awareness">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-daf938372b7d882a1bf35275830b27b5bddfaf42'><p>Among important cognitive skills is "learning to see 'nonjudgmentally'--that is, to see what is happening rather than merely noticing how well or how badly it is happening," according to <em>The Inner Game of Tennis</em>. I read it earlier this month. The author, Tim Gallwey, is a long-time tennis coach who teaches the importance of developing cognitive skills for improving in tennis or any other activity.</p>
<p>When you hit a bad forehand and curse yourself, the part of you doing the cursing is "Self 1" and the part of you who hit the shot is "Self 2."</p>
<blockquote><p>The key to better tennis--or better anything--lies in improving the relationship between the conscious teller, Self 1, and the natural capabilities of Self 2. (p. 10)</p></blockquote>
<p>Soon after reading the book, <a href="http://itc.conversationsnetwork.org/shows/detail3773.html">a talk by Kathy Sierra</a> was queued on my iPod and she happened to mention <em>The Inner Game of Tennis</em>. She said, to become a better performer, tell the dumber part of your brain (who Tim would call Self 1) to "shut up." Cut out the noise and the "chatter."</p>
<p>Back to Tim:</p>
<blockquote><p>No matter what a person's complaint when he has a lesson with me, I have found that the most beneficial first step is to encourage him to <em>see</em> and <em>feel</em> what he is doing--that is, to increase his awareness of <em>what actually is</em>. (p. 25)</p></blockquote>
<blockquote><p>...a great deal of technique can be learned naturally by simply paying close attention to one's body, racket and ball while playing. (p. 54)</p></blockquote>
<blockquote><p>The process is an incredibly simple one. The important thing is to experience it. Don't intellectualize it. See what it feels like to ask yourself to do something and let it happen without any conscious trying. For most people it is a surprising experience, and the results speak for themselves. (p. 80)</p></blockquote>
<blockquote><p>It would be useful to all tennis players to undergo some "sensitivity training" with their bodies. The easiest way to get such training is simply to focus your attention on your body during practice. (p. 89)</p></blockquote>
<p><a href="http://blog.jonudell.net/2008/12/19/my-rationalization-for-buying-a-wii-balance-board/">Luann Udell</a> has found it helpful to use a Wii Fitness Board in her physical rehabilitation (Wii-habilitation). The Wii system gives her immediate feedback on her balance, improving her proprioception. (Proprioception was a new word for me. It refers to our sense of the position of our body. For example, through proprioception we know the location of our tennis racket even when it's behind us on a backswing.)</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/467/for-better-performance-more-awareness/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>President of the United States, Teacher-in-Chief</title>
		<link>http://richardkmiller.com/451/president-of-the-united-states-teacher-in-chief</link>
		<comments>http://richardkmiller.com/451/president-of-the-united-states-teacher-in-chief#comments</comments>
		<pubDate>Sun, 25 Jan 2009 08:05:34 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Government]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[United States]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=451</guid>
		<description><![CDATA[I'm hopeful about the potential for President Obama to be Teacher-in-Chief. I did not vote for President Obama. I strongly dislike much of his agenda, including the expansion of abortion rights, the "creation" of jobs by government fiat, and the &#8230; <a href="http://richardkmiller.com/451/president-of-the-united-states-teacher-in-chief">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-3a1c4a3159b8469048f625a973165db9dba76f2b'><p>I'm hopeful about the potential for President Obama to be Teacher-in-Chief.</p>
<p>I did not vote for President Obama. I strongly dislike much of his agenda, including the expansion of abortion rights, the <a href="http://www.connorboyack.com/blog/job-creation-through-fiat">"creation" of jobs by government fiat</a>, and the expansion of government to which he alluded in his Inaugural Address.</p>
<p>However, President Obama's apparent popularity affords him the opportunity to be "Teacher-in-Chief." The Presidency of the United States is a great platform from which to teach. I think it's been squandered by presidents who think that they must <em>do</em> something, when it may be enough to <em>teach</em> something.</p>
<p>If President Obama uses this opportunity--the popularity he's built--to teach correct principles, he'll do far more good than could be done through any new government program. As long as he has listening supporters, he should teach economics, personal finance, debt-avoidance, self-reliance, service, industry, and more.</p>
<p>For example, I liked this from his <a href="http://www.whitehouse.gov/blog/inaugural-address/">Inaugural Address</a>:</p>
<blockquote><p>Our journey has never been one of short-cuts or settling for less.  It has not been the path for the faint-hearted, for those that prefer leisure over work, or seek only the pleasures of riches and fame.  Rather, it has been the risk-takers, the doers, the makers of things -- some celebrated, but more often men and women obscure in their labor -- who have carried us up the long rugged path towards prosperity and freedom. </p></blockquote>
<p>Not this:</p>
<blockquote><p>The question we ask today is not whether our government is too big or too small, but whether it works -- whether it helps families find jobs at a decent wage, care they can afford, a retirement that is dignified.  Where the answer is yes, we intend to move forward.</p></blockquote>
<p>We don't need a president who pretends he can give us what we need. We need a president who will inspire us to work for those things ourselves. I believe this may be within President Obama's power. Don't waste it, Mr. President.</p>
<p>(For an interesting read, see <a href="http://www.chrisknudsen.biz/683/my-thoughts-on-president-obama/">Chris Knudsen's thoughts on President Obama</a>.)</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/451/president-of-the-united-states-teacher-in-chief/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to Save Voicemail Forever on Your Mac</title>
		<link>http://richardkmiller.com/391/how-to-save-voicemail-forever-on-your-mac</link>
		<comments>http://richardkmiller.com/391/how-to-save-voicemail-forever-on-your-mac#comments</comments>
		<pubDate>Sun, 18 Jan 2009 07:18:45 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Communication]]></category>
		<category><![CDATA[How To]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Tips]]></category>
		<category><![CDATA[Audacity]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Phone]]></category>
		<category><![CDATA[Skype]]></category>
		<category><![CDATA[Soundflower]]></category>
		<category><![CDATA[Soundflowerbed]]></category>
		<category><![CDATA[Voicemail]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=391</guid>
		<description><![CDATA[With a combo of free Mac applications, you can record and save voicemails from your mobile phone. You'll need to install the following Mac applications: Skype. You'll use Skype to make a call to your mobile phone and listen to &#8230; <a href="http://richardkmiller.com/391/how-to-save-voicemail-forever-on-your-mac">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-f6e7a91602a9e692ffade1b0d74d8061bab8145e'><p>With a combo of free Mac applications, you can record and save voicemails from your mobile phone.</p>
<p>You'll need to install the following Mac applications:</p>
<p><img src="http://richardkmiller.com/wp-content/uploads/2009/01/skype.png" alt="skype" title="skype" width="48" height="48" class="alignleft size-full wp-image-408" /> <a href="http://skype.com/">Skype</a>. You'll use Skype to make a call to your mobile phone and listen to your voicemail. Though the app is free, you'll need to buy Skype Credit to make a "Skype Out" call to your mobile phone.</p>
<p><img src="http://richardkmiller.com/wp-content/uploads/2009/01/audacity.png" alt="audacity" title="audacity" width="48" height="48" class="alignleft size-full wp-image-407" /> <a href="http://audacity.sourceforge.net/">Audacity</a>. You'll use this free application to record your phone call.</p>
<p><img src="http://richardkmiller.com/wp-content/uploads/2009/01/soundflowerbed.png" alt="soundflowerbed" title="soundflowerbed" width="48" height="48" class="alignleft size-full wp-image-409" /> <a href="http://www.cycling74.com/products/soundflower">Soundflower and Soundflowerbed</a>. This free system extension will connect Skype to Audacity. It's like a laundry chute for audio; you can direct audio from any application to another. It does this by adding a pseudo "device" to your list of audio devices in System Preferences.</p>
<h3>Instructions:</h3>
<ol>
<li>Open Audacity, then Audacity Preferences. In the Audio I/O section, change the <strong>Recording device</strong> to <strong>Core Audio: Soundflower (2ch)</strong>. <img src="http://richardkmiller.com/wp-content/uploads/2009/01/audacity_preferences.png" alt="audacity_preferences" title="audacity_preferences" width="403" height="140" class="alignleft size-full wp-image-399" /></li>
<li>Open Skype, then Skype Preferences. Under the Audio tab, change <strong>Audio Output</strong> to <strong>Soundflower (2ch)</strong>. <img src="http://richardkmiller.com/wp-content/uploads/2009/01/skype_preferences.png" alt="skype_preferences" title="skype_preferences" width="439" height="133" class="alignleft size-full wp-image-402" /></li>
<li>Open Soundflowerbed in your menu bar, then under <strong>Soundflower (2ch)</strong>, select <strong>Built-in Output</strong>. Soundflowerbed allows you to monitor the audio passing through Soundflower, like having a window into the laundry shoot to watch clothes that fall past. <img src="http://richardkmiller.com/wp-content/uploads/2009/01/soundflower_preferences.png" alt="soundflower_preferences" title="soundflower_preferences" width="278" height="122" class="alignleft size-full wp-image-404" /></li>
<li>Back in Audacity, click the <strong>Record</strong> button to begin recording. <img src="http://richardkmiller.com/wp-content/uploads/2009/01/audacity_record_button.png" alt="audacity_record_button" title="audacity_record_button" width="151" height="76" class="alignleft size-full wp-image-400" /></li>
<li>In Skype, make a call to your cell phone. When your greeting begins playing, press the sequence of keys that accesses your voicemail (probably the asterisk key followed by your password.) Listen to your voicemail as you normally would. Then hang up. <img src="http://richardkmiller.com/wp-content/uploads/2009/01/skype_phonecall.png" alt="skype_phonecall" title="skype_phonecall" width="350" height="342" class="alignleft size-full wp-image-435" /></li>
<li>Switch back to Audacity and click the <strong>Stop</strong> button. You should see the zig-zaggy waveform of the message you just recorded.<br /> <img src="http://richardkmiller.com/wp-content/uploads/2009/01/audacity_stop_button.png" alt="audacity_stop_button" title="audacity_stop_button" width="115" height="71" class="alignleft size-full wp-image-433" /> <br /> <img src="http://richardkmiller.com/wp-content/uploads/2009/01/audacity_waveform.png" alt="audacity_waveform" title="audacity_waveform" width="306" height="143" class="alignleft size-full wp-image-434" /></li>
<li>Click the Audacity cursor directly before your message. (You can find out where this is by using the <strong>Play</strong> and <strong>Stop</strong> buttons.) From the Edit menu, choose <strong>Select</strong> then <strong>Track Start to Cursor</strong>. Push the <strong>Delete</strong> key on your keyboard. This will remove extraneous audio before your message. <img src="http://richardkmiller.com/wp-content/uploads/2009/01/audacity_before.png" alt="audacity_before" title="audacity_before" width="476" height="182" class="alignleft size-full wp-image-431" /></li>
<li>Click the Audacity cursor directly after your message. From the Edit menu, choose <strong>Select</strong> then <strong>Cursor to Track End</strong>. Push the <strong>Delete</strong> key. This will remove extraneous audio after your message. <img src="http://richardkmiller.com/wp-content/uploads/2009/01/audacity_after.png" alt="audacity_after" title="audacity_after" width="487" height="182" class="alignleft size-full wp-image-430" /></li>
<li>Choose <strong>Export</strong> from the File menu and save your voicemail. You can email it to a friend or save it in iTunes. <img src="http://richardkmiller.com/wp-content/uploads/2009/01/audacity_export.png" alt="audacity_export" title="audacity_export" width="556" height="204" class="alignleft size-full wp-image-432" /></li>
</ol>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/391/how-to-save-voicemail-forever-on-your-mac/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Why an Aspiring Author Should Start a Blog</title>
		<link>http://richardkmiller.com/370/why-an-aspiring-author-should-start-a-blog</link>
		<comments>http://richardkmiller.com/370/why-an-aspiring-author-should-start-a-blog#comments</comments>
		<pubDate>Sun, 11 Jan 2009 02:33:16 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Creating]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Publishing]]></category>
		<category><![CDATA[children's books]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=370</guid>
		<description><![CDATA[My aunt recently started a blog: Great Books for Children. In her ambition to become a published children's author, she felt compelled to start a blog but was hesitant. She considered blogs to be the "junk mail of the Internet" &#8230; <a href="http://richardkmiller.com/370/why-an-aspiring-author-should-start-a-blog">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-c3dffe87a5cd676a8967fede093a4fb2a96d88d0'><p>My aunt recently started a blog: <a href="http://greatbooksforchildren.com">Great Books for Children</a>. In her ambition to become a published children's author, she felt compelled to start a blog but was hesitant. She considered blogs to be the "junk mail of the Internet" and didn't want to "stoop" to blogging. I think she's off to a fine start.</p>
<p>The following email was meant to persuade her to think more highly of blogging, at least considering it a neutral publishing medium with the potential to garner an audience:</p>
<blockquote><p>1. People should consider your blog a great resource, a bookmark worth keeping, something worth talking about, not a glossy brochure for you as an author.</p>
<p>2. The Internet allows you to connect with an audience despite not having a publisher. If you produce great work, you'll attract an audience. This is called micro-celebrity:</p>
<ul>
<li><a href="http://www.kk.org/thetechnium/archives/2008/03/1000_true_fans.php">1,000 True Fans</a> by Kevin Kelly</li>
<li><a href="http://www.wired.com/techbiz/people/magazine/15-12/st_thompson">Clive Thompson on the Age of Microcelebrity: Why Everyone's a Little Brad Pitt</a></li>
</ul>
<p>3. Cory Doctorow is a sci-fi writer who released his entire book online, got an audience, then got a publishing contract. How could a publisher turn away a writer with an existing audience?</p>
<ul>
<li><a href="http://www.forbes.com/home/technology/2006/11/30/cory-doctorow-copyright-tech-media_cz_cd_books06_1201doctorow.html">Giving It Away</a></li>
</ul>
<p>4. Do you know the Nie Nie story? It's the blog of a young Mormon woman who was in a plane crash earlier this year. Her blog has a huge audience. This is an awesome article in the NY Times:</p>
<ul>
<li><a href="http://www.nytimes.com/2008/09/07/fashion/07burn.html">After Blogger's Plane Crash, Virtual Becomes Personal</a></li>
</ul>
<p>5. Blogging can be grand. Play the medium to your advantage by including pictures and video. Don't think it's a lesser medium.</p>
<p>6. Some of my favorite posts on blogging:</p>
<ul>
<li><a href="http://www.43folders.com/2008/08/19/good-blogs">What Makes for a Good Blog?</a> by Merlin Mann</li>
<li><a href="http://sethgodin.typepad.com/seths_blog/2008/04/write-like-a-bl.html">Write Like a Blogger</a> by Seth Godin</li>
<li><a href="http://sethgodin.typepad.com/seths_blog/2006/06/how_to_get_traf.html">How to Get Traffic for Your Blog</a> by Seth Godin</li>
<li><a href="http://www.seomoz.org/blog/why-you-should-blog">Why You Should Blog</a> by randfish</li>
</ul>
<p>7. Bookmarks on publishing:</p>
<ul>
<li><a href="http://sethgodin.typepad.com/seths_blog/2006/08/advice_for_auth.html">Advice for Authors</a> by Seth Godin</li>
<li><a href="http://www.kk.org/cooltools/archives/000668.php">How to Sell Your Book, CD, or DVD on Amazon</a> by Kevin Kelly</li>
<li><a href="http://www.bestsellerinterviews.com/10-questions-with-seth-godin-author-of-permission-marketing-purple-cow-and-the-dip.html">10 Questions with Seth Godin, author of Permission Marketing, Purple Cow, and The Dip</a></li>
<li><a href="http://www.goodexperience.com/2008/07/following-up-on-these.php">Secrets of book publishing I wish I had known</a> by Mark Hurst
</li>
</ul>
</blockquote>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/370/why-an-aspiring-author-should-start-a-blog/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>My slides from WordCamp Utah</title>
		<link>http://richardkmiller.com/360/my-slides-from-wordcamp-utah</link>
		<comments>http://richardkmiller.com/360/my-slides-from-wordcamp-utah#comments</comments>
		<pubDate>Sun, 16 Nov 2008 00:39:17 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[Utah]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://richardkmiller.com/?p=360</guid>
		<description><![CDATA[I spoke at WordCamp Utah at the end of September on using WordPress as a Content Management System (CMS). Here are my slides: WordPress as a CMS UPDATE: Rocky Mountain Voices has a video of my presentation.]]></description>
			<content:encoded><![CDATA[<div class='microid-b9a58b0529a3060b5b8c434d6dc7ae9ae103c004'><p>I spoke at <a href="http://richardkmiller.com/324/learn-more-about-wordpress-at-wordcamp-utah">WordCamp Utah</a> at the end of September on using WordPress as a Content Management System (CMS). Here are my slides:</p>
<p><a href="http://richardkmiller.com/files/WordPress_as_CMS.pdf">WordPress as a CMS</a></p>
<p>UPDATE: Rocky Mountain Voices has a <a href="http://www.rockymountainvoices.com/blog/2008/09/27/richard-miller-on-using-wordpress-as-a-cms-at-wordcamp-utah/">video of my presentation</a>.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/360/my-slides-from-wordcamp-utah/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How to browse securely with SSH and a SOCKS proxy</title>
		<link>http://richardkmiller.com/337/how-to-browse-securely-with-ssh-and-a-socks-proxy</link>
		<comments>http://richardkmiller.com/337/how-to-browse-securely-with-ssh-and-a-socks-proxy#comments</comments>
		<pubDate>Wed, 03 Sep 2008 15:54:52 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Mac]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Privacy]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/?p=337</guid>
		<description><![CDATA[I was in Moab this weekend with my family and our motel had free wireless Internet. I used SSH and a SOCKS proxy to create a secure tunnel to my iMac at work. This allowed me to browse Gmail and &#8230; <a href="http://richardkmiller.com/337/how-to-browse-securely-with-ssh-and-a-socks-proxy">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-f166988fec97ae901087390e86c67a8a931c5c62'><p>I was in Moab this weekend with my family and our motel had free wireless Internet. I used SSH and a SOCKS proxy to create a secure tunnel to my iMac at work. This allowed me to browse Gmail and Facebook securely.</p>
<p>Here's a screencast on how to create an SSH tunnel and browse securely in Safari and Firefox:<br />
<object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/0gmNGMlEMxw&#038;hl=en&#038;fs=1&#038;fmt=18"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/0gmNGMlEMxw&#038;hl=en&#038;fs=1&#038;fmt=18" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Here's a full-size video:<br />
<a href="http://www.richardkmiller.com/screencasts/secure_connection_ssh_and_socks/">How to browse securely with SSH and a SOCKS proxy</a> (full size video)</p>
<p>These are the basic steps on a Mac:<br />
1. Open Terminal. (In your Applications/Utilities folder.)<br />
2. Type "ssh -D 9999 username@example.com", replacing "username" and "example.com" with the actual username and address of your remote machine. The remote machine will need the SSH service, or Remote Login service, turned on.<br />
3. Open System Preferences -> Network -> Advanced tab -> Proxies.<br />
4. Turn on the "SOCKS Proxy" and enter "127.0.0.1" and "9999" in the fields. Click OK and Apply.</p>
<p>Now your Internet connection will be tunneled through a secure connection to your remote machine -- a poor man's VPN.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/337/how-to-browse-securely-with-ssh-and-a-socks-proxy/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Learn more about WordPress at WordCamp Utah</title>
		<link>http://richardkmiller.com/324/learn-more-about-wordpress-at-wordcamp-utah</link>
		<comments>http://richardkmiller.com/324/learn-more-about-wordpress-at-wordcamp-utah#comments</comments>
		<pubDate>Sat, 16 Aug 2008 19:27:46 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Blogging]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[Utah]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/?p=324</guid>
		<description><![CDATA[WordCamp Utah is a 1-day conference all about WordPress, to be held in Provo, Utah, on September 27, 2008. Speakers will include WordPress founder Matt Mullenweg, WordPress guru Alex King, both visiting from out of town, and several local personalities &#8230; <a href="http://richardkmiller.com/324/learn-more-about-wordpress-at-wordcamp-utah">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-a19bd07a2edfc91594305571159a95c6a5941248'><p>WordCamp Utah is a 1-day conference all about WordPress, to be held in Provo, Utah, on September 27, 2008. Speakers will include WordPress founder <a href="http://utah.wordcamp.org/schedule/matt-mullenweg/">Matt Mullenweg</a>, WordPress guru <a href="http://utah.wordcamp.org/schedule/alex-king/">Alex King</a>, both visiting from out of town, and several local personalities including <a href="http://utah.wordcamp.org/schedule/cameron-moll/">Cameron Moll</a>, <a href="http://utah.wordcamp.org/schedule/cameron-moll/">Thom Allen</a>, <a href="http://utah.wordcamp.org/schedule/ash-buckles/">Ash Buckles</a>, and <a href="http://utah.wordcamp.org/schedule/richard-miller/">yours truly</a>.</p>
<p>I'll speak on using WordPress as a Content Management System, demonstrating that you can use WordPress software to power your website even if it's not a blog. At our nonprofit foundation, we use WordPress to power over 40 non-blog websites.</p>
<p>This should be a great conference for any blogger, Web developer, or Web publisher. I'm excited to hear each of the talks.</p>
<p>More information: <a href="http://utah.wordcamp.org/">WordCamp Utah</a> (<a href="http://utah.wordcamp.org/sign-up/">signup</a>)</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/324/learn-more-about-wordpress-at-wordcamp-utah/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Focus on the highs, not the lows</title>
		<link>http://richardkmiller.com/319/focus-on-the-highs-not-the-lows</link>
		<comments>http://richardkmiller.com/319/focus-on-the-highs-not-the-lows#comments</comments>
		<pubDate>Tue, 15 Apr 2008 05:57:20 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[Optimism]]></category>
		<category><![CDATA[Well-being]]></category>
		<category><![CDATA[honda]]></category>
		<category><![CDATA[motorcycle]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/?p=319</guid>
		<description><![CDATA[Gordon B. Hinckley called for more optimism: I come to you tonight with a plea that we stop seeking out the storms and enjoy more fully the sunlight. I am suggesting that as we go through life we try to &#8230; <a href="http://richardkmiller.com/319/focus-on-the-highs-not-the-lows">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-4d77f0c3a3187e82b598ca62bc40145c991ba979'><p>Gordon B. Hinckley called for more optimism:</p>
<blockquote><p>I come to you tonight with a plea that we stop seeking out the storms and enjoy more fully the sunlight. I am suggesting that as we go through life we try to "accentuate the positive." I am asking that we look a little deeper for the good... (<a href="http://www.lds.org/broadcast/ces090901/transcript/0,11006,566,00.html"><em>Be Not Afraid, Only Believe</em></a>)</p></blockquote>
<p>Today was a beautiful day in Utah! It was the kind of day I wait all winter for. With a motorcycle and no skiing or snowboarding skills, I spend the whole winter watching for sunny days on the Apple weather widget. Today the readout called for beautiful temperatures all week. (You better believe I was out riding today!) The only downer is the low temperature on Wednesday -- a chilly 24&deg;:</p>
<p><a href='http://www.richardkmiller.com/blog/wp-content/uploads/2008/04/weather_highs_lows.png'><img src="http://www.richardkmiller.com/blog/wp-content/uploads/2008/04/weather_highs_lows.png" alt="" title="weather_highs_lows" width="282" height="191" class="alignnone size-medium wp-image-322" /></a></p>
<p>But why focus on the lows? Flip over that widget, uncheck the box, and then it's warm days all week!</p>
<p><a href='http://www.richardkmiller.com/blog/wp-content/uploads/2008/04/weather_back.png'><img src="http://www.richardkmiller.com/blog/wp-content/uploads/2008/04/weather_back.png" alt="" title="weather_back" width="283" height="179" class="alignnone size-medium wp-image-320" /></a></p>
<p><a href='http://www.richardkmiller.com/blog/wp-content/uploads/2008/04/weather_highs.png'><img src="http://www.richardkmiller.com/blog/wp-content/uploads/2008/04/weather_highs.png" alt="" title="weather_highs" width="275" height="166" class="alignnone size-medium wp-image-321" /></a></p>
<p>I realize my selective ignorance about the weather doesn't make it any warmer, but I do believe that where we put our energy and focus matters. Optimism is a mindset of gratitude, focusing on the positive around you instead of the negative.</p>
<p><a href='http://www.richardkmiller.com/blog/wp-content/uploads/2008/04/motorcycle_headlight_reflection.jpg'><img src="http://www.richardkmiller.com/blog/wp-content/uploads/2008/04/motorcycle_headlight_reflection-300x225.jpg" alt="" title="One of my favorite things in the world: the reflection of clear, blue skies in the headlight of a Honda Shadow that I happen to be sitting on." width="300" height="225" class="alignnone size-medium wp-image-323" /></a></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/319/focus-on-the-highs-not-the-lows/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>You&#8217;re Already in the Best of All Possible Situations</title>
		<link>http://richardkmiller.com/318/youre-already-in-the-best-of-all-possible-situations</link>
		<comments>http://richardkmiller.com/318/youre-already-in-the-best-of-all-possible-situations#comments</comments>
		<pubDate>Fri, 14 Mar 2008 05:01:29 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Character]]></category>
		<category><![CDATA[Happiness]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Principles]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/archives/2008/03/youre-already-in-the-best-of-all-possible-situations</guid>
		<description><![CDATA[Last month I finished reading Bonds That Make Us Free by Terry Warner. Though I found it repetitive in some spots, overall I liked it. My favorite concept from the book was that you are currently in the "Best of &#8230; <a href="http://richardkmiller.com/318/youre-already-in-the-best-of-all-possible-situations">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-fd7b0ca9f6f11c52cbba26f3e084e199d8a81332'><p>Last month I finished reading <a href="http://www.amazon.com/Bonds-That-Make-Free-Relationships/dp/1573459194">Bonds That Make Us Free</a> by Terry Warner. Though I found it repetitive in some spots, overall I liked it. My favorite concept from the book was that you are currently in the "Best of All Possible Situations."</p>
<p>This idea might be traced to Søren Kierkegaard's parable of <em><a href="http://books.google.com/books?id=QFsF5_MedtsC&#038;pg=PA39&#038;lpg=PA39&#038;ots=iecIchtTpk&#038;sig=0LqPHpbQ-hM991jqwIFlzNMl1JM">The Two Artists</a></em>:</p>
<blockquote><p>
Suppose there were two artists, and the one said, "I have travelled much and seen much in the world, but I have sought in vain to find a man worth painting. I have found no face with such perfection of beauty that I could make up my mind to paint it. In every face I have seen one or another little fault. Therefore I seek in vain."</p>
<p>On the other hand, the second one said, "Well, I do not pretend to be a real artist; neither have I travelled in foreign lands. But remaining in the little circle of men who are closest to me, I have not found a face so insignificant or so full of faults that I still could not discern in it a more beautiful side and discover something glorious. Therefore I am happy in the art I practice. It satisfies me without my making any claim to being an artist."</p>
<p>...the second of the two was the artist.
</p></blockquote>
<p>Referring to our forgiving the offenses we sometimes take from friends, family, and coworkers, Mr. Warner puts it this way:</p>
<blockquote><p>
Unless we change in our hearts toward the people we struggle with <em>here and now</em>, we are condemned to struggle with whomever we may find ourselves associating with.<br />
...<br />
It doesn't say that our situation could not be better. Many of us have serious needs, like too little to eat or broken health; even those of us who are fairly comfortable could benefit from positive changes in our circumstances. What the principle says is, in matters that affect our happiness, we are in the best of all possible situations.<br />
...<br />
We cannot be liberated from our burdensome feelings toward certain people unless we forgive <em>these very people</em>; without this, we leave unfinished the task by which we ourselves can be transformed. For wherever we go, we will remain accusing, self-excusing individuals who, fantasizing, think a change of circumstance will make a fundamental difference. Instead of leaving our problems behind, we will take them with us.</p>
<p><em>When happiness is the issue, the best possible situation for us is the one we're in now, and the people around us are the best we could be with. </em>(pp. 307-9)
</p></blockquote>
<p>You're an artist if you realize that you're already in the best of all possible situations.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/318/youre-already-in-the-best-of-all-possible-situations/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>What goes around, comes around</title>
		<link>http://richardkmiller.com/314/what-goes-around-comes-around</link>
		<comments>http://richardkmiller.com/314/what-goes-around-comes-around#comments</comments>
		<pubDate>Thu, 21 Feb 2008 05:57:05 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[MediaWiki]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[mediawiki mod_auth_mysql jonudell]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/archives/2008/02/what-goes-around-comes-around</guid>
		<description><![CDATA[I'm not a big believer in karma, but this week I experienced some karma-like effects. Two years ago for work, I developed code to protect wiki websites. Then I published it on my blog. This weekend a software upgrade caused &#8230; <a href="http://richardkmiller.com/314/what-goes-around-comes-around">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-f1113d8105150d123c3a417f48973f5e57662a94'><p>I'm not a big believer in karma, but this week I experienced some karma-like effects. Two years ago for work, I developed code to <a href="http://www.richardkmiller.com/blog/archives/2006/05/password-protecting-mediawiki-with-mod_auth_mysql">protect wiki websites</a>. Then I published it on my blog.</p>
<p>This weekend a software upgrade caused this protection code to stop working on our websites. I couldn't find an answer. Then yesterday, some chap named Nathan left a comment describing the <a href="http://www.richardkmiller.com/blog/archives/2006/05/password-protecting-mediawiki-with-mod_auth_mysql#comment-144444">solution</a>. I hadn't asked for help. He was simply documenting his own experience. But it was just what I needed.</p>
<p>This is fundamental to open source software -- the creation of a software commons. It's also what happens on Wikipedia, the creation of a knowledge commons.</p>
<p>In <em>Love Is the Killer App</em>, Tim Sanders suggests freely sharing your knowledge and your network, not hoarding them.</p>
<p>Jon Udell talks of "narrating" one's work from day to day. This allows everyone to share in your vast brain knowledge, and it becomes your living résumé. I'd like to do more of that.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/314/what-goes-around-comes-around/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>First Pick, Second Pick</title>
		<link>http://richardkmiller.com/313/first-pick-second-pick</link>
		<comments>http://richardkmiller.com/313/first-pick-second-pick#comments</comments>
		<pubDate>Tue, 05 Feb 2008 18:16:02 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Main]]></category>
		<category><![CDATA[Politics]]></category>
		<category><![CDATA[mitt romney politics election ron paul mike huckabee]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/archives/2008/02/first-pick-second-pick</guid>
		<description><![CDATA[Today is Super Tuesday, the day on which residents of Utah and 23 other states will go to the polls. Before you cast your vote today, please complete the following exercise: 1. Please rank the candidates in order of your &#8230; <a href="http://richardkmiller.com/313/first-pick-second-pick">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-17c2ea065d6250c27a494e2d15624255236fda24'><p>Today is Super Tuesday, the day on which residents of Utah and 23 other states will go to the polls. Before you cast your vote today, please complete the following exercise:</p>
<p>1. Please rank the candidates in order of your preference. Who is your 1st pick? Who is your 2nd pick? Who is 3rd? etc..</p>
<p>2. Does your 1st pick stand a chance of winning the primary election? The general election?</p>
<p>3. If you answered "no" to question #2, would your vote be better used on someone else?</p>
<p>If your vote for an unelectable 1st choice means fewer votes for your 2nd choice, and a victory for your 3rd choice, please reconsider how you use your vote.</p>
<p>EXCEPTION: If you're casting your vote to make a political statement, not with the intent of actually electing the best candidate of the viable options, please disregard the above exercise.</p>
<p>Mitt Romney is my 1st choice for President of the United States, both of the running candidates and of the candidates that can actually win.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/313/first-pick-second-pick/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Too Much Information (TMI)</title>
		<link>http://richardkmiller.com/311/too-much-information-tmi</link>
		<comments>http://richardkmiller.com/311/too-much-information-tmi#comments</comments>
		<pubDate>Thu, 27 Dec 2007 14:16:24 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Focus]]></category>
		<category><![CDATA[Getting Things Done]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Priorities]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/archives/2007/12/too-much-information-tmi</guid>
		<description><![CDATA[There's danger in consuming too much information. I'm sure you know what happens when you eat too much food. Like food, information needs digestion. It's only useful to the degree you can distill it into actions, habits, and wisdom. Dallin &#8230; <a href="http://richardkmiller.com/311/too-much-information-tmi">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-b90a2cb5f6cd812165019a5ba85364f3e0362912'><p>There's danger in consuming too much information. I'm sure you know what happens when you eat too much food. Like food, information needs digestion. It's only useful to the degree you can distill it into actions, habits, and wisdom.</p>
<p>Dallin H. Oaks gave a good talk on <a href="http://www.lds.org/ldsorg/v/index.jsp?vgnextoid=2354fccf2b7db010VgnVCM1000004d82620aRCRD&#038;locale=0&#038;sourceId=275e759235d0c010VgnVCM1000004d82620a____">focus and priorities</a>:</p>
<blockquote><p>We have thousands of times more available information than Thomas Jefferson or Abraham Lincoln. Yet which of us would think ourselves a thousand times more educated or more serviceable to our fellowmen than they? The sublime quality of what these two men gave to us—including the Declaration of Independence and the Gettysburg Address—was not attributable to their great resources of information, for their libraries were comparatively small by our standards. Theirs was the wise and inspired use of a limited amount of information.
</p></blockquote>
<p>I know where to get my information binge if I want it. (Thank you, RSS.) I'm sure you do too. The challenge is to consume less of it and use it more wisely.</p>
<p>I wonder what Thomas Jefferson or Abraham Lincoln would do in our shoes.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/311/too-much-information-tmi/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Teaching the unteachable skills</title>
		<link>http://richardkmiller.com/310/teaching-the-unteachable-skills</link>
		<comments>http://richardkmiller.com/310/teaching-the-unteachable-skills#comments</comments>
		<pubDate>Wed, 12 Dec 2007 14:18:15 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Education]]></category>
		<category><![CDATA[Getting Things Done]]></category>
		<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/archives/2007/12/teaching-the-unteachable-skills</guid>
		<description><![CDATA[If you tend to perform tasks you've never performed before, what does this mean for education? Does your school teach you to solve problems, prioritize tasks, and prepare you for non-assembly-line jobs? "Training a student to be sheepish is a &#8230; <a href="http://richardkmiller.com/310/teaching-the-unteachable-skills">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-158aa75ce633f7f79ca70421f448d01a4fa6e45e'><p>If you tend to perform tasks you've <a href="http://www.richardkmiller.com/blog/archives/2007/12/crankable-widgets">never performed before</a>, what does this mean for education? Does your school teach you to solve problems, prioritize tasks, and prepare you for non-assembly-line jobs?</p>
<blockquote><p>"Training a student to be sheepish is a lot easier than the alternative. Teaching to the test, ensuring compliant behavior and using fear as a motivator are the easiest and fastest ways to get a kid through school. So why does it surprise us that we graduate so many sheep?" (Seth Godin in <a href="http://sethgodin.typepad.com/seths_blog/2007/02/sheepwalking.html">Sheepwalking</a>)
</p></blockquote>
<p>Maybe teachers should ask harder questions -- questions they've never answered -- and allow students to use "real life" tools.</p>
<blockquote><p>Here's what just about every exam ought to be: "Use Firefox to find the information you need to answer this question:" And as the internet gets smarter, the questions are going to have to get harder. (Seth Godin in <a href="http://sethgodin.typepad.com/seths_blog/2007/10/the-wikipedia-g.html">The Wikipedia Gap</a>)</p></blockquote>
<blockquote><p>In the past, you had to memorize knowledge because there was a cost to finding it. Now, what can’t you find in 30 seconds or less? We live an open-book-test life that requires a completely different skill set. (<a href="http://www.richardkmiller.com/blog/archives/2006/03/what-cant-you-find-in-30-seconds-or-less">Mark Cuban</a> in Time magazine)</p></blockquote>
<p>I've called this <a href="http://www.richardkmiller.com/blog/archives/2006/03/intellectual-self-sufficiency">intellectual self-sufficiency</a>, the ability to search out answers for yourself. </p>
<p>How about these test questions? (Internet and cell phone allowed.)</p>
<ul>
<li>What can you buy with 1 yen, in Japan?</li>
<li>Find a picture of Rio de Janeiro taken today.</li>
<li>Who is the most famous author of all time? Defend your answer.</li>
<li>Your friend is visiting downtown Boston and calls you for help. Help her get to D.C. You're in Provo, Utah.</li>
</ul>
<p>The answers don't really matter, but the process does.</p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/310/teaching-the-unteachable-skills/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Tee &#8216;em up</title>
		<link>http://richardkmiller.com/309/tee-em-up</link>
		<comments>http://richardkmiller.com/309/tee-em-up#comments</comments>
		<pubDate>Tue, 11 Dec 2007 14:15:56 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Flow]]></category>
		<category><![CDATA[Getting Things Done]]></category>
		<category><![CDATA[Main]]></category>
		<category><![CDATA[Motivation]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/archives/2007/12/tee-em-up</guid>
		<description><![CDATA[Golf provides another metaphor for getting things done. Take #2 on "crankable widgets". Growing up in Las Vegas, our favorite place to hit golf balls was Desert Pines. It was 30 minutes away, but it boasted a double decker driving &#8230; <a href="http://richardkmiller.com/309/tee-em-up">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-e0d08dd30c12777e48c554b95bf9eecceb832868'><p>Golf provides another metaphor for getting things done. Take #2 on <a href="http://www.richardkmiller.com/blog/archives/2007/12/crankable-widgets">"crankable widgets"</a>.</p>
<p>Growing up in Las Vegas, our favorite place to hit golf balls was Desert Pines. It was 30 minutes away, but it boasted a double decker driving range and automatic tees. After each hit, the tee dropped into the floor and re-emerged with a new ball. You could hit ball after ball without the pesky work of bending down to tee them. You could keep your stance and stay in the zone.</p>
<p>Imagine "teeing up" your tasks. Thoroughly prepare each task so the actual work of doing it is a simple, fluid stroke. Poorly prepared tasks require you to lean down. Well-prepared tasks are ripe for the hitting.</p>
<p>Bad: "Do taxes"<br />
Good: "Find W2 forms and receipts in folder. Call accountant to setup appointment."</p>
<p>Bad: "Christmas shopping"<br />
Good: "Spend 10 minutes with pen and paper brainstorming what David might like for Christmas. Ask Mom for suggestions. Wait a few days to think about it. Order it online."</p>
<p>Can you see how using concrete words makes each task easier to grasp? These changes may seem obvious to you, and perhaps you won't need this much description. Be as descriptive as you personally need. But you'll be surprised how fluidly you'll move from task to task if you've taken the time to describe each task specifically and concretely. </p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/309/tee-em-up/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
