<?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>This Blog Needs No Name &#187; Geeky things</title>
	<atom:link href="http://www.toomik.net/helen/blog/category/geeky_things/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.toomik.net/helen/blog</link>
	<description></description>
	<lastBuildDate>Sun, 05 Feb 2012 20:24:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>Interviewing for a developer job at ReQtest</title>
		<link>http://www.toomik.net/helen/blog/2012/01/24/interviewing_for_a_developer_job_at_reqtest/</link>
		<comments>http://www.toomik.net/helen/blog/2012/01/24/interviewing_for_a_developer_job_at_reqtest/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 21:16:42 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[Work and career]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=3774</guid>
		<description><![CDATA[Yesterday a reader commented on my old post about Excel VBA interview questions. As I am, again, spending a lot of my time trying to recruit another developer, I thought I&#8217;d tell you about what my current interview plan looks like. What we&#8217;re looking for is a reasonably senior web developer. We&#8217;re a small software [...]]]></description>
			<content:encoded><![CDATA[<p>
Yesterday a reader commented on my old post about <a href="http://www.toomik.net/helen/blog/2007/01/31/interviewing-for-an-excel-vba-job/">Excel VBA interview questions</a>. As I am, again, spending a lot of my time trying to recruit another developer, I thought I&rsquo;d tell you about what my current interview plan looks like.
</p>
<p>
What we&rsquo;re looking for is a reasonably senior web developer. We&#8217;re a small software company with just a handful of developers, so we need someone who can pull their own weight, with no hand-holding or detailed management. Everyone is expected to not just code but also contribute meaningfully to discussions about design and architecture. They also need to share our values and mindset &#8211; to value code quality, maintainable code, good design.
</p>
<p>
The interview is complemented by a coding task, where I email the candidate a 1-page specification for an application and evaluate the code they send back. I therefore spend very little of the interview talking about detailed technical matters. The interview is for me to judge their aptitude and attitude at a higher level.
</p>
<p>
This is not an interview script. I wouldn&rsquo;t ask these questions top to bottom. It&rsquo;s more of a checklist for areas that I try to cover during an interview. This is also not a prioritized list.
</p>
<p>
For the rest of this post, &ldquo;you&rdquo; refers to the candidate.
</p>
<hr />
<p>
<b>1. Fit</b>
</p>
<p>
What kind of a job are you looking for? What kind of company would you like to work for? What is important to you in your work? Why are you looking for a new job?
</p>
<p>
<i>What I&rsquo;m trying to establish here is whether the candidate would fit our firm. If they are looking for a fast-paced competitive environment, or a firm with international opportunities, they&rsquo;re not for us.</i>
</p>
<p>
What would you like to be doing in 5 years&rsquo; time? What do you enjoy most about programming? Have you been involved in requirements or testing in your previous projects?
</p>
<p>
<i>This is to detect the wannabe project managers and business analysts, and people who are aiming for a managerial role. Nothing wrong with those, but we won&rsquo;t be able to offer them a meaningful career path in our company. This is also to detect the pure programmers who have no interest in anything outside of code, who will consider testing and requirements work and usability studies to be &ldquo;not their job&rdquo;.</i>
</p>
<p>
<b>2. Passion, learning, interest</b>
</p>
<p>
How do you keep up with current topics within the industry? Do you read any books? Blogs? Do you do any programming in your spare time? What&rsquo;s your favourite tool?
</p>
<p>
<i>Here I try to figure out whether programming is &ldquo;just a job&rdquo; for them, or whether they are truly interested in and passionate about writing software. It isn&rsquo;t necessary for the candidate to do all of this, to read books and blogs and have hobby projects &ndash; but if they do none, it&rsquo;s a great big warning sign.</i>
</p>
<p>
<b>3. Technical insight, critical thinking, big picture thinking</b>
</p>
<p>
Explain the purpose of a recent project you worked on. Explain the design and the architecture. What choices and alternatives were considered? Why did you make the choices you made? What would you do differently if you had to do it again?
</p>
<p>
<i>This separates the &ldquo;drones&rdquo;, the passive followers from the active minds. Even if the candidate wasn&rsquo;t in charge of the project they describe, they should be aware of design choices and trade-offs.</i>
</p>
<p>
Did you use an Agile process? What were the advantages and disadvantages? Did you use test-driven development, or unit tests or automated tests of any kind? How did that work?
</p>
<p>
<i>If in this day and age the candidate has nothing to say about unit testing, they are not for us.</i>
</p>
<p>
<b>4. Some technical questions</b>
</p>
<p>
<i>This is a bit of a smorgasbord; I pick the areas that are relevant for the candidate&rsquo;s area of strength. SQL and OOP for back-end developers and JavaScript and CSS for front-end candidates.</i>
</p>
<p>
<i>The home coding task tests general programming skills. Here I focus more on the specific technologies we work with. This whole area also ties in with #3, i.e. their ability to make trade-offs and informed choices.<br />
</i>
</p>
<p>
<b>OOP:</b> Explain to me a design pattern that you have found useful. Why? Explain to me the purpose of the Single Responsibility Principle.
</p>
<p>
<b>ASP.NET:</b> Explain to me some different ways to save state between page requests. What are the pros and cons of each one? Which ones did you use in your last project? Why?
</p>
<p>
<b>SQL:</b> I give them an example table and ask them to write or dictate to me some simple queries against that table.
</p>
<p>
<b>JavaScript:</b> Explain callbacks, and why they are useful. Explain closures, and why they are useful.
</p>
<p>
<b>CSS:</b> Tell me about what you would use to build a page. Divs or tables? Why? How can you position a div &ndash; how can you center it, put it in a specific position on the page, etc.
</p>
<p>
<b>5. Leadership and self-leadership</b>
</p>
<p>
What was your role in the project? What were you responsible for? What are your weaknesses?
</p>
<p>
<i>We need people with drive and initiative, who are able and willing to take on significant responsibility. The weaknesses question is mostly a basic indicator of self-insight.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2012/01/24/interviewing_for_a_developer_job_at_reqtest/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>We&#8217;re hiring</title>
		<link>http://www.toomik.net/helen/blog/2012/01/12/were_hiring/</link>
		<comments>http://www.toomik.net/helen/blog/2012/01/12/were_hiring/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 21:31:00 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[Work and career]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=3756</guid>
		<description><![CDATA[Do you know any good developers in the Stockholm area? Send them to me! ReQtest, the company I work for, is looking to add two more developers to our team, one for front-end work and one for the back-end. The foundation for our application is ASP.NET and C#. On top of that the front-end guy [...]]]></description>
			<content:encoded><![CDATA[<p>
Do you know any good developers in the Stockholm area? Send them to me!
</p>
<p>
ReQtest, the company I work for, is looking to add two more developers to our team, one for front-end work and one for the back-end. The foundation for our application is ASP.NET and C#. On top of that the front-end guy needs great JavaScript and CSS skills; the back-end developer needs experience of database development.
</p>
<p>
We&rsquo;re a small and growing company so we offer lots of responsibility and variety in the daily work, and a say in just about all matters regarding both the product and the company. We use an Agile development methodology, and we value code quality and usability highly. It&rsquo;s a great place to work.
</p>
<p>
Read more on monster.se: <a href="http://annonsoversikt.monster.se/Webbutvecklare-NET-front-end-jobb-Stockholm-Stockholms-län-Sverige-105525436.aspx">front-end developer</a>, <a href="http://annonsoversikt.monster.se/Webbutvecklare-NET-back-end-jobb-Stockholm-Stockholms-län-Sverige-105578191.aspx">back-end developer</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2012/01/12/were_hiring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Toca Boca</title>
		<link>http://www.toomik.net/helen/blog/2012/01/05/toca_boca/</link>
		<comments>http://www.toomik.net/helen/blog/2012/01/05/toca_boca/#comments</comments>
		<pubDate>Thu, 05 Jan 2012 21:44:29 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Favourites on the web]]></category>
		<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[Life with kids]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=3745</guid>
		<description><![CDATA[Ingrid spends quite a lot of time with the iPad. The apps she uses most (apart from a movie player app) all come from one studio: Toca Boca. They make a variety of apps, some better than others. Originally the best ones followed a common structure but now they are branching out into more different [...]]]></description>
			<content:encoded><![CDATA[<p>
Ingrid spends quite a lot of time with the iPad. The apps she uses most (apart from a movie player app) all come from one studio: <a href="http://tocaboca.com/">Toca Boca</a>. They make a variety of apps, some better than others. Originally the best ones followed a common structure but now they are branching out into more different kinds of play. We have every single one except the Helicopter Taxi which needs the iPhone camera to run.
</p>
<p>
I was going to list Ingrid&rsquo;s favourites but then I realized that she loves almost all of them. Some days she plays one, then another day another app gets more time, and after a few days she comes back to the first one again.
</p>
<div class="floatleft">
<img src="/helen/blog/images/Toca_tea_party.jpg" /></p>
<div class="imagecaption">Toca Tea Party</div>
</div>
<p>
There&rsquo;s <b>Birthday Party</b> and <b>Tea Party</b>, where you start by setting a table, choosing plates and cakes, and then proceed to eat the cakes and drink the tea and lemonade. These have great multi-touch support and work very well for several players. I believe that kids are supposed to invite their stuffed animals to the tea party but Ingrid usually plays with me instead.
</p>
<p>
Then there&rsquo;s <b>Toca Store</b>, which is sort of similar but more clearly meant to be played together. One person takes the role of shopkeeper, the other is the customer. The shopkeeper chooses which items to sell, sets their prices, rings up the items on the till. The customer picks items to buy, counts up the coins, puts the stuff in their bag.
</p>
<p>
Of course you could play those things without an app, with actual physical items &#8211; and we have. But the app is 5 seconds away whereas setting up a tea party with real toy plates and cups takes time, so Ingrid is infinitely more likely to use the app than the real thing.
</p>
<p>
A bit similar is <b>Toca Robot</b>, where you build a robot by picking body parts for it. The graphics are well made and fun to look at: the robots can have arms with propeller attachments and a body like a fridge. When the robot is done you can fly it through a simple maze to pick up gold stars. Updates to the app have brought new varieties of each body part, as well as new mazes, so Ingrid keeps returning to this app.
</p>
<div class="floatright">
<img src="/helen/blog/images/Toca_robot.jpg" /></p>
<div class="imagecaption">Toca Robot</div>
</div>
<p>
<b>Toca Hair Salon</b> and <b>Toca Kitchen</b> are two of a kind &ndash; you get some materials and can perform some actions on them. Cut, blow dry, comb, wash, colour hair; chop, fry, boil, mince food. I&rsquo;ve found these somewhat disappointing &ndash; they sound like more fun than they actually are. In Toca Kitchen the choices are too limited, and they&rsquo;ve skimped on the graphics: the results look dull. Frying things just makes them brownish, for example, so frying an egg doesn&rsquo;t actually result in anything that resembles a fried egg. In Hair Salon the hair is difficult to control and the results are all too similar to each other, except for the colour and accessories, so what sounds creative boils down to a painting app.
</p>
<p>
<b>Paint My Wings</b> is actually a painting app where you paint the wings of a butterfly. The wings are mirrored, so whatever you paint on one wing also turns up on the other. There are other nice touches such as the butterflies talking to you (&ldquo;that tickles!&rdquo;) and using berry juice for the painting, making this a bit more interesting than just a plain drawing app.
</p>
<p>
Less open-ended is <b>Toca Doctor</b> which consists of a bunch of puzzles and mini-games. Ingrid liked these to begin with but they&rsquo;re too simple for her now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2012/01/05/toca_boca/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Concrete pixels</title>
		<link>http://www.toomik.net/helen/blog/2011/08/20/concrete_pixels/</link>
		<comments>http://www.toomik.net/helen/blog/2011/08/20/concrete_pixels/#comments</comments>
		<pubDate>Sat, 20 Aug 2011 21:24:17 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[House and garden]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=3212</guid>
		<description><![CDATA[The building works here may be done but that doesn&#8217;t mean we&#8217;ve run out of work. We have painting to do, lighting fixtures to buy (there&#8217;s currently no lighting in the entry hall, or the stair hall, or the walk-in closet), books and bookshelves to move from the bedroom to the office/library&#8230; This evening, after [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://marksten.se/shop/index.php?route=product/product&#038;path=35&#038;product_id=645"><img src="/helen/blog/images/Fantasi_pavers.jpg" class="floatright" /></a></p>
<p>
The building works here may be done but that doesn&rsquo;t mean we&rsquo;ve run out of work. We have painting to do, lighting fixtures to buy (there&rsquo;s currently no lighting in the entry hall, or the stair hall, or the walk-in closet), books and bookshelves to move from the bedroom to the office/library&#8230;
</p>
<p>
This evening, after both kids were asleep and our productive time began, we got started on laying stone on the flat bit of ground between the garden stairs and the stairs to the porch. It was already paved before, but when the new porch got built, the upper flight of stairs became wider and moved slightly, so we ended up with an unpaved gap.
</p>
<p>
We chose paver blocks that come in a mixture of sizes, <a href="http://marksten.se/shop/index.php?route=product/product&#038;path=35&#038;product_id=645">Fantasi Antik</a>. We spent an hour and a half this evening designing a layout for the stones that we can live with.
</p>
<p>
Both Eric and I are &ldquo;pattern people&#8221;: if there is a visual pattern, accidental or intentional, we cannot help noticing it. And if that pattern is in a place where there isn&rsquo;t supposed to be one, it will keep catching our eye and irritating us. Like a visual itch. It often happens with cheapish printed products &ndash; cheap laminate flooring, fabric, wallpaper &ndash; where the pattern repeat is too short.
</p>
<p>
So we wanted to make very sure our paving is sufficiently random. In particular, no too-long unbroken lines, and no too-large rectangles of blocks. For example the long unbroken line down the middle of that marketing photo above would be a clear no-no.
</p>
<p>
It was almost like a computer game. Except with pixels of 70x70mm, weighing over half a kilogram each. And instead of trying to make order, we tried to make randomness. Sort of an anti-Tetris.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2011/08/20/concrete_pixels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XKCD-inspired Wikipedia fun</title>
		<link>http://www.toomik.net/helen/blog/2011/05/26/xkcd-inspired_wikipedia_fun/</link>
		<comments>http://www.toomik.net/helen/blog/2011/05/26/xkcd-inspired_wikipedia_fun/#comments</comments>
		<pubDate>Thu, 26 May 2011 18:10:22 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Favourites on the web]]></category>
		<category><![CDATA[Geeky things]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=2848</guid>
		<description><![CDATA[Yesterday&#8217;s comic at XKCD includes an interesting bit of Wikipedia trivia: &#8220;if you take any article, click on the first link in the article text not in parentheses or italics, and then repeat, you will eventually end up at &#34;Philosophy&#34;&#8221;. I tried a few random Wikipedia articles (a random link from the Wikipedia front page, [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://xkcd.com/903/">Yesterday&rsquo;s comic at XKCD</a> includes an interesting bit of Wikipedia trivia: &ldquo;if you take any article, click on the first link in the article text not in parentheses or italics, and then repeat, you will eventually end up at &quot;Philosophy&quot;&rdquo;.
</p>
<p>
I tried a few random Wikipedia articles (<a href="http://en.wikipedia.org/wiki/Tiny_Thompson">a random link from the Wikipedia front page</a>, <a href="http://en.wikipedia.org/wiki/cucumber">cucumber</a> and <a href="http://en.wikipedia.org/wiki/Georgia">Georgia</a>) and it worked in all cases. The tendency became obvious after just a few hops: we skirted linguistics, science, then information, and via quantity on to philosophy.
</p>
<p>
From philosophy it&rsquo;s six hops back around to science and you can go another round. The full loop is Science &gt; Knowledge &gt; Fact &gt; Information &gt; Sequence &gt; Mathematics &gt; Quantity &gt; Property_(philosophy) &gt; Modern_philosophy &gt; Philosophy &gt; Existence &gt; Sense &gt; Organism &gt; Biology &gt; Natural_science &gt; Science. So you could equally well argue that all Wikipedia queries have their root in Existence, or in Knowledge, or in Information. Whatever you think is the most fundamental of all &ndash; take your pick.
</p>
<p>
Now some developer has actually made a tool for you to try this on your own: <a href="http://ryanelmquist.com/cgi-bin/xkcdwiki">xkcd wikipedia steps to philosophy</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2011/05/26/xkcd-inspired_wikipedia_fun/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Today: back to work</title>
		<link>http://www.toomik.net/helen/blog/2011/05/16/today_back_to_work/</link>
		<comments>http://www.toomik.net/helen/blog/2011/05/16/today_back_to_work/#comments</comments>
		<pubDate>Mon, 16 May 2011 19:40:08 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Adrian]]></category>
		<category><![CDATA[Dailies]]></category>
		<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[Work and career]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=2805</guid>
		<description><![CDATA[My first day back at work. It wasn&#8217;t a good day for going back to work: Adrian&#8217;s teething cough transformed into a plain and simple cold during the weekend and he was feverish and unwell all day yesterday. Neither of us got much sleep during the night. And he was totally not interested in food [...]]]></description>
			<content:encoded><![CDATA[<p>
My first day back at work. It wasn&rsquo;t a good day for going back to work: Adrian&rsquo;s teething cough transformed into a plain and simple cold during the weekend and he was feverish and unwell all day yesterday. Neither of us got much sleep during the night. And he was totally not interested in food and just wanted to nurse, so I left Eric and him with a bottle and a heavy heart &ndash; and hurried back as soon as I&rsquo;d finished my half-day of work.
</p>
<p>
In the end they managed pretty well of course, and Adrian had accepted the bottle, but he was happy to nurse when I got home.
</p>
<p>
At work I spent most of the day getting my new computer up and running and installing Windows. Installing stuff is, I think, my least favourite task at work. I&rsquo;d rather scrub the kitchen than battle with network card drivers or look for the right download files on MSDN. A gazillion flavours of Windows 7, all of them with long names that look almost identical at a glance, so finding the right one is a real chore.
</p>
<p>
By the time I left the office my lower back hurt. Even though I only worked a half-day, and I do not sit still when sitting in front of a computer. I am just not used to this much sitting any more.
</p>
<p>
I had also forgotten that it is a good idea to bring something to read on the train.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2011/05/16/today_back_to_work/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>/mum/random</title>
		<link>http://www.toomik.net/helen/blog/2011/04/11/mumrandom/</link>
		<comments>http://www.toomik.net/helen/blog/2011/04/11/mumrandom/#comments</comments>
		<pubDate>Mon, 11 Apr 2011 20:14:33 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[Ingrid]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=2613</guid>
		<description><![CDATA[Ingrid uses me as a random number generator occasionally, although she doesn&#8217;t of course know that that&#8217;s what it&#8217;s called. &#8220;Gold star or gold heart?&#8221; she asks me, or &#8220;Dora or Bolibompa?&#8221; &#8211; and then makes some sort of decision based on my answer. Last time I think it was to decide the order of [...]]]></description>
			<content:encoded><![CDATA[<p>
Ingrid uses me as a random number generator occasionally, although she doesn&rsquo;t of course know that that&rsquo;s what it&rsquo;s called. &ldquo;Gold star or gold heart?&rdquo; she asks me, or &ldquo;Dora or Bolibompa?&rdquo; &ndash; and then makes some sort of decision based on my answer. Last time I think it was to decide the order of eating her breakfast.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2011/04/11/mumrandom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Homophony</title>
		<link>http://www.toomik.net/helen/blog/2010/09/08/homophony/</link>
		<comments>http://www.toomik.net/helen/blog/2010/09/08/homophony/#comments</comments>
		<pubDate>Wed, 08 Sep 2010 20:54:08 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[Ingrid]]></category>
		<category><![CDATA[Estonian]]></category>
		<category><![CDATA[homophony]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[linguistics]]></category>
		<category><![CDATA[swedish]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1942</guid>
		<description><![CDATA[Ingrid is good at keeping Swedish and Estonian apart. When she mixes, it&#8217;s mostly semi-intentional: if she doesn&#8217;t know the right word in one language, she may borrow from the other. But then there are some cases where she&#8217;s picked one word and keeps using it in both languages, even though a word with the [...]]]></description>
			<content:encoded><![CDATA[<p>
Ingrid is good at keeping Swedish and Estonian apart. When she mixes, it&rsquo;s mostly semi-intentional: if she doesn&rsquo;t know the right word in one language, she may borrow from the other.
</p>
<p>
But then there are some cases where she&rsquo;s picked one word and keeps using it in both languages, even though a word with the same sound exists in that language and means something completely different. She does it very thoroughly and uses the grammar of the &ldquo;surrounding&rdquo; language, which makes it sound even more surreal, and even harder to figure out unless the listener knows both languages.
</p>
<p>
Thus, we have <i>doppa</i> (<i>to dip</i>) in Swedish &ndash; often used at mealtimes because she likes dipping bread in soup, dipping pasta in ketchup, dipping carrots in milk etc. No matter how many times I refer to it as &ldquo;sa kastad&rdquo; in Estonian, she keeps saying &ldquo;ma topin&rdquo;, which means &ldquo;I&rsquo;m stuffing&rdquo;.
</p>
<p>
Sticking/piercing (as in sticking a needle in something) is called <i>torkama</i> in Estonian. Ingrid keeps saying <i>torka</i> in Swedish sentences, too, but <i>torka</i> means <i>to dry</i> in Swedish. So when she wants to say &ldquo;I want to stick the potatoes&rdquo; (to see if they&rsquo;re done) she says &ldquo;I want to dry the potatoes&rdquo;.
</p>
<p>
A mug is called <i>kruus</i> in Estonian, and Ingrid keeps calling mugs <i>krus</i> in Swedish, too &ndash; &ldquo;pappa kan du ge mig den blommiga krusen&rdquo;. But <i>krus</i> in Swedish means <i>ripple, crimp</i>, although there is also an older word meaning <i>large jug</i>. An arrow is called <i>nool</i> in Estonian, and Ingrid uses that in Swedish, too (&ldquo;vi ska gå dit nålen pekar&rdquo;), but <i>n&aring;l</i> means <i>needle</i> in Swedish.
</p>
<p>
This is sort of funny to hear, but it is also interesting to observe, because in most cases, when I think about it, the words may mean different things in the two languages today, but they probably share a common root and origin. Needle / arrow is an obvious pair, mug / jug likewise. The Estonian language has gotten a lot of words from its various Germanic neighbours and conquerors, and it&rsquo;s interesting to see just how deep such loans go, how common and quintessentially Estonian the words now feel. (The homophony of pierce / dry, however, looks to me like a total coincidence.)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/09/08/homophony/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sverige Nu 2010</title>
		<link>http://www.toomik.net/helen/blog/2010/08/02/sverige_nu_2010/</link>
		<comments>http://www.toomik.net/helen/blog/2010/08/02/sverige_nu_2010/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 20:34:01 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Everything else]]></category>
		<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[advertising]]></category>
		<category><![CDATA[data]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[marketing]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[questionnaire]]></category>
		<category><![CDATA[sifo]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1894</guid>
		<description><![CDATA[While I was away in Estonia, SIFO (a Swedish polling / market research firm) sent me their Sverige Nu 2010 questionnaire (Sweden Now 2010). A few days ago I finally finished filling it in. Filling in the questionnaire took a while &#8211; the questionnaire is 40 pages, all of them packed with checkboxes. There are [...]]]></description>
			<content:encoded><![CDATA[<p>
While I was away in Estonia, SIFO (a Swedish polling / market research firm) sent me their <i>Sverige Nu 2010</i> questionnaire (<i>Sweden Now 2010</i>). A few days ago I finally finished filling it in.
</p>
<p>
Filling in the questionnaire took a while &ndash; the questionnaire is 40 pages, all of them packed with checkboxes. There are so many boxes it becomes physically tiring to check them. Not all of the boxes need to be checked, of course, but I counted 87 checks on the center spread, which is reasonably representative of the whole thing.
</p>
<p><img src="/helen/blog/images/SIFO.jpg" class="floatleft" /></p>
<p>
I like questionnaires. I like seeing what kind of questions they ask. What is important to these people? What do they care about? And I like answering them, because I think in many respects my answers are different from the average respondent&rsquo;s. I feel like I provide some balance and perspective to their data.
</p>
<p>
In this case, the focus of the questionnaire was on two things: what do I consume (and what could I be induced to consume), and what does my media consumption look like. On the whole, I got a distinct impression that this data will primarily be used by all kinds of firms to plan their advertising strategies.
</p>
<p>
How much do I earn? How much do I spend on clothes? Which hobbies do I have? What capital goods do I have in my household?
</p>
<p>
The categories for my spending were a bit odd: very detailed in some cases and yet not comprehensive. But when seen from an advertising angle, the questions all started to make more sense.
</p>
<p>
(First they ask me how much I spend on women&rsquo;s clothing. Then two rows further down they ask specifically about underwear. Or, to take another example, there are separate categories for each of wine, spirits, and beer, and a category for weight loss products &ndash; but none for food, or household products.)
</p>
<p>
Which newspapers and magazines do I read? How often do I watch TV? Which channels? Which programmes? Which time of the day? Which Internet sites do I visit? (Some of this was spectacularly boring to answer. I watch no TV, I read a single Swedish newspaper and a single Swedish magazine, and visit almost no Swedish web sites. Swedish ones were the only ones they cared about, and a few large sites like Google and Facebook. Swedish companies aren&#8217;t going to advertise in the Economist or on NYTimes.com after all.
</p>
<p>
There were also some questions specifically about my opinions about advertising &ndash; what are my views on ads on TV, Internet, radio; do I open unaddressed mail, etc.
</p>
<p>
The other interesting thing about this questionnaire (apart from its unstated and yet clear focus on advertising) was its unevenness.
</p>
<p>
Some questions are very broadly applicable and SIFO will likely be selling those data to many of their customers. Other questions appear to be included by request of some specific company. (&ldquo;How often do you visit Casino Cosmopol?&rdquo;)
</p>
<p>
The questions appear to be designed by different people, with no one person responsible for co-ordinating the entire thing. Many questions have a scale of responses: how often do I do something, or how much do I spend on something. The questions will naturally have somewhat different scales &ndash; some things you do frequently, others less so. But the scales sometimes differed in detail when the overall range was similar. E.g. one question might have the alternatives &ldquo;never, a few times per year, a few times per quarter, a few times per month, every other week, every week, daily / almost daily&rdquo;, whereas another would have &ldquo;never, a few times per year, a few times per quarter, a few times per month, 1-2 times per week, 3 times per week or more&rdquo;, and a third would have the same as the second but add even more detail at the end. A few more hours of work would have made the whole questionnaire easier to use. At least they had a clear layout guideline &ndash; the smaller amounts always came first.
</p>
<p>
Some questions had noticeably badly designed response ranges. &ldquo;How many times have you used the following sections of the Yellow Pages during the last 12 months? None, 1-2, 3-4, 5-6, 7-8, 9-11, 12-14, 15-19, 20-29, 30-49, 50+&rdquo;. Who could possibly recall if they opened the Yellow Pages 6 times or 9 times in the past year? It&rsquo;s going to be pure guesswork, and not very reliable data.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/08/02/sverige_nu_2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Nathaniel Schutta, &#8220;Making web apps suck less&#8221;</title>
		<link>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_nathaniel_schutta_making_web_apps_suck_less/</link>
		<comments>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_nathaniel_schutta_making_web_apps_suck_less/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 20:01:22 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[nathaniel_schutta]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[sdc]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[web_development]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1689</guid>
		<description><![CDATA[This is my summary of Nathaniel Schutta&#8217;s &#8220;Making web apps suck less&#8221;, a session I attended at ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. [various examples and illustrations of bad usability] What does usability include in web apps? [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Nathaniel Schutta&rsquo;s &ldquo;Making web apps suck less&rdquo;, a session I attended at <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
<p>
[various examples and illustrations of bad usability]
</p>
<p>
What does usability include in web apps?</p>
<ul>
<li>
Learnability
</li>
<li>
Efficiency
</li>
<li>
Memorability &ndash; how easy is it to pick up an application again after a few months&rsquo; absence
</li>
<li>
Handling errors
</li>
<li>
User satisfaction
</li>
</ul>
<p>How much should you focus on each of these? As usual in software development, the answer is &ldquo;It depends&rdquo;.</p>
<ul>
<li>
How many users will the system have?
</li>
<li>
How often will they use it?
</li>
<li>
Will they get training?
</li>
<li>
Do they have alternatives to using your application?
</li>
</ul>
<p>
How do you find usability problems?</p>
<ul>
<li>
Ask users
</li>
<li>
Watch them
</li>
<li>
Try doing it yourself
</li>
<li>
Just as comments are a code smell, (the need for) documentation is a usability smell. Warning signs include post-its stuck to the screen, looking things up in the manual.
</li>
</ul>
<p>
Paper prototyping is a powerful tool for evaluating usability. Test them with actual users!
</p>
<p>
<i><b>My opinion:</b> A good intro for those who have never given usability much thought. Luckily we&rsquo;ve come a bit further than this with our application.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_nathaniel_schutta_making_web_apps_suck_less/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Brian Marick, &#8220;What the Agile Manifesto Left Out&#8221;</title>
		<link>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_brian_marick_what_the_agile_manifesto_left_out/</link>
		<comments>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_brian_marick_what_the_agile_manifesto_left_out/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 19:54:01 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[brian_marick]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[sdc]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1685</guid>
		<description><![CDATA[This is my summary of Brian Marick&#8217;s &#8220;Seven Years Later: What the Agile Manifesto Left Out&#8221;, a session I attended at ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. The Agile Manifesto has an outward focus: it tells the [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Brian Marick&rsquo;s &ldquo;Seven Years Later: What the Agile Manifesto Left Out&rdquo;, a session I attended at <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
<p>
The Agile Manifesto has an outward focus: it tells the business how the development team will work with it. What it does not talk about is how the team must work within itself and with the code.
</p>
<p>
What should the team keep in mind?</p>
<ul>
<li>
Joy
</li>
<li>
Naivete: ignore the people and books who say that it&#8217;s impossible
</li>
<li>
Ease: tools should work as if they are a natural extension of your hand. Pay attention to what it feels like to work. Spend time fixing the annoyances.
</li>
<li>
Reactive: ignore the future. Don&#8217;t back up &#8211; change your course forward instead. This forces you to make your code easy to change.
</li>
</ul>
<p>Being wrong: is an opportunity to learn.
</p>
<p>
<i><b>My opinion:</b> Nice words and nice thoughts, but what do I actually do with them? Less inspiring than <a href="http://www.toomik.net/helen/blog/2010/03/22/scandevconf_notes_brian_marick_artisanal_retro-futurism_crossed_with_team-scale_anarcho-syndicalism/">Brian&#8217;s first talk at ScanDevConf</a>; rather vague and fluffy.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_brian_marick_what_the_agile_manifesto_left_out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Thomas Lundström, &#8220;BDD approaches for web development&#8221;</title>
		<link>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_thomas_lundstrom_bdd_approaches_for_web_development/</link>
		<comments>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_thomas_lundstrom_bdd_approaches_for_web_development/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 19:46:35 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[sdc]]></category>
		<category><![CDATA[thomas_lundstrom]]></category>
		<category><![CDATA[web_development]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1682</guid>
		<description><![CDATA[This is my summary of Thomas Lundström&#8217;s &#8220;BDD approaches for web development&#8221;, a session I attended at ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. Development should start with user stories. Then break these down into acceptance criteria: Given [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Thomas Lundström&rsquo;s &ldquo;BDD approaches for web development&rdquo;, a session I attended at <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
<p>
Development should start with user stories.<br />
Then break these down into acceptance criteria:</p>
<ul>
<li>
Given &laquo;situation&raquo;
</li>
<li>
when I &laquo;do this&raquo;
</li>
<li>
then &laquo;this happens&raquo;
</li>
</ul>
<p>This should be done before the sprint planning meeting. Know what you commit to!
</p>
<p>
The rest of the session was a demonstration/walkthrough of automated BDD.
</p>
<p>
<i><b>My opinion:</b> The non-automated part of the session was a somewhat useful recap of BDD. The automated example involved, as usual, an extremely simple application and extremely simple user stories. While I understand that it will work in that case, I have great difficulty envisaging how we could possibly use it in our system.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_thomas_lundstrom_bdd_approaches_for_web_development/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Diana Larsen, &#8220;Creating a Climate for Project &amp; Team Success&#8221;</title>
		<link>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_diana_larsen_creating_a_climate_for_project_team_success/</link>
		<comments>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_diana_larsen_creating_a_climate_for_project_team_success/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 19:40:36 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[diana_larsen]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[sdc]]></category>
		<category><![CDATA[teams]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1679</guid>
		<description><![CDATA[This is my summary of Diana Larsen&#8217;s &#8220;Creating a Climate for Project and Team Success&#8221;, a session I attended at ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. What is a team? A group of people with&#8230; a common [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Diana Larsen&rsquo;s &ldquo;Creating a Climate for Project and Team Success&rdquo;, a session I attended at <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
<p>
What is a team? A group of people with&#8230;</p>
<ol>
<li>a common purpose, undertood and committed
</li>
<li>
interdependent work and skills
</li>
<li>
a shared approach to this work
</li>
<li>
joint accountability
</li>
<li>
small size
</li>
<li>
a mutual history (at day one, you are not yet a team)
</li>
</ol>
<p>
How do you achieve these? What do these imply?</p>
<ol>
<li>
A project kickoff, project charter; reminders and mini-re-kickoffs
</li>
<li>
Think about what skills are needed before you select people for your team
</li>
<li>
Have a working agreement &#8211; &#8220;we aspire to work this way&#8221;. Make implicit norms explicit.
</li>
<li>
</li>
<li>
If the team is too large, it will break into sub-teams.
</li>
<li>
Common adversities and successes; stories to tell about the team; knowing each other.
</li>
</ol>
<p>
<i><b>My opinion:</b> Basic stuff. I guess there are groups out there that need these tips but they were not of much use to me.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_diana_larsen_creating_a_climate_for_project_team_success/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Henrik Kniberg, &#8220;Kanban and Scrum &#8211; Making the Most of Both&#8221;</title>
		<link>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_henrik_kniberg_kanban_and_scrum_-_making_the_most_of_both/</link>
		<comments>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_henrik_kniberg_kanban_and_scrum_-_making_the_most_of_both/#comments</comments>
		<pubDate>Tue, 13 Apr 2010 19:34:06 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[henrik_kniberg]]></category>
		<category><![CDATA[kanban]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[sdc]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1675</guid>
		<description><![CDATA[This is my summary of Henrik Kniberg&#8217;s &#8220;Kanban and Scrum &#8211; making the most of both&#8221;, a session I attended at ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. A supershort summary of Scrum: Split your team into small [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Henrik Kniberg&rsquo;s &ldquo;Kanban and Scrum &ndash; making the most of both&rdquo;, a session I attended at <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
<p>
A supershort summary of <b>Scrum</b>:</p>
<ul>
<li>Split your team into small parts</li>
<li>Split your product into small parts</li>
<li>Split your time into small parts</li>
</ul>
<p>&#8230; i.e. instead of a large team working on a large product for a long time, you have small teams working on small pieces of the product for short periods of time.
</p>
<p>
<b>Kanban</b> is:</p>
<ul>
<li>a signalling system</li>
<li>with visible indicators</li>
<li>that are limited in number.</li>
</ul>
<p>
Kanban in software development includes:</p>
<ul>
<li>visualizing the workflow (with columns on a whiteboard)</li>
<li>visualizing the stuff in workflow</li>
<li>limiting work in progress (WIP)</li>
<li>measuring and optimizing flow</li>
<li>explicitly defining your policies &ndash; the definition of done, WIP limits etc</li>
</ul>
<p>
How do the two differ?</p>
<ul>
<li>Scrum has more rules than kanban. On a scale from prescriptive to adaptive, the order would be<br />
RUP&nbsp;>&nbsp;XP&nbsp;>&nbsp;Scrum&nbsp;>&nbsp;Kanban >&nbsp;do&nbsp;whatever&nbsp;works.
</li>
<li>
Scrum defines roles while Kanban doesn&rsquo;t. In practice they might look the same.
</li>
<li>
Both are empirical and measure things (velocity, lead time, quality etc). Kanban gives you more knobs to twiddle to change the outcome.
</li>
<li>
Scrum has one cycle: planning and committing, releasing, and retrospectives, all three are done on the same cycle. Kanban does not tie these together; you could have a different cycle for each one.
</li>
<li>
In Scrum, items must fit within a sprint. Kanban allows long-running tasks, limited only by WIP limits.
</li>
<li>
Both limit WIP. Scrum limits by velocity, per time; Kanban limits by column in the workflow.
</li>
<li>
Scrum discourages mid-sprint change: &ldquo;We want to work in peace and quiet for a few weeks&rdquo;. In Kanban, you just need to wait for a slot to become available.</li>
<li>
In Scrum, the board is reset between sprints. In Kanban the board has a long life. Scrum gives you closure and a feeling of success, but also some waste.
</li>
<li>
Scrum prescribes one team per board, cross-functional. Kanban is more permissive of specialist teams.
</li>
<li>
Scrum prescribes estimation and calculating velocity. In Kanban both are optional.
</li>
</ul>
<p>
For more information, read <a href="http://www.infoq.com/minibooks/kanban-scrum-minibook">the free PDF minibook</a>.
</p>
<p>
<i><b>My opinion:</b> Well-structured and informative. I&rsquo;d been curious about Kanban, wondering if it might be worth trying instead of Scrum (which we use now). After this presentation I have a good grip on the differences between the two and know that Scrum suits our needs better.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/04/13/scandevconf_notes_henrik_kniberg_kanban_and_scrum_-_making_the_most_of_both/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Diana Larsen, &#8220;How Can You Manage New Organizations in an Old Way?</title>
		<link>http://www.toomik.net/helen/blog/2010/03/27/scandevconf_notes_diana_larsen_how_can_you_manage_new_organizations_in_an_old_way/</link>
		<comments>http://www.toomik.net/helen/blog/2010/03/27/scandevconf_notes_diana_larsen_how_can_you_manage_new_organizations_in_an_old_way/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 20:54:47 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[diane_larsen]]></category>
		<category><![CDATA[management]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[sdc]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1625</guid>
		<description><![CDATA[This is my summary of Diana Larsen&#8217;s &#8220;How Can You Manage New Organizations in an Old Way?&#8221;, which was the keynote speech for day 2 ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. The short answer is, You can&#8217;t. [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Diana Larsen&rsquo;s &ldquo;How Can You Manage New Organizations in an Old Way?&rdquo;, which was the keynote speech for day 2 <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
</p>
<p>
The short answer is, You can&rsquo;t.
</p>
<p>
Before discussing the differences between the old and the new, it&rsquo;s useful to remember that the &ldquo;old&rdquo; way of work, command and control, has only existed for the past 80-100 years.
</p>
<p>
Now the old kind of work is being replaced by knowledge work, where the workers know more about their job than their manager does. The old kind of management no longer works.
</p>
<p>
Old management activities are: planning, organizing, budgeting, monitoring, directing, supervising, evaluating, controlling, commanding.
</p>
<p>
New management: managers focus on flow, people and value, and continuous improvement. Their job is to enable and facilitate.
</p>
<p>
New management activities include mentoring, mediating, protecting, advocating, acquiring and allocating resources, tracking and reporting metrics, supplying a good work climate, supporting learning, improving systems.
</p>
<p>
The people working are affected by the system they work in, and that is the reponsibility of management. Behaviour is a function of person and environment.
</p>
</p>
<p>
<i><b>My opinion:</b> This all seemed pretty self-evident to me.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/03/27/scandevconf_notes_diana_larsen_how_can_you_manage_new_organizations_in_an_old_way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Niclas Nilsson, Hans Brattberg, &#8220;The Pair Programming Show&#8221;</title>
		<link>http://www.toomik.net/helen/blog/2010/03/27/scandevconf_notes_niclas_nilsson_hans_brattberg_the_pair_programming_show/</link>
		<comments>http://www.toomik.net/helen/blog/2010/03/27/scandevconf_notes_niclas_nilsson_hans_brattberg_the_pair_programming_show/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 20:48:58 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[hans_brattberg]]></category>
		<category><![CDATA[niclas_nilsson]]></category>
		<category><![CDATA[pair_programming]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[sdc]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1622</guid>
		<description><![CDATA[This is my summary of Niclas Nilsson and Hans Brattberg&#8217;s &#8220;The Pair Programming Show&#8221;, a session I attended at ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. This session was a live play showing pair programming in action &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Niclas Nilsson and Hans Brattberg&rsquo;s &ldquo;The Pair Programming Show&rdquo;, a session I attended at <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
<p>
This session was a live play showing pair programming in action &ndash; done right, and done wrong.
</p>
<p>
<i><b>My opinion:</b> Fun and relatively well done, but pretty basic stuff. The only thing it gave me was a reminder of the different roles that the two people in a pair should have. One to focus on the small, immediate stuff; the other to focus on the bigger picture &ndash; Are we doing the right thing? Are we doing it right? Could we do something else?</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/03/27/scandevconf_notes_niclas_nilsson_hans_brattberg_the_pair_programming_show/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Udi Dahan, &#8220;Intentions and Interfaces&#8221;</title>
		<link>http://www.toomik.net/helen/blog/2010/03/27/scandevconf_notes_udi_dahan_intentions_and_interfaces/</link>
		<comments>http://www.toomik.net/helen/blog/2010/03/27/scandevconf_notes_udi_dahan_intentions_and_interfaces/#comments</comments>
		<pubDate>Sat, 27 Mar 2010 20:43:41 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[design_patterns]]></category>
		<category><![CDATA[interfaces]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[sdc]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[udi_dahan]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1619</guid>
		<description><![CDATA[This is my summary of Udi Dahan&#8217;s &#8220;Intentions and Interfaces&#8221;, a session I attended at ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. A core design pattern: intentional interfaces. Whenever you find yourself facing a design problem, tell yourself [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Udi Dahan&rsquo;s &ldquo;Intentions and Interfaces&rdquo;, a session I attended at <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
<p>
A core design pattern: intentional interfaces. Whenever you find yourself facing a design problem, tell yourself &ndash; &ldquo;Make roles explicit&rdquo;.
</p>
<p>
For example, a Customer class may be used to validate a customer before persisting it, for making customers preferred, and for adding orders to the customer. Making these roles explicit, the Customer class would implement IValidator<Customer>, IMakeCustomersPreferred, and IAddOrders. Now that these are in place, we may use them, for example, to implement different fetching strategies for #2 and #3 &ndash; lazy vs eager.
</p>
<p>
Another example: there might be a CustomerService class for those same three tasks. Separating out the three responsibilities, the class might implement IMessageHandler<ChangeAddressMsg>, IMessageHandler<AddOrderMsg> and IMessageHandler<MakePreferredMsg>. Now that this is explicit, we may split this into three different classes, which would (among other things) allow us to have several handlers for a single message, in a pipeline.
</p>
<p>
As a rule of thumb, define your interfaces starting from use cases. These tend to be a stable foundation to build on.
</p>
<p>
Often we think one interface &ndash; many implementations. With this pattern it&rsquo;s the opposite: one implementation, many interfaces.
</p>
<p>
<i><b>My opinion:</b> This session is difficult to summarize without all the examples and step-by-step reasoning, so I&rsquo;m afraid the blog post won&rsquo;t do it justice. I found it useful, and the reminder to Make Rules Explicit will probably lead to better design with less sprawling classes in our code.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/03/27/scandevconf_notes_udi_dahan_intentions_and_interfaces/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Chris Hedgate, &#8220;Effective Retrospectives&#8221;</title>
		<link>http://www.toomik.net/helen/blog/2010/03/26/scandevconf_notes_chris_hedgate_effective_retrospectives/</link>
		<comments>http://www.toomik.net/helen/blog/2010/03/26/scandevconf_notes_chris_hedgate_effective_retrospectives/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 20:28:27 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[chris_hedgate]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[retrospective]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[scrum]]></category>
		<category><![CDATA[sdc]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1604</guid>
		<description><![CDATA[This is my summary of Chris Hedgate&#8217;s &#8220;Effective Retrospectives&#8221;, a session I attended at ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. Note: In Agile development, a retrospective is a meeting at the end of an iteration (which a [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Chris Hedgate&rsquo;s &ldquo;Effective Retrospectives&rdquo;, a session I attended at <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
<p>
<i>Note: In Agile development, a retrospective is a meeting at the end of an iteration (which a period of work, usually 2 to 4 weeks) where the team reviews the iteration together, and discusses possible improvements to their process.</i>
</p>
<p>
A bad retrospective is: ad hoc, not prepared, with no structure.
</p>
<p>
The goals of a retrospective are two:</p>
<ul>
<li>participation</li>
<li>decide on actions, what should we change (this is what new scrum masters often focus on)</li>
</ul>
<p>
Keys:</p>
<ul>
<li>Facilitation = planning, leading, setting a goal. Gives us flow.</li>
<li>Framing = setting up and ending, making it focused</li>
<li>Structure = ensures balance, gets everyone&rsquo;s input</li>
</ul>
<p><b>Facilitation</b></p>
<ul>
<li>Use an external facilitator. The person leading the meeting should not have an interest in its outcome. It is difficult to lead and participate at the same time. If not possible: be very clear about when you&rsquo;re leading and when you&rsquo;re participating.</li>
<li>Work with the energy and the dynamics of the group. Take breaks; split into smaller groups when appropriate.</li>
<li>Prepare. Think about what activities to use; when and where to have the meeting; is food needed, etc.</li>
</ul>
<p><b>Framing</b></p>
<ul>
<li>Modify the retrospective according to its purpose</li>
<li>Define the goal and agenda</li>
<li>Not every retrospective needs to be about &ldquo;how can we get better&#8221;</li>
<li>Try retrospectives with specific themes: QA, communication, etc &ndash; gets you away from boredom and routine</li>
<li>Start with a check-in: everyone says/draws something about the iteration</li>
<li>Make it safe to participate</li>
</ul>
<p><b>Structure</b><br />
A retrospective should have three phases:</p>
<ol>
<li>What happened? Why are we here? &ndash; In this phase we share context</li>
<li>Why did that happen? &ndash; In this phase we diverge, by brainstorming</li>
<li>what should we do? &ndash; In this phase we converge again, and decide on actions</li>
</ol>
<p>Sharing context can include:</p>
<ul>
<li>Looking at raw data: burndown chart, story list, bug count chart</li>
<li>Creating a timeline: write post-its with things that happened and stick them on the timeline (all at the same time or with individual preparation)</li>
<li>An emotional timeline (a line chart scaled simply from &ndash; via 0 to +, and everyone draws their own line between these extremes)</li>
</ul>
<p>During brainstorming, people write ideas and thoughts on post-its.
</p>
<p>
During the convergence phase, you can cluster the post-its, vote on them, discuss them in smaller groups, etc. At the end, the team commits to actions that are</p>
<ul>
<li>possible</li>
<li>valuable/important</li>
<li>someone who wants to do it</li>
</ul>
<p>Finally, summarize: what have we learned, what are we taking with us.
</p>
<p>
<i><b>My opinion:</b> This was exactly what I needed. Chris&rsquo;s comment about how inexperienced scrum masters always focus on &ldquo;what should we change&rdquo; really hit home. And our retrospectives have become relatively boring. This session gave me lots of useful, practical tips. I believe our next retrospective will be much better than the last one.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/03/26/scandevconf_notes_chris_hedgate_effective_retrospectives/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Bill Wake, &#8220;To Make a Long Story Short &#8211; Splitting User Stories&#8221;</title>
		<link>http://www.toomik.net/helen/blog/2010/03/26/scandevconf_notes_bill_wake_to_make_a_long_story_short_-_splitting_user_stories/</link>
		<comments>http://www.toomik.net/helen/blog/2010/03/26/scandevconf_notes_bill_wake_to_make_a_long_story_short_-_splitting_user_stories/#comments</comments>
		<pubDate>Fri, 26 Mar 2010 20:05:37 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[bill_wake]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[requirements]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[sdc]]></category>
		<category><![CDATA[user_stories]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1601</guid>
		<description><![CDATA[This is my summary of Bill Wake&#8217;s &#8220;To Make a Long Story Short &#8211; Splitting User Stories&#8221;, a session I attended at ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. Why split user stories? A story may be too [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Bill Wake&rsquo;s &ldquo;To Make a Long Story Short &ndash; Splitting User Stories&rdquo;, a session I attended at <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
<p>
Why split user stories? A story may be too big to manage. Or different parts of it may have different value. Or some parts may be better understood than others. We&rsquo;re looking for bargains: best value for least cost.
</p>
<p>
There are 4 categories of splits:</p>
<ul>
<li>high-level splits that get rid of lots of work</li>
<li>&#8220;ilities&rdquo; &ndash; non-functional splits</li>
<li>UX splits &ndash; simplify the user experience</li>
<li>behavioral splits &ndash; simplify behaviour</li>
</ul>
<p>Technical splits are not recommended. Stories still need to make sense and be valuable to users.
</p>
<p>
High level splits include: research; partly manual process (instead of full automation); buying instead of building; deferring features.
</p>
<p>
&#8220;ilities&rdquo; splits include: static data instead of dynamic (a &ldquo;refresh&rdquo; button instead of constant automatic refreshes); simplified persistence; lower fidelity; lower reliability; lower performance.
</p>
<p>
User experience simplifications include: batch processing instead of immediate response (generate reports off-line overnight); single user (instead of multi-user); API only (UI can wait); simplified UI style; a generic UI (textboxes in a grid instead of nicely aligned dropdown boxes etc).
</p>
<p>
Behavioural splits include: happy path first (ignore alternative flows and exception cases); fewer choices (0 or 1 instead of many, e.g. fonts in a text editor); base case first (wait with a more general solution); collect less data.
</p>
<p>
<i><b>My opinion:</b> Pretty basic stuff rather dully delivered. I could have just taken the one-page handout and not missed much.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/03/26/scandevconf_notes_bill_wake_to_make_a_long_story_short_-_splitting_user_stories/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ScanDevConf notes: Brian Marick, &#8220;Artisanal Retro-Futurism Crossed With Team-Scale Anarcho-Syndicalism&#8221;</title>
		<link>http://www.toomik.net/helen/blog/2010/03/22/scandevconf_notes_brian_marick_artisanal_retro-futurism_crossed_with_team-scale_anarcho-syndicalism/</link>
		<comments>http://www.toomik.net/helen/blog/2010/03/22/scandevconf_notes_brian_marick_artisanal_retro-futurism_crossed_with_team-scale_anarcho-syndicalism/#comments</comments>
		<pubDate>Mon, 22 Mar 2010 20:16:16 +0000</pubDate>
		<dc:creator>Helen</dc:creator>
				<category><![CDATA[Geeky things]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[arxta]]></category>
		<category><![CDATA[brian_marick]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[scandevconf]]></category>
		<category><![CDATA[sdc]]></category>

		<guid isPermaLink="false">http://www.toomik.net/helen/blog/?p=1589</guid>
		<description><![CDATA[This is my summary of Brian Marick&#8217;s &#8220;Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism&#8221;, a session I attended at ScanDevConf 2010. Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me. There is a core in agile that is going missing now that Agile [...]]]></description>
			<content:encoded><![CDATA[<p>
<i>This is my summary of Brian Marick&rsquo;s &ldquo;Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism&rdquo;, a session I attended at <a href="http://www.scandevconf.se/2010/conference/">ScanDevConf 2010</a>. <b>Please understand that, except for the notes at the top and bottom, this post reflects the opinions of the speaker, not me.</b></i>
</p>
<p>
There is a core in agile that is going missing now that Agile is going mainstream and <a href="http://en.wikipedia.org/wiki/Crossing_the_Chasm">crossing the chasm</a>.
</p>
<p>
A problem with Agile is its name. Of course everybody wants to be agile. Look up the opposites in a dictionary: sluggish, torpid, immobile. Who wants to be sluggish and torpid?
</p>
<p>
So I came up with a description of Agile that is weird enough that nobody is going to immediately, before they&rsquo;ve had time to really understand it, react with &ldquo;oh yes, that&rsquo;s me&#8221;: <b>Artisanal Retro-Futurism crossed with Team-Scale Anarcho-Syndicalism</b>.
</p>
<ol>
<li>
Anarcho-syndicalism:</p>
<ul>
<li>Worker self-management &ndash; no managers</li>
<li>Direct action. To take an example from the original anarcho-syndicalism, say you have a strike, and those opposing the strike are attacking you with clubs and guns. The standard approach would be to vote to elect a congressman who passes laws that prohibit violence against strikers. The AS approach is to get your own clubs and guns and protect your strikers. Don&rsquo;t try to get into management to fix your problems, fix them now.</li>
<li>Worker solidarity: the team fails together and succeeds together, we&rsquo;re all in this together</li>
</ul>
</li>
<li>
Team-scale: we&rsquo;re not revolutionizing society, just helping your team
</li>
<li>
Artisanal: people on the team care deeply about the product and its users, sometimes more than the business. Counteracts the risk of becoming so infatuated with our process that we lose sight of our aim.
</li>
<li>
Retro-futurism: 1930s futurism pictured all sorts of nice things for the future, i.e. for now. Orbital cities, clean cheap urban transport, underwater cities, personal jetpacks. We didn&rsquo;t really get much of any of that. The same happened with Agile. In the early days agile projects were few and far between, but everybody hoped that the idea would spread and make all developers happy. Instead we now have lots of teams doing Agile in name only. People on &ldquo;agile&rdquo; projects are saying &ldquo;at least my job doesn&rsquo;t suck as much as it used to&rdquo; instead of &ldquo;this is the best project I&rsquo;ve ever worked on,&rdquo; which is how it should be. Retro-futurism reminds people of the possibilities. Don&rsquo;t accept things as unchangeable, change your circumstances to get where you want, keep that gosh-wow spirit.
</li>
</ol>
<p>
To summarize the spirit of Agile:</p>
<ul>
<li>scrappy &ndash; we are trying to do something here, get out of my way</li>
<li>care &ndash; for the product, the users, the process</li>
<li>naive optimism</li>
</ul>
<p>
<i><b>My opinion:</b> Inspiring! Brian was an enthusiastic, passionate speaker who delivered a thought-provoking speech. New ways to think about old things. Conference sessions tend to fall into two categories: those where I learn new facts, and those that simply energize me and make me want to get back to work and improve everything. This is a prime example of the latter kind.</i>
</p>
<p>
<i>If you find this interesting, there is a bit more information at <a href="http://www.arxta.net/">ARxTA.net</a>, including a <a href="http://www.arxta.net/video">video of Brian delivering a similar talk</a> some years ago at some other conference.</i></p>
]]></content:encoded>
			<wfw:commentRss>http://www.toomik.net/helen/blog/2010/03/22/scandevconf_notes_brian_marick_artisanal_retro-futurism_crossed_with_team-scale_anarcho-syndicalism/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

