Using Googles mirror for Maven Central

Today I stumbled upon an interesting article about a full mirror for Maven Central provided by Google. I decided to give it a try and put the following mirror in my $HOME/.m2/settings.xml:

<settings>
  ...
  <mirrors>
    <mirror>
      <id>google-maven-central</id>
      <name>Google Maven Central</name>
      <url>https://maven-central.storage.googleapis.com</url>
      <mirrorOf>central</mirrorOf>
    </mirror>
  </mirrors>
</settings>

After that I deleted my local repository:

rm -rf ~/.m2/repository

So for the next couple of weeks I’ll be using the new mirror. 🙂

Falsche Abgaswerte bei Umwelttests

Der Guardian schreibt:

Mercedes-Benz, Honda, Mazda and Mitsubishi have joined the growing list of manufacturers
whose diesel cars are known to emit significantly more pollution on the road than in
regulatory tests, according to data obtained by the Guardian.

“The issue is a systemic one” across the industry, said Nick Molden, whose company
Emissions Analytics tested the cars. The Guardian revealed last week that diesel cars from
Renault, Nissan, Hyundai, Citroen, Fiat, Volvo and Jeep all pumped out significantly more
NOx in more realistic driving conditions.

Wer ist darüber noch erstaunt? Ich meine, wenn eine Schwindelei wie bei Volkswagen auffliegt, kann man doch davon ausgehen, dass andere Hersteller genau so agieren. Und kommt mir jetzt nicht mit der Einzeltäter-Theorie – so etwas macht ein Ingenieur nicht mal eben allein und freut sich, dass er die Kontrollen überlistet hat. Das war allen bis in die Führungsetage bekannt und alle haben es akzeptiert oder sogar noch als richtig empfunden.

Was mich dabei noch am meisten aufregt, ist die Tatsache, dass Volkswagen zu einem nennenswerten Teil (20%) dem Land Niedersachsen gehört. Wenn so ein Unternehmen die Umweltbestimmungen überlistet, dann hat das einen echt üblen Beigeschmack. Wie kommt man wohl auf die Idee, das so ein Vorgehen auch nur ansatzweise in Ordnung ist…?

Ich bin mal gespannt, wann die ersten Überprüfungen von Bussen und LKWs gemacht werden. Oder von Zügen?

Was erlauben Paypal?

Gestern habe ich eine Bestellung bei Reebok mal wieder mit Paypal bezahlt. Bisher mache ich das ganz gerne, damit ich meine Zahlungsdaten nur bei 1 Anbieter ablegen muss und nicht bei allen. Heute morgen hatte ich dann eine Email von Paypal im Postfach: “Wichtig: Wir haben ungewöhnliche Aktivitäten in Ihrem PayPal-Konto festgestellt”. :open_mouth:

Ok, ich sollte mich einloggen und meine Identität und die Aktivität bestätigen. Als erstes muss ich dazu eine SMS oder einen Anruf annehmen oder einen Identitätsnachweis hochladen. “Identitätsnachweis” hochladen klingt nach Ausweiskopie – was gar nicht erlaubt ist in Deutschland… Ok, scheint also der Weg von Paypal zu sein, die Datenbasis der Telefonnummer aktuell zu halten. Danach soll ich mein Passwort ändern. Gut, dann also Keepass anwerfen und ein neues Passwort generieren – auch Paypal hält es für nötig, “mind. 1 Zahl oder 1 Symbol” zu verwenden. Das Ändern in ein 25stelliges generiertes Passwort schlägt aber mit einer nichtssagenden Meldung, ich solle mich an den Kundensupport wenden, fehl. Hat da jemand ein oberes Limit auf den Passwörtern gesetzt, aber keine Fehlermeldung dafür eingesetzt? Wie auch immer, ich muss also den ganzen Prozess ein zweites Mal starten. Fun times! :rainbow:

Nach dem Login ist eine Benachrichtigung zu sehen, dass “ungewöhnliche Aktivitäten” stattgefunden hätten. Ein Klick auf die Benachrichtigung bringt mich zu eine altmodisch aussehenden Seite über Ebay-Käufe – aber ich finde dort nichts, was ich überprüfen oder bestätigen müsste. Nach ein paar Minuten herumklicken, aus- und einloggen, verschwindet dann die Benachrichtigung als hätte es sie nie gegeben.

Paypal, ist das ernst gemeint? Jetzt zweifel ich doch ein bißchen daran, dass ihr der richtige Ort seid, meine Zahlungsdaten aufzubewahren…

Rückschlag beim Training

Letzte Woche lief das Training bei mir nicht besonders. Die Workouts waren so lala, am Mittwoch bin ich bei den Backsquats nicht mal annähernd an 85% meines 1RM rangekommen und hab trotzdem nach 1 Wiederholung Schluss machen müssen. Am Freitag hab ich das Training dann komplett abgesagt und stattdessen den ganzen Nachmittag geschlafen.

Heute ging’s nicht viel besser weiter. Nach dem Warmup war ich schon total fertig, hab mir als letzter noch den fünften Klimmzug rausgequält. Bei den Clean & Jerk hab ich schon gemerkt, dass ich keine Bestleistungen bringen würde und beim Workout hat sich das bestätigt. Das WOD für heute war wie folgt:

3 Runden

  • 20 Toes to bar
  • 10 Clean & Jerk (42,5kg)

Die 60kg Rx hab ich gar nicht erst versucht und bin gleich auf 42,5kg zurückgegangen, nachdem 50kg beim 3×5 Krafttraining schon das Limit waren. Für das WOD hab ich dann auch 14:00min gebraucht und zwischendurch hab ich vor Anstrengung sogar den Jerk beim Clean & Jerk vergessen… da hab ich die Stange dann erstmal abgesetzt und ein paar Sekunden Pause gemacht. :grimacing:

Ich hoffe mal, dass sich das Tief bald wieder verflüchtigt. Vielleicht hab ich eine leichte Erkältung in den Knochen oder meine Schlaf- oder Ernährungsgewohnheiten brauchen mal wieder einen Reset. Ich werde in den nächsten Tagen jedenfalls daran arbeiten, dass ich gut erholt und satt zum Training gehe. :rage1:

Installing Lets Chat and Hubot for fun

Today I decided to give Let’s Chat a go (after an installation debacle with Zulip) and it was a breeze. Then I decided that I want a Hubot to take my commands, if nobody else is listening to me. That was a bit more complicated, but right now I’m runing my own instance of Let’s Chat with a Hubot taking commands from my via chat. The bot is not doing something, but I have plans to give it a bit more autonomy. Anyway, here’s what I did:

Install Let’s Chat via Docker

This one is simple with the official Dockerfile. Just run the following commands:

# first start a mongodb
docker run --name some-mongo -d mongo
docker run  --name some-letschat --link some-mongo:mongo -p 8080:8080 -p 5222:5222 -d sdelements/lets-chat

Wait a couple of seconds and open http://localhost:8080, you should see the Login for Let’s Chat.

Generate a Hubot instance

I didn’t want to pollute my system with all those NodeJS stuff, so I decided to use a pre-built container with Yeoman to generate my Hubot.

docker run --rm -it -v $(pwd)/src:/backup pulse00/yeoman bash

Now I was in the yeoman container and could install and run the generator-hubot:

npm install -g generator-hubot
cd /backup
yo hubot

I switched to directory /backup to generate my hubot sources to my real harddrive. Yeoman asked for some settings and happily generated the bot:

# ls -la
total 108
drwxr-xr-x  5 1000 1000 4096 Oct  4 06:09 .
drwxr-xr-x 26 root root 4096 Oct  4 06:09 ..
-rw-r--r--  1 root root  197 Oct 22  2014 .editorconfig
-rw-r--r--  1 root root   39 Dec 19  2014 .gitignore
-rw-r--r--  1 root root   28 Oct  4 06:09 Procfile
-rw-r--r--  1 root root 7811 Oct  4 06:09 README.md
drwxr-xr-x  2 root root 4096 Oct  4 06:09 bin
-rw-r--r--  1 root root  213 Oct  4 06:09 external-scripts.json
-rw-r--r--  1 root root    2 Oct  4 06:09 hubot-scripts.json
drwxr-xr-x 16 root root 4096 Oct  4 06:09 node_modules
-rw-r--r--  1 root root  642 Oct  4 06:10 package.json
drwxr-xr-x  2 root root 4096 Oct  4 06:09 scripts

I exited from the container and added the generated hubot to my git repository. Then I created a simple Dockerfile to run the hubot inside a container:

FROM	pulse00/yeoman

WORKDIR	/opt/bot

ENV	HUBOT_LCB_TOKEN=my-token-goes-here HUBOT_LCB_ROOMS=room-id-copied-from-URL-goes-here HUBOT_LCB_PROTOCOL=http HUBOT_LCB_HOSTNAME=localhost HUBOT_LCB_PORT=1234  

ADD	src /opt/bot

CMD	["bin/hubot", "-a", "lets-chat"]

The HUBOT_LCB_TOKEN was taken from the hubot account in my Let’s Chat instance and the HUBOT_LCB_ROOMS ID was taken from the URL after joining the room on my instance. After that I can run the container and my hubot instance connects to the chat room.