Kategorien
PC & Accessoires Sonstiges

Jahresrückblick mit Google Analytics

Blabla, Jahr 2008 ist fast rum. Im Juni hab ich angefangen Google Analytics rüberlaufen zu lassen. Hier mal ein paar Screenshots:

Kategorien
PC & Accessoires Sonstiges

OpenXML als HTML

Sowas find ich klasse. Microsoft stellt ein Firefox-Addon zur Verfügung mit dem man OpenXML-Dokumente als HTML anschauen kann. Sehr praktisch wenn man gerade kein Microsoft Office zur Hand hat, oder auch kein Openoffice. Einfach das Firefox-Addon installieren, die Datei auf den Firefox ziehen und fertig. Klasse.

Kategorien
PC & Accessoires Sonstiges

Desktop anzeigen

Falls jemand™ mal aus Versehen das Icon löscht, hier eine Anleitung zum wiederherstellen:

Methode 1)

  1. Datei mit dem Namen „Desktop anzeigen.scf“ erstellen
  2. Folgenden Inhalt reinpasten:
    • [Shell]
      Command=2
      IconFile=explorer.exe,3
      [Taskbar]
      Command=ToggleDesktop
  3. Zum Ordner „%appdata%\Microsoft\Internet Explorer\Quick Launch“ gehen und dort die erzeugte Datei reinlegen

Methode 2)

  • Start -> Ausführen: regsvr32 /n /i:U shell32.dll
  • Evtl. System neustarten.

Voila. Geklaut & übersetzt von http://www.askvg.com

Kategorien
Sonstiges

FLV in WordPress hochladen

Zuerst rausfinden wo die Funktion ist die wir suchen:

~> grep -n "function wp_check_filetype" wp-includes/functions.php
2034:function wp_check_filetype( $filename, $mimes = null ) {

Dann verändern:

// Zeile 2034:
function wp_check_filetype( $filename, $mimes = null ) {
        // Accepted MIME types are set here as PCRE unless provided.
        $mimes = ( is_array( $mimes ) ) ? $mimes : apply_filters( 'upload_mimes', array(
                'jpg|jpeg|jpe' => 'image/jpeg',
                'gif' => 'image/gif',
                'png' => 'image/png',
                'bmp' => 'image/bmp',

Dort einfach noch ein ‚flv‘ => ‚video/x-flv‘, einfügen und dann kann man auch wieder flv-Dateien in WordPress hochladen

Kategorien
Sonstiges Spass

Rumpfkluft

… so heisst der Laden von Katz&Goldt. Bis zum September diesen Jahres hab das noch nicht mal gekannt, jetzt hab ich schon ein ganzes T-Shirt bestellt 🙂

Link zum Artikel im Shop

Kategorien
Sonstiges Spass

Schrödinger …

Man merkt das heute Freitag ist, ich blogge zuviel 🙂

Kategorien
PC & Accessoires Sonstiges

Thunderbird 3

Ich teste nebenher gerade mal die pre-Beta von Thunderbird. Heute ist dann der Dateiname von
thunderbird-3.0b1pre.en-US.win32.zip
zu
thunderbird-3.0b2pre.en-US.win32.zip
verändert worden. Wow. eine neue Beta. Vielleicht wirds noch was dieses Jahrzehnt mit TB3.

UPDATE: Jetzt gibt es bereits den RC-1: mozillamessaging.com

Kategorien
Sonstiges

Web.de – You’ve got no more mails.

Remote host said: 550 <*@web.de> Benutzer hat das Speichervolumen ueberschritten. / User has exhausted allowed storagespace

Wie ich sowas hasse. Da gibts genau zwei Lösungen:

  1. Gehe jeden Tag in dein web.de-Postfach und LÖSCHE Zeugs das du nicht brauchst. 12 Megabyte sind nicht viel.
  2. Gehe zu einem anderen Provider. Bei GMX gibt es 1GB für umsonst, bei Google sogar 7GB. Man kann auch von web.de an das neue Postfach „nachsenden“ lassen, dann müsst ihr auch keine neue E-Mail-Adresse an all eure Bekanntschaften verteilen.
Kategorien
Sonstiges Spass

Sneak: Lakeview Terrace

Sneak. Film. Lakeview Terrace. Samuel L. Jackson. 7von10. Supi. Feierabend.

Kategorien
Diplomarbeit Sonstiges

Javascript-Klassen und Objekte

Habe gerade noch das hier gefunden: Class-Based vs. Prototype-Based Languages

Ich hab zwar schon hier auf einen schönen Artikel verwiesen, aber jetzt nochmal das ganze aus meinem Munde.

Javascript is Objektorientiert. Schon immer. Glaub ich. 1995 das erstmal mit Netscape veröffentlicht, sind wir inzwischen bei Javascript 1.8 angekommen (seit 18. Dezember 2007). Javascript wird übrigens von Mozilla „gemanaged“. Und Javascript ist nicht Ecmascript. Vielmehr ist Javascript ein Dialekt von Ecmascript.

Soviel dazu. Javascript implementiert ECMAScript, genauer ECMA-262, edition 3. Innerhalb davon gibt es keine „Klassen“ im eigentlichen Sinne. Viel eher werden direkt Objekte geboren.

function meinObjekt () {
    this.zahl = 1;
}

Und schon haben wir ein Objekt/Klasse mit dem Namen „meinObjekt“. Und eine Eigenschaft „zahl“ hat es auch.

var objekt = new meinObjekt();
window.alert(objekt.zahl);

Und somit kriegen wir ein Fenster mit einer „1“ drinnen. Es gibt auch private und öffentliche Eigenschaften/Methoden, allerdings ist Javascript da etwas bockig:

function meinObjekt () {
     var self = this;
 
    /** @private */
    var foobar = "private";
    var privateMethod = function () {
        window.alert(foobar  + " " + self.barfoo);
    };
 
    /** @public */
    this.barfoo = "public";
    this.public_method = function () {
        window.alert(foobar + " " + this.barfoo);
        private_method();
    };
}

Wer sich wundert was das „self“ soll, das liegt an Javascript. Während der Zugriff von öffentlichen auf private Methoden prima klappt, ist der Zugriff von privaten auf öffentliche Methoden … anders :). Hierzu wird einfach „this“ in „self“ kopiert und dann kann wie „this“ verwendet werden. Jippie.

Ich verwende den Spass gerade so:

var logger = function() {
};
logger.prototype = {
	log : function(msg) {
		console.log(this.getNow() + msg);
	},
	getNow : function() {
		return new Date();
	}
};
var foobar = new logger();
logger.log("foobar"); // prints "foobar"

Man spricht hier von „prototyp-basierter“ Objektorientierung. Interessant wirds in dem „neuen“ Standard ECMA-262, edition 4. Dort gibt es dann tatsächlich auch Klassen:

class C {
	var val // a variable property
	var large = Infinity // a variable property
	const x = 3.14 // a constant property
	function f(n) { return n+val*2 } // a method property
}

Da ja Javascript schön dynamisch ist, gibt es auch dynamische Klassen:

dynamic class C {
}
c = new C
c.x = 37 // adds a property
delete c.x // removes it again

Weiter gehts mit Vererbung, jetzt mit Schlüsselwörtern wie „extends“:

class C {
	var val
	function f(n) { return n+1 }
}
class BetterC extends C {
	var large = 123456 // new value property
	override function f(n) { return n*3 } // overridden method property
}

Es gibt auch „final“ als Schlüsselwort, eine so bezeichnete Klasse kann dann keine Kinder kriegen. Und zu guter Letzt werden auch Interfaces eingeführt. Somit wird Ecmascript und somit auch Javascript an die „normale“ Objektorientierung herangeführt. Die komplette Spezifikation des „neuen“ ECMAScripts findet sich unter:

http://www.ecmascript.org/es4/spec/overview.pdf