# Tuesday, July 17, 2007

Auf ars technica wurden 4 Online Backup Dienste verglichen:

  • Carbonite
  • Mozy Online
  • XDrive
  • Iron Mountain's Connected Backup/PC service

Dabei schnitt Mozy Online am Besten ab:

Of the services we tested here, Mozy Online struck the best balance between functionality and flexibility and is our overall top pick for an online backup service. The free version of the service is also worth using, but the delay between restoration requests and restoration file availability under the free service make the paid version more attractive.

Das deckt sich mit meiner Erfahrung. Ich bin mit dem Dienst wirklich sehr zufrieden. Da ich die Rücksicherung zum Teil auch für den Datentransfer an einen anderen Rechner nutze, starte ich den Restore oft erst, wenn ich die Daten wirklich brauche. Da ist die übliche Wartezeit von einigen Minuten störend. Einmal hat es auch deutlich länger gedauert. Das war aber bisher eine Ausnahme. Bis jetzt kann ich noch gut bei der kostenlosen Version bleiben. Aber $4.95 pro Monat für die unlimitierte Version ist immer noch sehr fair.

Für große Datenmengen würde ich den Dienst im Moment aber nicht verwenden. Eine abgerauchte 500 GB Platte per Download zu restaurieren ist bestimmt kein Spaß. In den USA kann man sich den Restore auch auf DVDs schicken lassen. Das geht in Deutschland noch nicht.

Auch nach 3 monatiger Nutzung empfehle ich diesen Dienst gerne weiter. Deswegen auch nochmal mein Referral Code 67F8A2, bzw. der Referral Link. Bei einer Neuanmeldung gibt es beim kostenlosen Dienst gleich 256MB Platz zusätzlich :)

Tuesday, July 17, 2007 10:59:23 AM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [0]  | 
# Wednesday, June 27, 2007

Ich arbeite wieder mal von zu Hause. Mein Rechner läuft unter Vista x64 und im wesentlichen brauche ich Visual Studio 2005 und den SQL Server 2005. Einige der Applikationen die ich zu betreuen habe, laufen aber noch unter Visual Foxpro. Die Foxpro 9 DVD habe ich auch schon hier liegen. Bisher hatte ich noch keine Notwendigkeit die Entwicklungsumgebung wirklich zu installieren.

Prompt braucht es jetzt für einen Kunden ein kleines Update an einer Foxpro Applikation. Also die DVD rausgesucht und den Setup starten... Halt! Argh! Bei diesem Kunden läuft ja noch Foxpro 8! Oh, oh! Was nun?

Vorsorglich hatte ich schon meinen PC in der Arbeit mit Terminal Services versehen. Also ein kurzer Anruf und ein Kollege schaltet den Rechner ein. Per OpenVPN kann ich mich mit dem Firmennetzwerk verbinden und per Terminal Services den Arbeitsplatzrechner mit der funktionierenden Entwicklungsumgebung ansteuern.

OpenVPN läuft bei mir aus Sicherheitsgründen nur in einer virtuellen XP Maschine. Von dort starte ich dann den Terminal Services Client und bin so gut wie in der Arbeit :).

Das Problem war schnell behoben. Auch weil der Bildaufbau über die 2MBit Standleitung von CPTec und meine 16MBit ADSL2 Leitung sehr flüssig war. Und das obwohl ich mit der normalen Auflösung des entfernten PCs gearbeitet hatte. Immerhin 1600x1200 Pixel. Also mit einem Rändern rechts und links auf dem 24" LCD :)

Als Bonus brauchte ich auch keine Projekt Daten hin und her kopieren. Irgendwie haben es die Foxpro Projekte nie in die Versionskontrolle geschafft ;)

Wednesday, June 27, 2007 4:17:31 PM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [0]  | 
# Monday, June 04, 2007

Am Freitag, den 1.6.2007 um 17:44 Uhr war es soweit. Mein Sohn Moritz hat das Licht der Welt erblickt. Mit seinen 4260g Gewicht und 55cm Länge hat er seiner Mutter keine leichte Geburt gegönnt. Beide sind aber wohlauf und das ist natürlich das Wichtigste.

Wie es sich für ein Neugeborenes gehört, verlangt auch Moritz jetzt nach unserer ungeteilten Aufmerksamkeit. Ich bin aber mal gespannt, wie sich das in den nächsten Tagen und Wochen verhält. Natürlich planen wir nicht tiefe Augenringe, sondern entspannte Eltern und ein zufriedenes Kind. Nur weiß das auch der Kleine?

Die nächste, genetisch bedingte, Reaktion eines frisch gebackenes Vaters ist das unkontrollierte Herumzeigen von Babyfotos. Und unser Moritz ist definitiv das hübscheste und süßeste Baby überhaupt!

30 Minuten nach der Geburt:

2007-06-01, Moritz, 4260 g

Tag 1:

Moritz Deger Tag 1

Tag 2:

Moritz Deger Tag 2

Tag 3:

Moritz Deger Tag 3

Erschöpft nach der Raubtier-Fütterung:

Moritz Deger, das Raubtier

Auf diesen Fotos sieht es so aus, als wäre der Bub immer friedlich. Leider trügt der Schein, er hat eine sehr kräftige Stimme!

Auch hier schlägt die Biologie gnadenlos zu: Einer schreit und Zwei müssen reagieren. Das geht gar nicht anders. Der Kleine ist der Chef :)

Monday, June 04, 2007 11:13:36 PM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [6]  | 
# Saturday, May 26, 2007

Meine bisherigen Gedanken zu diesem Tool: Visual Studio 2005 Team Edition for Database Professionals und VSTS Database Professional (2)

Jetzt gehe ich mal davon aus, dass wir mit dem Schema in dem SQL Projekt zufrieden sind. Jetzt soll das Ganze aber wieder in eine Datenbank kommen. Dazu definiert man bei den Build Eigenschaften des Projektes, welche Verbindung und welche Datenbank das Ziel sein soll. Die Datenbank muss dabei noch nicht existieren.

Die für mich wichtigste Option bei den Einstellung ist dabei Always re-create database. Falls diese Option aktiviert ist, wird bei jedem Deployment tatsächlich die vorhandene Datenbank entfernt und komplett neu aufgebaut. Man kann sich dann also sicher sein, dass in der neuen Datenbank nichts enthalten ist, was nicht über das SQL Projekt definiert wurde. Bei deaktiviert Option, werden nur die Änderungen durchgeführt.

Das eigentlich Deployment geht dann denkbar einfach. Rechte Maustaste auf dem Projekt und deploy gewählt.

Das funktioniert natürlich nur während der Entwicklung so einfach. Das ist der SQL Server typischerweise auf dem gleichen Rechner, in jedem Fall ist er aber direkt erreichbar. Der produktive SQL Server ist aus Sicherheitsgründen meist nicht über den SQL Port ansprechbar. Also geht man den Umweg über ein T-SQL Skript. Bei einem Build des SQL Projektes mit der Always re-create database Option wird die komplette Datenbank in einem T-SQL Skript erzeugt. Diese Skript bringt man auf den Ziel SQL Server und führt es dort aus.

Falls man auch Daten in den Skripten erzeugt, muss man mit den Sonderzeichen aufpassen. Zum Import bietet sich nämlich der sqlcmd Kommandozeilen-Befehl an. Mit "sqlcmd -i inputfile" könnte man die Datenbank ganz schnell erzeugen. Nur sqlcmd spricht den SQL Server über ODBC an. Dabei passieren aber alle möglichen lustigen Dinge mit Sonderzeichen. Deswegen habe ich davon die Finger gelassen. Besser geht es mit dem SQL Server Management Studio  im SQLCMD Mode:

Einfach über "File - Open" das Skript auswählen und im SQLCMD Mode ausführen. Dabei sind mir bisher noch keine Sonderzeichen verloren gegangen.

Saturday, May 26, 2007 1:38:39 PM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [0]  | 
# Friday, May 25, 2007

Kritisch, Kompetent, Unabhängig?

Die Rede ist von dem deutschen Ableger von Tom's Hardware Guide. Früher war die englische Version eine der besten Adressen für gute Hardware Tests. Fundiert und detailliert. Inzwischen ist die englische Variante unübersichtlich und nervös.

Schlimm empfinde ich aber die Entwicklung bei der deutschen Seite. Die ist übrigens nicht einfach die übersetzte englische Version, sondern sehr eigenständig. Leider.

Schon einige der dortigen Artikel zum Thema Windows Vista empfand ich unsäglich schlecht. Alle sehr laut und aufdringlich geschrieben und aus meiner Sicht völlige Thema Verfehlungen. Das heutige Highlight und Grund für diesen Rant: Vista-Radikalkur: Abspecken um 60%

10 GB für ein Betriebssystem? Wo ist hier eine Spur von Effizienz zu erkennen?

Effizienz laut Wikipedia:

Effizienz (v. lat.: efficere = bewirken) ist das Verhältnis eines in definierter Qualität vorgegebenen Nutzens zu dem Aufwand, der zur Erreichung des Nutzens nötig ist. Als effizientes Verhalten bezeichnet man ein Verhalten, das sowohl tatsächlich zur Erreichung des Nutzens führt (Effektivität) als auch den dafür notwendigen Aufwand möglichst gering hält.

Aufwand wäre in diesem Zusammenhang die benötigte Zeit das Betriebssystem so zu installieren, dass alle denkbaren Anwender danach möglich viel Nutzen, also ein funktionierendes Vista haben. Mit in die Rechnung müssen natürlich nach die Kosten für die belegte Festplattenkapazität eingebracht werden.

Gerade kostetet ein pro GB relativ teure 80 GB Platte 38 Euro. Gerundet die 10GB Vista Installation also 5 Euro! Dass spielt also bei vernünftiger Betrachtung wohl keine Rolle. Damit versteht man auch, wieso Microsoft direkt und ohne Nachfrage einfach alles installiert. Der Plattenplatz ist inzwischen billig genug. Dafür spart man sich Unmengen an Erklärungen und Dokumentation, wieso nun ein Anwender dieser oder jenes auswählen kann. Der Support wird einfacher. Man kann davon ausgehen, dass alles vorhanden ist.

Bei THG schwelgt man aber erbsenzählend bitszählend in Ballast Orgien und Microsoft Beschimpfungen. Als Lösung darf dann der Anwender ein paar DVD-Rohlinge brennen und sich ein Betriebssystem basteln, dass er früher oder später neu installiert darf. Eine der abgewählten Funktionen braucht man dann doch. Armer Leser!

Auf dieser Seite wird gezeigt, was man bei THG nicht im Betriebssystem braucht. Die grünen Häkchen sind die entfernten Komponenten. Übrig bleiben auf den ersten Blick im Wesentlichen der Kernel und der Explorer. Sprich ein gerade noch funktionierendes System. Da kann ich ja dann gleich Linux installieren! (1)

Tom rette uns!

 

(1) Vorsicht der Satz ist böse und nicht ernst gemeint!

 

Update:

Ich wollte auch im THG Forum eine kurzen Beitrag mit meiner Meinung hinterlassen: >>>>edit by mod<<<<

Schade eigentlich :)

Friday, May 25, 2007 10:37:54 AM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [0]  | 
# Wednesday, May 23, 2007

IsolatedStorage funktioniert bei mir unter Vista x64 nicht wie erwartet. Ich arbeite als Administrator mit ausgeschaltetem UAC. Ich kann in der IsolatedStorage Dateien erzeugen und anschließend wieder lesen. Was ich nicht kann, ist die abgelegten Dateien auslesen oder löschen.

Zuerst habe ich erfolgreich eine Datei LoginTicket.xml angelegt. Eine Datei Test.xml existiert nicht. Bei folgendem Beispiel Code passiert dann etwas seltsames:

IsolatedStorageFile isoStore = IsolatedStorageFile.GetStore(IsolatedStorageScope.User | IsolatedStorageScope.Assembly, null, null);
// liefert keine Einträge:
string[] test = isoStore.GetFileNames("*");
// liefert den richtigen Stream:
IsolatedStorageFileStream isoStream = new IsolatedStorageFileStream("LoginTicket.xml", FileMode.Open);
// Wirft wie zu erwarten eine FileNotFoundException:
IsolatedStorageFileStream isoStream2 = new IsolatedStorageFileStream("Test.xml", FileMode.Open);

Bei isoStore.GetFileNames("*") sollte eigentlich auch die Datei LoginTicket.xml im Ergebnis dabei sein. Ist sie aber nicht.

Danach kann ich problemlos die Datei öffnen. Der Inhalt würde auch stimmen. Natürlich kann ich keine nicht vorhandene Datei Test.xml öffnen. An der Stelle bin ich dann schon verzweifelt :).

Was geht da schief?

Wednesday, May 23, 2007 3:49:16 PM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [1]  | 
# Tuesday, May 22, 2007

Jeff Atwood hat ein paar Zahlen zusammengetragen, die ich nachempfinden kann: Productivity Tip: Upgrade Your Pentium 4

Das Ergebnis einiger Compilation Benchmarks: Weg mit dem P4.

Die aktuellen Core 2 Duo CPUs lassen die letzte Generation der P4 Dual Core Prozessoren wirklich alt aussehen. Subjektiv merke ich das auch deutlich. In der Arbeit werkelt ein Pentium D 950 (oder 940?). Der Heimarbeitsplatz hat schon einen Core 2 Duo E6600. In dem WorldBench - Mozilla 1.4 Benchmark ergibt sich 470 (D950) zu 259 (E6600). Oder ein Faktor von 1,8.

In Kombination mit der WD Raptor HD die zu Hause flitzt, ist es fast schon eine Strafe in die Arbeit zu gehen. Rein hardwaremäßig natürlich :)

Tuesday, May 22, 2007 1:58:13 PM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [0]  | 
# Monday, May 21, 2007

Jetzt ist es ja doch schon einige Tage her. Eine vernünftige Entschuldigung für die Verzögerung gibt es ohnehin nicht :)

Am 3.3.2007 bin ich mit meiner Frau Renate vor den Altar getreten!

Die Fotos wurden auch alle am gleichen Tag gemacht. Nur bis wirklich die Zeit gefunden ist, alle Bilder zusammenzutragen. Ähem...

Hochzeit von Renate und Christian

Nix Flickr oder Zooomr. Ganz einfach HTML 4.irgendwas aus IrfanView exportiert.

Monday, May 21, 2007 3:11:31 PM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [0]  | 
# Saturday, May 19, 2007

Visual Studio Edition Team Edition for Database Professionals ist (noch) kein Werkzeug zur Datenbank Modellierung. Das Tool spricht eigentlich nur reines T-SQL. Wobei hilft es dann dem Datenbank Entwickler?

Die Datenbank oder genauer das Datenbank Schema wird sehr weitgehend in die Entwicklungsumgebung integriert. Am wichtigsten ist dabei die gelungene Integration in die Versionsverwaltung. Wie der restliche Source Code auch, steckt das Datenbank Schema im Source Control.

Das ging vorher auch schon ansatzweise. Über den Server Explorer konnte man sich alle Objekte aus der Datenbank in ein SQL Server Projekt als Skript importieren lassen. Dabei hat man ein paar Nachteile:

  • Aus den Skripten kann man nicht direkt die Datenbank erzeugen.
  • Die Daten aus der Datenbank stehen nicht zur Verfügung.
  • Die erzeugten T-SQL Skripte enthalten meist mehrere Datenbank Objekte.
  • Änderungen sind schwer nachzuvollziehen.
  • Man hatte keinerlei Unterstützung bezüglich des Inhalts der Skripte.
  • Es ist nicht sichergestellt, dass die Schema Version zum restlichen Code passt.

Natürlich ist es trotzdem wichtig, dass die Datenbank unter Versionskontrolle kommt. Aber bisher war das eher eine Einbahnstraße. Die T-SQL Skripte sind zwar gesichert und versioniert. Man kann mit einiger Handarbeit daraus auch wieder die gewünschte Datenbank erzeugen. Eine echte Integration ist das aber nicht.

Falls man die erzeugenden Skripte einer Datenbank hat, kann man diese einfach mit einem Wizard importieren:

Bei dem Import wird die Information in möglichst kleine Einheiten aufgeteilt, die einzeln als SQL Skripte gespeichert werden.

Eine Testtabelle wird dann wie hier automatisch in unterschiedliche Skripte zerlegt abgespeichert. Dadurch lassen sich Änderungen später leichter nachvollziehen. Der Vergleich mit älteren Versionen im Source Control fällt leichter und ist sinnvoller.

Falls man anschließend an der originalen Datenbank weiter arbeitet, dann ist es nicht praktisch, jedesmal das Schema über diesen Import Wizard zu laden. Dazu gibt es ein sehr mächtiges Tool, den Schema Compare.

Update: Hier geht es weiter: VSTS Database Professional (3)

Saturday, May 19, 2007 7:43:07 PM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [0]  | 
# Friday, May 11, 2007

Ursprünglich gab es für die Visual Studio Team System 3 Editionen:

  • Team Edition for Software Architects
  • Team Edition for Software Develepers
  • Team Edition for Software Testers

Mittlerweile hat Microsoft eine weitere Edition nachgereicht, die Team Edition for Database Professionals.

Ich bin kein Database Administrator (DBA) und erst recht kein Database Professional. Dennoch ist die meiste Zeit das SQL Server Management Studio offen, denn das Datenbank Design kann ich leider nicht delegieren. Somit ist jede Tool-Unterstützung willkommen, insbesondere in Form einer integrierten Team Edition.

Der Einstieg in die Team Edition begann mit einer Enttäuschung. Ich habe eine neues Database Projekt angelegt und Add New Table gewählt:

Ups, kein Table-Designer? T-SQL ist nicht meine Muttersprache. Die üblichen Selects und Joins kriege ich schon hin. Meine Tabellen möchte ich aber mit mehr Unterstützung entwerfen. Wir werden später noch erfahren, dass hier ein anderes Konzept verfolgt wird. Hinter vorgehaltener Hand erfährt man auch, dass für spätere Versionen eventuell mehr Unterstützung geplant ist. Im Moment sollten man seine Schema Objekte anders erzeugen.

Wenn auch ohne Designer kriegt man aber bezüglich Schema Visualisierung und Validierung schon einiges geboten:

Schema View

Im Schema View sieht man alle Schema Objekte, die in vielen einzelnen sql-Dateien definiert werden, übersichtlich angeordnet. Änderungen am Schema werden direkt validiert und man erhält entsprechende Warnungen.

Man kann auch die Eigenschaften der Objekte sich im Property Grid darstellen lassen:

Properties

Es hat einige Zeit gedauert, aber irgendwann habe ich aufgegeben dieser Eigenschaften Anzeige das graue Mäntelchen auszuziehen. Es ist nur eine Anzeige. Ändern kann man nichts.

An der Stelle sollte man aber nicht aufgeben. Wie bei vielen Tools, muss man erst die Philosophie verstehen. Dann arbeitet man nicht mehr gegen das Tool, sondern damit. In Kürze werde ich mehr dazu schreiben, wie ich mittlerweile den Datenbank Profi einsetze. (Update: VSTS Database Professional (2))

Friday, May 11, 2007 11:34:29 AM (W. Europe Daylight Time, UTC+02:00)  #
  Disclaimer  |  Comments [0]  |