Example gefällig?

Immer wieder sieht man es dass man Mails von der Adresse „“ bekommt oder in irgendwelchen Dokumentationen Adressen nach dem Schema „“ oder „“ aufgeführt sind. Das Problem an solchen Angaben ist, das sie sehr schlechte Beispiele sind. Wenn ich z.B. als Firma meine Bestellbestätigungen mit „“ als Absender abschicke und der Kunde doch antworten sollte, so hat der Eigentümer der Domain „noreply.com“ plötzlich ein paar sehr interessante Informationen bekommen.

Gegen Dinge wie „“ ist nicht einzuwenden, so lange man Eigentümer der Domain ist. Wenn man das ganze nur als Beispiel oder zur Veranschaulichung dient so sollte man eine dieser Domains benutzen:

  • example.com
  • example.net
  • example.org
  • example.edu

Diese Domains sind durch die RFC 2606 als Beispieldomains reservieren und man kann sich auch darauf verlassen, das dies auch in der Zukunft so bleibt.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/Example.com

Yet Another Math Parser

Es gibt Dinge welche man immer wieder gebrauchen kann. In diese fallen unter anderem Matheparser. Einer dieser Parser ist der Yet Another Math Parser kurz YAMP. Dabei handelt es sich um einen von Florian Rappl in C# geschriebenen Parser. Der Parser beherscht dabei die Grundrechenarten, sowie trigometrische Funktionen (Sinus, Cosinus et cetera) und einige andere Dinge. Die Bibliothek steht dabei unter der BSD Lizenz, nachdem sie vorher nur unter der CPOL Lizenz verfügbar war. Bezogen werden kann sie unter https://github.com/FlorianRappl/YAMP.

Weitere Informationen gibt es unter:
http://www.florian-rappl.de/Articles/Page/143/YAMP

Freier Matheparser für Objective C

Bei der Entwicklung möchte manchmal mathematische Ausdrücke wie folgende lösen:

5*sin(3.4)/2+1234

Dabei möchte man diese Ausdrücke nicht während der Compilezeit lösen, sondern zur Laufzeit. Hier bietet sich ein Matheparser an. Ein solcher für Objective C ist „DDMathParser“ welcher unter https://github.com/davedelong/DDMathParser zu finden ist. Der Parser steht dabei unter der MIT-Lizenz und kann dabei mit einer Reihe von Operatoren, Ausdrücken und Funktionen umgehen, was man sich auch in der ausführlichen Dokumentation ansehen kann.

Private Funktionen in MooTools Klassen

Mit dem JavaScript Framework MooTools ist es möglich Klassen in JavaScript zu schreiben. In diesen Klassen kann man auch private Methoden definieren. Dazu hängt man ein „.protect()“ an die Methoden an, welche privat sein sollen. Aussehen könnte das ganze dann z.B. so:

var MessageIn = new Class({
  id: 0,
  parts: [],
	
  //Konstruktor
  initialize: function(message) {
    this.parts = this.splitCommand(message);
    this.id=parseInt(this.parts[0], 16);
    this.parts.splice(0, 1); //Erstes Element entfernen
  },
	
  //Methoden
  getPart: function(index) {		
    return this.parts[index];
  },
	
  //Private Methoden
  splitCommand: function(command) {
    ret=new Array();

    ...	

    return ret;
  }.protect()			
});

Dadurch kann die Methode „splitCommand“ nur noch durch die Klasse selbst und nicht mehr von außen aufgerufen werden.

Weitere Informationen gibt es unter:
http://de.wikipedia.org/wiki/MooTools

Libtiff und libjpeg für .NET/Mono

Bei Libtiff und libjpeg handelt es sich um zwei oft verwendete Bibliotheken zum lesen von TIFF und JPG Dateien. Die Biblitheken liegen dabei als C-Quelltext vor. Auf der Suche nach einer entsprechenden .NET Portierung bin ich auf der Seite http://bitmiracle.com/ fündig geworden. Dort gibt es .NET Portierungen der Bibliotheken unter der „New BSD license“. Augenscheinlich werden die Bibliotheken auch aktuell gehalten, so das der Abstand zwischen den Originalen nicht zu groß wird.

Weitere Informationen gibt es unter:
http://en.wikipedia.org/wiki/Libtiff
http://en.wikipedia.org/wiki/Libjpeg