Robin Newton wrote:
> > I prefer real-world problems to puzzles, since most puzzles
> > reward thinking hard more than they reward good coding style.
>
> Yes, I wonder too about the use of toy problems. However, I'm happy
> just to treat this as a rule of the game for now, and see how this
> pans out before trying to change it.
Fair enough.
> [In case anyone is wondering why it's called a 'dojo', which is a
> piece of karate terminology, it is bound up with Dave Thomas' coining
> of the term 'code kata' for little coding exercises. See
http://www.codekata.com/
> and
http://codingdojo.org/cgi-bin/wiki.pl?KataCatalogue.]
>
> > One real-world-ish thing that occurred to me was "Write a web browser
> > in Python".
>
> Although, as I said previously, it doesn't matter that much if a
> problem doesn't get finished, I think it is important that it could
> plausibly be done in a single session. So - and bearing in mind that
> only one person would be coding at once - I think that trying to write
> a browser in an evening might be a bit ambitious.
The thing I like about the "web browser" idea is that you can create
something that meets that description as a one-liner, after which
everything else is bonus. But it can certainly wait.
> I think it is also worth considering that people are unlikely to be at
> their most productive in a dojo: I imagine it must be fairly off-
> putting to code to a crowd, and talk about it whilst you're doing it.
> Moreover, some people (e.g. me) may not have prior familiarity with
> pair programming and test-driven development. This is part of the
> reason why I don't currently mind the idea of having a toy problem.
>
> As to puzzles being a bit too 'thinky', I assume that part of the
> point is for people to be able to see how other people think about
> things, which (I hope) could be quite illuminating.
I worry that those coming in later will be stuck with the dilemma of
sticking with whatever direction the first people took it or throwing
it all away, which might well be the best approach with some puzzles,
but would seem to be the height of rudeness.
> Actually, I did have something in mind, but I was going to keep it
> under my hat until nearer the time, to save people the temptation of
> working on it in advance. My plan had been to provide the beginnings
> of a unit test and an implementation that fails all its tests, to act
> as a starting point.
Sounds like a good starting point.
Re. numbers, either no-one has emailed the mailinator address or the
mailinator people have reset their servers. Either way, it turns out I
misused it anyway, so that's a good thing. If people who are planning
to come could reply to me directly or email the much less memorable
but more secure address:
M8R-9wx0b (at)
mailinator.com
that would be helpful, thanks. (This made me think that altering the
Google App Engine guestbook tutorial to create a sign-up sheet web app
would make another nice code dojo exercise...)
Tom
* emailing the previous address might expose your address to very
zealous spammers, sorry