colin's blog

AGDA is awesome!

Last week I failed to do any work on my website program, as I was taking a look at agda2. Dependent types are awesome!

Equation

Haskell + Eiffel = 2 * (contempt for Java)

Software taking shape

My image gallery replacement software for Drupal is gradually taking shape.

Selecting software for a replacement for this website

The requirements are:

  • It must be Haskell (because that's what I want to program in).
  • I need at least the full functionality of the Drupal V5 Image Gallery module, without the bugs, and we the possibility of an image being in multiple galleries.

What I'm experimenting with at the moment is:

Brown Hawker tries long pig

It was windy, cool, and the sun didn't come out until late today, at Mere Sands Wood. As this was the annual walk lead by Dr. Phil Smith, it was particularly disappointing. By 13:00 I had only seen 5 individuals. Still, most people got to 6 species in the end.

Males over the water

Today in the Park it was sunny, but very windy. I only saw Large Red Damselflies, but there were 24 in all, spread over all four dragonfly pools.

The majority were teneral, but there were quite a few males in mature colouration, some of them braving the wind to maintain station, and occasionally make short flights, over the water.

Now running on DragonFly BSD

This website is now running on DragonFly BSD 2.2.0. For purely sentimental reasons.

Contracts - dynamic or static checking?

I've been programming full-time in Eiffel now for about 6 1/2 years, so I'm well-used to dynamic monitoring of assertions used to write contracts.

Timings for search algorithms

Now that Chu Shogi 3 is apparently bug free (who knows - I found another one last night, but it was an easy fix), I have added timings for the computer player. I then compared the time taken by the four search algorithms I have implemented in the game-tree library:

First move by AI

Yesterday Chu-Shogi 3 made its first move.

Pity it was an illegal one. Still, that was soon fixed (I was generating Lion moves for all pieces, which slows response drastically), but there's plenty of work to go. At the moment the evaluator is as trivial as possible - it just uses piece values, so move selection is essentially random in the opening.

Syndicate content
Algorithm Time in seconds
Negamax 474