Despite having lived in Düsseldorf for many years, yesterday was the my first visit to Garath. It is a district of contrasts: high-rise residential buildings in one street, single-family homes surrounded by gardens in the next. It also has several examples of brutalist architecture, the reason for my visit.
I had been using Outlook to subscribe to RSS feeds for many years. Mostly because I like to have my email and news in one place with the ability to add them to my Outlook to-do list for follow-up.
Over time, however, I noticed that one feed after the other stopped updating. Even feeds from Microsoft sites such as TechNet and MSDN which I had assumed simply had to be compatible with Microsoft’s own RSS reader. Trying to remove and then re-add them gave the following error:
I eventually found out that all feeds that no longer updated had been switched from HTTP to HTTPS, which seems to be unsupported by Outlook.
This support document describes the scenarios in which Outlook supports authenticated RSS feeds. Basically, support is extremely limited. Normally, HTTPS is not supported and the workaround using Internet Explorer’s Common Feed List did not work for me.
Initially, Internet Explorer would download the RSS feed and they would show up as unread items in Outlook, but after the initial download I wouldn’t get any new items in Outlook, even though they did show up in Internet Explorer.
Searching online for a solution did not turn up anything. Either people described workarounds that did not work for me, or recommended simply abandoning Outlook in favor of some other feed reader.
So I implemented my own solution and wrote a very simple proxy server that runs a local web server via HTTP that fetches the requested feed via HTTPS from the original source. By configuring Outlook to use this proxy, I now receive updates for feeds in Outlook even when the source uses HTTPS.
This RSS-via-HTTP Proxy runs as a service in the background. Its source code and some instructions on how to configure it are available on GitHub.
Even though Düsseldorf’s docks have long been eclipsed by the much larger ones in nearby Neuss, there are a few spots where there are still active factories and you get a feel for what this area must have been like in busier days.
Nonetheless, there are countless reminders that these busier days are long gone. Many buildings have been abandoned and trashed like this one.
They are bordered by a “buffer zone”: empty lots where there used to be something and and new construction, adding to the already large number of beautiful new office buildings.
Buildings with inspiring names like SIGN!, DOCK and Capricorn (the Association of Architects has a flyer listing them all; PDF in German).
This neighboring part of Derendorf used to be home to factories of defense contractor Rheinmetall, but has recently been revitalized with office and residential buildings. While there was a lot of new construction, in many cases the old buildings have been integrated into the modern architecture.
Some buildings are quite unique such as this one decorated with antlers.
My love of hiking and old cities was the reason I travelled to Heidelberg two years ago. And while Heidelberg’s old city is beautiful, it has nothing on Rothenburg ob der Tauber; this year’s getaway after a busy Maskerade week.
After climbing 220 steps to the top of the town hall tower I got this beautiful view as the sun rose over the city.
Same location from two different perspectives: looking down from the top of the town hall tower into the Tauber valley in the morning…
…and looking up from the valley to the city later in the day.
One can only imagine what farmers must have felt like looking up to the imposing city on the hill as the came up from their farms in the valley.
The city building code is very strict about preserving its medieval atmosphere, so even modern brands use old-timey signage to fit in.
My favorite spot in the city: the quiet garden behind the old monastery.
Last year, I was reading up on Bitcoin, blockchain and beyond. Since then, there have been several interesting developments in distributed ledger technology (DLT).
For one, R3, which I thought then and still think today shows a lot of promise, has released the code for Corda, its distributed ledger project. They also published a non-technical whitepaper as an introduction and two webinar videos: Introduction to Corda and Corda Developers’ Tutorial. There is alos this excellent non-technical 18 second definition of DLT by Richard Gendal Brown, CTO of R3.
Hyperledger isn’t a distributed ledger, per se, but contains multiple DLT projects, e.g. Fabric, which is backed by IBM. While you can run Hyperledger Fabric on your own machines, IBM also gives developers an opportunity to play with the technology in their cloud Bluemix.
Unlike Corda, which was built from the ground up for the financial services industry, finance is only one of the industries Hyperledger is targeting. There are, however, a number of projects underway in the financial services that use Hyperledger, as their proof of concept tracker shows.
One of those projects was undertaken by Germany’s central bank Deutsche Bundesbank and the country’s largest exchange operator Deutsche Börse. A November 2016 speech by Carl-Ludwig Thiele, member of the executive board of Deutsche Bundesbank contained mostly questions about the new technology. His speech from January 2017 already presented a prototype to handle simple settlement, payment and corporate actions.
There are a number of interesting projects underway to apply distributed ledger technology to finance.
Still, a lot of questions to be addressed regarding distributed ledger technology, as this position paper by SWIFT and Accenture from last year points out.
The Germany IT industry association Bitkom looks at some of these, e.g. legal ramifications of distributed ledger technology in banking (in German).
It is interesting to see though that regulators and central banks are already actively involved even though distributed ledger technology is still in its infancy in the financial services industry.
I have worked quite a bit with applications using UDP/multicast messaging recently. And I’ve run into a few issues along the way, such as multicast messages not being received on a Windows Fail-over Cluster.
So by now I have a solid checklist of things to configure on our servers and ensure in our applications that consume multicast messages to make sure everything runs smoothly and message loss is kept at acceptable levels. Yet, on our latest Windows Server 2012 R2 machines I had applications experiencing serious datagram loss as the amount of network traffic (in general, not just multicast) on the machine increased increased.
I researched the problem online and got the tips you’d expect: get latest NIC drivers, increase NIC receive buffer sizes, turn on offloads, turn on receive-side scaling, fine-tune receive-side scaling, increase socket buffer sizes etc. Of course, I had already tried all those things, and none of them had worked.
Solution: Exempting multicast traffic from Base Filtering Engine
Eventually I found this support document: Datagram loss when you run a multicast receiver application in Windows 8 and in Windows Server 2012. The problem description matched perfectly with what I was seeing on our server. Unfortunately, the document describes an issue in Windows Server 2012 and the hotfix available there cannot be installed on Windows Server 2012 R2. Fortunately, it doesn’t have to be. You can just set the registry key and the Base Filtering Engine supports it out of the box.
New-ItemProperty HKLM:\System\CurrentControlSet\services\Tcpip\Parameters\ -Name UdpExemptPortRange -Value "XXXX-YYYY" -PropertyType MultiString -Force
I haven’t found any official documentation on this, and prior to this post, there were just four results when searching Google for UdpExemptPortRange. But it works as far as I can tell.