<?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>Misuse</title>
	<atom:link href="http://www.misuse.org/science/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.misuse.org/science</link>
	<description>It would be a good idea.</description>
	<lastBuildDate>Fri, 08 Jan 2010 18:43:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Read this book: Bicycle Diaries by David Byrne</title>
		<link>http://www.misuse.org/science/2010/01/08/read-this-book-bicycle-diaries-by-david-byrne/</link>
		<comments>http://www.misuse.org/science/2010/01/08/read-this-book-bicycle-diaries-by-david-byrne/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 18:40:19 +0000</pubDate>
		<dc:creator>science</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.misuse.org/science/?p=284</guid>
		<description><![CDATA[
Read this book. All of you. It&#8217;s the most accessible and enlightening expression of a personal philosophy I&#8217;ve ever read, and good words to live by. The more people who read this book, the nicer place we&#8217;ll all live in. A wonder on two wheels. I like D Byrne even more now.
]]></description>
			<content:encoded><![CDATA[<h3><a title="Bicycle Diaries" href="http://www.davidbyrne.com/art/books/bicycle_diaries/" target="_blank"><span><img class="alignnone" title="Bicycle Diaries" src="http://www.davidbyrne.com/art/books/bicycle_diaries/images/cover_photo_100x160px.jpg" alt="" width="100" height="160" /></span></a></h3>
<p>Read this book. All of you. It&#8217;s the most accessible and enlightening expression of a personal philosophy I&#8217;ve ever read, and good words to live by. The more people who read this book, the nicer place we&#8217;ll all live in. A wonder on two wheels. I like D Byrne even more now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misuse.org/science/2010/01/08/read-this-book-bicycle-diaries-by-david-byrne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Defining a good education</title>
		<link>http://www.misuse.org/science/2009/12/07/defining-a-good-education/</link>
		<comments>http://www.misuse.org/science/2009/12/07/defining-a-good-education/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 18:49:10 +0000</pubDate>
		<dc:creator>science</dc:creator>
				<category><![CDATA[Quotations]]></category>

		<guid isPermaLink="false">http://www.misuse.org/science/?p=273</guid>
		<description><![CDATA[Science has been working with the Federal government for the last six months, which has been an education in itself. I ran across the following quote recently which I think is worth sharing. There&#8217;s a lot of talk in DC about a &#8220;high quality education&#8221; but often those comments are ill-informed as to what a [...]]]></description>
			<content:encoded><![CDATA[<p>Science has been working with the Federal government for the last six months, which has been an education in itself. I ran across the following quote recently which I think is worth sharing. There&#8217;s a lot of talk in DC about a &#8220;high quality education&#8221; but often those comments are ill-informed as to what a student looks like after they have gone through such an experience. The following quotation is as good a description as I&#8217;ve seen as to what a quality education can offer:</p>
<p style="text-align: left;">&#8220;At school you are engaged not so much in acquiring knowledge as in making mental efforts under criticism… You go to a great school not so much for knowledge as for arts and habits; for the habit of attention, for the art of expression, for the art of assuming at a moment&#8217;s notice a new intellectual position, for the art of entering quickly into another person&#8217;s thoughts, for the habit of submitting to censure and refutation, for the art of indicating assent or dissent in graduated terms, for the habit of regarding minute points of accuracy, for the art of working out what is possible in a given time, for taste, for discrimination, for mental courage, and for mental soberness.&#8221;</p>
<p>&#8211; William Johnson Cory, 19th Century Headmaster at Eton</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misuse.org/science/2009/12/07/defining-a-good-education/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Speakeasy to Close Unless New Owner Found</title>
		<link>http://www.misuse.org/science/2009/05/14/speakeasy-to-close-unless-new-owner-found/</link>
		<comments>http://www.misuse.org/science/2009/05/14/speakeasy-to-close-unless-new-owner-found/#comments</comments>
		<pubDate>Thu, 14 May 2009 20:40:09 +0000</pubDate>
		<dc:creator>science</dc:creator>
				<category><![CDATA[Tirades]]></category>

		<guid isPermaLink="false">http://www.misuse.org/science/?p=265</guid>
		<description><![CDATA[The Speakeasy in El Cerrito is now facing the same fate as the now closed Parkway. From Kyle and Catherine:

    "As many of you know, Speakeasy Theaters has been experiencing extreme financial difficulty since opening the Cerrito Theater..."]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://www.picturepubpizza.com/images/home/marquees/elcerritotheater-100.jpg" alt="" width="84" height="100" /></p>
<p>The <a href="http://www.picturepubpizza.com/">Speakeasy</a> in El Cerrito is now facing the same fate as the now closed Parkway. From Kyle and Catherine:</p>
<blockquote><p><span style="font-family: Times New Roman,Times,Serif;"><span style="font-size: small;"><strong>&#8220;As many of you know, Speakeasy Theaters has been experiencing extreme financial difficulty since opening the Cerrito Theater.  We learned much from the closing of the Parkway.  Of most importance, we learned that our patrons would have preferred more warning of its impending closure.  The El Cerrito City Council is meeting on Monday, May 18th to discuss the fate of the Cerrito Theater.  Speakeasy Theaters has already agreed to leave as operators and we have offered to locate and train a new operator. </strong></span></span></p>
<p><strong>If any of this is of interest to you, I suggest that you attend the meeting.</strong>&#8220;</p></blockquote>
<p><span style="font-family: Times New Roman,Times,Serif;"><span style="font-size: small;"><br />
</span></span></p>
]]></content:encoded>
			<wfw:commentRss>http://www.misuse.org/science/2009/05/14/speakeasy-to-close-unless-new-owner-found/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Reloading Classes in Rails</title>
		<link>http://www.misuse.org/science/2009/05/08/reloading-classes-in-rails/</link>
		<comments>http://www.misuse.org/science/2009/05/08/reloading-classes-in-rails/#comments</comments>
		<pubDate>Sat, 09 May 2009 00:25:09 +0000</pubDate>
		<dc:creator>science</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.misuse.org/science/?p=262</guid>
		<description><![CDATA[
Sometimes you just read a blog post that&#8217;s so good, there&#8217;s no need to clarify it or anything. I just suggest that you read Witold Rugowski&#8217;s post on how to force classes to reload in development in Rails. At the very least you&#8217;ll learn something about how Rails works:
Reloading plug-ins in development mode
]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-thumbnail wp-image-263" title="red_and_yellow_flower" src="http://www.misuse.org/science/wp-content/uploads/2009/05/red_and_yellow_flowerpreview-150x150.jpg" alt="red_and_yellow_flower" width="150" height="150" /></p>
<p>Sometimes you just read a blog post that&#8217;s so good, there&#8217;s no need to clarify it or anything. I just suggest that you read Witold Rugowski&#8217;s post on how to force classes to reload in development in Rails. At the very least you&#8217;ll learn something about how Rails works:</p>
<p><a href="http://nhw.pl/wp/2009/01/07/reloading-your-plugin-in-development-mode">Reloading plug-ins in development mode</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.misuse.org/science/2009/05/08/reloading-classes-in-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing Ruby Rake on Windows</title>
		<link>http://www.misuse.org/science/2009/03/25/fixing-ruby-rake-on-windows-disable-terminate-batch-job-yn-message/</link>
		<comments>http://www.misuse.org/science/2009/03/25/fixing-ruby-rake-on-windows-disable-terminate-batch-job-yn-message/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 19:25:46 +0000</pubDate>
		<dc:creator>science</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.misuse.org/science/?p=250</guid>
		<description><![CDATA[
I found a nice article recently which lets you remove the batch files from Ruby when running on Windows, so you don&#8217;t get those annoying, redundant cmd messages &#8220;Terminate Batch Job (y/n)&#8221; whenever you press ctrl-c within Ruby. My version (1.8.6) exits cleanly now &#8211; thanks Ruby Rambler!
http://rubyrambler.blogspot.com/2007/10/terminate-batch-job-yn-y.html
My specific steps for fixing Rake are:

rename &#8220;rake.bat&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-thumbnail wp-image-249" title="slash circle" src="http://www.misuse.org/science/wp-content/uploads/2009/03/slashcircle-150x150.png" alt="slash circle" width="75" height="75" /><br />
I found a nice article recently which lets you remove the batch files from Ruby when running on Windows, so you don&#8217;t get those annoying, redundant cmd messages &#8220;Terminate Batch Job (y/n)&#8221; whenever you press ctrl-c within Ruby. My version (1.8.6) exits cleanly now &#8211; thanks Ruby Rambler!</p>
<p><a href="http://rubyrambler.blogspot.com/2007/10/terminate-batch-job-yn-y.html" target="_blank">http://rubyrambler.blogspot.com/2007/10/terminate-batch-job-yn-y.html</a></p>
<p>My specific steps for fixing Rake are:</p>
<ol>
<li>rename &#8220;rake.bat&#8221; to &#8220;rake.bat.orig&#8221; (or whatever)</li>
<li>rename &#8220;rake&#8221; to &#8220;rake.rb&#8221;</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.misuse.org/science/2009/03/25/fixing-ruby-rake-on-windows-disable-terminate-batch-job-yn-message/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Continuous Testing and Testing Single Methods in Ruby on Rails</title>
		<link>http://www.misuse.org/science/2009/03/25/continuous-testing-and-testing-single-methods-in-ruby-on-rails/</link>
		<comments>http://www.misuse.org/science/2009/03/25/continuous-testing-and-testing-single-methods-in-ruby-on-rails/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 18:39:48 +0000</pubDate>
		<dc:creator>science</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.misuse.org/science/?p=232</guid>
		<description><![CDATA[
Testing in Rails is crucial to effective development. Many people have opted for rspec over Test::Unit for this, but I find that Test::Unit meets all my needs. It&#8217;s simple and reliable, which is all I want in a test framework.
I do want two pretty simple features for Rails tests though. I want to manually run [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.misuse.org/science/2009/03/25/continuous-testing-and-testing-single-methods-in-ruby-on-rails/#more-232" target="_self"><img class="alignnone size-full wp-image-243" title="Under a Microscope" src="http://www.misuse.org/science/wp-content/uploads/2009/03/microscope.jpg" alt="Under a Microscope" width="110" height="110" /></a><br />
Testing in Rails is crucial to effective development. Many people have opted for rspec over Test::Unit for this, but I find that Test::Unit meets all my needs. It&#8217;s simple and reliable, which is all I want in a test framework.</p>
<p>I do want two pretty simple features for Rails tests though. I want to manually run a single test easily, and sometimes even just run a single method inside a test. I also want to automatically re-run a test, whenever that test file is edited.</p>
<p>I&#8217;ve written some rake tasks to accomplish these basic activities &#8211; hopefully you&#8217;ll find them as useful as I do.<br />
<span id="more-232"></span><br />
There are some projects out there that permit continuous integration but I wrote my own a while back and was recently tuning it up, so I thought I&#8217;d publish what I&#8217;ve got. I&#8217;ve also got a solution for testing a single file or testing a single method inside a file easily.</p>
<p><strong>Installation</strong><br />
Basically take the code below and paste it into your AppTasks.rake file under &#8220;lib/tasks&#8221; in your Rails application folder.</p>
<p><strong>Usage</strong><br />
You get two rake tasks:</p>
<pre><code>rake app:test:file</code></pre>
<pre><code>rake app:test:monitor</code></pre>
<p>To test a single file type this in on the console while in your Rails app folder structure (&#8220;sample_test&#8221; is the name of the test you want to run):</p>
<pre><code>rake app:test:file file=sample_test</code></pre>
<p>If you want to run multiple tests, do this:</p>
<pre><code>rake app:test:file file=sample_test,other_test,third_test,etc_test</code></pre>
<p>If you don&#8217;t want to type out the full name of the test, and just type out enough to distinguish it from tests you don&#8217;t want to run. In this example we will run all tests whose filenames match the pattern &#8220;sample&#8221;</p>
<pre><code>rake app:test:file file=sample</code></pre>
<p>If you want to run a specific method inside a test, do this:</p>
<pre><code>rake app:test:file file=sample name=method_to_test</code></pre>
<p>Finally, if you want to use the test monitor, run this command:</p>
<pre><code>rake app:test:monitor</code></pre>
<p>The test monitor will boot up and continuously monitor your test folder for file changes. When it detects a change in your tests, it will re-run the test which was modified. Nothing fancy but it works for the Scientific Method. Feedback welcome!</p>
<p><strong>Below is the code you need to paste into AppTasks.rake (or any Rails rake file)</strong></p>
<pre><code>namespace :app do
  namespace :test do
    # accepts ARGV[1] as parameter for test file patterns. Format:
    # ARGV[1] = "file=[pattern]" (pattern can be a comma list of multiple files)
    # ARGV[2] = "name=[method]"  name of method to run in test file
    desc "Run a single test without preparing database first. Smart about finding the test file.\n  Syntax: rake app:test file=[basename] where basename matches (globbed) test(s).\n  Will accept multiple comma delimted file patterns. "
    task :file do
      STDOUT.sync = true
      if ARGV[1] &amp;&amp; ARGV[1].match(%r{^file=})
        # take the first parameter and grab everything right of '=' sign, ignore _test.rb if it exists in parameter
        file_patterns = ARGV[1].match(%r{file=(.*)})[1]
      end
      # get name of method to run (if any)
      if !ARGV[2].blank?
        test_method = ARGV[2].match(%r{name=(.*)})[1]
      end
      if !file_patterns.blank?
        test_files = file_patterns.split(',')
        search_files = Array.new
        test_files.each do |file_pattern|
          if file_pattern.match(%r{_test.rb$|_test$}i)
            file_pattern.gsub!(%r{_test$}i, '_test.rb')
            search_files &lt;&lt; "test/**/#{file_pattern}"
          else
            search_files &lt;&lt; "test/**/*#{file_pattern}*_test.rb"
          end
        end # test_files.each do |test_file_pattern|
        filelist = FileList[*search_files]
        puts "Testing #{filelist.inspect}"
        filelist.each do |test_file|
          cmd = "ruby #{test_file} "
          cmd += "--name #{test_method}" if !test_method.blank?
          # run the test
          system(cmd)
        end
      end # if !file_patterns.blank?
    end # :file

    desc "Monitor files for changes and run a single test when a change is detected"
    task :monitor do
      keep_running = true
      while keep_running do
        # Loop until interrupted by ctrl-c
        trap("INT") { puts "\nExiting"; keep_running = false; }
        test_list = FileList['test/**/*_test.rb']
        orig_dates = {}
        test_list.each do |file|
          orig_dates[file] = File.stat(file).mtime
          sleep 0.05
        end
        # loop through test_list looking for date changes
        test_file = ""
        keep_searching = true
        while keep_searching &amp;&amp; keep_running do
          print "\r**** Waiting for test file changes. (#{Time::now.strftime('%b %d %I:%M:%S %p')}), ctrl-c exits"
          Kernel::sleep(0.3) # wait 3/10 second between searches for changed files
          test_list.each do |file|
            Kernel::sleep(0.05) # keep the cpu from maxing out
            if orig_dates[file] != File.stat(file).mtime
              puts "\n  File change detected: #{file}"
              puts "  Time is: #{Time::now}"
              keep_searching = false
              test_file = file
            end
          end
          if !test_file.blank? &amp;&amp; keep_running
            # invoke the test b/c the file has changed
            puts "Running test suite..."
            system("ruby #{test_file}")
          end
        end # while keep_searching... -- change detection loop
      end # while keep_running do -- main loop
    end # task :monitor
  end # :test
end # :app
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://www.misuse.org/science/2009/03/25/continuous-testing-and-testing-single-methods-in-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Science</title>
		<link>http://www.misuse.org/science/2009/03/06/science/</link>
		<comments>http://www.misuse.org/science/2009/03/06/science/#comments</comments>
		<pubDate>Fri, 06 Mar 2009 18:02:47 +0000</pubDate>
		<dc:creator>science</dc:creator>
				<category><![CDATA[Quotations]]></category>

		<guid isPermaLink="false">http://www.misuse.org/science/?p=226</guid>
		<description><![CDATA[
Science is simply the process of approximating observed complexity.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.misuse.org/science/wp-content/uploads/2009/03/accelerator.jpg"><img class="alignnone size-thumbnail wp-image-227" title="accelerator" src="http://www.misuse.org/science/wp-content/uploads/2009/03/accelerator-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Science is simply the process of approximating observed complexity.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misuse.org/science/2009/03/06/science/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>China: The New Sleeping Giant</title>
		<link>http://www.misuse.org/science/2009/02/24/china-the-new-sleeping-giant/</link>
		<comments>http://www.misuse.org/science/2009/02/24/china-the-new-sleeping-giant/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 16:48:56 +0000</pubDate>
		<dc:creator>science</dc:creator>
				<category><![CDATA[Science News]]></category>

		<guid isPermaLink="false">http://www.misuse.org/science/?p=212</guid>
		<description><![CDATA[
These data just in from Netcraft, Chinese site qq.com goes from 3 sites to the third largest webserver provider in a month simply by enabling blogging for its users. Bigger than Goggle&#8217;s blogger, bigger than Microsoft&#8217;s Live Spaces and bigger than MySpace. In a month.



Developer
January 2009
Percent
February 2009
Percent
Change


Apache
96,947,298
52.26%
104,796,820
48.59%
-3.67


Microsoft
61,038,371
32.91%
62,935,449
29.18%
-3.72


qq.com
3
0.00%
20,021,763
9.28%
9.28


Google
9,868,819
5.32%
8,157,546
3.78%
-1.54


nginx
3,462,551
1.87%
3,447,596
1.60%
-0.27



Source: Netcraft Web Survey Survery Feb 2009

This is a [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.misuse.org/science/wp-content/uploads/2009/02/bullet_image.jpg"><img class="alignnone size-thumbnail wp-image-217" title="bullet" src="http://www.misuse.org/science/wp-content/uploads/2009/02/bullet_image.jpg" alt="" /></a></p>
<p>These data just in from <a href="http://www.netcraft.com">Netcraft</a>, Chinese site qq.com goes from 3 sites to the third largest webserver provider in a month simply by enabling blogging for its users. Bigger than Goggle&#8217;s blogger, bigger than Microsoft&#8217;s Live Spaces and bigger than MySpace. In a month.</p>
<table border="0">
<tbody>
<tr>
<th>Developer</th>
<th>January 2009</th>
<th>Percent</th>
<th>February 2009</th>
<th>Percent</th>
<th>Change</th>
</tr>
<tr>
<td>Apache</td>
<td>96,947,298</td>
<td>52.26%</td>
<td>104,796,820</td>
<td>48.59%</td>
<td>-3.67</td>
</tr>
<tr>
<td>Microsoft</td>
<td>61,038,371</td>
<td>32.91%</td>
<td>62,935,449</td>
<td>29.18%</td>
<td>-3.72</td>
</tr>
<tr>
<td>qq.com</td>
<td>3</td>
<td>0.00%</td>
<td>20,021,763</td>
<td>9.28%</td>
<td>9.28</td>
</tr>
<tr>
<td>Google</td>
<td>9,868,819</td>
<td>5.32%</td>
<td>8,157,546</td>
<td>3.78%</td>
<td>-1.54</td>
</tr>
<tr>
<td>nginx</td>
<td>3,462,551</td>
<td>1.87%</td>
<td>3,447,596</td>
<td>1.60%</td>
<td>-0.27</td>
</tr>
</tbody>
</table>
<p><em>Source: <a href="http://news.netcraft.com/archives/2009/02/18/february_2009_web_server_survey.html">Netcraft Web Survey Survery Feb 2009</a></em><br />
<span id="more-212"></span><br />
This is a great example of what will happen more broadly when hundreds of millions of rural Chinese farmers start finding more economic opportunities. Poverty isn&#8217;t such a great thing, but rural farming poverty has the potential to insulate you from the forces of <a href="http://cluborlov.blogspot.com/2008/02/five-stages-of-collapse.html">economic collapse</a>. And the chances of these hundreds of millions of Chinese actually precipitating a real global economic collapse is worrying. Quite a dilemma: hundreds of millions stuck in poverty vs the attempt to liberate them causing wide spread global economic failure (not to mention the carbon footprint). Then again maybe global economic collapse is just what we need right now to prevent a <a href="http://www.ucsusa.org/global_warming/science_and_impacts/science/global-warming-faq.html">global environmental collapse</a>. Either scenario seems to imply that I&#8217;d better learn more about living with a lower standard of life. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.misuse.org/science/2009/02/24/china-the-new-sleeping-giant/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Real time Bart schedules for your cell phone</title>
		<link>http://www.misuse.org/science/2008/12/18/real-time-bart-schedules-for-your-cell-phone/</link>
		<comments>http://www.misuse.org/science/2008/12/18/real-time-bart-schedules-for-your-cell-phone/#comments</comments>
		<pubDate>Fri, 19 Dec 2008 01:18:55 +0000</pubDate>
		<dc:creator>science</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.misuse.org/science/?p=205</guid>
		<description><![CDATA[
Science knocked out a little Bart train application a couple of nights ago for your pleasure. Bart, for those foreigners, is the inter-city train system which services San Francisco and the surrounding areas.
The application provides you with real time arrival data for any station in the Bart system. It returns data in a format suitable [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.misuse.org/science/2008/12/18/real-time-bart-schedules-for-your-cell-phone/"><img class="alignnone size-thumbnail wp-image-206" title="train" src="http://www.misuse.org/science/wp-content/uploads/2008/12/train.jpg" alt="" width="360" height="109" /></a></p>
<p>Science knocked out a little Bart train application a couple of nights ago for your pleasure. Bart, for those foreigners, is the inter-city train system which services San Francisco and the surrounding areas.</p>
<p>The application provides you with real time arrival data for any station in the Bart system. It returns data in a format suitable for reading on most web-enabled cell phones.</p>
<p>To use this new application, simply point your phone (or computer) web browser to:</p>
<p><a title="Bart arrival times" href="http://www.misuse.org/transit/bart/stations" target="_blank">http://www.misuse.org/transit/bart/stations</a></p>
<p><span id="more-205"></span>A default set of stations is given. You can remove or re-order the stations listed. You can also add new stations to your list, from the links at the bottom of the page. Bookmark the final page when you&#8217;re done creating your list &#8211; and now you can see when the trains are coming for any station you frequent!</p>
<p>Technically the application consumes the <a href="http://www.bart.gov/schedules/developers/etas.aspx" target="_blank">public XML feed</a> from Bart.gov, which provides real-time arrival data for all Bart stations. Unlike most of the bureaucracy at Bart, the web dev guys seem totally on top of things.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misuse.org/science/2008/12/18/real-time-bart-schedules-for-your-cell-phone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>MapQuest&#8217;s New API: MQ loses its mind?</title>
		<link>http://www.misuse.org/science/2008/12/17/mapquests-new-api-mq-loses-its-mind/</link>
		<comments>http://www.misuse.org/science/2008/12/17/mapquests-new-api-mq-loses-its-mind/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 05:51:36 +0000</pubDate>
		<dc:creator>science</dc:creator>
				<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://www.misuse.org/science/?p=184</guid>
		<description><![CDATA[
Readers may be familiar with this site&#8217;s GeoX application, which integrates Yahoo, Google, and until the end of January, MapQuest. At that time, MapQuest is switching over to an alternative API system and decommissioning their old api. This seems to be getting a lot of good blog press, but Science is skeptical by nature. As [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.misuse.org/science/2008/12/17/mapquests-new-api-mq-loses-its-mind/"><img class="alignnone size-thumbnail wp-image-190" title="wtf" src="http://www.misuse.org/science/wp-content/uploads/2008/12/wtf1-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>Readers may be familiar with this site&#8217;s GeoX application, which integrates Yahoo, Google, and until the end of January, MapQuest. At that time, MapQuest is switching over to an alternative API system and decommissioning their old api. This seems to be getting a lot of good blog press, but Science is skeptical by nature. As we&#8217;ll see, not everything is as it appears.</p>
<p><span id="more-184"></span>For starters, read MapQuest&#8217;s <a href="http://developer.mapquest.com/Home/TermsAndConditions" target="_blank">new terms of service</a> before you get too excited about this new &#8220;upgrade.&#8221; MQ can charge you a fee at any time for any reason (section 2.2). Some bloggers are reporting that usage is unlimited. The truth is that the usage can be unlimited or they can turn it off or throttle it with no notice (section 2.4.a) (Yahoo and Google are a bit more up front about the limits on geocoding). These issues alone aren&#8217;t all that much worse than what you get with either Y! or Goog.</p>
<p>Digging a little deeper I can’t even find any support for a generic RESTful API that I can use programatically. They seem to only support their custom libraries in C/AS3/.NET/JS. Of course these can be reversed engineered but that’s not the point: Does MQ not want *everyone* to use their service? Do they want to control the libraries we are using? At the moment it looks that way.</p>
<p>When I wrote to MapQuest asking for clarification, they responded with a link to an &#8220;Enterprise&#8221; XML/HTTP API, which I couldn&#8217;t find via searching. It&#8217;s also not clear if this API suite is available for free. Finally, this API suite sucks &#8211; it doesn&#8217;t make it any easier for the average Joe to connect to MapQuest and pull down a lat/long geocode. Goog, Y! and the old MQ all make it dog simple to get in and get out of their API. This new MQ API requires including a bunch of MQ custom libraries in order to accomplish anything.</p>
<p>If we dig into their developer&#8217;s terms of service, we can see that this does appear to be what they&#8217;re intending.</p>
<p>MQ says that you can&#8217;t use their geocoding product to generate geocodes that are stored on your own servers. Section 3 prohibits using &#8220;<span id="13_17828_1.2" class="journal-content-article"><span style="font-size: 8pt; font-family: Verdana;">unencrypted coordinate data provided by MapQuest for any purpose.&#8221; Also prohibited in Section 3: &#8220;</span></span><span id="13_17828_1.2" class="journal-content-article"><span style="font-size: 8pt; font-family: Symbol;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;"><span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 8pt; font-family: Verdana;">record, save, archive, store, create a database of or otherwise copy in any manner any map and/or directions.&#8221;</span></span></p>
<p><span id="13_17828_1.2" class="journal-content-article"><span style="font-size: 8pt; font-family: Symbol;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;"><span style="font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal; font-family: &quot;Times New Roman&quot;;"> </span></span></span><span style="font-size: 8pt; font-family: Verdana;">It gets better. Section 3 further restricts us from being able to &#8220;grant the right to or permit (in the event that You acquire the knowledge) any third party to include or integrate into any World Wide Web page any hypertext link to Your site for the primary purpose of retrieving Functionality.&#8221; This restriction appears to prevent the development of any third party backend tool whatsoever that doesn&#8217;t use their custom libraries.<br />
</span></span></p>
<p>Summing up:</p>
<ul>
<li>No saving data</li>
<li>No transmitting data</li>
<li>No integrating data with &#8220;hypertext links&#8221;</li>
</ul>
<p>This seems ridiculous. Someone talk me off the ledge. It reminds of the 90&#8217;s when mapping data was proprietary and we had to pay to get access to it. It seems like MQ is trying to build a walled garden where you can play all you want on the inside, but you can&#8217;t connect it to anything on the outside. Oh wait, didn&#8217;t they get bought by AOL in 2000? In that case, I can only wonder why they didn&#8217;t do this sooner. I guess it took the suits this long to break down the doors.</p>
<p>Bye bye MapQuest. Good luck with this new strategy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.misuse.org/science/2008/12/17/mapquests-new-api-mq-loses-its-mind/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
