Puppet, git und Jenkins: DevOps bei einer Bank

Für das iteratec Tech-Blog habe ich einen Post über Best Practices mit Puppet geschrieben, die ich bei unserem Projekt in einer mittelständischen Bank eingesetzt habe:
Continuous Integration und Continuous Development bei einer mittelständischen Bank

Vorher wurde hier vieles manuell gemacht, was mit großem Aufwand, entsprechender Fehleranfälligkeit und vielen Schmerzen (nicht direkt physisch, aber trotzdem) verbunden war. Das haben wir nun mit Hilfe von Puppet automatisiert.

Ich mache diesen Job ja schließlich, weil ich ganz gut darin bin, Computer für mich arbeiten zu lassen, nicht weil ich die Arbeit eines Computers machen will. 😁😜 

Fotogalerie

Ab jetzt habe ich auch eine Fotogalerie.

Den Anfang macht eine kleine Auswahl an Fotos von der Landesgartenschau in Gießen:

Bewerbungsflyer

Für die konaktiva in Darmstadt habe ich dieses Jahr einen Bewerbungsflyer entworfen, um ausgewählten Firmen direkt eine (etwas ungewöhnliche) Bewerbung mitgeben zu können:

Flyer außen

Flyer innen

(Das Design der Außenseite ist vor allem vom Cover meiner Dissertation inspiriert.)

Bewerbungsflyer — Flyer-Bewerbung

Da so eine solche Flyer-Bewerbung nicht auf das jeweilige Unternehmen zugeschnitten ist, würde ich sie natürlich nur bei derartigen Kontaktmessen einsetzen, aber für diesen Zweck fand ich sehr nützlich. Die Unternehmen haben dann alle nach der Messe noch weitere Unterlagen (Zeugnisse und evtl. einen vollständigen Lebenslauf) angefordert.

Ob der Flyer für die Unternehmen tatsächlich einen Unterschied gemacht hat, weiß ich nicht; vielleicht hätte das Ausfüllen des Fragebogens, den die Unternehmen am Stand haben, den gleichen Effekt gehabt. (Macht aber weniger Spaß, als einen Flyer zu designen. ;-))
Aus vier Flyern wurden drei Einladungen zu Vorstellungsgesprächen (von denen ich eine abgelehnt habe) und schließlich zwei interessante Angebote. 🙂

An dieser Stelle also ein großes Lob an die konaktiva, die sich für mich wirklich gelohnt hat!

git commit hook: Morse Code translation

I am very much in favour of version control systems to keep documents like papers, lecture notes, exercise sheets, … basically everything in.

This is the story of how I tried to convince/train a colleague to write sensible commit messages — which resulted in the probably least useful commit hook ever.

A few weeks into the semester, git log repeatedly showed me the following message:

    ...

My complaining about vacuous commit messages resulted in these:

    bla
    
    blabla

    mehr bla

Several complaints later:

                        .

       .                   .

    .   .                   .

    ..-. .. -. .- .-.. ...- . .-. ... .. --- -. --- ..-. - .... .. .-. -.. ... .

Now hang on… The last one was different! And it went on like that:

    ...- --- .-. ... -.-. .... .-.. .- --. ..-. ..- . .-. .- ..- ..-. --. .- -..

    -. --- -.-. .... . .. -. ...- --- .-. ... -.-. .... .-.. .- --.

Since reading Morse Code nowadays seems like an utterly useless skill, I decided to have a commit hook do this for me.

It is written in Python and adds the translation of the Morse Code (or anything that looks like Morse Code) to the end of the commit message.
You can download it here.

With the first version the commit messages looked as follows:

commit e2af21c6b64bb0d5db1447c92879db4c4c9524f6
Author: Silke Horn

    -- --- .-. ... .  -.-. --- -.. .  .... --- --- -.-
    morse code hook

commit 2d614cce719bebb17798cbf9fcf55157da513e21
Author: Silke Horn

    .. ..-.  - .... .  -- --- ..- -. - .- .. -.  .-- --- -. .----. -  --. .-. --- .--  ..- .--.  -- ..- .... .- -- -- .- -
    if the mountain won't grow up muhammad has to write a hook

I convinced my colleague to install the hook; now the messages were once again easy to read. Unfortunately their content quickly went back to the likes of “bla” and “bla bla”.
So we were back to square one..

New polymake startpage

Today the new polymake startpage went online with a clearer and simpler layout (See here for the old one.) and a set of funny pyramidal icons.

Extending polymake db research team news

Remap Keys on the Kensington Presenter

The Kensington Presenter is my favorite tool for presentations and a simple hack makes it even cooler. Besides a laser pointer, a forward and backward button it has this fourth button (the one with the square) that does not seem to do anything useful. In fact, it sends the key code for “b”, which switches of the screen in Skim (and Keynote, I think) but is not entirely useful elsewhere.

presenter

In some programs (like Terminal or Maple, in our case) one might want to remap this button to Return.

Since I could not easily find the instructions anywhere, I’ll post them myself.
Here’s what worked for me on Mac OS:

Install the software KeyRemap4MacBook. This already has quite an extensive list of presets. But we are going to define our own.
Once you installed KeyRemap4MacBook (and restarted your computer if necessary), open the preference panel. In the tab “Misc & Uninstall” click on “Open private.xml”. Then replace private.xml by the following code:

<?xml version="1.0"?>
<root>

  <devicevendordef>
    <vendorname>KENSINGTON</vendorname>
    <vendorid>0x047d</vendorid>
  </devicevendordef>
  <deviceproductdef>
    <productname>PRESENTER</productname>
    <productid>0x2012</productid>
  </deviceproductdef>

  <item>
    <name>Kensington Presenter Square Key</name>
    <identifier>private.kensington_square</identifier>
    <device_only>DeviceVendor::KENSINGTON, DeviceProduct::PRESENTER</device_only>
    <autogen>__KeyToKey__ KeyCode::B, KeyCode::RETURN</autogen>
    </item>

</root>

You can also download the file here.

Next in the tab “Change Key” click the ReloadXML button. This should add a new item to the list, that you can check if you wish to activate it. It remaps the button with the square to Return.

keyremap4macbook

Diss-Cover

Das Cover meiner Dissertation!

Tropical Oriented Matroids in 3d

I can now present the mixed subdivisions and tropical pseudohyperplane arrangements from my thesis interactively in 3d.

The polymake logo in 3d

Here’s the 3-dimensional object that modeled for the polymake logo:

A three.js interface for polymake

polymake now has a three.js interface to render 3d pictures with the help of JavaScript. These pictures can be easily integrated into a website. I.e., I can now have interactive pictures on my website. You can see more of them in my math gallery.