Blabla, Jahr 2008 ist fast rum. Im Juni hab ich angefangen Google Analytics rüberlaufen zu lassen. Hier mal ein paar Screenshots:
Kategorie: 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.
Desktop anzeigen
Falls jemand™ mal aus Versehen das Icon löscht, hier eine Anleitung zum wiederherstellen:
Methode 1)
- Datei mit dem Namen „Desktop anzeigen.scf“ erstellen
- Folgenden Inhalt reinpasten:
- [Shell]
Command=2 IconFile=explorer.exe,3 [Taskbar] Command=ToggleDesktop
- [Shell]
- 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
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
… 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 🙂
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
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:
- Gehe jeden Tag in dein web.de-Postfach und LÖSCHE Zeugs das du nicht brauchst. 12 Megabyte sind nicht viel.
- 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.
Sneak. Film. Lakeview Terrace. Samuel L. Jackson. 7von10. Supi. Feierabend.
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: