Friday, November 24, 2006

Little Women

Just watched Little Women. Beth recovered (after a fashion, and for a while), but I wonder what happened to the baby (which introduced the scarlet fever)?



Given that, in Little Men, Alcott describes Jo as being not at all handsome, but [having] a merry sort of face..., I can't quite understand what possessed them to cast Winona Ryder to play her ("not at all handsome" being probably the least apt description of Ryder as is both conceivable and not "exceedingly ugly" or some such). In any case, she played the role very well indeed in-spite of being rather more "handsome" than the character.

"Do you REALLY want to be a NPC?"

In a recent rant, Fred Gallagher (a.k.a. Piro) wrote:

Don't just blow voting off like its a game you just aren't interested in playing. You are in the game, whether you like it or not. Not voting makes you an Non Player Character. Do you REALLY want to be a NPC, letting others decide what happens in the game?

Friday, November 17, 2006

Adding to the Wikipedia

I've just added my first real contribution to the Wikipedia: Image:Airfield_traffic_pattern.svg, a vectorisation of Image:Airport_traffic_pattern.jpg.



Airfield traffic pattern

Saturday, November 04, 2006

Lucas

Chickenfeed have been flogging some cheep DVDs lately and every time I'm in one of their shops, I have a look at what they have in stock. The last time I did so, I got a copy of Lucas — Winona Ryders' first feature film. I just got around to watching it tonight and, while it's really cliched in places, it does have a few redeeming features.

The fairly drawn-out love-triangle (or, square, or even pentagon, depending on how you count) could have been resolved a lot quicker. It would have been nice to see a resolution to the Rina-Lucas sub-plot, though doing so would have interfered with that time honoured '80s feel-good film tradition: the closing freeze frame of the hero triumphant. My view can quite easily be summed up as: O.K., but more Winona Ryder would have been nice (as though it needs to be said).

Sunday, August 20, 2006

Undead and Unwed

I've just finished reading Undead and Unwed by MaryJanice Davidson (who has a blog) and published by Piatkus Books, the first in her Undead series. It was a good read and it is certainly an interesting departure from the other books in this genre I've read (though Betsy did remind me of Charlaine Harris' Sookie Stackhouse).

I'm not sure if the next book will continue the theme (judging by the excerpt, I think not), but Betsy brought to mind David Eddings' description of his hero, Garion, as a "Sir Perceval":

Sir Perceval [...] is dumb — at least right at first... A dumb hero is the perfect hero, because he hasn't the faintest idea of what's going on, and in explaining things to him, the writer explains them to his reader.

In any case, I'll definitely have a look at the rest of Davidson's books.

Tags: , , , , , ,

Friday, August 11, 2006

Megatokyo volume four

My copy of Megatokyo volume 4 (buy) finally came in and I bought it yesterday. It's good to see another Megatokyo book out and it's fantastic that it took so long to come in (having sold out, etc.).

The presentation is essentially the same as the first three volumes by Dark Horse. The only shortcoming I can see in the book is the binding — for some reason CMX couldn't manage to glue the pages level. It's no worse than the last book from Dark Horse and it is a fairly minor flaw, but it would have been nice if they'd put that little bit extra into the book's construction.

Tags:

Friday, August 04, 2006

Long time no blog

It's been quite a while since last I posted (here, or anywhere else), so I think it's about time for an update. Things are going adequately on the school front — it was a little touch and go, but I managed not to fail anything last semester — and I'm about to start a support job with a research project which will bring a welcome injection of funds (which have been rather tight lately).

On the "reading" front, I purchased my copy of Advanced Topics in Types and Programming Languages (companion and somewhat successor to TAPL) this morning. I've had a bit of a flick through it and it looks really, really interesting. Hopefully having spent almost $200 on the two books will provide an added incentive to not only start, but finish, reading them and hopefully even work through the problems.

I've been thinking about typography and book design lately which has suggested, amongst other things, that I see if it'd be possible to get my copy of ATTAPL rebound with some extra pages. It would be nice, for example, to insert the extended version of chapter 10 - the essence of ML type inference and to "fix" any errata with updated pages. I imagine, though I haven't bothered to investigate at all, that this'd be quite a difficult and expensive thing to do for a single copy, so it'll probably be a long while before I do it, if ever.

Before that though, I've been focussed on getting through Logic by Greg Restall. I'm almost half way through and while I'd have preferred a slightly difference syntax (I prefer as conjunction, rather than &), it's easy to read and is much more accessible than most other books I've seen with titles like "Logic."

Tags:

Tuesday, July 11, 2006

Maria-sama ga Miteru

I just got caught up on my reading of the Maria-sama ga Miteru translated by Lililicious. Revisiting marimite brings back my wish that the books (other than the first) were available in English.

Tags:

Saturday, July 01, 2006

Resources for Teaching Pythagoras' Theorem

As I mentioned on my other blog: I've posted the plans I used to teach a unit on Pythagoras' Theorem last semester. You can get them at my Google Pages site.

Tags:

Wednesday, June 28, 2006

Mizuiro Jidai

I've just finished watching the first episode of Mizuiro Jidai. If the first episode and the AnimeNFO entry are anything to go by, it seems like one of those slice of life/high-school school/drama/romance shows. It was OK (for something drawn in 1996), but I'm not sure I'm willing to download the next 46 episodes (forty-seven!).

Animesuki | BT Tracker

Tags:

Tuesday, June 27, 2006

Interactive and Media Programming

As I've mentioned a few times, I'm hoping to work on some materials for computer science education this semester. The gist of my current plans is a core of basic computer science material (very basic data structures and algorithms) backed up by a range of individual and small group projects. I hope to provide a wide enough range of projects to ensure that most students will find something engaging enough that they learn (even in spite of their wanting only to use the Internet).

I'm currently anticipate designing projects using some, if not all, of the following pieces of software:
Haskore
A computer music system based on Haskell.
Pan (or Pan# or one of the several variations on the theme)
A functional graphical processing language similar to Haskell.
Pivotal
A document centred presentation of Haskell.
FunWorlds
An interactive 3D animation package in, you guessed it, Haskell.
You may have noticed a trend in the projects above: they all use, or are closely related to, the Haskell programming language. This is for a number of reasons:
  1. I like functional programming, in general, and Haskell, in particular.
  2. I don't like the languages usually taught to students (Java, VisualBasic, etc.)
  3. I think that a different, more fundamental, approach might help (supported, I think, by the experiences of teachers using SICP in high schools in the U.S.).
We'll see how things pan out. If possible, I'd like to integrate some of the above packages into a single whole. Haskore and one of the portable Haskell variants of Pan, for example, might be integrated with Pivotal to give a relatively simple environment for interactive, multi-media Haskell programming. Haskore, in particular, could benefit extraordinarily from such an integration: the student be able to "code", visualise and listen to their musical compositions from the same program.

Tags:

Friday, June 23, 2006

Buffy the Vampire Slayer - Once More, With Feeling

Still on a musical note (sorry), I just bought Once More, With Feeling the cast album of the musical episode of Buffy the Vampire Slayer. It really demonstrates the versatility of the Buffy cast -- most of the tracks would, in my opinion, be releasable as commercial music. They sing really well for a bunch of actors and Josh Whedon did a really good job on the songs. If you're at all fond of Buffy the Vampire Slayer I recommend you get it.

Tags:

Thursday, June 15, 2006

Classical-y Music

I've been looking around on iTunes Music Store today and managed to spend more than $20, mainly on classical-y songs.

I started off looking for a good recording of Joseph and the Amazing Technicolour Dreamcoat, my favourite Andrew Loyd Webber musical. A few track from the musical, and another also by Linzi Hateley (who sings the part of the narrator in the London Palladium cast), I moved on to that other staple of the musical genre (or, at least, my taste in musicals): Gilbert & Sullivan. After a few track from a number of renditions of The Pirates of Penzance (The Mastersingers track The Pirates of Penzance is particularly good, I'll have to look at more of their music), I moved on to classical music proper.

I only wound up buying a couple of tracks from the album Enchantment by Charlotte Church (of whom I'll have to buy more) and Ode II Joy (From Symphony No. 9) by OperaBabes (whom I'm also going to have to get more of).

For some reason, I've also been interested in Russian music lately — probably as an outgrowth of the interest in choral works — so I also bought Kalinka from the Alexandrov Red Army Choir.

If anyone has any suggestions of good music in similar vein to the above mentioned track and artists, please leave a comment so that I can chase them up!

Tags: Opera Classical Music Musicals

Tuesday, June 13, 2006

Suzuka

I've been watching fansubs of the anime series Suzuka lately. Suzuka is about a boy (Yamato Akitsuki), a girl (Suzuka Asahina), their friends and the track team of an athletics oriented high school in Tokyo. It's been a while, but Suzuka reminds me a little of Kimi ga Nozomu Eien (another sport-related dramatic romance).

Hopefully, I'll get around to downloading and watching the rest of the series (I've watched 12 of 26) soon.

Animesuki | A.N.N.

Tags:

Sunday, June 04, 2006

David and Leigh Eddings

I've just begun rereading that masterpiece of epic fantasy, David and Leigh Eddings' series: The Belgariad. I was given The Pawn of Prophecy as a gift one birthday and it became my "gateway drug" to the realm of fantasy. I've since read it so many times that it has quite literally fallen to pieces (annoyingly as that cover is no longer in print). Even after these ten or so years and probably near three or four times that many readings, it is still able to capture me more completely than nearly any other book I've read.

If you haven't read the Eddings' work yet, you don't know what you're missing. Get thee to a bookshop and grab The Pawn of Prophecy or The Diamond Throne (book one in the Eddings' other great pair of series: The Elenium and The Tamuli).

Tags:

Sunday, May 28, 2006

Any Dream Will Do...

Just finished watching Joseph and the Amazing Technicolor Dreamcoat. Mum has had a tape of the soundtrack for many, many years and often played it in the car. As a result I was able (read: compelled) to sing along to each and every song.

Tags:

Saturday, May 27, 2006

Transactional memory with data invariants

Transactional memory with data invariants by Tim Harris and Simon Peyton Jones. To appear in TRANSACT '06 (PDF).

I comment previously on a draft version of this paper. In this 'final' version the authors have removed the wrapper function which converted predicates (:: STM a -> STM Bool) into actions that raise exceptions when the invariant doesn't hold (:: STM a -> STM ()) leaving the interface a little more consistent.

They have extended the STM monad to use phantom types to restrict the operations an STM action can perform (ReadOnly or Full) to help restrict the side effects of invariants. Another addition is support for invariants over pairs of states: the state before the transaction began, and the state about to be committed. This is accomplished with a new primitive: old :: STM a -> STM a which executes an STM action in the state as it was when the current transaction began. Finally, there is some new discussion of drawing on the work in databases where a distinction is made between assertions, which detect error conditions, and triggers, which are part of the programmes logic.

A good paper made even better!

LtU | Del.icio.us

Tags:

Friday, May 26, 2006

Fundamental Constructs in Mathematics Education

Fundamental Constructs in Mathematics Education. John Mason and Sue Johnston-Wilder (Eds.). (buy)

After an introduction to the beingness of the thinghood of constructs (named, described phenomena as far as I can tell), this book launches straight into extracts describing some of the most important and influential experiments in mathematics education. I've read the first chapter which describes a number of experiments that have been used to investigate the way children learn mathematical concepts. So far it has been a good deal more readable than I was expecting.

Tags:

Friday, May 19, 2006

Eurovision 2006

I've just watched the semi-finals of the Eurovision Song Contest for 2006 on SBS. The only comment that springs to mind is that it is a travesty that Poland's entry Ich Troje didn't get a place in the finals.

Tags: Music Listening Eurovision

Thursday, May 11, 2006

Categories and Tags

As on my other blog, I've added support for tags and categories to TR[W[WL]]OACSS using Del.icio.us. Readers with a browser that supports JavaScript should see a list of categories at the top of the sidebar.

It's not terribly useful yet (in particular, the tag and category links lead to the whole Del.icio.us tag, not just those items that are posts on this blog), but we'll see how it goes.

Tags:

Saturday, May 06, 2006

Three new philosophy books

I've just bought three new philosophy books: Logic by Greg Restall (buy); Conspicuous Consumption by Thorstein Veblen (buy); and On The Public by Alastair Hannay (buy).

I happened to spot Logic on the shelf and needed to buy it. Hence, now that I've got a bit of money to spare, I have bought it. I expect it will be brilliant.

I've already read one volume from Routledge's Thinking In Action series and, as previously noted, I really liked it. Hopefully On The Public will be just as good.

I've liked some of the other books in Penguin's Great Ideas series, so I hope that Conspicuous Consumption will be just as interesting.

Tags:

The Fun of Programming

The Fun of Programming edited by Jeremy Gibbons and Oege de Moor. (buy)

My copy of The Fun of Programming came in the other day and I've been looking through it. It has chapters covering a wide range of topics:
  1. functional data-structures, amortised analysis, etc.;
  2. testing and specification with QuickCheck;
  3. programming with folds, unfolds, etc.;
  4. music programming;
  5. representing financial contracts;
  6. graphics programming;
  7. hardware description;
  8. combinators;
  9. arrows; and
  10. phantom types
amongst other topics. This looks to be a fascinating mixture of methods (data-structures, testing, folds, arrows, etc.) and applications (music, graphics, financial contacts, hardware description, logic programming, etc.) if a little thin for its price.

Both the software from the book and details about the symposium from which its content comes are available on the Oxford Computing Laboratory web-site.

Tags:

The Cloudbuilders

We've just read a sci-fi story called The Cloudbuilders in my ICT curriculum class which, as far as I can tell was written by Colin Kapp in 1968. While a little formulaic (though, being nearly 40 years old, it probably helped to define the formula) it was an interesting read and did result in an interesting discussion of technology education touching on educational approaches, little white lies, paternalism, etc.

You might be able to find more information through Google but there doesn't seem to be a great deal on the first page.

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

Friday, March 31, 2006

Gold Falcon

I saw a little display in Birchall's today advertising the imminent release of Katherine Kerr's latest book Gold Falcon (excerpt). This is very, very good news — if they're sending posters out to bookshops, then it's all but certain to actually ship!

Permission-based ownership: encapsulating state in higher-order typed languages

Permission-based ownership: encapsulating state in higher-order typed languages by Neel Krishnaswami and Jonathan Aldrich. In PLDI'05.

I'm still puzzling through the examples, but it looks pretty cool. The essential idea is to use the type system (an extension of System F with references and ownership called System Fown) to ensure that the internal details of modules cannot be messed with.

They give an illustrative example involving customers in one domain, banking machinery in a second and account details in a third. The customers are allowed to call the banking machinery, and the banking machinery can access the account details, and all other access is invalid. The goal of System Fown is to prove these sorts of properties.

ACM | Google | Del.icio.us | CiteULike

Wednesday, March 22, 2006

Google Page Creator

I just got an email telling me that I've got a Google Page Create account.

I've got a demonstration page up at http://thsutton.googlepages.com/home.

Tuesday, March 21, 2006

Essential Language Support for Generic Programming

Essential Language Support for Generic Programming by Jeremy Siek and Andrew Lumsdaine.

This paper presents an extension of System F called System FG. The motivation for the work is in the construction of generic algorithms and, more importantly, the verification of their use. It looks to me as though the authors have taken a little bit too much of C++ on board.

The concepts of the paper are very similar to Haskell's type classes (according to section two, the main difference is that type classes are designed to allow Hindley-Milner type inference) and the associated types seem to me to be filling a similar role as functional dependancies. I found it rather interesting and it's the first type system paper I've read since I achieved a vague understanding of type systems.

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

Sunday, March 19, 2006

An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes

An efficient implementation of SELF a dynamically-typed object-oriented language based on prototypes by Craig Chambers, David Ungar, and Elgin Lee. (PS)

I read this paper for a compulsory milestone papers course at the ANU Department of Computer Science. In it, the authors describe the techniques used to implement that the SELF efficiently. SELF was unusual (and still is, in some respects) in that it was a dynamic, prototype-based object-oriented language. The techniques pioneered by the SELF team formed the foundation upon which most modern virtual machines, including the various JIT technologies for Java, are built.

This paper and SELF have been discussed at Lambda the Ultimate on a number of occasions.

DOI | ACM | Google | CiteULike | Citeseer

Jingle Bells: Solving the Santa Claus Problem in Polyphonic C#

Jingle Bells: Solving the Santa Claus Problem in Polyphonic C# by Nick Benton.

This paper presents the solution to the Santa Claus problem in the Polyphonic C# language. Polyphonic C# is an extension of Microsoft's C# language with concurrency primitives based on those of the join calculus. It was intended for use in "orchestrating distributed applications built on asynchronous messaging," but is "equally applicable to programming with multiple threads in a shared-memory environment."

This is, the authors claim, another piece of evidence supporting the claim that the join calculus is an effective basis for concurrent, as well as distributed, programming.

Google | Del.icio.us | CiteULike | LtU

Harry Potter and the Half-Crazed Bureaucracy

Harry Potter and the Half-Crazed Bureaucracy by Benjamin H. Barton.

An interesting paper from the Michigan Law Review. The author interprets the Harry Potter books as presenting a particular view of government (libertarianism) based on J. K. Rowling's rendering of her fictional Ministry of Magic. The structure, corruption and abuses by the Ministry of the populace (and Harry and his friends in particular) are presented, if I recall correctly, as an allegoric parallel of the U.S. and U.K. governments. I'm not sure how much of this aspect of J.K.R.'s work is intentional but, Barton's analysis is certainly compelling (even if I don't agree with the politics of conclusions he reaches).

SSRN | CiteULike | Del.icio.us

Saturday, March 18, 2006

Recursive functions of symbolic expressions and their computation by machine, Part I

Recursive functions of symbolic expressions and their computation by machine, Part I by John McCarthy.

A milestone paper in computer science, this is one of, if not the, first LISP paper. This contains one of the earliest descriptions of garbage collection, functional programming and several other topics. It doesn't contain anything particularly enthralling for modern readers, but that is due to the fact that everything that is in it has been absorbed into every aspect of modern computer science.

One thing that I found interesting was the syntax given for conditional expressions:
(p1 → e1, …, pn → en) where pi is a propositional expression (one that is either true of false) and ei is an arbitrary expression. The value of a conditional expression is that of the first ei such that pi is true (or is undefined).

This is quite similar to the description of structures in the ρ-calculus given in Matching Power.

ACM | DOI | CiteULike

On the Revival of Dynamic Languages

On the Revival of Dynamic Languages by Nierstrasz O, Bergel A, Denker M, Ducasse S, Gälli M, Wuyts R.

This paper reads a little like propaganda for dynamic languages. The discussion on Lambda the Ultimate (linked below) raises some interesting points and points out some of the inconsistencies in their argument (static languages can't prove everything, so let's use dynamic languages which prove nothing).

That aside, the authors do discuss some interesting language features. First-class namespaces can be used, as they describe, to implement horizontal sub-classing (a compelling use case has been discussed on LtU). Similarly, their desire for pluggable type systems seems a little reminiscent of the approach that the PyPy project has taken with object spaces. On the other hand, I don't really like their suggestion that image-based languages are the way to go (I much prefer to write code in my favourite editor, manage it using my favourite version control system, etc.). All up, it's an interesting read (if only for the descriptions of the various language features the authors like).

DOI | CiteULike | Del.icio.us | LtU

Monday, March 06, 2006

Maria-sama ga Miteru Novel English Translation Project

Some of my favourite anime and manga are based on Japanese novels which can be quite frustrating: anime and manga are accessible by dint of fan translation efforts, but translations of novels is pretty rare. That is why Geoff Zichterman's Maria-sama ga Miteru Novel English Translation Project is so awesome: he has managed (with assistance) to translate the entirety of the first volume of KONNO Oyuki's Maria-sama ga Miteru.

This has inspired me to make a somewhat belated new-years resolution: by the end of 2006 I hope to be able to read this book in Japanese.

Del.icio.us

Friday, March 03, 2006

Podcasts

Playing with Del.icio.us in the sidebar made me realise that I really ought to list the podcasts that I subscribe to. Here then is a list of my listening habits:

  • All in the Mind from ABC Radio National
    Delving into all things mental: the latest research and expert commentary on our brains and behaviour.
  • Books and Writing from ABC Radio National
    Books and Writing is the foremost national literary program broadcast throughout Australia. It features in-depth discussions focusing on books, ideas and writing.
  • By Design from ABC Radio National
    Alan Saunders looks at how we shape our world, from the ground up.
  • Craphound.com: The Literary Works of Cory Doctorow by Cory Doctorow
    Short-stories in progress by an award-winning science fiction writer, read aloud in small regular chunks.
  • The Nature Podcast
    The Nature Podcast provides insight and context to groundbreaking research, and allows the scientists to explain the significance of their work in their own words.
  • Ockham's Razor from ABC Radio National
    Thoughtful people have their say, without interruption, on important science-related topics.
  • The Science Show from ABC Radio National
    RN's science flagship: your essential source of what's making news in the complex world of scientific research, scandal and discovery.
  • Sunday Night Safran from Triple J
    John Safran and his guests (including regular Father Bob) talk an amusing mix of religion and politics. We've taken the program, and edited the music out to a 60-70min program.
  • Raw Comedy from Triple J
    We bring you selected highlights from the Raw Comedy Festival heats and finals from around the country. These range in length (and quality) but are usually no longer than ten minutes.

Wednesday, March 01, 2006

Designing Effective Step-By-Step Assembly Instructions

Designing Effective Step-By-Step Assembly Instructions by Agrawala M, Phan D, Heiser J, Haymaker J, Klingner J, Hanrahan P, Tversky B. In ACM Transactions on Graphics, 2003.

My first CAD class today reminded me of this paper; I can't remember how I came across it, but it was quite interesting. It's in my stack to re-read and I'll post more about it when it pops off the top.

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

Sunday, February 26, 2006

Posting Splurge

This is the last in a posting splurge I've had this afternoon: six paper posts have been added and one has been updated. I intend this to be the first in a series of weekly or biweekly session in which I post the papers I've been reading. Perhaps now that I'm studying education rather than computer science, I'll be able to get some more reading done.

Suggestions of papers to read are most welcome and can be sent by email.

Putting Curry-Howard to Work

Putting Curry-Howard to Work by Tim Sheard.

This paper describes some type system feature suggested by the Curry-Howard isomorphism (which states that types are propositions and that programs are their proofs). The language Ωmega is a descendant of Haskell in which the author has implemented all of the features described in the paper.

I still haven't finished reading it, but it's at the top of my pile.

DOI | Del.icio.us | CiteULike | LtU

Cross-National Correlations of Quantifiable Societal Health with Popular Religiosity and Secularism in the Prosperous Democracies

Cross-National Correlations of Quantifiable Societal Health with Popular Religiosity and Secularism in the Prosperous Democracies

An interesting look at the claim frequently made by theists that religion promotes, or is even the source of, morality.

Google | Del.icio.us | CiteULike

Finger Trees: A Simple General-purpose Data Structure

Finger Trees: A Simple General-purpose Data Structure by Ralf Hinze and Ross Paterson.

This paper presents 2-3 finger trees, a purely functional representation of persistent sequences. The ends of each sequence can be accessed in amortised constant time and they can be concatenated and split in logarithmic time. Best of all, the paper develops them in Haskell.

I've started working through the code myself, but have not yet managed to get it finished.

DOI | LtU | CiteULike | Del.icio.us

Matching Power by Cirstea H, Kirchner C and Liquori L.

Matching Power by Cirstea H, Kirchner C and Liquori L.

This is the first paper I've read about rewriting calculi and, if nothing else, it's made me want to read more. In it, the authors provide an introduction to pattern matching, introduce the syntax and semantics of the ρ-calculus, and present a number of compelling examples of its power. Section four is the most interesting part of the paper (the rest being primarily and introduction to the calculus): in it the authors present encodings of the Lambda Calculus of Objects (Fisher, Honsell, and Mitchell) and the Object Calculus (Abadi and Cardelli) into the ρ-calculus.

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

Interpreting the Data: Parallel Analysis with Sawzall (Draft)

Interpreting the Data: Parallel Analysis with Sawzall (Draft)

While MapReduce and GFS allow Google to use their massive computer clusters effectively, the use of C++ can make programming for such a systems more difficult than it needs to be. Cue Sawzall, a new language that Google use to write distributed, parallel data-processing programs for use on their clusters. While the language isn't particularly attractive (I've never liked C-style syntax's), the approach is very interesting and the implementation issues they describe are enlightening.

LtU | CiteULike | Del.icio.us