Saturday, April 29, 2006

The Gold Falcon

I went into town today and saw that Katherine Kerr's new book The Gold Falcon is out. I'm just over fifty pages in so far, and I've already squee'd twice (something I'm not generally disposed to doing).

Update: One thing that is different about The Gold Falcon compared to Kerr's earlier books is a distinct lack of parts and chapters.

Earlier volumes in the Deverry series had, to the best of my recollection, a normal proportion of chapters for novels of their length and were typically divided into several parts each set in a different era as events required, or invited, the introduction of some historical context. The Gold Falcon, on the other hand, has a few pages to reintroduce the central plot (about which is constructed several hundred years of engrossing stories and characters) and a single part spanning the current era and some 400-odd pages. No chapters, no detours through eras past, nothing.

Finally: Having finished the book, I'm struck by just how much I like Katherine Kerr's writing. I found myself, with every revelation, thinking "I remember him, or her, or that;" I could identify the origins of her characters by their patterns of speech; I could foresee some of the problems the characters encountered but the eventual outcome (of the next few books) is still very far from obvious.

One point that did occur to me is that if I hadn't been reading the Deverry books for years I might think that certain aspects were somehow inspired by recent events. The desire of the main martyrdom expressed by Alshandra's worshippers and the problem of dealing with them is reminiscent of fundamentalist Moslem suicide bombers and the problems (or, more accurately, failures) that Western countries have had in responding to them.

All up, this is another awesome book in the Deverry series. It takes a bit of a departure from the previous books in its structure, but the end of the saga is in sight.

Tags:

Friday, April 28, 2006

Teachers, students & the law

I've just finished reading Teachers, students & the law by Andrew Hopkins (published by the Victoria Law Foundation). It covers a number of legal issues important to teachers and school staff including the duty of care, mandatory reporting of abuse and rights and responsibilities.

The thing that really surprised me in reading this book is that corporal punishment may be permitted in schools in the Northern Territory and non-government schools in Queensland, Victoria and Western Australia. I wonder when these states will catch up with the rest and abolish corporal punishment in schools altogether...

Tags:

A Final Post On 'On Education'

I've just finished reading On Education by Harry Brighouse. It is, without exception, the most accessible, well written and well presented philosophical work I have read. This should be essential reading for everyone involved in education; teachers, administrators, policy makers and the community at large.

The next time I have $30 to spare, I'm going to get On the Public (buy), another volume in Routledge's Thinking in Action series.

Tags:

Wednesday, April 26, 2006

Cad, Arrogant Cad

Watched Moonraker again last night. Was surprised at how repulsive I found Mr. Bond. Perhaps shouldn't have been. I much prefer Pierce Brosnan's Bond; if nothing else he doesn't come over as such an arrogant cad.

Tags:

Monday, April 24, 2006

The Relativity of CSS Units

The Surfin' Safari Blog has three posts on making the CSS pixel a relative unit (and the fact that, to an extent, it already is). Anyone interested in graphics, display technologies, the web or related topics should read them: I, II, and III.

Tags:

Thursday, April 20, 2006

The Teaching of Programming

Having decided that computer science isn't really my thing (I prefer it as a hobby, rather than a career), I'm now training to be a teacher and, as such, spend a certain amount of time thinking about ways to present material. One of the topics that is of no small interest to me is the teaching of programming, as distinct from teaching programming languages.

I spent some of the 2.5 hour bus trip back from classes in Hobart today thinking about ways to present monads. As a result, I've decided to write my very own version of that mainstay of the Haskell community — Yet Another Monads Tutorial. The goals of this project are twofold:
  1. to try to solidify my understanding of monads, their uses and theory; and
  2. to present programming in a way that very few or, more likely, no students will experience before advanced undergraduate CS classes.
My current thinking is to introduce functional programming in terms of expression reduction (using Hugs or, maybe, GHCi). This will segue into a discussion of evaluation semantics (specifically, lazy evaluation) which will raise the problem of sequenced computations. Monads (as we already know) provide a solution to this problem which will be demonstrated with some work in the IO monad. To really understand how Monads work in Haskell, we'll have to take a brief detour through type classes before we look at defining our own instances of Monad.

The main example (and the only one that I've thought most about) will be a Monad that allows us to compose transformation matrices for 3D work in monadic style. In this Monad, we'll be able to create a transformation matrix by doing something like: myTransform = do
    identityMatrix;
    rotateAbout Z 90;
    scale X 1.5;
    translate Y 20
rather than explicitly creating the matrix for each transformation and multiplying them together or, worse, poking at the individual members of the transformation matrix. Furthermore, this example lends itself quite well to extension. Instead of calculating a matrix which performs the appropriate transformations, we might instead create an data-structure encoding the calculation which will, when evaluated, yield such a matrix. This data-structure could then be evaluated (like, if I understand correctly runST does for the ST monad) or it could be subjected to symbolic manipulation (perhaps allowing the students to implement a simple optimiser).

This will probably turn into my major project for next semester (developing plans and materials for an entire unit). If it does, I'll probably make it available online somewhere.

Tags:

Integrating support for undo with exception handling

Integrating support for undo with exception handling by Avraham Shinnar; David Tarditi; Mark Plesko and Bjarne Steensgaard.

This paper appears to have as its object a solution to similar problems as those addressed by software transactional memory; i.e: maintaining memory consistency. Where STM provides transactions that can be used to implement multithreaded programmes much more simply that traditional explicit locking approaches, this paper uses a similar mechanism to handle unexpected failures (uncaught exceptions) and roll-back the effects of the failed code.

he authors describe their implementation of an undo mechanism in Bartok, an experimental optimising C# compiler and CIL runtime. Their system extends C# with a try_all block which acts as a catch-all exception handler. If an exception propagates is raised within a try_all block and is not handled before it reaches the scope of the block, then the roll-back mechanism is engaged.

The main difference between Haskell's STM is the goal: where STM is concerned with maintaining memory consistency in the face of concurrently executing threads, this system is concerned with simplifying error handling and recovery.

Google | CiteULike | Del.icio.us | LtU

Tags:

Saturday, April 15, 2006

Going Away; or Catching Up

I'm going away for a few days tomorrow (or, having looked at the clock, today) and do not plan on checking my e-mail, my news feeds, or in anyway interacting online. Hopefully, this'll give me a chance to catch up on some reading and get to some of the half-dozen papers I've been wanting to read and post here.

More in a four or five of days.

More on "On Education"

An already noted, I recently purchased Harry Brighouse's new book On Education and I've just now finished reading the first two chapters. These present arguments supporting the propositions that:
  1. we ought to education students to be autonomous (i.e: capable of deciding upon a way of life that suits them; able to follow such a way of life; etc.); and
  2. we ought to educate students so that they are able to engage with the economy, and not to fulfill certain economic needs.
The ease with which I have been able to engage with the material covered in spite of my rather limited knowledge of philosophy (of education, or otherwise) is testament to the clarity of Brighouse's presentation. If the other books in the series are as interesting (and the certainly appear to be), I'll have to look into getting some of them.

Amazon | CiteULike | ISBN.nu

Tags:

Thursday, April 13, 2006

Appleseed

I bought Madman Entertainment's special edition DVD of Appleseed today and I've just finished watching it. The art is absolutely beautiful — equalling, if not surpassing, Ghost in the Shell: Stand Alone Complex which is the current top of my ooooh-pretty-shiny-art list.

One thing that struck me while watching it is that while the mecha and environments were absolutely gorgeous, the characters had a rotoscoped look to them (especially the shadows and hair) which seemed a little strange at first but definitely grew on me.

Another thing that noticed (though it took until I watched the trailers afterwards) was that the scene where Deunan leapt from the top of a building to mount her Landmate bears quite a strong resemblance to the scene in Ghost in the Shell when Major Kusanagi leaps off the top of a tower wearing optical camouflage. I'm not sure if it was homage to GitS, a coincidence, or Masamune Shirow likes that shot enough to have it used in this film too; but I'd prefer to think it the homage.

In short, this is yet another kick-ass film based on Masamune Shirow's work. If you liked the art in GitS:SAC, the philosophy of GitS and MMI, the watch-ability of Dominion Tank Police and want it mixed with more mecha action than you can shake a stick at, you'll love Appleseed.

Wednesday, April 12, 2006

On Just Education?

Justice and On Education, both by Harry Brighouse.

My first Harry Brighouse book (Justice) left me with a bit of a bad taste in my mouth. While the text is well written, accessible and far from dry; the content is interesting and the design is reasonably attractive, what I have read of it so far (about 60 pages) gives the impression that it has not enjoyed the benefit of a copy editor, or even spell and grammar checked in a word processor. Needless to say, this detracts somewhat from the impression of scholarly rigour.

While Justice was an impulse purchase (motivated by recognition of the name of a blogger I read), my buying On Education was a more deliberate — motivated not only by my enjoyment of Brighouse's writing, but a nascent (or emerging, I'm not sure which) interest in education and its philosophy. From a quick flick through, I get the impression that this book will have much higher production values than Justice did and, hopefully, won't have contain the same evidence of a lack of copy editing.

Along with On Education, I also bought Teachers, students & the law and VectorWorks 10 For Windows & Macintosh, the former because it looked interesting and was cheap, the latter because it was recommended and will come in useful if I wind up teaching technical drawing.

Tags:

Tuesday, April 11, 2006

Learning Content Management Systems

.LRN -- a free software educational content management system based on the OpenACS platform. Quite difficult to get installed (a task that I have not yet managed to complete).

Moodle -- an open source educational content management system written in PHP.

Rhaptos -- an open source educational content management system based on Plone (which, in turn, is based on the Zope application server). Uses MathML and supports a number of browser plugins for advanced features.

OCW -- MIT use a system based on Microsoft Content Management Server. (See: 1 and 2).

UCalgary have a learning object repository.

Heriot Watt University, Cranfield University and the University of Birmingham collaborate on EEVL, "the Internet Guide to Engineering, Mathematics and Computing".

Chalkface are publishers of online courses, lesson plans, photocopy masters, etc. for secondary education in a wide range of subjects.

Transactional memory with data invariants (DRAFT)

Transactional memory with data invariants (PDF) by Tim Harris and Simon Peyton Jones. Draft, under submission.

The authors present an extension to a software transactional memory system (GHC with STM support) which automatically checks programmer specified data invariants and rejects transactions which break them. They present a number of examples illustrating the power of the concept:
  • range-limited variables — variables the values of which cannot exceed a certain limit [at the end of a transaction, when the invariants are checked];
  • sorted lists — a list of values that are maintained in ascending order specified as an invariant on individual nodes, or one whole lists; and
  • invariants as guards — where invariants are used as guards on operations (and can block transactions, etc.).
This is yet another really interesting paper about software transactional memory.

Del.icio.us | LtU

[Edit: The final version of the paper has been released and I have posted my comments.]

Threads Cannot Be Implemented As a Library

Threads Cannot Be Implemented As a Library by Hans-J. Boehm. In PLDI'05. (PDF)

I read this paper for a presentation I had to do for Advanced Run Time Systems last year. Using Pthreads as an example, Boehm points out that implementing threads purely as a library can result in a number of errors which are difficult to find and resolve. The paper presents three examples:
  • concurrent modification — where races are introduced by optimisations ignorant of concurrency requirements;
  • rewriting adjacent data — where race conditions are introduced when variables protected by different locks are packed into the same memory location;
  • register promotion — where register promotion optimisations can modify protected variables outside of an atomic region.
As is mentioned in the Lambda the Ultimate discussion (linked below), this paper doesn't describe anything terribly new but it was an interesting read.

ACM | Google | Del.icio.us | CiteULike | LtU

Sunday, April 09, 2006

Wondrous oddities: R's function-call semantics

Wondrous oddities: R's function-call semantics

As much as I disliked using R, it does have some very cool features. The post above describes R's function calling semantics which are not only very different (probably unique), but also very well suited to R's domain.

Great Moments in Logic...

Great Moments in Logic... by Greg Restall.

A short survey of 30 important logicians, philosophers and mathematicians and their 'great moments' in logic. Well written and very accessible, anyone interested in philosophy, logic, mathematics or their history will find it worth reading.

Del.icio.us

Tags:

Friday, April 07, 2006

Magical Lists

A not very recent post (I'm trying to catch up; only 970 messages to go) to the Haskell-cafe mailing list pointed out that jhc treats (:), [] and (,) as normal data constructors. Some might see this as removing some of the magic from lists, but I see it as sharing the magic around. The number of times I've been annoyed that (:) is hard-coded for lists boggles the mind.

Tuesday, April 04, 2006

Films; French and Otherwise

I've watched a couple of good films recently. First, a couple French films distributed in Australia by Madman Films.

The Dinner Game (or Le Diner De Cons) is a wonderful comedy about a yuppy and the man who was to be his guest to an "idiots dinner." This is a fabulous film and everyone, lover of farce or not, should see it.

Tais Toi (Official site). The description on the Madman site is better than anything I could come up with, though it does spoiler the entire plot. Starring Gerard Depardieu and Jean Reno, this is one of the best films I've seen this year.

MirrorMask (IMDB) sees Helena transported from her own life (travelling and performing in her family's circus) into another world. Stephanie Leonidas makes a wonderful heroine and her engagement with the almost entirely artificial world around her is testament to her ability as a actor. While the prevalence of special effects was a little overwhelming and the characters did occasionally seem a little detached from the mostly animated world around them, the art and design was absolutely gorgeous. Graphic artists and anyone who like Neil Gaiman's work would do well to see this film.

Sunday, April 02, 2006

Dead Witch Walking and Pure Dead Magic

Dead Witch Walking by Kim Harrison.

Dead Witch Walking is yet another paranormal romance. In a similar vein to the works of Laurell K. Hamilton, Tanya Huff, Charlaine Harris, Kelly Armstrong, Sherrilyn Kenyon and many others, this blends aspects of the thriller; the fantasy; the crime and the romance novel into one compelling whole.

Buy | Amazon

Pure Dead Magic by Debi Gliori.

The first in a trilogy of children's books with magic and the supernatural as a main theme, Pure Dead Magic is 220 pages long. Being a children's book, the writing, plot and characters are a little simple, but it was entertaining none the less. The Strega-Borgia family has about it an aura of the Addams Family, though Titus and Pandora (the 12 and 10 year old, respectively, hero and heroine) aren't as idiosyncratic as Pugsley and Wednesday Addams.

A good book, from a good author, it'll appeal to most kids of an age to find Emily Rodda's Deltora Quest and Rowan of Rin books interesting.

Buy | Amazon