Howto convert mp3-Streams to aac+ Streams in Linux

Was ist der Unterschied zwischen aac+ und mp3?

MPEG-4 High Efficiency Advanced Audio Coding (kurz HE-AAC), auch AAC+ v1 genannt, ist ein lizenzpflichtiger Audio-Codec, der Moving Picture Experts Group (MPEG). Der Standard liefert bei niedrigen Bitraten vergleichsweise gute Ergebnisse und eignet sich daher besonders für Live-Streams.

Continue reading Howto convert mp3-Streams to aac+ Streams in Linux

Shops, Viren und Kuchen – oder: Vorträge beim IGZ Hof

Das IGZ feiert 10-jähriges

Am 31.07.2008 feierte das IGZ Hof sein zehnjähriges Bestehen und lud zur Jubiläumsfeier ein. Es fanden über 20 Fachvorträge über Internet, Marketing und E-Bussiness statt, von denen ich selbst 2 Vorträge abgehalten habe.

Der erste Vortrag den ich gehalten habe hatte den Titel “Bestellvorgänge in Online Shops verbessern”, der zweite Vortrag ging um die neuesten Bedrohungen im Internet. Trotz der Hitze und des schönen Wetters war das Event gut besucht und es waren viele Vertreter aus allen Bereichen anwesend. Aus diesem Anlass möchte ich hier kurz meine beiden Vorträge resümieren.
Continue reading Shops, Viren und Kuchen – oder: Vorträge beim IGZ Hof

Warum es ein No-No ist, bei produktiven Server _kein_ RAID zu verwenden

Der Grund warum ich diesen Post schreibe ist folgender: Ein Kunde ordert einen Root-Server bei uns. Soweit so gut. Das System ist recht flott, hat zwei identische Platten drin und wird von uns mit frisch installiertem Gentoo ausgeliefert.

Natürlich richten wir solche Server, sofern kein Hardware RAID integriert ist, mit Software RAID1 mit dem Linux md-device Driver ein. Dies hat den Vorteil, dass zum einen die Swap-Partition auf einem RAID1 Device läuft und somit das System nicht abstürzt, wenn die Swap-Partition defekte Blöcke aufweisst, zum anderen hat es den Vorteil, dass man generell vor dem Ausfall einer Disk und dem einhergehenden Datenverlust gefeit ist.
Continue reading Warum es ein No-No ist, bei produktiven Server _kein_ RAID zu verwenden

www-hoster.de jetzt mit E-Mail Push Dienst

seit gestern bietet http://www-hoster.de jetzt seine E-Mail Services auch als E-Mail Push Dienst an. So kann man nun mit seinem Smart Phone den E-Mail Push Dienst nutzen und bekommt somit neue E-Mails direkt von www-hoster.de auf sein Phone gepusht. Der Hoster erhebt für die zusätzliche Leistung keine weiteren Kosten und hat auch bestehende Pakete für diesen Dienst upgegraded.

Warum man mit Suchmaschinenoptimierung allein nur schwierig ein Geschäft führen kann

Der optimierungs Boom

Tja, da ist er nun, oder ist nun schon vorbei, der Boom auf Suchmaschinenoptimierung. Wer in diesem Bereich versucht seinen Lebensunterhalt zu verdienen, kann sich nicht darauf verlassen, von Suchmaschinen gefunden zu werden. Wer einmal bei Google nach “Suchmaschinenoptimierung” gesucht hat, stellt fest, dass es hier zahlreiche Anbieter gibt, die einem alle das Gleiche verkaufen möchten – eine Optimierung der Webseite hinsichtlich Keywords, Barrierefreiheit und Markup. Das ist eigentlich super, und viele Webseiten die man so im Internet ansurfen kann, gerade die von sog. KMUs, haben soetwas wirklich nötig. Das Problem ist nur – Die Betreiber der Webseite wissen meist gar nichts über die Materie und werden daher nicht von sich aus darüber nachdenken, dass ihre Seite einmal überarbeitet werden sollte, und sofern doch jemand auf die Idee kommt, professionelle Hilfe in Anspruch zu nehmen, so wird er von Angeboten überflutet. Continue reading Warum man mit Suchmaschinenoptimierung allein nur schwierig ein Geschäft führen kann

_gat is not defined – Adblock und Google Analytics Problem

Wenn Adblock oder ein anderer Werbeblocker das Nachladen von Googels Code verhindert, gibt es Probleme bei der JavaScript Code Validierung, da das Script keinen Code von Googles Server nachladen kann und somit das Objekt _gat nicht definiert ist.

Um dies zu beheben reicht es aus, vorher abzufragen ob _gat ein Objekt ist:

<script type=”text/javascript” language=”javascript”>
if (typeof(_gat) == ‘object’)
{

..google-analytics-code..
}
</script>
Die fett geschriebenen Zeilen müssen zusätzlich um den Code herum eingefügt werden. Der Fehler tritt dann nicht mehr auf.

vd-server.de und Korypet stellt Service ein

Wie ich heute erfahren habe, stellt vd-Server.de und Korypet seine Services ein.

Allen Kunden, die bisher noch keinen neuen Provider gefunden haben, kann ich nur sagen, dass www.smart-weblications.de ähnliche Produkte zu günstigen Preisen anbietet.

Soweit ich mitbekommen habe, werden die Services eingestellt, weil es dem Geschäftsführer aus gesundheitlichen Gründen nicht mehr möglich ist, die Dienste aufrecht zuerhalten.

apache2, virtualdocumentroot und Logfiles in verschiedene Files

Wieder mal ein spezifisches Problem:

Wer mit apache2 einfaches Massenhosting betreiben will, der will nicht für jeden Virtualhost einen VirtualHost-Container in seiner Apache Konfiguration anlegen, denn ab ca. 500 Domains als VHostContainer wird zum einen die Konfiguration sehr unübersichtlich und ausserdem wird der Indianer dadurch langsamer, aufgrund von vielen offenen Filehandles. Muss man ja auch nicht, schliesslich gibt es das vhost_alias Modul, mit welchem man ein VirtualDocumentRoot konfigurieren kann, dass dann das DocumentRoot anhand des übermittelten ServerName oder HTTP-Host Headers auswertet.

In der Apache Konfiguration sieht das dann z.B. so aus:

<VirtualHost *>
UseCanonicalName Off
Options Indexes Includes FollowSymLinks MultiViews
VirtualDocumentRoot /domains/%0/www
VirtualScriptAlias /domains/%0/cgi-bin/
CustomLog access_log vcommon
<Directory /domains/%0/www>
AllowOverride All
</Directory>
</VirtualHost>

Das Problem ist nun, dass alle Logs in ein einziges File “access_log” geloggt werden, und es schwierig ist, hier für die einzelnen gehosteten Domains Statistiken zu erzeugen etc.

Man kann nun aber um dieses Problem zu umgehen Folgendes tun:
Man erzeugt in /etc/apache2 ein Script welches die Ausgabe des Logfiles aufteilt und in mehrere Dateien speichert:


#!/usr/bin/php
<?php

$path = “/var/log/apache2”;
$fh_timeout = 30; // 30 sek.

$fd = fopen(“php://stdin”, “r”);

while(!feof($fd)) {

$row = fgets($fd);

list($vhost,$h,$l,$u,$t,$r,$s,$b,$referrer,$ua) = explode(“;”,$row,10);

if (!${$vhost}) { ${$vhost} = fopen($path.“/”.$vhost.“_access.log”,“a+”); }
$lastwrite[$vhost] = time();
fputs (${$vhost},“$h $l $u $t $r $s $b $referrer $ua”);

foreach ($lastwrite as $vhost => $time) {
if ((
time() – ($time+30)) >=0) {
fclose(${$vhost});
unset(${
$vhost});
unset(
$lastwrite[$vhost]);
}
}
}
?>

Nun müssen wir in der apache2 Konfiguration noch das Logformat ändern und die Ausgabe des Logfiles an unser Script durchpipen:

LogFormat "%V;%h;%l;%u;%t;\"%r\";%>s;%b;\"%{Referer}i\";\"%{User-agent}i\"" vcommon
CustomLog "|/etc/apache2/splitlogs.php" vcommon

Dann Apache einmal neu starten und künftig werden pro Host separate Logfiles erstellt.

Edit: Fast hätte ich es vergessen! Das Script braucht natuerlich eXecutable-Flag also am besten chmod 755 /etc/apache2/splitlogs.php ausführen!