Monday, December 31, 2007

Anime — 2007 in review

A little premature perhaps, since there are some titles that finish airing this quarter that haven't been completely subbed, or have been, but I've not watched yet (Sky Girls, Moyashimon, Blue Drop, but all of which seem aimed at the "Unexpectedly good" category), or carry over into Q1 next year (Ghost Hound); but this year is the first I've been deep enough into the scene for a round-up to be better than superficial. So, from the top…

The best: Dennou Coil, Mononoke, and Seirei no Moribito — each very different from the others, so no possible ranking

Unexpectedly good: Tengen Toppa Gurren Lagann, Rocket Girls, Gakuen Utopia Manabi Straight

Sequels that didn't quite live up to their predecessors: Higurashi no Naku Koro ni Kai, and Mahou Shoujo Lyrical Nanoha StrikerS

In the category of "also watched" Claymore, the Marimite OVA series (more of the usual) and, leaking over from last year, Le Chevalier d'Eon. I would add Moonlight Mile, but nobody picked up the second season because it had been licensed for the US (unlike the complete subbing done for Gurren Lagann, Seirei no Moribito or Chevalier in similar circumstances).

Now the lemons, the series I dropped. Apart from the mess made of Bokurano, I also tried a few episodes and gave up on a number of titles:

  • El Cazador de la Bruja, after 3 or 4 episodes, another girls and guns from the creators of Noir, that just didn't seem to have the charm (or musical hook) of the first.
  • Saint October, for lack of subs after 3 episodes, but I might have given up this somewhat weak magical girl series anyway
  • Les Miserables, for lack of subs after 6 episodes, though it was shaping up to be rather slow paced
  • Lucky Star of which I watched 4 episodes, though I may come back to this harmless piece of fluff, it was just the anime equivalent of candy floss
  • Kaiji from the same mangaka as Akagi, but following a character completely opposite in temperament. Akagi grabbed me in the first few minutes; this was just boring. Watched 4, called it suspended, watched another recently, still no better.
  • Shugo Chara! a magical girl series for girls, didn't really grab after one episode

Non-starters: Hidamari Sketch, Potemayo and Sketchbook full color's, for which I couldn't manage a full episode (Kawaii! JeNny also fits here, but that would only ever have been for the lulz).

Worst of the year (of titles I watched) : Baccano! which gained raves about awesome and loveable characters, who turn out to be respectively psychopaths and morons, no-one likeable or sympathetic. I watched two and a bit episodes and stopped, because it was shaping up to just being a downright nasty splatterfest. It left a very nasty taste in my mouth.

Thursday, December 27, 2007

Manga — Narutaru (Shadow Star)

At last, I have been able to read it all in English, rather than just look at the pretty(?) pictures, since the last third was never translated, and the last half could no longer be had for love nor money. Admittedly vol. 12 is still only there in the form of separate script and raw, but that's one of the perks of having leapt at the chance of proofing the scripts for volumes 10-12 — the edited version probably won't be released until the end of January.

So we find that the anime had subtle spoilers for parts of the manga that hadn't yet been translated, and exactly what is going on in the bleak concluding volumes, in a way that existing synopses had failed to achieve.

At times a bit shaky, darting off in directions that never quite come to anything except to in passing reveal a fragment of what is going on; but in the last three, previously untranslated, volumes, picking up momentum to the final resolution.

The End of Narutaru.

Anime — Higurashi no Naku Koro ni Kai (ひぐらしのく頃に解)

Sequel/(re)solution/revelation series to the original Higurashi no Naku Koro ni (ひぐらしのく頃に).

While the original was all about things falling apart and “WTF is going on??”, this explains what has been going on through all the previous reboots, and spins it out over a recap episode and three arcs spread over 23 episodes. This does give it pacing problems : the second arc is somewhat repetitious in the episodes of “Save Satoko.” protest, and the third and last stretches the back-story over an episode too many.

I stalled for a very long time over episode 16, the third of the final arc, which had a lot of covering the ground of things we had already inferred happening from the back-story revealed in previous arcs, but then marathoned the last half of that episode and the rest today. It did take a bit of getting started, but by the time it got to be obvious that we were past the “Oh, not that again!!” bit, it picked up momentum, and got to be more like what the series had been in the past (only with a happy end).

 

For the lulz -- in the style of the NaruTaru OP, with just the same level of spoilers…

Tuesday, December 25, 2007

Happy holidays

Another working year over, though not quite the usual ritual, as this time Karen has come down with one of the bugs that's going around, and has been feeling quite wretched, while I try and stave similar off.

So it was by myself to the much reduced traditional banquet last night, and then today, I was spared the drive down to the in-laws in the pouring rain, did a bit of coding, and watched a lot of anime.

Including rewatching some Simoun. Knowing the outcomes for the characters makes it, if anything, even look even better crafted. Mamiina ;_;

Monday, December 24, 2007

Links for 24-Dec

Newly discovered design pattern : "Code Well" -- patterns, of course, being simply boilerplate coding to work around language inadequacies

IronLisp becomes IronScheme

Big in 2008 - Dynamic languages on top of high level languages are the coming thing

Size is the enemy -- and that's before observing that bugs/line has remained pretty constant even as languages become more expressive

Closures and memory -- a salutary reminder that garbage collection is no silver bullet

Sunday, December 16, 2007

Film — Heima

As a coda to their 2006 tour, sigur rós played a series of free concerts around Iceland. This is the film of that tour, from their playing enigmatically backlit behind gauze at venues designed for such events, through to acoustic sets in open country, via village halls and deserted factories, and what passes as village greens; in front of packed crowds, in places where they outnumber the permanent residents, to solitary splendour.

Interspersed with the songs are some words from the band, and plenty of atmospheric location film, showing quite how desolate and marginal a place Iceland is -- and some of the native musical traditions and innovations, like the chap who makes percussion instruments from slate scree and rhubarb stalks.

But under it all, it's a hundred minutes of sigur rós music video, which you will either like or not.

Tuesday, December 11, 2007

Kicking reason to the kerb!

As part of their not leaving well enough alone, the tosspots running the country have come up with the laughable idea of adding a Welsh element to the Union Flag.

And I am glad to see that in a Telegraph popularity poll, the idea has been well and truly subverted.

GATTAI JACK DA! -- I'd vote for that!

Sunday, December 09, 2007

Anime — Dennou Coil

A sort of Miyazaki does Ghost in the Shell series, set in a not too distant future, with cyber ("dennou" in Japanese) technology that is slightly magical (in the Clarkean sense at least); and everyone who is with the program has a set of AR glasses painting their world. In the overlay are pets (like the dennou-pet dog at the far left), pests (unauthorized autonomous programs called "illegals" - top right - and the official "anti-virus" programs like Sacchi - bottom right) and programs that work a bit like magic spells.

Two girls, both called Yuuko, but "spelt" differently -- one could be read as "gentle girl", Yasako (centre); the other as "brave girl", or Isako (left) -- transfer to a new school, where their paths, and pasts, intertwine.

The series starts out rather like "Just William" in cyberspace, turns into "illegal of the week" ("Long Neck, ;_;"), before the plot that has been being set up in the background picks up into high gear for an intense finish. And although the big reveal isn't world-shattering, it is handled well (unlike other series -- Higurash Kai, I'm looking at you), and the series ends with a proper sense of closure.

There was a "Just kiss her, you idiot!" moment at the end, just before the credits rolled, that was then modified by the epilogue that ran in parallel with the credits, but without damaging the sense that the story had been tidied up nicely.

One of the very best series of the year, with only Mononoke and Seirei no Moribito as competition.

Film — The Golden Compass

I saw this on Wednesday, the opening night, early evening (which turned out to be in the middle of a long working day, but that's a story for another rime and place).

It was a competent adaptation of much of the best of the three books by far, though shorn of much of its depth and symbols (especially the Magisterium); and CGI is advanced enough today that the dæmons looked fluid and plausible. And the spiral power/helical motor propulsion units for the airships and carriages seemed like the sort of thing that really ought to be.

These days, it's the people who seem to be more fake, or at least the acting feels less than completely sincere. I wonder if I'm getting a touch of the too much anime "3D is pig disgusting!" effect; or just jaded by Hollywood mannerisms.

Not bad, but a bit shallow.

Thursday, December 06, 2007

Links for 6-Dec

Two elegant uses for extension methods - boilerplate removal, and fluent interfaces.

But beware extension methods that don't honour the contract suggested by their name.

Immutability in C# -- part 1, part 2 -- more to come

Monday, December 03, 2007

Sunday, December 02, 2007

Film — Day Watch

I saw the first film in this sequence, Night Watch, at the première at the film festival a couple of years ago; and seeing that the sequel was on for the late show, decided to be a dirty stop-up (and wreck my normal pattern of hibernation at this time of year) and go to see it.

Again, mostly harmless -- it could have done without the mushy bits and the oh so precious teasing with body-swap lezzing about -- but with some of the most spectacular driving effects I've seen in years.

Having pulled a maguffin out of the air in the prologue, the resolution is not a surprise, but the journey there was quite fun.

Wednesday, November 28, 2007

Links for 28-Nov

The big ball of mud and other architectural disasters -- how many can you spot?

Clojure -- a Lisp dialect for the JVM.

Scripting on the Java Platform -- considers the obvious suspects, but misses other options such as Scala. With a bytecode cross-compiler and a common API abstraction, it would be possible to virtualize even your VM…

Tuesday, November 27, 2007

Links for 27-Nov

Think Big -- Are we sweating the petty stuff too much?

Sequentially -- Temporal and frequency adverbs for JavaScript.

Samurai - Protecting Critical Data in Unsafe Languages

Monday, November 26, 2007

Anime — Ghost in the Shell : Stand Alone Complex – 2nd Gig

On the second time, I actually managed to get through to the end of the series. Some of that was the same media-related issues as with the previous series, but much was to do with it meandering around for a while before settling down to being a fairly standard action/thriller, the sort of thing you'd expect Bruce Willis to be appearing in.

It has a strange relationship with the manga, since episodes 20-21 re-use the setting of the chapter Phantom Fund, but cutting it jaggedly loose from context -- and yet it ends with the opening scene to the first chapter of the manga (as if to say, that's it, the manga and/or movies come next).

Mostly harmless.

Links for 26-Nov

Process : the true scope is unknowable -- considering the known unknowns

Can language choice assist the pursuit of happiness?

Can expressive languages make code more accessible?

(Yet another) tale of why good developers don't always make good managers.

Friday, November 23, 2007

Links for 23-Nov

The challenge of teaching yourself a new programming language -- of which there are plenty of candidates (Ruby, F#, Erlang...) for reboring your thought processes with

Leadership advice from WWII -- still as valid today

Developing an STS with AD FS 2 (part 1)

Ruby.Net 0.9 release -- compiles your Ruby code to an assembly, which the DLR doesn't as yet.

Friday, November 16, 2007

An anniversary of note

Twenty years ago this month -- I didn't record the actual day -- we disposed of our TV, because the programs were getting to be so dire, and we switched the thing on so little that it was costing us £5 or more per program (more because we forgot half the few things we even planned to watch).

What amazes me is from hearing all the media reviews -- and the occasional glimpse in solo hotel rooms, when I don't have any internet access -- is that things have become so much worse over those intervening years. Very definitely, “57 channels and nothing on…”

So -- Kill your TV!

[Now playing - Chill]

Links for 16-Nov

Parsing integers efficiently -- using no types wider than we are parsing for

Writing testable code is managing complexity 

Why programming is hopeless and futile -- stumbling around in failure space

ASP.Net Ajax, control hierarchy gotcha

Thursday, November 15, 2007

Tuesday, November 13, 2007

Nil illegitimis…

Just back from another session at the dentist of pre-work for getting last year's root-canal tooth crowned.

The gum is almost healed now that the temporary is holding the tooth together, but it's not yet ready for the rest of the work. So this was a session of tooth-filing. Not filling, filing. So I have been being ground down…

Over the last few years fillings that have meshed locally when I bite on the affected area, with my mouth full of cotton wool padding had managed to throw the global articulation off so that I could only bite on one side at a time. Since the root canal last year, I also had a tooth that was known to be cracked and I didn't want to put pressure on (even though it felt misshapen), which threw load onto the other side, and eventually caused cracking that led to Septembers' root canal.

Now, after an hour of biting onto articulating paper, and drilling to remove bits of fillings, I can now not only bite evenly on both sides, but, once more, bring my front teeth together (from the default slight underbite) to do things like tear sellotape!

W00t!!

Links for 13-Nov

Planning Fallacy -- Reality, it turns out, usually delivers results somewhat worse than the "worst case".

Seven Rules of Unobtrusive Javascript

Programming conventions as signals -- think Contract Bridge

Vector Buttons, Feed Icons, Fonts

Monday, November 12, 2007

A dedicated follower of fashion

For my 800th post, following the latest craze:

blog-as-graph

This blog's DOM (just before this post) as a graph
Isn't it complicated!

What do the colors mean?

blue: for links (the A tag)
red: for tables (TABLE, TR and TD tags)
green: for the DIV tag
violet: for images (the IMG tag)
yellow: for forms (FORM, INPUT, TEXTAREA, SELECT and OPTION tags)
orange: for linebreaks and blockquotes (BR, P, and BLOCKQUOTE tags)
black: the HTML tag, the root node
gray: all other tags

The applet is at http://www.aharef.info/2006/05/websites_as_graphs.htm for generating your own.

H/t Devil's Kitchen.

[Now playing - Chill]

Links for 12-Nov

Managed Code preloader for Silverlight

Pattern matching and useful anamorphisms in Ruby

Functional Javascript 1.0.2 release 

Can I has DLR LOLCODE naow? 

A problem with an excessively coupled design -- Server 2008 headless.

Tuesday, November 06, 2007

Links for 6-Nov

Visual Studio 2008 RTM and licensing announcement -- very interesting news about licensing changes

Memory leak debugging in JRuby -- you have to put out the garbage for it to be collected

Bram's Law -- oh so true.

More on the breakdown of the naive noun/verb OOP model 

AD FS documentation update on MSDN

Tuesday, October 30, 2007

Anime — Mahou Shoujo Lyrical Nanoha StrikerS

Finally, the last episode has been subbed.

There was too much fan-sub drama about this series (even to the extent of a troll-squad being thanked in the final credits); so, even though this is only a month after the series finished airing, not six like with Simoun (done by an open-process group, so we always knew where things stood), it felt much more disrupted. The first series I watched in raws first as well.

I shall have to semi-marathon it to get the flow. Unlike the previous series where I could pick up batch torrents, and the story was carried along in a wave of escalating beam-spam, this went more slowly, carried itself more seriously, and involved many new characters, who needed to be introduced, before the last few episodes when all restraint was off.

Solid, fun to watch, definitely made Fate/Nanoha as close to canon as possible -- and I did like the Takamachi School of Child Rearing (“Rub some dirt in it, rookie!”).

Anime — Gankutsuou

The Count of Monte Cristo (a book that I the philistine have never actually read) as animation, translated to 51st Century Paris. Not that that is without precedent -- Tiger, Tiger, besides being the first cyberpunk novel, did much the same. Starting with the carnival transposed from Venice to Luna, it introduces the Count to us at the same time as Albert first encounters him, and then follows events going forwards, revealing the back-story as events spiral towards their conclusion.

Lavishly, lushly realised in a highly textured style (though you do have to get used to the textures staying still as the characters move); beautifully realised; and a stuning sound-track -- not just the OP and ED, which are by Jean Jacques Burnel of the Stranglers.

Highly recommended.

Links for 30-Oct

The little JavaScripter

Determining offsets with scrolling overflow -- drag and drop on scrolled elements

Be careful with your JavaScript variable declarations -- once and only once

Autopopulating text input fields with javascript -- looking good, being accessible

Sunday, October 28, 2007

A week of doing nothing

A much needed week off draws to a close.

Like n. molesworth "what i did in my hols" : Did 0. Mucked about.

Tuesday, drove to orford for lunch at the Crown and Castle again; an easy drive A14, B1078, park in the square. Amble a bit before time to dine. Dine (Buffalo mozzarella crostini; goat's cheese and red pepper quiche with fries and salad; pistachio and yoghurt squidgy cake), then amble some more to walk it off. The drive back into the setting sun with the A14 knee deep in shadow and the cars glinting against the bright sky, not so fun.

Stuffed cat and springy dog

At the Crown and Castle

Wed/Thu I got my bike its end of season service (new back gear block, chain and cable), getting caught in unexpected drizzle while doing so.

And apart from a little pottering in the garden and garage, did very little beyond tapering off from caffeine overindulgence from work and time wasting on various boards.

Saturday, October 20, 2007

Anime — Seirei no Moribito

Anime of the first volume of a popular Japanese fantasy series, done in beautiful, flowing animation by Production IG; and it's obvious that this is the same studio who did Ghost in the Shell : Stand-Alone Complex.

Balsa, a spear wielding bodyguard rescues Chagum, the Second Prince, when his palanquin tumbles into a river, bringing her into the meshes of Imperial intrigue, and, ultimately, the lies upon which the Empire was founded, centuries before.

Generally low-key, low magic, and pastoral, with just a few spear fights — and definitely none of the stereotypical anime buckets of blood. Highly recommended.

Friday, October 19, 2007

Anime — ぼくらの (Bokurano)

I have the series on my Bokurano uninstall disc; but I've not felt inclined to watch the last half dozen episodes -- basically, I gave up at that point where Morita had just about destroyed any possible connection with the manga.

While there were a number of expected "Whoops, can't show that on TV!" changes in the first third of the series, and one was always going to live under the shadow of the manga being incomplete and a "LOL GONZO!" ending, the hostile direction had the paradoxical effect of removing all the pathos from the story and simply rendering the series pathetic.

Daiichi's actions to help let the civilians get to safety before fighting just vanished, due to the reshuffling to get early official intervention; Aiko's poignant newscast was rendered impossible by changing the story around her father; the list goes on...

Those are just the most obvious places where the direction sucked all the power from the story -- and instead gave us comedy yakuza.

As a story, the biggest disappointment of the year. Three thumbs down. But the best OP by miles.

Thursday, October 18, 2007

Links for 18-Oct

The static gateway pattern -- an improved Singleton without all that pattern's global variable dependency entanglement.

Using Java classes from JRuby (the other way round awaits the second compiler)

A scriptless CSS slide-show -- impressive.

Friday, October 12, 2007

Anime — Mononoke

A spectre is haunting Japan. Five tales of hauntings and the supernatural in old Japan.

In the same sort of space as Mushishi, an enigmatic and sardonic medicine seller wanders Japan, exorcising unwanted spirits, through a Buddhist ritual involving their Form, Truth and Regret.

It is animated in a stylised fashion, with closing door scene changes, and textured backgrounds, clearly echoing traditional Japanese theatrical forms.

Pretty much the highlight of the year.

Anime — Paranoia Agent

First time (assumed) menstruating girl conjures up horrors and other entities from her subconscious. Now, where have we heard that one before?

Satoshi Kon works better, I feel, at movie length (e.g Paprika, for which this seems a rough draft).

This 13-episode series was a bit discursive, and the internet suicide pact episode (lower left) that rated that DVD as an 18-cert, was pure filler.

Anime — Tengen-Toppa Gurren-Lagann

Heaven-piercing Crimson Face — “Yours is the drill that will pierce the Heavens”

Not since the days of astounding tales of super science, like E.E. "Doc" Smith or John W Campbell have I seen such unashamed escalation.

Simon the Digger rises from humble beginnings in an underground shelter, via a whole lot of transforming/combining mecha, to save the world and free the galaxy from the Great Silence.

A great romp for your inner 12-year-old (especially if the inner 12-year-old has ADD).

Thursday, October 04, 2007

Links for 4-Oct

Parameter validation -- uphold your contracts, which leads nicely in to

Concise and readable code & part 2 -- avoid the arrow anti-pattern (see also yesterday's link on the monkey cage)

What I learned in X improved my Y -- thinking outside the boxes

Blocks : do/end vs braces in Ruby

Me want!

Seriously, the best movie review I've read in ages.

50 years of space

So, the defining event of my childhood fell so soon after my birth.

This is the 21st century -- where are my skiing holidays on Mars?

Wednesday, September 26, 2007

Anime — Claymore

A shonen series about girls with implausibly large swords who fight demons (and on occasion, each other -- and on other occasions become or nearly become demons themselves, to be fought) in a Japan-does-D&D-Europe fantasy world. That means the usual ration of power-ups, but for this one, not so much shouting of attack names -- just body parts falling off and gouts of blood under high pressure.

So what starts out as demon-of-the-week rapidly evolves into super-hero type fighting (but with deaths), secret origins, mysterious organizations and crossed agendas, and small armies of high-level beings on both sides, before the massive one-on-one battle at the end that all this has set up.

Entirely harmless, but marred by the most incredibly annoying male side character (worse than Shinji) I have encountered for a long while. Without the encumbrances of having read the manga, I was not disturbed by any shuffling of the ur-plot towards the end, but felt that it did its best to tie things up while leaving an eventual second series possible.

Links for 26-Sep

The Myth of Software Estimation + Part 2

Steve McConnell on estimation in practise -- reaction

Cardspace 3.5 can operate without SSL

Tuesday, September 25, 2007

Links for 25-Sep

IronPython - My .NET Exploration Tool -- in the spirit of the little bit of exploration code in the previous post on registry watching

AD FS on 2008 Server -- trouble shooting guide

Java Idioms collected

Watching Files & Registry keys from .Net (incl IronPython)

Registry watching

As I've noted before, the System.Management namespace has a lot of WMI-related goodies in it. In particular it includes analogues for the RegistryTreeChangeEvent, RegistryKeyChangeEvent and RegistryValueChangeEvent behaviours.

You can get at them as follows

  1. Create a suitable  System.Management.ManagementScope object -- e.g. scope = new ManagementScope("root\\default");
  2. Create a new WqlEventQuery, call it q, and set the EventClass like q.EventClassName = "RegistryValueChangeEvent";
  3. Set the appropriate condition depending on the event class -- 
    • For Tree change q.Condition = "Hive='HKEY_LOCAL_MACHINE' and RootPath='Software\\\\RavnaAndTines' ";
    • For Key change q.Condition = "Hive='HKEY_LOCAL_MACHINE' and KeyPath='Software\\\\RavnaAndTines' ";
    • For Value change q.Condition = "Hive='HKEY_LOCAL_MACHINE' and KeyPath='Software\\\\RavnaAndTines' and ValueName='my key'";
    where the path '\' separators must be double escaped (or escaped even if you use an @-qualified string in C#)
  4. Create a ManagementEventWatcher(scope, q) and add an appropriate EventArrivedEventHandler to the EventArrived property
  5. Start() the watcher (probably in its own thread, unless you can create it before the application main loop).
  6. As part of application termination, Stop() the watcher and Dispose() it.

Alternatively, the WqlEventQuery query string could be set manually, in which case it would be of form like

select * from RegistryTreeChangeEvent where Hive='HKEY_LOCAL_MACHINE' and RootPath='Software\\RavnaAndTines' 

Presumably with more SQL-fu one could build a portmanteau query to look at multiple events, rather than creating one watcher per key or value.

The event handler looks like EventArrived(object sender, EventArrivedEventArgs e); the latter argument's NewEvent property is a name/value collection representing the WMI event, like

For Tree change

Hive = HKEY_LOCAL_MACHINE
RootPath = Software\RavnaAndTines
SECURITY_DESCRIPTOR =
TIME_CREATED = 128351151930418266

For Key change

Hive = HKEY_LOCAL_MACHINE
KeyPath = Software\RavnaAndTines
SECURITY_DESCRIPTOR =
TIME_CREATED = 128351153191840662

For Value change

Hive = HKEY_LOCAL_MACHINE
KeyPath = Software\RavnaAndTines
SECURITY_DESCRIPTOR =
TIME_CREATED = 128351161584291834
ValueName = my key

and can obviously be common code for all watcher objects

Sample code

IronPython script used for rapid prototyping/validation

File System watching

This is much simpler, in that the behaviour is kept into one object (System.IO.FileSystemWatcher).  there are complexities about multi-threading (if the object is being invoked in conjunction with UI objects); and for handling situations where there is a high frequency of changes expected (by configuring how much space to devote to buffering events).

The FileSystemWatcher is supplied with a directory path, a flag to say whether it should recurse through sub-directories, and a simple filter string to determine which files to watch.  Event handlers are then added to the appropriate property (Changed, Created, Deleted, Renamed). The object is then enabled by setting its EnableRaisingEvents property.

The object is, like the ManagementEventWatcher, an IDisposable, but is stopped by clearing the EnableRaisingEvents property.

The event handler looks like EventArrived(object sender, FileSystemEventArgs e); this gives the type of event and the path and name of the file (the new name in the case of a rename, the object being sub-typed to also have an old name and old path property).

Monday, September 24, 2007

Links for 24-Sep

When windows are not enough -- there is still the command line

Bringing the browser to the server -- server-side JavaScript + browser-focussed JavaScript toolkits = test automation + whatever else you can think of

Collected Java Practices -- a collection of wheels for not reinventing

Saturday, September 22, 2007

;_;

http://economist.com/obituary/displaystory.cfm?story_id=9828615

Over to you, Mr. Praline.

Anime — Ghost in the Shell : Stand Alone Complex

Two things I don't like about watching anime on DVD. First, the slow and lumpy release schedule; second all the menu navigation stuff.

I had watched this series before, but the aforementioned lumpiness really broke the flow. I have re-watched it in a more concentrated batch, where it can be appreciated, and usually managing not to get caught into the "I have fought through the set-up and am playing episodes back-to-back, so let's watch the whole disk…" trap.

This series vaguely follows some of the thrust of the manga and the first of the movies; but is rather more police procedural (for a Total Information Awareness society) in approach. This does not stop there being episodes spent in just philosophical discussion (and some of the procedural-style episodes are pure vehicles for the philosophy) of what memory and identity become in this age where parts of us are distributed (see blog title). And, possibly unintended, despite the political angle behind the main plot (the Complex Episodes, as opposed to the StandAlone ones), showing what even an inherently benevolent organisation can do in a highly recorded and monitored environment.

In the earlier episodes, the animation is occasionally a bit skewed and off-model (QUALITY, if you know what I mean), but there is usually enough going on for that not to detract.

Brute force gardening

Three weeks later than I'd intended (teeth, you know), I finally had weather and enthusiasm to check the elder tree behind the garage, which was looking rather sad.

And, yes, it was showing signs of fungus again, as expected. So spent most of the afternoon taking down chunks, clearing away ivy, and giving an unseasonable pruning to the (with the tree gone) clearly overgrown forsythia next to it -- taking advantage of the mild (and later fine and sunny) weather to be out in.

Four big logs and a green bin full of shreddings, it was time to call a halt, with plenty of main trunk left to take down. There are a couple of sections that will be easy, and at least two that will take a long time to saw through. Well, so long as it is done by Bonfire Night, when the big bits can go on the village bonfire…

Friday, September 21, 2007

Sand

One of the major features of the southern and eastern part Suffolk is the sandy soil. A fact brought vividly to home when cycling down narrow (single lane and passing places) country lanes, where only the usual tramlines are clear of sand.

This means that when there is traffic trying to pass (like every few minutes), hugging the hedge means being forced into deep and drifting sand, and hence coming to a dead stop. Fun on the up-hills, and plenty more fun at downhill junctions (like this one) where I'm heading south and downhill and am about to make a right turn and up, and the junction is pretty much awash in sand.

The contrast is low in the Google image, but at the moment, you can just about make the sandy borders out, though tree-shadow hides the fun-fun sand-trap that I nearly skidded out on.

Thursday, September 20, 2007

Homeward Bound

Iken Church

Iken Church

Breakfast starts late here -- 08:30 -- so after carb loading, I'm on the road by 09:30. It's a milder but windy morning, with cloud coming up fast. And for most of the route, after I leave the coast, I'll be heading straight into it.

Aim up the coastal cycle route past Iken to Snape Maltings, then head through Campsea Ash to cross the A12 at the same easy place as before, just after 11, through Hasketon to pass the Dog Inn at Grundisburgh just as they're opening. I take this as a sign, and stop for a beer.

Refreshed, I continue, with the wind strong enough at times that I have to pedal hard downhill to keep up speed. Through Swiland, past Ashbocking, and stop again at the Cross Keys near Henley for lunch -- a chilli jacket.

Last leg, I can't be bothered with trying to cross the A140, so turn through Claydon and Great Blakenfield to pass under the A14 before that junction, and, having got caught at the level crossing, can feel spits of rain in the wind as I hit the closing leg.

The rain arrives just as I reach the base. A brief pause to adjust luggage, then off into the showery rain home. At least I don't feel I have to mow the lawn.

Wednesday, September 19, 2007

Framlingham to Orford

Martello tower

Martello Tower

The sky was bright and clear when I woke at 06:30, and soon the early sun was apparent, too.

After a so-so breakfast, I was on the road by 08:30, and already cloud was brewing up, leaving by turns, hazy sunshine and cloud, though much milder than yesterday, with the strong wind now from the south-west.

As the forecast was for rain in the afternoon, I set my itinerary to arrive at Orford about lunchtime -- through Wickham Market and crossing the A12 on a bridge, towards Ufford (having to dodge sprinklers that have irrigated the road as much as the fields) and passing Sutton Hoo before 10. The sun is winning at the moment, so I take off my jacket, before heading down through Shottisham, through country lanes heavy with the scent of the onion harvest, through Alderton to hit the coast at Bawdsey East Lane by 11.

Hereat the coast it was cold enough to want a jacket; but the weather was still not looking ominous, and plenty of time to hit the 2pm first check in, 3pm end of lunchtime hours at the King's Head, so I decided to try at least part of the walk I'd wimped out of a couple of years ago, and pushed along the coast up to Shingle Street, passing more Martello Towers in various states of renovation or dereliction.

The path emerged from an obscure piece of hedge I'm sure I would not have spotted from the north, to reveal that not only is work going on on the tower here, but the phone box, labelled as scheduled for removal shortly after my last visit, is still there and has a phone in.

A bit back from the coast, and it is sheltered enough to take the jacket off; and push on ahead of weather that is starting to look threatening

Capel St Andrew

Village Sign at Capel St. Andrew

Get to the King's Head just before 13:00, order a beer and contemplate lunch. A rush appears immediately I have sat down, so I take most of the pint waiting for it to subside, then get another pint and their paté. It's still not 2pm when I'm done, so another beer, as the sky goes dark outside.

After than pint, it is a sensible time to check in; and go up to a room over the bar, which shows the age of the building (13th C) by having a serious sag in the middle of the floor. And also a king sized double with duvet, not the singles with sheet and blanket in the previous places.

After a bath -- being amused at the sign apologising that "The showers don't work -- not a new song from the Verve, but a lack of water pressure" -- crash.

Wake about six with late sun streaming through the window. Freshen up, get dressed, and amble over to to the Crown and Castle for dinner. Ginger Beer as aperitif; pork and pistachio terrine, followed by devilled kidneys, with a glass of rosé, then berry and apple crumble with real custard, and coffee.

Feeling full. No open WiFi here, so just jot these notes for later. Now for more bed.

Tuesday, September 18, 2007

Needham Market to Framlingham (the long way)

Framlingham Castle

Framlingham Castle, from across the mere

Woke up (for the nth time) about 06:30. The sky was grey with cloud, not just being just before dawn; and the road outside looked damp. This was not the bright day that the forecast suggested.

Leisurely breakfast, and a quick stroll at about 08:00 to judge the temperature -- cold enough for breath to steam, and a strong wind, bringing only brief snatches of blue sky. An hour later, somewhat more blue sky, and the sun was warm when it was visible.

Setting out towards Debenham, it was clear from the damp and the puddles that the rain must have been quite heavy.

Taking it easy, reached Debenham by about 10:30, and then carried on the long detour to Stradbroke, intending to stop there for a pint. Alas, the White Hart looked very shut at 11:45, though supposedly opening at 11:30 -- so rather than just kick my heels until 12, carried on through Wilby (stopping for a picnic at Wilby Green, as the cloud had now pretty much all burned off, and it was pleasant when sheltered from the breeze), then to the Old Mill House at Saxtead Green for a beer.

The post mill was closed and also being repainted; so as it was still only about 14:00, carried on for a long loop around Framlingham to the south, partly checking out some of tomorrow's route, before looping back to pass Shawsgate Vineyard (only a very small patch of vines visible through hedges), to enter the town from the north, passing by the foot of the castle mound. Recollection from last time took me pretty much straight to the car-park at the back of the Crown Hotel.

Checked in, then discovered WiFi, so this time took the hit to reconfigure the networking. Strolled around in T-shirt in the bright sun -- though I have experienced warmer February days, it was marginally comfortable to leave the jacket off -- deciding where to dine.

Decided on Off the Square, just a few yards further towards the castle, where I had chicken liver and wild mushroom for starter, and goats cheese and spinach gnocchi for main. It may have been a bit nouvelle cuisine but together they were substantial enough that I didn't feel the need for dessert.

And so to blog…

Monday, September 17, 2007

A holiday — day-ride at Needham Market

The Castles and Rivers tour

Badley Church

Badley Church -- Tudor construction

A dull day, with heavy showers forecast. Not a promising start.

After getting checked in at the Limes Hotel, drove over the the base at Alder Carr Farm, parked the car and picked up the bike. This time, a 48cm frame, so I just needed to fiddle a little with the seat height and I was comfortable. And then a spin to get used to the Shimano gears (remembering which lever changes up on which side).

This was about 13 miles, a bit off-road, and a bit of footpath to push along, in a stiff breeze with just a hint of dampness, with dark clouds scudding past. Already, the first hints of autumn colours in the trees.

Portions at dinner are heroic -- they were out of the steak and ale pudding that had been my first choice, so I chose from the so called smaller portions to be starting with. Potato skins. Well actually, it turned out to be a substantial jacket potato just split in two and buried under a huge pile of cheese, bacon and chicken. One of the other people in the bar took up their Monday beer and curry offer, and was served a simply enormous bowl So I probably did the right thing in the end.

Stroll in the twilight for digestion. Another beer for luck, and so to write this up. Hmm. Looks like they do have WiFi here, but I can't be bothered to reconfigure my network now -- I just want to crash.

Sunday, September 16, 2007

Anime — Busou Renkin

A fairly typical shonen fighting series, with power-ups, shouting Engrish attack names (Like "Silver Skin -- Another Type -- Reverse!", "5100°C Blaze of Glory!!!" and "Near-death Happiness!") and what-not; but one with character designs that caught my eye. While the protagonist fights in civvies, and some of the background characters are in uniform, there is a slight touch of US-style superhero costuming, like the madness that is Moonface, the indestructible Captain Bravo, and the ever so fabulous Papillon.

It's all done in a fairly straight and good-humoured style, the wacky Japanese slapstick isn't too retarded.

An entirely frothy way to waste a week-end (being only 26 episodes, rather than one of the never ending series more typical of the genre), when you just want to kick back and let the brain cool down.

Wednesday, September 12, 2007

Links for 12-Sep

XAML to SVG and back again -- deliver vector graphics to IE/Silverlight or Mozilla

10 reasons to learn use Ruby

Copy Source as HTML -- VS2005 plug-in for copying syntax colouring

Designing for the iPhone -- part 1; part 2

Monday, September 10, 2007

Wednesday, September 05, 2007

Tuesday, September 04, 2007

Monday, September 03, 2007

Teeth

Had an appointment this morning to start putting a crown on the tooth that was root-canalled around the turn of the year. But the published scheduling was interrupted by the twinges in another tooth having turned into full fledged toothache from about Friday lunchtime.

So, lots of prodding and testing to find which tooth it was that was causing half my face to feel like it was falling off. One tooth didn't react to ether chloride (cold!); nor to having large amounts of current run through it, so eventually it seemed that it must be the one at fault, needing some unscheduled root-canal work because of nerve die-back.

So I've just had a batch of root canal work done on a not completely dead tooth without anaesthetic and am going to fall over. I now have at least 4 more appointments ahead of me to patch all this up.

Later -- slept through to the next morning with only a brief pause for some food, the first of the day, at about 19:30.

Friday, August 31, 2007

Mono 1.2.5 is out.

So, the necessary changes to support the DLR at all are in place.

Alas, it still has some limitations -- (bug 82650)

fails in the import statement with

Traceback (most recent call last):
  File __main__, line unknown, in Initialize
  File WinUI, line unknown, in Initialize
TypeError: Argument cannot be null.
Parameter name: type

which is not quite "at the first hurdle", but does make it useful to keep the WinForms import in a single file, so if I need to explicitly enumerate, I only have to do it once.

A pity that Python isn't quite as malleable as Ruby so far as stringname-to-symbol matching goes. The next best thing, this

doesn't fare any better. *sigh*

Links for 31-Aug

Ruby Superators -- Always wanted a "-~+~-" or "===~-+~++" operator? Now it's within your grasp!

Anonymous functions inside JavaScript functions

Primary and Secondary actions on web forms

Wednesday, August 29, 2007

Tuesday, August 28, 2007

Autumn

Yesterday I did my usual August Bank Holiday cycle ride, ambling along country lanes near the Herts/Essex border. And though the sun was shining, the air was chill, almost raw, in a persistent northerly breeze.

This morning, under leaden skies again, there was a distinctly autumnal feel to the air; and it's still August.

The rain last week did not help the plum harvest, such as it was. We got enough for a pie, after discarding the thoroughly wasp-eaten ones (about half the crop). We have more of last year's still in the freezer than we got this year.

Links for 28-Aug

Ruby Sadist -- "The time has come to show your code who’s boss."

Certificate-based authentication in WCF - Message Security; Transport Security; Mode Independent -- 4 articles

Towards more bottom-up programming with JavaScript

Friday, August 24, 2007

Thursday, August 23, 2007

Tuesday, August 21, 2007

Friday, August 17, 2007

Links for 17-Aug

JRuby-in-a-jar -- code in one jar, add jruby-complete.jar and get a better deployment model. Jython's -jar <jar with a __run__.py> is OK but leaves .class file litter; and IronPython doesn't yet have zipimport

9 JavaScript Gotchas

Blueprint CSS -- Google Code CSS framework

IE JavaScript console -- because it needs one

Tuesday, August 14, 2007

Can we fix it?

So, all that was left above the gum-line of the tooth that went yesterday was the large (2/3 of the tooth), old, amalgam filling of great antiquity. Plastic has been applied to make it tooth-shaped again, but now I'm in line for 2 crowns this autumn.

Those old-time 1970's dentists sure knew how to set themselves up with work for the future.

Links for 14-Aug

CSS Vertical Centring of known height blocks

C# extension methods -- asymptotically approaching JavaScript?

Who is the customer for an Enterprise product?

Monday, August 13, 2007

Cheese is hazardous

For the second time in 10 days, half a tooth has become detached while I was eating some soft cheese. Camembert the first time, and now brie. You don't expect that.

AAAAAUUUUUGGGGGHHHH!!!!!!

Links for 13-Aug

A better Symbol#to_proc -- iterating and refining collections with less "yellow code"

JVM languages group -- Virtualisation works at the code level, too.

Python IDE in the browser -- Silverlight proof of concept

JavaScript debugging in Orcas -- work on client-side code in your server pages

Sunday, August 12, 2007

Psychic Felines

When I came downstairs this morning, Jemima was lying sprawled on the picnic table, in that half melted dead cat basking position they take up, blissed out expression on her face. So I snuck back upstairs and got the camera.

And returned to find no sign of a cat anywhere.

Tuesday, August 07, 2007

Teeth

Oh qualified joy! Oh modified rapture!

An hour in the dentist's chair today. A few minutes cleaning up the surface where the tooth broke at the weekend, and slapping some Fuji-9 temporary on.

And the rest going from looking at a sore patch on the gum opposite to spotting that the tooth that had been root-canalled six months ago, and had had the filling patched once already, had cracked, thus inflaming the gum.

Tons of epoxy later, it's sort-of glued back together, and I can eat something more demanding than soup or runny porridge so long as I take things carefully especially on the latter side. But now I have a series of appointments for getting crowns.

Le *sigh*

The 21st century and I can't even get new teeth either by subtlety (coercing new buds to appear and shedding the old) or brute force (by A-gate or equivalent nanoscale rebuild). What is the future coming to?

Sunday, August 05, 2007

Crazy or what

After all the wet weather, a couple of days of hot summer weather. And after only a week or so since the last heavy rains, already the agricultural sprinklers were out in some of the fields I cycled past -- despite comments on the news about the moistness of the soil encouraging bumper truffle crops.

Also, another tooth has fallen apart, so first thing tomorrow, to the dentist. *sigh*.

Tuesday, July 31, 2007

.Net, IronPython and the shell

One step forwards, two steps back, trying to get a uniformly applicable method to get the displayed icon for a file-name that doesn't drag in attributed code at some point.

We can P/Invoke to get file icons through SHGetFileInfo -- but that involves attribute decorated methods in a C# shim.

We might be able to get at IExtractIcon via COM Interop starting from the Shell like this:

though that route doesn't yet work on Mono (GetTypeFromProgID isn't yet implemented -- and the type being of type System.__ComObject, that's probably not there either). And in any case we still need to either P/Invoke DestroyIcon or read the icon resources directly from PE format, and manage the object ourselves, even if all the other argument passing works.

We could use Icon.ExtractAssociatedIcon if only it didn't restrict itself to just files that exist (in particular, unlike SHGetFileInfo, it does not do folders, or drives, let alone abstract allusions to files by their extension).

*sigh*