<?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>malvasia bianca &#187; Lean / Agile</title>
	<atom:link href="http://malvasiabianca.org/archives/category/lean-agile/feed/" rel="self" type="application/rss+xml" />
	<link>http://malvasiabianca.org</link>
	<description></description>
	<lastBuildDate>Thu, 18 Mar 2010 05:01:45 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>gdc 2010: tuesday</title>
		<link>http://malvasiabianca.org/archives/2010/03/gdc-2010-tuesday/</link>
		<comments>http://malvasiabianca.org/archives/2010/03/gdc-2010-tuesday/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 06:16:14 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2942</guid>
		<description><![CDATA[When showing up at GDC, I leafed through the booklet to see if there was anything I&#8217;d missed.  And, indeed, there was: it seems that the online schedule builder had left off most or all of the keynotes for the summits!  (Or at least did when I looked at it last week, I [...]]]></description>
			<content:encoded><![CDATA[<p>When showing up at GDC, I leafed through the booklet to see if there was anything I&#8217;d missed.  And, indeed, there was: it seems that the online schedule builder had left off most or all of the keynotes for the summits!  (Or at least did when I looked at it last week, I guess that&#8217;s fixed now?)  Oops.  So I decided to go to two of those today instead of what I&#8217;d <a href="http://malvasiabianca.org/archives/2010/03/gdc-2010-schedule/">previously planned</a>, for the Social and Online Games summit and for the Independent Games summit.  (At 10am and 4pm respectively; I guess they don&#8217;t trust indie game makers to be awake at 10am?)</p>
<p>The other thing I discovered today: if you want to zoom when taking pictures on your iPhone, you have to buy a third-party application.  It&#8217;s only digital zoom, of course, but it&#8217;s still convenient to be able to do that right on the phone so you can read pictures of the slides easily right there.</p>
<p>Today&#8217;s notes:</p>
<p><strong>10am: <a href="https://www.cmpevents.com/GD10/a.asp?option=C&#038;V=11&#038;SessID=10431">How Friends Change Everything</a>, by Gareth Davis</strong></p>
<p>He&#8217;s Facebook&#8217;s platform manager; mostly Facebook boosterism and stuff that&#8217;s not too surprising to those in the social games business, but pleasant enough.  As he notes, Facebook is interesting because it puts front and center the possibility of game interaction with people who aren&#8217;t essentially anonymous / pseudonymous (as is the place when playing strangers on XBLA); the idea of games being social in that sense goes back thousands of years, so in that light maybe Facebook games should be considered normal, while video games&#8217; relatively brief history is the exception?</p>
<p>To that end, he thinks that the iconic Facebook game is still ahead of us, and that we should expect to have multiple games with over 100 million players; both of which I quite agree with (there&#8217;s certainly no reason to think that <a href="http://www.bactrian.org/~carlton/dbcdb/1333/"><cite>FarmVille</cite></a> isn&#8217;t going to be surpassed multiple times over.  And, of course, he thinks that Facebook will be at the center of social gaming; hard to argue with him, for the time being.</p>
<p><strong>11:15 am: <a href="https://www.cmpevents.com/GD10/a.asp?option=C&#038;V=11&#038;SessID=10556">The State of Social Gaming: Industry Overview and Update</a>, by Justin Smith</strong></p>
<p>He&#8217;s from Inside Network, which publishes web sites like <a href="http://www.insidesocialgames.com/">Inside Social Games</a> and <a href="http://www.insidefacebook.com/">Inside Facebook</a>.  The talk was what the title suggests; so, for better or for worse, nothing here that I noticed that I wasn&#8217;t already basically familiar with.</p>
<p><strong>11:45 am: <a href="https://www.cmpevents.com/GD10/a.asp?option=C&#038;V=11&#038;SessID=10433">Open Source Secrets: The Software Architecture Behind a Successful Virtual Goods Business</a>, by Timothy Fitz.</strong></p>
<p>He&#8217;s the technical lead at <a href="http://www.imvu.com/">IMVU</a>, and I found this talk hugely refreshing: an ode to continuous deployment and the testing and refactoring that makes this possible.  They have a thick client that they push new versions of once or twice a day, and they update their website 35-50 times a day (though only pushing changes out to ten percent of users); so their cycle is &#8220;commit, go green, push, repeat&#8221;.</p>
<p>They learned this lesson the hard way; they once worked on a release for two and a half months.  Fortunately, they did A/B testing when they did finally release it, which revealed a serious problem in chat functionality; it took them an additional 6 weeks to figure out what went wrong, because two or three minor changes interacted in unexpected ways to produce a bad effect.  Oops.  So they don&#8217;t want to have to go through that again.</p>
<p>Their heavy emphasis on automated testing doesn&#8217;t mean that they don&#8217;t like manual QA: instead, they want the QA people to use their brains, instead of acting as robots.  So QA people think about how to test features (which engineers then automate), and they work to understand the impact of planned changes in interfaces; automated tests work to catch unplanned interface changes.</p>
<p>The title comes from the way they build their client: they realized that they have a lot of good UI experience on the web, so they build on that by embedding Firefox in their client, with custom C++ code only in one narrowly defined area.  They have significant amounts of code in each of C++, Python, and JavaScript, and they find this works better for them than a single-language strategy.</p>
<p><strong>1:45 pm: <a href="https://www.cmpevents.com/GD10/a.asp?option=C&#038;V=11&#038;SessID=10372">Why Are Gaming Veterans Flocking to Social Gaming?</a></strong></p>
<p>This was a panel discussion between Steve Meretzky, Brenda Brathwaite, Brian Reynolds, and Noah Falstein.  Quite pleasant to listen to; two themes that repeated themselves were: 1) they all missed times when games could be developed quickly by small teams, and see social games as recapturing some of that, and 2) if you&#8217;ve been in the industry for more than two decades, you&#8217;ve gone through a lot of changes, and this is another one of those; so having veterans around is valuable for that reason alone.</p>
<p>They didn&#8217;t have any crystal balls or anything, just a pleasant chat.  One of the more amusing lines: Brenda Brathwaite saying that, now, with the emergence of metrics, game design has finally become a game for game designers!</p>
<p><strong>3 pm: <a href="https://www.cmpevents.com/GD10/a.asp?option=C&#038;V=11&#038;SessID=10373">What Social Games Can Learn From Virtual Worlds</a><a>, by Mike Goslin.</a></strong></p>
<p>He&#8217;s the VP of product development at <a href="http://www.hangout.net/">Hangout</a>, and also has Disney theme park experience.  His first claim is that retention is key: it increases lifetime value in obvious ways (lifetime increases) and slightly less obvious ways (people get drawn to status items and subscriptions), and decreases cost of acquisition (virality works better over time, better to invite fewer people over a longer time than to spam everybody you know at once).  He thinks that concurrency leading to a sense of community is important; it certainly seems to be something that Hangout is betting on, and something that Facebook games so far have generally stayed away of.  (<a href="http://www.bactrian.org/~carlton/dbcdb/1334/"><cite>Wild Ones</cite></a> being an exception here.)  They actually use Unity instead of Flash, another exception, and they have games that are gateways to a chat / community area.</p>
<p>As to the title: social games have the advantage that player registration is very easy (because Facebook handles that), but getting players to monetize is harder than in virtual worlds.  To that end, he made a push for subscriptions: not as requirements for players (the way <cite>World of Warcraft</cite> does it), but as an additional layer on top of virtual goods to increase core players&#8217; commitment and to give them a way to get VIP accessories.  (Hangout has a fashion show theme, so the latter probably works well there.)</p>
<p><strong>4:15 pm: <a href="https://www.cmpevents.com/GD10/a.asp?option=C&#038;V=11&#038;SessID=10432">Increasing Our Reach: Designing To Grab and Retain Players</a>, by Randy Smith.</strong></p>
<p>I really enjoyed the talk he gave last year on <a href="http://malvasiabianca.org/archives/2009/03/gdc-2009-thursday/">&#8220;helping your players feel smart&#8221;</a>, so I figured I&#8217;d see what he had to say this year.  And it was my favorite talk of the day, though I certainly won&#8217;t be able to do it justice here: basically, making the point that games have to work at immediacy (make the first 10 minutes awesome to draw players in) as well as depth (to keep players satisfied over time).  And he went through a bunch of games (which I want to play now) showing how they did well or badly on one or both of these.</p>
<p>For immediacy: provide a &#8220;game-toy&#8221; as a player&#8217;s initial experience.  This should package up the game&#8217;s core ideas in a way that&#8217;s as fun to play as possible: have simple, intuitive controls; have strong, juicy affordances; and make it hard to fail, lowering the pressure.  For depth: provide it on demand, so players can go into games as deeply as they wish but don&#8217;t have it forced on them; provide hints to players for depth that they might not otherwise notice (e.g. completion stats on a level, achievements suggesting things to try out); and have both low-level tactical gameplay loops and mid-level strategic loops.</p>
<p>He talks fast.  I hope he&#8217;ll put his slides up somewhere?</p>
<p><strong>5:15 pm: <a href="https://www.cmpevents.com/GD10/a.asp?option=C&#038;V=11&#038;SessID=10411">AI Developers Rant!</a></strong></p>
<p>Insufficiently ranty; a bit of completely gratuitous <a href="http://malvasiabianca.org/archives/2010/02/juvenile-and-adolescent-games/">guy culture</a>, and a Bourdieu reference that might lead to something interesting.  I napped through parts of it.</p>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2010/03/gdc-2010-tuesday/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>mass effect 2</title>
		<link>http://malvasiabianca.org/archives/2010/03/mass-effect-2/</link>
		<comments>http://malvasiabianca.org/archives/2010/03/mass-effect-2/#comments</comments>
		<pubDate>Sun, 07 Mar 2010 07:06:32 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2905</guid>
		<description><![CDATA[The original Mass Effect was one of the games that pushed me into buying an Xbox 360.  I played through it quickly and had a great time, though for whatever reason I haven&#8217;t spent much time thinking about it since then; BioWare seems to make games that push my buttons very well but don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>The original <a href="http://www.bactrian.org/~carlton/dbcdb/918/"><cite>Mass Effect</cite></a> was one of the games that pushed me into buying an Xbox 360.  I played through it quickly and had a great time, though for whatever reason I haven&#8217;t spent much time thinking about it since then; <a href="http://www.bactrian.org/~carlton/dbcdb/166/">BioWare</a> seems to make games that push my buttons very well but don&#8217;t put deep hooks into me afterwards.  Certainly my overall impression was positive enough to get me to go to <a href="http://malvasiabianca.org/archives/2009/03/gdc-2009-friday-bioware-talk/">a GDC talk some BioWare folks gave last year</a> on how they were organizing their work on the sequel; and I&#8217;m very glad I did, because it was my favorite talk of the whole conference.</p>
<p>So I dutifully arranged my gameplay schedule so that I could get a copy of <a href="http://www.bactrian.org/~carlton/dbcdb/1376/"><cite>Mass Effect 2</cite></a> on launch (which is rare for me, I only do that a couple of times a year); and again: great game.  Possibly with a bit more to think about this time; we&#8217;ll see whether or not my brain returns to the game much over the coming months.</p>
<p>My first question: what effects of the <a href="http://malvasiabianca.org/archives/2009/03/gdc-2009-friday-bioware-talk/">aforementioned talk</a> can we see in the final product?  On a basic level, they seem to have executed solidly: the <a href="http://www.youtube.com/watch?v=0a54Vm1ww8w#t=18s">performance problems</a> from the first game are gone (there are twisting corridors in some of the levels that exist only to allow upcoming areas to stream in, but they&#8217;re never long enough to be annoying), and the sequel was released two years and two months after the original, which suggests that they only had a slight slip in their schedule.  In fact, they may not have slipped at all&mdash;BioWare released <a href="http://www.bactrian.org/~carlton/dbcdb/1380/"><cite>Dragon Age</cite></a> in the fall 2009 release slot, and they certainly wouldn&#8217;t have wanted to release two games right at the same time, so for all I know both games were in a releasable state and they just went with <cite>Dragon Age</cite>.  I certainly never believed originally that all three games were going to appear on the same console, but now it seems quite likely that I was mistaken: this console generation is in no hurry to end, the <cite>Mass Effect</cite> team is getting a lot of mileage out of having your character&#8217;s decisions persist from one game to the next, and they&#8217;ve shown that they can produce a game in the series in a couple of years.  So: chalk up one success for lean!</p>
<p>I also suspect that the iterative process that they use affected this game at a fairly basic plot level.  If I wanted to make sure to hit a schedule in a video game, I would put in levels with the most important plot points that my best guess was that I could implement in half of my time budget; and then I&#8217;d add smaller (but still substantial!) chunks of additional material to fill up whatever time was left after I actually got done with the key parts.  They didn&#8217;t do this with the original game, with the result that the game didn&#8217;t run smoothly and they had to make a substantial cut to their original vision in the world where you find Liara.  In the sequel, in contrast, much of the game involves picking up a sequence of new characters, any of which could have been cut without leaving a noticeable gap; indeed, the presence of areas on the Normandy that should contain rooms but that are instead sealed off strongly suggests that they&#8217;ve plotted out further characters, though I don&#8217;t know whether they were part of the original vision or were always planned as DLC.</p>
<p>Furthermore, each of the characters contributes two missions to the plot: the mission where you originally recruit them and their loyalty mission; so, if they ran short on time, they could have jettisoned one of those missions without leaving a huge hole.  Which is, I assume, what happened with Zaeed: he only has a loyalty mission, but no recruitment mission (and he also doesn&#8217;t have a full dialogue tree on ship), so my guess is that there&#8217;s a document somewhere describing a planned recruitment mission, but they simply didn&#8217;t have time to finish that for the launch date.  So they put in the loyalty mission and packaged him as free-for-new-game-buyers DLC to serve as a way to get money from used game buyers.  (I wouldn&#8217;t be at all surprised if one further character shows up as DLC, filling in a hole in the ship&#8217;s map.)</p>
<p>And, happily, the resulting plot worked well for the middle game of a trilogy.  My guess is that they&#8217;ll resolve this iterative implementation tension in a different manner in the third game, because they can&#8217;t very well do another game that&#8217;s quite as heavily focused on recruitment.  But manage it they will; and with two years of information about their rate of progress under their current system, maybe they&#8217;ll feel confident going back to slightly larger chunks.</p>
<p>Which I would be grateful for.  The rhythm of <cite>Mass Effect 2</cite>, while pleasant enough, got to be a bit monotonous for me.  I&#8217;m not sure that I wish that individual missions were longer (and, incidentally, I thought that they showed admirable restraint in the length of the final Omega Relay mission), but I wish that multiple missions had combined a bit better better into larger arcs.  (To use a <cite>Nature of Order</cite> lens, they had Alternating Repetition down pat, but weren&#8217;t so hot with Levels of Scale.)  They did, of course, group the missions into chunks (e.g. the initial recruitment missions versus the latter ones versus the loyalty missions), and there were several hub worlds which contained multiple missions, but neither of those forms of grouping really cohered for me: they felt more like loose aggregations than wholes that were greater than the sum of their parts.</p>
<p>What I most wished for along one those lines was for one of the city worlds to be larger (in the way that the Citadel was in the original, if my memories of it aren&#8217;t excessively rose-tinted): like the missions, I wished there&#8217;d been more levels of scale in the cities.  Here, I <em>am</em> a bit nervous that, if I got what I wanted, I might not entirely like the result&mdash;certainly some of my desire for larger-scale city exploration stems from wanting anything good I&#8217;ve seen in any video game to be in any video game where that makes any sense at all, and with my recent appreciation of focus, I realize that that&#8217;s a dangerous path to follow.  (And <cite>Mass Effect 2</cite> is a great data point in that thesis: they cut out a large number of tradition RPG trappings and traditional shooter trappings, to very good effect!)  In particular, the <cite>Mass Effect</cite> series has its focus, as I see it, to be a sort of homage to the space opera tradition in written and film science fiction; the best works in those traditions always make you feel that there&#8217;s a rich wonderful world to be explored if you could just stop and look around, but they don&#8217;t stop and look around, they continue on with the plot!</p>
<p>But, games aren&#8217;t books, games aren&#8217;t movies; and in games, I have control over where my character is going, so I&#8217;d like to be able to stop and look around a bit more.  At least if doing so is feasible without pushing too much of a strain on development: if the team had decided to, say, make one of the cities four times as large, how many of the characters would they have had to cut out?  If it&#8217;s a couple, and if they could find a way to work missions into that expanded city in a fashion that worked well with the plot, I would say go for it.  Who knows, maybe that&#8217;s one of the ways that they&#8217;ll slice the third game into chunks that they can include or exclude depending on development time: get the core plot lines finished, and then spend half of their remaining time just making the Citadel be as awesome a place as it can be.</p>
<p>So: that&#8217;s some speculations about the game&#8217;s structure and development process, let&#8217;s move on to the characters.  I recently talked about <a href="http://malvasiabianca.org/archives/2010/02/juvenile-and-adolescent-games/">juvenile and adolescent games</a>, ending by complaining about games that are childish in the stereotypical sense of the word, that are steeped in guy culture.  And there&#8217;s certainly a fair amount of that in <cite>Mass Effect 2</cite>&mdash;Shepard is so badass that even getting killed barely puts a dent in her, and large explosions remain one of her key problem-solving strategies.</p>
<p>But there&#8217;s also a fair amount in the game that moves beyond that.  As <a href="http://www.edge-online.com/blogs/we-are-family">others have noted</a>, there&#8217;s an awful lot of family going on in the loyalty missions, and there&#8217;s a fair amount of nuance there.  Adolescence in particular, is a big theme, but adolescence treated respectfully and maturely:  Jacob and Tali both realize that their fathers aren&#8217;t everything that they thought (or at least hoped) they were; Grunt was created fully-formed but still needs to experience adolescence; Jack&#8217;s childhood is horribly ripped from her, and she has to rebuild herself.  Most poignantly for this parent, in Thane&#8217;s loyalty story we see this adolescent conflict from the opposite point of view; returning to the game development process theme from earlier in this post, I don&#8217;t think it&#8217;s too much of a stretch to see Thane&#8217;s absorption in work while his son is growing up as a parable for the human consequences of a traditional game development process.</p>
<p>And then there&#8217;s the game&#8217;s meditations on race, even going so far as to visit the concept of genocide from multiple angles.  I don&#8217;t feel particularly comfortable with my understanding of what the game is doing here, so I&#8217;ll mostly <a href="http://www.theatlantic.com/culture/archive/2010/02/wrex-in-effect-or-deep-space-and-the-negro-injun-krogan-problem/36200/">leave it to others</a> to talk about the matter, but I will say that the series seems to be making a better effort than most to problematize the notion that killing aliens is okay if they look like the bad guys, and that the second game works to add perspectives.</p>
<p>The Paragon / Renegade distinction continues to work reasonably well, as far as binary morality systems go; while I still maxed out my Paragon score, I found myself making more Renegade choices in the sequel than I remember making in the original, which fits the sequel&#8217;s darker tone.  But there&#8217;s certainly more to be done along these lines; I&#8217;d like to see somebody take <a href="http://www.bactrian.org/~carlton/dbcdb/313/">a cue from Jane Jacobs</a> and instead present a conflict between two positive moralities.  (The game&#8217;s treatment of facial scarring in this context is bullshit, though.)</p>
<p>So: the first game in at least a year that I&#8217;ve finished within (approximately) a month after release, and I&#8217;m quite happy with that choice; and Mordin&#8217;s Gilbert and Sullivan parody is awesome and pleasantly unexpected.  (His assistance in your romance is pretty great, too.)  Now I just have to wait until the third game comes out!  Maybe I&#8217;ll just pretend that <cite>Dragon Age</cite> didn&#8217;t come out last year, and treat it as BioWare&#8217;s Fall 2010 release?</p>
<hr />
<p>A by no means comprehensive list of other posts on the game:</p>
<ul>
<li>Jorge Albor on  <a href="http://experiencepoints.blogspot.com/2010/03/rehearsing-movement.html">its handling of Paragon / Renegade</a> decisions and on <a href="http://experiencepoints.blogspot.com/2010/02/sensationalist-sentimental-mass-effect.html">its sentimentality</a>.</li>
<li>Justin Keverne on <a href="http://gropingtheelephant.wordpress.com/2010/02/21/living-with-your-mistakes/">Living with your mistakes</a>.</li>
<li>Chris Dahlen on <a href="http://edge-online.com/blogs/we-are-family">family</a> and on <a href="http://www.edge-online.com/blogs/she-is-beyond-good-and-evil">moving beyond simple morality</a>.</li>
<li>Tea Leaves <a href="http://tleaves.com/2010/02/16/biowary/">compares it to other BioWare games</a>.</li>
<li>Denis Farr on <a href="http://borderhouseblog.com/?p=1423">the game&#8217;s lack of gay male romance options</a>.</li>
<li>Michael Abbott <a href="http://www.brainygamer.com/the_brainy_gamer/2010/02/scrambled.html">puts it in a broader RPG development context</a>.</li>
<li>Trent Polack on <a href="http://www.polycat.net/1973/the-character-of-mass-effect-2/">character</a>.</li>
<li>Evan Narcisse on <a href="http://www.theatlantic.com/culture/archive/2010/02/wrex-in-effect-or-deep-space-and-the-negro-injun-krogan-problem/36200/">the Negro/Injun/Krogan Problem</a> and on <a href="http://www.theatlantic.com/culture/archive/2010/02/kind-of-blue-or-asari-for-your-loss/36275/">the Asari</a>.</li>
<li>Tom Francis <a href="http://www.pentadact.com/index.php/2010-01-30-the-best-and-the-worst-of-mass-effect-2-spoiler-safe">just goes through it point by point</a>.</li>
<li>Matt Allmer does <a href="http://www.gamasutra.com/blogs/MattAllmer/20090710/2335/Mass_Effect_Galaxy_A_Design_Analysis.php">a design analysis</a>.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2010/03/mass-effect-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>tiki farm constraints</title>
		<link>http://malvasiabianca.org/archives/2009/12/tiki-farm-constraints/</link>
		<comments>http://malvasiabianca.org/archives/2009/12/tiki-farm-constraints/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 06:33:17 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2678</guid>
		<description><![CDATA[(First, a few notes: 1) I have a conflict of interest with respect to the game I&#8217;m discussing here.  I haven&#8217;t worked on it and I don&#8217;t have any particular inside information about anything I&#8217;m speculating about here, else I&#8217;d have to be rather more careful about what I write, but obviously I want [...]]]></description>
			<content:encoded><![CDATA[<p>(First, a few notes: 1) I have a <a href="http://malvasiabianca.org/archives/2009/09/change-of-scene/">conflict of interest</a> with respect to the game I&#8217;m discussing here.  I haven&#8217;t worked on it and I don&#8217;t have any particular inside information about anything I&#8217;m speculating about here, else I&#8217;d have to be rather more careful about what I write, but obviously I want it to succeed. 2) Normally, games don&#8217;t have a canonical URL to refer to, so I link to a page I create for them in <a href="http://www.bactrian.org/~carlton/dbcdb/games">my database</a>.  Facebook games (and Flash games, for that matter) <em>do</em> have a URL, but, after some reflection, I am going to maintain the same practice, in order to maintain my automatic game-to-blog back references and to avoid treating them in a non-parallel and potentially second-class manner.  I will add the link to the game on the database page, though, so if you want to play them, two clicks will get you to the right place.  3) Facebook games change a lot more quickly than disc-based games, so anything that I say here could be inaccurate by the time you read this.  In fact, with the magic of A/B testing, the game that I see could be a significantly different game from the game that you see, even if we&#8217;re playing at the same time!)</p>
<p>We launched a couple of games last week: <a href="http://www.bactrian.org/~carlton/dbcdb/1334/"><cite>Wild Ones</cite></a> is a social networking take on <cite>Worms</cite>, while <a href="http://www.bactrian.org/~carlton/dbcdb/1332/"><cite>Tiki Farm</cite></a> is our latest entry into the farm genre.  And they&#8217;re both a lot of fun, go play them!  (And send me lots of goo gun ammo&#8230;)  I want to talk about <cite>Tiki Farm</cite> in particular for a while, because it&#8217;s managed to work its way into my brain in ways that I didn&#8217;t expect.  (Aside from its theme song, which I find myself whistling at random moments&#8230;)</p>
<p>In <a href="http://www.bactrian.org/~carlton/dbcdb/1333/">typical competing farm games</a>, the main constraint (assuming your goal is to level up and accumulate in-game cash) is the player&#8217;s time: you can plow or plant all you want, so as long as you&#8217;re willing to put in the time to return to your farm to harvest the crops, you can make quite a bit of in-game money.  Actually, that&#8217;s not quite true: <cite>FarmVille</cite> puts a limit on the size of your farm unless which you can only expand by having many friends playing the game or by paying its publisher real money (not in-game money); that&#8217;s a pretty clever idea from a virality / profit point of view, but it&#8217;s still a fairly coarse-grained cap.  (Though, I should add, one which emphasizes that the main constraint is the player&#8217;s time: do you really want to spend the time to regularly plow and harvest 60 plots?  And of course withering crops are another way in which the player&#8217;s time is emphasized as a constraint.)</p>
<p>In contrast, the primary constraint in <cite>Tiki Farm</cite> is the number of plots available: you start off with only ten or so plots available, and you only get access to two more plots each level.  Which left me a bit nonplussed at first&mdash;that&#8217;s kind of a lame artificial constraint, no?&mdash;but as I made it through the initial levels, my opinion of that feature changed.  For one thing, I found that not having to worry about picking the size (in terms of plots) of my farm relaxed me: a whole set of conscious and subconscious worries went away.  (It&#8217;s similar, perhaps to the way I relaxed and started enjoying <a href="http://www.bactrian.org/~carlton/dbcdb/1101/"><cite>Deus Ex</cite></a> a lot more once I <a href="http://malvasiabianca.org/archives/2008/09/deus-ex-one-week-in/">hit the ammo caps</a>.)</p>
<p>But, for another thing, having such a clear constraint focused my game play in a way that it&#8217;s not always focused in other similar games.  As <a href="http://www.bactrian.org/~carlton/dbcdb/363/">the Theory of Constraints</a> teaches us, having a constraint isn&#8217;t a bad thing: assuming that your constraint is a sensible one, you can use it to focus your actions, by subordinating the rest of your system to that constraint.  What that means in <cite>Tiki Farm</cite> is that you want to use your other resources in such a way that your primary constraint is being used at its maximum capacity.  In other words: you always want to be growing something in those plots.</p>
<p>Which is easy enough to accomplish: the in-game currency (shells) is plentiful enough that you shouldn&#8217;t be in serious danger of not being able to buy seeds.  In particular, you can sell any crop for more than you paid for it, so as long as you make the habit of replanting as soon as you harvest, you&#8217;ll be fine.  At which point the question becomes: how frequently do you want to return to the game?  Once you&#8217;ve made that choice, it&#8217;s pretty obvious which crop to choose (yams during my initial burst of power-leveling in the game), and you can get a nice little economy going, periodically earning enough excess profit to let you buy other items to decorate your island.</p>
<p>Or so I thought, until the first time when I wanted to do a purchase that would last me overnight.  I&#8217;d been planting yams (a 15 minute crop); I wanted to shift to a longer timespan crop, and the obvious candidate was taro root (an 8-hour crop).  The problem is that yams sell for 23 shells each, while taro root costs 45 shells; I&#8217;d get enough higher profit for taro root to be a better choice overnight, but I couldn&#8217;t afford to fill my plots with taro root based on the sales I&#8217;d just made!  (It didn&#8217;t help that I&#8217;d recently sunk some of my profits into a very stylish cocktail chair.)</p>
<p>So, basically, working strictly on a throughput basis wasn&#8217;t good enough: a changing time investment mix led to a changing crop mix led to a changing fixed cost investment mix.  In lean terms: I&#8217;d been concentrating on muda (waste, in the form of excess inventory of shells), but all of a sudden I needed to worry about mura (unevenness) instead!  To be concrete, it&#8217;s a lot easier to plan a straightforward <cite>Tiki Farm</cite> economy if I&#8217;m going to play once a day at the same time (just pick a good 1-day crop and stick to it) than if I&#8217;m going to play multiple times during the day and (of course) not play at all while I&#8217;m sleeping.</p>
<p>An interesting lean lesson there; I still want to spend some time analyzing the economy to figure out the tradeoffs between inventory, throughput, and time.  But without such a clear constraint, I&#8217;m not sure these issues would have arisen in a fashion that grabbed me so much.</p>
<p>Though, of course, the constraint isn&#8217;t as clear as I&#8217;m painting it.  For one thing, you use plots to grow crops that you plant from seed; you can also buy trees, however, which bear fruit indefinitely after you plant them.  So, in effect, a tree is a plot that you can purchase and that&#8217;s particularly inflexible; if you want to grow your economy as quickly as possible, you should siphon off your profits towards trees.</p>
<p>And that&#8217;s only if you&#8217;re playing solo.  If you&#8217;re playing with friends, you can give each other gifts; a basic question there is, are trees better gifts or seeds?  If somebody gives you a seed, it&#8217;s pure profit when it grows, so if you have enough friends giving you seeds, the amount of shells you can make increases vastly.  But trees give you shells in perpetuity, so they&#8217;re probably still a win in the long-term; then again, you have a fixed island size as a hard constraint, so it&#8217;s conceivable that the time scales in question are long enough that trees aren&#8217;t as big a win as I think they are.  (I certainly won&#8217;t turn up my nose at either sort of gift from my friends!)</p>
<p>And, while plot size is a major constraint, it&#8217;s not fixed: the number of plots does increase as you level up.  This suggests another potential win for seeds: they give you opportunities to get experience points more quickly, earning you more plots.  I should actually take the time to understand experience point opportunities better: in particular, do all seeds give you the same XP, or does it vary with the seeds?  And, again, the social nature of the game increases the complexity here: for a while, a significant component of my leveling up was spending time clearing bugs off of my friends&#8217; farms.</p>
<p>Speaking of which just what are the implications of helping others&#8217; farms?  As far as I can tell, opportunities to help others&#8217; farms in <cite>FarmVille</cite> are largely artificial (I never see raccoons on my own farm); is that true for <cite>Tiki Farm</cite>, too, or does clearing bugs off of a friends&#8217; farm have a real effect?  If it does, it&#8217;s a double-edged one: on the one hand, I&#8217;m helping their crops grow faster; but, on the other hand, I&#8217;m depriving them of the opportunity to earn XP from clearing their own bugs.  I kind of hope that clearing bugs is a real effect; if so, we have a much gentler version of the crop-stealing mechanics that are apparently present in Chinese farming games.</p>
<p>Fun stuff; I hope the game does well, there&#8217;s more there than meets the eye.  Incidentally, if you&#8217;re not already my friend on Facebook, please <a href="http://www.facebook.com/davidcarlton">send me a friends request</a>; just identify yourself as a blog reader if you&#8217;re not sure that I know who you are.  Or, alternatively, don&#8217;t send me a friends request: the only items I post on Facebook are stuff forwarded from <a href="http://twitter.com/davidcarlton">my Twitter feed</a> plus Facebook-game-related stuff.  So if you want to see the Facebook game items or if you don&#8217;t use Twitter, then Facebook is the place to go; otherwise, you&#8217;re better off just sticking with following me on Twitter.  (If you want my microblogging at all!)</p>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/12/tiki-farm-constraints/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>random links: december 6, 2009</title>
		<link>http://malvasiabianca.org/archives/2009/12/random-links-december-6-2009/</link>
		<comments>http://malvasiabianca.org/archives/2009/12/random-links-december-6-2009/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 04:27:08 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2626</guid>
		<description><![CDATA[
How to lose an argument online.
I&#8217;d been thinking for a while that &#8216;hardcore&#8217; was only useful as a term in a polemic I had no interest in making.
Three false constraints on game design challenges.
I&#8217;m reluctantly coming to the conclusion that I won&#8217;t be able to avoid playing Dragon Age.  (But I&#8217;ll hold off until [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://sethgodin.typepad.com/seths_blog/2009/11/how-to-lose-an-argument-online.html">How to lose an argument online.</a></li>
<li><a href="http://geekfeminism.org/2009/11/21/metagaming-casual-vs-hardcore/">I&#8217;d been thinking for a while that &#8216;hardcore&#8217; was only useful as a term in a polemic I had no interest in making.</a></li>
<li><a href="http://lostgarden.com/2009/11/three-false-constraints_29.html">Three false constraints on game design challenges.</a></li>
<li><a href="http://vorpalbunnyranch.blogspot.com/2009/12/zevran-arainai.html">I&#8217;m reluctantly coming to the conclusion that I won&#8217;t be able to avoid playing <cite>Dragon Age</cite>.</a>  (But I&#8217;ll hold off until after <cite>Mass Effect 2</cite>&#8230;)</li>
<li><a href="http://www.continuitygame.com/">A nice flash game puzzle concept.</a>  (Via <a href="http://www.chewingpixels.com/the-week-in-links-27/">Chewing Pixels</a>.)</li>
<li><a href="http://math.ucr.edu/home/baez/week285.html">I had no idea that the roots of integer polynomials made such an interesting picture.</a></li>
<li><a href="http://drgamelove.blogspot.com/2009/12/permanent-death-complete-saga.html">Ben has made a book out of his Permadeath saga, and it&#8217;s wonderful to read.</a></li>
<li><a href="http://www.agileadvice.com/2009/10/12/linkstoagileinfo/seven-essential-teamwork-skills/">A pleasantly sensible list of teamwork skills.</a>  (Via <a href="http://twitter.com/DavidChilcott/status/6067125263">@DavidChilcott</a>.)</li>
<li><a href="http://www.cbc.ca/canada/saskatchewan/story/2009/11/26/sk-watermelons-911.html">Canadian Football fans are kind of weird.</a> (Via <a href="http://twitter.com/timbray/status/6088981157">@TimBray</a>.)</li>
<li><a href="http://scicom.ucsc.edu/SciNotes/0901/pages/geeks/geeks.html">The downside of geek social cues.</a>  (Via <a href="http://twitter.com/martinfowler">@martinfowler</a>, though Twitter is insisting that I instead credit <a href="http://twitter.com/sylvanstargazer/status/6275742187">@sylvanstargazer</a>.)</li>
<li><a href="http://uxmagazine.com/strategy/less-is-better">I continue to be a 37 Signals fan.</a>  (Via <a href="http://twitter.com/dhh/status/6226200701">@dhh</a>, unsurprisingly.)</li>
<li><a href="http://code.google.com/speed/public-dns/">Google has a public DNS server now?</a>  That could be useful.  (Via <a href="http://twitter.com/therealfitz/status/6311954825">@therealfitz</a>.)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/12/random-links-december-6-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>random links: november 24, 2009</title>
		<link>http://malvasiabianca.org/archives/2009/11/random-links-november-24-2009/</link>
		<comments>http://malvasiabianca.org/archives/2009/11/random-links-november-24-2009/#comments</comments>
		<pubDate>Wed, 25 Nov 2009 04:57:22 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Managing]]></category>
		<category><![CDATA[Movies]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2565</guid>
		<description><![CDATA[
Gerald Weinberg is, sadly, in poor health.

Never tried doing Rock Band vocals this way&#8230;  (Takes 15 seconds or so to actually start.)

(Via @dan_schmidt.)

R.I.P., Brother Blue.  (Via @scottros.)
The difference between motion and action.  (Via @harlan_knight.)
An unforeseen design problem.  (Via @shawnr.)
Nice perspective on slow programming languages.
Glad to see non-Miyazaki Ghibli getting some love.
Some [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://www.caringbridge.org/visit/geraldmweinberg">Gerald Weinberg is, sadly, in poor health.</a></li>
<li>
<p><a href="http://www.youtube.com/watch?v=IoqZwiDU8jg">Never tried doing <cite>Rock Band</cite> vocals this way&#8230;</a>  (Takes 15 seconds or so to actually start.)</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/IoqZwiDU8jg&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/IoqZwiDU8jg&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<p>(Via <a href="http://twitter.com/dan_schmidt/status/5571432258">@dan_schmidt</a>.)</p>
</li>
<li><a href="http://www.wbur.org/2009/11/05/obit-brother-blue">R.I.P., Brother Blue.</a>  (Via <a href="http://twitter.com/scottros/status/5630027908">@scottros</a>.)</li>
<li><a href="http://steveblank.com/2009/11/09/relentless-–-the-difference-between-motion-and-action/">The difference between motion and action.</a>  (Via <a href="http://twitter.com/harlan_knight/status/5734156538">@harlan_knight</a>.)</li>
<li><a href="http://flann4.wordpress.com/2009/11/03/unforeseen-design-problem/">An unforeseen design problem.</a>  (Via <a href="http://twitter.com/shawnr/status/5777217448">@shawnr</a>.)</li>
<li><a href="http://prog21.dadgum.com/52.html">Nice perspective on slow programming languages.</a></li>
<li><a href="http://omohide.com/1402/whisper-of-the-heart-review-article/">Glad to see non-Miyazaki Ghibli getting some love.</a></li>
<li><a href="http://www.skytopia.com/project/fractal/mandelbulb.html">Some great pictures on here.</a>  (Via <a href="http://dubiousquality.blogspot.com/2009/11/friday-links_20.html">Dubious Quality</a>.)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/11/random-links-november-24-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>pomodori</title>
		<link>http://malvasiabianca.org/archives/2009/11/pomodori/</link>
		<comments>http://malvasiabianca.org/archives/2009/11/pomodori/#comments</comments>
		<pubDate>Wed, 11 Nov 2009 05:29:37 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2486</guid>
		<description><![CDATA[So far, the talk I attended at Agile 2009 that has had the most impact on me was Renzo Borgatti&#8217;s talk on the pomodoro technique:

I&#8217;d heard a bit about the technique before, enough to know that it tells you to break your work up into 25 minute chunks and to try to really focus during [...]]]></description>
			<content:encoded><![CDATA[<p>So far, the talk I attended at Agile 2009 that has had the most impact on me was <a href="http://agile2009.agilealliance.org/node/246">Renzo Borgatti&#8217;s talk on the pomodoro technique</a>:</p>
<div style="width:425px;text-align:left" id="__ss_1915255"><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=yousaytomatoisaypomodoro-090827111506-phpapp01&#038;stripped_title=you-say-tomato-i-say-pomodoro-1915255" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=yousaytomatoisaypomodoro-090827111506-phpapp01&#038;stripped_title=you-say-tomato-i-say-pomodoro-1915255" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<p>I&#8217;d heard a bit about the technique before, enough to know that it tells you to break your work up into 25 minute chunks and to try to really focus during those chunks, avoiding distractions and interruptions.  It turns out that there&#8217;s more to the technique than that, however: it gives guidelines about breaks between chunks (3-5 minute breaks normally, longer breaks after every four chunks), there&#8217;s a whole planning and estimating mechanic you&#8217;re supposed to use with it (starting each day estimating your tasks in terms of pomodori, and reviewing your day at the end), and there are also mechanisms for tracking and actively tabling your interruptions.</p>
<p>What really sold me about the talk, though, was that, 25 minutes into it, a timer went off, and we all took a break for a few minutes!  We took another break 25 minutes later; I think that it&#8217;s a great idea to break a 90-minute presentation into three chunks like that.  As it happened, I&#8217;d been feeling over the course of the conference that I hadn&#8217;t been getting enough done over the evenings; so, that evening, I decided to give the pomodoro technique a try, and really focus on things for 25 minutes at a time.</p>
<p>Which turned out to work remarkably well: I probably got as much done that evening of the conference as in the other four evenings put together.  Despite which I didn&#8217;t use the technique over the next month or so: I was pairing on a project in my last weeks at Sun, we were doing quite a good job concentrating as it was, and it didn&#8217;t seem to be a good time to introduce something new.</p>
<p>When I started work at Playdom, though, I picked up the technique again, and I&#8217;m glad I did.  When I describe the technique to other people, one frequent concern that comes up is: doesn&#8217;t the timer going off interrupt your flow?  For me, though, my problem is almost always too little flow rather than too much; and the pomodoro technique works great with that.  I can stop myself from wandering for 25 minutes if I try, and I know I have a little release valve coming up in the not-too-distant future if I need one.  And it occasionally happens that I&#8217;m banging my head against something unproductively and need the cooling off period between pomodoros to get myself thinking that I really should take a different approach.  Also, it can be a big help if the next task seems frightening in some way: you&#8217;re not faced with wandering through something unknown and probably unpleasant for an unbounded amount of time, you&#8217;re faced with spending 25 minutes trying to shed a bit more light on your current situation, which is a much more palatable prospect.  And I think the explicit guidelines for both shorter and longer breaks are helpful for me.</p>
<p>I&#8217;ve tried other aspects of the technique as well; they have had benefits, but I&#8217;m less sold on them.  The planning period is a helpful reminder that I should think about all the different things that I&#8217;m considering working on (my next actions for my various projects, in GTD speak), and pomodoros give me permission to carve out a bounded amount of time to work on tasks that are important but not urgent.  Having said that, I haven&#8217;t found much of a benefit from the actual process of estimating how many pomodoros a task will take at the start of the day: it doesn&#8217;t seem to be solving any problems that I have, and I have other mechanisms for telling myself when I&#8217;m getting stuck.  (E.g. if I&#8217;m not doing multiple git commits over the course of a pomodoro, that might be a sign that things are going well.)  So I&#8217;m stopping that for the time being.</p>
<p>And there&#8217;s one aspect of the pomodoro technique that I&#8217;m actively dubious about.  One of the core rules is that the pomodoro is indivisible: if you don&#8217;t spend the whole 25 minutes working on what you planned, then it doesn&#8217;t count as a pomodoro, and you&#8217;re strongly encouraged to have as many pomodoros count as possible.  There&#8217;s a bit of wiggle room here&mdash;if your plan at the start of the day has tasks that you think will take less than one pomodoro, then you can combine multiple of them in your plan to make a single pomodoro, and if you finish a task within the first five minutes of a pomodoro, then you&#8217;re encouraged to cancel the pomodoro, with the feeling that it was &#8220;really&#8221; finished in the last pomodoro.  If you go beyond the first five minutes, though, you&#8217;re supposed to stick it out until the timer rings: in particular, the technique recommends that you spend spare time overlearning, delving into the area in question more deeply than you would otherwise.</p>
<p>Don&#8217;t get me wrong, overlearning is a great idea: it&#8217;s a similar philosophy to always doing a bit of refactoring once you&#8217;ve got your code working.  Except that the pomodoro philosophy is different: you don&#8217;t always do it, you only do it if there&#8217;s time left on your pomodoro, and the amount of overlearning you should do is proportional to the time left.  And that just seems bizarre to me.</p>
<p>Take this blog post, for example: I have a pomodoro timer running as I type this.  If the timer goes off when I&#8217;ve got it done but not properly edited, I don&#8217;t want the pomodoro technique encouraging me to hit publish so that I won&#8217;t have a big gap to fill in my next pomodoro.  After I&#8217;ve hit the publish button, probably a bit of overlearning wouldn&#8217;t be a bad idea&mdash;e.g. this blog post is suggesting an idea for another blog post I could write, so maybe I&#8217;ll take some notes on that.  But that sounds like a good idea no matter how much time is left on the pomodoro; and those notes will probably take about 5 minutes, so what am I supposed to do if I turn out to have 15 minutes left on my timer when I hit the publish button?</p>
<p>So that doesn&#8217;t make much sense to me.  The result is that I&#8217;m not feeling any guilt about either canceling a pomodoro if I finish a task in the middle of one or about not canceling the pomodoro and launching into a second task without a break in the same pomodoro.  (Hmm, I probably should have a preference for one or the other of those solutions, maybe the former?)</p>
<p>But the core idea seems sound, and many of the surrounding ideas have seeds of something that I quite like (e.g. the concept of overlearning), even if I&#8217;m not convinced by their details.</p>
<p>Some resources I&#8217;ve found useful:</p>
<ul>
<li><a href="http://www.pomodorotechnique.com/">The main pomodoro technique site.</a>  In particular, it contains a 45-page PDF book giving more details into the technique.</li>
<li><a href="http://www.pragprog.com/titles/snfocus/pomodoro-technique-illustrated"><cite>Pomodoro Technique Illustrated</cite><cite>.</cite></a>  I haven&#8217;t read the final version, but the author had a beta version on his web site for a while, and I quite liked it.</li>
<li><a href="http://pomodoro.ugolandini.com/">The pomodoro timer I&#8217;m using on my Mac.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/11/pomodori/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>random links: november 8, 2009</title>
		<link>http://malvasiabianca.org/archives/2009/11/random-links-november-8-2009/</link>
		<comments>http://malvasiabianca.org/archives/2009/11/random-links-november-8-2009/#comments</comments>
		<pubDate>Mon, 09 Nov 2009 05:21:58 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2471</guid>
		<description><![CDATA[
Michael Feathers on testable Java.  Good advice, that is of course relevant far beyond Java.
Quite the Venn diagram. (Via @kateri_t.)

James Paul Gee on games and teaching.


(Via @HackerChick.)  Lots to think about here; I hope the VGHVI folks can help me figure it out.

A remarkable meandering about games, genres, Japan, and countless other things. [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://freepdfhosting.com/5bc82ce737.pdf">Michael Feathers on testable Java.</a>  Good advice, that is of course relevant far beyond Java.</li>
<li><a href="http://1.bp.blogspot.com/_MLXFXcbMy4Q/SsX25Q-0xCI/AAAAAAAACtk/PdZZCMBOB68/s1600/VennDiagram_jesus.gif">Quite the Venn diagram.</a> (Via <a href="http://twitter.com/kateri_t/status/5345672076">@kateri_t</a>.)</li>
<li>
<p><a href="http://www.edutopia.org/digital-generation-james-gee-video">James Paul Gee on games and teaching.</a></p>
<p><object width="400" height="292"><param value="flvPath=http://www.edutopia.org/media/dg/expert_james_gee/expert_james_gee.flv&#038;pPath=http://www.edutopia.org/media/dg/expert_james_gee/expert_james_gee.jpg" name="FlashVars"/><param value="best" name="quality"/><param value="false" name="play"/><param value="http://www.edutopia.org/media/videofalse.swf" name="movie"/><embed id="video_embed" width="400" height="292" type="application/x-shockwave-flash" src="http://www.edutopia.org/media/videofalse.swf" play="false" pluginspage="http://www.macromedia.com/go/getflashplayer" name="video" quality="best" flashvars="flvPath=http://www.edutopia.org/media/dg/expert_james_gee/expert_james_gee.flv&#038;pPath=http://www.edutopia.org/media/dg/expert_james_gee/expert_james_gee.jpg"/><br />
</object>
<p>(Via <a href="http://twitter.com/HackerChick/status/5337221016">@HackerChick</a>.)  Lots to think about here; I hope the <a href="http://vghvinet.ning.com/forum/topics/james-paul-gee-on-games-and">VGHVI folks</a> can help me figure it out.</p>
</li>
<li><a href="http://kotaku.com/5395084/can-videogames-be-our-friends">A remarkable meandering about games, genres, Japan, and countless other things.</a>  (Via <a href="http://twitter.com/stephentotilo/status/5372656012">@stephentotilo</a>.)</li>
<li><a href="http://www.testingreflections.com/node/view/8318">Thoughts on the meaning of maturity.</a>  (Via <a href="http://twitter.com/markhneedham/status/5526463949">@markhneedham</a>.)</li>
<li><a href="http://wordgamesblog.wordpress.com/2009/10/27/quotable-jenova-chen/">Great quote from Jenova Chen.</a></li>
<li><a href="http://www.acidforblood.net/2009/10/uncharted-2-among-thieves.html">I wasn&#8217;t expecting to be so interested in <cite>Uncharted 2</cite>, but there&#8217;s clearly a lot there.</a></li>
<li><a href="http://www.u2shirts.com/mosaic/index.html">Cool use of mosaic images.</a>  (Via <a href="http://www.kelleyeskridge.com/avoidance-behavior/">Kelley Eskridge</a>.)</li>
<li><a href="http://mwclarkson.blogspot.com/2009/10/denouement-of-rings.html">Yeah, why don&#8217;t games have cooldown periods at the end?</a>  (*sob* <cite>Shenmue 2</cite> *sob*.)</li>
<li><a href="http://asknicola.blogspot.com/2009/10/asterix-and-golden-jubilee.html">Asterix is turning 50!</a></li>
<li><a href="http://questionablecontent.net/view.php?comic=1526">For whatever reason, I particularly liked this Questionable Content.</a></li>
<li><a href="http://savetherobot.wordpress.com/2009/11/03/my-first-google-wave-project-the-yo-mama-bot/">Not sure yet what I think about Google Wave, but this opened my eyes a bit.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/11/random-links-november-8-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>this is why you write the failing test first</title>
		<link>http://malvasiabianca.org/archives/2009/09/this-is-why-you-write-the-failing-test-first/</link>
		<comments>http://malvasiabianca.org/archives/2009/09/this-is-why-you-write-the-failing-test-first/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 03:32:42 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2306</guid>
		<description><![CDATA[I finished adding multiuser support to my memory project this weekend.  I&#8217;d added the ability for users to log in and out while I was on vacation this summer, but I hadn&#8217;t actually linked up the users with their lists of items to memorize.
The relevant models are a User model and an Item model. [...]]]></description>
			<content:encoded><![CDATA[<p>I finished adding multiuser support to my <a href="http://malvasiabianca.org/archives/2008/08/memory-project-is-deployed/">memory project</a> this weekend.  I&#8217;d added the ability for users to log in and out while I was on vacation this summer, but I hadn&#8217;t actually linked up the users with their lists of items to memorize.</p>
<p>The relevant models are a User model and an Item model.  A user has_many :items; part of the Item class definition was the following:</p>
<p><code>
<pre>
class Item &lt; ActiveRecord::Base
  ...
  def self.next
    find(:first,
         &#58;order =&gt; "next_review_time",
         :conditions =&gt; pending_item_condition)
  end

  def self.pending_review_count
    count :conditions =&gt; pending_item_condition
  end

  def self.pending_item_condition
    ["next_review_time &lt;= ?", Time.now.utc]
  end
  ...
end</pre>
<p></code></p>
<p>As written, those would, for example, add up the total count of all users&#8217; pending items; I wanted instead to be able to ask those questions on a per-user basis.</p>
<p>The has_many declaration gives me a collection user.items for each user.  And if I pass a block to has_many, I can add methods to that collection; that seemed more stylish than, for example, adding a user parameter to the above methods.  So I modified my User unit tests to make sure that there were items owned by multiple users, and copied over the Item unit tests for the above methods, replacing, e.g. calls to Item.next with calls to user.items.next.</p>
<p>Which I expected to fail, complaining about an undefined method &#8220;next&#8221;.  But not only did the tests not fail for that reason, they in fact passed, ignoring the items for other users!  At first, I assumed I&#8217;d made a mistake in my tests, but no: when I replaced the calls to user.items.next with calls to Item.next, they failed as expected.  So the functionality I wanted really did seem to be working without my having to lift a finger.</p>
<p>But how?  I could imagine some sort of method_missing implementation that forwarded functions on the collection to functions on Item.  But if it were doing that, how was the functionality getting restricted to items owned by the user in question?  I would hope that it wasn&#8217;t doing a broader search in SQL and then subsequently ditching inappropriate items in Ruby; sure enough, a look at the logs shows that the SQL queries that are issued do include the user_id restriction.</p>
<p>I haven&#8217;t verified it yet, but the only hypothesis that I&#8217;ve come up with so far is that the collection objects that are returned by user.items start off life as clones of Item; so they have all of the class methods on Item.  And then some key method (find, say) is overridden so that the user restriction always gets applied, and all other lookup methods are implemented in terms of that key method, so they get the restriction in question for free.</p>
<p>Which, once I thought about it, makes sense.  Consider Item, not as a class but as an object: you can think of it as a collection object, namely the collection of all items.  With that in mind, it makes sense for other objects that are also collections of items to be closely related to it, and if we can express that tight linkage in terms of the implementation, by thinking of Item as the primordial collection of items, so much the better!</p>
<p>An interesting journey.  At first, I thought I must be writing bad tests; then I thought I was seeing magic; and eventually I came around to a realization that what I was seeing made a lot of sense conceptually, so I was happy that I was working with a language and a framework where I could get such sensible behavior for free.  And, no matter what, it was a useful reminder that there&#8217;s a reason why the TDD cycle is red, green, refactor, not just green (with simultaneous test+implementation changes), refactor: if I&#8217;d done the latter, I would have missed a useful learning opportunity.</p>
<p>Though there&#8217;s a postscript to the story.  I&#8217;d learned that my original implementation idea was unnecessary; the question remains, though, whether the original implementation idea was a good one or not.  And, after giving it some thought, I decided that I preferred having these methods in the User model rather than in the Item model.  If I left them in Item, it would be easy to write code representing concepts like &#8220;what&#8217;s the next item that any user will be asked?&#8221; or &#8220;what&#8217;s the total pending item count across all users?&#8221;  Which aren&#8217;t natural questions to ask, so I was setting myself up for bugs by leaving those methods in Item.</p>
<p>So, with my tests in place, I moved them to User:</p>
<p><code>
<pre>
class User &lt; ActiveRecord::Base
  ...
  has_many :items do
    def next
      find(:first,
           &#58;order =&gt; "next_review_time",
           :conditions =&gt; pending_item_condition)
    end

    def pending_review_count
      count :conditions =&gt; pending_item_condition
    end

    def pending_item_condition
      ["next_review_time &lt;= ?", Time.now.utc]
    end
  end
  ...
end</pre>
<p></code></p>
<p>Leaving me where I expected to end up when I began, but having taken a much more interesting route.</p>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/09/this-is-why-you-write-the-failing-test-first/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>random links: september 6, 2009</title>
		<link>http://malvasiabianca.org/archives/2009/09/random-links-september-6-2009/</link>
		<comments>http://malvasiabianca.org/archives/2009/09/random-links-september-6-2009/#comments</comments>
		<pubDate>Sun, 06 Sep 2009 15:00:28 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[School]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2296</guid>
		<description><![CDATA[
I mentioned Roger&#8217;s Operation KTHMA last time, but it&#8217;s actually started now and sounds awesome enough that I&#8217;ll mention it again: day 1, day 2, day 3.
Our whole household was playing Bunni Game: How We First Met last week.  (You should be able to see my world at this link.)
Victorian Homes of the Mission [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>I mentioned Roger&#8217;s <a href="http://livingepic.blogspot.com/2009/08/cams-3212-greek-historical-writings-as.html">Operation KTHMA</a> last time, but it&#8217;s actually started now and sounds awesome enough that I&#8217;ll mention it again: <a href="http://livingepic.blogspot.com/2009/09/operation-kthma-day-1-as-it-actually.html">day 1</a>, <a href="http://livingepic.blogspot.com/2009/09/operation-kthma-day-2.html">day 2</a>, <a href="http://livingepic.blogspot.com/2009/09/operation-kthma-day-3.html">day 3</a>.</li>
<li>Our whole household was playing <a href="http://lostgarden.com/2009/07/bunni-beta-and-casual-connect.html"><cite>Bunni Game: How We First Met</cite></a> last week.  (You should be able to see my world <a href="http://bunnibunni.com/view.php?user_id=1153461">at this link</a>.)</li>
<li><a href="http://www.casadecrepit.com/archives/001817.html">Victorian Homes of the Mission District</a>, great pictures and commentary.</li>
<li><a href="http://www.developsense.com/2009/08/testing-vs-checking.html">Michael Bolton&#8217;s distinction between testing and checking</a> seems useful.</li>
<li><a href="http://www.newsweek.com/id/214585">100 year old color photos of Russia.</a>  (Via <a href="http://twitter.com/timbray/status/3763445546">@timbray</a>.)</li>
<li><a href="http://lookspring.co.uk/writing/games-that-make-me-cry">Margaret Robertson on games making us cry.</a>  (Via <a href="http://twitter.com/kateri_t/status/3742528586">@kateri_t</a>.)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/09/random-links-september-6-2009/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>change of scene</title>
		<link>http://malvasiabianca.org/archives/2009/09/change-of-scene/</link>
		<comments>http://malvasiabianca.org/archives/2009/09/change-of-scene/#comments</comments>
		<pubDate>Wed, 02 Sep 2009 04:59:18 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2267</guid>
		<description><![CDATA[One of the GDC sessions I attended this year was a charming panel discussion including, among other people, Steve Meretzky of Infocom fame.  Which got me curious what he was up to these days&#8212;I don&#8217;t generally expect people from that era to still be active in the game industry&#8212;and was pleasantly surprised to find [...]]]></description>
			<content:encoded><![CDATA[<p>One of the<a href="http://malvasiabianca.org/archives/2009/03/gdc-2009-friday/"> GDC sessions I attended this year</a> was a charming panel discussion including, among other people, Steve Meretzky of <a href="http://www.bactrian.org/~carlton/dbcdb/274/">Infocom</a> fame.  Which got me curious what he was up to these days&mdash;I don&#8217;t generally expect people from that era to still be active in the game industry&mdash;and was pleasantly surprised to find out that he&#8217;s the VP of game design at a company, <a href="http://www.playdom.com/">Playdom</a>, that&#8217;s located in Mountain View all of a mile and a half away from my house.</p>
<p>So I filed away their existence in the back of my brain (well, actually, in my GTD someday/maybe list) and mostly forgot about them.  Not completely: at the time, I <a href="http://malvasiabianca.org/archives/2009/04/jobs-and-roles/">was thinking</a> about possibly changing jobs.  But my general conclusion was that I was in general rather happy with my current job, and that while I was starting to feel a bit antsy, I&#8217;d probably prefer to change jobs towards the end of 2009 than towards the middle.  I sent out a few feelers at the time, but none of them paid off, so I was happy enough to shelve the issue.</p>
<p>It turned out, though, that one of the feelers wasn&#8217;t dead, it had just gotten buried for a bit.  It resurrected itself in the middle of the summer, and shortly after that happened, I got cold-called by a recruiter who mentioned Playdom!  So I sent in my resume, and went in to interview.  And I&#8217;m very glad I did, they look like they&#8217;ll be a very nice match for what I&#8217;m looking for.  In fact, going down the checklist from the <a href="http://malvasiabianca.org/archives/2009/04/jobs-and-roles/">aforementioned blog post</a>, they hit on almost every front: a local game company working in small, cross-functional teams with very fast iterations and which would expose me to many domain and technological areas that I&#8217;m not very well steeped in yet.  (No Erlang, but I can certainly live with that.  It&#8217;s also not clear to me how many of the agile technical practices they use, but that&#8217;s an area where I should be able to contribute if doing so turns out to be useful; anyways, right now I&#8217;m a lot more curious to see what a fast-moving team looks like on the business side than the technical side.)</p>
<p>They focus on social games.  Which might seem like a bad fit for me, because my taste in games is <a href="http://www.bactrian.org/~carlton/dbcdb/recently-played">fairly traditional</a>.  Actually, though, it&#8217;s something that I&#8217;m rather excited about, for two reasons.  (Or perhaps one reason with two sides?)  One reason is an aesthetic one, or a cultural one: a new art medium is a gift that we should cherish, so the last thing that I want is to see it have its practitioners bore into a tiny area of the design space, ignoring vast reaches of what is possible.  That is, unfortunately, exactly what several major players in the game industry have been doing over the last decade, so I&#8217;m very glad to see companies like Playdom consciously setting their sights elsewhere.</p>
<p>The other is perhaps the business side of the same argument: one excellent book that I&#8217;ve read recently is <a href="http://www.bactrian.org/~carlton/dbcdb/1276/"><cite>The Innovator&#8217;s Dilemma</cite></a>.  (Ironically, I read it because my current boss made it sound so interesting.)  The thesis of that book is that highly successful companies, exactly by doing such a good job of paying attention to their best customers, end up refining their current technologies to make them more and more appealing to the core of their customer base.  As part of this, they discount customers that are on the fringes (low-margin customers, frequently with somewhat different interests); new companies can then take slightly modified (and less technologically advanced) versions of those same technologies and use them to build up a following in a new customer base.  (And, more importantly, using a new value network: their suppliers, their income sources, their distributors are all different from those of established companies.)  What starts as a small market soon grows to a quite respectable size: also, the companies in the new market can typically improve the quality of their technology at a faster pace than companies in the original market, so after a few years, the new companies end up making products that are technically quite adequate for the majority of customers in the original market (but with lower prices and otherwise more appealing!), which quickly spells doom for those original companies.  And, as far as I can tell, Playdom looks like a textbook example of a company at the early stages of such market innovation; if they follow the course outlined in that book, the sky&#8217;s the limit.</p>
<p>Of course, future promise is one thing, but the question remains of how interesting their current games are.  Some of their early games seemed to me more like experiments than compelling packages (though they&#8217;re experiments that many people were happy to play); within the last month, though, they launched <a href="http://apps.facebook.com/mobsters-two"><cite>Mobsters 2</cite></a>, which I&#8217;m really quite enjoying.  It took me a few days to figure out how the mechanisms in the game worked, what they meant and how they interacted together; that was enough time to get me sufficiently hooked that, even though I&#8217;m in general not uncovering too much more in the mechanics, I still happily log into the game a couple of times a day to do some leveling up.  (And, as I said before, they iterate quickly, so for all I know they&#8217;ll introduce interesting new mechanics next week, next month!)  So if that&#8217;s what their second wave of games looks like, I have high hopes for what they&#8217;ll be producing a year or two from now.</p>
<p>Ironically, the one part of the game that I <em>haven&#8217;t</em> explored is its social aspects: I&#8217;m currently not much of a Facebook user (follow me on <a href="http://twitter.com/davidcarlton">Twitter</a> instead if you want to know my hour-to-hour activities), so I don&#8217;t have a big pool of friends to draw from to expand my mob.  I would like to change that: if you&#8217;re a blog reader, feel free to <a href="http://www.facebook.com/davidcarlton">add me as a friend</a>; if you do so, please give the game a try and ask me to join your mob!  (Do Facebook friend requests include a note?  If not, and if you&#8217;re not sure I know you, just e-mail me or leave a comment or something&mdash;I&#8217;m happy to add any blog reader as a friend.)</p>
<p>I&#8217;ve very much enjoyed my current job: it&#8217;s been a wonderful place to spend the last few years, I&#8217;ll miss my coworkers very much, and it looks like the product is going through an exciting phase in its development right now that I wish I could see the other side of.  Having said that, I&#8217;m very excited to be joining Playdom at the end of the month, and I can&#8217;t wait to see where that journey will lead me.</p>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/09/change-of-scene/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>random links: august 30, 2009</title>
		<link>http://malvasiabianca.org/archives/2009/08/random-links-august-30-2009/</link>
		<comments>http://malvasiabianca.org/archives/2009/08/random-links-august-30-2009/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 16:00:08 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2246</guid>
		<description><![CDATA[
Tanuki testicle art.

One day in kanban land.
Pixie Driven Development.
A plain-text version of the Declaration of Independence.  (Via Kelley Eskridge.)
Rock Band as a music theory teacher.
Maira Kalman on Thomas Jefferson and Benjamin Franklin.  (Via @bos31337 and The Edge of the American West.)
The red handprints are a particularly nice touch.
Another way to approach poems/stories.
I never [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://www.pinktentacle.com/2009/06/all-purpose-tanuki-testicles-prints-by-kuniyoshi/">Tanuki testicle art.</a></li>
<li>
<a href="http://blog.crisp.se/henrikkniberg/2009/06/26/1246053060000.html">One day in kanban land.</a></li>
<li><a href="http://lizkeogh.com/2009/07/01/pixie-driven-development/">Pixie Driven Development.</a></li>
<li><a href="http://www.freerepublic.com/focus/f-news/911907/posts">A plain-text version of the Declaration of Independence.</a>  (Via <a href="http://www.kelleyeskridge.com/independence/">Kelley Eskridge.</a>)</li>
<li><a href="http://www.brainygamer.com/the_brainy_gamer/2009/08/rock-band-university.html"><cite>Rock Band</cite> as a music theory teacher.</a></li>
<li>Maira Kalman on <a href="http://kalman.blogs.nytimes.com/2009/06/25/time-wastes-too-fast/">Thomas Jefferson</a> and <a href="http://kalman.blogs.nytimes.com/2009/07/30/can-do/">Benjamin Franklin.</a>  (Via <a href="http://twitter.com/bos31337/status/2374301205">@bos31337</a> and <a href="http://edgeofthewest.wordpress.com/2009/07/31/shes-at-it-again/">The Edge of the American West</a>.)</li>
<li><a href="http://brinstar.tumblr.com/post/157003941">The red handprints are a particularly nice touch.</a></li>
<li><a href="http://ludusnovus.net/2009/08/12/silent-conversation-released/">Another way to approach poems/stories.</a></li>
<li><a href="http://forgetomori.com/2009/science/best-optical-illusion-ever-this-year/">I never get tired of seeing new optical illusions.</a></li>
<li><a href="http://news.cnet.com/8301-17938_105-10273119-1.html">Glad to see I won&#8217;t be reverse-polish-deprived when/if my current HP calculator bites the dust.</a></li>
<li>
<p><a href="http://www.youtube.com/watch?v=WfBlUQguvyw">Nice use of webcams:</a></p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/WfBlUQguvyw&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/WfBlUQguvyw&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<p>(Via <a href="http://twitter.com/garb/status/2484709945">@garb</a>.)</p>
</li>
<li><a href="http://www.dailymail.co.uk/news/worldnews/article-1187338/Off-wall-The-astonishing-3D-murals-painted-sides-buildings-trompe-loeil-artist.html">Trompe l&#8217;oeil murals.</a>  (Via <a href="http://twitter.com/scottmccloud/status/2853609930">@scottmccloud</a>.)</li>
<li>
<p><a href="http://www.youtube.com/watch?v=vdp511xayj0">Japan still gets weirder games than we do.</a>  (Yes, the game apparently involves writing songs which are then sung in game by a polar bear.)</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/vdp511xayj0&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/vdp511xayj0&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<p>(Via <a href="http://twitter.com/tinysubversions/status/2874606312">@tinysubversions</a>.)</p>
</li>
<li><a href="http://www.rolcats.com/">Glad the meme still has some life in it.</a></li>
<li><a href="http://www.nytimes.com/2009/08/16/magazine/16beatles-t.html?_r=2&#038;pagewanted=all">I can&#8217;t wait for the <cite>Beatles</cite> game.</a></li>
<li><a href="http://sydneypadua.com/2dgoggles/lovelace-the-origin-2/">The secret history of Ada Lovelace.</a>  (Via <a href="http://twitter.com/elenielstorm/status/3486784082">@elenielstorm</a>.)</li>
<li><a href="http://emshort.wordpress.com/2009/08/23/idea-to-implementation/">Thoughts on the order in which to implement a video game.</a> Interesting how many of the ones that don&#8217;t work seem compatible with agile.  (Via <a href="http://twitter.com/kateri_t/status/3491445391">@kateri_t</a>.)</li>
<li><a href="http://livingepic.blogspot.com/2009/08/cams-3212-greek-historical-writings-as.html">This is going to be awesome.</a>  (Or, maybe, a complete disaster!  I doubt it, though.)</li>
<li><a href="http://www.above49.ca/2009/08/we-need-more-bookmarks.html">Nels chiming in further on the save game issue.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/08/random-links-august-30-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>galison, strands of practice, and trading zones</title>
		<link>http://malvasiabianca.org/archives/2009/07/galison-strands-of-practice-and-trading-zones/</link>
		<comments>http://malvasiabianca.org/archives/2009/07/galison-strands-of-practice-and-trading-zones/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 16:57:48 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2209</guid>
		<description><![CDATA[The last chapter of Galison&#8217;s Image &#38; Logic is about the relationship between (breaks in) different strands of practice within physics.  If you treat the notion of paradigms sufficiently seriously, you&#8217;re led to think that theoretical breaks and experimental breaks come hand in hand: the two sides of a paradigm shift are incommensurable, so [...]]]></description>
			<content:encoded><![CDATA[<p>The last chapter of Galison&#8217;s <a href="http://www.bactrian.org/~carlton/dbcdb/1246/"><cite>Image &amp; Logic</cite></a> is about the relationship between (breaks in) different strands of practice within physics.  If you treat the notion of paradigms sufficiently seriously, you&#8217;re led to think that theoretical breaks and experimental breaks come hand in hand: the two sides of a paradigm shift are incommensurable, so the change in the theoretical viewpoint also means that experimentalists on either side of the break can&#8217;t really talk to each other, because they&#8217;re referring to different objects, different concepts, even if they use the same words.</p>
<p>Which Galison takes issue with, both for conceptual and historical reasons.  As he says, &#8220;When a radically new theory is introduced, we would expect experimenters to use their best-established instruments, not their unproven ones.&#8221; (p. 799)  And indeed, as he discusses on pp. 811&ndash;812, when theorists were fighting over the nature of space and time, they took great care to translate their theories into terms that could be tested by the experimentalists of the time; different paradigms fought, one of them (special relativity) won, but the results were agreed to by all parties, there was no incommensurability that the notion of a paradigm shift might suggest.</p>
<p>So, rather than breaking at the same time, the experimental practices and theoretical practices underwent changes at different times.  In fact, Galison introduces a third strand here, namely instrumentalists, with its own pattern of breaks, and several other practices (electrical engineers, the military)make a showing at various points in the book as well.</p>
<p>And the fact that breaks occur at different times in different strands, Galison claims, is a source of strength.  One analogy to think of here is a brick wall: when you line up bricks, you want them overlapping rather than sitting directly on top of each other.  That way, the weak points of one row are supported by the strong points of adjacent rows.</p>
<p>So: what does this have to do with agile?  The first strands with breaks that come to mind are the TDD cycle.  You don&#8217;t simultaneously write new code and new tests: instead, you write the test first, giving a break in the testing strand (manifesting itself as a red bar), and subsequently advance in the implementation strand (manifesting itself as that red bar changing to green).  And then, of course, you refactor; I&#8217;m not sure yet if this is a break in a third strand or if it&#8217;s a further advance in the implementation strand.  (For that matter, the refactoring can be an advance in the testing strand, as well.)</p>
<p>One special aspect of this example: while the strands don&#8217;t have their breaks at the same time, they have their breaks in close sequence, in a specific order.  Is this a general property of best practice in interwoven traditions?  I tend to think not; having said that, it doesn&#8217;t seem all that unnatural to me for breaks in one tradition to be followed reasonably closely by breaks in closely related traditions.  So perhaps if you measure this with a sufficiently coarse granularity, these breaks look simultaneous, giving rise to the paradigm shift idea; I&#8217;m not sure.</p>
<p>Another example from the agile realm: iterations. Here we have breaks in the implementation, in the testing, and in the customer requests.  And they&#8217;re all supposed to happen at the same time!  Which looks dubious from Galison&#8217;s point of view; does that mean that Galison is wrong, that iterations are a bad idea, that I&#8217;m misreading him or stretching his analogy, or that these breaks aren&#8217;t in fact simultaneous?</p>
<p>It certainly seems likely that I&#8217;m stretching Galison&#8217;s analogy; having said that, I think you can also make a case that these breaks <em>aren&#8217;t</em> simultaneous.  It&#8217;s not the case that Customers approach the planning meeting that kicks off an iteration with a blank mind: they&#8217;ve been thinking about what&#8217;s most important to work on next, and while they&#8217;ll certainly use feedback during the planning meeting to inform the details of what the team should do in the next iteration, there&#8217;s not a split in the Customer practice right before the planning meeting.  And there isn&#8217;t one right after the planning meeting, either: the Customer has to spend a fair amount of time at the start of the iteration helping the rest of the team understand what that iteration&#8217;s stories means.  And breaks in the testing and implementation strands don&#8217;t happen simultaneously in this example any more than they do in the TDD example.</p>
<p>This last case, in fact, brings us to the second point of Galison&#8217;s chapter.  The chapter is titled &#8220;The Trading Zone: Coordinating Action and Belief&#8221;, and he claims that these &#8220;adjacent&#8221; strands can&#8217;t naturally talk to each other without misunderstandings.  Instead, members of different strands have to work quite hard to find a way to work together that allows the two strands to learn from each other, to find a common way forward that advances both of their interests.  (C.f. Star and Griesemer&#8217;s notion of <a href="http://malvasiabianca.org/archives/2009/06/boundary-objects-and-solid-principles/">boundary</a> <a href="http://malvasiabianca.org/archives/2009/06/a-taxonomy-of-boundary-objects/">objects</a>, which Galison comments favorably on in a note on page 47.)  To do this, the parties develop pidgins or creoles; these languages aren&#8217;t enough to allow complete understanding between the two sides, but they are enough to let both sides agree on some amount of focused exchange.</p>
<p>I particularly enjoyed the example that Galison gave on pp. 820&ndash;827 of a pidgin language developed during World War II to allow theoretical physicists and electrical engineers to discuss the construction of radar and microwave devices using circuit diagrams.  Returning to our programming examples: while, in the TDD case, there&#8217;s relatively little scope for misunderstanding (since the same people are doing the testing and the implementing!), we can nonetheless see unit tests as a pidgin language (or perhaps more of a creole) in this case.  In fact, maybe that&#8217;s exactly the strength of unit testing: forcing a creole language into the situation sets up an explicit trading zone where one would have only been latent without that language, and in doing so it makes you aware of the split betwen the latent testing and implementing strands, increasing the strength of your work.  The example of Customers, testers, and implementers working together is more clear-cut: agile suggests that the three groups spend quite a bit of time talking together, and acceptance tests give an example of a pidgin language that they can use to coordinate their activities.</p>
<p>And, as with the second agile example, Galison suggests reinforcing these trading zones with a shared physical space, to increase the chances that active trading will happen.  The physical layout of the MIT Radiation Lab was designed to increase the amount of chatter between different groups; he gives examples of areas in later buildings designed to support particle physics research that are intended to increase the chances that members from different specialties will spend time together.</p>
<p>Though one aspect of agile practice that Galison&#8217;s text, to me, <em>doesn&#8217;t</em> clearly support is an erasing of boundaries: Galison seems happy to have these specialties to remain largely distinct, whereas the agile ideal is the concept of <a href="http://www.agilemodeling.com/essays/generalizingSpecialists.htm">generalizing specialist</a>.  Or at least that&#8217;s the agile idea in the context of implementation; agile draws a particularly bright boundary between the business and implementation sides.  (Though the lean tradition prefers to create an explicit bridge there in the person of the Chief Engineer.)  Galison&#8217;s book is full of examples of fertile cross-pollination between disciplines, and even of individuals moving between disciplines (from meteorology to particle physics!), but the disciplines nonetheless retain their own individual character.</p>
<p>What should agile learn from this latter difference?  I can think of two arguments in favor of breaking down such boundaries in the agile tradition: one is that it increases knowledge sharing (and the fertilization that results), and the other is that it increases resource flexibility.  Galison certainly agrees with the former, but, as we&#8217;ve seen above, provides other mechanisms by which it can occur.  He doesn&#8217;t, as far as I&#8217;m aware, address the latter; certainly something for me to think about in the future.</p>
<p>It&#8217;s an excellent book. I&#8217;ve only discussed the last chapter here, but I really enjoyed the more historical sections that preceded it.  <a href="http://malvasiabianca.org/archives/2009/07/the-perils-of-particle-physics/">Great stories</a>, great pictures, I found something new and interesting in every section.</p>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/07/galison-strands-of-practice-and-trading-zones/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>a taxonomy of boundary objects</title>
		<link>http://malvasiabianca.org/archives/2009/06/a-taxonomy-of-boundary-objects/</link>
		<comments>http://malvasiabianca.org/archives/2009/06/a-taxonomy-of-boundary-objects/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 05:17:55 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2149</guid>
		<description><![CDATA[The original paper on boundary objects gives a partial taxonomy of boundary objects; given my earlier thought experiment, I thought I&#8217;d see if I could find programming analogues to any parts of their classification.
Star and Griesemer&#8217;s first type of boundary objects are Repositories:
These are ordered &#8216;piles&#8217; of objects which are indexed in a standardized fashion. [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://sss.sagepub.com/cgi/content/abstract/19/3/387">original paper on boundary objects</a> gives a partial taxonomy of boundary objects; given my <a href="http://malvasiabianca.org/archives/2009/06/boundary-objects-and-solid-principles/">earlier thought experiment</a>, I thought I&#8217;d see if I could find programming analogues to any parts of their classification.</p>
<p>Star and Griesemer&#8217;s first type of boundary objects are <strong>Repositories</strong>:</p>
<blockquote><p>These are ordered &#8216;piles&#8217; of objects which are indexed in a standardized fashion.  Repositories are built to deal with problems of heterogeneity caused by differences in unit of analysis.  An example of a repository is a library or museum.  It has the advantage of modularity.  People from different worlds can use or borrow from the &#8216;pile&#8217; for their own purposes without having directly to negotiate differences in purpose.</p></blockquote>
<p>At first, I thought this type was kind of banal, corresponding perhaps to collection objects in software, but now I think it&#8217;s more interesting than that. Reading their description more closely, I don&#8217;t get a collection object vibe: collections in the programs that I write usually contain a quite uniform group of objects, and those objects are used for one or two specific purposes; the above, however, emphasizes heterogeneity and differences in purpose.</p>
<p>That last sentence, in particular, reminds me of mashups; if you combine that with standardized indexing, I&#8217;m getting a very strong RESTful vibe from this.  In a RESTful application, names are key but internal structure can vary from location to location, and outsiders can use standard tools to access the data that the application exposes and borrow it for their ends.</p>
<p>Next in their taxonomy is the <strong>Ideal Type</strong>:</p>
<blockquote><p>This is an object such as a diagram, atlas or other description which in fact does not accurately describe the details of any one locality or thing.  It is abstracted from all domains, and may be fairly vague.  However, it is adaptable to a local site precisely because it is fairly vague; it serves as a means of communicating and cooperating symbolically&mdash;a &#8216;good enough&#8217; road map for all parties.  An example of an ideal type is the species.  This is a concept which in fact described no specimen, which incorporated both concrete and theoretical data and which served as a means of communicating across both worlds.  Ideal types arise with differences in degree of abstraction.  They result in the deletion of local contingencies from the common object and have the advantage of adaptability.</p></blockquote>
<p>My first reaction here was to try to make an analogy with abstract types; indeed, they use the word &#8220;abstracted&#8221; in their second sentence, and I can easily see their species example being used as an example in an OO textbook.  The only thing that gives me some amount of pause when proposing this analogy is their use of it as a talisman communication tool between multiple parties, many of which may turn out to want to know more about the details of the objects in question.</p>
<p>In contrast, in my programming experience, if I have a concrete subclass of an abstract class, it&#8217;s more typical for almost all users to only care about the abstraction, while perhaps only one user cares about the concrete class.  Though, rereading what they say, maybe their species example suggests that the correct analogy to the Ideal Type is to (any sort of) class, with the non-ideal objects being instances, rather than subclasses?  Either way, though, I get the feel that I&#8217;m missing something in the way that I was missing something with my earlier analogy between a Repository and a collection: is there another analogy waiting to be found here that&#8217;s a bit grubbier in the way that the RESTful example is?</p>
<p>Third up are <strong>Coincident Boundaries</strong>:</p>
<blockquote><p>These are common objects which have the same boundaries but different internal contents.  They arise in the presence of different means of aggregating data and when work is distributed over a large-scale geographic area.  The result is that work in different sites and with different perspectives can be conducted autonomously while cooperating parties share a common referent.  The advantage is the resolution of different goals.  An example of coincident boundaries is the creation of the state of California itself as a boundary object for workers at the museum.  The maps of California created by the amateur collectors and the conservationists resembled traditional roadmaps familiar to us all, and emphasized campsites, trails and places to collect.  The maps created by the professional biologists, however, shared the same outline of the state (with the same geo-political boundaries), but were filled in with a highly abstract, ecologically-based series of shaded areas representing &#8216;life zones&#8217;, an ecological concept.</p></blockquote>
<p>This one was hard for me to grapple with.  (And <a href="http://www.deregulo.com/facetation/2004/09/boundary-object-susan-leigh-star-and.html">I&#8217;m not the only one</a>; that link, incidentally, gives references to extensions of this taxonomy.)  Even in the physical world, it&#8217;s a bit hard for me to tell examples of this: is the concept really restricted to large-scale geographic areas?  That seems a bit limiting.</p>
<p>The paper in question discusses the Museum of Vertebrate Zoology at the University of California, Berkeley; is it a boundary object?  I tend to think so: quoting from the definition on page 393,</p>
<blockquote><p>This is an analytic concept of those scientific objects which both inhabit several intersecting social worlds (see the list of examples in the previous section) <em>and</em> satisfy the informational requirements of each of them.  Boundary objects are objects which are both plastic enough to adapt to local needs and the constraints of the several parties employing them, yet robust enough to maintain a common identity across sites. They are weakly structured in common use, and become strongly structured in individual-site use. These objects may be abstract or concrete. They have different meanings in different social worlds but their structure is common enough to more than one world to make them recognizable, a means of translation.</p></blockquote>
<p>And certainly the MVZ is robust enough to maintain a common identity, but it means something different to a postdoc working there, to somebody who has spent her career there, to a visiting researcher, to a university administrator, to an outside funder, to a janitor.  (Indeed, much of the paper is devoted to showing such differences in meanings.)  Given that, I would treat the MVZ as a Coincident Boundary: though not spread over a large-scale geographic area, it&#8217;s still a place which means different but related things to different people.</p>
<p>Which, to be honest, doesn&#8217;t help me directly with finding programming analogies; maybe a function body in the input to a compiler that means different things to the lexer, the parser, the optimizers, the code generator, the debug info generator?  Actually, I think maybe the more important analogy is a bit more conceptual and not internal to programming: maybe we could think of a domain object as an example of a Coincident Boundary that means one thing to a programmer, another thing to a database administrator, a third thing to an system architect, a fourth thing to an XP Customer, a fifth thing to a marketer, a sixth thing to an end user.  I&#8217;m not completely sold on that, but I do think that domain objects are boundary objects of some sort, and they&#8217;re a better fit to Coincident Boundaries than anything else in Star and Griesemer&#8217;s taxonomy.</p>
<p>The last entry in their taxonomy is <strong>Standardized Forms</strong>:</p>
<blockquote><p>These are boundary objects devised as methods of common communication across dispersed work groups.  Because the natural history work took place at highly distributed sites by a number of different people, standardized methods were essential, as discussed above.  In the case of the amateur collectors, they were provided with a form to fill out when they obtained an animal, standardized in the information it collected.  The results of this type of boundary object are standardized indexes and what Latour would call &#8216;immutable mobiles&#8217; (objects which can be transported over a long distance and convey unchanging information).  The advantages of such objects are that local uncertainties (for instance, in the collecting of animal species) are deleted.</p></blockquote>
<p>Class interfaces (whether concrete or abstract) are examples here, as are generalizations such as duck types or the sorts of dependencies that C++ templates impose on their parameter types.  For example, templates don&#8217;t care about the details of an iterator as long as it exposes its increment operator under the name ++, its equality operator under the name ==, and so forth.</p>
<p>Network protocols are another example: indeed, what is better than TCP/IP at ensuring that data &#8220;can be transported over a long distance and convey unchanging information&#8221;?  Stick it on the wire in a Standardized Form, and it will come back out the other end.  We can use our RESTful example from above in this context as well: if you want disparate clients to all be able to talk to each other, it helps a lot if everybody speaks in terms of GET, POST, PUT, and DELETE.</p>
<p>And, as we did with the last example of the taxonomy, we can step away from the code a bit.  An acceptance test is a Standardized Form: if the Customer and the engineers want to agree on what it means to complete that task, it sure helps if they can point to a Standardized Form for specifying that completion, and an acceptance test that both sides can read (and run!) is an excellent form for that agreement to take, for deleting uncertainties.</p>
<p>Interesting stuff.  I&#8217;m curious what other classes of boundary objects people have come up with, and I should probably spend more time thinking about examples outside of the strict domain of code.  And I really like the lens it gives on the messiness, the grunge, the lack of sterility of the RESTful approach: if you pin down enough so that people can talk to each other while leaving enough of the details undetermined so that different groups can use the entity in question for significantly different ends, unexpected synergies can flourish.</p>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/06/a-taxonomy-of-boundary-objects/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>random links: june 21, 2009</title>
		<link>http://malvasiabianca.org/archives/2009/06/random-links-june-21-2009/</link>
		<comments>http://malvasiabianca.org/archives/2009/06/random-links-june-21-2009/#comments</comments>
		<pubDate>Sun, 21 Jun 2009 16:24:26 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2123</guid>
		<description><![CDATA[
Some evidence for anybody curious how well being good at Rock Band drums transfers to real drums.

The neuroscience of illusion; I&#8217;ll embed one of the videos so you can see the kind of thing they&#8217;re discussing.

(Via Kelley Eskridge.)

A pleasant network logic puzzle game.  (Via User Friendly, which makes it essentially impossible to cite them [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://dubiousquality.blogspot.com/2009/05/design-brilliance-and-timing-window.html">Some evidence for anybody curious how well being good at <cite>Rock Band</cite> drums transfers to real drums.</a></li>
<li>
<p><a href="http://www.wired.com/print/science/discoveries/magazine/17-05/ff_neuroscienceofmagic">The neuroscience of illusion</a>; I&#8217;ll embed one of the videos so you can see the kind of thing they&#8217;re discussing.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/_qQX-jayixQ&#038;rel=0&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;hl=en&#038;feature=player_embedded&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/_qQX-jayixQ&#038;rel=0&#038;color1=0xb1b1b1&#038;color2=0xcfcfcf&#038;hl=en&#038;feature=player_embedded&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="425" height="344"></embed></object>
<p>(Via <a href="http://www.kelleyeskridge.com/magic-happens-in-the-brain/">Kelley Eskridge</a>.)</p>
</li>
<li><a href="http://www.gamesforwork.com/games/play-12292-Colourshift-Flash_Game">A pleasant network logic puzzle game.</a>  (Via <a href="http://www.userfriendly.org/links/">User Friendly</a>, which makes it essentially impossible to cite them correctly as a link referrer.)</li>
<li><a href="http://blog.naxos.com/2009/05/19/podcast-the-worlds-largest-instrument-bertolozzis-bridge-music/">Miranda asked me to buy her a copy of Bertolozzi&#8217;s <cite>Bridge Music</cite> about five seconds after the podcast started, and that was before she knew that the sounds the piece uses were actually generated by banging on the Mid-Hudson Bridge.</a></li>
<li><a href="http://fastgames.com/littlewheel.html"><cite>Little Wheel</cite></a>, a short adventure game.  Pleasant enough, and a neat world, but there&#8217;s also some interesting design questions. In particular, should point-and-click adventure games always show you the current clickable objects in a given scene?  (Via <a href="http://multiplayerblog.mtv.com/2009/06/11/little-wheel-the-perfect-flash-adventure-treat/">MTV Multiplayer</a>.)</li>
<li>
<p>Speaking of adventure games, I will link to <a href="http://www.joystiq.com/2009/06/09/interview-tim-schafer-and-the-art-of-selling-out/">this Tim Schafer interview</a> only because of the following quote:</p>
<blockquote><p>My daughter, I think, is going to be very good at playing adventure games, even though she is only a year old. Because she&#8217;ll grab a toy and she&#8217;ll bang it on all of her other toys in the room.  She&#8217;s trying every item in the room with every other item in the room to see if it does something. I was like, &#8220;You are a natural-born adventure game player.&#8221; She doesn&#8217;t steal objects and hide them somewhere on her body, though. In some secret orifice.</p></blockquote>
<p>(Via <a href="http://twitter.com/elenielstorm/status/2134703852">@elenielstorm</a>.)</p>
</li>
<li>
<p>And speaking of children trying things with other things, <a href="http://www.youtube.com/watch?v=Zybl598sK24">interesting testing in a sorting algorithm</a>:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/Zybl598sK24&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/Zybl598sK24&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<p>(Via <a href="http://twitter.com/Vaguery/status/2195384363">@Vaguery</a>.)</p>
</li>
<li>More on the theme of kids: <a href="http://www.figarospeech.com/teach-a-kid-to-argue/">kids and Greek rhetoric</a> (via <a href="http://twitter.com/Adjuster/status/1968205076">@Adjuster</a>) and <a href="http://www.xylocopa.com/product/mad-science-alphabet-blocks">Mad Scientist&#8217;s Alphabet Blocks</a> (via <a href="http://twitter.com/garb/status/1964321554">@garb</a>.)</li>
<li>
<p>Just because I like Flanders and Swann, <a href="http://www.youtube.com/watch?v=mOA_SUKEZRE">a lego take on The Gasman Cometh</a>.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/mOA_SUKEZRE&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/mOA_SUKEZRE&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object>
<p>(Via <a href="http://twitter.com/kateri_t/status/1974990608">@kateri_t</a>.)</p>
</li>
<li><a href="http://dustincurtis.com/dear_dustin_curtis.html">How culture and silos harm design.</a> (Via <a href="http://twitter.com/testobsessed/status/2029486345">@testobsessed</a>.)</li>
<li><a href="http://www.dailymail.co.uk/sciencetech/article-1189877/The-cloud-Meteorologists-campaign-classify-unique-Asperatus-clouds-seen-world.html">Remarkable cloud pictures.</a>  (Via <a href="http://twitter.com/marick/status/2020059306">@marick</a>.)</li>
<li>
<p>Two TDD tweets: <a href="http://twitter.com/KentBeck/status/2010455536">@KentBeck</a> says:</p>
<blockquote><p> francis bacon understood tdd: &#8220;truth emerges more readily from error than confusion&#8221;</p></blockquote>
<p>and <a href="http://twitter.com/mfeathers/status/2048080292">@mfeathers</a> says:</p>
<blockquote><p>TDD is a way of teaching software how to live at the scale of human understanding.</p></blockquote>
</li>
<li><a href="http://www.cs.uni.edu/~wallingf/blog/archives/monthly/2009-06.html#e2009-06-11T20_24_02.htm">Will universities go the way of newspapers?</a>  (Via <a href="http://twitter.com/marick/status/2134680522">@marick</a>.)</li>
<li>
<p><a href="http://www.youtube.com/watch?v=tc_LqIaO2b8">An amazing optical illusion.</a></p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/tc_LqIaO2b8&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/tc_LqIaO2b8&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>(Via <a href="http://twitter.com/SimonParkin/status/2223036781">@SimonParkin</a>.)</p>
</li>
<li>
<p>I don&#8217;t normally link to ads / corporate videos, but <a href="http://www.youtube.com/watch?v=yqaXxSBZTZc">this one is delightful</a>.  Who is this Takashi Murakami guy?</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/yqaXxSBZTZc&#038;hl=en&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/yqaXxSBZTZc&#038;hl=en&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object>
<p>(Via <a href="http://twitter.com/Iroqu0isP1iskin/status/2120619020">@Iroqu0isP1iskin</a>.)</p>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/06/random-links-june-21-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>change of focus</title>
		<link>http://malvasiabianca.org/archives/2009/06/change-of-focus/</link>
		<comments>http://malvasiabianca.org/archives/2009/06/change-of-focus/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 05:22:21 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[GTD]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2102</guid>
		<description><![CDATA[Over the last few weeks, I&#8217;ve been finding enough unusual projects imposing on my time that I think I&#8217;m going to have to shuffle my priorities, albeit temporarily.  I&#8217;ve been wanting to do more programming at home than normal recently: aside from improving the memory project, I want to spend a bit of time [...]]]></description>
			<content:encoded><![CDATA[<p>Over the last few weeks, I&#8217;ve been finding enough unusual projects imposing on my time that I think I&#8217;m going to have to shuffle my priorities, albeit temporarily.  I&#8217;ve been wanting to do more programming at home than normal recently: aside from improving the <a href="http://malvasiabianca.org/archives/2009/05/update-on-learning-japanese-and-memorization/">memory project</a>, I want to spend a bit of time getting back into <a href="http://www.bactrian.org/~carlton/dbcdb/1257/">functional programming</a>.  And then there&#8217;s <a href="http://malvasiabianca.org/archives/2009/04/idea-factory-workshop-at-agile-2009/">conference</a> <a href="http://agileopencalifornia.com/index.php?option=com_content&#038;task=view&#038;id=18&#038;Itemid=45">preparation</a> work on top of that.</p>
<p>Being a good GTD devotee (or a good lean/agile devotee), this means that something has to go.  Fortunately, I&#8217;m actually pretty well on top of things right now&mdash;in particular, my Next Action list is about as short as I can ever remember its being&mdash;so I shouldn&#8217;t have to prune <em>too</em> much; but I have to prune something.  And I&#8217;m certainly not going to take a break from learning Japanese&mdash;in fact, one of the unintended consequences of the memory project has been to make there be pretty serious consequences if I take even a couple of days off from my study.  (One could make a sensible case that I am being a total idiot in subscribing to <a href="http://www.chineseclass101.com/index.php">ChineseClass101</a> right now, however.  Though I certainly don&#8217;t intend to treat that as seriously as I&#8217;m treating learning Japanese.)</p>
<p>So I think my only choice is to cut down on my video game playing for the time being.  Don&#8217;t get me wrong: I&#8217;m not going to stop completely, you&#8217;ll still find me every Thursday evening at the <a href="http://malvasiabianca.org/archives/2009/05/come-play-games-with-us/">VGHVI play nights</a>, and I&#8217;ll keep up with <a href="http://brainygamer.websitetoolbox.com/">VGC</a> activities.  I imagine I&#8217;ll do some playing and blogging outside of that, too, but for those of you who read this blog for game-related content, don&#8217;t be surprised if there are relatively slim pickings here for a while.</p>
<p>But don&#8217;t unsubscribe, either!  In particular, my conference activities won&#8217;t continue forever, so by the fall I should be back to normal.  Heck, I might even be back to normal after Agile 2009&mdash;I certainly want to find time in early September to play <a href="http://www.thebeatlesrockband.com/">a certain game</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/06/change-of-focus/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>random links: may 26, 2009</title>
		<link>http://malvasiabianca.org/archives/2009/05/random-links-may-26-2009/</link>
		<comments>http://malvasiabianca.org/archives/2009/05/random-links-may-26-2009/#comments</comments>
		<pubDate>Tue, 26 May 2009 16:00:55 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Baseball]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Managing]]></category>
		<category><![CDATA[Music]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2042</guid>
		<description><![CDATA[

Malcolm Gladwell on spaghetti sauce: the power of choices, of market segmentation.

Two on folded paper: pictures by Simon Schubert (via @KathySierra) and a TED talk by Robert Lang on the origami that modern math and computers allow us to produce.
An abandoned island city.  (Via @japanesepod101.)  Or, if you want a whole blog about [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>
<p><a href="http://www.ted.com/index.php/talks/malcolm_gladwell_on_spaghetti_sauce.html">Malcolm Gladwell on spaghetti sauce</a>: the power of choices, of market segmentation.</p>
<p><object width="334" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/embed/MalcolmGladwell_2004-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/MalcolmGladwell-2004.embed_thumbnail.jpg&#038;vw=320&#038;vh=240&#038;ap=0&#038;ti=20" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="334" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/MalcolmGladwell_2004-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/MalcolmGladwell-2004.embed_thumbnail.jpg&#038;vw=320&#038;vh=240&#038;ap=0&#038;ti=20"></embed></object></li>
<li>Two on folded paper: <a href="http://www.simonschubert.de/papierarbeiten.html">pictures by Simon Schubert</a> (via <a href="http://twitter.com/KathySierra/status/1775875828">@KathySierra</a>) and <a href="http://www.ted.com/index.php/talks/robert_lang_folds_way_new_origami.html">a TED talk by Robert Lang on the origami that modern math and computers allow us to produce</a>.</li>
<li><a href="http://www.viceland.com/wp/2009/04/battleship-island-japans-rotting-metropolis/">An abandoned island city.</a>  (Via <a href="http://twitter.com/japanesepod101/status/1601651559">@japanesepod101</a>.)  Or, if you want a whole blog about &#8220;abandoned man-made creations&#8221;, try <a href="http://www.artificialowl.net/">Artificial Owl</a>.</li>
<li>
<p>Whereas if you&#8217;re in the mood for artificial cities, I recommend Shamus Young&#8217;s <a href="http://www.shamusyoung.com/twentysidedtale/?p=3220">Procedural City</a>:</p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/-d2-PtK4F6Y&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-d2-PtK4F6Y&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></li>
<li><a href="http://www.alistapart.com/articles/indefenseofeyecandy">In Defense of Eye Candy.</a>  (via <a href="http://twitter.com/TheOtherAlistai/status/1622815225">@TheOtherAlistai</a>.)</li>
<li><a href="http://github.com/raganwald/homoiconic/blob/master/2009-05-01/optimism.md#readme">Raganwald on optimism.</a></li>
<li><a href="http://arxta.net">AR&otimes;TA: Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism.</a>  (I&#8217;ve posted my sticker on the wall next to my office!)</li>
<li><a href="http://www.agileproductdesign.com/blog/2009/kanban_over_simplified.html">A nice outline of how to use Kanban in software development.</a></li>
<li>Optical illusions: <a href="http://web.mit.edu/persci/gaz/gaz-teaching/index.html">a whole gaggle</a> and <a href="http://www.illusionsciences.com/2009/05/illusion-contest-break-of-curveball.html">a single particularly-stunning (and possibly baseball-related) example</a>.</li>
<li><a href="http://dearplanetaryastronomermike.blogspot.com/2009/05/okay-folks-sorry-for-languishing-blog.html">Planetary Astronomer Mike explains gaps in asteroid belts.</a></li>
<li><a href="http://www.telegraph.co.uk/earth/earthpicturegalleries/5313918/Creatures-of-the-deep-What-lurks-in-the-depths-of-the-ocean.html">A nice set of pictures of deep-sea creatures.</a></li>
<li><a href="http://life.mumak.net/2009/05/meditations-on-garbage-bin.html">Meditations on the Garbage Bin.</a></li>
<li><a href="http://www.beforegamedesign.com/2009/05/what-do-video-games-need-to-be-more.html">Brian Marick and I aren&#8217;t the only people in my blog/twitter stream thinking about Actor-Network Theory.</a></li>
<li>The current short art game making the rounds: <a href="http://ludomancy.com/games/today.html"><cite>Today I Die</cite></a>, by Daniel Benmergui.  (If you, like I, have trouble getting anywhere at the start, <span style="background-color:black">try keeping one of the jellyfish alive for a while</span>.)</li>
<li><a href="http://www.inbflat.net/">A beautiful bit of interactive aleatory music.</a>  (Via <a href="http://danbruno.net/blog/2009/05/online-music-projects/">Dan Bruno</a>.)</li>
<li><a href="http://cmm.thepodcastnetwork.com/2009/05/22/the-cranky-middle-manager-show-192-management-rewired-with-charles-jacobs/">Charles Jacobs on management and brain science.</a>  I thought the bit on the ineffectiveness of traditional feedback mechanisms was particularly interesting.</li>
<li>
<p>I&#8217;ve actually never played <cite>Starcraft</cite>, but this video made it seem about as interesting to watch as most sports I see on TV.  (Via <a href="http://lungfishopolis.com/2009/04/starcraft-ii-battle-report/">Lungfishopolis</a>.)</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000"  codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" id="gtembed" width="480" height="392"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="true" /><param name="movie" value="http://www.gametrailers.com/remote_wrap.php?mid=48119"/><param name="quality" value="high" /><embed src="http://www.gametrailers.com/remote_wrap.php?mid=48119" swLiveConnect="true" name="gtembed" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="480" height="392"></embed></object></li>
<li><a href="http://www.pinktentacle.com/2009/04/tokyo-stereographic-projections/">Tokyo stereographic projections.</a></li>
<li>
<p>A Wolf Loves Pork.  (Via <a href="http://www.pinktentacle.com/2009/04/video-a-wolf-loves-pork/">Pink Tentacle</a>.)</p>
<p><object width="425" height="349"><param name="movie" value="http://www.youtube.com/v/rmkLlVzUBn4&#038;rel=0&#038;border=1&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;hl=ja&#038;feature=player_embedded&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><embed src="http://www.youtube.com/v/rmkLlVzUBn4&#038;rel=0&#038;border=1&#038;color1=0x3a3a3a&#038;color2=0x999999&#038;hl=ja&#038;feature=player_embedded&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="349"></embed></object></li>
<li><a href="http://bluewyverntea.blogspot.com/2009/03/four-short-films.html">Four Short Films.</a>; I couldn&#8217;t pick one to highlight, so you&#8217;ll have to click through to watch them.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/05/random-links-may-26-2009/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>routinization, inscription, and facts</title>
		<link>http://malvasiabianca.org/archives/2009/05/routinization-inscription-and-facts/</link>
		<comments>http://malvasiabianca.org/archives/2009/05/routinization-inscription-and-facts/#comments</comments>
		<pubDate>Tue, 26 May 2009 03:50:05 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=2016</guid>
		<description><![CDATA[I can&#8217;t say I&#8217;ve internalized (routinized? inscribed?) Latour&#8217;s Laboratory Life yet, but in the mean time I present you with three quotes on routinization, inscription, and facts:
To counter these catastrophic possibilities, efforts are made to routinise component actions either through technicians&#8217; training or by automation.  Once a string of operations has been routinised, one [...]]]></description>
			<content:encoded><![CDATA[<p>I can&#8217;t say I&#8217;ve internalized (routinized? inscribed?) Latour&#8217;s <a href="http://www.bactrian.org/~carlton/dbcdb/1236/"><cite>Laboratory Life</cite></a> yet, but in the mean time I present you with three quotes on routinization, inscription, and facts:</p>
<blockquote><p>To counter these catastrophic possibilities, efforts are made to routinise component actions either through technicians&#8217; training or by automation.  Once a string of operations has been routinised, one can look at the figures obtained and quietly forget that immunology, atomic physics, statistics, and electronics actually made this figure possible.  Once the data sheet has been taken to the office for discussion, one can forget the several weeks of work by technicians and the hundreds of dollars which have gone into its production.  After the paper which incorporates these figures has been written, and the main result of the paper has been embodied in some new inscription device, it is easy to forget that the construction of the paper depended on material factors.  The bench space will be forgotten, and the existence of laboratories will fade from consideration.  Instead, &#8220;ideas,&#8221; &#8220;theories,&#8221; and &#8220;reasons&#8221; will take their place.  Inscription devices thus appear to be valued on the basis of the extent to which they facilitate a swift transition from craft work to ideas.  The material setting both makes possible the phenomena and is required to be easily forgotten.  Without the material environment of the laboratory none of the objects could be said to exist, and yet the material environment very rarely receives mention.  It is this paradox, which is an essential feature of science, that we shall now consider in more detail. (p. 69)</p></blockquote>
<blockquote><p>The production of a paper depends critically on various processes of writing and reading which can be summarised as literary inscription.  The function of literary inscription is the successful persuasion of readers, but the readers are only fully convinced when all sources of persuasion seem to have disappeared.  In other words, the various operations of writing and reading which sustain an argument are seen by participants to be largely irrelevant to &#8220;facts,&#8221; which emerge solely by virtue of these same operations.  There is, then, an essential congruence between a &#8220;fact&#8221; and the successful operation of various processes of literary inscription.  A text or statement can thus be read as &#8220;containing&#8221; or &#8220;being about a fact&#8221; when readers are sufficiently convinced that there is no debate about it and the processes of literary inscription are forgotten.  Conversely, one way of undercutting the &#8220;facticity&#8221; of a statement is by drawing attention to the (mere) processes of literary inscription which make the fact possible. (p. 76)</p></blockquote>
<blockquote><p>A fact only becomes such when it loses all temporal qualifications and becomes incorporated into a large body of knowledge drawn by others.  Consequently, there is an essential difficulty associated with writing the history of a fact: it has, by definition, lost all historical reference. (p. 106)</p></blockquote>
<p>Can we profit from focusing on objects/processes that &#8220;facilitate a swift transition from craft work to ideas&#8221;?  I spent a few pleasant hours this afternoon doing some Rails programming; that framework shines because of the small amount of craft work necessarily to see a manifestation of your ideas.  Does a software framework count as an &#8220;inscription device&#8221;?  Does a programming language?  Does a compiler, an interpreter?  If not, is there some generalization of that concept that we can use here?</p>
<p>Agile processes value a swift transition between the programmer&#8217;s craft work and the Customer&#8217;s ideas.  (A transition in both directions, I should add.)  What are the inscription devices here?  Ironically, one of the key mechanisms that agile uses to speed this transition is to remove certain inscription devices, or at least inscriptions, in favor of people talking directly to each other.</p>
<p>Can we relate tests to inscriptions and inscription devices?  Test runs can certainly lead to thousands, millions of inscriptions over the course of a day; most of those inscriptions are internal, in that the software is noting that an assertion passed, but I label them as inscriptions nonetheless.  They&#8217;re a very good form of persuasion; if you&#8217;re on a project where test runs act as a reliable safety net, then your worry level decreases, you can treat the software&#8217;s behavior as a &#8220;fact&#8221;, and spend time in idea land.  Until, of course, a test failure (or, much worse, a failure that your tests didn&#8217;t catch) undercuts your software&#8217;s facticity.</p>
<p>I&#8217;ve been pretty obsessed with <a href="http://www.bactrian.org/~carlton/dbcdb/1190/">A3 reports</a> for the last few months, which are certainly a form of inscription.  And one of the strengths of the process is the extent to which the A3 report <em>doesn&#8217;t</em> serve as a source of persuasion, the extent to which the &#8220;sources of persuasion seem to have disappeared&#8221;: if the process is doing well, it&#8217;s a summary of facts to which all participants agree.  Or have the sources of persuasion disappeared?  Perhaps better to say they&#8217;ve been distilled down to a trace, as with a scientific paper; I don&#8217;t want to underestimate the importance of that trace.</p>
<p>I don&#8217;t suppose I can relate this to video games somehow?  One issue that I struggle with, especially in <a href="http://www.bactrian.org/~carlton/dbcdb/1101/">games with a large variety of techniques to reach a goal</a>, is how to internalize the various gameplay options that are available to me.  Most of the time, I end up leaning on a few standard ways of progressing through a game&#8217;s levels; I suspect my experience would be richer if I had a broader tapestry of &#8220;facts&#8221; to choose from in the form of live tactical (or, better yet, strategic) options.  What can games do to help me reach this state?  What inscriptions can they present me with to ease this journey?  How can I modify my own play styles to reach this state?</p>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/05/routinization-inscription-and-facts/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>idea factory workshop at agile 2009</title>
		<link>http://malvasiabianca.org/archives/2009/04/idea-factory-workshop-at-agile-2009/</link>
		<comments>http://malvasiabianca.org/archives/2009/04/idea-factory-workshop-at-agile-2009/#comments</comments>
		<pubDate>Tue, 28 Apr 2009 02:42:22 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Lean / Agile]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=1955</guid>
		<description><![CDATA[I was pleased to learn last week that the workshop that Brian Marick and I proposed for Agile 2009 has been accepted.  It&#8217;s titled &#8220;Idea Factory&#8221;; since that link goes to a page behind a login barrier, I&#8217;ll just reproduce the description here.
Summary
Ever heard a programmer say “I think the code’s trying to tell [...]]]></description>
			<content:encoded><![CDATA[<p>I was pleased to learn last week that the workshop that <a href="http://www.exampler.com/blog/">Brian Marick</a> and I proposed for Agile 2009 has been accepted.  It&#8217;s titled <a href="http://agile2009.agilealliance.org/node/882">&#8220;Idea Factory&#8221;</a>; since that link goes to a page behind a login barrier, I&#8217;ll just reproduce the description here.</p>
<h3>Summary</h3>
<p>Ever heard a programmer say “I think the code’s trying to tell us something”? A joke, right? A metaphor. There’s a social world, where people tell people things, and there’s a world of objects that, at most, exert passive pressure.</p>
<p>But what if we deny that the two worlds are separate? What if we treat everything as a moving mashup of objects, ideas, individuals, and groups? This workshop will present some recent perspectives from sociology on that question, and will ask participants the following: if you believed in one of those perspectives, what would you do differently on your project?</p>
<h3>Process/Mechanics</h3>
<p>We will repeat the following <em>N</em> times:</p>
<ul>
<li>We will summarize a theory from sociology. During the summary, the two moderators will talk to each other as a way to encourage the audience to ask clarifying questions.</li>
<li>The introduction to the next section is: “OK. Lay aside your skepticism. Assume the theory is true. What should you do differently on your project? Shout out ideas.”</li>
<li>Like a brainstorming session, our goal is not to criticize ideas but to generate them. Unlike a brainstorming session, we’ll allow discussion of an idea with the aim of understanding it better or building upon it. We’ll also allow clarifying questions about the theory itself.</li>
<li>The discussion will continue until it begins to die down. The moderators will try to cut it short a little before people are fully ready to move on. (“Always leave them wanting more.”)</li>
</ul>
<p>The exact workshop mechanics will depend on the crowd. If the crowd is small enough and lively enough, we’ll work as a single group. If that appears infeasible or doesn’t seem to be generating enough ideas, we’ll move into small group discussions with the moderators circulating through the groups answering or asking questions and helping people generate ideas. (Because of the latter possibility, we’ll want seating in the rounds.)</p>
<p>It’s entirely likely we won’t exhaust our fund of theories. That’s OK. (“Always leave them wanting more…”)</p>
<h3>Learning outcomes</h3>
<ul>
<li>Callon &amp; Latour’s actor-network theory</li>
<li>Star &amp; Greisemer’s boundary objects</li>
<li>Galison’s trading zones</li>
<li>Fujimura’s packages</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/04/idea-factory-workshop-at-agile-2009/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>inbox zero and technical debt</title>
		<link>http://malvasiabianca.org/archives/2009/04/inbox-zero-and-technical-debt/</link>
		<comments>http://malvasiabianca.org/archives/2009/04/inbox-zero-and-technical-debt/#comments</comments>
		<pubDate>Sat, 18 Apr 2009 03:25:34 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[GTD]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=1915</guid>
		<description><![CDATA[About 10 minutes into a talk he gave at the Philadelphia library, David Allen says:
A lot of it was based upon my experience getting a black belt in karate. &#8230; One of the things you need to learn is the strategic value of clear space.  Trust me, when four people jump you in a [...]]]></description>
			<content:encoded><![CDATA[<p>About 10 minutes into <a href="http://libwww.freelibrary.org/podcast/?podcastID=358">a talk he gave at the Philadelphia library</a>, David Allen says:</p>
<blockquote><p>A lot of it was based upon my experience getting a black belt in karate. &#8230; One of the things you need to learn is the strategic value of clear space.  Trust me, when four people jump you in a dark alley, you do not want to have your brain wrapped around 3000 e-mails sitting in your in basket.  That&#8217;s why, when I&#8217;m not doing anything else, folks, I&#8217;m cleaning up e-mail to zero: if I&#8217;m not exactly sure there&#8217;s something mission-critical I need to be doing right now, I am cleaning up.</p>
<p>Why?  Because there is a surprise coming toward me I can&#8217;t see, and when that sucker hits, tonight, it might be landing while I&#8217;m speaking, &#8230; when that surprise hits, do you want to have still a lot of unconsciously accepted but not clarified agreements with yourself that you don&#8217;t know exactly what it means but it might be important and then suddenly having more stuff come in on you?  That&#8217;s why interruption and surprise is becoming such a stresser these days, simply because most people have such a backlog of stuff that those surprises are hitting on huge backlogs so you have a subliminal sense of angst, you&#8217;re going to have a level there that is not clear to engage with that appropriately.</p>
</blockquote>
<p>Which is a great argument for paying down your technical debt, too.  If there&#8217;s one thing you can be sure about when working on legacy code, it&#8217;s that surprises are going to hit you when you don&#8217;t expect them.  And, when that happens, you&#8217;ll be so much better off if you have a relatively small backlog of technical debt to work with.  Whereas, if your code has &#8220;a lot of unconsciously accepted but not clarified agreements with [itself]&#8221; (where &#8220;not clarified&#8221; can mean untested, it can mean tested but badly structured, it can mean code that only one person knows how to work with), then your sense of angst will be far from subliminal, and you won&#8217;t be able to engage with the code appropriately to solve your problem.</p>
<p>Incidentally, about 50 minutes into the talk, he mentioned that he&#8217;s started generating a tentative daily plan.  He&#8217;d previously recommended against that, since one unexpected event can and probably will change the course of your entire day, but now he&#8217;s finding it useful to structure his day by picking up a few candidate high-priority items, while accepting that events may cause that plan to change. Which I was glad to hear, because I&#8217;ve been doing that at work for a few months, and am quite happy with the results.  Though he also says that he didn&#8217;t need to do that until a year ago; I&#8217;m quite sure that I&#8217;m less busy now than he was a year ago, which suggests that I&#8217;m having problems with managing my commitments and next actions.</p>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/04/inbox-zero-and-technical-debt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>random links: april 12, 2009</title>
		<link>http://malvasiabianca.org/archives/2009/04/random-links-april-12-2009/</link>
		<comments>http://malvasiabianca.org/archives/2009/04/random-links-april-12-2009/#comments</comments>
		<pubDate>Mon, 13 Apr 2009 04:06:32 +0000</pubDate>
		<dc:creator>David Carlton</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Japanese]]></category>
		<category><![CDATA[Lean / Agile]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Video Games]]></category>

		<guid isPermaLink="false">http://malvasiabianca.org/?p=1876</guid>
		<description><![CDATA[
I&#8217;ve been meaning for ages to write about Jim Womack&#8217;s article on Respect for People, but I don&#8217;t seem to be getting around to it, so I&#8217;ll mention it here.

A TED talk on underwater astonishments; if the beginning doesn&#8217;t capture your fancy or you&#8217;re short on time, go to the 4:20 mark.

Everything you&#8217;d want to [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li>I&#8217;ve been meaning for ages to write about <a href="http://www.lean.org/common/display/?JimsEmailId=75">Jim Womack&#8217;s article on Respect for People</a>, but I don&#8217;t seem to be getting around to it, so I&#8217;ll mention it here.</li>
<li>
<p><a href="http://www.ted.com/talks/view/id/206">A TED talk on underwater astonishments</a>; if the beginning doesn&#8217;t capture your fancy or you&#8217;re short on time, go to the 4:20 mark.</p>
<p><object width="446" height="326"><param name="movie" value="http://video.ted.com/assets/player/swf/EmbedPlayer.swf"></param><param name="allowFullScreen" value="true" /><param name="wmode" value="transparent"></param><param name="bgColor" value="#ffffff"></param><param name="flashvars" value="vu=http://video.ted.com/talks/embed/DavidGallo_2007-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/DavidGallo-2007.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=206" /><embed src="http://video.ted.com/assets/player/swf/EmbedPlayer.swf" pluginspace="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" bgColor="#ffffff" width="446" height="326" allowFullScreen="true" flashvars="vu=http://video.ted.com/talks/embed/DavidGallo_2007-embed_high.flv&#038;su=http://images.ted.com/images/ted/tedindex/embed-posters/DavidGallo-2007.embed_thumbnail.jpg&#038;vw=432&#038;vh=240&#038;ap=0&#038;ti=206"></embed></object></li>
<li><a href="http://www.gamasutra.com/view/feature/3938/the_pacman_dossier.php">Everything you&#8217;d want to know about the ghost movement algorithms in <cite>Pac-Man</cite></a></li>
<li><a href="http://www.ethanzuckerman.com/blog/2008/03/08/the-cute-cat-theory-talk-at-etech/">The Cute Cat Theory.</a></li>
<li>
<p><a href="http://www.youtube.com/watch?v=JjfihtGefxk">An explanation of how frighteningly easily segregation can appear.</a></p>
<p><object width="560" height="340"><param name="movie" value="http://www.youtube.com/v/JjfihtGefxk&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/JjfihtGefxk&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="560" height="340"></embed></object></li>
<li><a href="http://sites.google.com/site/tddproblems/">A collection of problems to work through if you&#8217;re looking for TDD practice.</a></li>
<li>
<p>Your daily dose of randomness: <a href="http://www.youtube.com/watch?v=UWKg_E3mWsw">Salaryman Man</a>.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/UWKg_E3mWsw&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/UWKg_E3mWsw&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></li>
<li><a href="http://daringfireball.net/2009/03/obsession_times_voice">John Gruber and Merlin Mann on building a site that&#8217;s successful both personally and financially</a>; well worth listening to.</li>
<li><a href="http://insider.ign.com/articles/965/965652p1.html">Very interesting discussion between Jonathan Blow (<cite>Braid</cite>), Rod Humble (<cite>The Marriage</cite>), and Jason Rohrer (<cite>Passage</cite>).</a>  That page is behind a paid subscription barrier, I think, but you can download it from iTunes by going to the IGN Games Podcasts feed and looking for the To Catch an Editor episode dated 3/24/09.</li>
<li><a href="http://users.telenet.be/kixx/" target="_blank">A bit of fun playing with your browser.</a>  Hopefully it will pop up in a new window: it will resize the window it&#8217;s playing in, but for a good cause.  (Via <a href="http://vagari.us/wordpress/?p=192">Vagari</a>.)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://malvasiabianca.org/archives/2009/04/random-links-april-12-2009/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
