One more

July 13, 2013  |  Photography  |  Comments Off

Another Photography Award

April 28, 2013  |  Photography, Uncategorized  |  Comments Off

Metabolic dilemmas

Metabolic dilemmas

March 14, 2013  |  Coding  |  Comments Off

I now have a functional model of the stomach, small intestine, large intestine, bowel and rectum! Makes for some fun class and variable names… My current stumbling block is modeling calorific usage and the metabolism. Energy used and how fat, protein, body water and glycogen all balance out and are used, possibly this is going a little too far. I think I need to stop re-factoring idly, and concentrate on this, the last of the physical components I need for my human simulation.


March 14, 2013  |  Photography  |  Comments Off

My second ViewBug award!

Mangled Me :)

Mangled Me :)

February 24, 2013  |  Photography  |  Comments Off

The first photo I submitted and it won an award!



February 24, 2013  |  Coding  |  Comments Off

I’ve been silent a little too long…

The TinyMUD port was a draining experience, so I decided to leave late night coding behind me for a while… I’m now working on a game, a life simulator, it’s dark and altogether depressing.

My prototype code (a few days old), is currently managing to simulate 80% of the human body, I have the digestive system mostly in place, and then plan to move from emulating the physical to the mental.

It’s fascinating and requires real-time graphing to analyze the model (I don’t have graphics yet – Opting to build up the model/simulation first), using graphite to handle this, really nice “tool”. Will post some more detail as it grows into life (quite literally).

Jenkins & redmine tool for team process conformity checking

Jenkins & redmine tool for team process conformity checking

July 22, 2012  |  Coding  |  Comments Off

Most software teams use some kind of project management tool, Redmine or Trac for example. Maintaining the validity of tickets/issues is a major pain, particularly in relation to time tracking and ensuring that activity logs are made routinely and spent time versus estimated time are kept in sync.

Typically someone on the team, “the project manager” ends up having to constantly re-enforce the need for people to log time and keep fields correct, this I think is a waste of ones life! Ideally the whole team would just take an interest and do this work, or use a system, e.g. Kanban where the process/tool itself tracks this information without the need for human input. If this isn’t possible, I propose an auto-build/integration server for the process itself…

I’m currently writing a script to integrate into Jenkins and track a Redmine project through its REST API. The script continuously monitors the state of the project and causes “build” failures when a violation occurs, e-mailing the team and if possible the person who caused the problem. Ideally to drive change through making the problem visible, once the project has settled we can turn it off, although it might be useful for checking other non-code aspects of the project, so we will see.


MangledMud Finished

MangledMud Finished

June 2, 2012  |  Coding  |  Comments Off

My ruby port of TinyMUD is now complete and available on GitHub.

TinyMUD ruby port progressing well

February 5, 2012  |  Uncategorized  |  Comments Off

The title says it all! With some welcome help the port of TinyMUD to ruby is approaching 100%. I’m looking forward to putting it up on GitHub and launching it on my server for a wee party (it would be great if James Aspnes would “attend”)!

Rhino Mocks with Managed C++

Rhino Mocks with Managed C++

August 16, 2011  |  Coding  |  Comments Off

Having just had the unfortunate need to use rhino mocks from managed C++ I thought I would document the “how”

Let’s say you want to mock/stub IFoo. Which has two methods:

  • IQux Bar()
  • int Baz(int)

Create a MockRepository:

IFoo^ foo_stub = MockRepository::GenerateStub<IFoo^>();

Stub out Bar() -> Note it doesn’t take a parameter:

Rhino::Mocks::Function<IFoo^, IQux^>^ foo_bar =
    gcnew Rhino::Mocks::Function<IFoo^, IQux^>(&IFoo::Bar);

RhinoMocksExtensions::Stub(foo_stub, foo_bar)->Return(
    /* Another mock/stub or a real IQux */

Stub out Baz() -> Note it takes a parameter:

Note, the static method, this will configure the stub for a specific argument, in this example when Baz(1) is called we return 2.

Rhino::Mocks::Function<IFoo^, int>^ foo_baz =
    gcnew Rhino::Mocks::Function<IFoo^, int>(&Test::FooStubBaz);

RhinoMocksExtensions::Stub(foo_stub, foo_baz)->Return(2);

// IFoo will actually be a rhino mock/stub
int Test::FooStubBaz(IFoo^ foo) {
    return foo->Baz(1);

Now foo_stub->Baz(1) will return 2

I imagine you could remove the need for a static method but this was enough for my needs and my head!