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 »
 

Neues Blog Design

monkey-business.biz erstrahlt in neuen Design.
Ich hoffe das neue Blog Design (hübsche Schrift) findet anklang. 🙂

Das alte Design zur Erinnerung:
monkey-business-design-12.0

Edit:
Die Social Buttons mussten leider den Platz auf dem Blog einbüsen. Mein Resume daraus: Das Besucherclientel der Webseite verwendet die Buttons verhältnismäßig wenig. Die ständigen Änderungen an den Buttons seitens der Anbieter Google, Twitter und Facebook waren nervig. Dadurch mussten diese öfters neu positioniert werden. Die mehr oder weniger aktuelle Überwachnung (PRISM etc.) zwingt mich dazu keine fremden Elemente mehr auf meiner Internetseite einzubinden. Google Analytics wurde durch die freie Web Analyse Software Piwik ersetzt. Die USA mussten leider gehen.

Keine Kommentare »
 

Öfter bin ich inzwischen auf das Problem gestoßen Zeichenfolgen in Dateien in einem einem Verzeichnisbaum rekursiv zu ersetzen. Ich verwende folgende Methode unter Linux Systemen:

find . -type f -print0 | xargs -0 sed -i 's/STRING_ERSETZEN/NEUER_STRING/g'

„STRING_ERSETZEN“ ist in diesem Beispiel die zu ersetzende Zeichenfolge. „NEUER_STRING“ die Zeichenfolge die den Platz der alten Zeichenfolge „STRING_ERSETZEN“ einnimmt.

Der . nach dem find Kommando bedeutet das die suche im aktuellen Verzeichnis begonnen wird. Dieser kann natürlich durch ein beliebiges Verzeichnis ersetzt werden.

Keine Kommentare »
 

Version: Magento 1.4, 1.6, 1.7

Das Magento Backend hat verfügt über keine Funktion Newsletter Adressen in Massen bzw. alle potentiellen Newsletter Empfänger zu aktivieren. Ein Deaktivieren von allen Einträgen mit wenigen Klicks ist möglich. Bei größeren Adresslisten werden hierbei zu viele Ressourcen verbraucht.

Einfach und schnell lassen sich alle Adressaten aus dem Newsletter Abo in Magento mit folgender SQL Abfrage entfernen:

UPDATE ***DB_PREFIX***_newsletter_subscriber SET subscriber_status = 3

Für alle Adressaten den Newsletter zu abonnieren ist mit beinahe der selben Abfrage möglich:

UPDATE ***DB_PREFIX***_newsletter_subscriber SET subscriber_status = 1

Unbedingt zu beachten ist das Datenbankpräfix (***DB_PREFIX***).

Keine Kommentare »