This was one of the best days …

We are having the most wonderful experience. The countryside is so beautiful and since we left Basel, the path has been mostly away from roads. I never expected that the route could be even better than the Donau path. At least in its consistent beauty and peace. The path has been alternately along the “Rhone to Rhine canal” and the river Doubs.

Oh and a fun bit a day or two earlier was the little ferry in Basel

We did not know anything about the canal. Now we have found out that it has 112 locks. Of course we saw the locks and, following the canal from east to west, each lock raises the level. At least for the first stretch. Then we noticed that unexpectedly the levels were going down. Searching on google, we found that the canal is “an important watershed canal”, in other words it connects water that is heading for the Mediterranean with water due for the North Sea. It is a reminder of our previous trip where we followed the canal linking the Danube with the Main and then the Rhine. Only there it was a much bigger deal. There were lot of barges and the locks were massive. In the Rhone-Rhine canal there is hardly any traffic.

In Besancon they dug a tunnel for the canal through a mountain in a previous century, with a very narrow cycle path next to it. As it happened we were in the tunnel at the same time as a tourist boat, from which emanated scary sounds and ghost-like songs, as if ….hahaha.

Tonight we are on a campsite by a lake. Had a lovely swim and were subsequently told that they do not allow swimming anymore because of a polluting event in Besancon. We are still alive and had food in the campsite restaurant. Are still sitting there and are treated to a kareoke performance.

The first 4 days

Already 3 and a bit days cycling behind us. So, what have been the highlights?

First, the sinkholes. This is where you are meant to see the disappearance of (some of) the Danube water, knowing that this water will travel underground to join Lake Constance, i.e. joining the Rhine and ending in the North Sea instead of the Black Sea. That is a real sliding doors moment, which appeals to both of us. When we arrived at the sink holes, however, there was no water innocently awaiting its random fate, or for that matter, not Danube at all. Maybe there are sink holes upstream that, combined with the drought, explained this sad absence?

[picture]


We slept at a free municipal campsite in Tuttlingen. Only Graham did not sleep because of the rowdy noises uttered by some fellow campers who were there for the BMX bike convention.
Today, a major highlight was a town called Stein am Rhein

The first proper cycling day was curtailed by the forecast of thunderstorm. This arrived hours later than forecast, by which time we had decided it wasn’t going to happen and had made our way to the pizzeria at the local airfield. Very wet trip back to the campsite.

The storms were spectacular, going on until deep into the night. Uninterrupted thunder, lightning and torrential rain. It was so bad that Graham What’s Apped the children, to ask them to send a small boat. Needless to say that none was forthcoming.

Next day was also a short day, this time because due to shortage of campsites, it would be either a short or a very long day. Never mind, the campsite was lovely and we put up our tent right next to the Untersee, which is part of the Bodensee. (One of the quirks of language means that ‘See’ means ‘lake’) We even swam in it. Hmm.

Today we had a full day. We naively thought that the Rhine was the border between Germany and Switzerland but that is definitely not the case. There are major bits of Switzerland sticking into Germany north of the Rhine. And there are little islands of Germany injected into those bits of Switzerland. So cycling along the high Rhine is like drawing a line on a Dalmatian dog. Its all a bit of a laugh until you realise that
a) Switzerland is really expensive
b) We don’t have any Swiss francs
c) (despite what we have been told) cash machines in Switzerland do not dispense Euros
d) almost NOBODY takes card – they all want cash
e) we were hungry and thirsty

One of our major preoccupations was to find a cashpoint (in Germany) that dispensed Euros combined with a coffee shop (in Germany) that would sell use coffee and cakes.

Basically, we spent a large part of the day faffing about trying to find a Euro cashpoint

We had a cup of coffee, piece of cake and drink of apple juice for breakfast (in Germany) and then nothing else to eat until we arrived at the campsite more than 50 km later in the evening (in Germany) when we stocked up with salad, flammkuchen, pizza, beer and wine.

Good night!

Day 4 already?

Let me first go back to some of the items that were missed in the previous blog. Very much recommended is a town called Stein am Rhein, just inside Switserland. Very picturesque.

[Photo of Stein am Rhein}

The other item is Maigret. We tend to download audiobooks for long drives, and it tends to be Maigret. We are on the 4th book (yes, I know, we drive too much). This time, as mentioned before, our drive to Strasbourg was forced on us by Brexit bureaucracy. While this car trip should not have been necessary at all, it was not long enough to finish the book. So we started listening to it in the tent after dinner. How it panned out was: Graham listened, I fell asleep and Graham would explain to me the plot developments on the bike the following day.

Tant pis. C’est pas grave.

So, to day 4.


On the road again …

Covid punctured or plans for another bike trip. But now we are fully patched, pumped up, and ready to go.

We want an eco-friendly holiday by train and by bike. So why, I hear you ask, have you got your tandem in your car?

(I must not rant. I must not rant. I must not rant.)

“Oh, it’s because of Brexit”, he says cheerily. You can no longer take your bike with you on Eurostar (as we did last time and thousands of people did every year) because the bike is now regarded as unaccompanied luggage and falls foul of customs regulations.

https://www.eurostar.com/uk-en/travel-info/travel-planning/luggage/bikes

We discovered this as the last booking of our complex primary. All other options have a really unattractive combination of cost, risk and inconvenience. So our eco-holiday now involves an 1,000 mile round trip by car to Strasbourg where our journey continues by train to Intending on Germany.

Anyway, we made it and we are underway !!!

It was a long day of traveling, including a major section of rail replacement bus (due to rails on the track being replaced). But we made it in time to put up our tent and get to the campsite bar before it closed 🙂

Open Data Finder

In September and October 2019 over a 6 week period on a voluntary basis I created a prototype chatbot system for the Greater London Authority.

One of my objectives was to demonstrate my understanding of machine learning, Python programming and Pandas gained from the two Coursera course that I completed in the summer of 2019. The prototype also uses the open source Rasa chatbot framework and runs a Flask web server.

The  prototype implements a chatbot front-end linked to one or more government open data sources at the back-end. The chatbot gathers information from the user and then constructs a Pandas query to retrieve the required answer from the open data source. The business objective of the system is to enable users who are not data specialists to “get straight to the answer” of their question without needing to download, open and investigate a csv or Excel file.

The prototype will be used by the Greater London Authority to evaluate the chatbot approach against other solutions to the same business problem. A reference from the Senior Manager, City Data at the Greater London Authority is available on request. 

The project also provided me with an opportunity to create from scratch a chatbot using Python and Rasa, having already created a chatbot using JavaScript and the Microsoft LUIS natural language processing service for my Master’s Degree dissertation.The prototype is built with these technologies:

Rasa Chatbot framework 1.2.8
Python with venv virtual environment 3.6.8
Python requests HTTP requests library 2.22.0
Pandas Data analysis library 0.25.1
Flask Web server 1.1.1
jinja2 Web template engine 2.10.1

The overall system is made up of 4 servers. I commissioned all of these servers in a Windows 10 development environment and also on my own AWS Ubuntu 18 server.

1. Web Server: Flask and jinja2 on port 8080. Based on Rasa webchat FAQ project available under GNU licence (github.com/yogeshhk/GSTFAQChatbot)

To start the server in a Windows 10 venv development environment:

$env:FLASK_ENV = “development”

python -m flask run –host=0.0.0.0 –port=8080 –debugger

2. Rasa NLU and Rasa Core: standard installation with restaurant booking example template running on port 5005

To train and start the Rasa servers in a venv development environment:

rasa train

rasa run -m models –enable-api –cors ‘*’ –debug

3. Rasa Action Server for the custom actions (creating the Pandas query, extracting the response, and returning this to the user) running on port 5055

To start the server in a venv development environment:

rasa run actions –debug

4. Facebook Duckling server. The Duckling server is only used by the Rasa NLU server. This is run as a Docker Container (since the server is written in Haskell) running on port 8000