<?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>[kumo.it] &#187; development</title>
	<atom:link href="http://www.kumo.it/articles/tag/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.kumo.it</link>
	<description></description>
	<lastBuildDate>Wed, 24 Aug 2011 21:38:43 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>Times Tables 1.1 upgrade</title>
		<link>http://www.kumo.it/articles/2008/12/21/times-tables-11/</link>
		<comments>http://www.kumo.it/articles/2008/12/21/times-tables-11/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 23:02:51 +0000</pubDate>
		<dc:creator>kumo</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[multiplication tables]]></category>
		<category><![CDATA[quiz]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[times tables]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://www.kumo.it/articles/2008/12/21/times-tables-11/</guid>
		<description><![CDATA[A new version of Times Tables for the iPhone/iPod Touch has been submitted and approved by the app store. This release focuses on improving the results shown at the end of each quiz. The main changes are: the questions are now individually marked with a star given for each answer that is correctly given on [...]]]></description>
			<content:encoded><![CDATA[<p>A new version of <a href="http://itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=294523707&#038;mt=8">Times Tables</a> for the iPhone/iPod Touch has been submitted and approved by the app store. This release focuses on improving the results shown at the end of each quiz. The main changes are: the <a href='http://092.me'>question</a>s are now individually marked with a star given for each <a href='http://092.me'>answer</a> that is correctly given on the first attempt and a star is given to the times tables (or multiplication tables) that are correctly <a href='http://092.me'>answer</a>ed.</p>
<p>This marks the start of my efforts to improve the results view. If you have any comments or suggestions please write to me or instead use <a href="http://getsatisfaction.com/kumo/products/kumo_times_tables">getsatisfaction.com</a> to share ideas and raise issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kumo.it/articles/2008/12/21/times-tables-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone apps</title>
		<link>http://www.kumo.it/articles/2008/12/03/iphone-apps/</link>
		<comments>http://www.kumo.it/articles/2008/12/03/iphone-apps/#comments</comments>
		<pubDate>Wed, 03 Dec 2008 21:12:27 +0000</pubDate>
		<dc:creator>kumo</dc:creator>
				<category><![CDATA[iPhone]]></category>
		<category><![CDATA[development]]></category>

		<guid isPermaLink="false">http://www.kumo.it/?p=89</guid>
		<description><![CDATA[I have released a couple of iPhone/iPod Touch apps recently but have yet to create a space for them on this website. It has been an interesting experience developing for the platform even if I haven&#8217;t quite go my head around Objective-C. It certainly isn&#8217;t the same as programming for BeOS or Ruby on Rails [...]]]></description>
			<content:encoded><![CDATA[<p>I have released a couple of iPhone/iPod Touch apps recently but have yet to create a space for them on this website. It has been an interesting experience developing for the platform even if I haven&#8217;t quite go my head around Objective-C. It certainly isn&#8217;t the same as programming for BeOS or Ruby on Rails (or C# &#038; .net) but it is a decent language.</p>
<p>If anyone has any suggestions then please feel free to contact me at <a href="mailto:kumo@kumo.it">kumo@kumo.it</a> with any ideas. Also I am looking for translations for my <a href="http://ax.itunes.apple.com/WebObjects/MZStore.woa/wa/viewSoftware?id=291773125&#038;mt=8">Roman Numerals</a> application (external link to itunes) so if anyone would like to help out I would be most grateful. I have Italian, Korean, and Chinese (Traditional and Simplified) so far.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kumo.it/articles/2008/12/03/iphone-apps/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>acts_as_confirmable rails plugin</title>
		<link>http://www.kumo.it/articles/2008/06/11/acts_as_confirmable-plugin/</link>
		<comments>http://www.kumo.it/articles/2008/06/11/acts_as_confirmable-plugin/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 08:54:37 +0000</pubDate>
		<dc:creator>kumo</dc:creator>
				<category><![CDATA[rails]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.kumo.it/?p=83</guid>
		<description><![CDATA[acts_as_confirmable is a Ruby on Rails plugin that is useful when you want to know who ticked a check box and when they did so. It can be found at http://github.com/kumo/acts_as_confirmable/tree/master. This plugin treats a datetime attribute and an integer attribute as a boolean. This boolean can then be used as normal attribute in a [...]]]></description>
			<content:encoded><![CDATA[<p><em>acts_as_confirmable</em> is a Ruby on Rails plugin that is useful when you want to know who ticked a check box and when they did so. It can be found at <a href="http://github.com/kumo/acts_as_confirmable/tree/master">http://github.com/kumo/acts_as_confirmable/tree/master</a>.</p>
<p>This plugin treats a datetime attribute and an integer attribute as a boolean. This boolean can then be used as normal attribute in a check box (or in any part of the program) and when it is checked, the datetime records the moment and the integer records the id of the current user.</p>
<p><em>It is assumed that there is a Users table and that the current user can be found at User.current_user. If the current user cannot be accessed then 1 is used as the id.</em></p>
<p>h3. Installation</p>
<pre lang="bash">
$ cd vendor/plugins
$ git checkout git://github.com/kumo/acts_as_confirmable/tree
</pre>
<p>h3. Usage</p>
<p>* On models where you want to be able to confirm X add a X_confirmed_at datetime and X_confirmed_by integer.<br />
* In the model put acts_as_confirmed :X<br />
* In the views add check boxes (check_box :X)</p>
<p>h3. Example</p>
<p>h4. create a new rails app</p>
<pre lang="bash">
$ rails confirm
$ cd confirm
</pre>
<p>h4. create users table and items table with 3 confirmable fields</p>
<pre lang="bash">
$ script/generate scaffold user name:string
$ script/generate scaffold item name:string \
      started_confirmed_by:integer started_confirmed_at:datetime \
      finished_confirmed_by:integer finished_confirmed_at:datetime \
      ready_confirmed_by:integer ready_confirmed_at:datetime
</pre>
<p>h4. add the plugin to the model</p>
<pre lang="Rails">
class Item < ActiveRecord::Base
  acts_as_confirmable :started, :finished, :ready
end
</pre>
<p>h4. add 3 check boxes in items/new.html.erb and items/edit.html.erb</p>
<pre lang="Rails">


  <%= f.label :started %>
  <%= f.check_box :started %>



  <%= f.label :finished %>
  <%= f.check_box :finished %>



  <%= f.label :ready %>
  <%= f.check_box :ready %>

</pre>
<p>h4. show the confirmation info in items/list.html.erb</p>
<pre lang="Rails">
<td>
  <%=h item.started? %>
  <%=h item.finished_confirmer.name if @item.finished? -%>
</td>
</pre>
<p>h4. example of assigning a user to current_user</p>
<pre lang="Rails">
class User < ActiveRecord::Base
  cattr_accessor :current_user
end

class ItemsController < ApplicationController
  before_filter :load_user

  def load_user
    User.current_user = User.find(:first)
  end
end
</pre>
<p>h3. Available fields</p>
<p>If a model has the attributes fields started_confirmed_at and started_confirmed_by, then the plugin provides:</p>
<p>*
<pre>started?</pre>
<p> -- true if it has been confirmed by someone on a specific date<br />
*
<pre>started</pre>
<p> -- same as above but is normally used by a check box tag<br />
*
<pre>started=</pre>
<p> -- the assignment method that is used by the check box when posting<br />
*
<pre>started_confirmer</pre>
<p> -- the user that confirmed it<br />
*
<pre>started_at</pre>
<p> -- when it was confirmed</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kumo.it/articles/2008/06/11/acts_as_confirmable-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Designing a quiz with plain text user stories</title>
		<link>http://www.kumo.it/articles/2008/04/01/designing-a-quiz-with-user-stories/</link>
		<comments>http://www.kumo.it/articles/2008/04/01/designing-a-quiz-with-user-stories/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 22:23:54 +0000</pubDate>
		<dc:creator>kumo</dc:creator>
				<category><![CDATA[notes]]></category>
		<category><![CDATA[quiz]]></category>
		<category><![CDATA[RSpec]]></category>
		<category><![CDATA[Stories]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.kumo.it/?p=78</guid>
		<description><![CDATA[Over the next couple of posts I thought that I would like to discuss the redevelopment of my hiragana and katakana quiz software. This software originally started out as a command-line Perl script, became a PHP web script, before turning into a Ruby on Rails web application. Unfortunately, although the development language changed and possibilities [...]]]></description>
			<content:encoded><![CDATA[<p>Over the next couple of posts I thought that I would like to discuss the redevelopment of my hiragana and katakana quiz software. This software originally started out as a command-line Perl script, became a PHP web script, before turning into a Ruby on Rails web application. Unfortunately, although the development language changed and possibilities increased, the overall functionality remained very much trapped in the original design. As I have started in other posts, I have plans for my quiz software, but it remains rather static, so perhaps it would be a good idea to talk about user stories as a way of providing clarity and focus.</p>
<p>I tend to prefer to use development tools that simplify the tasks that I have come to find routine, but perhaps more importantly provide me with a fresh and powerful way of looking at new problems that I need to solve. The latest tool to find me is &#8220;user stories&#8221;:http://rspec.info/documentation/stories.html with &#8220;RSpec&#8221;:http://rspec.info. Now, I must say that I was already using RSpec to &#8216;test&#8217; other Ruby on Rails applications and I think that everyone should try and play around with it for a bit, but user stories &#8212; in particular the plain-text flavour of them &#8212; are what currently occupy my notebook scribbles.</p>
<p>Let me show a somewhat simplistic and incomplete example of a user story:</p>
<pre lang="Story">
Story: starting a quiz
  As a visitor
  I want to start a quiz
  So that I can hopefully learn something

  Scenario: quiz doesn't exist
    Given a quiz named hiragana
    When I start another quiz
    Then I should see the 404 error page
    And I should see a link to the list of quizes

  Scenario: quiz does exist
    Given a quiz named hiragana
    When I start the quiz
    Then I should see the quiz
    And I should see a <a href='http://092.me'>question</a>
</pre>
<p>We have a story with two scenarios: when the quiz exists and when the quiz doesn&#8217;t exist. It is not very interesting, but at least we know that the user should see an error page if they try and start a quiz that doesn&#8217;t exist, and that they should also see a list of quizes that are available instead. If the quiz does exist then they should see a <a href='http://092.me'>question</a>.</p>
<p>This might be useful if we want to ensure that the 404 page is shown when the requested quiz doesn&#8217;t exist, but it is not very satisfactory to write down and seems a bit pointless. It also doesn&#8217;t help us understand what happens when a user starts a quiz.</p>
<p>One of the main thing that I like about plain text user stories is that I can easily scribble them down on a piece of paper. I can focus on describing my goals without worrying about the implementation details and afterwards even use this &#8220;pseudotestcode&#8221; directly. The plain text user story also is <a href='http://092.me'>nice</a>ly separated from the implementation code that is needed to make it work and because of this, it is easy to fit an understandable and detailed story in a manageable page or two.</p>
<p>I think I will use the following story in my quiz redevelopment and next time I will discuss other stories, and also how to test these stories.</p>
<pre lang="Story">
Story: starting a quiz
  As a visitor
  I want to start a quiz
  So that I can hopefully learn something

  Scenario: quiz doesn't exist
    Given a quiz named hiragana
    And a quiz named katakana
    When I start another quiz
    Then I should see the 404 error page
    And I should see a list of quizes
    And the list of quizes should have 2 items

  Scenario: default configuration
    Given a quiz named hiragana
    When I start the quiz
    Then I should see the quiz
    And I should see a <a href='http://092.me'>question</a>
    And I should see the text "Question 1 of 5"
    And there should be 3 textboxes

  Scenario: 10 <a href='http://092.me'>question</a>s
    Given a quiz named hiragana
    And the quiz has been configured for 10 <a href='http://092.me'>question</a>s
    When I start the quiz
    Then I should see the quiz
    And I should see "Question 1 of 10"

  Scenario: 5 hiragana per <a href='http://092.me'>question</a>
    Given a quiz named hiragana
    And the quiz has been configured for 5 hiragana
    When I start the quiz
    Then I should see the quiz
    And there should be 5 textboxes
</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.kumo.it/articles/2008/04/01/designing-a-quiz-with-user-stories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The perils in trusting syntax highlighting</title>
		<link>http://www.kumo.it/articles/2008/02/14/the-perils-in-trusting-syntax-highlighting/</link>
		<comments>http://www.kumo.it/articles/2008/02/14/the-perils-in-trusting-syntax-highlighting/#comments</comments>
		<pubDate>Thu, 14 Feb 2008 10:45:42 +0000</pubDate>
		<dc:creator>kumo</dc:creator>
				<category><![CDATA[notes]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[RSpec]]></category>
		<category><![CDATA[Stories]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[testing]]></category>

		<guid isPermaLink="false">http://www.kumo.it/articles/2008/02/14/the-perils-in-trusting-syntax-highlighting/</guid>
		<description><![CDATA[Today after upgrading RSpec I ran a user story that I had just written and received a wonderful error: You have a nil object when you didn't expect it! (NoMethodError). The error occurred while evaluating nil.add_scenario. I didn&#8217;t even think to check my user story because the syntax highlighting looked fine and it made sense [...]]]></description>
			<content:encoded><![CDATA[<p>Today after upgrading <a href="http://rspec.info">RSpec</a> I ran a <a href="http://rspec.info/documentation/stories.html">user story</a> that I had just written and received a wonderful error: <code>You have a nil object when you didn't expect it! (NoMethodError). The error occurred while evaluating nil.add_scenario</code>. I didn&#8217;t even think to check my user story because the syntax highlighting looked fine and it made sense to me:</p>
<pre lang="Story">
  Scenario: areas have different types
    As an administrator
    I want to assign different types to the areas
    So that I can structure the home page

    Scenario: footer shows page links
      Given an area
      And area has 5 pages
      And area is of type footer
      When I view the home page
      Then I should see the home page
      And I should see the footer section
      And the list section should contain 0 areas
      And the footer section should contain 5 links
</pre>
<p>Of course, if I actually bothered to read it properly then I would have seen that the first line should have read:</p>
<pre lang="Story">
  Story: areas have different types
</pre>
<p>Moral of the story: even if the code that you have to write is small, always assume that you are capable of making silly mistakes!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kumo.it/articles/2008/02/14/the-perils-in-trusting-syntax-highlighting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quiz poll results for December</title>
		<link>http://www.kumo.it/articles/2007/12/02/quiz-poll-results-for-december/</link>
		<comments>http://www.kumo.it/articles/2007/12/02/quiz-poll-results-for-december/#comments</comments>
		<pubDate>Sun, 02 Dec 2007 09:15:29 +0000</pubDate>
		<dc:creator>kumo</dc:creator>
				<category><![CDATA[quiz]]></category>
		<category><![CDATA[Site]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[discussion]]></category>
		<category><![CDATA[hiragana]]></category>
		<category><![CDATA[katakana]]></category>
		<category><![CDATA[results]]></category>
		<category><![CDATA[survey]]></category>

		<guid isPermaLink="false">http://www.kumo.it/articles/2007/12/02/quiz-poll-results-for-december/</guid>
		<description><![CDATA[I think it is now time to discuss the quiz poll results. Thank you everyone who spent some time voting and especially those that left comments. The current results can be seen in the graph below...
]]></description>
			<content:encoded><![CDATA[<p>I think it is now time to discuss the quiz poll results. Thank you everyone who spent some time voting and especially those that left comments. The current results can be seen in the graph below:</p>
<p><a href='http://www.kumo.it/wp-content/uploads/2007/12/quiz-results.png' title='Quiz poll results for December'><img src='http://www.kumo.it/wp-content/uploads/2007/12/quiz-results.png' alt='Quiz poll results for December' /></a></p>
<p>The comments that I received were as follows:</p>
<ul>
<li>&#8230;should show results at end of quiz&#8230;</li>
<li>&#8230;ask real words&#8230;</li>
<li>&#8230;optional real words&#8230;</li>
<li>&#8230;keyboard shortcuts&#8230;</li>
<li>&#8230;show correct <a href='http://092.me'>answer</a>s at end of quiz&#8230;</li>
</ul>
<p>Some notes from the graph and comments:</p>
<ul>
<li>more than half of you requested that you be tested with real words;</li>
<li>repetitive <a href='http://092.me'>question</a>s appears to be a problem;</li>
<li>an equal number of you wanted to be able to check your progress and also have the <a href='http://092.me'>question</a>s adapting automatically to your progress.</li>
</ul>
<p><strong>Real words</strong> I believe have been requested by people that have already learnt quite a bit of the hiragana or katakana and now want to be tested on words that are actually useful. When I try to learn things I tend to focus on one group at a time so I think it would be difficult to find a list of words that only contain ka, ki, ku, ke, ko for example.</p>
<p><strong>Repetitive <a href='http://092.me'>question</a>s</strong> could either be the result of selecting too few character groups so that the <a href='http://092.me'>question</a>s are always formed from the same 10 characters, or instead the same characters are shown regardless of how many character groups are selected.</p>
<p><strong>Progress tracking</strong> and <strong>automatically adapting <a href='http://092.me'>question</a>s</strong> can allow the software to automatically suggest which groups/characters need testing and when. However, if the on-screen results are not clear then there is the risk that the users are not aware of their progress and perhaps even the mistakes they have made and need to concentrate on.</p>
<p>I will post on this again later, but if people do have any more comments or want to open up a discussion then please use the comment form below.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.kumo.it/articles/2007/12/02/quiz-poll-results-for-december/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (User agent is rejected)
Database Caching 8/15 queries in 0.523 seconds using disk: basic

Served from: www.kumo.it @ 2012-02-07 14:26:15 -->
