Skip to content

Benchmarking ...

Man kann viel über Tools lernen, wenn man nachvollziehbare Messungen macht.

Für mich hat sich als sinnvoll erwiesen, fünf Mal zu messen. Die beste und die schlechteste Messung wird gelöscht ("Ausreisser") und aus den verbleibenden drei Messungen nehme ich den Mittelwert.

Die Messungen für den Artikel dd vs. fallocate vs. truncate ... habe ich mit diesem Skript gemacht:
#!/bin/bash
set -o errexit

# echo 'sync ; time (dd if=/dev/zero of=10gig.dd count=20971520 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=10240 count=1048576 ; sync)'
# echo 'sync ; time (dd if=/dev/zero of=10gig.dd bs=20480 count=524288 ; sync)'
# echo 'sync ; time (fallocate -l 10G 10gig.fallocate ; sync)'
echo 'sync ; time (truncate -s 10G 10gig.truncate ; sync)'
for i in $(seq 1 5); do
        sync ; time (truncate -s 10G 10gig.truncate ; sync)
        rm 10gig.truncate
done


Dabei habe ich das Kommando eingesetzt, was ich gerade getestet habe.

Interessant ist, wie sich die Blocksizes bei dd auf die wirkliche Schreibperformance auswirken ... nämlich minimal. Hier kommen nur die mittleren der fünf Werte, die komplette Liste der Messwerte lässt sich hier sehen.

sync ; time (dd if=/dev/zero of=10gig.dd count=20971520 ; sync)
20971520+0 records in
20971520+0 records out
10737418240 bytes (11 GB) copied, 36.6231 s, 293 MB/s

real    2m2.442s
user    0m2.772s
sys     0m33.771s

#####

sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)
10485760+0 records in
10485760+0 records out
10737418240 bytes (11 GB) copied, 20.5773 s, 522 MB/s

real    1m55.923s
user    0m0.974s
sys     0m19.529s

#####

sync ; time (dd if=/dev/zero of=10gig.dd bs=10240 count=1048576 ; sync)
1048576+0 records in
1048576+0 records out
10737418240 bytes (11 GB) copied, 7.79126 s, 1.4 GB/s

real    1m53.523s
user    0m0.123s
sys     0m7.667s

#####

sync ; time (dd if=/dev/zero of=10gig.dd bs=20480 count=524288 ; sync)
524288+0 records in
524288+0 records out
10737418240 bytes (11 GB) copied, 6.87154 s, 1.6 GB/s

real    2m8.122s
user    0m0.068s
sys     0m6.808s

Die Cloud ...

Hier ist endlich einmal eine gelungene Übersichtsgrafik, was mit den ganzen Abkürzungen im Cloud-Umfeld "eigentlich" gemeint ist. Die Bausteine bedingen einander.

Software as a Service (SaaS) setzt auf Platform as a Service (PaaS) auf, die als Basis Infrastructure as a Service (IaaS) hat bis schliesslich die Hardware als Fundament erreicht ist.
(Die verlinkten Wikipedia-Artikel sind auch lesenswert).

Nils Magnus/inovex GmbH


Die Grafik ist dem lesenswerten Artikel Cloud Computing - The Name of the Game entnommen und die Veröffentlichung erfolgt mit freundlicher Genehmigung von Nils Magnus und Marius Moise (beide inovex GmbH). Vielen Dank!

PHP Fortgeschrittene ...

In der letzten Woche durfte ich die Schulung PHP Fortgeschrittene im Linuxhotel besuchen. Gehalten wurde die Schulung von Martin "Joey" Schulze.

Das war mein vierter Aufenthalt im Linuxhotel, aber das erste Mal, dass ich dort eine Schulung besucht habe. Und, ich muss sagen, dass die Schulung grossartig war. Danke Joey! (Lasst Euch von seiner Webseite nicht blenden, er hat wirklich etwas drauf).

Erschreckenderweise - als alter Perl-Liebhaber - muss ich gestehen, dass ich auch von den Möglichkeiten von PHP sehr angetan bin. Da kann man mit relativ wenig Aufwand sehr gute objektorientierte Programme schreiben.

Ich habe viel gelernt!

BTW: PHP muss ich lernen, weil ich in der Firma ein in objektorientiertem PHP geschriebenes System übernehme und erweitern soll. Meine Einarbeitung in PHP - also das Basiswissen - habe ich mir mit diesem Buch angeeignet.

Vielleicht ergibt sich darüber auch die Möglichkeit, "die beste Blogsoftware der Welt" in der Programmierung zu unterstützen.

Der Aufenthalt im Linuxhotel war nett und ich habe es sehr genossen, abends meine Eltern besuchen zu können, so häufig kommt das ja leider nicht mehr vor.

Bloonix wird Open-Source-Software ...

Der Monitoring-Dienst Bloonix von Jonny Schulz wird Open-Source-Software. Über den Dienst habe ich hier im Blog schon einmal berichtet.

Ich freue mich sehr darüber, da ich das für eine ausgereifte Lösung halte, die von Jonny mit viel Liebe gepflegt wird. Ausserdem ist es an der Zeit, dass es eine weitere Alternative zu den derzeitigen Platzhirschen gibt.

Well done!

In dem Zusammenhang: Mein privater Server wird von Bloonix überwacht.

Schöne Schriften ...

Ein Kollege von mir hat die "Source"-Schriftserien von Adobe ausgegraben und mir gefallen sie so gut, dass ich meinen Desktop angepasst habe, um sie zu benutzen.

Die drei Schriftarten, um die es geht heissen:

  • Source Code Pro - eine Schriftart, die sich sehr gut als Schriftart für Monospaced-Geschichten eignet, beispielsweise als Default-Schrift in Editoren oder Terminalfenstern.
  • Source Sans Pro - ist perfekt für Menüs und Übersichten auf dem Desktop (ersetzt bei mir Deja Vu Sans).
  • Source Serif Pro - passt sehr gut bei Drucksachen.


Dass Adobe selber auch im Rahmen von Open@Adobe Teile ihrer Entwicklung als Open-Source-Software veröffentlichen war mir neu. Eine Übersicht findet sich auf der Projekt-Seite.

GFA Basic ...

Ich bin gerade per Zufall auf der Wikipediaseite von GFA Basic gelandet.

Das ist die Programmiersprache, mit der ich auf dem Atari ST gearbeitet habe und die ich aus einigen Gründen echt vermisse.

Der Basic-Dialekt war Pascal-ähnlich, also nichts mit Zeilennummern.

Die "IDE" bestand aus einem Editor, der Syntax-Vervollständigung und automatische Einrückung beherrscht hat und per Tastendruck die Basic-Programme auch ausgeführt hat. Später kam noch ein Compiler dazu.

Gerade diese Art von IDE hatte es in sich und es machte richtig Spass, damit zu programmieren.

Open Source ist unsicher ...

Irgendwie war ja klar, dass der erste grosse Fehler in einer Open-Source-Software die Closed-Source-Befürworter hervorholt, die marktschreierisch rufen, dass Open-Source-Software unsicher sei.

Das ist Quatsch!

Open-Source-Software ist nicht sicherer oder unsicherer als Close-Source-Software. Punkt. Open-Source-Software ermöglicht es aber, solche Fehler, wie den, der bei Heartbleed gemacht wurde, zu finden. Und nach Fehlern kann nicht nur von den Herstellern der Software, sondern auch auch von Fremden - auch von potentiellen Angreifern - gesucht werden. Genau das geht bei Closed-Source-Software eben nicht.

Dass eine Software Open Source ist, ist eine notwendige, aber keine hinreichende Bedingung dafür, dass man einer Software Vertrauen schenken darf. Für Freie Software gilt genau das gleiche.

Was nun passieren muss, ist, dass nicht alle darauf vertrauen, dass Open-Source-Software "schon irgendwie" von anderen geprüft wird, sondern es müssen aktive Audits stattfinden. Prinzipiell erwarte ich insbesondere von Firmen, die Open-Source-Software einsetzen, dass sie sich - mit Manpower oder finanziell - an solchen Audits beteiligen. Der gefundene Bug macht klar, dass wir nicht darauf vertrauen sollten, "dass es schon jemand anderes macht".

Mir würde es gut gefallen, wenn sich eine Organisation gründen würde, die Spenden entgegen nimmt und solche Audits durchführt. Eventuell liesse sich auch ein Crowdfunding durchführen.

Ach, ja, den Kritikern, die denken, dass Open-Source-Software nur von Amateuren programmiert wird, sei der Beitrag Kritiker zweifeln an der Zuverlässigkeit vom Deutschlandfunk empfohlen.

Heartbleed ...

Manchmal lohnt es sich, ein konservativer Administrator zu sein. Heartbleed ist die Sicherheitslücke in OpenSSL 1.0.1, die dazu führt, dass Angreifer zufällige Daten aus dem Speicher des Servers lesen können.

Ich habe natürlich brav im Rudelreflex ein neues Zertifikat erstellt und wollte auch den Hostnamen ändern bis ich mal - ausnahmsweise - so schlau war, mir die Versionsnummern genauer anzuschauen.

Der Server läuft mit Debian 6.0.9 oder Squeeze (Oldstable). Und in Squeeze ist die Version 0.9.8 von OpenSSL enthalten, die nicht vom der Sicherheitslücke betroffen ist.

Wer lesen kann ...

Solaris x86 ...

Neulich habe ich festgestellt, dass sich Solaris 10 und Solaris 11 mit einem freien Oracle Account herunterladen lassen. Da mich die beiden Betriebssysteme, insbesondere die x86-Vairante, interessieren (kann man unter Linux virtualisiert laufen lassen), habe ich mal jemanden gefragt, der sich auskennt, welche Literatur empfehlenswert ist.

Wolfgang hat daraufhin die folgende umfangreiche Liste zusammen gestellt.

Danke!

Bemerkung am Rande: Wie auch bei Red Hat oder SUSE üblich, muss man das Produkt kaufen und registrieren, um die Update-Channel eintragen zu können. Zum Ausprobieren reicht es aber.

Präsentationsformen ...

Von Zeit zu Zeit bekomme ich das Vergnügen, einen Vortrag zu halten und jedes Mal aufs Neue stellt sich die Frage nach der richtigen Präsentationsform.

Ich halte nichts von den Präsentationsprogrammen der Office-Programme, egal, ob es Powerpoint, Impress oder irgendetwas anderes "integriertes" ist. Ich mag nicht gebremst werden und ich mag es, ohne Mausbenutzung, nur mit der Tastatur zu schreiben.

Wenn das ganze dann noch Open Source ist und möglichst, in einer einzigen Datei daher kommt, bin ich froh. Zwischenzeitlich habe ich einfache Textdateien benutzt. Das Verfahren ist hier im Blog schon beschrieben worden (meine beiden Workshops zu praktischer Administration habe ich so gehalten: Teil 1 und Teil 2 inklusive Videos).

So konnte es nicht weitergehen, daher habe ich mir die folgenden Tools und Möglichkeiten angeschaut:


Alle Verfahren haben spezifische Vor- und Nachteile.

Derzeit arbeite ich PDF-Dateien, die LaTeX Beamer erzeugt, sie enthalten auch Links und sind in meinem Speakerdeck-Account zu finden.

Weitere Style Guides ...

Via Twitter habe ich das Mutterprojekt der Google Styleguides ("Style guides for Google-originated open-source projects") gefunden.




Da gibt es also nicht nur den Shell Style Guide, den ich hier erwähnt habe. Es hätte mich auch überrascht, wenn es anders wäre.

Shell Style Guide ...

Bei Google gibt es einen Shell Style Guide, den ich wirklich jedem nur ans Herz legen kann.

Die Regeln sind sinnvoll und helfen, dass Skripte auch eine Woche nachdem sie geschrieben wurden noch verstanden werden können. :-)

Einiges ist sicherlich diskussionswürdig und Geschmackssache, ich würde Perl statt Python für längere Skripte nehmen, aber in Summe ist das Dokument prima.

Einführung in Git ...

Bei Google+ wurde ich danach gefragt, ob ich die Kurzeinführung in Git, die ich auf der Arbeit gehalten habe, veröffentlichen könnte. Hier ist sie.

Die Beispiele lohnen sich nur, wenn man sie versucht, nachzuvollziehen.



Viel Spass.

Das PDF (rund 100 kB) kann man hier herunterladen: einfuehrung-git.pdf

Lizenz ist CC-BY, das liefere ich auch noch im PDF nach.

Kaputt ...

Das passiert ja "eigentlich" nur "den anderen". Kurz nach Ablauf der Garantie ist mein Hauptrechner zuhause ein halbes Jahr nach Ablauf der Garantie aus dem Tiefschlaf nicht wieder aufgewacht.

Daten habe ich glücklicherweise keine verloren. Trotzdem ärgerlich so etwas.

Ob ich mir noch einmal einen Rechner zusätzlich zum Notebook kaufen werde, weiss ich nicht. Momentan hängt das Notebook mit ordentlicher Tastatur am grossen Monitor und tut, was es soll. Mir fehlt nur eine Dockingstation zum Glück.

Wenn jemand von Euch weiss, wo man einen Portreplikator oder eine Dockingstation für ein Thinkpad X201i herbekommt, bin ich für jeden Tipp dankbar.