Steven's Homepage

Virtual Environment for Python

— venv, pip and requirements.txt

Python Libraries

— list of frequently used libraries

Walrus Operator

— an example of Assignment Expressions

Weekly Challenge 319

— Word Count and Minimum Common

Weekly Challenge 313 Task 1

— Improving Reverse Letters memory efficiency

all articles...

Internet Radio

Internet Radio Playlist
https://sohoradiomusic.doughunt.co.uk:8010/320mp3
http://listen.freeformportland.org:8000/stream
http://stream-relay-geo.ntslive.net/stream
http://stream-relay-geo.ntslive.net/stream2
https://doyouworld.out.airtime.pro/doyouworld_a
http://worldwidefm.out.airtime.pro:8000/worldwidefm_a
http://stream0.wfmu.org/freeform-high.aac
http://stream0.wfmu.org/freeform-128k
http://anonradio.net:8000/anonradio
https://azuracast.tilderadio.org/radio/8000/320k.ogg
https://radio.hackers.town:8000/
http://wkcr.streamguys1.com:80/live
https://a.files.bbci.co.uk/media/live/manifesto/audio/simulcast/hls/uk/sbr_high/ak/bbc_6music.m3u8
download
    

Schedules

Personal Workout Schedule
+------------+-------------------------------------------------------------+
|   Day      |                        Activity                             |
+------------+-------------------------------------------------------------+
| Monday     | Upper Body Push Focus                                       |
|            | - Barbell Bench Press          4x8-10                       |
|            | - Overhead Press               3x8-10                       |
|            | - EZ Bar Front Raise           3x12                         |
|            | - Dumbbell Kickbacks           3x12-15                      |
|            | - Chin Tucks                   3x10                         |
|            | Optional 3-5 mile Easy Run                                  |
+------------+-------------------------------------------------------------+
| Tuesday    | Upper Body Pull Focus                                       |
|            | - Barbell Bent-over Rows        4x8-10                      |
|            | - EZ Bar Curl                   3x12                        |
|            | - Dumbbell One-arm Row          3x10/side                   |
|            | - EZ Bar Reverse Curl           3x12                        |
|            | - Dumbbell Shrugs               3x15                        |
|            | - Chin Tucks                    3x10                        |
|            | Optional 3-4 mile Easy Run                                  |
+------------+-------------------------------------------------------------+
| Wednesday  | Speed/Tempo Run (3-5 miles)                                 |
|            | 1 mile easy → 1-2 miles tempo → 1 mile easy                 |
|            | Chin Tucks 3x10                                             |
+------------+-------------------------------------------------------------+
| Thursday   | Lower Body Lift                                             |
|            | - Barbell/Goblet Squats        4x8                          |
|            | - Romanian Deadlifts           4x10                         |
|            | - Band Glute Bridges           3x15                         |
|            | - Dumbbell Lunges              3x10/side                    |
|            | - Neck Isometrics              2x15                         |
+------------+-------------------------------------------------------------+
| Friday     | Rest / Mobility / Neck Work                                 |
|            | Chin Tucks / Neck Isometrics (Optional)                     |
+------------+-------------------------------------------------------------+
| Saturday   | Full Body Lift                                              |
|            | - Barbell Deadlifts              4x6                        |
|            | - Dumbbell Floor/Incline Press   4x8                        |
|            | - EZ Bar Upright Rows            3x10                       |
|            | - Band OH Triceps Ext (optional) 3x15                       |
|            | - Goblet Squats                  3x10                       |
|            | - Chin Tucks                     3x10                       |
|            | Medium Long Run (5-8 miles)                                 |
+------------+-------------------------------------------------------------+
| Sunday     | Optional 3-4 mile Easy Run                                  |
|            | Chin Tucks 3x10                                             |
+------------+-------------------------------------------------------------+

Weekly Mileage Goals

Week 1: 12-15 miles
Week 2: 16-18 miles
Week 3: 18-22 miles
Week 4: Cut back to 12-14 miles (recovery week)

Then build up again if you're feeling good.
Biathlon Schedules

2025-2026 Biathlon IBU World Cup

+------------------+------------+---------+-------------------------------+
| Venue            | Date       | GMT     | Discipline                    |
+------------------+------------+---------+-------------------------------+
| Östersund        | 29 Nov 2025| 12:15   | Relay Women 4 x 6 km          |
| Sweden           | 29 Nov 2025| 15:55   | Relay Men 4 x 7.5 km          |
|                  | 30 Nov 2025| 13:00   | Single Mixed Relay            |
|                  | 30 Nov 2025| 15:40   | Team Mixed Relay              |
|                  | 02 Dec 2025| 14:30   | Individual Women 15 km        |
|                  | 03 Dec 2025| 14:30   | Individual Men 20 km          |
|                  | 05 Dec 2025| 15:00   | Sprint Women 7.5 km           |
|                  | 06 Dec 2025| 15:30   | Sprint Men 10 km              |
|                  | 07 Dec 2025| 12:15   | Pursuit Women 10 km           |
|                  | 07 Dec 2025| 14:15   | Pursuit Men 12.5 km           |
+------------------+------------+---------+-------------------------------+
| Hochfilzen       | 12 Dec 2025| 10:25   | Sprint Men 10 km              |
| Austria          | 12 Dec 2025| 13:15   | Sprint Women 7.5 km           |
|                  | 13 Dec 2025| 11:00   | Pursuit Men 12.5 km           |
|                  | 13 Dec 2025| 13:15   | Relay Women 4 x 6 km          |
|                  | 14 Dec 2025| 11:00   | Relay Men 4 x 7.5 km          |
|                  | 14 Dec 2025| 13:45   | Pursuit Women 10 km           |
+------------------+------------+---------+-------------------------------+
| Le Grand Bornand | 18 Dec 2025| 13:15   | Sprint Women 7.5 km           |
| France           | 19 Dec 2025| 13:15   | Sprint Men 10 km              |
|                  | 20 Dec 2025| 11:15   | Pursuit Women 10 km           |
|                  | 20 Dec 2025| 13:45   | Pursuit Men 12.5 km           |
|                  | 21 Dec 2025| 11:15   | Mass Start Women 12.5 km      |
|                  | 21 Dec 2025| 13:45   | Mass Start Men 15 km          |
+------------------+------------+---------+-------------------------------+
| Oberhof          | 08 Jan 2026| 13:10   | Sprint Men 10 km              |
| Germany          | 09 Jan 2026| 13:25   | Sprint Women 7.5 km           |
|                  | 10 Jan 2026| 11:00   | Pursuit Men 12.5 km           |
|                  | 10 Jan 2026| 13:25   | Relay Women 4 x 6 km          |
|                  | 11 Jan 2026| 10:00   | Relay Men 4 x 7.5 km          |
|                  | 11 Jan 2026| 13:30   | Pursuit Women 10 km           |
+------------------+------------+---------+-------------------------------+
| Ruhpolding       | 14 Jan 2026| 13:30   | Relay Women 4 x 6 km          |
| Germany          | 15 Jan 2026| 13:30   | Relay Men 4 x 7.5 km          |
|                  | 16 Jan 2026| 13:30   | Sprint Women 7.5 km           |
|                  | 17 Jan 2026| 13:30   | Sprint Men 10 km              |
|                  | 18 Jan 2026| 11:30   | Pursuit Women 10 km           |
|                  | 18 Jan 2026| 14:00   | Pursuit Men 12.5 km           |
+------------------+------------+---------+-------------------------------+
| Nove Mesto       | 22 Jan 2026| 17:15   | Individual Men Short 15 km    |
| Czech Republic   | 23 Jan 2026| 17:15   | Individual Women Short 12.5 km|
|                  | 24 Jan 2026| 12:15   | Single Mixed Relay            |
|                  | 24 Jan 2026| 14:15   | Team Mixed Relay              |
|                  | 25 Jan 2026| 14:15   | Mass Start Men 15 km          |
|                  | 25 Jan 2026| 17:15   | Mass Start Women 12.5 km      |
+------------------+------------+---------+-------------------------------+
| Antholz (Olympic)| 08 Feb 2026| 13:05   | Team Mixed Relay              |
| Italy            | 10 Feb 2026| 12:30   | Individual Men 20 km          |
|                  | 11 Feb 2026| 13:15   | Individual Women 15 km        |
|                  | 13 Feb 2026| 13:00   | Sprint Men 10 km              |
|                  | 14 Feb 2026| 13:00   | Sprint Women 7.5 km           |
|                  | 15 Feb 2026| 10:15   | Pursuit Men 12.5 km           |
|                  | 15 Feb 2026| 13:45   | Pursuit Women 10 km           |
|                  | 17 Feb 2026| 13:30   | Relay Men 4 x 7.5 km          |
|                  | 18 Feb 2026| 13:45   | Relay Women 4 x 6 km          |
|                  | 20 Feb 2026| 13:15   | Mass Start Men 15 km          |
|                  | 21 Feb 2026| 13:15   | Mass Start Women 12.5 km      |
+------------------+------------+---------+-------------------------------+
| Kontiolahti      | 05 Mar 2026| 16:05   | Individual Women 15 km        |
| Finland          | 06 Mar 2026| 16:10   | Individual Men 20 km          |
|                  | 07 Mar 2026| 12:40   | Mass Start Women 12.5 km      |
|                  | 07 Mar 2026| 14:40   | Relay Men 4 x 7.5 km          |
|                  | 08 Mar 2026| 12:30   | Relay Women 4 x 6 km          |
|                  | 08 Mar 2026| 15:55   | Mass Start Men 15 km          |
+------------------+------------+---------+-------------------------------+
| Otepää           | 12 Mar 2026| 14:15   | Sprint Men 10 km              |
| Estonia          | 13 Mar 2026| 14:15   | Sprint Women 7.5 km           |
|                  | 14 Mar 2026| 12:30   | Pursuit Men 12.5 km           |
|                  | 14 Mar 2026| 15:00   | Pursuit Women 10 km           |
|                  | 15 Mar 2026| 11:35   | Single Mixed Relay            |
|                  | 15 Mar 2026| 13:40   | Team Mixed Relay              |
+------------------+------------+---------+-------------------------------+
| Oslo             | 19 Mar 2026| 15:15   | Sprint Women 7.5 km           |
| Norway           | 20 Mar 2026| 15:15   | Sprint Men 10 km              |
|                  | 21 Mar 2026| 12:45   | Pursuit Women 10 km           |
|                  | 21 Mar 2026| 15:15   | Pursuit Men 12.5 km           |
|                  | 22 Mar 2026| 12:45   | Mass Start Women 12.5 km      |
|                  | 22 Mar 2026| 15:45   | Mass Start Men 15 km          |
+------------------+------------+---------+-------------------------------+
F1 Schedule
LANG=utf-8
2025 Formula 1 Race Calendar (Times are estimated based on past seasons)

Mar 16  4:00AM GMT  Australian Grand Prix, Albert Park Circuit, Melbourne, Australia
Mar 23  7:00AM GMT  Chinese Grand Prix, Shanghai International Circuit, Shanghai, China
Apr 06  6:00AM BST  Japanese Grand Prix, Suzuka Circuit, Suzuka, Japan
Apr 13  3:00PM BST  Bahrain Grand Prix, Bahrain International Circuit, Sakhir, Bahrain
Apr 20  6:00PM BST  Saudi Arabian Grand Prix, Jeddah Corniche Circuit, Jeddah, Saudi Arabia
May 04  9:00PM BST  Miami Grand Prix, Miami International Autodrome, Miami, USA
May 18  2:00PM BST  Emilia-Romagna Grand Prix, Imola Circuit, Imola, Italy
May 25  2:00PM BST  Monaco Grand Prix, Circuit de Monaco, Monte Carlo, Monaco
Jun 01  2:00PM BST  Spanish Grand Prix, Circuit de Barcelona-Catalunya, Montmeló, Spain
Jun 15  7:00PM BST  Canadian Grand Prix, Circuit Gilles Villeneuve, Montreal, Canada
Jun 29  2:00PM BST  Austrian Grand Prix, Red Bull Ring, Spielberg, Austria
Jul 06  3:00PM BST  British Grand Prix, Silverstone Circuit, Silverstone, United Kingdom
Jul 27  2:00PM BST  Belgian Grand Prix, Circuit de Spa-Francorchamps, Stavelot, Belgium
Aug 03  2:00PM BST  Hungarian Grand Prix, Hungaroring, Budapest, Hungary
Aug 31  2:00PM BST  Dutch Grand Prix, Circuit Zandvoort, Zandvoort, Netherlands
Sep 07  2:00PM BST  Italian Grand Prix, Monza Circuit, Monza, Italy
Sep 21  12:00PM BST Azerbaijan Grand Prix, Baku City Circuit, Baku, Azerbaijan
Oct 05  1:00PM BST  Singapore Grand Prix, Marina Bay Street Circuit, Singapore
Oct 19  8:00PM BST  United States Grand Prix, Circuit of the Americas, Austin, USA
Oct 26  8:00PM GMT  Mexican Grand Prix, Autódromo Hermanos Rodríguez, Mexico City, Mexico
Nov 09  5:00PM GMT  São Paulo Grand Prix, Interlagos Circuit, São Paulo, Brazil
Nov 23  4:00AM GMT  Las Vegas Grand Prix, Las Vegas Strip Circuit, Las Vegas, USA
Nov 30  4:00PM GMT  Qatar Grand Prix, Lusail International Circuit, Lusail, Qatar
Dec 07  1:00PM GMT  Abu Dhabi Grand Prix, Yas Marina Circuit, Abu Dhabi, UAE

    
2025 Formula 1 Sprint Race Calendar (Times are estimated based on past seasons)

Mar 22  3:00AM GMT  Chinese Grand Prix Sprint, Shanghai International Circuit, Shanghai, China
May 03  5:00PM BST  Miami Grand Prix Sprint, Miami International Autodrome, Miami, USA
Jul 26  11:00AM BST Belgian Grand Prix Sprint, Circuit de Spa-Francorchamps, Stavelot, Belgium
Oct 18  6:00PM BST  United States Grand Prix Sprint, Circuit of the Americas, Austin, USA
Nov 08  2:00PM GMT  São Paulo Grand Prix Sprint, Interlagos Circuit, São Paulo, Brazil
Nov 29  2:00PM GMT  Qatar Grand Prix Sprint, Lusail International Circuit, Lusail, Qatar
    
Sumo Basho Schedule
First day       Final day       Sumo Basho                Venue
2025-11-09      2025-11-23      KYUSHU BASHO              Fukuoka Kokusai Center

2026-01-11      2026-01-25      NEW YEAR BASHO            Ryogoku Kokugikan
2026-03-08      2026-03-22      SPRING BASHO              Osaka Prefectural Gymnasium
2026-05-10      2026-05-24      SUMMER BASHO              Ryogoku Kokugikan
2026-06-13      2026-06-14      PARIS SUMO EXHIBITION     Accor Arena (Paris)
2026-07-12      2026-07-26      NAGOYA BASHO              IG Arena
2026-09-13      2026-09-27      AUTUMN BASHO              Ryogoku Kokugikan
2026-11-08      2026-11-22      KYUSHU BASHO              Fukuoka Kokusai Center

2027-01-10      2027-01-24      NEW YEAR BASHO            Ryogoku Kokugikan
2027-03-14      2027-03-28      SPRING BASHO              EDION Arena Osaka
2027-05-09      2027-05-23      SUMMER BASHO              Ryogoku Kokugikan
2027-07-11      2027-07-25      NAGOYA BASHO              IG Arena
2027-09-12      2027-09-26      AUTUMN BASHO              Ryogoku Kokugikan
2027-11-14      2027-11-28      KYUSHU BASHO              Fukuoka Kokusai Center
        

Search