Sunday, March 29, 2009

Book Botherings: "The Book of Lost Tales 2" - JRR Tolkien


Finally it has arrived - 14 weeks by boat (or I suspect Albatross) from the UK and I finally have the second to last book for my collection of Unwin Unicorn paperbacks of Tolkien's works. I continue my search for "The Hobbit" but I suspect they may not have actually published it in that series...but hope springs eternal.

Here are the chapters:

1. "The Tale of Tinúviel" — first version of the tale of Beren and Lúthien

2. "Turambar and the Foalókë" — first version of the Túrin saga

3. "The Fall of Gondolin" — the only full narrative of the Fall of Gondolin

4. "The Nauglafring" — a story which was "lost", in that it never was rewritten in full, and was mostly left out of the later Silmarillion.

5. "The Tale of Eärendel" — the only full narrative of Eärendil's travels

6. "The History of Eriol or Ælfwine and the End of the Tales" — an essay about the changes in the framework, and the "unwritten" tales.

It takes work to read these books. They are not your usual fantasy mind candy requiring little thought. These books need you to be almost academic in your digestion of them. As they are pieced together from various Tolkien scribbles there are often changes in certain names including actual usage or application of those names. I thoroughly enjoy them for the depth and meatiness they provide however and Christopher Tolkien deserves a hearty slap on the back and a mug of ale for bringing them to an eager world.

Sunday, March 22, 2009

Coding Cogitations: Principles behind the Agile Manifesto

From the heroes at www.manifesto.org - you can't sum it up better than this

Our highest priority is to satisfy the customer
through early and continuous delivery
of valuable software.

Welcome changing requirements, even late in
development. Agile processes harness change for
the customer's competitive advantage.

Deliver working software frequently, from a
couple of weeks to a couple of months, with a
preference to the shorter timescale.

Business people and developers must work
together daily throughout the project.

Build projects around motivated individuals.
Give them the environment and support they need,
and trust them to get the job done.

The most efficient and effective method of
conveying information to and within a development
team is face-to-face conversation.

Working software is the primary measure of progress.

Agile processes promote sustainable development.
The sponsors, developers, and users should be able
to maintain a constant pace indefinitely.

Continuous attention to technical excellence
and good design enhances agility.

Simplicity--the art of maximizing the amount
of work not done--is essential.

The best architectures, requirements, and designs
emerge from self-organizing teams.

At regular intervals, the team reflects on how
to become more effective, then tunes and adjusts
its behavior accordingly.