Tuesday, 17 November 2009

BBC + Wii Finally!

After some time of waiting the BBC iPlayer channel for the Wii is finally here! Well, I say it's here, apparently it's due to arrive just after midnight tonight. It's been some time since this was announced so it will be nice to see how they spent the development time. Hopefully there will be the option to download programmes to an SD card for later viewing (but probably not).

in reference to: BBC and Nintendo launch new ‘BBC iPlayer’ as a Wii Channel - Nintendo - News (view on Google Sidewiki)

Thursday, 25 June 2009

3WR: xobni - software

Makes Outlook usable

Tuesday, 23 June 2009

3WR: Small World - Board Game

Unmissable backstabbing pleasure.

3WR: Steam - Board Game

Fantastic train game.

3 Word Reviews

I have quite a few interests and like to spend more time pursuing them that writing about them. However, I'd also like to share my experiences with others. To this end I have decided that I am going to start writing reviews on a number of things from board games and role-play products, to software and APIs. However, I have decided that each review will be exactly 3 words long (not including the name of what I am reviewing) this should allow me plenty of time to document all that I test.

Saturday, 14 February 2009

Playing with Jazz

Last night I downloaded a copy of Rational Team Concert, having just heard about the Jazz project.

Having started it up I started to work through the tutorials and was, quite frankly, blown away by what it could do. I'm a big fan of Mylyn on eclipse and the way it can focus you on a single task at a time. Jazz (or Concert, not sure where the boundaries lie right now) seems to take the task oriented development and expand it well beyond the bounds of the coding. It integrates your task/bug tracking with your coding and testing, your commits are associated with the results of your automated tests all in a structured workflow. It also allows for planning your releases, iterations and working hours.

It can also be used to enforce your processes, though I have yet to see how to set it up, but a couple of examples are that a new developer's code will not be committed until it has been reviewed by a more experienced developer (and will create a task for the experienced developer with the code attached), or that code containing warnings cannot be committed.

To do all this, it provides it's own bug/task tracking system, project planning tools and a source control system. The tracking system and the project planning are quite straight forward, but the source control system is a little different to what I'm used to and I have yet to get my head around it. It is made up a streams, I think, and these streams can belong to individuals or teams. You work in your own stream, then when your are done, you integrate it into the team stream, on larger projects you then integrate that into another stream, and so on up.

Saturday, 1 November 2008

Geoff on GEF pt. V

Erk! Hit a really difficult problem now. I've been working on printing a draw2d figure from my app for a few days now (on and off). I have managed, through debugging, to show that the figures are all being laid out as expected. My output is producing the correct number of blank pages and I have managed to display all text on screen once, before re-writing slightly, but I have not yet managed to produce the required text on the pages.

The following shows what I have so far:


Printer printer = new Printer(data);
Graphics graphics = new PrinterGraphics(new SWTGraphics(new GC(printer, SWT.LEFT_TO_RIGHT)), printer);
Rectangle printRegion = getPrintRegion(printer);

printer.startJob(TournamentManager.get().getTournament().getDefinition()
.getName()
+ " Score Cards");

Figure root = new Figure();
root.setLayoutManager(new ToolbarLayout(false));
root.setForegroundColor(new Color(printer, 0,0,0));
root.setFont(printer.getSystemFont());

for (CompetitorStatus status : competitorStatuses) {
graphics.pushState();
IFigure page = buildFigure(status);
root.add(page);

Canvas c = new Canvas(new Shell(), SWT.None);
c.setLayout(new FillLayout());
LightweightSystem lwsTmp = new LightweightSystem(c);
lwsTmp.setContents(page);
c.setBounds(printRegion.x, printRegion.y, printRegion.width, printRegion.height);
c.layout();
printer.startPage();

graphics.translate(-printRegion.x, -printRegion.y);
graphics.getClip(printRegion);
printRegion.setLocation(printRegion.x, printRegion.y);
graphics.clipRect(printRegion);
page.paint(graphics);
printer.endPage();
graphics.popState();
}
printer.endJob();