Google hat eine enorme Sammelwut was Daten betrifft. Ob das jetzt gut oder schlecht ist sei dahingestellt. Es ist jedoch interessant, wie oft eigentlich Google uns sieht.

Leider erstellt MovableType Sitemaps nicht eigenständig. Eine Sitemap für MovableType zu erstellen ist jedoch nicht sonderlich schwer. Die folgenden Schritte zeigen, was nötig ist um eine Google Sitemap zu erstellen.

Ein neues Design

| Keine Kommentare | Keine TrackBacks
Ich arbeite derzeit an einem neuem Design für meine Website. Den ersten Entwurf seht ihr hier live. Wundert euch also nicht, wenn sich gelegentlich das eine oder andere an der Seite ändert (oder gleich das ganze Design).

Webseiten werden in mehreren Requests vom Server abgeholt. Zuerst kommt die HTML-Seite. In der steht dann, das eine style.css, Java Script und ein Haufen Bilder nachgeladen werden sollen. Jede weitere Datei stellt einen weiteren Request dar. Jedes mal diesen Request neu aufbauen dauert natürlich Zeit - auch wenn Browser mehrere Anfragen parallel steuert (ungefähr 8) dauert es doch einiges an Zeit, bis alle Bilder auf großen Seiten heruntergeladen worden sind. Um das zu ändern, habe ich einen Weg gesucht, alles in einer einzelnen Datei - also einer einzigen Anfrage an den Server - auszuliefern. Am idealsten währe wohl das Verfahren bei E-Mails gewesen, das unterstützen Browser jedoch (noch) nicht.

So verwunderlich es auch ist, unter Linux gibt es keinen Befehl, der das Installationsdatum zurück liefert. Jedoch kann man das Installationsdatum über einen kleinen Trick heraus bekommen. Die Devices werden bei der Installation erstellt und dann in der Regel nicht mehr geändert. Somit trägt das Device das Datum der Installation. Eigentlich reicht schon ein "ls -l /dev | grep zero" da das Device zero in der Regel nicht geändert wird. Da die Ausgabe aber ein wenig unschön ist, sortiert man einfach nach Datum, gibt nur eine Zeile aus und lässt die mit awk noch ein wenig schöner aussehen. {code}ls -l --sort=t /dev | tail -n1 | awk '{print $8 "-" $7 "-" $9}'{/code} Manchmal kann es vorkommen, das der Befehl nicht funktioniert. In diesem Fall kann dieser Befehl verwendet werden: {code}ls -l --sort=t /dev | tail -n1 | awk '{print $7 "-" $6 "-" $8}'{/code}

Was wird im einzelnen gemacht?

Mit ls -l --sort=t /dev wird der Inhalt des Verzeichnisses /dev nach Datum sortiert ausgegeben. Mit tail -n1 wird die Ausgabe auf die letzte Zeile beschränkt (das älteste Datum). Mit awk '{print $7 "-" $6 "-" $8}' wird die Ausgabe auf das Datum beschränkt. Es resultiert: {code}# ls -l --sort=t /dev | tail -n1 | awk '{print $8 "-" $7 "-" $9}' 30-Jun-2004{/code}

Avatar II - Trailer

| Keine Kommentare | Keine TrackBacks
Avatar II kommt. Und James Cameron gibt ein komplett neuen Einblick in die Geschichte. Schaut euch das Wesentliche im Trailer an!
Vor kurzem habe ich einen Artikel zu fail2ban veröffentlicht in dem ich erkläre, wie man fail2ban einrichtet. Hier gehe ich jetzt darauf ein, wie man eigene Filter erstellt. 

fail2ban - ein kleines howto

| Keine Kommentare | 1 TrackBack

Was ist fail2ban?

fail2ban ist ein kleines Tool, welches unter Linux Logs durchsucht und bei bestimmten Inhalten entsprechende Aktionen ausführen kann. Es kann z.B.  Spambots und Vulnerability Scanner dynamisch erkennen und aussperren. Das bringt einige Vorteile mit sich:
  • Logs können daran gehindert werden, durch Attacken Speicherplatz zu fressen bis keiner mehr da ist (denn dann wird es erst richtig lustig)
  • ScriptKidis können sich schön herrlich die Milchzähne an dem Server ausbeißen
  • Bots, die nach bekannten Sicherheitslücken suchen können leicht gesperrt werden.
  • Brutefoce-Attacken können leicht und automatisch geblockt werden.

Linux Befehl: watch

| Keine Kommentare | Keine TrackBacks

Mit watch unter Linux ist es möglich Programme regelmäßig auszuführen. So kann ein User ständig ändernde Informationen bequem abfragen und auf dem Bildschirm anzeigen.

Parameter

-n Interval (Standart: 2 Sekunden) -d Zeigt Unterschiede zu dem letztem Ergebnis an

Anwendung

watch [-n Sekunden] [-d --differences] [--version] <Komando>

Beispiele

Überprüfe alle 60 Sekunden ob eine neue Email eingegangen ist {code} watch -n 60 from {/code}

Zeige Änderungen in einem Ordner an {code} watch -d "ls -l" {/code}

Zeige alle Dateien vom User Joy an und aktualisiere alle 10 Sekunden {code} watch -n 10 -d "ls -l | fgrep joy" {/code}

Installation

Unter Debian (und den meisten Derivaten) sollte watch bei einer Standartinstallation bereits installiert sein. Sollte das einmal nicht der fall sein, reicht es, das Paket nachzuinstallieren. {code} apt-get install watch {/code}

PHP: UTF-8 und header()

| Keine Kommentare | Keine TrackBacks
{code} Warning: Cannot modify header information - headers already sent by (output started at index.php:1) in index.php on line 13 {/code} Diese Fehlermeldung zeigt sich, wenn man eine in UTF-8 konvertierte PHP Datei hat und mit der Funktion header() selbigen Ändern möchte. Das Problem entsteht, wenn ein BOM (Byte Order Mask) am Anfang der Datei steht. In Editoren, die UTF-8 nicht unterstützen erscheint dann zum Beispiel ein "" (entspricht Bytefolge: EF BB BF). Der PHP-Parser kann diese Bytefolge nicht interpretieren und gibt sie schlichtweg aus bevor auch nur irgend etwas anderes ausgegeben werden kann. Da in UTF-8 dieser BOM zwar erlaubt, aber nicht nötig ist kann man ihn einfach entfernen. Ermöglichen tut das zum Beispiel Notepad++ ([Format]->[Formatieren zu UTF-8 ohne BOM]). Mit PHP ab Version 6 soll dieses "Problem" gelöst werden. Mehr zum Thema Byte Order Mask.