Main menu:

Site search

Archives

Categories

Archive for August, 2008

Using (Class instance = new Class(args[])) { … }

Was passiert hier genau?[1]

Grundsätzlich kann man das aufräumen von Ressourcen dem Garbage Collector überlassen. Es gibt aber Klassen, bei denen es empfohlen ist, sie selber nach Gebrauch aus dem Speicher zu entfernen. Das typische Beispiel sind Datenbank-Verbindungen (z.B. OleDbConnection). [2]

Jede .NET-Klasse die man explizit aus dem Speicher löschen können soll, muss das Interface IDisposable implementieren. Das heisst irgendwo im Quelltext steht der folgende Code, als Beispiel hier für die Klasse SPSite:
class SPSite : IDisposable {
...
}
interface IDisposable {
public abstract void Dispose();
}

Wenn man nun mit einer Instanz von SPSite arbeiten und die Ressourcen sauber freigeben möchte, dann schreibt man folgenden Code:
SPSite oSPSite = null;
try
{
site = new SPSite("http://server");
// do something
}
finally
{
if(site != null)
{
site.Dispose();
}
}

Da das doch einige Zeilen Code sind auf denen man viele Fehler einbauen kann, gibt es dafür nun die Kurform:
using(SPSite oSPSite = new SPSite("http://server"))
{
// do something
}

[1] Google ist keine grosse Hilfe da es bloss Links zu #using library; anzeigt.
[2] Auch in SharePoint ist das bei einigen wichtigen Klassen empfohlen. Während es bei den Datenbankverbindungen darum geht, dass die Verbindung sauber und schnell geschlossen wird, ist das Problem bei SharePoint, dass viel Code unmanaged ist und deshalb der GarbageCollector auch bei einem eigentlich hohen Speicherverbrauch keinen Bedarf zum aufräumen sieht, da der von ihm verwaltete Speicher immer noch klein ist.
(more…)

Powershell echo off ?

I did not find any way yet to turn the echo of the Powershell off.

But what you can do is

  1. Assign the result to a variable.
  2. Pipe the result to out-null, e.g. $req.GetResponse() | out-nullOut-null is a commandlet. You can only pipe a result from one commandlet to another one. That’s why out-null is needed and | null is not possible.

Missing all options in the options dialog of Visual Studio 2008

If you ever have the slight feeling, that the Options dialog in Visual Studio 2008 in not showing everything it should (e.g. because Intellisense is not working in Visual Studio 2008), it could be that you missed to see that stupid little checkbox in lower left corner:

Showing the problem in a GUI screenshot

Showing the problem in a GUI screenshot

MS Labs

There is a cool thing on the internet, called Microsoft Labs. If you want to check out some server product of Microsoft, just go there, select the product and get free access to a server where you can test Exchange, Vista, Windows Server 2008 etc. etc. for up to 90 minutes.

Well, there are downsides as well:

  • As anticipated, this service only works with IE.
  • You have to install an ActiveX-Control (fairly painless).
  • The server has an American keyboard layout that cannot be changed. So testing with a lot of console commands (let’s say testing the PowerShell) is not recommendable.
  • You need a few minutes to get to the server, a lot of forms to fill and stuff.

What bothers me the most is the point with the keyboard layout. If I have to change my keyboard to test a software, I can install it as well.

Beziehungsstatus auf Communityseiten

Oder: Weshalb ich nie auf facebook schreiben werde, dass ich (k)eine Freundin habe.

Auf community sites findet sich bei den persönlichen Angaben häufig auch ein Feld “Beziehungsstatus”. Eigentlich eine nette Sache, man will dem Leser ja mitteilen wer man ist, also tippt man seine Lieblingsfilme, -blumen, die liebste Musik und vieles mehr ein. Und dann ist es ja auch nett klarzustellen dass man Single ist (ja, schreib mir mal, ich suche noch jemanden), Verliebt (mein Freund ist der beste, ich bin so glücklich, seid alle neidisch) etc.

Soweit so gut. Doch irgendwann ändert sich der Beziehungsstatus wahrscheinlich. Und dann ändert man auch den Eintrag auf facebook. Und alle Freunde wissen gleich: aha, er ist seine Freundin los, oder: sie ist wieder solo. Hat er sie verlassen oder sie ihn? Nachfragen kommen von Leuten mit denen man gar nicht darüber reden will.

Wenn man heiratet finde ich es ok wenn man das hinschreibt, das bleibt auch eine Weile so. Und wenn sich der Status mal ändert, dann wissen eh schon alle, dass das nicht gut war.

Ansonsten sollte man sich bei persönlichen Infos 2x überlegen was man publiziert und was nicht. Auch im Hinblick auf die Zukunft.

Wer sich nicht überlegt welche Informationen er oder sie über sich preisgibt, ist selber schuld.

Zuviel Flughafensicherheit!

Nochmals George Carlin

Diesmal über Sicherheit am Flughafen, super!!!

Gewichtungsfrage

Was ist höher zu gewichten? Den Komfort alle seine derzeitigen und früheren Freunde, Bekanntschaften usw. jederzeit erreichen zu können oder (negativ) dass jederman jederzeit eine Liste mit all meinen Freunden zur Verfügung hat?

Solange man auch philosophisch darüber nachdenkt, am Ende ist das ein technisches Problem. Facebook hat es gut gelöst, ich kann selber einstellen wer meine Freundesliste sehen darf. (Allerdings ginge es auch noch besser. Man kann nur auswählen ob die Freunde oder auch die Freunde der Freunde die Liste sehen dürfen. Die Optionen “alle” und “niemand” fehlen.)
StudiVZ hat es schlecht gemacht. Jederman hat Zugriff auf meine Freundesliste. Ein Grund mehr zu künden.