-

Tate Britain

Some images taken on a visit to London’s Tate Britain.











And when we were not in the gallery…





And what about this then!

No comments on Tate Britain -

Sutton 2-0 Doncaster

Sutton 2-0 Doncaster
What a match! After 10 minutes I was convinced Sutton would get stuffed as they were made to look poor by the sharp passing of the visitors. It was goal-less at half-time and the visitors started the second half sharply. But minutes into the half Sutton scored and more or less wrapped up the game with a well taken breakaway with 5 minutes of normal time remaining. The applause from the home supporters was deafening. What a terrific game of football.

-

Sutton 2-1 Swindon

Sutton 2-1 Swindon
A poor first half for Sutton produced a goal for the visitors. An improved second half lead to two goals for Sutton, both scored in the last 5 minutes, resulting in an unexpected turnaround and result. The visitors felt that their goalkeeper had been fouled for Sutton’s first goal, but the ref disagreed. A bit of luck for Sutton, there!
It was good to be at an evening game again.

-

My next two long walks

My next two long walks
With the Solent Way out of the way it’s time to prepare another challenge. As with previous long walks I will do them in stages, using public transport wherever possible to get to/from the starting/end points. I try to keep stages to be between 8 and 12 miles.
The first walk will be from Salisbury to Winchester using the Clarendon Way (26 miles) followed by Winchester to Farnham using the St Swithun’s Way (34 miles).
I found the guides, below, to help me on my way:
The Clarendon Way
The Clarendon Way – 26 miles
(Salisbury to Winchester)A 24 mile walk joining the two Wessex cities of Salisbury and Winchester. The Clarendon Way crosses the Test Valley between Kings Somborne and Houghton. It starts near the Avon at Salisbury Cathedral and ends beside the waters of the Itchen in the heart of Winchester.

Possible timings (3 stages)
Stage 1 (7 miles) Leave home (9:20) then 9:42 from station to CJ (10:07), then 10:27 to Salisbury (11:43) leaving 4 hours to do the walk and possibly visit the pub
- Walk Salisbury to Middle Winterslow (7 mile mark).
The Lord Nelson Arms looks worth a visit though the timing might not be right. Closed Monday/Tuesday, food from 12pm to 1:30 (closes 2pm) - From Middle Winterslow take bus 88 to Salisbury at 15:43 arriving 16:10. See https://passenger-line-assets.s3.eu-west-1.amazonaws.com/salisburyreds/SWWD/87-timetable-20221114-4c527fec.pdf
Stage 2 (7+3 miles) Leave home (8:20) then 8:42 from station to CJ (9:07), then 9:27 to Salisbury (10:43)
- Take Salisbury bus 88 at 11:35 arriving Middle Winterslow (7 mile mark) at 12:03.
See https://passenger-line-assets.s3.eu-west-1.amazonaws.com/salisburyreds/SWWD/87-timetable-20221114-4c527fec.pdf leaving 4+ hours to do the walk (10 miles) - Walk Middle Winterslow to Houghton (14 mile mark).
The Boot Inn looks worth a visit though the timing is almost certainly not right. Closed Mondays, food from 12pm - Walk 3 miles to Stockbridge to pick up bus 7 to Winchester at 16:23 arriving 17:06. BUT ONLY on Sparsholt College days! See https://tiscon-maps-stagecoachbus.s3.amazonaws.com/Timetables/South/Winchester/WI7__03-09-23.pdf
Stage 3 (12 miles) Leave home (9:20) then 9:42 from station to CJ (10:07), then 10:27 to Basingstoke (11:06) then 11:11 to Winchester (11:26)
- Winchester (bus 16) 12:15 to Houghton (14 mile mark) arrive 13:03.
See https://tiscon-maps-stagecoachbus.s3.amazonaws.com/Timetables/South/Winchester/Winchester%20Route%2016_16-04-23_V1.pdf) - Walk 12 miles to Winchester (26 mile mark).
St Swithun’s Way
St Swithun’s Way – 34 miles
(Winchester to Farnham)St Swithun’s Way runs between Winchester and Farnham. Unable to follow the original route, as much of this is now the A31, St Swithun’s Way follows some of the county’s best countryside paths. Starting at Winchester Cathedral, the route passes through the Itchen Valley. It then continues northeast passing the towns of Alresford and Alton, as well as Chawton, the home of Jane Austen. Following the path of the River Wey, the route reaches Farnham in Surrey and continues to Canterbury.


https://shop.hants.gov.uk/products/st-swithun-s-way-guides-winchester-to-alton-and-alton-to-farnham - Walk Salisbury to Middle Winterslow (7 mile mark).
-

Sutton 0-0 Stevenage

-

15 books read in January!

15 books read in January!

-

My not-first Fortran code

Back in 2021, for a challenge, I taught myself part of the Python programming language and wrote a program based on the idea of a Fortran program I wrote decades ago. Now, for another challenge, I’ve written the same program – in Fortran! I had to dig out a free compiler from the Internet (Fortran 90). Things have developed and changed since I was a programmer and I have had to learn new things in the language. Back then I think I used Fortran 66 and Fortran 77.
It’s been fun coding in Fortran, again! For the record, I downloaded and used a free product Code::Blocks, which I’ve found to be successful. I also found this YouTube video to explain configuring of Code::Blocks for Fortran.
! =================================================================== ! Program REMINDER ! ! Decades ago I wrote a FORTRAN program to take a file of reminders ! and to display the records in a sorted and pretty format. ! In March 2021, for fun, I wrote a Python version of the program. ! Now, in January 2023, for fun, I have again written a FORTRAN version. ! ! Version 0.1 20-Jan-2023 Start of conversion of the Python code ! Version 1.0 29-Jan-2023 Final version.....? ! ! =================================================================== program Reminder use ReminderModule ! All the functions/subroutines are in this module. implicit none type (rec_data) ReminderTable(100) character myfile*100 integer Nreminders myFile = "C:\Users\Mike\Documents\Documents\MyFortranCode\MyReminderProject\Reminder.dat" call GetReminderData(myFile,ReminderTable,Nreminders) call SortList (ReminderTable,Nreminders) call PrintList(ReminderTable,Nreminders) end program Reminder ! !========================================================== ! Module REMINDERMODULE containing all the functions and subroutines. !========================================================== module ReminderModule ! implicit none type rec_data !Structure to hold the reminder records character*11 rec_date !reminder date character*50 rec_event !reminder event integer rec_numdays !Calculate days between date and today's date end type rec_data contains !============================================================ !Subroutine GETREMINDERDATA to get the reminder records !Records are of the form dd-mmm-yyyy,"Event description" and are unordered !============================================================ subroutine GetReminderData(filename,ReminderTable,N) implicit none integer mystatus,N,ans,ans_today character filename*(*), mystatusmessage*200,mydate*11,mytext*50,today*8 character monthchar*3,months*36 integer d,m,y type (rec_data) ReminderTable(*) data months/"JANFEBMARAPRMAYJUNJULAUGSEPOCTNOVDEC"/ open (unit=1,file=filename,action='read', & form='formatted',iostat=mystatus,iomsg=mystatusmessage) if (myStatus /= 0) then write (*,'(///2a)') "OOPS! ", mystatusmessage stop endif ! ! Calculate the number of days between today and a base date ! call date_and_time(date=today) ! Inbuilt procedure read(unit=today,fmt='(i4,i2,i2)')y,m,d ! This used to be done using an ENCODE statement! call getDays(d,m,y,ans_today) !Get the number of days between today and a base date ! ! Get the reminder records ! N = 0 do read (unit=1,fmt=*,iostat=mystatus,iomsg=mystatusmessage)mydate,mytext if (mystatus /= 0) then exit else N=N+1 ReminderTable(N)%rec_date = mydate ReminderTable(N)%rec_event = mytext read (unit=mydate,fmt='(i2,1x,a3,1x,i4)')d,monthchar,y ! Get the date components m = index(months,uppercase(monthchar))/3+1 ! Lookup the month number using the month text call getDays(d,m,y,ans) !Get the number of days between the date and a base date ReminderTable(N)%rec_numdays = ans - ans_today !Number of days between date and today's date end if end do close (unit=1) end subroutine !============================================================ ! Subroutine GETDAYS to calculate the number of days between ! the supplied date and an arbitrary base date (01/01/2000) !============================================================ subroutine getDays( day,month,year ,ans) implicit none integer ans,i,daysPerMonth(1:12),daysPerMonthLeapYear(1:12) integer day,month,year data daysPerMonth / 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 / data daysPerMonthLeapYear / 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 / ans=0 do i = 2000, year-1 ! Add up the days in the preceding years of the supplied date ans=ans +365 if (isLeap(i)) ans=ans + 1 end do ! do i =1,month-1,1 ! Add up the days in the preceding months in the year of the supplied date if (isLeap(year)) then ans = ans + daysPerMonthLeapYear(i) else ans=ans + daysPerMonth(i) end if end do ! ans = ans + day - 1 ! Finally add in the number of days (less 1) of the month of the supplied date ! end subroutine getdays!============================================================= ! Function ISLEAP to determine if a year is a leap year !============================================================= logical function isLeap(Y) ! integer Y ! ! A leap year is divisible by 400 or, is divisible by 4 but not by 100 ! isLeap = (mod(Y,400) .EQ. 0) .OR. (mod(Y,4) .EQ. 0 .AND. mod(Y,100) .NE. 0) end function isleap ! !============================================================= ! Subroutine SORTLIST to sort the data in date order. !============================================================= subroutine SortList (ReminderTable,N) type (rec_data) :: ReminderTable(*),temp integer :: N,i,j logical :: Swapped DO j = N-1, 1, -1 swapped = .FALSE. DO i = 1, j IF (ReminderTable(i)%rec_numdays > ReminderTable(i+1)%rec_numdays) THEN temp = ReminderTable(i) ReminderTable(i) = ReminderTable(i+1) ReminderTable(i+1) = temp swapped = .TRUE. END IF END DO IF (.NOT. swapped) EXIT END DO end subroutine ! !============================================================= ! Function UPPERCASE to convert text to upper case. !============================================================= function uppercase(string) character(len=*), intent(in) :: string character(len=len(string)) :: uppercase integer :: j do j = 1,len(string) if(string(j:j) >= "a" .and. string(j:j) <= "z") then uppercase(j:j) = achar(iachar(string(j:j)) - 32) else uppercase(j:j) = string(j:j) end if end do end function uppercase ! !==================================================== ! Function PRINTLIST to nicely print the data !==================================================== subroutine PrintList (ReminderTable,N) type (rec_data) :: ReminderTable(*) integer :: N, nDays, i logical :: tChange character*16 t1 character*75,parameter :: mySectionSeparator="---------------------------------------------------" tChange = .TRUE. write (*,'(/////)') write (*,'(2x,a)')mySectionSeparator write (*,'(2x,a)')" Welcome to my FORTRAN Reminder program!" write (*,'(2x,a)')mySectionSeparator do i = 1, N nDays = ReminderTable(i)%rec_numdays if (tChange .eqv. .TRUE. .and. nDays > 0) then tChange = .False. write (*,'(2x,a)') mySectionSeparator end if if (nDays == 0) then t1 = " Today " else if (nDays == -1) then t1 = " Yesterday " else if (nDays == 1) then t1 = " Tomorrow " else if (nDays < 0) then write(unit=t1,fmt='(i4,a)')-ndays," days since" !In my days it was the ENCODE statement else write(unit=t1,fmt='(i4,a)')ndays," days until" end if write (*,'(2x,a,1x,a,1x,a,a)')ReminderTable(i)%rec_date,t1,ReminderTable(i)%rec_event end do write (*,'(2x,a///)')mySectionSeparator end subroutine end moduleAnd the output is….

-

Emsworth station, bus-replacement service

Emsworth station bus-replacement service
If you ever find yourself at Emsworth train station and there is a bus-replacement service, here is a map of where to catch the bus. Don’t make the mistakes that I made of either expecting it to leave from the station or from the bus stops just outside the station. I waited outside the station – no bus came. I waited at the bus stop just outside the station on the main road – no bus came. Interestingly a man in one of the houses by the bus stop came out to point out that on several occasions he had told people that the bus replacement service didn’t leave from the bus stop! He told me where he thought they left from – he was quite correct though I actually ended up catching a local bus service from the town centre.
See also www.nationalrail.co.uk/posters/EMS.pdf for related maps and information.

-

Solent Way (part 8) Hilsea to Emsworth

It was an eventful final section of the Solent Way that I walked on a sunny but sub-zero, January day. Starting at Hilsea and ending at Emsworth, the walk is supposed to be just 8 miles, but my 12.4 miles also included the stretch from Hilsea train station to the actual Solent Way path as well as extra miles caused by some unexpected backtracking (see below).
From what I saw of Emsworth I would hope to return to explore what looked to be an attractive, small town. Lots of small pubs and independent shops, a bookshop, a Victorian cafe on platform 2 of the station (charming), and a large harbour which I’m sure would be more interesting when the tide is in.
An eventful day had began with a fallen tree blocking part of my route, threatening a cancellation of the whole day. Fortunately, using my wonderful phone app, I found an alternative route. Whilst on the walk, flooding had swept away part of the Solent Way, requiring some backtracking and rerouting across fields leading to lots of mud as well as a face-off with cattle (one with horns) blocking my way. I couldn’t face more backtracking so by making a lot of noise I managed to create sufficient space to be able to dash past the now rear-facing cattle. Phew.

To top it all, my return journey home began with a train bus-replacement service from Emsworth station. It didn’t turn up, neither did the next one 30 minutes later. I was almost certain that I was waiting in the wrong place – it clearly wasn’t the station.
In the end I found a bus stop where I could pick up a local bus service, though not the rail replacement. The rest of the journey happily went to plan.
What a day to finish off the Solent Way, long-distance path. Now I need another challenge…..













The 60 (actually 71!) miles of the Solent Way
- Walk 1: Milford on Sea ⇒ Lymington (9 miles) (✓ 4th July 2019)
- Walk 2: Lymington ⇒ Beaulieu (10 miles) (✓ 4th May 2022)
- Walk 3: Beaulieu ⇒ Hythe (6 miles) (✓ 10th May 2022)
- Walk 4: Hythe ⇒ Hamble (10 miles) (✓ 27th May 2022)
- Walk 5: Hamble/Warsash ⇒ Lee On Solent (7 miles) (✓ 7th July 2022)
- Walk 6: Lee on Solent ⇒ Portsmouth (7 miles) (✓ 15th July 2022)
- Walk 7: Portsmouth ⇒ Hilsea (10 miles) (✓ 12th November 2022)
- Walk 8: Hilsea ⇒ Emsworth (12.4 miles) (✓ 21st January 2023)
-

2022 recommended books

My favourite books of 2022
2022 was a good year for books, both in terms of number read (95) and in the pleasure given.
Below are the 18 fiction and 15 non-fiction that I gave the highly recommended award, with the best of the best highlighted in bold.

The 18 fiction delights
- About the Author – John Colapinto [Accidently re-purchased 8 years after I first read it! As good the second time around. A book about a book, it’s a clever psychological thriller.]
- The Last Thing to Burn – Will Dean [Extremely tense abduction tale. Terrific.]
- Those Who Walk Away – Patricia Highsmith [Wife commits suicide and father challenges husband in psychological thriller set in Venice. Absolutely brilliant.]
- Under Your Skin – Sabine Durrant [TV presenter finds a body whilst running and becomes a suspect. Superior whodunnit.]
- The Gravediggers’ Bread – Frédéric Dard [An undertaker, his unhappy wife and an opportunist. Fabulous, little tale.]
- Bird in a Cage – Frédéric Dard [Man returns to his home town and meets a mysterious woman. Another short, 1950s, French, suspense novel.]
- The Executioner Weeps – Frédéric Dard [An artist, a violin and a car accident. A French love story and thriller. Another fine, short tale by FD.]
- Crush – Frédéric Dard [17-year-old Louise escapes her dull life and moves in with an American couple. A short, 1950s, French, suspense novel.]
- The King of Fools – Frédéric Dard [A mere 160 pages, a delightful 1950s tale of obsession from a prolific, French writer. ]
- The House Uptown – Melissa Ginsburg [Carefully woven tale of an artist and granddaughter and the past.]
- My Phantoms – Gwendoline Riley [A wonderful tale of an appalling father and a dreadful mother.]
- Seasonal Work – Laura Lippman [Superb collection of short stories.]
- How to Measure a Cow – Margaret Forster [Woman with a past tries to move on. Superb.]
- Heaven My Home – Attica Locke [Superb tale about race and a missing child in rural Texas.]
- The Standing Chandelier – Lionel Shriver [A mere 120 pages but a hilarious tale of male/female friendship.]
- My Policeman – Bethan Roberts [Fabulous love story set in 1950’s Brighton.]
- Idaho – Emily Ruskovich [Superb tale of family and tragedy set in rural America.]
- The System – Ryan Gattis [Superb tale about the American justice system as experienced by all of those involved.]
and the 15 non-fiction delights
- Licence to be Bad – Jonathan Aldred [Terrific critique of “How Economics Corrupted Us”. Will need to re-read to do it justice.]
- Outraged – Ashley ‘Dotty’ Charles [Internet outrage – why we shouldn’t.]
- Why the Germans Do It Better – John Kampfner [20th/21st century history, politics, people.]
- Wayfinding – Michael Bond [“The Art and Science of How We Find and Lose Our Way!” Brilliant.]
- Dancing with the Octopus – Debora Harding [An assault, a horrible mother and how a daughter copes. Brilliant.]
- The Moth and the Mountain – Ed Caesar [“A true story of love, war and Everest”. A fascinating, well-written read.]
- Another Day in the Death of America – Gary Young [In America, ten violent deaths of children on the same day. Shocking. ]
- The Life of an MP – Jess Phillips [Superb and honest account of what it’s like to be an MP.]
- Four Thousand Weeks – Oliver Burkeman [“Time Management for Mortals”. Superb.]
- In the Wars – Dr Waheed Arian [Inspirational bio of an Afghan refugee who fought to become an eminent doctor.]
- The Weather Machine – Andrew Blum [The global weather forecasting system. Fascinating.]
- In Control – Jane Monkton Smith [“Dangerous Relationships and How They End in Murder”. A brilliant study. A must-read.]
- Batavia’s Graveyard – Mike Dash [17th century, Dutch shipping disaster and mutiny off coast of Australia. Brilliant.]
- And Away… – Bob Mortimer [Bob’s wonderful and funny autobiography.]
- Working on the Edge – Spike Walker [Crab fishing off Alaska. Fabulous tales of the dangers and of the fishermen.]



