Ein Blog, in dem nicht geblogged wird, ist doof! Also – hier wir gehen:

Kindle Touch WLAN

Kindle Touch WLAN

Ich habe mir einen Kindle Touch WLAN (ohne 3G) gekauft. Per 3G verbunden zu sein ist, zumal das eine 1x Zahlung für die Datenverbindung ist, sehr cool! Aber als Android-Nutzer, in welchem man das Tethering aktivieren kann, finde ich das dennoch unnötig rausgeschmissenes Geld. Dabei verbindet sich das Handy, welches heutzutage eh meistens eine Datenflatrate hat, mit dem Internet und stellt “sich selbst” gleichzeitig per WLAN als AccessPoint zur Verfügung. Dieses WLAN kann der Kindle Touch ja dann wiederum ganz normal nutzen und Vóila: Hat man fast dieselbe Lösung für lau! :)

Das Gerät ist echt geil! Der Akku hält ewig! Einfach: Ewig! Zudem ist der auch noch Hammer schnell wieder aufgeladen: Ich wollte mit Calibre mal testweise 5 Bücher auf das Gerät kopieren. Dazu habe ich den Kindle länger als nötig am PC angeschlossen gelassen (~50 Minuten). Als ich den abziehe: Akku voll :D

Warum braucht man mit Smartphones und Tablets eigentlich noch einen eBook Reader?“, habe ich mich bis vor kurzem gefragt. Zumal ich ja mit dem Samsung Note so ziemlich das größte Handy haben dürfte, das es auf der Welt gibt. Menschen, mit einem Tablet sind noch besser dran. Und am PC hat man sowieso immer alles was man braucht. DENKSTE!
Der Maßgebliche Unterschied ist zweierlei. Zum einen:

  1. Die Akkulaufzeit
    Stand-by hält das Gerät mehrere Monate durch. Es zeigt dann einen statischen Bildschirmschoner an, welcher keinen Strom benötigt. Nur die Standby geschaltete Elektronik im Gerät verbraucht dann noch minimal Strom. Überhaupt benötigt diese E-Paper-Technologie wohl nur Strom, wenn es neu aufgebaut werden muss; z.B. wenn man umblättert. Bei 2-3 Stunden lesen am Tag und fleißigem Blättern hält der Akku trotzdem noch 2-4 Wochen durch! Welches Tablet oder Notebook kann da mithalten?
  2. Die Displaytechnik
    Es ist unglaublich: Ich muss sagen, ich kann das nicht anders beschreiben als mit dem Begriff “elektronisches Papier”. Man erwartet immer das es spiegelt, oder das man, sobald die Sonne darauf fällt, nichts mehr erkennt, wie bei Handys oder Monitoren halt. Aber stattdessen sieht es aus wie eine echte Buchseite: Es wird eher besser erkennbar als das es stört. Das ist echt Wahnsinn! Wie geschaffen für Bus und Bahn (wo irgendwie immer Sonne reinfällt) oder den Garten.

Einzig zwei Nachteile habe ich gefunden:

  1. Die Displaytechnik
    Nein, kein Schreibfehler: Der große Vorteil wird in dunklen Räumen zum Nachteil. Wenn ich sage “wie eine echte Buchseite”, dann meine ich das auch: Wenn man ein normales Buch nicht mehr erkennen kann, kann man mit dem E-Reader auch nichts mehr anfangen. Jedoch gibt es Zubehör für das Gerät: Ich habe mir eine Hülle gekauft, die das Gerät zum einen auch in einem Rucksack oder der Tasche vor Beschädigungen schützen und die zum anderen eine eingebaute Leselampe hat. Strom dafür holt sie sich direkt aus dem Kindle, der extra für sowas Kontakte auf der Rückseite hat.
    Zudem kann das Gerät halt ausschließlich Graustufen anzeigen. Schaut man sich ein farbiges PDF an, kann es schonmal sein, das die Kontraste in Bildern nicht wirklich gut sind.
  2. PDF Support
    Der Kindle  kann PDF Dateien anzeigen, jedoch neben der Einschränkung, das er keine Farben anzeigen kann, bietet er leider auch keine wirklich gute Zoomfunktion, so das das lesen eindeutig weniger angenehm ausfällt als die extra dafür gemachten EPUB oder MOBI E-Book-Formate. Man muss sich vorstellen, das ein Buch, welches z.B. große oder keine DIN-A-Irgendwas – Maße hat, passend auf das Display skaliert werden müssen. Dabei wird die Schrift teilweise schon arg klein, so das man eigentlich schon fast mit dem Zoom arbeiten muss. Und das Scrollen zu richtigen Position gestaltet sich durch eine gewisse Trägheit des Displays schon recht schwierig.

Wie auch immer: Ich finde das Teil super! Mir fällt auf, das ich das lesen darauf auch viel angenehmer empfinde als auf dem Notebook-Display. Technische Dokumentationen oder Lehrbücher liest man damit sehr angenehm. Alleine dafür lohnt es sich für mich!

Wer lieber eine größere Auswahl an Geräten haben möchte sollte allerdings noch ein paar Monate warten: Wenn man sich auf Amazon.com umschaut, entdeckt man viel mehr Geräte als es auf dem deutschen Markt bislang zu kaufen gibt. Darunter auch ein Modell mit 9,7 Zoll E-Paper-Display (der Kindle Touch hat 6 Zoll), auf dem das PDF Problem sicher etwas weniger unangenehm auffallen dürfte und ein Modell mit Farb-(LED-)-Display. Allerdings kostet das größere Modell (Kindle DX) auch mehr als das Dreifache und ist durch die Größe natürlich auch unhandlicher. Das Fabmodell (Kindle Fire) hat wieder den Nachteil, das der Akku nur rund 8 Stunden hält und dürfte überdies auch wieder deutlich anfälliger für Sonneneinfall sein; auch dieses Modell kostet fast doppelt soviel wie der Kindle Touch. Ehe man sich das Kindle Fire zulegt, sollte man meiner Meinung nach also doch eher zu einem Tablet greifen. Diese sind auch nicht maßgeblich teurer und bieten darüberhinaus jedoch viel mehr Möglichkeiten.

Ich finde den Touch zur Zeit die beste Wahl bei einem Preis der voll OK geht. Gerade wer häufig liest dürfte mit den günstigeren E-Books auch das Geld bald wieder drin haben, da diese meist deutlich günstiger angeboten werden als die Printversion. Aber auch vollkommene Sparfüchse kommen auf Ihre Kosten, kann man sich doch auch anderweitig “organisierte” Bücher völlig kostenlos auf das Gerät laden … ;)

Ich beschäftige mich derzeit wieder massiv mit Puppet. Heute wollte ich den in Ruby und den Puppetmaster eingebauten Webserver “WEBrick” durch den Apache ersetzen. Das klappte auch alles ganz toll, nur leider beschwerte sich das Passenger – Modul nach jedem Lauf des lokalen Puppet Agents darüber, das es das SSL Zertifikat unter /var/lib/puppet/ssl/private_keys/ nicht mehr zugreifen kann. Und in der Tat: Ich habe folgendes in dieser Reihenfolge gemacht:

  • den Apache beendet
  • chown puppet:puppet /var/lib/puppet/ssl/private_keys/servername.pem
  • chmod 640 /var/lib/puppet/ssl/private_keys/servername.pem
  • den Apache gestartet

Prüft man nun die Berechtigungen auf /var/lib/puppet/ssl/private_keys/servername.pem ist alles prima; auch die Puppet Agents können auf den Apache zugreifen und alles klappt!

Sobald man aber auf dem Puppetmaster – Server den Puppet Agent auch nur einmal startet , gehört das Zertifikat wieder root:puppet und hat den Modus 600! Lässt man den Puppet Agent mit --debug laufen, gibt dieser das auch ganz offen zu:

debug: /File[/var/lib/puppet/ssl/certs/servername.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
debug: /File[/var/lib/puppet/ssl/public_keys/servername.pem]: Autorequiring File[/var/lib/puppet/ssl/public_keys]
debug: /File[/var/lib/puppet/ssl/private_keys/servername.pem]: Autorequiring File[/var/lib/puppet/ssl/private_keys]
debug: /File[/var/lib/puppet/ssl/private_keys/servername.pem]/owner: owner changed 'puppet' to 'root'
debug: /File[/var/lib/puppet/ssl/private_keys/servername.pem]/mode: mode changed '0640' to '0600'
debug: /File[/var/lib/puppet/ssl/public_keys/servername.pem]: Autorequiring File[/var/lib/puppet/ssl/public_keys]
debug: /File[/var/lib/puppet/ssl/certs/servername.pem]: Autorequiring File[/var/lib/puppet/ssl/certs]
debug: /File[/var/lib/puppet/ssl/private_keys/servername.pem]: Autorequiring File[/var/lib/puppet/ssl/private_keys]

Zum Glück kann man dieses aber mit der weniger populären Konfigurationsoption “manage_internal_file_permissions” in der Datei /etc/puppet/puppet.conf verhindern:

[agent]
...
manage_internal_file_permissions = false
...

Eigentlich sehr naheliegend, aber ich habe irgendwie nicht die richtigen Buzzwords gehabt und die Recherche hat mich 1,5 Stunden gekostet … :P

Jaaaa – also ich betreibe ja seit einigen Jahren diesen Server. Seit dem letzten Umzug im August 2010 läuft er unter einem bei Strato angemietetem “Dedicated Power-Server MR (v5.4)”. Dabei handelt es sich um “echte” Hardware, nicht um ein virtualisiertes System. Schon länger reicht dieses recht spartanisch ausgestattete System nicht mehr wirklich für die Anforderungen. Aktuell laufen 8 nicht ganz inaktive Homepages auf der Maschine (keine statischen HTML Dateien: PHP Scriptseiten wie WordPress, TYPO3, phpBB Foren, etc.), er ist Mailserver für etwa 9 Domains (samt Spamfilter), berechnet Statistiken, das System selbst (Gentoo Linux -> Software wird kompiliert) will auch gewartet werden, …

Kurz: Das Teil hat einiges zu tun! Dabei war nichtmal unbedingt der Prozessor das Problem, sondern RAM und Storage. Das ganze System ist recht betagt, wie wir gleich noch sehen werden. Neben diesen Diensten mit 1 GB RAM auch noch gescheit einen MySQL Server darauf zu betreiben “geht” technisch zwar, macht aber nicht wirklich Spass.
Es musste also ein zweiter Server als MySQL Host her. Seitdem laufen diese Seiten auf 2 Servern. Seitdem denke ich jedoch auch, das der Basis-Server nicht mehr wirklich rentabel funktioniert. Also habe ich mal die Fühler nach günstigeren Angeboten ausgestreckt. Kriterien waren dabei:

  • Speicherplatz mindestens 50 GB ( ~ 30 aktuell verwendet )
  • Möglichkeit ein Gentoo / Funtoo auf dem System installieren zu können
  • CPU und RAM mehr / schneller als aktuell
  • Preis sollte geringer sein als aktuell
  • Keine Mindestvertragslaufzeit

Ob das ganze virtuell oder physikalisch ist, ist mir dabei erstmal egal.

Ich bin also letztendlich auf die vServer der Firma netcup aufmerksam geworden. Server4You, Domain Factory und (wieder) Strato haben zwar auch atraktive Angebote, jedoch schneiden sie (für meine Anforderungen) leider “schlechter”* ab als netcup:

*:
Kurzes Vorwort zu “schlechter”: Um fair zu bleiben: Ich habe hier nur reine Zahlen aus den Angeboten verglichen. Ich habe mich nicht in jedem Angebot eingelogged und die Performance so detailiert verglichen wie zwischen netcup und Strato. Jedoch: Wenn die Anbieter die absolute Performance Ihrer Produkte in’s Feld führen möchten, sollten Sie diese Zahlen mit in die Angebote aufnehmen.
PS: @Alle Hoster: Sollte irgendwer daran interessiert sein, das ich deren Angebot hier kostenlos Re-Evaluiere: Über mein Mailformular könne Sie mir gerne unverbindliche Probezugänge zu Ihren Produkten mit der Bitte um Tests zukommen lassen ;)

  • Strato
    Das Angebot für “Dedicated Server” ist zwar nach wie vor nahezu ungeschlagen gut was das Preis-/Leistungsverhältnis angeht ( HighQ-Server XS ist sehr cool! ), jedoch hat man hier leider ( selbst als Stammkunde ) wenigstens 6 Monate Mindestvertragslaufzeit. Ebenso muss man 29,- € für die Grundeinrichtung bezahlen. Beides etwas, was ich nicht mehr möchte.
    Die vServer von Strato können (mich) da jedoch schon weniger überzeugen: Die Preise beginnen (mit powerServer A) bei 7,90 / Monat (was OK, aber mehr ist als bei netcup), der RAM beträgt nur 512 MB (statt 1 GB bei der Konkurenz), der Speicherplatz beträgt nur 25 GB (ebenfalls Markt-Schlusslicht), … nichts für mich.
  • Domain Factory / JiffyBox
    Domain Factory hat mit seinem “JiffyBox” getauften vServer Angebot schon eine coole Sache am Start: Man meldet sich an und bezahlt erstmal nichts. Man kann in Minuten neue (v-)Server hochfahren, herunterfahren, einfrieren, löschen, klonen, … sehr cool! Man bezahlt dann nur für die Nutzung der tatsächlich genutzten Maschinen. Allerdings: Will man diese dauerhaft betreiben wird’s verhätnismäßig teuer: Selbst das günstigste Angebot kostet dann rund 14,90 € / Monat (0,02 ct pro Stunde * 744 Stunden pro Monat). Das ist für temporäre Präsenzen OK, aber auf Dauer gibt es günstigere Alternativen.
  • Server4You
    Für meine Anforderungen: Einfach zu teuer! 8,85 € / Monat für einen vServer mit 25 GB Storage: netcup ist auch hier wieder günstiger. Allerdings: Man kann deren Produkte unverbindlich 4 Tage lang testen und herausfinden, ob sie passen oder nicht. Allerdings scheidet das Angebot für mich wegen des Storage-/Preisverhältnisses aus.
  • netcup
    Ich habe mich für das Angebot vS Uranus light entschieden. Das ganze hat eigentlich alles was ich brauche, ist mit 6,99 € / Monat sehr günstig und deckt alle zuvor genannten Kriterien ab. Details folgen.

Was bei netcup sehr cool ist: Man kann das Angebot in Ruhe unter die Lupe nehmen (da monatlich kündbar). Ebenso hat man alle Zeit der Welt für eine Migration, da man für ~ 7 € / Monat ruhig mal einen bis zwei Monate diese Server parallel betreiben kann.

Für mich ist jetzt natürlich wichtig, das ich das, was bereits auf diesem Server besteht und läuft, übernehmen kann und dabei nichts merkbar langsamer wird. Also habe ich einmal einen Benchmark der beiden Systeme in den für mich relevanten Bereichen durchgeführt:

  1. Storage-Performance
  2. RAM-Performance
  3. CPU-Performance

Um dieses zu messen, habe ich auf dem aktuellen Server alle Dienste beendet (was die Downtime zwischen 15 und 23 Uhr am 01.04.2012 erklärt) und auf diesem wie dem netcup-System die folgenden Tests durchgeführt:

Im folgenden die Ergebnisse.
Zunächst einmal ein reiner Listenleistung-Vergleich:

Strato netcup
RAM
Typ DDR2 133 Unbekannt
Menge 1 GB 1 GB
HDD
Typ Hitachi HDT725025VLA380 Unbekannt
Größe 250 GB 80 GB
CPU
Typ AMD Opteron 1210 HE Intel Xeon CPU E5620
Anzahl 1×2 Cores (2) 4×4 Cores (16)
Geschwindigkeit (Liste) 1,8 GHz 2,5 GHz
Preis
29,90 € 6,99 €

HDD ist zwar bei netcup deutlich kleiner als beim aktuellen Stratovertrag, aber für meine Anforderungen ausreichend.
Alles andere sieht laut Liste deutlich besser aus. OK, fairer weise muss man sagen, das das aktuelle Strato Angebot besser ist (HighQ-Server XS), aber für mich halt nicht so leicht zu wechseln wie zu netcup. Weder kann ich so lange günstig parallel fahren wie bei netcup, noch sehe ich die Notwendigkeit weiterhin monatlich fast 30 € zu bezahlen, wo es rund 7 € auch tun. So viel ist “Platz nach oben” nun im privatem Sektor auch wieder nicht wert.

Kommen wir zu den Messergebnissen:

Als Messgrundlage dienen dd , bonnie++ (v1.96) und sysbench (v0.4.10).

Die ausgeführten Kommandos lauten:

  • sysbench –test=memory –memory-scope=$scope –memory-oper=$operation –memory-access-mode=$accessmode run
  • sysbench –test=cpu –num-threads=$numthreads –cpu-max-prime=20000 run
  • dd if=/dev/urandom of=benchfile bs=1024K count=1024
  • bonnie++ -u root | bon_csv2html

Die mit “$”-vorangestellten Werte zu sysbench findet man in folgender Tabelle nebst Ergebnissen:

Strato netcup
sysbench – RAM
$scope=global, $operation=read, $accessmode=seq 839.4359s 36.9148s
$scope=global, $operation=read, $accessmode=rnd 839.9471s 39.1572s
$scope=global, $operation=write, $accessmode=seq 869.6518s 66.8758s
$scope=global, $operation=write, $accessmode=rnd 848.0943s 41.8068s
$scope=local, $operation=read, $accessmode=seq 837.1526s 37.4726s
$scope=local, $operation=read, $accessmode=rnd 849.7811s 38.9301s
$scope=local, $operation=write, $accessmode=seq 877.9626s 67.3201s
$scope=local, $operation=write, $accessmode=rnd 852.2366s 40.9074s
sysbench – CPU
$numthreads=2 60.5573s 20.1742s
$numthreads=16 n/a 4.2365s

Wir sehen also schonmal zum Thema CPU und RAM: Das netcup vServer – System hat hier klar die Nase vorn! Der RAM ist rund 20x schneller als der des Strato-Systems und die CPU ist bei der Berechnung von Primzahlen bei “nur” 2 von 16 möglichen, parallelen Threads ebenfalls etwa 3x schneller. Gesteht man der Primzahlenberechnung die zur Verfügung stehenden 16 parallelen Threads zu, ist sie beim netcup-System gar ca. 15x schneller.

Im Bereich RAM und CPU also klarer Sieger: netcup vServer!

Schaut man sich an wie lange es dauert eine 1GB große Datei wegschreiben zu lassen gewinnt hingegen klar das Strato-System:

Strato netcup
dd – Benchmark
dd if=/dev/urandom of=benchfile bs=1024K count=1024 140 Sekunden 245 Sekunden

Der dd-Test zeigt eine Schreibperformance beim Strato-System, die rund 1,75x so schnell ist wie die des netcup vServers. Klar, das ist ein sehr realitätsferner Test, aber es folgt noch ein Test mit bonnie++, welcher diesen Eindruck unterstreicht:

Version 1.96 Sequential Output Sequential Input Random
Seeks
Sequential Create Random Create
Size Per Char Block Rewrite Per Char Block Num Files Create Read Delete Create Read Delete
K/sec % CPU K/sec % CPU K/sec % CPU K/sec % CPU K/sec % CPU /sec % CPU /sec % CPU /sec % CPU /sec % CPU /sec % CPU /sec % CPU /sec % CPU
netcup vServer
2G 559 95 118663 23 130356 15 2958 97 3083240 98 11990 168 16 86 0 +++++ +++ 92 0 1986 15 +++++ +++ 8211 58
Latency 33601us 6533us 14883us 15201us 3187us 5198us Latency 14321us 915us 73617us 1517ms 1302us 26563us

 

Version 1.96 Sequential Output Sequential Input Random
Seeks
Sequential Create Random Create
Size Per Char Block Rewrite Per Char Block Num Files Create Read Delete Create Read Delete
K/sec % CPU K/sec % CPU K/sec % CPU K/sec % CPU K/sec % CPU /sec % CPU /sec % CPU /sec % CPU /sec % CPU /sec % CPU /sec % CPU /sec % CPU
Strato Server
2G 276 99 50075 20 31729 14 1207 98 73802 15 411.0 10 16 16859 66 +++++ +++ 23837 73 18097 75 +++++ +++ 23827 73
Latency 50975us 1783ms 968ms 20773us 44806us 375ms Latency 11620us 2495us 2336us 307us 27us 356us

In puncto Storage hat also sowohl in Größe wie in Geschwindigkeit das (nicht-virtuelle) Strato-System klar die Nase vorn.

Wie sieht das ganze bei einem etwas realitätsnäherem Test aus? Zum Vergleich habe ich einmal den Gnu C Compiler (gcc) in Version 4.5.3 auf beiden Systemen kompiliert. Hier die Ergebnisse:

Strato netcup
Gnu C Compiler Kompilierung – Benchmark
Kompileren (emerge =sys-devel/gcc-4.5.3) 57m57.791s 24m55.387s

Ergo: Das netcup System ist hierbei gut doppelt so schnell.

Da das Ganze ja nun doch recht I/O – lastig werden wird, bin ich mir noch nicht ganz sicher ob das wirklich die richtige Entscheidung ist, das bestehende System gegen dieses netcup vServer System zu ersetzen. Wir werden sehen.

Soweit zumindest schonmal meine Analyse :)

Wie immer bin ich für Kritik offen und dankbar.

Ich habe gestern, am 26.3.2012 um 22:33 Uhr einen Artikel geschrieben. Das ist “einer dieser 08/15 – Artikel”, die einfach so nebenbei mal kommen und nicht wirklich etwas tiefgründigeres ausdrücken oder gar bewirken sollen. Jedoch schreibe ich darin etwas, was ich aus jetziger Sicht (rund 22 Stunden später) einfach um 180 Grad falsch dargestellt habe; zumindest konnte bei meiner nicht immer neutralen Schreibweise dieser Eindruck entstehen. Daher möchte ich hiermit so zu sagen sowohl eine Wiedergutmachung leisten, wie auch mein Gewissen beruhigen. Denn, auch wenn ich hier manchmal recht direkte Worte für bestimmte Dinge finde, schreibe ich jedoch stets die Wahrheit und nur Dinge, hinter denen ich zu 100% stehe.

Warum ich dafür einen neuen Artikel schreibe und nicht den ersten Artikel einfach profan verändere? Page Rank, Aufmerksamkeit auf neue Themen (Leute lesen sich einen nur leicht veränderten Artikel einfach kein zweites Mal durch), Langeweile, … wie auch immer ;)

In diesem Artikel habe ich mich unter anderem darüber enttäuscht gezeigt, das im Rahmen der Netways Puppet Schulung ein Raucherzimmer für mich gebucht wurde und das mir das unangenehm ist. Beim erneuten Lesen des Artikels bin ich richtig froh, das ich dazu gebracht wurde mir das nochmal anzusehen, denn selbst ohne folgendes Ereignis kann das Hotel nichts dazu, was für mich gebucht wurde.

Jedenfalls bin ich heute, einen Tag später gegen 12 Uhr, von Frau Tamara Zschiesche, der “Sales Executive” des Hotels park inn in Nürnberg, angesprochen worden:

Sie: “Sie sind doch der Herr Richter, nicht?”
Ich: “Ähh – ja … ?”
Sie: “Mir ist zugetragen worden, das sie mit Ihrem Zimmer nicht zufrieden sind. Sie können direkt umziehen wenn Sie wollen.”
Ich (denkend, das jemand auf meiner Arbeit meinen Blog gelesen und sich beschwert hat): “Ähh – naja: Es ist halt ein Raucherzimmer. Aber beschwert habe ich mich nicht.”
Sie: “Nein nein – trotzdem: Wenn Sie wollen weise ich gleich den Zimmerservice an Ihre Sachen in ein Nichtraucherzimmer umzuräumen!”

Habe ich zwar lieber alleine gemacht, aber: … WOW! Ich habe wenig später auf meiner Arbeit angerufen um das zu klären – aber da konnte sich auch keiner einen Reim drauf machen.

Als ich “umgezogen” bin konnte ich mir die Frage an Frau Zschiesche einfach nicht verkneifen, was denn nun dahinter steckt. Darauf musste sie lachen und meinte nur: “… sie haben einen Blog. Wir haben gewisse Monitorings auf solche Stichworte und Bewertungen.”.

Also erstmal: … nochmal WOW! Nicht nur das das “park inn Nürnberg” nichts dafür kann, das ein Raucherzimmer für mich gebucht wurde und nicht nur das hier innerhalb von offenbar Stunden ein diesbezüglicher Blogeintrag, abseits der großen Plattformen wie Facebook, Holiday Check oder verschiedenen Blog-Hoster auf einem selbstgehostetem Blog gefunden und an die Leiterin des Hotels gemeldet wird: Auch die überdurchschnittlich faire und zuvorkommende Art und Weise wie diese damit umgeht (mit einer zeitnahen, problemlosen Umbelegung auf ein neues Nichtraucher-Zimmer nämlich) finde ich einfach nur krass! Sowohl technisch, wie auch von Seiten des Hotels. Also “park inn” – Hotels? Zu 110% empfehlenswert!
Und in diesem speziellen Fall: Gleichwertig ein besonderes Dankeschön und Entschuldigung an das Nürnberger “park inn” – Hotel auf der Sandstraße 2-8 !

Obwohl es, wie gesagt, nicht die Schuld des Hotels war, habe ich folgende Widmung im neuen Zimmer vorgefunden:

"park inn" Hotel Nürnberg - Zimmer 2 - Grussschreiben

"park inn" Hotel Nürnberg – Zimmer 2 – Grussschreiben

Ansonsten, hier noch zwei Bilder des neuen Zimmers. Es mag sein das das nur für mich so aussieht, da ich die frische Luft eines Nichtraucherzimmers zum Vergleich mit heranziehen kann, aber ich finde das die folgenden Bilder deutlich weniger Nikotin-Gelbstich haben als die im ersten Artikel ;) :

"park inn" Hotel Nürnberg - Zimmer 2 - Fensterseite

"park inn" Hotel Nürnberg – Zimmer 2 – Fensterseite

"park inn" Hotel Nürnberg - Zimmer 2 - Türseite

"park inn" Hotel Nürnberg – Zimmer 2 – Türseite

UPDATE: Bitte diesen Artikel nicht lesen ohne darauf den zweiten Teil zu lesen!

Wie ihr ja eventuell wisst, bin ich zwischen Montag und Donnerstag abend in Nürnberg, um an der Puppet Schulung von Netaways teilzunehmen.

Das war mein erster Flug im Leben überhaupt, mit Ausnahme des einen Mals, als ich als … 10 jähriger oder so “im Reisegepäck” meiner Mutter mit nach Griechenland geflogen bin. Der Check-In war easy und witzig: Ich habe doch glatt vergessen mein Penner-Gewürz (Tränengas) aus meiner Tasche zu nehmen und durfte das dann erstmal entsorgen gehen …  ;-) Selbst schuld und sonst alles voll locker. Ich hatte einen großzügigen Puffer, also lief das alles auch stressfrei.

Der Flieger selbst sah komisch aus: Ich habe einen Riesenflieger erwartet, wo es alleine ‘ne Stunde dauert, bis alle eingestiegen sind. Stattdessen sah das aber aus wie ein mit Sitzplätzen vollgestopfter Privatjet: es gab nicht so eine Schleuse, die an den Flieger rausgefahren wird und man ebenerdig zusteigt, sondern so eine typische Klapptreppe und man wurde bis vor den Flieger gefahren.
Hinter mir sass leider so ein Asi, der den Ruf von uns echten Metal-Fans leider im Rest der Bevölkerung runter reißt: Kopfhörer dauer-aufgedreht, so das er im Wartebereich des Gates vom Personal schon übel (aber angemessen) zur Sau gemacht wurde; was ihn aber keineswegs davon abgehalten hat dasselbe im Flieger wieder zu machen. Naja, was soll’s; der Flug selbst dauerte ja nur eine knappe Stunde, da kann man auch so einen kleinen Scheisser am leben lassen.

Was mich mal wieder total genervt hat war, wie sehr die Gesellschaft doch eigentlich Zombies ähnelt. Es wurden z.B. während des Fluges kleine Plastiktüten mit Saltletts – Gebäck ausgeteilt. Sofort: *knister, Knister, KNISTER …* alle packen den Scheiss aus und fangen an zu fressen; egal ob die Bock auf was zu knabbern haben, oder nicht. Es wird ausgeteilt, es ist umsonst, also: *Nom, nom* … Ich habe meine nicht angerührt: Hier der Beweis:

Meine ungeöffnete Bordnahrung

Meine ungeöffnete Bordnahrung

 

Naja, auch egal. Die Taxifahrt war cool. Die Taxifahrerin hat gemerkt das ich im vorbeifahren total fasziniert diesen … mittelalterlichen Wall mitten durch Nürnberg angesehen habe. Da hat sie mir direkt noch eine kleine Hintergrundgeschichte der Stadt und den Sehenswürdigkeiten auf dem Weg gegeben. So auch (ungefragt!) wo das Rotlichtmilleu losgeht. Das lief in etwa so: “Und da, hinter dem Wall, da sind die Puffs und … oh, wir sind da!”. Mit anderen Worten: Das Hotel ist genau an der Puffmeile.
Naja, egal. Ich hatte, gerade angekommen, noch Hunger. Also machte ich mich auf den Weg in die Stadt … tote Hose. Was eigentlich gut ist: Ich habe keinen einzigen Dönergrill oder Pizzeria gefunden! Bei uns sind die ja häufiger als Wohnhäuser … dennoch fand ich nur ein Sausalitos. Da habe ich mir direkt eine Portion Hähnchen Fajitas, zwei Weizenbier und als Absacker einen Whiskey-Cola reingezogen :)

Auf dem Rückweg wollte ich mir diese echt coole Mauer reinziehen. Man muss sich das so vorstellen, das Hauptstraße, Mauer und Puffmeile genau parallel verlaufen. Also bin ich einfach kurzerhand durch die Puffmeile gelaufen; wohl als einziger auf der Welt, nur um sich die Mauer reinzuziehen ;D Mannomann – ich war in total schäbigen Straßenklamotten unterwegs: Jeansjacke, Kurze Hose, T-Shirt. Und trotzdem haben die Bordsteinschwalben fast Ihre Fenster eingeschlagen, weil da mal ein nicht-Asi (ich) langkommt … arme Schweine :P

Naja, wie auch immer. Jetzt lege ich mich mal in’s Bett und ruhe mich aus, ehe morgen der Schulungsstress losgeht. Ich hoffe ich kann hier schlafen; die Blödmänner haben mir ein Raucherzimmer gebucht … :P Naja, sonst scheint alles OK zu sein hier.

 

Mein (Raucher-) Zimmer im "Park Inn Nürnberg"

Mein (Raucher-) Zimmer im "Park Inn Nürnberg"

 

Mein Bad im "Park Inn Nürnberg"

Mein Bad im "Park Inn Nürnberg"

UPDATE: Bitte diesen Artikel nicht lesen ohne darauf den zweiten Teil zu lesen!

Mit einer eher interessanten als gefährlichen Variante eines Einbruchs in Ihre Infrastruktur sah sich gestern, am 4. März 2012, der Code Hoster GitHub konfrontiert, als der russische Programmierer Egor Homakov diese Präsenz benutzte um auf eine Sicherheitslücke in Ruby on Rails (kurz: Rails), einem dem Ruby basierendem Framework für Webapplikationen, aufmerksam zu machen. GitHub ist ein sagenhaft populärer Hoster von Git-Repositorien, der neben dem reinen Hosting des Codes auch ein Wiki, Bugtracker, usw. bietet. Auch ich partizipiere darüber an Projekten wie z.B. “flora“. Zufällig verwendet GitHub selbst das Rails Framework; ebenso nutzen die Rails Entwickler GitHub als Code Hoster der Rails-Quellen. Ein ideales Ziel also für Homakov um, nach anfänglichen Schwierigkeiten sein Anliegen den Rails Entwicklern darzulegen, diese Lücke zu demonstrieren:

Er nutzte sie erfolgreich aus, verschaffte sich administrativen Zugang zum Rails-Projekt, bewies das er volle Admin-Rechte erlangt hatte und beispielsweise Fehlerberichte nach Belieben öffnen, schließen und sogar aus der Zukunft schreiben konnte. Außerdem fügte er dem Repositorium eine Datei hinzu. Auch das vollständige Löschen der gesamten Projekthistorie wäre möglich gewesen.

GitHub sperrte daraufhin den Account von Homakov, behob die Sicherheitslücke und gab eine Sicherheitswarnung heraus. Wenig später folgte eine zweite Ankündigung, in der man (wohl auch nicht zuletzt aufgrund anhaltender Proteste der Community) Homakov weitestgehend rehabilitierte und die Sperrung seines Accounts aufhob.
Einige  Leute, die nach wie vor keine wirklich schwerwiegenden Probleme zu haben scheinen und ansonsten offenbar wenig mit Ihrer Freizeit anzufangen wissen, diskutieren immernoch ob Homakov ein “Held” oder ein “Krimineller” ist … OMG!
Er selbst entschuldigt sich auf seinem Blog für sein Vorgehen:

Yes I behaved like a jerk.

GitHub selbst hat alleine dadurch, das sie dem Urheber eines wie auch immer beabsichtigten, jedoch dadurch juristisch nicht weniger strafbaren, Hackerangriffs bereits am nächsten Tag wieder uneingeschränkten Zugriff auf Ihre Systeme gewährten und dem ganzen scheinbar auch keine Strafanzeige folgen lassen, seinen guten Willen bewiesen.
Damit sollte doch alles gesagt sein, meine Güte! Beide sind sich einig und wieder Freunde :) . Das GitHub erstmal vorsorglich das Einfallstor schließt, bis alles geklärt ist, ist doch nur normal! Alles andere wäre strafbar fahrlässig.

Die Rails-Entwickler sind in meinen Augen die, die viel zu wenig tun. Sie wollen die Funktionen, die soetwas ermöglicht, auf Produktivsystemen künftig standardmäßig abschalten. Mit einem Fix ist “bereits” mit Rails 3 als Plugin zu rechnen … Sicherheit als zukünftige, optionale Alternative … na super. Leute, das ist armseelig und unterstreicht in meinen Augen das Rails ein Framework ist, von dem man tunlichst die Finger lassen sollte!
Man stelle sich folgendes Gespräch in einem Autohaus vor:

“Chef, Chef! Man kann in unserem neuen Auto Modell 2012 ohne den Originalschlüssel die Türen öffnen und losfahren! Ein Sicherheitsexperte vom ADAC hat das bereits im Fernsehen demonstriert! Was machen wir??” 

“Ruhig Blut … wir bieten mit dem 2013er Modell nächstes Jahr ein Bonuspaket an, mit dem man den Wagen dann wirklich abschließen kann … jetzt hauen sie ab und verkaufen erstmal die Hallen leer!”

Da hat jemand offenbar absolut keine Ahnung davon, was sie da anrichten und was sie auch nicht zuletzt dem Ruf von Ruby ansich antun. Ein Projekt solcher Größe sollte nicht von solch blauäugigen Diletanten geführt werden. Dann nimmt man halt viele bestehende Projekte erstmal vm Netz – na und ?? Das Fundament muss doch trotzdem frei von solchen Kloppern sein; wem das nicht passt soll halt auf ein Update verzichten! Und wenn es in der Tat zwei Lager gibt, dann muss man halt forken! Aber sowas,  was die jetzt auf die Roadmap gesetzt haben, ist die denkbar schlechteste “Lösung”.

Boah – funktioniert noch alles hier … krass! Ewig nichts gepostet … ;D

Es kommt auch nur ein Kurztipp. Eigentlich trivial, aber ich kam mit den Erklärungen in der Manpage zu “find” gerade nicht zurande, daher notiere ich mir die Syntax hier:

Wenn man auf einem System nach Symlinks suchen möchte, deren Ziel nicht existiert, dann geht das wie folgt:

find -L . -type l

Möchte man stattdessen das nichtexistente Ziel des toten Symlinks auflisten um das beispielsweise in Scripten zu verwenden, behelfe ich mir derzeit wie folgt:

ls -ld $(find -L . -type l) | cut -d '>' -f 2 | sed 's#\ ##g'

Funktioniert, geht aber sicher auch noch eleganter. Schreibt doch gerne in den Kommentaren wie :)

 

Jedes Mal, wenn ich mir ein neues Linux-System einrichte, muss ich erst nochmal schnell Googlen oder die Manpage wälzen; daher notiere ich es mir hier jetzt endlich mal:

Es gibt ein Sicherheitsfeature bei openSSH, welches einen warnt wenn man sich zu einem Host/einer IP verbinden möchte und sich die ID des Zieles seit dem letzten Mal verändert hat. Das macht zwar durchaus Sinn und ich finde das generell eine gute Sache. Aber es kann wirklich sehr nerven, besonders wenn man mit DHCP arbeitet und die Zielrechner dauernd Ihre IP durchtauschen, man mit virtuellen Maschinen arbeitet und diese nur kurz benutzt werden oder häufig per SSH auf Live-CD-Systeme konnektiert.

Normalerweise muss man die entsprechende Zeile in der Datei ~/.ssh/known_hosts die angemeckerte Zeile löschen; z.B. bei:

$ ssh user@192.168.1.12
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
@ WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! @
@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
IT IS POSSIBLE THAT SOMEONE IS DOING SOMETHING NASTY!
Someone could be eavesdropping on you right now (man-in-the-middle attack)!
It is also possible that the RSA host key has just been changed.
The fingerprint for the RSA key sent by the remote host is
39:b3:72:04:53:f7:17:eb:aa:8c:ed:70:db:77:8b:e9.
Please contact your system administrator.
Add correct host key in /home/user/.ssh/known_hosts to get rid of this message.
Offending key in /home/user/.ssh/known_hosts:3
RSA host key for 192.168.1.12 has changed and you have requested strict checking.
Host key verification failed.$

müsste man die Zeile 3 entfernen.

Hierzu muss man etwas wie “sed -i 3d ~/.ssh/known_hosts” losjagen oder die Datei in einem Editor von Hand bereinigen. Wie schon gesagt: Auf Dauer sehr nervig!

Wenn einem das nur vereinzelt passiert, kann man sich mit Kommandozeilenoptionen helfen: “ssh -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no user@192.168.1.12“; ist jedoch schon eine recht sportliche Aufgabe sich das a) zu merken und b) jedes Mal wegzutippen.

Wem das permanent passiert, kann dieses Verhalten dauerhaft einstellen. Und zwar sowohl global wie auch userbasiert. In beiden Fällen müssen die beiden o.g. Optionen in die passende Config-Datei eingetragen werden:

UserKnownHostsFile=/dev/null
StrictHostKeyChecking=no

Um diese Einstellung global zu setzen (nicht empfohlen), trägt man diese Optionen in die Datei “/etc/ssh/ssh_config” ein.

Um diese Einstellung nur für einen bestimmten User zu setzen, trägt man diese Optionen in die Datei “~/.ssh/config” ein.

Das ganze hebelt natürlich den als Sicherheitsmaßnahme gegen “Man-in-the-middle” – Attacken gemeinten Schutz vor diesem Angriffstyp aus. Um das ganze wenigstens etwas sicherer zu machen, kann man auch nur einzelne Hosts und Hostbereiche derart von dieser Regel ausnehmen. Die Beispielhafte Syntax dazu lautet dann:

Host 192.168.1.*
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

bzw.:

Host 192.168.1.12
   StrictHostKeyChecking no
   UserKnownHostsFile=/dev/null

Aber Achtung: Bitte nur anwenden wenn Ihr wisst was Ihr tut! Das ganze hebelt, wie gesagt, einen sinnvollen Schutz des SSH Systems aus.