Category: website

2021 updates

This year I made it so that when you guess, it no longer reloads the same page but a specific page that simply says whether or not your update was successful and then offers a link back to the homepage so that a player can then see their guess in the table (as I assumed they’d want to), but I’m still getting the behaviour where a player is saying yes to reposting their form data and as a result the same guess is being entered multiple times in quick succession. A good design will stop this happening and I thought the bodge job that I’d done would be enough – after all, why would you want to refresh the page that only says your guess change was successful!? Anyway another rethink is required; I’ll have to do something clever like throw out an error if you are trying to change your guess to what it already is…

I haven’t had the time to dedicate to tweaking the website as much as I’d want but I’m well on the way to eliminating the ‘table-headers-at-the-bottom’ lunacy that was a direct result of imitating the design of the F1 digital graphics that I have mentioned previously. Hopefully that process is one I will complete in the next few days and then I’ll be able to move on to a better version of the which-items-have-appeared-on-what-days table that I’ve been planning for a while. I started this last week and found that it’s not as simple as I thought it would be so I’m scratching my head a bit, but with a bit of time I should be able to figure it out!

A player has entered this year with not their real name and this is as good a moment as any to remind players that if they want something similar then they can get in touch and their display name will be amended accordingly. I’m reluctant to give free choice (I know enough people that will choose either something rude or something akin to Boaty McBoatface to rule that option out) but I’m sure between us we can find something agreeable. It’s actually got me thinking about whether the default of full name is actually needed – if, for example, the all time top three were listed as Simon R, Mark C and Antony B I don’t think the competition would lose anything. I’m going to ponder this one and report back, and thoughts are welcome as ever!

A couple of players have pointed out on social media that there are twenty-five items to choose from and they are correct! This means that at least one day has more than one item behind its window, and I don’t think I’m giving too much away when I state this.

I got the Facebook and Twitter links working again and reverted them back to the “post everything” mode that they existed in when they were first created. In the interim the rate limiting of the third party services that I used meant that I had they had been restricted to only updates about window opening and points scoring, and after a couple of days it became clear to me that that had been a good thing so I have deliberately limited it myself now. Please continue to subscribe on Twitter and Facebook to get the important updates placed directly into your feeds (where their algorithms think best)!

Not long left to get your first guesses in on time, and remember a late start carries a penalty so don’t be late! Good luck everyone 🙂

2021 Competition – coming soon!

We are a couple of weeks away from the competition getting underway for its 19th incarnation so I’ve logged on and started to make the preparations as necessary. This starts with the mundane (e.g. renaming the Facebook and Twitter pages from 2020 to 2021) and progresses to mild code changes with plenty of stuff inbetween.

Logging on here to write this post caused lots of problems with my browser trying to redirect to a secure (https) connection that didn’t exist and whilst this might (or might not) be my local settings being a bit aggressive, if it’s happening to me, it’ll probably happen to others too. I didn’t want this so have acquired a certificate and it’s associated padlock and so the browser errors won’t now happen – but I’ll have to test the website still works fully before the launch so add that to the list of jobs to do in the next 10 or so days!

That’s just one of a few fiddly jobs that will culminate with me taking a couple of hours to manually email out everyone’s login details for this year, so whilst I’m getting on with these tasks over the coming days here is a peak at the items that are found in this year’s calendar, in alphabetical order of course. Get strategising now!

angel
bauble
candy cane
cracker
deer
doll
elf
gift
holly
igloo
lantern
mince pie
moon
penguin
pudding
santa
skis
snowflake
snowman
spinning top
star
stocking
teddy
tree
wreath

2020 launch

Around now I have normally sent all the players their details for this year and am starting to see guesses trickle in but this year real life has prevented me from doing this so far. I will definitely have them out by the end of the day tomorrow though so if you played last year expect to hear from me by then! If you didn’t play last year and want to, get in touch now!

As a small preview, here are the items the calendar threw out this year, in alphabetical order. Those so inclined can start planning their strategies now!

5 days to go
angel
bauble
bell
cracker
donkey
elf
gift
gingerbread man
holly
penguin
pudding
reindeer
robin
santa
sleigh
snowflake
snowman
star
stocking
teddy
tree
wreath

I’ll be in touch very soon. Looking forward to this year!

Last quarter

We are now three-quarters of the way through this year’s Advent Calendar Challenge – yet again we have Santa appearing for the first time before day 24. A quick glance reveals that 2014 was the last time Santa made it’s first appearance on Christmas Eve. The downside is no-one scored today, but that was kinda predictable! I didn’t make the calendar so it’s obviously out of my control!

A quick note on the matters raised in the previous post. On dummy/red-herring answers, I will think about this before the 2020 challenge further, maybe with some thinking-out-loud analysis: watch this space! On the other matter, on whether to hide guesses after day 18 or not, I have a compromise. The compromise was partially inspired when I was asked by a competitor privately if I would hide guesses or not. I replied I intended to leave things as they were (i.e. hidden after window 18) and that I would make the announcement in this blog post today. The competitor pointed out that I had just given them a possible advantage in that they could now take a copy of everyone’s guesses, knowing what was about to come. It got me thinking – whilst it’s a slight advantage only because everyone could take such a copy at any time, there’s a half-way approach between the two I asked you to choose between in the last post, and it is that approach that I have settled on.

So from now on*, guesses made after the opening of window 18 will be hidden. Guesses made before that point will not be. Trial basis, and we’ll see how it goes.

Six days left. Good luck everyone!

-* it’s not been implemented properly – the official rules pdf is pending update, and the censorship still applies on individual profile pages. Those will be fixed tomorrow!

2019 update, and the history and future of the code that was broken

So the good news is I think it’s all back working. It’s hard I can’t be bothered to test fully without simulating a whole competition – I ask for everyone’s patience and to report anything weird to me so it be fixed immediately! The items in the drop-down list on the guess form ARE the items that appear in the year’s calendar, so you may start strategising now! Guesses will open in a few days, unless you want to go ahead and guess your new PIN 🙂

The various website systems being broken wasn’t a problem that wouldn’t have occurred back in the first running of competition – sixteen years ago (another one of those “wow, I feel old” moments) in 2003. The story is told on the 2003 page and goes something like this – I had a Boohbah Advent Calendar, bought for me by me, as I remember¹. I cannot think how that escalated into a competition to guess the pictures but evidently it did – I do however remember how it was run. The thirteen players comprised me, my eight closest neighbours at uni, a girlâ„¢, two of my family and randomly, a friends mum².

And it was a very manual process that year – those that lived in my block at uni could just tell me, and I would otherwise take guesses by phone and by email. I would manually update the website each day and them inform each player if they had scored. I would request guesses rather than leave them in place. I would update everyone on how it was going rather than just leave the onus on the players. I couldn’t last and it was the only year which operated this way. By 2004 the code that still largely (albeit tweaked) runs the website today was written, and I haven’t looked back since.

I was going to write about how the 2003 running panned out, but I’ll leave that for another time. The fact that the code remains largely that I wrote 15 years ago frustrates me a bit, but as I have previously written here – motivating myself to rewrite the code out-of-season is a bit of a push when it comes to motivating, and once it is the season I am using the site so feel less inclined to play with it. The solution is developing a new site alongside with a copy of all the data, obviously. I’ll try.

The site look remains that of my website at the time – which is essentially aping the F1 Digital service’s onscreen graphics (the service existed from 1996-2002 in various countries around the world, but only 2002 in the UK. These graphics existed towards the end of its life). Blues and yellows and greys – in fact here are a few screen grabs I’ve cobbled together from YouTube. Look familiar?

Screengrabs from F1 Digital in 2002 – lovingly known at the time as “Bernievision”

I’m slowly letting go of these but I want to let them go completely. I envisage a more Christmassy coloured site, but more importantly than the colour scheme I want to get away from the things it’s locking in. The “messages from competition control” for example. I am 100% convinced that I could show data items currently shown here in a better way, for example. I also want to overhaul the stats pages a bit and not having a “graphics template” to work to will, I hope, allow me greater freedoms.

Maybe next year then? We’ll see…

¹ I didn’t even know what a Boohbah was then, and frankly couldn’t explain very well if you asked me now! But that wasn’t important…
² A theme that went on to be repeated in future years, though for some reason they never seem to last!

2019

I recently moved house and that’s been a bit of a focus of late – it was only earlier this afternoon that I got to thinking how it was only a week to go and I should do the necessary behind-the-scenes bits to get the website into 2019 mode.

An aside – 20 November being “a week to go” is a statistic I’m interested in testing. Using the date of the first database entry each year, we get an idea of the launch date each year!

(data only exists from 2006 onwards)

Had to do a couple of tweaks to make the database query work – one year the competition carried on into the new year because of reasons, and other years robots click buttons in random months and record things in the database. But there we have it, and displayed another way:

Data correct as at 20 November 2019

In short, my assertion today that I am a week away seems to be bang on – 27 November is by far the most popular date for me to launch, and last year’s 28 was in the early hours making it reasonably likely I sent those emails late the day before too! I’m also interested to see that I have started the whole thing as early as EIGHT days away a couple of times – that just seems crazy to me now!

On to news about this year’s competition now and it isn’t great (for me at least) this year. This website’s host has upgraded its servers and as a result the code that powers the ACC is COMPLETELY broken. It’ll probably take a week to get going, and even then it may well be a bit of a bodge job just to get the basic functionality back without necessarily doing it well. That complete rewrite is needed more than ever!

But anyway let this be my pledge, in this election season, that in the next week I’ll devote my time to this whenever I can and the 2019 Advent Calendar Challenge will launch, on time, on 27 November. Possibly the 28th. Heck, even if the website can’t be made to work, I reckon we can work something more manual out…

Data, and some expected news

Expected news first: I haven’t found time to even start re-writing the site, so the creaky cobbled together version that has been in use since forever will be needed again – I’ll complete some tests to ensure it all still works in the next few days, ahead of a launch sometime in the last week of the month. I have also found to time to acquire the Advent Calendar and I now know what objects will be appearing this year. I might do a post to “unveil” them as if they were celebrities on a reality TV show over the weekend!

Here in the EU (technically still correct) a thing called GDPR came into effect in the last 12 months. I am not a data protection expert by any means but I hope I am sensitive to it. A friend for whom GDPR caused a considerable amount of work advises that I am all good and compliant here so that’s great, but it has got me thinking about what data I hold on all the players and if there are any issues as a result.

So all players willingly gave me their details in order to play – that’s important. I’ve never sent emails to non players, and if a player ignores their “welcome email” one year then they don’t receive another until they themselves ask to play again. I’m happy with this system especially as it is entirely manual – there’s no chance of this website sending rogue emails. At all.

Email addresses aren’t even stored in the website database – they are all in my Gmail contacts book. So yeah, in theory a breach at Google could cause problems, but I’d say that that problem wouldn’t be mine. But I think I could possibly do better with what data I do storeL I’ll explain. Here’s a snapshot of what I have for each player:

The two id numbers are assigned by the site for administrative reasons so don’t represent any meaningful personal data. Forename and surname though do, and it has always been a policy to change these upon request – hence why, for example, “Lord Byron” was a player last year. I’ve debated changing to online handles but I like the names thing – if you prefer your real names not to be used then get in touch and we can come up with a suitable alias!

Gender is stored and is essentially binary (the field stores either F, M or X) – its only use is for the news feed to determine whether  player has changed his/her/their guess. I think this is unnecessary data (albeit arguably harmless) to have stored and will remove that before the competition starts. Nationality is an odd one and dates back to the first couple of instances of the competition where the website, aping F1 on-screen graphics, displayed a player’s nationality. That’s all it did. Unless you played on those first few competitions the data held against you in that field will be blank in any case. Will definitely be removed for this year.

The final bit of data in the database is star-sign data for each player – this has long been the basis for a “teams championship” and I guess is somewhat traditional now. I really don’t know where I stand on this data – it would help narrow down a players date of birth to within a month but not any particular year. It absolutely does represent personal data and arguably data I don’t need too, but (based on the fact that it has to have been volunteered willingly) it’s data I think I can argue I need and I am happy to keep it. Obviously I can and will delete it on request – the site already handles the data not being present and so there’s no major dramas here.

The last thing I have a silly 200×200 profile picture for competitors, stored off database in a folder on the web server. These were brought in to make player profile pages a bit less intimidatingly statty, but otherwise serve no real purpose. They aren’t present for every player and are several years old for some. Ashamedly I think I acquired them without consent in many cases so I think I know what needs to be done here. They’ll be removed before the start of the competition this year.

If you have any opinions or worries regarding the data I have on you and how I use it, please do get in touch. 16 days to go!

2 months to go

There are two months to go until the first window of the 2018 Advent Calendar Challenge Advent Calendar is opened, and time to update you on things, I guess!

First up: if you have recently browsed into the homepage for any reason in this off-season you might have noticed a mild redesign – I started with the intention of trying to closely match the template this blog uses but it wasn’t as straight forward as it seemed… long-term I want to make it a bit more Christmassy looking – there is no mental template but I assume at this stage it’ll be purples and greens and reds and whites but we’ll see!

So anyway I got to the stage where I had mimicked the blog template slightly and this is what you see now, but then reason two for wanting a redesign came up – the code is not well written (it’s essentially the same code as I wrote for it in 2004 that has over the years had things bolted on as the need to came up). A ground-up rewrite is the order of the day I think, and so that is the task I will endeavour to undertake between now and the end of November. It’s been 15 years in the making though, so I wouldn’t hold your breath, but in the interests of progress I’ve taken a copy of the database for testing purposes. I’ll keep you informed!

The occasional hiccup

In what was an Advent Calendar Challenge first yesterday, I completely forgot to open the advent calendar before the end of the day. I say “first” – there have been other times when I’ve failed to open the window in time but that was emergency surgery related back in 2009, and, luckily, just before the end of the competition so it was reasonably easy to sort out.

I am currently on a whirlwind tour of my home county visiting various friends and family members for a sort-of early Christmas and yesterday was one of the busier days. My challenge obligations totally passed me by and it wasn’t until I woke in the night that I found a message from Andrew Chilcraft (regular player and 2013 champion) enquiring as to the status of the competition that I was able to rectify my mistake. I only partially did so – I failed to add the item to the list of opened windows which meant that the current standings table retained the position changes from the day before. Luckily, no-one scored on day 17 so the effects weren’t too pronounced…

The regulations state that the competition is automatically suspended if the window isn’t opened on time, but luckily it is not until the suspension has lasted 24 hours that special arrangements for the restart have to be made – I just about got away with it this time, but I realise this is probably not something I should repeat too often. My sincere apologies for this foul up – I won’t do it again!

Today’s window will be opened before the end of the day. On time. Like it’s meant to be. Let’s crack on!

Honours Board

Something that has been missing through the ages (annoyingly so) is a go-to list of every Advent Calendar Challenge champion, so my task for the past couple of days has been to make one. I am pleased to announce it has now been launched and can be found here.

When I set out to make it I envisaged something akin to an honours board in a sports club – a list of years and winners. I was going to expand that to have winning team and best “rookie” alongside it too, so it would have been a simple row-with-three-names structure – but along the way things changed a bit. First off I decided it would be nice to make use of the profile pictures I hold for some players (click a player’s name to see them for anyone. If you want yours added, removed or updated then let me know!) so I decided to work those in. This immediately caused a more 2D approach to be taken, with the huge year number you see on the final version and names listed vertically within each year.

Secondly there has been one year where there was a three-way tie for the win as all three leading points scorers had exactly the same scoring days throughout so there was no way to separate them. I needed a way to be able to list multiple winners in this case so the ability to stretch vertically was necessary for this too. In the end I settled on the top three for each year, as top threes are often acknowledged in competition anyway.

(As an aside, I’ve always been annoyed that unbreakable ties are possible but at work today I came up with a way to finally break them that isn’t arbitrary. I’ll be making use of Article 2b of the official regulations and going back to do just that in due course…)

The other hurdle I encountered was that whilst players have a unique ID number that the website uses to track and reference them throughout, the teams championship system was a bit more rough and ready so I had to build and implement that almost in full for the “Honours Board” script to work properly. This was complicated only slightly more by the fact that the teams championship basis has changed a few times since its inception and I don’t hold data in the back-end of the website for who was in what team for the older iterations of it. It’s easily reconstructed from the static html tables on the history pages, however, should I desire to do that for the future (I could, however, retrospectively work out who’d win the starsign championship all the way back to the start, if I wanted…). The honours board script in any event doesn’t add up the scores for every year manually every time, there’s a separate database table with final points and finishing positions stored in it so a simple lookup rather than lots of maths is all that is required.

So in the end after a few niggly bits of coding we end up with rather a simple page – huge year number, and a picture of the individual winner (or, for now, one of them at random where there was a tie) and the year’s top three, best rookie and winning team. Where the individual, team or debutante score record was broken that year, that is shown too (WR, TR or RB) along with a small label if that person or team was winning for more than the first time.

Recent Posts

Categories

GiottoPress by Enrique Chavez