JMS vs. Kafka

Posted on 19-07-2016

Last weekend I create a small Java comparison test (yes it was a bit unfair) between Apache Kafka, Oracle Weblogic and WS02 MessageBroker. What I basically did was to create simple clients for all three products (basically a Kafka client and JMS client which was used for Oracle and WS02) and I installed all products with basic configuration (as they can be downloaded). Ok for Weblogic I extended the heap to 2048Mb and used a G1 GC as it was configured with the lowest amount when shipped out. The testclient was pretty simple basically a thread which send always the same message (String “Hello World” attached with an incremented number) to the messaging product. This thread always run 60s and then stopped the test. As expected Apache Kafka ruled the others with a bit more then 75 Mio messages send and stored in a minute. WS02 scored second with at about 1 Mio messages and Oracle Weblogic at the end with a bit more then 100k messages. That was really interesting to see. Especially the huge difference between those two JMS implementations. Would be quite interesting why this difference is that huge. I may check the different default configurations and try to align them. Maybe I’ll also extend the test and run it on clusters of the products…

OSB threading and local proxies

Posted on 29-04-2016

The last days I investigated a lot into the osb 11G (Oracle ESB) threading model during my work. I found a few quite nice articles about that topic but sadly they’re mostly not really covering these topic together with local proxies (proxy with transport local or at least http proxies which are hosted on the same nodes). If you’re not familar with threading in OSB I recomment to read those articles first because I base my assumptions and thoughts on those. My main sources are:

In [5] I found the only information about local proxies and exactly this behaviour we experienced as well. I’ll give my understanding here, therefore no quarantee that it’s realy like that. I’ll only discuss about publish and callouts to local proxies using the coresponding pipeline actions. I’ll not talk about proxy chaining as this is already covered in [2] and [3].

1. Publish

Normally (which means in case of external services) the publish action is completley asynchronous and the calling thread will not block if we use QoS = At least once. If we use QoS = Exactly Once based on [2] the thread will block until a response (I guess e.g. at least HTTP 200) is received. If we use local threads the behaviour is different (see [5] for example). In that case in any scenario even if you use QoS = At least once the thread will "block" until the request pipeline of the called thread is finished (if same transaction for response is false, I’ll follow up on this later). Therefore if you attend to have asynchronous operation for some logging or something like that it’s not asynchronous if you implement it in the request pipeline. You can workaround this by implementing your service only in the response pipeline (as the response pipeline always uses a different thread [2]). I thought a little about that and why it could be like that and in fact I think it’s bug. But why is it like that? In my opinion what happens here is the same what happens if we do proxy chaining (see [2] and [3] for details). This means that OSB knows with its optimization algorithms that the proxy we’re calling is a local one and therefore he tries to execute this local proxy request pipeline with the same thread as the calling proxy. That also basically means that the thread is not blocking but OSB is just first executing everything in the called local proxy request pipeline before executing the following actions in the calling proxy.


What I’ve not tested but I guess that it will work like that: If you set "same transaction for response" to true in the called proxy, the calling thread will completley block until the response pipeline is finished (the same what happens when using callouts).


2. Callouts

For callouts it’s not so much a problem as it’s expected that the calling thread "blocks". In fact I guess that the behaviour here is exactly the same which would mean that the calling thread will also do the work of the request pipeline of the proxy service which was called. That must basically be kept in mind if you create a proxy to handle some specific transformations for example. Because that would always need an additional thread to handle the response pipeline for that proxy. That’s also which in [4] the recommendation is made not to use a proxy for those purposes. Anyway in case of callouts, the calling thread will block until the response is received. For the thread itself it also doesn’t matter which QoS you use or if you have same transaction for response set. In that case both settings are only relevant for the transaction behaviour. [4] discusses in detail how threads block in that case, if you need further information.

That’s my current understanding.

GimpPython Plguin: Add all open Images as layer into one

Posted on 01-05-2015

I’ve just created a little script to make time stacking pictures easier. It just adds all open pictures into the current selected one.

#!/usr/bin/env python
# -*- coding: utf-8 -*-

# GIMP plugin to set all visible layers to the same mode
# (c) steffakasid 2012
#   History:
#   v1.0: 2015-30-04: First published version
#   This program is free software; you can redistribute it and/or modify
#   it under the terms of the GNU General Public License as published by
#   the Free Software Foundation; either version 2 of the License, or
#   (at your option) any later version.
#   This program is distributed in the hope that it will be useful,
#   but WITHOUT ANY WARRANTY; without even the implied warranty of
#   GNU General Public License for more details.
#   You should have received a copy of the GNU General Public License
#   along with this program; if not, write to the Free Software
#   Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.

from gimpfu import *

def openImagesAsLayers(selected_image,debug):
        if(debug == True):
            gimp.message("Starting to add all images...")

        selected_image_name = pdb.gimp_image_get_name(selected_image)

        if(debug == True):
            gimp.message("Base image selected: "+selected_image_name)

        image_file_list = gimp.image_list()
        if(debug == True):
            gimp.message("Received file list: "+str(image_file_list))

        for image_to_load in image_file_list:
            image_path = pdb.gimp_image_get_filename(image_to_load)
            image_name = pdb.gimp_image_get_name(image_to_load)
            if(debug == True):

            if(selected_image_name == image_name):
                if(debug == True):
                    gimp.message("Skipping selected image to not add it again: "+selected_image_name)
                # load image as new layer of the selected_image
                layer = pdb.gimp_file_load_layer(selected_image,image_path)

                if(layer is None):
                    if(debug == True):
                        gimp.message("The image "+image_path+" could not be transferred into a new layer!")
                if(debug == True):
                    gimp.message("Adding layer")

                # Add new layer to the selected_image
                pdb.gimp_image_insert_layer(selected_image, layer, None, 0)

                # Close image when it was added
    except Exception as err:
        gimp.message("Unexpected error: " + str(err))

    gimp.message("Processing finished!")

### Registrations

    "Adds all images into the selected one as new layers!",
    "Adds all images into the selected one as new layers!",
    "Add open images into one as new layers",
        (PF_IMAGE, "image", "Input image", None),
        (PF_BOOL, "debugging", "Enable debugging. Error Console should be open!", False)


Got Android 2.3.7 on my X10 mini

Posted on 06-11-2011

Hey finally I got Android 2.3.7 working on my Sony Ericsson X10 mini. Which is currently not official supportet and I guess it will never be supported by Sony Ericsson. So I used a custom rom build by CyanogenMod ( It was not such easy because there was no 1:1 howto and I had to search multiple howto’s (programs and kernels as well) for each step. In the meantime I fleshed with a wrong kernel what leads to system freeze during bootup and was much trouble to flash it back, because it didn’t let me into flash mode. So this post is also not a all in one howto but it lists all needed steps with corresponding links to the howto’s for the details and hopefully it will help others to got it working easier then for me.

So which steps are required to get Android 2.3.7 working. Basicly this are the following steps:

  1. Root your phone

  2. Unlock the bootloader

  3. Flash new kernel with ClockworkMod Recovery

  4. Install new Rom

I recommend to get at first the new customs roms. For the x10 mini mobile you can find them here: I also recommend to download the clean mod and the google apps either. Because the google apps make it much easier to enable a google account on the phone. When you downloaded the mod put it on the sdcard of your phone.

The next step is rooting the phone. This can be easily done by using flashtool. How to get it and to use it is described here:

When the phone is rooted we are now able to unlock the bootloader. A description how doing that can be found at:

When we have a unlocked bootloader we can go on flashing the device with a kernel which has ClockwordMod Recovery with it. For that I used the following kernel (I guess it is a x10 mini kernel for the newer replacement model but for me it works with some limitation) To get into the recovery mode was a little bit strange for me. If your boot you phone, you will the a damaged blured image. What I did was pressing all the menu key and the back key of the phone several times and then I got into the recovery mode (I can not finally say what was the right key but I guess it must be the menu key :) ). When you are in recovery mode you can install the rom by using install zip file from sdcard (you have to choose the zip file you put on the sdcard on the begining and you have to do it twice if you also want to install the google apps; first start cyanogenmod second the googleapps zip). If that is finished you only have to go back and use a "working" kernel, so I used the kernel provided in the cyanogenmod zip file and created a custom "flash package". How to do that is described here:

Maybe its also possible to to the installation with that last kernel but I did not tried that. Whats here described is my way to do it and what worked for me.

At least it has to be said that I give no quaranty that this way will work for you and I also give no quarantiy for damage on your phone while doing flash stuff etc. so if you try it, you try it on your own risk.

Issues with the new rom:

  1. There is one big issues I currently have: Its related to low voice volume during phone calls. I hope that will be fixed soon. I’am not sure if it is related to the kernel or a problem of the dialer app so I will try another dialer maybe it will be better.

  2. One second issue which is annoying but not such a big thing. This is related to the 3G internet mode which sometimes crashes and then didn’t gets any internet access. So in this point I had to reboot my phone then its working again.

News about the mod can be found at the cyanogenmod page so visit there to be updated.

Happy flashing ;)


Homescreen unlocked
Homescreen locked

System Information after update:

I maybe found something better (not tried right now but seems so). Will try it on the weekend or maybe earlier. Its a custom rom based on CM7.1 specially for X10 mini. So hopefully the issues listed above are fixed there:
— Update: 10-11-2011 by sid

Create multiline textbox with scrollbar in JavaFX

Posted on 04-11-2010

Currently I just played around with JavaFx. For the program I had build I had to use a multiline textbox with scrollbar. After some work here is the result:

*Created on Nov 4, 2010, 13:55:56 PM

package de.steffakasid.ui;

import javafx.scene.Group;
import javafx.scene.control.ScrollBar;
import javafx.scene.effect.InnerShadow;
import javafx.scene.paint.Color;
import javafx.scene.shape.Rectangle;
import javafx.scene.text.Font;
import javafx.scene.text.Text;
import javafx.scene.text.TextOrigin;

public class TextboxMultiline extends Group {
    public var width: Float;
    public var height: Float;
    public var backgroundColor: Color;
    public var foregroundColor: Color;
    public var textContent: String;
    public var wrappingWidth: Float;
    public var font: Font;

    public var enableHorizontalScroll : Boolean = false;
    public var enableVerticalScroll : Boolean = false;
    public var enableAutoScroll: Boolean = false;

    var clipper: Rectangle = Rectangle {
        width: bind width - 10,
        height: bind height - 10,
        y: bind (text.translateY *  - 1) + 5;
        x: bind (text.translateX *  - 1) + 5;
    var text: Text = Text {
        x: bind scrollBarVertical.width,
        y: 5,
        font: bind font,
        fill: bind foregroundColor,
        textOrigin : TextOrigin.TOP,
        translateY: bind 0 - scrollBarVertical.value,
        translateX: bind 0 - scrollBarHorizontal.value,
        clip: clipper,
        wrappingWidth: bind wrappingWidth;
    var textBackground: Rectangle = Rectangle {
        arcHeight : 10,
        arcWidth : 10,
        width: bind width,
        height: bind height,
        fill: bind backgroundColor,
        effect: InnerShadow {
            choke: 0.01,
            offsetX: 0,
            offsetY: 0,
            radius: 5,
            color: javafx.scene.paint.Color.BLACK,
    var scrollBarVertical: ScrollBar = ScrollBar {
        height: bind height
        blockIncrement: 10
        clickToPosition: true
        min: 0
        max: bind if(text.layoutBounds.height > height) text.layoutBounds.height - height else 1 ,
        vertical: true
        visible: bind if((height - 10) < text.layoutBounds.height) true else false;

    var scrollBarHorizontal: ScrollBar = ScrollBar {
        layoutY: bind height - 1,
        width: bind width,
        blockIncrement: 1,
        clickToPosition: false,
        min: 0,
        max: bind if(text.layoutBounds.width > (width - 10)) text.layoutBounds.width - (width - 20) else 1,
        vertical: false,
        visible: bind if(text.layoutBounds.width > (width - 20)) true else false,

    init {
        if(null == foregroundColor) {
            foregroundColor = Color.BLACK;
        if(null == backgroundColor) {
            backgroundColor = Color.WHITE;
        if(null != textContent) {
            text.content += textContent;

        this.content = [
        if(enableVerticalScroll == true) {
            insert scrollBarVertical into this.content
        if(enableHorizontalScroll == true) {
            insert scrollBarHorizontal into this.content

    public function setText(textContent: String) {
        text.content += textContent;
        if(enableAutoScroll == true) {
            scrollBarVertical.value = scrollBarVertical.max;
        println("Text bounds: {text.layoutBounds}");
        println("Scrollbar max: {scrollBarVertical.max}");

Install busybox on Android

Posted on 18-08-2010

Da die meisten anderen Tutorials unvollständig waren, hab ich mir mal die Mühe gemacht, die vollständige Anleitung zu veröffentlichen.

  1. Get busybox (fertig kompiliert für Android)

  2. Android Phone mit dem PC verbinden (Anleitung gibts hier:

  3. Push busybox auf das Device (alle adb Befehle müssen aus dem android-sdk/tools Verzeichnis gestartet werden, wenn diese sich nicht in der PATH Variable befindet!)

$ ./adb push busybox /data/local/busybox

Aufgrund der Schreib- bzw. Ausführungsrechte sollte dieses Verzeichnis so beibehalten werden, da sonst busybox nicht ausführbar ist, wenn es beispielsweise auf die Sdcard gepusht wird!

  1. Auf das Telefon mit einer Konsole connecten und Telefon vorbereiten

./adb shell
$ su
$ mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
$ exit
  1. Busybox installieren

$ su
$ cd /data/
$ mkdir busybox
# Wenn xbin nicht existiert:
$ mkdir /system/xbin
# sonst direkt:
$ /data/local/busybox cp /data/local/busybox /system/xbin/busybox
$ cd /system/xbin
$ chmod busybox 755
$ ./busybox --install -s /system/xbin
$ rm /data/local/busybox

Achtung! Teilweise (beispielsweise der cp) Befehl sind nicht bestandteil der in Android verwendeten Shell daher muss in diesem Fall der Befehl aus Busybox verwendet werden. Daraus resultiert der etwas seltsam aussehende Befehl!

  1. Telefon neu starten

Busybox Befehle lassen sich dann in der Shell über busybox aufrufen beispielsweise "busybox df". Optional kann man /data/busybox auch noch der PATH Variable zuordneten:

$ export PATH=/data/busybox:$PATH

Falls jemand noch Anmerkungen hat. Einfach anschreiben…​

Sie heißt FMC 2153 Neo L…​

Posted on 10-07-2010

hat 600W an 4 Ohm, zwei schaltbare 8" und ein regelbare Horn und ist seit gestern die neue Box unter meinem Ampeg AP-3550 und SVT-IIP. Aber von FMC 2158 Neo L vorne…​ nach ca. 4 Monaten Diskussionen mit Hans (Hans Struck = Eigentümer von FMC), viel lesen zu FMC Boxen auf und schluss endlich reiner Wartezeit aufgrund der Terminplanung von Hans war es gestern endlich so weit und ich konnte nach Ingolstadt fahren und meine Box in Empfang nehmen. Kleiner Tip am Rande: Wenn ihr die Möglichkeit habt fahrt auf jeden Fall persönlich in Ingolstadt vorbei. Wieso? Naja Hans ist super nett und erklärt euch alles rund um die Boxen - aus erster Hand - führt sie selber vor und gibt ansonsten noch jede Menge persönliche Erfahrungen und Tips zu den eigenen Boxen.

Wieder in Mannheim angekommen ging es direkt erstmal in den Poberaum, die Box am eigenen Verstärker testen. Der erste Eindruck war einfach nur WOOOW . Die Box ist im Vergleich zu meiner alten (4*10 Hartke VX) mindestens 1/3 lauter .

Heute ging es dann wieder in den Proberaum ausführliches testen und aufnehmen mit unterschiedlichen Settings (wobei da noch unendlich weitere Möglichkeiten drin sind alleine aufgrund des regelbaren Horns). Aber für einen zweiten Eindruck war das auf jeden Fall mal super. Am besten gefällt mir persönlich momentan die Einstellung mit abgeschalteten Horn und den 8"ern auf der niedrigen Frequenz. Das ergibt einfach einen so genial knurrigen Sound mit viel Attack, mit angeschaltetem Horn wird das Ganze noch ne ziemliche Ecke spritziger was vor allem fürs Slappen ziemlich geil kommt. Dabei liefern die 15"er immer schön viel Tiefbass.

Zu den Soundfiles: Alle Aufnahmen habe ich mit den gleichen Settings gemacht (zumindest für die FMC Box, für die Hartke musste ich den Amp um einiges weiter aufdrehen um überhaupt was zu hören…​). Eingespielt wurde alles mit meinem Warwick Fortess One. Wobei ich beide Picups aktiv hatte (Regler in Mittelposition) auf dem Halsnahen PU hatte ich die Höhenblende ganz rausgedreht und auf dem Settings Singlecoil (Steg PU) die Höhenblende ganz rein. Das entspricht dem Setting, dass ich ziemlich häufig nutze, da mir der Klang einfach total taugt. An der Vorstufe war alles neutral eingestellt, der Presence Regler der Endstufe voll auf (der Volumeregler war anders als auf dem Bild auf ca. 11 Uhr).


Meiner Meinung nach merkt man den Unterschied der Boxen bei neutralen Einstellungen noch nicht so stark. Die FMC wirkt insgesamt etwas klarer vom Klangbild und es besteht ein großer Unterschied beim Wirkungsgrad für die Aufnahmen musste ich bei der vx410 ca. 1/4 lauter aufdrehen. Noch stärker fällt der klangliche Unterschied auf, wenn man etwas am EQ rumspielt beispielsweise Bässe aufreißt etc.

Zu den Aufnahmen der FMC Box: Es wären noch viele andere Kombinationen möglich. Da die 8"er sich im Frequenzbereich noch zweistufig schalten lassen (einmal eher höhere und einmal eher tiefere Frequenzen). Das gleiche gilt für das Horn, was zu dem noch stufenlos schaltbar ist. Wenn sich jemand her verirrt und gerne nen bestimmten Klang hören würde (und ich die Zeit finde) kann ich gerne mal noch andere Beispiele hinzufügen.

Me on myspace

Posted on 02-06-2010

Ich bin seit gestern auch auf myspace mit einem Musikerprofil vertreten kann ja nicht schaden …​

Wer Interesse hat und wissen will wie man ein myspace Musikprofil mit CSS designed hier ist das CSS welches ich verwende:

body {
background-image:url(HIER DIE BILDER-URL EINFUEGEN);
background-position:left bottom;

table, tr, td {
border: none;

table table table { background-color:000000; border: none; border-width:0px; color: ffc600}

p {background-color:white;}

.text {color:ffc600}

font, div, .blacktext12, .lightbluetext8, .orangetext15,  .whitetext12, .btext {color:ffc600}

a, a font, a:link, a.navbar, a.navbar:link,,, font, a.redlink, a.redlink:link, a.friendlink, a.friendlink:link {color:ffc600; text-decoration:underline}

a.friendtext, a.redlink {text-decoration:none}

a:visited,  a.navbar:visited,,  a.friendlink:visited, a.redlink:visited{color:white; text-decoration:none;

Das Ganze postet man einfach in das Feld "Biographie" im Profil und schon ändert sich das Aussehen…​ leider ist es nicht möglich die Friendadd-links zu bearbeiten, da dies Bilder sind…​ aber vielleicht kommt das ja noch.


Posted on 16-11-2009

… werden die ganzen Schweine eigentlich auch geimpft? Sonst frag ich mich nur wie die Impfaktion überhaupt die "Pandemie" eindämmen soll…​ meiner Meinung nach die unsinnigste Aktion überhaupt :)

Gut auch, dass von der WHO extra die Pandemie Definition geändert wurde, was unter anderem aus diesem Interview hervorgeht:

Wie dem auch sei: Meiner Meinung nach die best organisierteste PR-Aktion überhaupt…​ und das bittere alle machen mit.

P.s. meines Wissens nach ist die Schweinegrippe bisher nur von Mensch zu Mensch übertragen worden aber die Idee die Schweine mit zu impfen fand ich irgendwie witzig.

Umbau (vorerst) abgeschlossen

Posted on 20-09-2009

Erst mal muss ich sagen, dass mich entschlossen habe der Einfachheit halber auch Posts auf deutsch zu schreiben. Mein eigentliches anliegen ist allerdings hier meine Umbauarbeiten an meinem ersten Bass öffentlich zu machen ;)<!--more-→

Dieser Bass ist das Gerät, auf dem ich damals angefangen habe zu spielen. Wie man auf einem der Bilder sehen kann scheinen auch meine Vorbesitzer (keine Ahnung wieviele es davon gab) gerne mal die Farbe des Instruments geändert zu haben. Ich hab das Teil letztens nochmal bei EBay gesehen, muss im original eine sunburst Lackierung gehabt haben (das hatte ich auch schon bei meinen Schleifarbeiten vermutet).

Insgesamt bin ich in meheren Schritten zu dem aktuellen Ergebnis gekommen. In einem ersten Gewaltmarsch habe ich alle Farbe entfernt. Hier einige Bilder:

  1. Hier sieht man sehr schön die verschiedenen Farbschichten:

  1. Hier die anfängliche Arbeitsumgebung. Ich kann jedem nur raten, solche Arbeiten nicht in der Küche durchzuführen. Dann lieber nen Raum in dem man alles andere rausstellen kann…​ sonst ist das aufräumen und saubermachen nachher mehr als lästig. Ich bin später auf den Flur umgestiegen, da wir hier am wenigsten Möbel etc. stehen haben und alles andere schnell in ein anderes Zimmer transportiert werden konnte. Leider hatte ich da nur einen kleinen Tisch, dass hat das Arbeiten etwas anstrengender gemacht.

  1. Das Ergebnis nach der ersten Schleifsession (naja gut eigentlich war es die 2. und dauerte ca. eine Woche)


Ich muss zugeben, dass ich etwas voreilig war und in diesem Zustand auch schon eine erste Öl-Session mit einem Leinöl gemacht hatte. Allerdings war ich mit dem Ergebnis nicht wirklich zufrieden (Bilder erspar ich an dieser Stelle). Daher hab ich mich dann nochmal entschlossen das Holz noch weiter abzutragen. Die obere Schicht bestand hier aus einem sehr dünnen Funier, das beim abschleifen der Farbe leider an einigen Stellen zu dünne geworden war und dadurch die Optik nicht mehr so toll war (ansonsten hätte es noch recht gut ausgesehen). Ich denke ich hab insgesamt eh recht viel Glück gehabt, dass in diesem Bass richtiges Holz verbaut war, bei heutigen Instrumenten bin ich mir da in den unteren Preisklassen nicht wirklich sicher. Zur Not hätte ich mich sonst an eine neue Lackierung wagen müssen.

Hier die Bilder nach der abschließenden Bearbeitung (zu dem Zeitpunkt auch schon bei einigen Proben gespielt). Der Klang gefällt, auch wenn ich nicht mehr genau sagen kann wie er vorher geklungen hat. Ich hatte den Bass, aufgrund einer kaputten Elektronik und einer "Bassauszeit", in den letzten jahren nicht wirklich gespielt.

  1. Korpus komplett


Übrigens hab ich die kompette Elektronik neu gemacht. Passive <a href="">Seymour Duncan SPB-3</a> Tonabnehmer. Ich war wirklich überrascht von dem hohen Output dieser Tonabnehmer. Die blasen so derbe, dass man fast denkt die wären aktiv ;). Dann gabs noch Schaller Mechaniken, ne Gotoh Bridge, ein Grafitsattel, noname Potis und dazu gehörige Knöpfe, zu guter letzt noch ein neues Pickquard von Thomann (das alte war mehrmals lackiert und das nicht wirklich sauber). Mehr Details auf den nächsten Bildern.

  1. Detail Bild Gotoh Bridge und die neuen Knöppe

  1. Schwarze Schaller Mechaniken (der Hals ist auch abgeschliffen, die Bünde einigermaßen abgerichtet und leider die Klarlacklackierung nicht sonderlich toll. Da muss ich vielleicht nochmal ran. Ich überlege aber noch, ob ich den Hals nicht neu mache bzw. mir einen neuen besorgen - vor ersterem müsste ich mir wohl aber erstmal überlegen wo ich das machen kann :) )

  1. und weils gerade so schön ist noch ein letztes zum Schluss ;)


Übrigens (falls sich mal jemand her verirrt, der einen Bassumbau vorhat) es gibt da nen sehr nettes, kleines Forum mit kompetenter Hilfe: Bassbau. Die Jungs dort bauen schon einige Sachen auf sehr krass hohem Niveau…​

P.s. Bei dem Bass handelt es sich um einen Slammer. Ich konnte dazu nicht wirklich viel im Internet finden, es gibt wohl ne Marke die heutzutage unter dem Namen Bässe baut, aber ob es die selbe ist von damals weiß ich nicht. Der Schriftzug sieht zumindest schonmal anders aus…​