Aus zwei mach eins

:: Homepage, IT

Bisher hatte ich meine Blog-Einträge auf zwei Blogs aufgeteilt, eines mit mehr technischen (und zum Teil englischen Texten) und dieses hier mit deutschen Texten. Ich denke, ich werde das auf dieses eine Blog hier konzentrieren. Das reduziert doch etwas den Verwaltungsaufwand. Ich habe die Texte vom nun etwas still gelegten Blog hier herüber kopiert.

Ich habe mal Octopress aktualisert

:: Homepage, Octopress

Neulich fiel mir auf, dass die Suchfunktion, die auf Google basiert, nicht nur auf der eigenen Homepage, sondern im “gesamten” Suchindex von Google gesucht hat. Eben flatterte dieser Tweet mit Link zu einem Fix an mir vorbei und da hat sich wohl die API geändert.

Octopress-Tweet

Octopress-Tweet

Also habe ich mich einmal an den Hinweisen zum Aktualisieren von Octopress orientiert. Hierzu werden die folgenden Schritte vorgeschlagen:

git pull octopress master      # Get the latest Octopress
bundle install                 # Keep gems updated
rake update_source             # update the template's source
rake update_style              # update the template's style

Soweit lief das auch. Es tauchten anschließend zwei Probleme auf:

  1. Das execjs jammerte, dass ihm irgendwie eine JavaScript-Bibliothek fehlte. Nach kurzer Recherche gab es die Empfehlung, die Zeile gem 'therubyracer' in das Gemfile aufzunehmen. Okay, das funktionierte schon einmal.

  2. Bei den Feeds für die Kategorien jammerte das Octopress ein ungültiges Layout an. In category_feed.xml stand in der Tat layout: nil. Ich habe das auf layout: page geändert. Nun tat auch dies.

Mit dem Update funktioniert nun auch das Such-Formular wieder.

Ergänzung: Ich lasse das Jekyll und Octopress in einem Docker-Container laufen und irgendwie bekam ich bei rake preview meine Seite nicht mehr zu sehen. Da ich mich mit Ruby und den Komponenten nicht so gut auskenne, weiß ich nicht, ob mein “Fix” so gut ist: Ich habe im Rakefile den rackup-Aufruf um den Parameter -o 0.0.0.0 ergänzt. Dann bekam ich vom Host wieder eine Verbindung zum Webserver im Octopress-Container.

Update vom 04. Januar 2014: Nach einem kurzen Gespräch via Twitter habe ich mich entschieden, den eingebauten Server doch wieder so zu belassen, wie es im Rakefile ursprünglich stand. Statt dessen habe ich einfach in dem Docker-Container einen nginx hinzuinstalliert, der dann mein public-Verzeichnis an den Port 4000 ausliefert. So funktioniert es wieder prima: Ich starte den nginx und lasse dann das rake watch laufen, um die Seiten immer wieder neu zu erzeugen, wenn sich Dinge geändert haben.

Aus der Entscheidung des BVerfG zur Erbschaftsteuer

:: Steuern

Das Bundesverfassungsgerichts hat in seiner Entscheidung vom 17. Dezember 2014 (1 BvL 21/12) Regelungen zur Erbschaftsteuer als verfassungwidrig moniert. Ich finde in der Entscheidung eigentlich den fünften Leitsatz mit am interessantesten:

“Ein Steuergesetz ist verfassungswidrig, wenn es Gestaltungen zulässt, mit denen Steuerentlastungen erzielt werden können, die es nicht bezweckt und die gleichheitsrechtlich nicht zu rechtfertigen sind.”

Nun bin ich kein Steuer-, Verfassungsrechtsspezialist (genaugenommen gar kein Rechtsspezialist) und weiß nicht, ob dieser Satz nicht ohnehin schon gilt oder Verfassungs- und Steurrechtsrealität ist. Ich habe es allerdings in dieser Klarheit noch nicht gelesen. Und wenn ich mir so das eine oder andere Steuergesetz und seine Wirkungen ansehe, dann kommt da unter diesem Leitsatz vielleicht in den kommenden Jahren einiges auf die Gerichte zu.

Migration alter Blog-Einträge

:: Homepage, Org-Mode, Octopress

Es kamen lange Winterabende und ich habe die alten Blog-Einträge von der mittels Org-Mode erstellten Seite hier nach Octopress migriert. Im Archiv sind diese zu finden und die Links etc. sollten nun auch passend mit migriert worden sein.

Bei der Konvertierung habe ich ein Programm kennengelernt, das mir sehr geholfen hat: Pandoc. Das ist ein Konverter, der Text- und Markupdateien hin und her konvertieren kann. Dabei beherrscht er eine ganze Reihe von Formaten. Insbesondere kann er das Org-Mode-Format (das ich für viele Dinge verwende) ebenso wie LaTeX und Markdown (daneben aber auch noch eine Legion von Formaten).

Da mein Hauptdateiformat ohnehin “Textdateien” sind (“Never trust a file that isn’t ASCII”) ist das sehr praktisch, um zwischen verschiedenen Markup-Formaten hin und her zu springen.

Für die Migration meine Blog-Einträge lief dies wie folgt: Ich hatte die in der alten Homepage mit Org-Mode und Org-Jekyll erstellt. Dabei hatte das Org-Jekyll-Modul entsprechende HTML-Dateien mit einem YAML-Header erzeugt. Mittels Pandoc konnte ich die nun wieder nach Markdown konvertieren, habe die YAML-Header ein wenig angepasst, Kategorien aktualisiert und noch mal das Markup zwecks Zeilenumbrüche, Fußnoten und Links geprüft und leicht angepasst. Insgesamt sehr schnell bewältigbar.

Dieser ganze Zoo rund um Markdown und andere ähnliche Formate ist zwar manchmal ein bisschen unübersichtlich, aber mir gefällt das sehr gut, dass man mit wenig Markup schön Textdateien strukturieren kann und dann mit Pandoc auch gut hin und her konvertieren kann.

Warten auf den technischen Fortschritt als politisches Prinzip?

:: Politik

Am 12. November 2014 sendete der Deutschlandfunk in der Reihe “Hintergrund” einen Bericht über die energetische Sanierung mit Wärmedämmverbundsystemen.

Zu der Diskussion wollte sich die zuständige Bundesministerin Barbara Hendricks nicht äußern, das Thema sei nur ein Randthema und sie habe andere Prioritäten. Sehr interessant waren dafür dann die Meinungen des sie vertretenden Staatssekretärs Gunther Adler.

In diesem Blogpost will ich auf einen Aspekt des Berichts eingehen. Es sei wohl so, dass die Entsorgung von Wärmedämmverbundsystemen (also im Wesentlichen auf verschiedene Arten behandeltes Polystyrol) schwierig ist. So wird gesagt:

“Das große Problem ist gerade bei der Polystyrol-Dämmung, dass die Lebenserwartung der Dämmplatten relativ gering ist. Man geht davon aus, dass sie 20 oder 30 Jahre an der Fassade bleiben können, dann ersetzt werden müssen.”

Über die Entsorgung wurde gesagt:

“Das Dämmmaterial Polystyrol darf nicht auf die Mülldeponie, unter anderem wegen der erwähnten Flammschutzmittel. Das Material soll in Müllverbrennungsanlagen vernichtet werden, …”

Auf diese Thematik angesprochen, entgegnete der Staatssekretär unter anderem:

"… da gibt es berechtigte Fragen, da gibt es auch nichts unter den Tisch zu kehren. Da gibt es im Moment noch Forschungsbedarf."

Die DLF-Redakteure wiesen hier jedoch darauf hin, dass das Material seit Langem eingesetzt würde. In den vergangenen 35 Jahren seien 900 Millionen Quadratmeter Wärmedämmverbundsysteme verbaut worden, davon 80 Prozent mit Polystyrol. Hierauf der Staatssekretär:

“Wenn wir da schon heute die Forschung anlaufen lassen und fragen, was passiert eigentlich in 30 oder 40 oder 50 Jahren, wenn das dann mal in die Müllverbrennungsanlage geht, da sollten wir doch offen für technischen Fortschritt in Deutschland sein, dass es unserer Industrie und unserer Forschung gelingen wird, beispielsweise Filteranlagen zu entwickeln, die wirklich garantieren, dass hundert Prozent aller Schadstoffe abgefangen werden.”

Ich fasse zusammen: Das Bundesministerium für Umwelt, Naturschutz, Bau und Reaktorsicherheit unterstützt offen das Inverkehrbringen von Stoffen, deren Entsorgung zumindest “offene Fragen” und “Forschungsbedarf” bringt und das Ministerium findet, der technische Fortschritt wird es schon richten. Kurzum, es gilt das Prinzip “Hoffnung auf die Zukunft” und die Last, sich die Entsorgung zu überlegen, bürdet man den nachfolgenden Generationen auf.

Wo sind in diesem Zusammenhang eigentlich die ganzen Papiere und politischen Ansätze zu Nachhaltigkeit, Verantwortung, Schutz zukünftiger Generationen geblieben? Im Übrigen widerspricht die Haltung auch dem vom Bauministerium selbst herausgegebenen Leitfaden Nachhaltiges Bauen 2013, in dem besonderer Wert auf den Lebenszyklus von Gebäuden auch unter dem Gesichtspunkt der Entsorgung von Materialen gelegt wird.

Wenn schon das Thema “Wärmedämmverbundsysteme” nicht die Priorität der Bundesministerin hat, so muss sie sich fragen lassen, ob gerade im Umwelt- und Bauressort das Prinzip “Hoffnung auf die Zukunft” Leitlinie ihrer Politik ist.

Erfahrungen mit Docker

:: Docker

Ein Bekannter bat mich, einmal von meinen Erfahrungen mit Docker zu berichten. Also hier als Blog-Post dazu. Ich werde nicht beschreiben, was genau Docker ist und wie es funktioniert. Hierzu gibt es mittlerweile schon eine Reihe von guten Quellen (bspw. auf der Docker-Homepage, in der c’t war in Heft 17 (Seiten 146–151) auch eine ganz gute Einführung enthalten).

Aktenführung beim Beitragsservice

:: Allerlei, Behörden

Im Jahr 2012 habe ich mich rechtmäßig (was allerdings auch etwas Überzeugungsarbeit kostete) von der damaligen GEZ abgemeldet und die neue Beitragsnummer mitgeteilt, über die meine damalige Rundfunkgebühr verbucht werden sollte. Der GEZ war meine alte Beitragsnummer, die neue Beitragsnummer sowie meine Anschrift bekannt. Soweit so gut, besondere Veränderungen sind in der Zwischenzeit nicht eingetreten.

Mind the storage driver for Ubuntu cloud images (on Azure)

:: Docker, IT

A few days ago I wanted to build Firefox OS’ newest release for a friend. Because I did not wanted these GB of code, binaries etc. on my notebook I fired up an Ubuntu image on Microsoft Azure. I feared that at a certain point in the build process I may had to download everything to my local machine and therefore I installed Docker via a simple

sudo apt-get install docker.io

Then I started the build process as laid out on Mozilla’s Developer Network. But, during downloading the source code (that’s about 12 GB of Git repositories from Mozilla and Android), I got a “no more space left on device”. That was strange: I had a 100 GB volume attached to the VM and enough space and inodes left. After some searching I asked on the IRC channel and got a good hint: “What’s your storage driver?”

Well, I thought that it’s AUFS; I wanted to add “as usual” because AUFS was available on my notebook from the beginning. But a docker.io info gave me:

$ sudo docker.io info
Containers: 0
Images: 0
Storage Driver: devicemapper
 Pool Name: docker-8:1-131188-pool
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 291.5 Mb
 Data Space Total: 102400.0 Mb
 Metadata Space Used: 0.7 Mb
 Metadata Space Total: 2048.0 Mb
Execution Driver: native-0.1
Kernel Version: 3.13.0-29-generic
WARNING: No swap limit support

I then learned that somehow the DeviceMapper driver only allows a certain amount of diffs and I reached that amount with my build process. (Maybe it’s possible to relax that restriction but I do not know how.)

I learned as well that the Ubuntu cloud image that is provided by Microsoft Azure doesn’t have AUFS support. Therefore Docker uses the DeviceMapper storage driver instead. After I installed the AUFS support I could export the images, change the storage driver and import the images again.

It would be nice seeing the Docker documentation being more detailed on those storage drivers.

(Update 2014–10–23) Thanks to this blog post from Iron.io I found some documentation of the devicemapper storage driver. It is located in the Repository.