<?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>syn.theti.ca &#187; jr</title>
	<atom:link href="http://syn.theti.ca/category/jr/feed/" rel="self" type="application/rss+xml" />
	<link>http://syn.theti.ca</link>
	<description>debian, eeepc, kids &#38; f/oss software</description>
	<lastBuildDate>Tue, 25 May 2010 11:50:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Involve kids in free software development through play</title>
		<link>http://syn.theti.ca/2009/01/25/involve-kids-in-free-software-development-through-play/</link>
		<comments>http://syn.theti.ca/2009/01/25/involve-kids-in-free-software-development-through-play/#comments</comments>
		<pubDate>Sun, 25 Jan 2009 13:50:00 +0000</pubDate>
		<dc:creator>Ben Armstrong</dc:creator>
				<category><![CDATA[children]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[games]]></category>
		<category><![CDATA[jr]]></category>
		<category><![CDATA[kids]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Giving up on a position within a free software project when you know you&#8217;re no longer managing to do an effective job is a wonderfully liberating experience. Now that I have started to talk with Miriam Ruiz about handing over the Debian Jr. project, I can stop worrying about the leadership task and just have [...]]]></description>
			<content:encoded><![CDATA[<p>Giving up on a position within a free software project when you know you&#8217;re no longer managing to do an effective job is a wonderfully liberating experience.  Now that I have started to talk with Miriam Ruiz about handing over the <a href="http://wiki.debian.org/DebianJr">Debian Jr.</a> project, I can stop worrying about the leadership task and just have fun with it.</p>
<p>I can always count on Miriam for recommendations for games in Debian my kids may enjoy, as she has a passion for finding good games to package for Debian, and in particular, games for children.  Over the past few weeks we&#8217;ve had some fun with her picks.  At the same time, I always have Debian Jr. in mind.  How can we ensure kids can have the most fun with this?  How do we equip their guides to help them?</p>
<p>What we&#8217;ve done with each new piece of software is to find a quiet time when one or more of the children can start playing with it on their own while we watch, offering such guidance as they need, but for the most part just letting them loose with it.  Each wrinkle of the brow, each impetuous thump of the mouse, every illuminated grin and exclamation of delight is noted.  We try to see what frustrates or pleases our kids and discuss it both with them and the Debian maintainers and upstream developers.  This is an excercise we&#8217;ve managed to pull off without being overly intrusive and the results have been well worth the effort.</p>
<p>Using a few of Miriam&#8217;s picks we tried this week, we were able to draw their play into the free software development process.  Here&#8217;s a brief summary of those sessions:</p>
<p><a href="http://kids.platinumarts.net/">Platinum Arts Sandbox</a> puts into children&#8217;s hands the ability to role play in a 3D world and edit that world using simplified controls.  The expressions on the faces of our kids as they played were priceless: both the ups and the downs.  I wanted to capture this on video and share it.  After having established a rapport with upstream, we took a 20 minute clip of one of our play sessions and gave a copy to them to use to help further their work.  Here is the <a href="http://ca.youtube.com/watch?v=hvy3h3z8cvw">edited result</a>.  They were very pleased to have that kind of feedback and found the video valuable for determining where the software still needed improvement and to notice which aspects particularly pleased the children.</p>
<p>I happen to know that <a href="http://www.happypenguin.org/show?Hex-a-hop">Hex-a-hop</a> is one of Miriam&#8217;s personal favourites.  We have a household full of puzzle-lovers so this puzzle game was an instant hit.  While on irc on #debian-jr with Miriam we relayed in real-time some of the reactions as they played this and a handful of her other picks.  This gave her some confirmation of areas she knew needed work as well as inspiration for upcoming releases of these packages.</p>
<p>During this play session, which also included <a href="http://james.hamsterrepublic.com/?p=130">StegaVorto</a>, <a href="http://kartofel.jfedor.org/">kartofel</a>, <a href="http://www.happypenguin.org/show?Anagramarama">Anagramarama</a>, <a href="http://funnyboat.sourceforge.net/">Funny Boat</a> and <a href="http://home.gna.org/vodovod/">Vodovod</a>, my youngest girl, age 7, plunked down on the couch next to me as her 10-year-old sister played.  Then she started to notice I was typing what people in the livingroom were saying and doing on irc.  She took a mild affront to me copying her own words and actions, so I decided it would be better to let her participate so she would feel included.  At this point, I started playing secretary for her, typing what she dictated to me while she read the responses from the display.  Later, I just handed her the keyboard so she could type and read the responses on her own.  She was still at it long past bedtime and it was with some reluctance that she finally gave up the keyboard.  We all had a lot of fun and look forward to doing this again.</p>
<p>We are particularly careful with privacy, taking care to share pictures, videos, and other personal details only so far as we believe it does not put our children at risk.  Also, we need to ensure we observe in a way that is welcome and doesn&#8217;t interfere with their enjoyment.  But with a little bit of prudence and a practiced eye and ear for what increases or diminishes enjoyment of the software, we can involve our children directly in the free software development process.  I commend to anyone who has the privilege to share free software with children to use this method to communicate with maintainers and developers, increasing your own enjoyment of the software in the process and that of children and their guides everywhere.</p>
<p><strong>Update: A quote from this article has <a href="http://games.slashdot.org/article.pl?sid=09/02/01/0212247">made it to Slashdot.</a>  Although many of the comments seem to miss my point entirely, it&#8217;s nice to get a wider audience.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://syn.theti.ca/2009/01/25/involve-kids-in-free-software-development-through-play/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The children of Debian</title>
		<link>http://syn.theti.ca/2007/04/18/the-children-of-debian/</link>
		<comments>http://syn.theti.ca/2007/04/18/the-children-of-debian/#comments</comments>
		<pubDate>Wed, 18 Apr 2007 14:20:00 +0000</pubDate>
		<dc:creator>Ben Armstrong</dc:creator>
				<category><![CDATA[curiosa]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[jr]]></category>
		<category><![CDATA[kids]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Who are the next generation of Debianists? Are they all still coming to us out of different OS backgrounds, or do we now have the significant beginnings of a home grown generation, born and raised in Debian-using families and now making their voices heard? I hope that Debian Jr. will encourage this kind of generational [...]]]></description>
			<content:encoded><![CDATA[<p>Who are the next generation of Debianists?  Are they all still coming to us out of different OS backgrounds, or do we now have the significant beginnings of a home grown generation, born and raised in Debian-using families and now making their voices heard?</p>
<p>I hope that Debian Jr. will encourage this kind of generational growth of the project.  When recently I rewrote the <a href="http://wiki.debian.org/DebianJr#head-7a33947a790947e28a9ae430150cdd8e5cd189b6">guiding principles of Debian Jr.</a>, my vision was a Debian that children would identify as <em>their own</em>.  I expect they will be eager to add their own ideas as they grow up with it.  It was pointed out to me today that there is <a href="http://lca2005.linux.org.au/abstractf23d.html?id=199">some evidence</a> that this is already happening (thanks for the link, Matthew Wilcox).</p>
<p>As for my own kids, ages 16, 15, 12, 9 and 5, only the oldest have ever used some system at home other than Debian<sup><a href="#fn1">1</a></sup>.  They all comfortably use our Debian systems daily, discussing regularly with me what they need.  This leads to filing bugs and patches on their behalf<sup><a href="#fn2">2</a></sup>, and inspires further development of the Debian Jr. project.</p>
<p>So, in at least this sense, the children of Debian are already contributing members of Debian, if not voting members.  The ideas of families are improving Debian for everyone.  As the project grows, I expect the ways in which families will change Debian will be more significant, not only technically but also in Debian&#8217;s character.</p>
<p id="fn1"><sup>1</sup> Before we started using Debian in 1995, the family system was  a VT-420 terminal connected to the Solaris system running our  community freenet.  At that time our kids would sit in my lap and  play at typing into pico for their amusement.</p>
<p id="fn2"><sup>2</sup> For instance, I was pleased to discover the other day that my <a href="http://bugs.debian.org/398291">egoboo patch</a> was accepted.  That was a direct result of my kids asking me to make it work for them.</p>
]]></content:encoded>
			<wfw:commentRss>http://syn.theti.ca/2007/04/18/the-children-of-debian/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Moved Debian Jr. repository to Alioth</title>
		<link>http://syn.theti.ca/2007/04/08/moved-debian-jr-repository-to-alioth/</link>
		<comments>http://syn.theti.ca/2007/04/08/moved-debian-jr-repository-to-alioth/#comments</comments>
		<pubDate>Sun, 08 Apr 2007 21:09:00 +0000</pubDate>
		<dc:creator>Ben Armstrong</dc:creator>
				<category><![CDATA[alioth]]></category>
		<category><![CDATA[cia]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[jr]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[A little remembered fact is that the Debian Jr. project had a directory in the subversion repository of the CDD project at Alioth. Aside from Andreas Tille&#8217;s experimental conversion of Debian Jr. to use cdd-dev1, there was nothing else there until today. While I was in the process of populating this directory with the junior-* [...]]]></description>
			<content:encoded><![CDATA[<p>A little remembered fact is that the Debian Jr. project had a directory in the subversion repository of the <a href="http://alioth.debian.org/projects/cdd"><span class="caps">CDD</span></a> project at Alioth.  Aside from Andreas Tille&#8217;s experimental conversion of Debian Jr. to use cdd-dev<sup><a href="#fn1">1</a></sup>, there was nothing else there until today.</p>
<p>While I was in the process of populating this directory with the junior-* metapackages and adding an external reference to the live CD config, it seemed to me that it would be better to move the whole thing to our own repository at Alioth, which I promptly did.  So now you can check it out:</p>
<pre>
$ svn co svn://svn.debian.org/debianjr
</pre>
<p>As well, I registered Debian Jr. at http://cia.vc/ and configured svn so that the <span class="caps">CIA</span> bot will report on the #debian-jr channel at irc.debian.org for every commit.</p>
<p>And finally, I applied for the creation of a debian-commits@lists.alioth.debian.org list.  As soon as the list is created, I will hook it up to the repository so you can subscribe to commit emails.</p>
<p id="fn1"><sup>1</sup> Although this seemed like a good idea at the time, for various reasons I ended up sticking with the single metapackage per category model Debian Jr. uses to this day.  But I have retained this experiment in the repository under svn://svn.debian.org/debianjr/branches/EXP-cdd-dev<br />
in case we ever reverse that decision.</p>
]]></content:encoded>
			<wfw:commentRss>http://syn.theti.ca/2007/04/08/moved-debian-jr-repository-to-alioth/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Launcher for xjig adds open dialog and file conversion</title>
		<link>http://syn.theti.ca/2007/04/02/launcher-for-xjig-adds-open-dialog-and-file-conversion/</link>
		<comments>http://syn.theti.ca/2007/04/02/launcher-for-xjig-adds-open-dialog-and-file-conversion/#comments</comments>
		<pubDate>Mon, 02 Apr 2007 22:47:00 +0000</pubDate>
		<dc:creator>Ben Armstrong</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[jr]]></category>
		<category><![CDATA[kids]]></category>
		<category><![CDATA[xjig]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I have long recognized that to be usable by young kids, xjig really needs a better user interface. So I wrote a launcher, xjig-menu to address the problem. It adds a file open dialog (via zentiy) and support for more file formats (via imagemagick). Update I have put this script in subversion and added a [...]]]></description>
			<content:encoded><![CDATA[<p>I have long recognized that to be usable by young kids, xjig really needs a better user interface.  So I wrote a launcher, <a href="http://svn.debian.org/wsvn/pkg-games/people/synrg/xjig/xjig-menu?op=file&#38;rev=0&#38;sc=0">xjig-menu</a> to address the problem.  It adds a file open dialog (via zentiy) and support for more file formats (via imagemagick).</p>
<p><strong>Update</strong></p>
<blockquote>
<p>I have put this script in subversion and added a man page.  Check it out:</p>
<p>&nbsp;&nbsp;$ svn co svn://svn.debian.org/pkg-games/people/synrg/xjig</p>
<p>or <a href="http://svn.debian.org/wsvn/pkg-games/people/synrg/xjig/?rev=0&#38;sc=0">browse the repository</a>.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://syn.theti.ca/2007/04/02/launcher-for-xjig-adds-open-dialog-and-file-conversion/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>live-helper progress</title>
		<link>http://syn.theti.ca/2007/03/20/live-helper-progress/</link>
		<comments>http://syn.theti.ca/2007/03/20/live-helper-progress/#comments</comments>
		<pubDate>Tue, 20 Mar 2007 23:44:00 +0000</pubDate>
		<dc:creator>Ben Armstrong</dc:creator>
				<category><![CDATA[cd]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[flashdrive]]></category>
		<category><![CDATA[jr]]></category>
		<category><![CDATA[kids]]></category>
		<category><![CDATA[live]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Now that live-helper1 has superceded live-package I have a config for the junior livecd work-in-progress in the debian-live repository: sudo apt-get install live-helper svn co svn://svn.debian.org/debian-live/configs/junior sudo make-live --root junior &#38;&#62;make-live.log This will build a usb image for the gnome-junior package list. If you want a regular iso image or want to try the kde-junior [...]]]></description>
			<content:encoded><![CDATA[<p>Now that live-helper<sup><a href="#fn1">1</a></sup> has <a href="http://lists.alioth.debian.org/pipermail/debian-live-devel/2007-March/000998.html">superceded live-package</a> I have a config for the junior livecd work-in-progress in the debian-live repository:</p>
<pre>
sudo apt-get install live-helper
svn co svn://svn.debian.org/debian-live/configs/junior
sudo make-live --root junior &#38;&gt;make-live.log
</pre>
<p>This will build a <code>usb</code> image for the <code>gnome-junior</code> package list.  If you want a regular iso image or want to try the <code>kde-junior</code> or <code>xfce-junior</code> lists, just make the appropriate changes in <code>config</code>.</p>
<p>I have tested the usb image on a 1G usb key.  At this point I&#8217;m not layering on customizations, but am focusing on basic usability issues: X autoconfiguration, sound, menus, etc.  Once I&#8217;m happy with these I&#8217;ll move on to the kinds of customizations we&#8217;d like to make for children.</p>
<p id="fn1"><sup>1</sup> live-helper is still in <span class="caps">NEW</span> at the moment.  I&#8217;ve been checking it out from svn and building the package myself, though you can also get Daniel&#8217;s packages <a href="http://archive.daniel-baumann.ch/debian/packages/live-helper">from his site</a>.  My config should work with a2-1 or later.</p>
<blockquote>
<h3>update</h3>
<p>For the time being it is best to stick with live-helper from svn, as my configs are being developed to work with trunk, which is still in flux (e.g. config variables are renamed without notice, etc.)</p>
<pre>
svn co svn://svn.debian.org/debian-live/dists/trunk/live-helper
cd live-helper ; debuild -us -uc
</pre>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://syn.theti.ca/2007/03/20/live-helper-progress/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>make-live -p gnome-junior</title>
		<link>http://syn.theti.ca/2007/02/22/make-live-p-gnome-junior/</link>
		<comments>http://syn.theti.ca/2007/02/22/make-live-p-gnome-junior/#comments</comments>
		<pubDate>Thu, 22 Feb 2007 11:25:00 +0000</pubDate>
		<dc:creator>Ben Armstrong</dc:creator>
				<category><![CDATA[cd]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[flashdrive]]></category>
		<category><![CDATA[jr]]></category>
		<category><![CDATA[kids]]></category>
		<category><![CDATA[live]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Ever since I started working towards a Debian Jr. livecd back in November, I&#8217;ve played off and on with qemu, approx and debian-live. Yesterday, I took another kick at the can. Being frustrated with make-live&#8217;s inability to combine two package lists, Daniel Baumann came to my rescue, promptly commiting and then releasing live-package 0.99.23-1 with [...]]]></description>
			<content:encoded><![CDATA[<p>Ever since I started working <a href="http://syn.theti.ca/articles/2006/11/20/towards-a-debian-jr-live-cd">towards a Debian Jr. livecd</a> back in November, I&#8217;ve played off and on with qemu, approx and debian-live.</p>
<p>Yesterday, I took another kick at the can.  Being frustrated with make-live&#8217;s inability to combine two package lists, <a href="http://blog.daniel-baumann.ch/">Daniel Baumann</a> came to my rescue, promptly commiting and then releasing <a href="http://packages.qa.debian.org/l/live-package/news/20070221T211704Z.html">live-package 0.99.23-1</a><br />
with three new package lists for Debian Jr.</p>
<ul>
<li>gnome-junior</li>
<li>kde-junior</li>
<li>xfce-junior</li>
</ul>
<p>So now we have something to play with.  Try it out.  Install live-package 0.99.23-1 or later, configure /etc/make-live.conf to set <span class="caps">LIVE</span>_MIRROR to your favourite mirror (I use the apt caching proxy <strong>approx</strong> to avoid re-downloading the same packages from one run to the next) and pick an image and type to build, e.g.</p>
<p><code></p>
<pre>
$ sudo make-live -t usb -p gnome-junior
</pre>
<p></code></p>
<p>This makes a ./debian-live/binary.img that can be put on a 1G usb key flashdrive.</p>
<p>We have more work to do to polish this.  Particularly, since the <span class="caps">GNOME</span> and <span class="caps">KDE</span> flavours are larger than a 700M CD, some fat could be trimmed.  If you&#8217;ve tried it, I&#8217;d love to hear your ideas on debian-jr@lists.debian.org.</p>
]]></content:encoded>
			<wfw:commentRss>http://syn.theti.ca/2007/02/22/make-live-p-gnome-junior/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Towards a Debian Jr. Live CD</title>
		<link>http://syn.theti.ca/2006/11/20/towards-a-debian-jr-live-cd/</link>
		<comments>http://syn.theti.ca/2006/11/20/towards-a-debian-jr-live-cd/#comments</comments>
		<pubDate>Mon, 20 Nov 2006 11:19:00 +0000</pubDate>
		<dc:creator>Ben Armstrong</dc:creator>
				<category><![CDATA[cd]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[jr]]></category>
		<category><![CDATA[kids]]></category>
		<category><![CDATA[live]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Debian Jr. development revived Recently there has been some lively discussion on the Debian Jr. list about how to arrange an account for a child of 1 to 3 years of age. Suggestions included using set-top box software like Freevo, tailoring DEs with panels and large buttons, using simpler WMs like fvwm, or using an [...]]]></description>
			<content:encoded><![CDATA[<h2>Debian Jr. development revived</h2>
<p>Recently there has been some <a href="http://lists.debian.org/debian-jr/2006/11/msg00012.html">lively discussion</a> on the Debian Jr. list about how to arrange an account for a child of 1 to 3 years of age.  Suggestions included using set-top box software like Freevo, tailoring DEs with panels and large buttons, using simpler WMs like fvwm, or using an &#8220;activity centre&#8221; app like Gcompris.</p>
<p>Now, I respect those parents who hold that a child this young should interact more with the &#8220;real world&#8221;.  While I wouldn&#8217;t go so far as to outright prohibit my young ones from computer use, I can see the wisdom in keeping it to a minimum.  But, for better or worse, our family is one of several who have some experience helping our youngest members use our Debian systems.  We would like to share what we&#8217;ve learned through the Debian Jr. project.</p>
<h2>Getting started with live.debian.net</h2>
<p>To that end, last week I was inspired to follow the <a href="http://live.debian.net/wiki/ISO_Howto">Debian Live <span class="caps">ISO</span> Howto</a> to produce my first rough draft of a Debian Jr. live CD built from scratch on Etch.</p>
<p>For the final product, we&#8217;ll want to use a local partial Debian archive mirror, as it not only optimizes fetching packages for several build iterations, but  also can be kept stable, which is important as we near release.  But for this draft, I ran into trouble building the complete package list to populate the partial mirror, as <code>cdebootstrap</code>, which <code>make-live</code> uses, has no handy <code>--print-debs</code> switch like <code>debootstrap</code> does.  So for now, I rely on <code>approx</code> to cache packages for optimization only.</p>
<h2>A straightforward process to create a working live CD</h2>
<p>The rest of the process was straightforward: using <code>live-package</code>, I created a package list<sup><a href="#fn1">1</a></sup> containing Gnome and the Debian Jr. metapackages, I configured <code>/etc/make-live.conf</code> to point at my proxy, and then I ran the <code>make-live</code> script on the package list.  The end result was ./debian-live/binary.iso, which successfully booted under qemu.</p>
<p>At this stage, there is not much to show.  To be truly useful, the live CD needs to be set up so that children and their guides can immediately find and use the material intended for them.  We will need not only one live CD user, but four, varying in age range and role.  (More about this in a future article.)  However, it is an encouraging start, and shows that we may be able to produce something usable by the time Etch releases.</p>
<p id="fn1"><sup>1</sup> For this exercise, I simply combined <code>/usr/share/make-live/lists/gnome</code> with the <code>junior-*</code> metapackages in Etch, and added <code>mozilla-firefox-gnome-support</code> to satisfy Gnome&#8217;s web browser dependency and cut down on redundancy, resulting in the following list.</p>
<pre>
junior-art
junior-doc
junior-games-card
junior-games-gl
junior-games-net
junior-games-sim
junior-games-text
junior-gnome
junior-internet
junior-kde
junior-math
junior-programming
junior-puzzle
junior-sound
junior-system
junior-toys
junior-typing
junior-writing
mozilla-firefox-gnome-support
eject sudo
console-common locales
gdm gdm-themes gnome-desktop-environment gnome-cups-manager gnome-screensaver
gnome-themes-extras
rhythmbox synaptic
x-window-system-core
</pre>
]]></content:encoded>
			<wfw:commentRss>http://syn.theti.ca/2006/11/20/towards-a-debian-jr-live-cd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mythgame player to run native Linux games</title>
		<link>http://syn.theti.ca/2006/11/05/mythgame-player-to-run-native-linux-games/</link>
		<comments>http://syn.theti.ca/2006/11/05/mythgame-player-to-run-native-linux-games/#comments</comments>
		<pubDate>Sun, 05 Nov 2006 13:55:00 +0000</pubDate>
		<dc:creator>Ben Armstrong</dc:creator>
				<category><![CDATA[games]]></category>
		<category><![CDATA[jr]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mythgame]]></category>
		<category><![CDATA[mythtv]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[I recently started to be aware of a problem in our family. Ever since we configured Mythgame to run Xmame games, we started to ignore native Linux games. This is a shame, because often the quality of such games is much higher, and besides, they are open source, which I strongly believe in. I looked [...]]]></description>
			<content:encoded><![CDATA[<p>I recently started to be aware of a problem in our family.  Ever since we configured Mythgame to run Xmame games, we started to ignore native Linux games.  This is a shame, because often the quality of such games is much higher, and besides, they are open source, which I strongly believe in.</p>
<p>I looked around for help configuring Mythgame to run Linux games, and was unable to find a way to make a game player that would play any Linux game.  So I devised the following solution:</p>
<h3>Step 1: Set up directories for pseudo-roms, command switches and snapshots</h3>
<pre>
<code>
mkdir /usr/share/games/roms
mkdir /usr/share/games/switches
mkdir /usr/share/games/snaps
</code>
</pre>
<h3>Step 2: Define a player in Mythgame</h3>
<pre>
<code>
Player name: Linux
Type: OTHER
Command: %s `cat \`dirname %s\`/../switches/\`basename %s\``
Rom Path: /usr/share/games/roms
ScreenShots: /usr/share/games/snaps
</code>
</pre>
<h3>Step 3: Populate the directories with data</h3>
<pre>
<code>
cd /usr/share/games/roms
ln -s /usr/games/oolite
ln -s /usr/games/starvoyager
cd /usr/share/games/snaps
cp ~synrg/snaps/oolite.png .
cp ~synrg/snaps/starvoyager.png .
cd /usr/share/games/switches
touch oolite
echo "-f" &gt;starvoyager
</code>
</pre>
<h3>Step 4: In Mythgame, &#8220;Scan for Games&#8221;</h3>
<h3>Step 5: Play!</h3>
]]></content:encoded>
			<wfw:commentRss>http://syn.theti.ca/2006/11/05/mythgame-player-to-run-native-linux-games/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Tuxpaint GUI testing with xautomation</title>
		<link>http://syn.theti.ca/2006/10/25/tuxpaint-gui-testing-with-xautomation/</link>
		<comments>http://syn.theti.ca/2006/10/25/tuxpaint-gui-testing-with-xautomation/#comments</comments>
		<pubDate>Wed, 25 Oct 2006 23:52:00 +0000</pubDate>
		<dc:creator>Ben Armstrong</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[jr]]></category>
		<category><![CDATA[l10n]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[tuxpaint]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Tuxpaint could be a poster child for l10n. It has translations now for 68 different locales. The large number of locales poses somewhat of a problem for testing1. Tuxpaint 0.9.16 just released. During the release preparation, the manual testing of all of these locales drove me nearly insane. So to help out next time, I [...]]]></description>
			<content:encoded><![CDATA[<p>Tuxpaint could be a poster child for l10n.  It has translations now for 68 different locales.  The large number of locales poses somewhat of a problem for testing<sup><a href="#fn1">1</a></sup>.</p>
<p>Tuxpaint 0.9.16 <a href="http://www.tuxpaint.org/latest/tuxpaint-0.9.16-press-release-en.php3">just released</a>.  During the release preparation, the manual testing of all of these locales drove me nearly insane.  So to help out next time, I created the following bash script using xautomation<sup><a href="#fn2">2</a></sup>, imagemagick and xprop (from xbase-clients):</p>
<pre>
<code>
#!/bin/bash
testname="tuxpaint"
root_geometry=`xprop -root _NET_DESKTOP_GEOMETRY |cut -d= -f2`
root_x=`echo $root_geometry |cut -d, -f1`
root_y=`echo $root_geometry |cut -d, -f2`
xc=$((root_x/2-1))
yc=$((root_y/2-1))

capture_tuxpaint () {
   tuxpaint --startblank --nolockfile --lang $1 --640x480 --windowed --nosound &#38;
   sleep 1
   xte "mousemove $xc $yc"
   xte "mouseclick 1"
   sleep 1
   xte "key Escape"
   sleep 2
   import -silent -window "Tux Paint" $testname-$1.png
   xte "mousermove -120 -40"
   xte "mouseclick 1"
}

for lang in `tuxpaint --lang help |awk '$1~/^[[:lower:]]/ {print $1}'`; do
   capture_tuxpaint $lang
done
</code>
</pre>
<p>I&#8217;m not entirely happy with it, but it&#8217;s at least a starting point.  Ideally, I&#8217;d make <code>.pat</code> files to use with <code>visgrep</code> to find coordinates for the button images instead of hardwiring the approximate button positions.  Also, the script needs a companion script to configure the system for testing (i.e. perform the locales configuration and install all fonts).</p>
<p>Here are the resulting <a href="http://syn.theti.ca/tuxpaint_tests/index.html">screenshots</a> which show up a few problems with the translations.  It looks like the quit dialog strings have been updated since they were first translated, so now we need retranslation for several languages.  Also, there are some languages, like Swahili and Klingon, for which there are no locales in glibc in Debian.  I&#8217;ll have to talk to the glibc maintainers about that.  And for that matter, I don&#8217;t even know if a <span class="caps">DFSG</span>-free Klingon font exists.</p>
<p>In any event, I&#8217;m delighted with the results, and look forward to using <code>xautomation</code> more for <span class="caps">GUI</span> testing.</p>
<p id="fn1"><sup>1</sup>   For one thing, several languages require special fonts.  For another, there is no way to get tuxpaint to tell you what locales it supports.  Granted, there is <code>--lang help</code>, but this is a crude approximation, as the mapping between language and locale is arbitrarily hardwired (which hmh on #debian-devel irc pointed out to me is just plain wrong).  It doesn&#8217;t help me at all in the arduous task of configuring glibc locales so I can test them.  For that, I need to look at <code>i18n.c</code>.</p>
<p id="fn2"><sup>2</sup> I tried using <code>xmacro</code> at first, but <code>xmacrorec</code> just made my pointer jiggle back and forth.  It seemed like it was updating the position for a short distance, and then X was resetting it back to the former position of the pointer.  Some strange interaction with my window manager, perhaps?  But ultimately I am happier with the <code>xautomation</code> approach anyway.</p>
]]></content:encoded>
			<wfw:commentRss>http://syn.theti.ca/2006/10/25/tuxpaint-gui-testing-with-xautomation/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Geek father</title>
		<link>http://syn.theti.ca/2006/06/18/geek-father/</link>
		<comments>http://syn.theti.ca/2006/06/18/geek-father/#comments</comments>
		<pubDate>Sun, 18 Jun 2006 18:15:00 +0000</pubDate>
		<dc:creator>Ben Armstrong</dc:creator>
				<category><![CDATA[debian]]></category>
		<category><![CDATA[jr]]></category>
		<category><![CDATA[kids]]></category>

		<guid isPermaLink="false"></guid>
		<description><![CDATA[Being Father&#8217;s Day today gives me pause to consider Debian Jr., a project for kids. The goal was to make Debian the OS kids prefer to use. I wanted my own kids to grow up enjoying using a system that puts the fewest barriers in the way to learning about how computers work, and to [...]]]></description>
			<content:encoded><![CDATA[<p>Being Father&#8217;s Day today gives me pause to consider <a href="http://www.debian.org/devel/debian-jr">Debian Jr.</a>, a project for kids.  The goal was to make Debian the OS kids prefer to use.  I wanted my own kids to grow up enjoying using a system that puts the fewest barriers in the way to learning about how computers work, and to making computers work for them.
</p>
<p>
It&#8217;s nearly six years later now: enough time for my second youngest to grow from a toddler to an eight-year-old girl, for my youngest girl to be born and put to the test the lower limit of our &#8220;for kids from 0 to 99&#8221; slogan, for our boy in the middle to grow from a preschooler to a preteen, and for the two oldest girls to turn into teenagers.  Perhaps by the time we have grandkids, Debian Jr. will finally be &#8220;done&#8221;.
</p>
<p>
In that time, our kids have gone from using a VT-420 attached to my Pentium 100, exploring commands using the &#8220;magic&#8221; tab-key at the bash prompt, playing with words and letters in pico, to playing 3D games and creating artwork in the Gimp on the family Sempron 3300+.  And through it all, they&#8217;ve remained happy and proud to use Linux, which none of their friends have.  They have become, I believe, more firmly grounded and comfortable with computing than they might have been using a system &#8220;dumbed down&#8221; for kids.
</p>
<p>
To all the Debian using fathers out there today, Happy Father&#8217;s Day!  May you and your kids&#8217; lives be enriched as you share in the finest OS in the world.</p>
]]></content:encoded>
			<wfw:commentRss>http://syn.theti.ca/2006/06/18/geek-father/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
