- Tuesday 30th April
Bought 2 more tickets for next Saturday's
rollover. Remembered to adjust next week's cron jobs so that they skip
Monday updates because of the UK holiday.
- Monday 29th April
Uploaded the results for
The automatic draw day announcements on the next draw's individual page
will no longer have "Lottery #<next draw>" linked because that was
actually to a link to itself ! The link will remain on the home page version of
course because that links to a different page from there. At the same time,
I linked to the next draw's page in the post-draw auto-announcement
placed on the virtual lottery home page.
Phoned up Camelot about
scratchcard info and duly adjusted the
appropriate page. Fixed the lottery links pages by just re-running the
code, now that our internal network isn't quite so sick.
- Saturday 27th April
Despite the internal network chaos, the pages correctly updated at 8.06pm and
again (with a £20m forecast) at 10.33pm. Pretty good considering I didn't
think there'd be any updates at all this weekend. What did go wrong were the
lottery links pages, which basically fell over and ended up with blank pages
due to NFS trouble.
- Friday 26th April
Definitely a candidate for "worst network day of the year" this one. One of
the network switches in the Computer Science
department had been intermittently faulty
recently and today it decided it wasn't playing ball at all. It refused to pass
on network traffic and, despite engineers being called out, nothing was
satisfactorily resolved, so the day was pretty well a write-off.
This impacted anything to do with lottery processing of course (which heavily
relies on departmental NFS filestore being available), meaning the InterLotto
results update failed (not that I could see what was going on, because
all my prompts had hung with NFS errors). I couldn't even rlogin to the
Connect server to check if it was communicating with the outside world OK !
- Thursday 25th April
I ran my internal link checker and it picked up a misplaced link in next week's
InterLotto individual page that I duly fixed.
I now no longer generate GIFs for the drawn
balls or the frequency charts except on a Saturday, Sunday or Monday (UK
lottery) or on a Friday (InterLotto). This should stop unnecessary generation
on other days, which is distracting when restoring the pages from the
SyQuest drive (it has to screen dump 10 GIFs which really get in the way
on my display).
Now that the Prizes column is narrower, I've finally been able to put a
Range column onto the various
trivia analysis pages, which indicates the
difference between the lowest and highest numbers drawn each week. Yes,
utterly pointless if you ask me, but then that's why it belongs on the trivia
analysis page !
The money-grabbing VeriSign didn't e-mail us
the renewed secure mode certificate, so it's now expired and we'll be
chasing this one up quickly. You've got to wonder why you have to pay
annually for the certificate, but they only issue it for a 6-month period
at a time, leading to two sets of panic if we don't get the certificate on
time, rather than a single annual frenzy. Anyway, I've now got conditional HTML
(via a "SECURE" variable) that will switch certain text to avoid mentioning
secure mode if we haven't got it working (er, like now) - this mainly affects
the virtual lottery of course.
- Wednesday 24th April
I was accidentally including the latest ticket sales figure into the combined
sales calculations prior to the scratchcard sales info being released on a
Wednesday. This skewed the
combined sales figures, particularly
the "Reverse Combined Sales Order" column, the total sales figure and the
average sales figure. From now on, "N/A" in a row truly means that no figure
for that week will be used any calculations or sales column.
Changed all InterLotto home page links to point to a special
page which allows InterLotto to track who's jumping from
my pages to theirs (it redirects to the normal InterLotto home page of
course). Updated the latest
scratchcard sales and
Lucky Dip sales figures - for the
first time, I was recognised by voice on the phone by someone at
I've adjusted the Wins and Prizes columns in the
trivia analysis pages to reflect a prior history
(i.e. between lottery #1 and #(line-1)), which matches what I auto-report
in each individual lottery page. It makes more sense that way because
the old way of listing the entire (past, present, future) history of each
jackpot ticket meant that the figures were constantly changing as newer draws
emerged, rather than reflecting the success of each ticket at the time it
- Tuesday 23rd April
Fixed some minor problems with the
auto-update system (it sometimes thought
that it had results from WWW sites when it hadn't yet...and hence would refuse
to re-scan them when it should). I've shifted the second e-mail request on a
Saturday evening back one minute to 8.02pm, just to separate it from the 8.00pm
request (both requests have been returning with the same teletext e-mail for
several weeks now).
- Monday 22nd April
Uploaded the results for
Lottery #75. Adjusted the
TV show FAQ to mention Bob Monkhouse as the
current main presenter instead. I've
banned a couple of users in the emc.com
domain for entering the
virtual lottery using two e-mail addresses each.
Their entries were also removed prior to the virtual lottery draw.
Added guaranteed jackpot code back into InterLotto page generation
and also fixed some problems with the InterLotto results file updating
(not writing out the fields correctly during auto-updates).
The "bhs" software that I use to generate these pages (it's
also used throughout the
MerseyWorld pages) has been
"misbehaving" over recent weeks (not expanding the macros or setting ownerships
of generated HTML correctly, leading to somewhat incomprehensible pages full
of macros !), so I tackled it over the weekend. I've added a
lot more checks and coded things much more conservatively, which will hopefully
avoid future problems (or at least generate warnings when things go wrong !).
One trivia point for devoted readers to these pages - I have now written
300K of C source code to maintain them ! That's probably more C code than
that used for all the other lottery pages on the Internet combined :-)
- Saturday 20th April
The first mail request was too fast for the draw, so the first update was at
8.36pm instead. A small bug in the fallback code for WWW sites meant that
a couple of sites weren't re-scanned every 5 minutes (at least until 8.35pm
anyway) like they should have been. An exact jackpot amount appeared on the
pages from 9.17pm onwards.
- Friday 19th April
I installed the latest version of weblint which now thankfully no longer
complains about empty table elements (i.e. <TD></TD>), which
is perfectly legal HTML of course [and present in my tables].
I removed a somewhat pointless <UL> indent on the
Lucky Dip page and also added another "go away"
index.html page [have you found those yet ? :-) ] to plug the final gap in the
All of this meant that "weblint -d heading-order -x netscape,java"
is now completely silent for all of my lottery pages, which is probably the
first time they've been syntactically "perfect" (OK, I don't agree with
weblint complaining about the heading order, so I disabled that one :-) ).
I also passed the software and pages through lint, gcc and spell -b, which
cleared up a few minor oversights.
- Wednesday 17th April
scratchcard sales and the
Lucky Dip sales figures.
- Tuesday 16th April
I made some adjustments to the Notes at the bottom of the various sales
pages to avoid redundancy. For example, the
Lucky Dip sales Notes don't mention
Super Draws any more because there aren't any on that page (but if we
do have them in the future, the Notes will switch to mentioning them).
If the jackpot pool estimate on a Saturday evening is less than £6.5m
(all jackpot prizes won by a single ticket - or not won at all - have been
greater than this), then the update code now displays "Jackpot prize" instead
of "Jackpot pool" because it's likely ITV teletext will have mistakenly put the
individual jackpot prize rather than the pool on their sub-pages if the figure
is that low (they did this during Saturday 6th April :-( ).
- Monday 15th April
Uploaded the results for
Lottery #74 and fixed the Netscape Commerce
Server problem (see Saturday). Found out that, like
scratchcard sales, the figures for the
Lucky Dip sales aren't available until
Wednesday, so I've adjusted the code for the appropriate sales pages to
- Sunday 14th April
The exact jackpot amount was updated at 9.06am. Still frustrated by Saturday's
server problem though so no-one was seeing these updates :-( "I need an
Internet connection at home," he screamed in a very loud voice.
- Saturday 13th April
At 12.51am, the Netscape Commerce Server handling port 80 (i.e. normal http)
just seemed to hang, refusing requests. The
secure port 443 (https) was OK
though, but how many people would work out that they could use that ?
Very few I bet !
What's so disappointing about this is that the update went well (8.06pm) and
the 6 other UK lottery WWW sites (including Might BU, who brag about "real-time
updates") didn't have an update by then, so I would have been the first site
on the Internet to have the results.
- Friday 12th April
It's really weird that Camelot's phone line doesn't give out unclaimed prize
info on individual draws, but it does keep a record of how many tickets
were bought for each draw using the new Lucky Dip facility. I've got the
figures for these now and have duly added a new
page for them [only needed a bit of
tweaking to existing sales page code] and also added them to the appropriate
individual lottery pages.
In a similar vein, I subtracted the Lucky Dip figures from the ticket sales
for a draw to obtain a manual sales figure, which subsequently also got its
own page (now that's what I call
code re-use !).
- Wednesday 10th April
The network connection returned at 8.04am (missing for 16 hours :-( ).
I was going back through the
virtual lottery entry logs and noticed some
anon.penet.fi entries which had slipped through the net (I'd disallowed
penet.fi, but let through anon.penet.fi :-( ). I've duly tightened the
banned users domains and adjusted the
rules to explicitly prohibit anonymous e-mail
addresses for virtual lottery entries.
I'm sorry if people disagree with this, but
anonymous e-mail addresses counter my argument about making e-mail addresses
of winners public [the spread of e-mail addresses lends credence to the
virtual lottery and suggests that it's not being fiddled, whereas anonymous
e-mail implies the opposite].
I've further tweaked the config file for auto-grabbing WWW pages from other
as a backup if the teletext mail doesn't come though. Basically, some sites
are [predictably] changing the format from time-to-time when they update
their page just after a draw. This one's definitely a moving target, but I've
pinned down all but Might BU now (they seem to change the format of the
text line that announces the results from week to week !). Added the latest
scratchcard sales info to the lottery
results data file and re-generated the appropriate pages.
- Tuesday 9th April
Uploaded the results for
Lottery #73. I was fed up with the crummy old
frequency charts, so I extended the lottery ball GIF generating program to also
dump GIFs of frequency charts both in ordered and unordered format. This
resulted in an infinitely superior set of bar charts with solid bars, horizontal
alignment, colour-coding based on the frequency, larger dimensions but
actually smaller file sizes for the GIFs (the horizontal alignment probably
helped the most to reduce this).
Added percentage changes to the various
ticket sales pages and also added those
percentage rises or falls to each individual lottery page. Added an average
frequency line in the middle of frequency-sorted tables so that you can
see at a glance which numbers are below the average frequency. I've put a
sentence in individual rollover pages to indicate that amount that was
rolled over into the jackpot prize pool from the previous lottery.
At 3.52pm, we lost our SuperJANET network link to the outside world - it
wasn't a fault with Connect, Computer Science or even the Computing Services
Department who supply the link from the University into SuperJANET, but
appeared to be a problem with SuperJANET itself.
- Sunday 7th April
ITV teletext corrected yesterday's "mistake" and reverted to displaying the
jackpot prize pool (rather than the individual prize) on their sub-pages.
My updates duly corrected this figure at 9.07am.
- Saturday 6th April
The first update was at 8.07pm (only 3 minutes after the draw) much to my
relief because I didn't expect the teletext mail server to be available over
the Easter weekend. Maybe it was Easter madness, but ITV teletext page 123
decided to put the individual jackpot prize at the top of their
sub-pages. They'd always put the jackpot prize pool at the top previously,
so my auto-update code referred to the £4.2m prize as the pool, which
was incorrect of course.
- Thursday 4th April
Completed the addition of machine names to the InterLotto results data file.
This means that individual InterLotto lottery pages and the
further draw details page now
have machine name info (Hansel and Gretel would you believe it ! What about
the witch then ? :-) ). I got home this evening only to realise that I'd
left the draw day (Friday) announcement code still active for InterLotto's
pages...bad news because it would give the impression that there was a draw
on Good Friday, when in fact the next draw is on 12th April :-(
- Wednesday 3rd April
Did the usual round of spell-checking (two minor mistakes fixed), gcc/lint
checking (another 2 small fixes), weblinting (removed extraneous /body and
/html tags from the access stats page) and internal link
checking. You'd be surprised how many WWW sites (99% I bet) don't do any of
the above ! Added last week's
scratchcard sales figure to the pages.
I've moved the
auto-update info page into the
background info directory and changed its headers/footers to
blend in with the other pages in that tree. I've done a similar thing with
the InterLotto version, though both
moves meant plenty of link changes to other pages.
- Tuesday 2nd April
Bought a third and fourth ticket (the latter for the first time of course)
for the rollover draw next Saturday. Fixed minor bug that didn't affect
anything really - the auto-update system was trying to create a page for the
"next lottery" once it had provisional results of the draw that had just taken
place (e.g. last Saturday it tried to create a page for Lottery #73).
It doesn't try to do that any more because that only appears when I upload
the results during the next working day.
I've added links to the prize amounts in the top 10 "most prizes won" table
on the best performing tickets page,
which display a CGI-generated complete history of each ticket. In
the course of doing this, I discovered that the InterLotto version had
integer-truncated prize amounts, which I duly fixed. There's now an Average
column on the individual prizes page, which
indicates the average prize for each lottery. As well as saying "1 in X tickets
won a prize" on each individual lottery page, I also display the percentage
of players that won too (it's 100/X% as you can probably guess).
I've expanded the second table on each individual lottery page to include
a total and average row for the balls, frequencies and last appearances.
The table on the individual page for Lottery #1
now no longer has the "draws since last appeared" columns, since this would
be "never" throughout. I've also added an "Either" to the "draws since last
appeared" columns (indicating last appearance as either a main or bonus
number). Finally, I changed the lines of equals in the both individual page
tables to be a horizontal rule right across the page instead.
- Monday 1st April
Uploaded the results for
Lottery #72. It's April Fool's Day, perhaps an
appropriate time to mark the start of the first full working week in our
new Connect accommodation.
Yes, I can now phone Camelot from my work desk at
long last, rather than having to go 50 yards down the corridor to make a call !
Fixed a bug with the sorting of frequency indices when creating a C integer
array as part of a header file. I was using a swap flag when I shouldn't have
done, leading to scrambled eggs for the InterLotto frequencies :-(
Fixed a bug with the link for the previous lottery on the
home page - when the draw day announcements appeared
inbetween the winning numbers and that previous lottery link, it altered the
draw number variable so when I subtracted one to get the previous lottery,
the "previous lottery" became the current one on Saturday until the first
provisional results came in :-( I now save the first draw number mentioned
(the one associated with the displayed winning numbers) and then subtract one
from that saved value to get the draw number for the previous lottery link.
Added a new top 10 "most prizes won" section to the
best performing tickets page. This is
similar to the page I deleted a few months ago. It appears that weekly
scratchcard sales aren't confirmed until Wednesday, so I added extra code
to the sales page to display N/A where
appropriate and also to calculate total and average sales excluding any week
with no scratchcard sales figures.