Category: Allgemein

Is My Website Down BugBlog Version

Vor einiger Zeit wurde auf Digital Inspiration (http://www.labnol.org /internet/ website-uptime-monitor/ 21060/) ein Sheet für Google Spreadsheet veröffentlicht um zu überwachen ob eine bestimmte Webseite online ist.

Das Skript, hinter dem Sheet, schreibt den Status, abhängig von der Geschwindigkeit des Triggers, kontinuierlich in das Sheet. Da die Sheets nicht unendlich sind, kommt es nach ca. 19500 Zeilen zu einer Exception.

Daneben gab es noch ein paar weitere Punkte, die ich angepasst habe. Nachfolgend das Skript, im Sheet müssen keine Anpassungen gemacht werden, da die selben Zellen verwendet werden.

[PHP]
/** Monitor your Site’s Uptime **/

/** By Amit Agarwal 26/03/2012 **/
/** http://labnol.org/?p=33232 **/

/** Extended by: DeBugger **/
/** http://www.BugBlog.de **/

function isMyBugBlogDown()
{
var url = SpreadsheetApp.getActiveSheet().getRange(“E3”).getValue();

if (!ScriptProperties.getProperty(“status”)) {
ScriptProperties.setProperty(“status”, 200);
}

var response, error;

try {
response = UrlFetchApp.fetch(url);
} catch(error)
{
insertData(error, -1, “Website down”, 1);
return;
}

var code = response.getResponseCode();

if (code == 200){
insertData(“Up”, code, “Website up”, 0);
} else {
insertData(response.getContent()[0], code, “Website down”, 1);
}
}

function insertData(error, code, msg, mail) {
if (ScriptProperties.getProperty(“status”) == code){
}

var sheet = SpreadsheetApp.getActiveSheet();
var email = sheet.getRange(“E5”).getValue();

/**
/* Sheet is not infinite
var row = sheet.getLastRow() + 1;
**/

var row = sheet.getLastRow();
var lastValue = sheet.getRange(row,3).getValue();

/**
A Warning, if need the data we should care about!
**/
if(row > 19000){
MailApp.sendEmail(email, “Table almost full: ” + row, “Table almost full: ” + row);
}

if(row > 19500){
sheet.deleteRows(8, row);
MailApp.sendEmail(email, “Table cleared! Rows deleted: ” + (row-8), “Table cleared! Rows deleted: ” + (row-8));
row = 8;
}

if(lastValue != code){
row = row + 1;
}

/**
Always Wintertime / Normaltime.
**/

sheet.getRange(row,1).setValue(Utilities.formatDate(new Date(), “GMT+1”, “dd.MM.yyyy HH:mm:ss”));
sheet.getRange(row,2).setValue(error);
sheet.getRange(row,3).setValue(code);

ScriptProperties.setProperty(“status”, code);

if(mail == 1){
MailApp.sendEmail(email, msg, error);
}
}
[/PHP]

Tutorial: YouTube Videos abspielen beschleunigen

Mittlerweile werden viele Konferenzen auf Video festgehalten und diese bei YouTube veröffentlicht. Oftmals finden die Konferenzen von Freitag bis Sonntag statt und teilweise in mehreren Räumen gleichzeitig. Angenommen es gibt sechs Slots pro Tag und drei Räume, dann macht das 54 Stunden bzw. 2 1/4 Tage Videomaterial, ohne Essens- und Schlafenspausen ;-)

Eine weitere Problematik ist, dass das im Video Gesprochene und Gezeigte derzeit noch nicht in den Google-Ergebnissen erscheint.

Somit weis man nicht, worum es in dem Video geht, wenn man es nicht angeschaut hat. Damit dies jedoch jetzt keine 54 Stunden dauert gibt es die Möglichkeit das Abspielen zu beschleunigen. Bei YouTube habe ich keine Einstellung dafür gefunden, aber im VLC (Video Lan Client). Folglich bedarf es nur noch einer Möglichkeit YouTube Videos im VLC abzuspielen. Diese gibt es bereits seit 2010. Demonstriert wird dies in einem YouTube Video-Tutorial: http://youtube.com/watch?v=GQe3JxJHpxQ

Sobald das Video im VLC abgespielt wird, kann die Abspielgeschwindigkeit über Wiedergabe > Geschwindigkeit beschleunigt werden.

VLC > Wiedergabe > Geschwindigkeit

VLC > Wiedergabe > Geschwindigkeit

Bis zu einer Geschwindigkeit von 1,5 bzw. 1,6 konnte ich das Gesagte noch verstehen. Bei einer Gesamtlänge von 54 Stunden, macht das Einsparung von 18 Stunden (mit 1,5-facher Geschwindigkeit) und somit könnte das Videomaterial in 1,5 Tagen angeschaut werden.

Hinweis: Falls das Video stocken sollte, gibt es bei Netzwerkstream unter “Mehr Optionen anzeigen” die Möglichkeit das Caching zu erhöhen. Hatte es jetzt mal auf 30 Sekunden gesetzt.

Viel Spaß beim Ausprobieren! Freue mich über Anregungen und Kritik.

TYPO3 Merksatz #11: TYPO3 ist eine Familie

Auf der T3CON12 in Stuttgart hat Robert Lemke das neue Namens-Konzept von TYPO3 vorgestellt. Dazu gibt es auf der offiziellen Seite auch verschiedene Artikel (http://typo3.org/news/article/a-brand-new-way/, http://typo3.org/the-brand/a-brand-new-way/). Vollkommen richtig wäre es in Zukunft TYPO3 CMS bzw. TYPO3 Neos und TYPO3 Flow zu sagen. Jedoch steht nur TYPO3 weiterhin für das CMS und Neos und Flow können auch ohne den TYPO3 Prefix betitelt werden.

[random_content group_id=”211″ num_posts=”1″]

Selenium PHP Browser Window Size

Oftmals öffnet sich das Browser-Window zu klein oder zu groß bzw. gibt es ggf. Anforderungen, dass der Browser mit einer bestimmten Größe geöffnet werden soll. Auch dies kann in Selenium RC bzw. dem Selenium Server hinterlegt werden. Gesteuert wird die Größe über die bekannten JavaScript Funktionen. Somit müssen nur die entsprechenden JavaScript Befehle innerhalb des Fensters ausgeführt werden. In PHP umgesetzt sieht dies wie folgt aus:

[PHP]
public function setUp()
{
$this->setBrowser(‘*googlechrome C:/Programme/Google/Chrome/Application/chrome.exe’);
$this->setBrowserUrl(‘http://www.example.com’);
$this->setSpeed(500);
}

public function testMyTestCase()
{
$this->getEval(“window.resizeTo(1280, 768); window.moveTo(0,220);”);
$this->open(“/login”);
}
[/PHP]

Neben der Window Size habe ich außerdem noch die Position des Fensters angegeben. Dabei habe ich 220 Pixel Abstand von oben gelassen, damit ich die Befehlsausgabe im Selenium Proxy weiterhin im Blick habe.

ASCII-Art :: Coca Cola

Gerade gelesen das Coca Cola (http://www.coca-colacompany.com/) die neue Homepage gelauncht hat und bei einem Blick in den Quellcode nicht nur festgstellt, das die Amazon Cloudfront benutzt, sondern auch ein schönes ASCII-Art hat. Wer mit dem Begriff nicht gleich etwas anfangen kann, sollte einfach mal bei Google danach suchen, es finden sich im Internet eine Reihe von Gallerien (http://www.ascii-art.de/). Gerade entdeckt, das es auch einen Wikipedia Artikel (http://de.wikipedia.org/wiki/ASCII-Art) gibt, der beschreibt worauf es bei ASCII-Art ankommt und weitere interessante Beispiele zeigt.

ascii-art-coca-cola

Fraglich bleibt ob der Coca Cola Schriftzug manuell oder maschinell erstellt wurde? Aufgrund der verwendeten Zeichen würde ich tippen, das ein Programm benutzt wurde, jedoch habe ich bisher noch nicht mit einem Programm gearbeitet und kann es nur schätzen.