<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>Advogato blog for cananian</title>
    <link>http://www.advogato.org/person/cananian/</link>
    <description>Advogato blog for cananian</description>
    <language>en-us</language>
    <generator>mod_virgule</generator>
    <pubDate>Sat, 25 May 2013 08:59:29 GMT</pubDate>
    <item>
      <pubDate>Fri, 25 Jan 2013 05:09:26 GMT</pubDate>
      <title>Puzzles I worked on (MIT Mystery Hunt 2013)</title>
      <link>http://www.advogato.org/person/cananian/diary.html?start=100</link>
      <guid>http://cananian.livejournal.com/68543.html</guid>
      <description>&lt;p&gt;Quick summary of MIT Mystery Hunt 2013 &#x2014; didn't work on as many puzzles this year, between (a) Not Trying To Win (after writing last year's hunt), and (b) Zachary.  Did quite a bit of work on the hunt-solving software; discovered that the current limits to &lt;a href="http://meteor.com" &gt;Meteor&lt;/a&gt;'s scalability are "less than team Codex".&lt;/p&gt;

&lt;p&gt;Puzzles I particularly liked:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Time Conundrum (except for final extraction)
&lt;/li&gt;
  &lt;li&gt;Too Many Seacrests
&lt;/li&gt;
  &lt;li&gt;Tuva or Bust (for which I successfully used Prolog in anger)
&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Other puzzles i worked on:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;Square Routes&lt;/li&gt;
&lt;li&gt;The Maze (helped guide final extraction)&lt;/li&gt;
&lt;li&gt;Czar Cycle (which we never solved)&lt;/li&gt;
&lt;li&gt;Road Trip (final extraction, with alexp)&lt;/li&gt;
&lt;li&gt;Space Monkey Mafia (final extraction, with alexp)&lt;/li&gt;
&lt;li&gt;Diagramless Crossmusic (knew how it worked, but meh)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;There were a lot of very interesting puzzle ideas in this hunt.  Several of them would have made excellent puzzles, given a bit more focused editing.  In particular I want to single out 50/50 and Diagramless Crossmusic as great ideas.&lt;/p&gt;

&lt;p&gt;Thanks to the Sages for all their work over the past year.  The Mystery Hunt is a ton of work to write, and it's all done for the love of the thing.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 24 Jan 2013 22:09:34 GMT</pubDate>
      <title>The Gashly-Hunt Tinies (MIT Mystery Hunt 2013)</title>
      <link>http://www.advogato.org/person/cananian/diary.html?start=99</link>
      <guid>http://cananian.livejournal.com/68329.html</guid>
      <description>&lt;p&gt;A is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;ADPHI&lt;/a&gt;, who ran out of Rs, B is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Better Luck&lt;/a&gt; assaulted by &lt;a href="http://www.coinheist.com/rubik/czar_cycle/" &gt;czars&lt;/a&gt;.&lt;br/&gt;C is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Codex&lt;/a&gt; who expired half way, D is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Dataviz&lt;/a&gt; stumped by &#x201C;&lt;a href="http://www.coinheist.com/get_smart/wordplay" &gt;Wordplay&lt;/a&gt;&#x201D;.&lt;br/&gt;E is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Eigenpirates&lt;/a&gt; who left for the beach, F is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Fangorn&lt;/a&gt;&#x2019;s &lt;a href="http://www.coinheist.com/indiana/grandson_of_the_realm_of_unspeakable_chaos" &gt;chaotic speech&lt;/a&gt;.&lt;br/&gt;G is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Grand Unified Theory&lt;/a&gt;&#x2019;s lost love, H is for herrings caught &lt;a href="http://www.coinheist.com/rubik/substance_abuse/" &gt;shifting through drugs&lt;/a&gt;.&lt;br/&gt;I is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Illegal, Immoral&lt;/a&gt;, and awake; J is for &lt;a href="http://www.coinheist.com/indiana/" &gt;Jones&lt;/a&gt; who &lt;a href="http://www.coinheist.com/indiana/snakes_ladders/" &gt;plagued&lt;/a&gt; teams with &lt;a href="http://www.coinheist.com/indiana/ouroboros/" &gt;hard&lt;/a&gt; &lt;a href="http://www.coinheist.com/indiana/snake/" &gt;snakes&lt;/a&gt;.&lt;br/&gt;K is for &lt;a href="http://www.coinheist.com/rubik/keypad_obstacle/visit/" &gt;Keypad&lt;/a&gt; which we did without, L is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Left&lt;/a&gt;&#x2014;as an exercise or just out.&lt;br/&gt;M is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Meteor&lt;/a&gt; misstressing &lt;a href="http://www.coinheist.com/sneakers/trochees_etc/" &gt;trochee&lt;/a&gt;; N is for &lt;a href="http://www.coinheist.com/sneakers/trochees_etc/" &gt;Ninjas searching etsy&lt;/a&gt;.&lt;br/&gt;O is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Om Nom&lt;/a&gt; locked out of the vault; P is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Part blah blah Who is John Galt?&lt;/a&gt;&lt;br/&gt;Q is for &lt;a href="http://z.manicsages.org/puzzle/uploads/puzzle_files/50ed0c24e145c.html" &gt;Quadragesima Magna Victi In Cratera&lt;/a&gt;; R is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Raucous&lt;/a&gt; &lt;a href="http://www.coinheist.com/get_smart/de_coins/" &gt;collecting old lira&lt;/a&gt;.&lt;br/&gt;S is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Setec&lt;/a&gt; humming &lt;a href="http://www.coinheist.com/get_smart/pulse_pulse_wave_noise/" &gt;tunes with 8-bits&lt;/a&gt;; T is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Too Long&lt;/a&gt; spent reading &lt;a href="http://www.coinheist.com/sneakers/git_hub/" &gt;git hub commits&lt;/a&gt;.&lt;br/&gt;U is for &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Unseen&lt;/a&gt; who got caught &lt;a href="http://www.mit.edu/~puzzle/teamlist.html" &gt;Up Late&lt;/a&gt;; V is for Victory after &lt;a href="https://twitter.com/thetech/status/293403346902056960" &gt;seventy hours straight&lt;/a&gt;.&lt;br/&gt;W is for &lt;a href="http://www.coinheist.com/rubik/white_magic/" &gt;White Magic&lt;/a&gt; which we never solved; X is for Xerox: &lt;a href="http://www.coinheist.com/get_smart/time_conundrum/" &gt;conundrums resolved&lt;/a&gt;.&lt;br/&gt;Y is for &lt;a href="http://www.enigmavalley.com/you_will_not_go_to_space_today/" &gt;You Not Going to Space&lt;/a&gt;; Z is for Zero hunts &lt;a href="https://twitter.com/colossus_rhode/status/293585449576976384" &gt;matching this pace&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;&lt;a/&gt;&lt;br/&gt;AdPhi and Better Luck This Time are team names. &#x201C;Czar Cycle&#x201D; was a difficult puzzle involving the Cyrillic, Greek, and Roman alphabets.&lt;br/&gt;Codex Zouche-Nuttall and Dataviz are team names.  &#x201C;Wordplay&#x201D; was a cryptic crossword.&lt;br/&gt;Eigenpirates and Fangorn Foureast are team names.  &#x201C;Chaotic speech&#x201D; is a reference to the &#x201C;Grandson of the Realm of Unspeakable Chaos&#x201D;&lt;br/&gt;Grand Unified Theory of Love is a team name.  &#x201C;Substance Abuse&#x201D; was a puzzle involving caesar-shifted chemical names.&lt;br/&gt;Illegal, Immoral, &amp;amp; Fattening is a team name.  Indiana Jones was the name of a round whose metas involve solving very difficult snake puzzles, resulting in 3d knots which then needed to be identified.&lt;br/&gt;Keypad was the name of the obstacle corresponding to the Erno Rubik round.  Left Out and Left As An Exercise For The Reader are team names.&lt;br/&gt;Meteor Lab is a team name.  &#x201D;Trochees, etc&#x201C; was a puzzle involving trochees (pairs of syllables with the first accented, as trochee itself should properly be) and etsy.com&lt;br/&gt;Om Nom Nom is a team name, as is the complete text of Atlas Shrugged, which starts with, "PART I: NON-CONTRADICTION; CHAPTER I: THE THEME 'Who is John Galt?'..."&lt;br/&gt;&#x201C;VICTI IN CRATERA MAGNA QUADRAGESIMA&#x201D;,or &#x201C;conquered in the great/super bowl 40&#x201D; (ie, SEAHAWKS) was the final cluephrase in the puzzle &#x201C;Caesar's Palace&#x201D;.  Raucous Raucous Rhinos is a team name.  &#x201C;Collecting old lira&#x201D; refers to the scavenger hunt puzzle "De-Coins".&lt;br/&gt;Unseen Gambit and Up Late are team names.  Seventy hours is a very conservative estimate of hunt length, from a 2pm start on Friday to a noon Monday commencement of the final runaround.&lt;br/&gt;White Magic was a meta puzzle in the Erno Rubik round.  The Xerox machine featured prominently in the &#x201C;Time Conundrum&#x201D; puzzle, used to create another copy of the instructions so that the first could be sent back in time with the correct answer written on it...&lt;br/&gt;&#x201C;You Are Not Going To Space Today&#x201D; was a first-round puzzle.  This hunt was the longest hunt ever.&lt;br/&gt;&lt;a/&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 22 Nov 2012 20:09:57 GMT</pubDate>
      <title>SDR 0.7</title>
      <link>http://www.advogato.org/person/cananian/diary.html?start=98</link>
      <guid>http://cananian.livejournal.com/68088.html</guid>
      <description>&lt;p&gt;Happy Thanksgiving!  Here's &lt;a href="http://cscott.net/Projects/SDR/" &gt;SDR 0.7&lt;/a&gt; to celebrate the holiday.  Version 0.7 incorporates a number of dance engine refactorings completed shortly after the &lt;a href="http://cananian.livejournal.com/59475.html" &gt;previous release promised them&lt;/a&gt;, as well as (more recently) a number of new call and concept definitions (and &lt;a href="http://cscott.net/Projects/SDR/sdr-latest/doc/net/cscott/sdr/doc-files/" &gt;test cases&lt;/a&gt;) inspired by the &lt;a href="http://www.lynette.org/recordings/c4teach/index.html" &gt;C4 calls I am currently studying&lt;/a&gt;.  I also updated Google App Engine and Google Web Toolkit to the latest versions for the &lt;a href="http://square-dance.appspot.com/" &gt;web app&lt;/a&gt;, although &lt;a href="http://jmonkeyengine.com/" &gt;jMonkeyEngine&lt;/a&gt; is still stuck at 2.0 &#x2014; we might get an Android version of SDR if I manage to rebase to jMonkeyEngine 3.0 for the next release.&lt;/p&gt;
&lt;p&gt;Breathing the square properly is still a challenge.  Other square dance programs only treat starting and ending formations, but SDR has to consider all of the intermediate positions along the dancers' paths.  This leads to some very unusual formations being breathed.  As mentioned in the notes for the &lt;a href="http://cananian.livejournal.com/59475.html" &gt;last release&lt;/a&gt;, SDR formulates breathing as a solution to a mixed integer linear programming problem&#x2014;but there are still a few bugs lurking which cause the constraint solver to blow up from time to time (especially from columns, for some reason).
Hopefully I'll be able to dig into this for the next release.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sun, 21 Oct 2012 23:07:46 GMT</pubDate>
      <title>Reading Project Talk (and slides)</title>
      <link>http://www.advogato.org/person/cananian/diary.html?start=97</link>
      <guid>http://cananian.livejournal.com/67703.html</guid>
      <description>&lt;p&gt;An unruly tag team of OLPC folks gave a long talk on &lt;a href="http://wiki.laptop.org/go/Literacy_Project" &gt;the Literacy Project&lt;/a&gt; today for attendees at this year's &lt;a href="http://www.olpcsf.org/CommunitySummit2012" &gt;OLPC-SF Community Summit&lt;/a&gt;.  It was streamed live on Ustream: &lt;a href="http://www.ustream.tv/recorded/26344794" &gt;Part 1&lt;/a&gt; (Matt Keller, Richard Smith), &lt;a href="http://www.ustream.tv/recorded/26345580" &gt;Part 2&lt;/a&gt; (Richard Smith, Ed McNierney, C. Scott Ananian, Chris Ball, questions from the audience).  We've posted the slides: &lt;a href="http://dev.laptop.org/~cscott/literacy-public/Keller-Reading.ppt" &gt;Matt Keller&lt;/a&gt;, &lt;a href="https://docs.google.com/presentation/d/18S9eSMMZeCxiCRxXZl4VgVAxQFTLIWQCOkO2GVGjk8g/edit" &gt;Richard Smith&lt;/a&gt;, &lt;a href="http://www.ustream.tv/recorded/26345580" &gt;C. Scott Ananian&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;You can try out some of the apps mentioned in the talk.  &lt;a href="http://nell-balloons.github.cscott.net" &gt;Nell's Balloons&lt;/a&gt; and &lt;a href="http://nell-colors.github.cscott.net" &gt;Nell's Colors&lt;/a&gt; will run in any reasonably-recent Google Chrome or Mozilla Firefox browser.  They will also run as a &lt;a href="https://marketplace.mozilla.org/developers/" &gt;Firefox webapp&lt;/a&gt; on Android devices, using the &lt;a href="http://nightly.mozilla.org/" &gt;latest Firefox nightly for Android&lt;/a&gt;.  For deployment we use a slightly-tweaked build of Firefox (adding expanded webapp storage quotas and the ability to use plugins from inside webapps), and a &lt;a href="https://github.com/cscott/intent-addon" &gt;custom plugin&lt;/a&gt; to hook up the &lt;a href="http://funf.org/" &gt;Funf logging framework&lt;/a&gt;.  Source code is available on github: &lt;a href="http://github.com/cscott/nell-balloons" &gt;nell-balloons&lt;/a&gt;; &lt;a href="http://github.com/cscott/nell-colors" &gt;nell-colors&lt;/a&gt;.  In addition, Chris Ball's "Matching" app for Android is available: &lt;a href="http://dev.laptop.org/~cscott/literacy-public/Matching-1.4.0.apk" &gt;apk&lt;/a&gt;; &lt;a href="http://dev.laptop.org/git/users/cjb/android-matching/" &gt;source&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 22 Aug 2012 17:07:31 GMT</pubDate>
      <title>The Importance of Sensing Distance</title>
      <link>http://www.advogato.org/person/cananian/diary.html?start=96</link>
      <guid>http://cananian.livejournal.com/67390.html</guid>
      <description>&lt;p&gt;At &lt;a href="http://www.dimeb.de/idc2012" &gt;IDC 2012&lt;/a&gt; in June, Arnan Sipitakiat and Nusarin Nusen discussed how they are using &lt;a href="http://dx.doi.org/10.1145/2307096.2307108" &gt;Robo-Blocks&lt;/a&gt;&#x2014;a turtle robot and &#x201C;tangible &lt;a href="http://wiki.sugarlabs.org/go/Activities/Turtle_Art" &gt;Turtle Blocks&lt;/a&gt;&#x201D;&#x2014;to teach problem solving and debugging skills to 5- through 12-year-olds.&lt;/p&gt;

&lt;p&gt;One of the things I learned from their presentation was that children had difficulty reasoning about relative angles.  The Robo-Blocks robot does not have any distance feedback on its motors, so &#x201C;the result of a program will change depending on the roughness of the surface and the battery level of the robot.&#x201D;  They worked around this issue by developing a protractor tool to guide the children's reasoning about the relationship between the (arbitrary) numbers entered and the amount the robot turned, but some kids still had difficulty.  The researchers &#x201C;often had to insist on trying the protractor&#x201D; and &#x201C;some children preferred to keep increasing the turn amount even if a small decrease would have fixed the problem&#x201D; resulting in programs that had the robot making multiple complete rotations before setting off in the correct direction.  The kids were also dissatisfied with polygon-drawing tasks (&#x201C;&lt;a href="http://en.wikipedia.org/wiki/Turtle_Geometry" &gt;turtle geometry&lt;/a&gt;&#x201D;) because the inaccuracies of open-loop control of the robot means that the polygons often didn't close completely, and &#x201C;[t]his small error turned out to be unacceptable to children.&#x201D;&lt;/p&gt;

&lt;p&gt;So I designed the XOrduino turtle robot from the start to have distance sensors so that it can do accurate turns with closed-loop control.  Here's a little video showing how they work in the current (A1.5 / B1) revision of the board:&lt;/p&gt;

&lt;lj-embed id="18"/&gt;&lt;p&gt;Some bonus pictures of the speed sensor on the workbench:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;The robot on the workbench with probes.&lt;br/&gt;&lt;a href="http://ic.pics.livejournal.com/cananian/123187/2055/original.jpg" &gt;&lt;img alt="Speed sensor test setup" border="0" title="Speed sensor test setup" src="http://ic.pics.livejournal.com/cananian/123187/2055/300.jpg" width="300"/&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Signal from the motor speed sensor. 5ms/div .5v/div. Motor is running at full speed, unloaded. Two dips are seen: the larger is from a piece of white paper glued to the rim of the gear; the smaller is from a spot made with a white paint marker (the paint didn't stick very well).  White-out worked much better (as shown in the video above).&lt;br/&gt;&lt;a href="http://ic.pics.livejournal.com/cananian/123187/1814/original.jpg" &gt;&lt;img alt="Oscilloscope trace" border="0" title="Oscilloscope trace" src="http://ic.pics.livejournal.com/cananian/123187/1814/300.jpg" width="300"/&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Oscilloscope settings&lt;br/&gt;&lt;a href="http://ic.pics.livejournal.com/cananian/123187/1575/original.jpg" &gt;&lt;img alt="Oscilloscope settings" border="0" title="Oscilloscope settings" src="http://ic.pics.livejournal.com/cananian/123187/1575/300.jpg" width="300"/&gt;&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 18 Aug 2012 06:09:42 GMT</pubDate>
      <title>XO Turtle Bot drives around</title>
      <link>http://www.advogato.org/person/cananian/diary.html?start=95</link>
      <guid>http://cananian.livejournal.com/67093.html</guid>
      <description>&lt;p&gt;Here's a first look at an XOrduino Turtle bot driving around:&lt;/p&gt;
&lt;lj-embed id="13"/&gt;&lt;p&gt;I've checked out all of the functionality on the A1.5 board except the step-up voltage regulator now.   I'm optimistic the B1 boards (being made now in Taipei) will be clean.&lt;/p&gt;
&lt;p&gt;It will be great when we've got lesson plans written up so kids can learn how to control the bot with Turtle Blocks, and play with the different possible behaviors.  Instead of just bumping around ("like a Roomba, except it doesn't vaccuum" a friendly 6-year-old beta-tester told me), you can trace patterns you design, or use the Scratch Sensor Board sensors to make the robot "afraid of sound", "attracted to light", or add your own sensors and behaviors.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Wed, 15 Aug 2012 21:08:58 GMT</pubDate>
      <title>"Hello, World" from XOrduino/XO Stick</title>
      <link>http://www.advogato.org/person/cananian/diary.html?start=94</link>
      <guid>http://cananian.livejournal.com/66895.html</guid>
      <description>&lt;p&gt;Here's a quick look at the next versions of the XOrduino and XO Stick boards.  These were assembled from a small quantity of "pre-B1" boards I had made at &lt;a href="http://batchpcb.com" &gt;BatchPCB&lt;/a&gt;.&lt;/p&gt;

&lt;lj-embed id="11"/&gt;&lt;p&gt;I've uploaded some more pictures to &lt;a href="https://plus.google.com/photos/109541946294746531763/albums/5772322118805954321" &gt;the XOrduino album&lt;/a&gt; as well.&lt;/p&gt;

&lt;p&gt;Here's a little table relating the board versions pictured with those I've previously discussed.&lt;/p&gt;
&lt;table&gt;
  &lt;tr&gt;&lt;td&gt;Build&lt;/td&gt;
    &lt;td&gt;XOrduino&lt;/td&gt;
    &lt;td&gt;XO Stick&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;A1&lt;/td&gt;
    &lt;td&gt;v4&lt;/td&gt;
    &lt;td&gt;v5&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;This video&lt;/td&gt;
    &lt;td&gt;v6&lt;/td&gt;
    &lt;td&gt;v7&lt;/td&gt;
  &lt;/tr&gt;
  &lt;tr&gt;&lt;td&gt;B1&lt;/td&gt;
    &lt;td&gt;v8&lt;/td&gt;
    &lt;td&gt;v14&lt;/td&gt;
  &lt;/tr&gt;
&lt;/table&gt;&lt;p&gt;B1 is "the next run" of boards, already released to the fab house but not yet in hand.&lt;/p&gt;

&lt;p&gt;The big feature added to XOrduino after A1 was a motor driver, to allow using the XOrduino as a Turtle robot.  The big feature added to XO Stick after A1 was the shield form factor, allowing it to ride piggy back on the XOrduino.  This makes it easier to share a single turtle robot with a classroom: there may be only one XOrduino robot base, but each student can have their own low-cost XO Stick "brains".  They can take turns snapping their brains on top of the base to drive it.&lt;/p&gt;

&lt;p&gt;I haven't finished testing all the functionality of these new boards yet, but it looks like I haven't made any major mistakes!  Help still wanted with software, documentation, etc; send email to xorduino@gmail.com if you're interested.&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Thu, 2 Aug 2012 08:06:09 GMT</pubDate>
      <title>XO Bot joins the XOrduino and XO Stick</title>
      <link>http://www.advogato.org/person/cananian/diary.html?start=93</link>
      <guid>http://cananian.livejournal.com/66654.html</guid>
      <description>&lt;p&gt;Free things first: I've got parts for 20 copies of the "Mk I"
&lt;a href="http://cananian.livejournal.com/66129.html" &gt;XOrduino and XO Stick&lt;/a&gt;.  &lt;b&gt;I'm mailing them out for free&lt;/b&gt; (!) in exchange
for your development help.  Send me an email at
xorduino@gmail.com describing what you'd like to do with the
XOrduino/XO Stick, and your full mailing address.  Best 20 or so get kits.&lt;/p&gt;

&lt;p&gt;
  &lt;img alt="XOrduino A1" border="0" title="XOrduino A1" src="http://ic.pics.livejournal.com/cananian/123187/847/original.jpg"/&gt;&lt;/p&gt;

&lt;p&gt;Here are some of the projects which you might be able to help with:&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;&lt;b&gt;Assemble an XOrduino / XO stick with an 8-12 year old&lt;/b&gt; and document
  the process.  What parts were tricky to solder?  Where did polarity
  matter?  How much of the function of the different devices did you
  find worth explaining?  Photos or video of children assembling the device would be great for future publicity, with their permission. (We're not crazy: kids can &lt;a href="http://www.youtube.com/watch?v=Pus_fA1Tv9w" &gt;repair XOs&lt;/a&gt; and &lt;a href="http://www.sparkfun.com/news/555" &gt;solder&lt;/a&gt;.)&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Test different configurations&lt;/b&gt; of the boards.  What are the
  fewest components necessary for a functional XO Stick?
  What capacitors are really needed?  What's the smallest number of
  components needed to get the arduino IDE to talk to the XOrduino?
  Then add the components for the &lt;a href="http://info.scratch.mit.edu/Sensor_Boards" &gt;Scratch Sensor Board&lt;/a&gt; functionality,
  and test that with this &lt;a href="https://github.com/osbock/ScratchSensors" &gt;Arduino sketch&lt;/a&gt; (some minor porting required).  Try out whatever
  Arduino shields/old Arduino code you have lying around, and see if there
  are any gotchas there.  Document it all, take photos and video, let me know about bugs and pitfalls.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Write some killer &lt;i&gt;education&lt;/i&gt; apps&lt;/b&gt;!  These
  boards are meant specifically for teaching kids&#x2014;take the &lt;a href="http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Using_Turtle_Art_Sensors" &gt;Turtle Art with Sensors&lt;/a&gt; ideas as examples, and write up some
  lessons to teach science.  Or take inspiration from the old school
  "fun with electronics" kits from Radio Shack and recreate some of the
  popular standbys: a burglar alarm for kids' tree fort,
  a light-sensitive alarm they can hide in their sibling's drawer,
  etc.  Or a document how to program a robot (more on the robot below) with simple emergent behaviors&#x2014;avoiding walls, turning toward light, fleeing loud sounds, etc.  The &lt;a href="https://www.sparkfun.com/products/11074" &gt;Cubelets&lt;/a&gt; examples may give you ideas.  Take photos and video.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Arduino support for the XO Stick&lt;/b&gt;.  There are a number of projects
  which add support for the ATtiny85 and friends to the Arduino IDE (for example, &lt;a href="http://provideyourown.com/2011/arduino-program-attiny/" &gt;this one&lt;/a&gt;).
  Ideally we'd like to make the XO Stick as Arduino-compatible as
  possible, so we can reuse the excellent Arduino IDE, etc.
  This involves (a) porting an arduino-compatible bootloader (like
  &lt;a href="http://embedded-creations.com/projects/attiny85-usb-bootloader-overview/avr-jtag-programmer/" &gt;usbAspLoader-tiny&lt;/a&gt;), as well as (b) porting the Arduino libraries to match the
  pinout/peripherals of the ATtiny85 and ATtiny861 (&lt;a href="http://hlt.media.mit.edu/?p=1695" &gt;this page&lt;/a&gt; is a good start).&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Program an XO Stick from an XOrduino&lt;/b&gt; and vice versa.  Ideally we'd
  like to bootstrap the initial chip programming, so that one
  programmed XOrduino (or XO Stick) can be used to put the initial
  bootloaders on the others.  For technical reasons the XO Stick
  is probably best as a "clone tool": without interacting with the
  USB bus it would just copy its internal memory to another
  XO Stick.  The XOrduino is a little easier, just a matter of
  adapting the existing &lt;a href="http://arduino.cc/en/Tutorial/ArduinoISP" &gt;Arduino sketches and documentation&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Debrick an XO&lt;/b&gt; from the XO Stick.  The XO Stick can talk to the
  EC programming bus to recover a bricked XO; it can probably also
  &lt;a href="http://wiki.laptop.org/go/SPI_FLASH_Recovery" &gt;reprogram OpenFirmware&lt;/a&gt;.  We need to write a bit of code to make it
  pain-free and document the process.  This would make the XO Stick a useful repair accessory for XO deployments.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;a href="http://catroid.org" &gt;Scratch&lt;/a&gt;/&lt;a href="http://wiki.sugarlabs.org/go/Activities/TurtleArt" &gt;Turtle Blocks&lt;/a&gt; support&lt;/b&gt; for the &lt;a href="http://wiki.sugarlabs.org/go/Activities/Turtle_Art/Plugins#Arduino" &gt;XOrduino&lt;/a&gt; and/or &lt;a href="http://youtu.be/qfU_f8HF-78" &gt;XO turtle bot&lt;/a&gt; (see below).&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Here's the exciting part two: I'm already working on the XOrduino and XO Stick "Mk II".  The latest schematics/boards
are in github (&lt;a href="https://github.com/cscott/xostick" &gt;xostick&lt;/a&gt;, &lt;a href="https://github.com/cscott/xorduino" &gt;xorduino&lt;/a&gt;).  The kits I'll be sending out this week correspond to the "A1" tag in those repositories; the "Mk II" revision is on the master
branch.&lt;/p&gt;

&lt;p&gt;The XO Stick gets a minor change with big implications: instead of
using a 20-pin header matching the ATtiny861 pinout, I've widened the
board to &lt;b&gt;give the XO Stick a standard Arduino shield connector&lt;/b&gt; (and some
prototyping area).  This opens the way for a port of the Arduino IDE
(mentioned above), but it also means that the XO Stick can be mounted on top of
an XOrduino.  In a cost-conscious classroom environment, this allows a teacher to buy/make one copy of the XOrduino with all of its
fancy peripherals (scratch sensors, robot support) and then give each student a copy of the
cheaper XO Stick.  The students share the XOrduino and swap out their XO Stick "brains" on top to control it or use its peripherals.  Mating the two
boards also makes it straightforward to program an XO Stick from
an XOrduino, or to use the XO Stick's prototyping area to hack together
a shield for the XOrduino.&lt;/p&gt;

&lt;p&gt;The XOrduino gets a more exciting feature (hinted at above) -- enough peripherals to become the &lt;b&gt;XO Turtle Bot&lt;/b&gt;!  This is a very
low-cost &lt;a href="http://en.wikipedia.org/wiki/Turtle_%28robot%29" &gt;turtle robot&lt;/a&gt; based on a &lt;a href="http://www.tamiyausa.com/product/item.php?product-id=70097" &gt;Tamiya motor assembly&lt;/a&gt;.  All of the
extra robot components are optional&#x2014;you can populate just the parts you want&#x2014;but a classroom can now make
their XOrduinos (or XO Stick + XOrduino base) into standalone turtle
robots, controlled by Scratch, Turtle Art, or Arduino code.  The XO Turtle Bot revision adds a motor driver, two bump switches, a simple 3-cell
power supply, and rotation sensors for the motors to the XOrduino.  (Arnan Sipitakiat and Nussarin Nusen in their Robo-Blocks presentation for &lt;a href="http://dimeb.informatik.uni-bremen.de/idc2012/program.htm" &gt;IDC 2012&lt;/a&gt; explained that children find "turn for two seconds" hard to understand; we include motor sensors so that we can "turn 90 degrees" instead.)  And of course because the robot is based on XOrduino, you can add
whatever other sensors you like and write arduino/Scratch/Turtle Blocks code for it.&lt;/p&gt;

&lt;p&gt;&lt;img alt="XOrduino A1 board on top of Tamiya Twin Motor Gearbox." border="0" title="XOrduino A1 board on top of Tamiya Twin Motor Gearbox." src="http://ic.pics.livejournal.com/cananian/123187/1350/300.jpg" width="300"/&gt;&#xA0;&#xA0;&#xA0;&lt;img alt="XOrduino A1 plugged into USB port; prototype XO Turtle Bot in the background." border="0" title="XOrduino A1 plugged into USB port; prototype XO Turtle Bot in the background." src="http://ic.pics.livejournal.com/cananian/123187/1278/300.jpg" width="300"/&gt;&lt;/p&gt;

&lt;p&gt;I'm excited about the potential of low-cost robotics and the Arduino platform for
education.  If you are, too, let me send you a kit so you can help
out!&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Tue, 12 Jun 2012 07:07:16 GMT</pubDate>
      <title>Nell's Tinkrbook in Omo</title>
      <link>http://www.advogato.org/person/cananian/diary.html?start=92</link>
      <guid>http://cananian.livejournal.com/66444.html</guid>
      <description>&lt;p&gt;
This week I will be at the 2012 &lt;a href="http://dimeb.informatik.uni-bremen.de/idc2012/" &gt;Interaction Design and Children
conference&lt;/a&gt; in Bremen, Germany.  I will be presenting the
&lt;a href="http://cananian.livejournal.com/66008.html" &gt;Growing Up With Nell&lt;/a&gt;
paper as well as discussing the OLPC Foundation's literacy pilots in
Ethiopia.
&lt;/p&gt;

&lt;p&gt;
The &lt;a href="http://wiki.laptop.org/go/Literacy_Project" &gt;Literacy
Project&lt;/a&gt; is a collaboration between four different groups (as
alluded to by the title of this post): the One Laptop per Child
Foundation (&#x201C;Nell&#x201D;), the MIT Media Lab
(&#x201C;Tinkrbook&#x201D;), the School of Education, Communication and
Language Sciences at Newcastle University, and the Center for Reading
and Language Research at Tufts University (&#x201C;Omo&#x201D;).
The goal is to reach children even further from educational
infrastructure than OLPC has ventured to date.  In particular, the
Ethiopia pilots are complete child-led bootstraps, attempting to teach
kids to read English (an official language of Ethiopia) who neither
speak English nor read in any language yet.  There are no teachers in the village,
and no literate adults either.
&lt;/p&gt;

&lt;p&gt;Adapting Nell to this environment has some challenges: how do we
guide students through pedagogic material with stories if they don't
yet understand the language of the stories we want to tell?  But the
essential challenge is the same: we have hundreds of apps and videos
on the tablets and need to provide scaffolding and guidance to the
bits most appropriate for each child at any given time, just as Nell seeks to
guide children through the many activities included in Sugar.  In the
literacy project there is also a need for automated assessment tools: how can we tell that the project is
working?  How can we determine what parts of our content are effective
in their role?&lt;/p&gt;

&lt;p&gt;I'll write more about the Literacy Project in the coming weeks.
As we've started to get data back, some of the lessons learned are
familiar: kids do the strangest things!  They learn how to do things
we never knew they could do (or meant for them to) and often are
motivated by pleasures which surprise us.  For example, one app we
deployed had a sphere which deflated with a sort of farting noise when
the child picked the wrong answer.  It turns out that the kids liked making the farting noise
much more than they liked the response to the correct answer!  Obvious
in retrospect, but the lesson reminds us why we are pursuing an incremental development and data collection approach.  Happily, the hardware itself
has been a success: low hardware failure rates, solar powered charging
is successful (although they prefer to charge the devices during the
middle of the day; we'd expected them to do so overnight from storage batteries charged during the day), and they've
mastered the touch interface very quickly on their own.  The pilots
have been running since February, and the kids are still very engaged
with the content.  So far, so good!&lt;/p&gt;

&lt;p&gt;
&lt;img alt="Smiling boy in Ethiopia Literacy Pilot" border="0" title="Smiling boy in Ethiopia Literacy Pilot" src="http://ic.pics.livejournal.com/cananian/123187/387/300.jpg" height="225"/&gt;&#xA0;&lt;img alt="Two girls in Ethiopia Literacy Pilot" border="0" title="Two girls in Ethiopia Literacy Pilot" src="http://ic.pics.livejournal.com/cananian/123187/749/300.jpg" width="300"/&gt;&lt;/p&gt;</description>
    </item>
    <item>
      <pubDate>Sat, 9 Jun 2012 17:07:09 GMT</pubDate>
      <title>Introducting the XOrduino! (and XO Stick)</title>
      <link>http://www.advogato.org/person/cananian/diary.html?start=91</link>
      <guid>http://cananian.livejournal.com/66129.html</guid>
      <description>&lt;p&gt;I banged out two &lt;a href="http://freedomdefined.org/OSHW" &gt;open hardware&lt;/a&gt; designs this week, designed for use with the &lt;a href="http://en.wikipedia.org/wiki/OLPC_XO-1" &gt;OLPC XO&lt;/a&gt; laptops.&lt;/p&gt;

&lt;p&gt;The first is the &lt;b&gt;XOrduino&lt;/b&gt;, a stripped down low-cost
&lt;a href="http://arduino.cc/" &gt;Arduino&lt;/a&gt;-compatible board that plugs right into the XO's USB ports.
But wait, there's more: it's also compatible with the &lt;a href="http://info.scratch.mit.edu/Sensor_Boards" &gt;Scratch Sensor
Board&lt;/a&gt;, so you can use this device to control &lt;a href="http://scratch.mit.edu/" &gt;Scratch&lt;/a&gt; (and &lt;a href="http://wiki.sugarlabs.org/go/Activities/TurtleArt#Arduino" &gt;Turtle Art&lt;/a&gt;, once &lt;a href="http://firmata.org/" &gt;Firmata&lt;/a&gt; is ported).
It should be compatible with the &lt;a href="http://en.wikipedia.org/wiki/Arduino#Software" &gt;Arduino IDE&lt;/a&gt; and all &lt;a href="http://arduino.cc/en/Main/ArduinoBoardLeonardo" &gt;Arduino
Leonardo&lt;/a&gt;-compatible shields.&lt;/p&gt;

&lt;p&gt;The board uses mostly through-hole parts, with one exception, and
there are only 20 required components for the basic Arduino
functionality, costing about $5 (from digikey, quantity 100).  It is
reasonable for local labor or even older kids to assemble by hand.&lt;/p&gt;

&lt;p&gt;It's open hardware: &lt;a href="http://en.wikipedia.org/wiki/Eagle_(program)" &gt;Eagle&lt;/a&gt; design files are &lt;a href="https://github.com/cscott/xorduino" &gt;on github&lt;/a&gt; (&lt;a href="https://github.com/cscott/xorduino/blob/A1/XOrduino-sch.pdf?raw=true" &gt;schematic PDF&lt;/a&gt;,
&lt;a href="https://github.com/cscott/xorduino/blob/A1/XOrduino-brd.pdf?raw=true" &gt;pcb PDF&lt;/a&gt;).  I expect to have a small number of boards in a few weeks; let
me know if you'd like one in exchange for help with hardware and
software bring-up.  Schematic and layout review also appreciated (I did the PCB routing late at night under time pressure leaning heavily on autoroute, it's certainly not the prettiest).  And feedback from Arduino and Arduino shield hackers would also be welcome.&lt;/p&gt;

&lt;p&gt;If $5 per student is too much money, there's also the &lt;b&gt;XO Stick&lt;/b&gt;, my
second board.  It's based on the &lt;a href="http://www.sparkfun.com/products/9147" &gt;AVR Stick&lt;/a&gt; using the &lt;a href="http://www.atmel.com/devices/attiny85.aspx" &gt;ATtiny85&lt;/a&gt; processor and costs only
$1/student.  It's not quite as user-friendly as the Arduino-compatible
board, but it can also be used to teach simple lessons in embedded
electronics.  For $0.12 more you can populate an &lt;a href="http://www.atmel.com/devices/ATTINY261A.aspx" &gt;ATtiny261A&lt;/a&gt; (though a '461 or '861 would be better) and get 13 I/O ports; this variant should be powerful enough to program other XO Sticks and perform XO maintenance tasks (accessing the serial
console, debricking a laptop via SPI flash).  The XO Stick is even easier for a
kid to assemble themself: only 8 required components, all through-hole.
(Sadly, my desire to shave every penny off the cost of this design meant that I couldn't use some of the symmetry tricks I invented for &lt;a href="http://www.mit.edu/~puzzle/12/ben_bitdiddle/investigators_report/solution/" &gt;a 2012 Mystery Hunt puzzle&lt;/a&gt; to make the circuit &lt;i&gt;impossible&lt;/i&gt; to assemble incorrectly.)
&lt;/p&gt;

&lt;p&gt;Same deal as the XOrduino: design files &lt;a href="https://github.com/cscott/xostick" &gt;on github&lt;/a&gt; (&lt;a href="https://github.com/cscott/xostick/blob/master/XO-Stick-sch.pdf?raw=true" &gt;schematic PDF&lt;/a&gt;,
&lt;a href="https://github.com/cscott/xostick/blob/master/XO-Stick-brd.pdf?raw=true" &gt;pcb PDF&lt;/a&gt;); I expect to have a few boards available to people who want to
help make some software for them.  Schematic and layout review is also appreciated!&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
