Saturday, 30 August 2025

Saints Ahoy - Game 28 and the 2024 Season to Date

Two points specifically about game 28. 

The first is about the diagrams. 

You will notice that this is game 28. In a 12 team league, the most games you should get is 22. Even counting Saints's two Challenge Cup games, that would be 24. Super League has 27 games in the regular season. 

How do you get from 22 to 27? 

To fill these "gaps" they have Magic Weekend, the Rivals round and a couple of seemingly random loop fixtures. Mysteriously, this means that we have to play our best/worst rivals more often - Saints got 2 extra games against Wigan in 2024 :( 

In 2024, one of Saints's loop fixtures was versus Castleford, which is why you'll suddenly see Castleford 3 in the figures. I'm putting this explanation in this post because it's the first time one of the teams will be referred to as [team name] 3. 

The second is about an odd tradition Saints have. For the last home game of the season, if a dearly beloved forward is retiring, and we've already won the match, we let them kick a conversion towards the end of the game. I suspected Mata'utia was going, but him getting given the kick to take was when I knew for sure. (Yes - this is often how we find these things out) 

It makes me sad, because I like him. He's an excellent forward, gives his all, and seems to care. I ask for very little and demand only two out of those three. 


Now onto game 28: 

The who was on the pitch when Saints scored figure looks really good. You can see the replacements coming on and off. Line chart showing who was present when Saints scored in game 28.  You can see from it that Clark was the replacement for Burns, and that Bell and Paasi were brought on. 
Who played together when Saints scored in game 28. Matrix of who played together when Saints scored in game 28.  The darkest area, the players most often together, are in the bottom right hand corner.  It contains Whitley, Matautia, Makinson, Lomax, Dodd, Batchelor, Bennison.  Above them is an orange pair, Bell and Knowles, then Delaney as a stronger orange on his own, above him is a darker orange pair of Welsby and Percival, then a paler section of Paasi, Clark, Burns, then Walmsley and Lees. Knowles's crossing point with several players is much paler than expected given where he is in the diagram. 

Network graph from the same game: Network graph, Bell, Delaney and Knowles are the outliers.  That might explain why some of the crossing points for Knowles are pale in the matrix diagram. 

On to the diagrams for the 2024 season. 

First of all, when do Saints score? Bar chart of when Saints score.  The shape is basically a normal distribution.  The highest point in minute 50 which has seen 7 point-scoring moments.  Minutes 44, 47, 51, 52, 65 and 79 feature 5 point-scoring moments. 
Who scores for Saints? Bar chart of who scores for Saints.  Percival is way in the lead with 60 point-scoring moments.  He is followed by Makinson on 20 (I was not kidding when I said way in the lead), then Bennison.  After Percival the number of point-scoring moments tails off quickly.  In total 25 Saints players have had at least 1 point-scoring moment - not bad from a squad of 36. 

Of the top 3, Percival and Bennison are kickers so should be up there. While Makinson can kick, he's there mostly because of his tries. Oh, we are going to miss him! 

Who is present when Saints score? Bar chart showing which players are present when Saints score.  The top three are Blake, Welsby and Dodd, then there is a distinct drop to Percival, a slow drop in point-scoring moments present for for the next 12 players down to Delaney, then another steep drop to Batchelor, then comes Bennison and a steep drop to Knowles.  Then a slow decline again from Davies down to Burns, and then Royle, Vaughan and Whitby at the bottom. 

What does the matrix diagram of players who play together when Saint score look like after game 28? Matrix diagram of which Saints players are together when Saints score.  The darkest, most-often-together-group are in the bottom right.  It contains Blake, Welsby, Dodd, Percival, Sironen, Hurrell, Lomax, Bell, Clark, Mbye, Delaney, Lees, Matautia and Makinson.  There is a small, paler section of Whitley, Bennison, Batchelor.  Then comes the next palest section of Knowles, Davies, Wingfield, Walmsley, Ritson, Robertson and Stephens.  At the top and leftermost comes the palest group, those least often present together, which contains Royle, Whitby, Vaughan, Burns and Paasi. 

The thing that interests me about the matrix as it stands now is that for each section, the player most often involved with the others (and therefore the darkest line) is at the top left of their section, but the darkest section over all goes at the bottom right and the sections get lighter as you move up and left. 

That pretty much matches the network diagram, but not exactly: The network graph of players who play together when Saints score.  It matches, but not quite, the matrix diagram.  There is a central blob of players then the outliers.  The outliers are Sam Royle, top left, Vaughan, bottom right, Burns, bottom right but in a bit from Vaughan, Walmsley, bottom middle, Wingfield, bottom left.  The players either being pulled into or falling out of the central blob are Bennison (I think being moved in as he plays more), Knowles (ditto), Ritson, Paasi, Robertson, Stephens and Davies. 

The player in the matrix but not in the network graph is Whitby. 

If we swap over to look at when Saints concede - here are the teams that have scored against Saints. Bar chart of who scores against Saints.  Castleford, the opponents in this game, are one of 5 times Saints kept the opposition to just one point-scoring moment.  The other 4 are, Wigan the first time Saints played them, London the first time Saints played them, Leigh the first time Saints played them and Castleford the first time Saints played them.  That Castleford 2 is not on there tells me the second Saints vs Castleford match ended without Castleford scoring. 
There have been 28 games but only 25 teams feature on this chart because Saints kept 3 teams to 0 point-scoring moments. 

When do Saints concede? Bar chart of when Saints concede up to game 28.  Minute 76 has the most point-conceding moments, with 7.  The next highest are minutes 11, 32 and 80 with 5.  There is no obvious pattern to when Saints concede. 

I can't really see a pattern to the times. 

Who is present when Saints concede? Bar chart of who is present when Saints concede.  Blake is present for the most, followed by Lomax, then Welsby and Mbye. 
Who plays together when Saints concede? Matrix of players who played together when Saints concede up to game 28.  The colours are more spread out that in the scoring equivalent.  But there are still three obvious sections.  The darkest, most often together, section (Blake, Lomax, Welsby, Mbye, Lees, Ritson, Makinson, Clark, Whitley, Bell, Matautia, Dodd, Sironen, Percival and Delaney), then the medium section (Robertson, Davies, Vaughan, Paasi, Hurrell, Batchelor, Knowles and Bennison) then the palest, least often together section (Stephens, Walmsley, Wingfield, Royle, Whitby and Burns). 

The equivalent network graph looks like this: Network graph of players who play together when Saints concede up to game 28.  There is a central blob.  Stephens, Paasi and Vaughan are either being pulled into it, or falling out of it.  They are all in the bottom left corner.  Further out are, top left, Whitby, top, Burns and Walmsley, bottom right is Wingfield, and bottom is Royle.

Thursday, 21 August 2025

Sword Fighting Films - The Prisoner of Zenda

This entry is a bit easier to write, because there are no bad versions of the Prisoner of Zenda. 

There is definitely a best version. 

The best version is the black and white 1937 version with Ronald Colman, Douglas Fairbanks jnr, Raymond Massey and David Niven. 

If, like me, your tastes tend sword-fight-wards, it's one of the greatest films you'll ever see. 

Why do I say this? 

1 - The way it adapts the book. It is such a good adaptation. It digs out all the best parts of the book and dispenses with most of the opening section which is … not good. 

2 - The lighting and set design. Everything looks so good. 

3 - The acting. Ronald Colman does such a good job as both Rudolf Rassendyll and Prince Rudolf. As Rassendyll, he is a good man but tempted, ever so tempted. He makes it believable that Rassendyll might turn on the Prince. (He's also good as the Prince who learns to be better. You believe he will become better for this.) 

You believe C. Aubrey Smith and David Niven when their characters say they know Rassendyll is a good man, probably better than the King, but that if he does betray the King, they will be the first people he has to kill. 

Raymond Massey's take on the line "God save the King" when a Rudolf turns up at the coronation is one of the funniest things you will ever hear. He's so marvellous as Black Michael. (He's Raymond Massey, he's always marvellous) 

And then you have Douglas Fairbanks jnr as Prince Rupert of Hentzau. He's just so perfectly charmingly villainous. There's a reason some part of you cheers when he escapes most consequences. When he leans against a doorway early on he is absolute smouldering desire. In a film with perfect casting, he is the most perfect. 

Prince Rupert can easily overwhelm a film but that's where Ronald Colman's ability to convey decency is so vital (in much the same way as James Cagney gets all the glory for Angels with Dirty Faces, but that film wouldn't work if Pat O'Brien couldn't do decency that well). It also has the best swordfight in Hollywood films (some people suggest the long fight in Scaramouche is better. These people are wrong.)

   

The Stewart Granger, James Mason, Robert Douglas and Robert Coote version from 1952 is often derided as being nothing but a colour remake, and it's true that it's not as good, although their Princess Flavia (Deborah Kerr) is stronger. 

There aren't as many other versions of this as there are of several other entries in this series. I'm not sure why. I think it's because it's harder to bend the story to other ways of telling it … although I do like that love makes the good people better and the bad people worse. It's very much set in a time, place and cultural setting. Which makes my choice of something different quite amusing. 

For my something different, I am going with a Doctor Who episode, the Androids of Tara which runs the plot straight into a Doctor Who episode, with added bonus android doubles. It takes that silly premise and runs with it.  

My favourite character is Lamia who is mostly original to the Doctor Who episode (she is the stand in for Antoinette de Mauban but gets more oomph and stuff to do) and I still don't quite forgive it for what they do to her but it does feature Peter Jeffrey as not-Rupert and he is marvellous avuncular evil, which sadly the trailer does not feature enough of. 

It also has the Fourth Doctor pointing out how ridiculous the whole thing is, and swordfighting, where they steal chunks of the Colman fight. 

Given the recent upswing in sword-fighting films, I live in hope we might get a new film for this as well.

Thursday, 14 August 2025

How I make those Gephi diagrams

Written for @shauna@social.coop on Mastodon 

Please don't read any further if you want to maintain the belief I know what I'm doing 

I was original entranced by this post - https://gephi.org/users/quick-start/ 

So I downloaded Gephi and then looked for some data to interrogate. Initially, I wanted to look at how the players at Euro 2012 were interconnected - https://fulltimesportsfan.wordpress.com/2012/06/08/finalised-diagram/ 

It's pretty much been the same process ever since, with some learnings that have been incorporated in the oh my goodness 13 years! 

Information source - I use the Wikipedia squad pages. 

This is why you'll occasionally see notes about "delayed because of" and a warning that the data is taken from Wikipedia so may not be accurate. The club team a player plays for is the one most likely to be wrong, especially for competitions that are between seasons. (The strange places I've ended up at on Wikipedia because of edit wars about which club someone plays for.) 

It is, to an extent, worse for the rugby union ones because players move at the end of the season, not the start of the next. 

Because I do the input (and the removals when teams are out) by hand, I go through the national teams starting with group A and move downwards. This is why, if there is a delay in the teams in group A naming their squads, it causes a huge knock on effect. (The time Italy delayed their squad announcement till ~ 7 pm on the night of the deadline for a game show caused significant cursing because they were the first team in group A and I couldn't start till they did.) 

The larger the event and the bigger the squads obviously, the longer it takes. If you can python (I can't, one day I will learn etc), James Ashford wrote a really nice post on how to do all of this with Python - https://james.ashford.phd/2023/08/25/analysing-the-2023-fifa-womens-world-cup-with-graph-theory/ 

Me, I manually add things into Gephi. Sometimes this means I notice things (like the number of Zambian players playing in the Kazakh Women's League, or that there is a Saudi Women's League - https://fulltimesportsfan.wordpress.com/2023/07/22/womens-world-cup-2023-group-stage-network-diagrams/

I use the player as the source and the national or club team as the target. I've experimented with using both directed and undirected links, and it doesn't make much of a difference. 

There are other layouts, but I like the way force atlas looks. (Force atlas works okay with this size data set. For significantly larger ones, Yifan Hu is easier) 

I start with the pre-set values, increasing the repulsion strength if the teams crash into each other. Screenshot of Gephi settings.  It starts with Force Atlas, with inertia set at 0.1, repulsion strength at 200, attraction strength at 10, maximum displacement at 10, the auto stabilise function ticket, and autostabilisation strength at 80. Screenshot of the bottom half of the Gephi settings, autostability sensibility is set at 0.2, gravity at 30, attraction distribution is not ticked, nor is adjust by size, and speed is at 1. 

I like to add each player individually, because one of the things I enjoy is seeing the shape and positions change with each addition, but I'm sure making more links at the same time would make it go quicker. 

For the colour and the size of the circles, I keep it really simple and stick to number of degrees. For size, I set minimum at 10 and maximum at 50. I find it's large enough to see the small changes with each player and clear enough when I've made a mistake and not attached a player to the right national team. Or the Wiki page is wrong and hasn't taken off the players that didn't make it to the final squad. Or France have decided to only pick 25 players when they could have picked 26 for who knows what reason. 

I also like it for the rugby union one (where there is unlimited replacements for squad injuries) because it creates a subtle gradation for each injured player. 

Colour is slightly more complicated. I like to try and use either the tournament colours or the colours of the host country flag but it's not possible to change the Gephi pre-sets (or at least not as far as I can find out) so sometimes I have to go with nearest to those. I know to not complain about free software but it's the reason I keep looking to see if there's a way to do something similar in R. 

I keep link width at 1. 

For closest to the centre, I use the zoom function, and the degree function to get the number of players. 

When teams get knocked out, I remove the players manually, hence why I try to keep the teams in order when I add them. Again, you get some fun shape and pattern changes that way.

Friday, 8 August 2025

Formula 1 2025 - Hungarian Grand Prix

Before I start with the wailing of all Ferrari fans, that was a good race. There was overtaking, and defending, and tyre strategy sneak. I approve. Particularly of Fernando Alonso single-handedly causing more frustration than 10 other men. 

Now, onto things I don't approve of, other than Nico Hulkenberg's bad luck and the on-going curse on the second Red Bull car, holy heck, Ferrari, please can you get your act together. Icon of a calendar surrounded by the words "It has been 5 days since we last made a driver cry" 

If it's not producing a car so impossible you've made a 7-time World Champion think he can't drive well, it's causing the other driver to have an outburst of "I told you so" at 210 km per hour. 

It's frustrating as fans, and I can't imagine how frustrating it is for the drivers. 

I hate my team sometimes. 

It's not the losing, it's the way of losing.

Saturday, 2 August 2025

Formula 1 2025 - Belgian Grand Prix

I can see why some people hate the rolling starts but Belgium, even more than many other circuits, is not somewhere where we want to risk people's safety. Andrew Benson's explanation on BBC radio was excellent. 

The rain break also led to some excellent BBC radio waffle. 

I liked FIA's way of avoiding the race finishing with a time out by saying it hadn't started properly.

Tsunoda not having Max's upgrades may suddenly explain his results, and the results of every number 2 driver in the Red Bull team. I was right to suspect the Red Bull garage worked like this:  

I do wonder if Piastri rewatched the video of Verstappen's overtake of him in the sprint race to figure out how to get past Norris, depending of course whether Norris had battery issues or not, and being on the wetter side of the grid.  

As these are supposed to be Ferrari-centric write-ups, I ought to say something about them, especially as one driver got a podium, and the other got driver of the day. It was an excellent defensive performance from Leclerc and an excellent aggressive drive from Hamilton. Could we maybe get them a decent car?!