Das Deaktiveren der Ping / ICMP Antwort führt dazu, dass der Computer keine Antworten mehr auf Pings sendet.
Temporär lassen sich die Ping / ICMP Antworten wie folgt deaktivieren:

~# echo "1" >  /proc/sys/net/ipv4/icmp_echo_ignore_all

Um die Antworten auf Ping / ICMP permanent zu deaktivieren genügt es die Datei /etc/sysctl.conf um folgende Zeile zu erweitern:

~# net.ipv4.icmp_echo_ignore_all = 1

Die Änderungen werden mit dem ausführen von

~# sysctl -p

aktiviert. Vorsicht das kann manchmal bei Wartungen sehr ärgerlich sein. :)

Keine Kommentare »
 

In der Shell MP3 Dateien / Vorschau aus einem Ordner mit WAV Dateien zu konvertieren ist mit diesem Script hier bequem möglich. Dieses Script basiert auf lame und mp3cut. Viel Spaß:

#! /bin/sh
 
## <config>
 
	## .wav dir
	## format: <dir>/ use / as last character
	DIR="/home/user/wavFiles/" 
 
	## time for preview (optional)
	## format: 00:00-00:30 see mp3cut usage
	PREVIEWTiME="00:00-00:30" 
 
## </config>
 
if [ -n "${DIR}" ]; then
	if [ -d "${DIR}" ]; then
	for i in "${DIR}"*.wav; do
			NEWNAME="${i%.*}.mp3"
			lame -b 192 -h "$i" "${NEWNAME}"
			if [ -n "${PREVIEWTiME}" ]; then
				mp3cut -o "${i%.*}-preview.mp3" -t "${PREVIEWTiME}" "${NEWNAME}"
			fi		
		done
		exit 0
	else
		echo "# dirwav2mp3cut.sh - dir does not exist"
		exit 1
	fi
else
	echo "#\n# dirwav2mp3cut.sh - creates MP3 cuts in various length from .wav files in a folder.\n# Usage: Call ./dirwav2mp3cut.sh after config \n# Return: <name>-preview.mp3/\n#"
	exit 1
fi

Es sollte darauf geachtet werden, dass die Pfadangabe in DIR mit einem Schrägstrich (/) endet. Mit blanker Vorschau-Zeitangabe ist es möglich nur MP3s zu erstellen ohne diese zu schneiden:

PREVIEWTiME=""
Keine Kommentare »
 

Dateien die eigentlich UTF-8 sein sollten sind über verschiedene Ordner verteilt im ISO Format auf dem Dateisystem. Wer kennt das Problem nicht? :)
Hier ein kleines Script um ISO codierte Text Dateien rekursiv in UTF-8 codierte Dateien zu konvertieren.

#! /bin/sh
 
FILES=$(find "$1" -type f -name \*.txt)
 
for FILE in $FILES; do
	iconv -f ISO-8859-1 -t UTF-8  "${FILE}" > "${FILE}.tmp"; mv "${FILE}.tmp"  "${FILE}"
done

Die Dateierweiterung sollte nach Wunsch angepasst werden. Eine Installation von iconv ist möglicherweise nötig.

Keine Kommentare »
 

Standardabweichung in einem Beispiel
Der Mitarbeiter brauch an 5 Tagen 12,13,16 und 18 Minuten auf dem Weg zur Arbeit.

Berechnung Aritmethisches Mittel / Durchschnitt:
(12 + 13 + 16 + 18) / 4 = 14,75
Summiert man alle Zahlen und teilt Sie durch die Menge erhält man das Aritmethische Mittel.

Berechnung der Varianz:
((12 – 14,75)² + (13 – 14,75)² + (16 – 14,75)² + (18 – 14,75)²) / 3 = 7,583333333
Bei der Varianz Berechnung wird von jedem Wert aus der Liste das Aritmethische Mittel subtrahiert und das Ergebnis quadriert. Anschließend addiert man alle Ergebnisse und dividiert durch die Menge der Zahlen minus eins.

Berechnung der Standardabweichung:
√7,583333333 = 2,753785274
Die Standardabweichung wird berechnet indem aus der Varianz die Wurzel gezogen wird.

Die Standardabweichung beträgt 2,753785274.

PHP Funktion Standardabweichung

function stabw($valueArray) {
	$sum = array_sum($valueArray);
	$count = count($valueArray);
	$mean =	$sum / $count;
	$result = 0;
	foreach ($valueArray as $value)
		$result += pow($value - $mean, 2);
	unset($value);			
	$count = ($count == 1) ? $count : $count - 1;
	return sqrt($result / $count);
}

Die Funktion arbeitet mit allen arten von Arrays solange numerische Array Werte übergeben werden. Bsp.:

array(12, 'irgendwas' => 13, 11 => 16, 'beliebig' => 18);
Keine Kommentare »
 

Nach einem Serverumzug auf einen Apache2 und PHP via mod_fcgi Server endete ein WordPress MU Update in einem Apache Internal Server Error 500.
Andere Scripte mit längere Ausführungszeit endeten ebenfalls mit einem Internal Server Error 500.

Der Apache2 Error Log brachte folgendes Ergebnis (/var/log/apache2/error.log):

[warn] mod_fcgid: read data timeout in 40 seconds
[error] [client XXX.XXX.XXX.XXX] Premature end of script headers: index.php, referer: www.example.com/dir

Die Lösung war das anpassen der maximalen Wartezeit in Sekunden bis das Apache Modul Daten vom FastCGI Programm abgfrägt. Die alte Optionsbezeichnung war / ist IPCCommTimeout. Aktuell ist der Options Name FcgidIOTimeout. Je nach Installationsdatum beide Versionen funktional oder nur eine von beiden.
Das kann in der Datei /etc/apache2/mods-enabled/fcgid.conf erledigt werden:

<IfModule mod_fcgid.c>
   FcgidIOTimeout  7200
</IfModule>

In diesem Fall ist das Timeout sehr hoch eingestellt. Der oben verwendete Wert 7200 sind 120 Minuten. So hohe Einstellungen sind für den regulären Webseiten Betrieb nicht benötigt. Mehr über diese Option hier.

Anschließend den Apache neu starten.

/etc/init.d/apache2 restart

Das wars. Was auch immer vorher versucht hattet an länger laufenden Scripten auszuführen sollte nun funktionieren.

Keine Kommentare »
 

Mit ein paar Zeilen HTML und CSS lässt sich im Social Web große Präsenz vortäuschen somit Schafe (Besucher) dazu zu bringen euren Like / +1 / Tweet Button zu drücken. Der Snippet kann auch verwendet werden um im WWW mit vielen Anhängern zu protzen.

Technisch lässt sich das sehr einfach mit überliegenden DIV Container lösen in denen die beliebig angepasste Anzahl an Likes / Plus ones / Tweets eingetragen wird. Das sieht dann so aus:

 
886
135


(Inzwischen müssen aus Gründen der Privatsphäre die Social Fake Layers zunächst frei geschalten werden. Zum deaktivieren der Social Fake Layers Seite neu laden)

Ich verwende genau diesen Code auch hier im Blog für die Social Buttons hier im Blog.
Dieses Ergebnis entsteht aus nachfolgendem Stück Code. Der Platzhalter ***URL*** sollte durch die URL die promoted werden soll ersetzt werden.

<style>
.sociawrap-header {
	height: 80px;
	width: 270px;
	position: relative;
}
 
.sociawrap-header .g-plusone-wrap, .sociawrap-header .twitter-share-button, .sociawrap-header .fb-like-wrap { 
	float: right; 
	margin-left: 20px;
	margin-top: 11px;
}
 
.sociawrap-header .fb-like-wrap { 
	width: 90px; 
	height: 60px; 
	margin-top: 13px;
}
 
.fb-fake {
	z-index: 999;
	position: absolute;
	right: 19px;
	top: 17px;
 	font-family: "verdana",sans-serif;
	font-size: 13px;
	background-color: #fff;
	color: #333333;
}
 
.twitter-fake {
	z-index: 999;
	position: absolute;
	right: 128px;
	top: 16px;
 	font-family: "verdana",sans-serif;
	font-size: 16px;
	background-color: #fff;
	color: #333333;
	font-family: Helvetica Neue',Arial,sans-serif;
}
 
.google-fake {
	z-index: 999;
	position: absolute;
	right: 212px;
	top: 16px;
	font-size: 16px;
	background-color: #fff;
 	color: #666666;
        font-family: arial,sans-serif;
}
</style>
<div class="sociawrap-header">
	<div class="fb-like-wrap"><div class="fb-like" href="***URL***" width="450" show_faces="false" data-layout="box_count" action="like" font="verdana"></div></div>
	<a href="http://twitter.com/share" class="twitter-share-button" data-url="***URL***" data-count="vertical" lang="de">Tweet</a>
	<div class="g-plusone-wrap"><div class="g-plusone" data-size="tall" href="***URL***"></div></div>
	<div class="right_clearer">&nbsp;</div>
	<div class="fb-fake">886</div>
	<div class="twitter-fake">225</div>
	<div class="google-fake">135</div>
</div>
Keine Kommentare »