Fahrradtour im Schaumburger Land und Minden

Anfang August ging es nochmnal ins Schaumburger Land für eine Fahrrad-Rundtour. Als guter Startpunkt waren hier wieder Schifffmühlen mit der Gastronomie direkt an der Weser gewesen. Von dort aus ging es los zunächst in Richtung Schloss Bückeburg vorbei an den Bückeburger Auen. Am Schloss angekommen ging es dann weiter Richtung Englischer Garten von Bad Eilsen vorbei am Ruheforst Schaumburger Land. Das "Ziel" der Rundtour war das schöne Stadthagen mit seinen zahlreichen erhaltenen mittelalterlichen Häusern in der Altstadt. Danach ging es vorbei an Meerbeck in Richtung Mittellandkanal und zurück durch den Schaumburger Wald, vorbei am Jagdschloss Bückeburg zu den Schiffmühlen nach Minden. Die Tour hat in etwa eine Länge von ca. 60km und es sind in Summe etwa 300 Höhenmeter zu absolvieren. Die Tour stufe ich daher auch als mittelschwer ein, obwohl größere Streckenteile der Tour flach verlaufen. 

Hier geht's zur Bildergalerie und zu den Tourdaten

Fahrradtour im Schaumburger Land

Anfang Juni gings vom Bahnhof in Rinteln aus über den Weserkamm zur Burg Schaumburg, welche eine wunderbare Aussicht über das Wesertal bei Rinteln und nach Porta Westfalica bietet. An der Burg befindet sich u.a. auch ein Café, welches zum Verweilen einlädt. Anschliessend ging es wieder runter zur Weser über Westendorf an der Weser entlang zum Kloster Möllenbeck. Hier lädt bei gutem Wetter ein Biergarten (mit tollem Bier) ebenfalls zum Verweilen ein, bevor es an der Weseraue zurück nach Rinteln durch die tolle Altstadt mit vielen Fachwerkhäusen und der Fussgängerzone ging. Die Gesamtstrecke der Fahrradtour liegt in etwa bei 50km und ich stufe sie insgesamt als mittelschwer ein, da ein paar Höhenmeter zum Weserkamm hinauf zur Schaumburg zu absolvieren sind.

Hier geht's zur Bildergalerie und zu den Tourdaten

Fahrradtour an Werre und Weser

Im Frühling gings unter anderem in Ostwestfalen zweimal am Fluss lang nach Minden. Wer gerne eine längere Tour machen möchte ohne viele Höhenmeter zu absolvieren, dem empfehle ich die gut ausgebauten Strecken an Werre und Weser. Los geht's ab Bad Salzuflen an der Werre entlang erstmal nach Herford. Dann müssen ca. 8km an der Strasse entlang nach Löhne gefahren werden. Von Löhne aus verläuft die Tour bis zum Ziel über Bad Oeynhausen und Porta Westfalica direkt an Werre und Weser entlang auf Radfahrwegen. Wer vor den Mindener Bastau-Wiesen noch Lust hat, sollte die rund 200 Höhenmeter von der Weser hinauf zum Kaiser-Wilhelm-Denkmal fahren. Man wird dafür mit einem ganz tollen Ausblick u.a. über die Weserauen belohnt. Apropos Flüsse: Wer gerne Kanu fährt, für den lohnt es sich ebenfalls. Der Herforder Kanu Klub bietet von Herford aus entsprechende Kanu-Touren an (Link). Gerade in den Sommerferien lohnt sich eine solche Tour. Das Ziel der Fahrradtour ist die Schiffmühle in Minden, die direkt an der Weser liegt. Hier gibt es ein tolles Restaurent mit einem Biergarten. Die gesamte Strecke (Hin- und Rückfahrt) liegt in etwa bei 82km und ich stufe sie aufgrund der Länge als mittelschwer ein.

Hier geht's zur Bildergalerie und zu den Tourdaten

Fahrradtour an der Werre (OWL) - Detmold - Herford

Das Jahr 2020 ist ja aus vielerlei Gründen ein sehr spezielles Jahr, welches die Weltgemeinschaft wohl so noch nie erlebt hat. Auch ich habe meinen Fokus u.a. auf gewisse andere Dinge gelegt, unter anderem unternehme ich gerade seit Frühling dieses Jahres viele Fahrradtouren und werde Euch einige schöne davon vorstellen, die ich in Ostwestfalen und Lippe am Interessantesten finde. Los geht's mit einer Rundtour, die ich in den letzten Jahren schon häufig gefahren bin. Der Startpunkt liegt direkt in meiner derzeitigen Wahlheimat am Detmolder Schloss mit dem Ziel Bismarkturm in Herford bzw. zur Stadtmitte, über die Ziegelei Lage, am Werreufer Bad Salzuflen, dann durch die Stadt Bad Salzuflen, zur Loose und durch den Stadtwald Herford zum Bismarkturm. Wer mit dem Mountainbike unterwegs ist, kann vom Herforder Bismarkturm direkt einen auch den Trail Richtung Innenstadt durch den Wald fahren. Der geht nur etwa 2km, macht aber richtig Spaß. Anschliessend geht es zurück über die Herforder Stadtmitte nach Schötmar, Lage und wieder nach Detmold. Die Länge der Rund-Tour liegt bei 60km und ich schätze sie im Allgemeinen als mittelschwer ein, wo zumindest eine passable Kondition erforderlich ist. Die Tour führt ganz überwiegend auf befestigten Radwegen lang. Wer überhaupt keine Lust hat, den Rückweg selbst zu fahren, kann auch wunderbar in Herford oder Bad Salzuflen in den Zug Richtung Detmold einsteigen, denn der Großteil der Strecke verläuft praktisch parallel zur Westfalenbahn-Route Herford-Paderborn.

Hier geht's zur Bildergalerie und zu den Tourdaten

Einsatz von Open Source auf Geräten

Im Zuge der zunehmenden Digitalisierung der klassischen Industrie, wie zum Beispiel im Maschinenbau, kommen seit ein paar Jahren nun auch immer mehr Geräte zum Vernetzen der Produktionsanlagen zum Einsatz. Ein wesentlicher Bestandteil der eingesetzten Geräte ist, neben der Fähigkeit über die üblichen Feldbusprotokolle wie Profinet, Modbus TCP oder Ethernet/IP mit übergeordneten Steuerungen kommunizieren zu können, Schnittstellen und Protokolle zu typischen IT-Systemen anzubieten. Gerade bei Neulanlagen sind diese mittlerweile Teil der Grundausstattung und vielfach hardware-technisch so leistungsfähig, um z.B. Szenarien wie die Datenerfassung und Datenvoranalyse zusätzlich mit abzudecken. Deshalb liegt u.a. beim Design solcher Geräte, neben der Auswahl von leistungsfähiger Hardware, der Einsatz von unixoiden Betriebssystemen wie Linux in seinen verschiedenartigen Ausprägungen sehr nahe. Die technischen Vorteile von Linux sind u.a., dass es sehr leistungsfähig und skalierfähig ist. Entstehende Kosten hinsichtlich etwaiger Lizenzen für Linux spielen zumindest im industriellen Umfeld eher keine Rolle, da die Anschaffungspreise von solchen Geräten nicht selten jenseits der 500€-Marke liegen. Zwei weitere Vorteile von Linux sind die Unterstützung von vielen Rechner-Architekturen und der, dass große Firmen, wie Google, IBM, Samsung usw. linux-basierende Betriebssysteme in ihren Produkten einsetzen und die qualitative Entwicklung des Linux-Ökosystems massiv voran getrieben haben.

Mit dem immer größer werdenden Einzug von Linux im industriellen Umfeld steht somit der Einsatz von Open Source für Softwareentwickler also auch auf der Tagesordnung, da es sich bei Linux um ein Open Source Betriebssystem handelt. Allerdings herrscht für viele Entwickler nach wie vor immer noch große Unsicherheit über Rechte und Pflichten beim Einsatz von Open Source Software, welches auch die Motivation für diesen Blog-Artikel war. Da das ganze Thema bei Betrachtung aller technischen, juristischen und organisatorischen Aspekte sehr umfangreich sein kann, liegt der Fokus hier in erster Linie auf ein paar kurze, aber wichtige Informationen und Links beim generellen Umgang mit Open Source Software und zur weiteren Einarbeitung.

Weiterlesen

Special House Classics DJ-Set

2019 habe ich bereits ein Afterwörk Special Vinyl Only Old School Set von Disco bis Tech House aufgenommen. Habe beim Durchstöbern durch meinen Plattenschrank wirklich coole Sachen aus der Zeit wieder gefunden, als ich vor über 15 Jahren in meiner DJ-Residenz@Schappo Iserlohn gespielt habe. Selbstverständlich kann man die Zeit nicht zurückdrehen, aber den Geist guter House Musik kann man wieder rauf beschwören. Das Set von mir gibt's jetzt auch als Goodie auf SoundCloud zu hören.

Rundreise durch die Toskana

Reise in die Toskana 2019

Anfang Mai 2019 ging es mit einem Kumpel zum ersten Mal in die Toskana, also nach Italien. Gebucht hatten wir für 10 Tage und uns vorgenommen, auf unserer Rundreise durch die Toskana, möglichst viel von Land und Leuten kennen zu lernen. Deshalb sind wir von Köln nach Pisa geflogen und nicht mit dem Auto gefahren, wie ursprünglich geplant. Sonntag Nachmittag angekommen in Pisa, haben wir gleich den reservierten Mietwagen in Empfang genommen, ein neuer Fiat Panda als Benziner. Der Wagen sollte sich wenig später als genau richtig erweisen.

Nachdem alle Formalitäten geklärt waren, ging's auf ins Getümmel des italienischen Strassenverkehrs - echt immer wieder ein Erlebnis kann ich sagen. 2018 habe ich schon als Beifahrer in diversen römischen Taxis gezittert, diesmal durfte ich selber ran ans Steuer. Ok, von Pisa aus losgefahren, ging es dann über die Autobahn Richtung Florenz zu unseren gebuchten Zimmern in einem Landhaus im beschaulichen Montecarlo - nein nicht DAS Montecarlo an der Coté d' Azure, sondern das in der Toskana.wink Wir haben uns bewusst für den etwas abgelegeren Ort entschieden, da Montecarlo zwischen Pisa und Florenz liegt und von dort aus ganz gut Ausflüge in die nördliche Toskana unternommen werden können, aber auch in den südlichen Teil.

Weiterlesen

Versionierung von .NET Assemblies

Versioning

Hintergrund

Vor dem Zeitalter von .NET, also in den 1990er Jahren und davor, wurden bei der Installation von Windows-Anwendungen vielfach verwendete Bibliotheken (DLLs) der Anwendungen im Windows-Systemverzeichnis des PCs abgelegt und in die Windows-Registry eingetragen. Der Grund, warum viele Software-Hersteller dies taten, war u.a. um Speicherplatz zu sparen, der zu der Zeit noch in der Regel sehr wertvoll war. Durch diese einfache Ablage diverser DLL-Dateien im Systemverzeichnis waren allerdings die Möglichkeiten für die Verwaltung von verschiedenen Versionen einer Bibliothek sehr beschränkt, da sich während ihres Lebenszyklus beispielsweise ihre Schnittstelle bzw. der Einstiegspunkt zwischenzeitlich geändert haben konnte. Eine Windows-Anwendung hatte nämlich keine Möglichkeit herauszufinden, ob die in einer DLL-Bibliothek enthaltenen Datentypen wirklich die selben Typen waren, mit denen die Anwendung erstellt wurde. Infolgedessen konnte eine neue Version einer Software-Komponente eine ältere Version davon überschreiben und damit die Anwendung zum Absturz bringen.

Um so größer eine entwickelte Anwendung durch das Hinzufügen neuer Funktionen usw. über die Jahre selbst wurde und diese zum Beispiel darüber hinaus noch DLL-Bibliotheken von Dritt-Herstellern einsetzte, war man als Software-Hersteller - rein technisch betrachtet - seit Ende der 1990er Jahre eigentlich nicht mehr in der Lage zu sagen, dass die installierte Anwendung wirklich zu 100% frei von Seiteneffekten mit anderen installierten Applikationen auf dem verwendeten Windows-System waren. Da schuf auch u.a. der Einsatz von dedizierten Merge-Modulen bei der Installation von Bibliotheken nur bedingt Abhilfe, weil sich auch hier nicht alle Software-Hersteller an das Vorgehen gehalten haben.

Dieses Problem ist in der Entwicklerwelt besser bekannt als die berühmt-berüchtigte DLL-Hell, welche mit Einführung und Nutzung des .NET-Frameworks der Vergangenheit angehören sollte.

Weiterlesen

Das Intel HEX-Format

Das Intel Hex-Object Format dient zum Übertragen von binären Daten in der Regel über eine serielle Schnittstelle. Mir persönlich ist es seit Ende der 1990er Jahre geläufig, wo ich mich erstmals intensiv mit Mikroprozessoren beschäftigt habe. Laut einer Revision der orignalen Spezifikation von Intel 1988, handelt es sich bei dem hexadezimalen Objektdateiformat "um eine Möglichkeit, eine absolut binäre Objektdatei in ASCII darzustellen. Da die Datei in ASCII anstatt in Binärform vorliegt, ist es möglich, die Datei auch auf Medien wie z.B. Papierstreifen, Lochkarten usw. zu speichern". Wie man anhand der Formulierung sieht, ist das Format also schon recht alt, Lochkarten und dergleichen spielen zum Glück schon eine ganze Weile keine Rolle mehr in der Informatik.

Intel HEX-Dateien werden auch heute noch hauptsächlich im Umfeld der Embedded-Programmierung z.B. bei 8-Bit- und 16-Bit-Prozessoren verwendet, um generierte Programmierdaten der erstellten Programme für diese Prozessoren, EPROMS und ähnliche Bausteine zu speichern. Durch spätere Erweiterungen der Spezifikation wurden sogar noch 32-Bit-Prozessoeren der x86er-Serie von Intel mit berücksichtigt.

Weiterlesen

Asynchrone Programmierung in .NET C#

Neben den Gründen der technischen Anforderungen an eine Applikation, gibt es bereits seit Mitte der 2000er Jahre einen weiteren Grund, der immer mehr an Bedeutung gewonnen hat, nämlich die bessere Ausnutzung von modernen CPU-Architekturen (Multi-Cores) für ihre Beschleunigung. Um diese Technologien ausnutzen zu wollen, wurde dadurch das Schreiben von Multi-threaded Applikationen notwendig – also das Arbeiten mit mehreren Threads in Programmen.

Der Einsatz von Threads ist nützlich und sinnvoll, wenn lang andauernde Operationen stattfinden, die die Programmausführung blockieren (z.B. längere Berechnungen im Sekundenbereich, Warten auf bestimmte Bedingungen im System / Lauschen auf dem Netzwerk-Port usw.). Aber der Einsatz von klassischen Threads ist jedoch generell schwierig zu verstehen, denn ein bloßer Blick auf den Code reicht oft nicht - frei nach dem Motto: 1. Thread anlegen -> 2. Thread starten -> 3. Beten.

Die Synchronisation gemeinsam genutzter Resourcen erfordert grundsätzlich große Sorgfalt!

Der Einsatz von Threads ist beispielsweise widerum nicht sinnvoll, wenn es zu viele Abhängigkeiten zwischen den Threads gibt, denn Abhängigkeiten führen zu Blockierung von Code. In diesem Fall wartet ein Thread darauf, das ein anderer seine Arbeit beendet. Der Vorteil der asynchronen Ausführung verschwindet dann, beziehungsweise ist nicht mehr gegeben. Die Komplexität des Systems wird somit unnötig vergrößert, da viele Threads aufeinander abgestimmt werden müssen. In solchen Softwarekonstruktionen ist mitunter wochenlanges Debugging keine Seltenheit.

Dieser Umstand ist u.a. auch die Motiviation für dieses Tutorial gewesen, da ich vor nicht allzu langer Zeit bei Reviews von .NET C#-Projekten immer wieder Codeartefakte dazu fand, welche konzeptuell aus der klassischen Windows-Programmierung der 90er Jahre stammen und aus heutiger Sicht allein schon 'merkwürdig' aussehen. Mitunter kamen noch solche Konstrukte wie der Einsatz von while-Schleifen mit 'Thread.Sleep(1)', 'DoEvents()' und Ähnliches zum Einsatz, um auf die Beendigung von Vorgängen zu warten, die gerade irgendwo anders laufen.

Da das .NET-Framework seit seiner Erstveröffentlichung 2002 ordentlich gewachsen ist, sehen sich heutzutage gerade Einsteiger oder Umsteiger bereits allein mit 3 verschiedenen Implementationsmustern für die asynchrone Verarbeitung von Vorgängen konfrontiert, welche im .NET-Framework über die Jahre hinweg Einzug gehalten haben. Bevor nun auf moderne Konzepte und Hinweisen zu deren effizientem Einsatz eingegangen wird, erfolgt deshalb vorab nochmal etwas Aufklärung bezüglich der verschiedenen existierenden Features für asynchrone Programmierung unter .NET C#. Da dieser Themenkomplex ansonsten recht umfangreich ist und mittlerweile auch zahlreiche Literatur etc. dazu existiert, fokussiert sich dieses Tutorial nur auf ein paar wesentliche Punkte.

Weiterlesen

Logging mit log4net unter .NET

log4net ist Teil des Apache "Logging Services"-Projektes bei der Apache Software Foundation. Das Projekt "Logging Services" dient der Bereitstellung von sprachenübergreifenden Logging-Diensten für das Debugging und die Protokollierung von laufenden Applikationen. Das Projekt startete ursprünglich mit dem log4j-Framwork für Java, welches 1995 entwickelt wurde und seitdem gepflegt und kontinuirlich erweitert wird. Bei log4net handelt es sich also um dessen Portierung in das .NET Ökosystem. Unter .NET existieren natürlich auch andere Möglichkeiten zur Protokollierung von Applikationen – neben log4net gibt es weitere etablierte Logging-Frameworks, zum Beispiel „NLOG“ oder auch „Logging Block“ der Microsoft Enterprise Library. Generell bieten Logging-Frameworks deutlich mehr Flexibilität, als eine schnelle Implementierung von Hand, beispielsweise um sogenannte, frei konfigurierbare Appender, also "Wohin" soll denn geloggt werden. Das folgende Tutorial gibt einen schnellen Einstieg in log4net.

Weiterlesen

  • 1
  • 2
Diese Seite enthält Cookies. Wir verwenden Cookies, um Inhalte und Anzeigen zu personalisieren und die Zugriffe auf unsere Website zu analysieren.
Akzeptieren Ablehnen