<?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; Entrepreneurship</title>
	<atom:link href="http://richardkmiller.com/category/entrepreneurship/feed" rel="self" type="application/rss+xml" />
	<link>http://richardkmiller.com</link>
	<description></description>
	<lastBuildDate>Wed, 01 Feb 2012 15:26:50 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<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[Business]]></category>
		<category><![CDATA[BYU]]></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 &#8212; 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 &#8212; parties, concerts, football games, etc. We were already in our beds for the night when the idea came, but we couldn&#8217;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&#8217;t have been hard technically, but the <a href="http://saas.byu.edu/classSchedule/schedule.php">publicly available course catalog</a> isn&#8217;t updated in real-time. I could have scraped the authenticated course catalog on Route Y, but BYU might have objected and it&#8217;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 &#8220;course schedule alert&#8221; idea to the test with some new tools &#8212; Ruby and Mac OS X&#8217;s speech. Here&#8217;s what I came up with:</p>
<pre class="brush: ruby; title: ;">
#!/usr/bin/env ruby

# a list of course call numbers to check
call_numbers = %w{ 46405 46407 46409 46411 46415 46413 53252 53254 53256 53258 53260 53262 53268 53270 53272 53274 46423 46435 53276 46443 }

# auth_token obtained via Firefox+TamperData while my brother logged into CSN
auth_token = &quot;123456789012345&quot;

say &quot;Checking&quot;

call_numbers.uniq.sort.each do |call_number|
    c = `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;`
    print &quot;Call number #{call_number}: &quot;
    if (c =~ /&lt;p class=&quot;p5&quot;&gt;([^&lt; ]+)&lt;br\/&gt;/m)
        if $1.strip.empty?
            puts &quot;May have openings\n&quot;
            3.times {say &quot;Michael, class number #{call_number} may be open!&quot;}
        else
            puts &quot;#{$1.strip}\n&quot;
        end
    else
        puts &quot;could not find message&quot;
        say &quot;Help. I cannot access the C S N website.&quot;
        return
    end
    sleep 5
end

# Ouput an audible message via Mac OS X's speech function
def say(message)
    `say &quot;#{message}&quot;`
end
</pre>
<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 &#8220;Checking&#8221; from the computer. A few hours later we heard the script announce that a class had opened up. Michael, I&#8217;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>9</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&#8217;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 &#8220;creation&#8221; 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&#8217;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">&#8220;creation&#8221; of jobs by government fiat</a>, and the expansion of government to which he alluded in his Inaugural Address.</p>
<p>However, President Obama&#8217;s apparent popularity affords him the opportunity to be &#8220;Teacher-in-Chief.&#8221; The Presidency of the United States is a great platform from which to teach. I think it&#8217;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&#8211;the popularity he&#8217;s built&#8211;to teach correct principles, he&#8217;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 &#8212; some celebrated, but more often men and women obscure in their labor &#8212; 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 &#8212; 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&#8217;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&#8217;s power. Don&#8217;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&#8217;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>Markets are like parking lots</title>
		<link>http://richardkmiller.com/290/markets-are-like-parking-lots</link>
		<comments>http://richardkmiller.com/290/markets-are-like-parking-lots#comments</comments>
		<pubDate>Thu, 19 Jul 2007 02:06:17 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Main]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/archives/2007/07/markets-are-like-parking-lots</guid>
		<description><![CDATA[Markets are like parking lots. To get a spot: Get there early, or Park where there&#8217;s less competition (but you&#8217;ll have to walk more), or Find a proprietary advantage that sets you apart and locks out your competitors Parking is &#8230; <a href="http://richardkmiller.com/290/markets-are-like-parking-lots">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-82c1579e169a3e9f46be6fb3517f3c38e1aea6e8'><p>Markets are like parking lots.</p>
<p>To get a spot:</p>
<ul>
<li>Get there early, or</li>
<li>Park where there&#8217;s less competition (but you&#8217;ll have to walk more), or </li>
<li>Find a proprietary advantage that sets you apart and locks out your competitors</li>
</ul>
<p>Parking is good when you&#8217;ve got two wheels &#8212; motorcycle or <a href="http://www.russpage.net/stella-scooter/">scooter</a>. Imagine my excitement in finding a shady spot near the door which had been &#8220;reserved&#8221; by a car that parked over the line, blocking out all my four-wheeled competitors. I left for lunch and came back to a full lot, but my spot was still saved. That&#8217;s good business.</p>
<p><img src='http://www.richardkmiller.com/blog/wp-content/uploads/2007/07/parking_spot_with_motorcycle.jpg' alt='parking_spot_with_motorcycle.jpg' /></p>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/290/markets-are-like-parking-lots/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Amtrak series: Ruby on Rails on Rails</title>
		<link>http://richardkmiller.com/273/amtrak-series-ruby-on-rails-on-rails</link>
		<comments>http://richardkmiller.com/273/amtrak-series-ruby-on-rails-on-rails#comments</comments>
		<pubDate>Thu, 07 Jun 2007 17:00:50 +0000</pubDate>
		<dc:creator>Richard K Miller</dc:creator>
				<category><![CDATA[Amtrak]]></category>
		<category><![CDATA[Business]]></category>
		<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Open source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Tech]]></category>

		<guid isPermaLink="false">http://www.richardkmiller.com/blog/archives/2007/06/amtrak-series-ruby-on-rails-on-rails</guid>
		<description><![CDATA[This will be the most technical of my posts in the Amtrak series, but it&#8217;s not just for computer geeks so stay with me. Here we go. Ruby on Rails is a &#8220;web application framework&#8221;, a way for programmers to &#8230; <a href="http://richardkmiller.com/273/amtrak-series-ruby-on-rails-on-rails">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<div class='microid-25ab5b4d4da0e906b96ef5184bc029a41a0bb498'><p>This will be the most technical of my posts in the Amtrak series, but it&#8217;s not just for computer geeks so stay with me. Here we go.</p>
<p><a href="http://www.rubyonrails.org/">Ruby on Rails</a> is a &#8220;web application framework&#8221;, a way for programmers to make web applications more easily and more quickly (and more enjoyably, as its creators would be quick to point out.) It was created by <a href="http://37signals.com/">37signals</a>, the makers of Basecamp and other fine web apps, and has been one of the fastest growing programming environments of the last couple years. &#8220;Ruby&#8221; is the programming language and &#8220;Rails&#8221; is the set of additions that make it &#8220;fast&#8221; and &#8220;easy,&#8221; like a high-speed train. (Not a <a href="http://www.richardkmiller.com/blog/archives/2007/06/amtrak-series-pictures">sight-seeing Amtrak</a>.)</p>
<p><a href='http://www.richardkmiller.com/blog/wp-content/uploads/2007/06/img_0088.jpg' title='img_0088.jpg' rel='lightbox'><img src='http://www.richardkmiller.com/blog/wp-content/uploads/2007/06/img_0088.thumbnail.jpg' alt='img_0088.jpg' style='float:right; margin:1em;' /></a></p>
<p>You probably see where this is going. As an exercise in literalness, I though it would be interesting to do a little Ruby on Rails programming while on the train, or in other words, Ruby on Rails on Rails. (Mitch Hedberg said &#8220;I&#8217;d like to see a forklift lift a crate of forks. It&#8217;d be so&#8230;literal. &#8216;Hey, you&#8217;re using that machine for its exact purpose!&#8217;&#8221;) See the pictures.</p>
<p>I have not delved into Rails as much as my local colleagues, but with the little I&#8217;ve used it, I&#8217;ve been impressed. By taking away the tedious parts of programming, it really does make programming more enjoyable. I know <a href="http://www.johntaber.com/">several</a> <a href="http://www.griffio.com/">good</a> <a href="http://www.apriux.com/">developers</a> who prefer it.</p>
<p>Ruby on Rails enforces an architecture called &#8220;Model-View-Controller&#8221; (MVC), which is used heavily in Mac applications and well written web applications. Though not built on Rails, <a href="http://wordpress.org/">WordPress</a> also uses an MVC architecture. If you have a WordPress blog, you know you can easily change the theme of your blog. This is thanks to the modular MVC architecture with which it was written.</p>
<p><a href='http://www.richardkmiller.com/blog/wp-content/uploads/2007/06/img_0096.jpg' title='img_0096.jpg' rel='lightbox'><img src='http://www.richardkmiller.com/blog/wp-content/uploads/2007/06/img_0096.thumbnail.jpg' alt='img_0096.jpg' style='float:right; margin:1em;' /></a></p>
<p>Here&#8217;s where this applies to everyone: 37signals hasn&#8217;t only extracted Rails from their best programming practices, they&#8217;ve also extracted a book from their best business practices. I highly recommend <a href="http://gettingreal.37signals.com/">Getting Real</a> by 37signals, availably entirely for free on their <a href="http://gettingreal.37signals.com/toc.php">website</a>. They&#8217;ve <a href="http://www.37signals.com/svn/posts/451-whats-your-cookbook">given away their &#8220;cookbook&#8221;</a> &#8212; what they&#8217;ve learned about marketing, project management, time management, hiring, agility, task prioritization, and more. I finished the book believing that small teams can do great things.</p>
<p style='clear:both;'>
</div>]]></content:encoded>
			<wfw:commentRss>http://richardkmiller.com/273/amtrak-series-ruby-on-rails-on-rails/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

