Scharfe Betriebssysteme

Vor einiger Zeit brachte Microsoft das experimentelle Betriebssystem Singularity heraus. Dabei handelt es sich um ein größtenteils in Sing# (abgeleitet von Spec#, wiederum abgeleitet von C#) geschriebenes System. Neben diesem System gibt es noch zwei andere Systeme welche auf C# basieren. Das erste System im Bunde ist dabei Cosmos welches unter http://cosmos.codeplex.com/ zu finden ist. Das zweite System ist SharpOS welches eigentlich unter http://www.sharpos.org/ zu finden ist, wobei die Seite im Moment augenscheinlich nicht erreichbar ist. Alles in allem sicherlich interessante Konzeptstudien.

Weitere Informationen gibt es unter:
http://en.wikipedia.org/wiki/SharpOS_%28operating_system%29
http://en.wikipedia.org/wiki/Cosmos_%28operating_system%29
http://en.wikipedia.org/wiki/Singularity_%28operating_system%29

Suche im Visual Studio 2010 zurücksetzen

Das Visual Studio 2010 hat eine Suchfunktion um Zeichenketten im Quelltext zu suchen. Das Problem ist das sie sich merkt was bereits gesucht worden ist. Habe ich zum Beispiel schon einmal nach „INT“ gesucht und möchte nun aber nach „int“ suchen, so wird mir automatisch „INT“ vorgeschlagen. Um die Suche zu löschen reicht es dabei den Registryzweig:

HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Find

zu löschen. Möchte man dies öfter tun, so legt man sich eine clearFindHistory.reg Datei ein und füllt sie mit folgendem Inhalt:

Windows Registry Editor Version 5.00
[-HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\10.0\Find]

Mit dieser Datei kann dann der entsprechende Zweig in der Registry nun mit einem Doppelklick gelöscht werden.

Probleme mit textContent und dem Internet Explorer 8

Der Internet Explorer 8 hat mit der Javascript Eigenschaft textContent so seine Probleme. Es kommt ein undefined heraus wenn man diese Eigenschaft im Internet Explorer 8 abfragt. Eli Grey hat für dieses Problem eine schöne Lösung gefunden:

if (Object.defineProperty && Object.getOwnPropertyDescriptor && !Object.getOwnPropertyDescriptor(Element.prototype, "textContent").get)
 (function() {
     var innerText = Object.getOwnPropertyDescriptor(Element.prototype, "innerText");
     Object.defineProperty(Element.prototype, "textContent",
     { // It won't work if you just drop in innerText.get
       // and innerText.set or the whole descriptor.
       get : function() {
         return innerText.get.call(this)
       },
       set : function(x) {
         return innerText.set.call(this, x)
       }
     }
  );
 })();

Diese Funktion fügt man dabei in eine extra Javascript Datei ein und bindet sich dann per Browserweiche ein:

<!--[if gte IE 8]><script type="text/javascript" src="textContent.js"></script><![endif]-->

Anschließend kann man die textContent Eigenschaft normal benutzen.

Weitere Informationen gibt es unter:
http://eligrey.com/blog/post/textcontent-in-ie8

Von Windows 1.0 zu Windows 7

Manchmal staunt man doch über die Produkte aus dem Haus Microsoft. Jemand hat das Experiment gewagt und den Upgradepfad von Windows 1.0 auf Windows 7 auf sich genommen, in dem er von Majorversion zu Majorversion upgradete.

Aktivieren Sie JavaScript um das Video zu sehen.
Video-Link: https://www.youtube.com/watch?v=vPnehDhGa14

Erstaunlich und irgendwie witzig ;)

Die drei Fragezeichen

Das Visual Studio von Microsoft besitzt ja eine Funktion zur automatischen Einrückung und Formatierung des Quellcodes. Diese funktioniert auch fast immer. Kopiert man aber z.B. folgenden Ausdruck:

object o=1;
int i=o as int? ??1;

in eine Datei macht das Visual Studio dieses hier daraus:

object o=1;
int i=o as int???1;

Das Problem ist das der Ausdruck nun einen Syntaxfehler produziert und damit ungültig ist. Hier sollte Microsoft mal nachjustieren ;)