MSDN Blog-Parade: Windows Azure

Ich habe gerade im Blog von Peter Kirchner gesehen, dass die msdn-BlogParade in die zweite Runde geht (Danke für den Erinnerungspost :-))

Beim letzten Mal ging es um Entwicklungshelferlein. Jeder konnte seine Top 3 Entwicklertools aufzählen.

Thema dieses Mal sind Ideen rund um Windows Azure. Auf dem Initial-Post wurde schon das Projekt “Group Policy Search” vorgestellt: http://gps.cloudapp.net/

Mein Vorschlag wäre eine Fuhrparkverwaltung. Das bedeutet, dass Firmen ihre Fahrzeuge über eine Cloud-App verwalten können (Fahrzeugdaten erfassen, sich an Wartungsintervalle erinnern lassen, …). Beispielsweise können die Benutzer der Fuhrparkverwaltung nachsehen, welche Fahrzeuge frei sind und diese buchen (z.B. über Outlook).

Ein Fahrtenbuch erfasst alle Fahrten, die der Fahrer mit dem Fahrzeug macht. Über den integrierten GPS-Empfänger im Windows Phone kann über eine spezielle App das Fahrtenbuch vereinfacht werden. Der Benutzer muss nun nur noch Fahrtbeginn und Fahrtende, Fahrtzweck usw. eintragen und die zurückgelegte Strecke wird von der Mobile App eingetragen und in der Azure App gespeichert.
Ebenfalls können Betriebsmittel (z.B. Benzin/Diesel nach dem Tanken, Öl, …) erfasst werden.

Der Fuhrparkmanager weiß somit immer über den aktuellen Stand der Fahrzeuge Bescheid, auch wenn diese unterwegs sind.

Der leidenschaftliche Programmierer

imageMitte Februar hatte ich Geburtstag und das Buch “Der leidenschaftliche Programmierer” von Chad Fowler geschenkt bekommen.

Das Buch ist echt Klasse! Chad Fowler, eigentlich Musiker, hat es in der Welt der Software-Entwicklung weit gebracht. Seine Erfahrungen und Tipps sind in dem Buch beschrieben.

Es geht in dem Buch um die Weiterentwicklung persönlicher Fähigkeiten als Entwickler. Die Karriere sollte man sehen wie ein Produkt, das man entwickelt. Wie sieht es mit der Marktauswahl für das Produkt aus? In welche Programmiersprachen sollte ich investieren und in welche nicht? Letztere Frage wird im Probekapitel (http://www.it-fachportal.de/5885) angesprochen.

Man soll sich einfach nicht mit dem Mittelmaß zufrieden geben! Nur wer das beste anstrebt, erreicht auch das beste.

Fazit

Das Buch macht Lust auf mehr! Es liest sich einfach und flüssig und besteht aus 54 kleinen Kapiteln, die mit Übungen das “Gelernte” umsetzen lassen oder zum Nachdenken anregen.

Was hast Du vor 10 Jahren programmiert?

Ich möchte aus Dariusz Aufruf folgen und schreiben, was ich vor 10 Jahren so getrieben hab.

Vor 10 Jahren habe ich meine Bundeswehrzeit hinter mich gebracht. Die Zeit zwischen Studium und Bund habe ich damit verbracht, Visual Basic 6 zu programmieren.

Ich hatte damals die Idee, ein Programm zur Registrierung von Webseiten in Suchmaschinen zu schreiben. Damals konnte man sein Taschengeld als “Webdesigner” oder “Webmaster” noch aufbessern. HTML war damals eben voll angesagt:

Code_HTML_For_Food

Heute hingegen kann man kaum jemanden hinterm Ofen damit hervorlocken. Ich brauchte also ein Tool, mit dem ich die Webseiten meiner Kunden in Suchmaschinen bekannt machte. Konkurrenzprodukte wie HelloEngines oder Promoware gibt’s sogar heute noch. Aber in Zeiten von google und bing .. wer braucht dann noch so Tools?

Ein früher Entwicklungsstand meines Tools “Suchmaschinen-Autopilot” sah so aus:

image

Jaja .. das Thema Quellcodeverwaltung war damals auch was dolles .. meist hab’ ich mit ZIP-Dateien die jeweiligen Arbeitsstände weggesichert. Backups wurden damals auf ZIP-Laufwerke gemacht! Hab meinen Paps gebeten, mal das alte ZIP-Laufwerk rauszukramen und per Parallelport an den alten Rechner zu verbinden. Per TeamViewer (sehr empfehlenswert!) hab ich dann die Daten ausgelesen und violá .. hier ist ein Teil des (Spaghetti-)Codes in VB (leider ohne Syntax Highlight):

Private Sub Start_Button_Click()
    If Label70.Caption = „Offline. Bitte stellen Sie eine Dfü-Verbindung zum Internet her!“ Then
    MsgBox „Bitte stellen Sie zuerst eine DFÜ-Verbindung zum Server her!“, vbCritical, „Wichtiger Hinweis!“
    ElseIf WebSite_Titel.Text = „“ Then
    MsgBox „Bitte geben Sie den Titel der WebSite an“, vbCritical, „Fehler“
    ElseIf WebSite_URL.Text = „“ Then
    MsgBox „Bitte geben Sie die URL der WebSite an“, vbCritical, „Fehler“
    ElseIf WebSite_Beschreibung_kurz.Text = „“ Then
    MsgBox „Bitte geben Sie eine Kurzbeschreibung Ihrer Homepage ein!“, vbCritical, „Fehler“
    ElseIf WebSite_Beschreibung_lang.Text = „“ Then
    MsgBox „Bitte geben die eine ausführliche Beschreibung Ihrer WebSite an!“, vbCritical, „Fehler“
    ElseIf Sprache.Text = „“ Then
    MsgBox „Bitte wählen Sie die Sprache Ihrer WebSite aus!“, vbCritical, „Fehler“
    ElseIf Frames.Text = „“ Then
    MsgBox „Bitte geben Sie an, ob Ihre WebSite Frames verwendet!“, vbCritical, „Fehler“
    ElseIf Javascript.Text = „“ Then
    MsgBox „Bitte geben Sie an, ob Ihre WebSite JavaScript beinhaltet!“, vbCritical, „Fehler“
    ElseIf K.Text = „“ Then
    MsgBox „Bitte wählen Sie eine Kategorie aus, die Ihrer WebSite entspricht“, vbCritical, „Fehler“
    ElseIf WebMaster_Name.Text = „“ Then
    MsgBox „Bitte geben Sie den Namen des Webmasters an!“, vbCritical, „Fehler“
    ElseIf WebMaster_EMAIL = „“ Then
    MsgBox „Bitte geben Sie die e-Mail-Adresse des Webmasters an!“, vbCritical, „Fehler“
    ElseIf WebMaster_Passwort = „“ Then
    MsgBox „Bitte geben Sie das Passwort des Webmaster für Suchmaschinen ein (frei wählbar)“, vbCritical, „Fehler“
    ElseIf Firma_Name = „“ Then
    MsgBox „Bitte geben Sie den Firmennamen ein“, vbCritical, „Fehler“
    ElseIf Firma_Straße.Text = „“ Then
    MsgBox „Bitte geben Sie die Straße, in der die Firmen ihren Sitz hat, an!“, vbCritical, „Fehler“
    ElseIf Firma_Nr = „“ Then
    MsgBox „Bitte geben Sie die Hausnummer an“, vbCritical, „Fehler“
    ElseIf Firma_Ort = „“ Then
    MsgBox „Bitte geben Sie den Ort an, in der die Firma ihren Sitz hat, an!“, vbCritical, „Fehler“
    ElseIf Firma_Telefon = „“ Then
    MsgBox „Bitte geben Sie die Telefonnummer der Firma ein!“, vbCritical, „Fehler“
    ElseIf Firma_EMAIL = „“ Then
    MsgBox „Bitte geben Sie die e-mail-adresse der Firma an“, vbCritical, „Fehler“
    ElseIf Land = „“ Then
    MsgBox „Bitte geben Sie das Land an, für die Ihre WebSite gemacht ist!“, vbCritical, „Fehler“
    Else
    TAB1.Visible = False
    TAB2.Visible = False
    TAB3.Visible = False
    TAB4.Visible = True
    ‚Abfrage, ob bereits eine Eintragung vorgenommen wurde
    If OK.ListCount = 0 Then
    AutoAnmeldung.Show
    End If
    End If
End Sub

In mühevoller Kleinarbeit habe ich dann die Anmeldeseiten der Suchmaschinen studiert und jede einzeln hart kodiert ins Programm aufgenommen. Was für ne Arbeit! Objektorientierung war damals auch noch kein Thema (gab’s das überhaupt schon 😉 ). Ich habe mich immer gewundert, was die Leute denn mit diesen Klassenmodulen wollten. Komisches Zeug.

Update auf WISO 2010 Professional

Heute habe ich mir WISO 2010 Professional gekauft. Ich habe vorher die Version 2009 verwendet. Doch als ich diese nicht mehr verwenden konnte, weil ich sie ein Jahr eingesetzt habe, hab ich mich doch tatsächlich die neue Version gekauft.

Von WISO-Software aus dem Hause Buhl war ich nicht wirklich überzeugt. Ich habe mal mit WISO Buchhalter gearbeitet. Das Tool ist mehr abgestürzt als gelaufen…

Heute habe ich es dann gewagt, eine Update-Installation zu starten – mit folgendem Fehler:

image

Nun ja .. was ist da schief gelaufen?

Letztendlich wird die Installation mit folgender Fehlermeldung beendet:

image

Error 1603: Schwerwiegender Fehler bei der Installation. Und jetzt?

Ich werde dann mal den buhl-Support kontaktieren …

Festplatten sicher und einfach löschen

Dieses Wochenende war es mal wieder soweit – Entrümpelung der Wohnung. Auch mein alter Rechner wurde nicht geschont und muss ausgemustert werden.

Da ich keine Lust habe, dass irgendwer noch meine Daten lesen oder irgendwelche Kiddies mit Data Recovery Tools aus Spaß meine Dokumente wiederherstellen, musste eine sichere Lösung her.

Ein reines Windows-Programm kommt leider nicht in Frage, da ich die gesamte Platte sicher löschen möchte und nicht nur eine andere Partition.

Nachdem ich eine Knoppix DVD ausprobierte und scheiterte, habe ich ein anderes Tool ausprobiert: DBAN – Darik’s Boot and Nuke:

image

Das Tool unterstützt in der Version 1.0.7 folgende Löschmethoden:

  • dod – Löscht Daten nach dem DoD 5220.22-M Verfahren
  • dodshort – (Standard) Löscht Daten nach dem verkürzten DoD 5220.22-M Verfahren
  • ops – Löscht Daten nach dem RCMP TSSIT OPS-II Verfahren
  • gutmann – Löscht Daten nach der Gutmann-Methode
  • prng – Löscht Daten anhand der PRNG Stream Methode
  • quick – Einfache Methode, die einmal alle Daten überschreibt

image

Ich habe mich für die dod-Methode entschieden. Bei meiner 160GB Festplatte hat es 15h gebraucht, bis diese gelöscht wurde.

Das Tool startet problemlos von der CD und durchsucht den Rechner nach vorhandenen Festplatten automatisch. Anschließend wird das Ergebnis der Suche aufgelistet und man kann die Festplatten auswählen. Hier habe ich nochmal einen Screenshot, den ich in VMWare nachgestellt habe:

image

Über die Leertaste wird dann die VMware-Festplatte ausgewählt:

image

Mit F10 startet dann der Löschvorgang:

image

Hier gibts das Tool als ISO zum Download: http://www.dban.org/ (ca. 1MB)

Ich würde die Version 1.0.7 empfehlen. Die Version 2.0 blieb bei mir aus irgend einem Grund bei “PCIFS” nach Erkennung der USB-Geräte stehen.

Mein neuer Virenscanner: a-squared Anti-Malware

Vor ein paar Tagen habe ich einen neuen Virenscanner ausprobiert: A-SQUARED Anti-Malware. Nachdem ich jahrelang Avira Antivir vertraut habe, wollte ich mal etwas Neues probieren. In einigen Testberichten (1, 2 und 3) kam A-SQUARED Anti-Malware garnicht schlecht weg und so wollte ich ihm eine Chance geben.

A-SQUARED Anti-Malware setzt dabei auf zwei Scan-Engines. Eine davon ist die Ikarus-Scan-Engine (siehe http://www.ikarus.at/). Ein ähnliches Prinzip verfolgt auch das Produkt “Forefront Security” (http://www.microsoft.com/germany/forefront/default.mspx) von Microsoft, das allerdings mehr Scan-Engines lizenziert hat. Dafür kostet es allerdings auch mehr und ist vor allem für den Unternehmseinsatz gedacht.

Als ich das erste Mal davon gelesen habe, war mein Eindruck, dass das Scannen dann mindestens doppelt so langsam ist. Ich habe früher mal zwei Virenscanner gleichzeit auf einem System installiert. Das Ergebnis war dann ein nahezu unbedienbares System: On-Demand-Scanner 1 scannt die Datei von On-Demand-Scanner 2. On-Demand-Scanner 1 stellt fest, dass wieder ein Prozess auf die Datei zugreift und so weiter. Ergebnis: Die Scanner haben das System quasi mit sich selbst blockiert.

Security Center

Das Security Center vereinheitlicht die Bestandteile der Anti-Malware Suite:

image

Da wird der aktuelle Sicherheitsstatus angezeigt: sind alle Updates installiert, ist der OnExecution Scanner aktiv, ist der Surf Schutz aktiv usw.

Scanner

Über das Sicherheitscenter kann via “PC Scannen” der Scanner manuell gestartet werden:

image

Im Hintergrund ist der On Execution Scanner sowieso aktiv. Möchte man nun den ganzen Rechner nach möglichen Schädlingen scannen, nutzt man den Button “PC Scannen”.

Hier hat man nun die Auswahl zwischen “Schnelltest”, “Smart Scan”, “Detail Scan” und “Eigener Scan”. Auf einem recht frisch installierten System benötigt der “Detail Scan” ca. 30 Minuten.

image

Zum Prüfen des Scanners habe ich mich mal auf einen standardisierten Test verlassen und zwar den von EICAR:

image 

Dort wird unter der Adresse http://www.eicar.org/anti_virus_test_file.htm ein Test-Virus zum Download angeboten, der von jedem aktuellen Virenscanner erkannt werden MUSS!

Das Herunterladen der Dateien funktioniert ohne Intervention von A-SQUARED Anti-Malware. Das verwunderte mich etwas, da ich von Avira oder Norton Antivirus gewohnt war, dass der Scanner “On Access” arbeitet. Beim Herunterladen der Datei würde der Download direkt abgebrochen.

Bei A-SQUARED Anti-Malware wird erst beim Ausführen der Datei gescannt und dann erst der Virus erkannt:

image

Alternativ werden die Test-Viren auch beim Detail-Scan gefunden:

image

HiJackFree

Neben einem Virenscanner beinhaltet das Paket auch ein Tool zum Aufspüren von HiJackern, Spyware, Adware usw.: HiJackFree

08 - HiJackFree

Ich kannte bisher HiJackThis von Trend Micro:

image

HiJackFree ist eine durchaus ernstzunehmende Alternative. Bei HiJackThis öffnet sich das Online-Forum zu dem selektierten Eintrag über einen Doppelklick. In HiJackFree muss man etwas länger suchen, aber wird dann doch fündig:

image

Und dann öffnet sich auch der Browser mit den Detail-Informationen, die ich wirklich gelungen finde:

image

Fazit

Alles in allem bin ich mit A-SQUARED Anti-Malware sehr zufrieden. Das Update funktioniert tadellos im Hintergrund. Der Memory Footprint von ca. 25MB und die Prozessorauslastung ist für mich auf jeden Fall akzeptabel und stört nicht bei der Arbeit. Zudem ist die Oberfläche wirklich gelungen: ansprechend und einfach bedienbar. Ich kann euch nur empfehlen, ebenfalls das Tool mal auszuprobieren. Eine 30 Tage Testversion kann auf der Webseite des Herstellers Emsi Soft heruntergeladen werden:

http://www.emsisoft.de/de/software/antimalware/

Tipp: Normalerweise kostet die Lizenz 30€. Auf der Webseite von Winload habe ich ich es für 15€ gefunden: http://www.winload.de/download/105408/Sicherheit,Utilities/Antivirus/a-squared.Anti-Malware.4.5.0.1.html

Facebook Account wirklich löschen

Heute hab’ ich es getan – ich habe meinen Facebook Account endlich gelöscht. Meine bisherigen Anstrengungen haben nur dazu geführt, dass ich meinen Account deaktivieren konnte – jetzt endlich habe ich es geschafft – und Du kannst das auch 😉

Das Löschen eines Facebook-Kontos ist garnicht so einfach wie man glaubt. In zahlreichen Foren beschwert man sich darüber, dass man es nur deaktivieren kann. Diese Erfahrung habe ich auch gesammelt:

image

Deaktivieren ist aber nicht löschen – und ich will meine Daten löschen!

Also habe ich einige Zeit damit verbracht, eine Lösung für mein Problem zu finden. Hier ist sie:

1. Einloggen

2. Folgenden Link anklicken: http://www.facebook.com/help/contact.php%3Fshow_form=delete_account 

Facebook löschen

Facebook löschen - Sicherheitsabfrage 

Facebook löschen - 14Tage Karenzzeit 

3. 14 Tage lang nicht wieder bei Facebook anmelden

4. Account endlich gelöscht 🙂

.NET Open Space Süd 2009 in Blaustein

Ich war dabei – beim .NET Open Space Süd 2009 bei Artiso. Zuerst einmal möchte ich den Organisatoren Thomas und Alex (und natürlich den Sponsoren!) für das gelungene Event danken! DANKE! Es hat wirklich Spaß gemacht und ich habe jede Menge gelernt.

Das Konzept – einige kannten es bereits aus Leipzig oder von ALT.NET aus England – war für mich neu: Jeder hatte die Möglichkeit, Themen seines Interesses auf jeweils ein Zettelchen zu schreiben und mit den Teilnehmern zu diskutieren. Anfangs konnte ich mir nicht wirklich vorstellen, dass es funktioniert. Aber es tut es wirklich!

Nach einem Smalltalk bei einem Käffchen und einer Butterbrezel ging mein erste Session los: “SCRUM”. Dabei habe ich einen guten Überblick über die Technik bekommen und konnte mir das Pro und Kontra mit praxisrelevantem Hintergrund anhören. Nach einer Pause ging es weiter mit WCF. Die Nachmittagsrunde hat sich mit Inversion Of Control (IoC) und Dependency Injection (DI) beschäftigt. Der Albert hat sehr kompetent die Fragen der Interessierten beantwortet. Für mich war diese Technik relativ neu – ich hab sie zumindest noch nie in Action gesehen und konnte mir nicht wirklich was darunter vorstellen. (Auch wenn ich oft gehört hab: “Ja wie testet ihr denn?”)

Am zweiten Tag ging es los mit Testen von Anwendungen und der UI. Die kontroverse Diskussion war recht fruchtbar und ich habe einiges darüber gelernt, wie andere Entwickler und Organisationen mit dem Testen an sich umgehen. Danach ging es weiter mit Clean-Code-Development. Stefan Lieser hat einen kurzen Überblick über die Hintergründe und das Wertesystem gegeben – und mich überzeugt, auch ein Clean-Code-Developer zu werden ;-).

Alles in Allem war es ein sehr gelungenes Event. Ich habe mich besonders gefreut, mal die Leutchen live und in Farbe zu sehen, deren Blogs ich regelmäßig lese 🙂

Vielen vielen Dank nochmal für das coole Event. Das nächste Mal werde ich in Blaustein oder Ulm übernachten und die Party mitnehmen 😉

Leider habe ich keine Kamera dabei gehabt, aber es wird bestimmt bald Bilder vom Event auf http://ulm.netopenspace.de/2009/ geben.

Apple Software Update …

Nach dem Start meines Rechners öffnete sich heute das Apple Software Update. Dabei möchte es gern ALLES installieren, was Apple grad vorrätig hat:

image

Neben einem Boot Camp-Update, Safari 4, diversen Versionen von iTunes und Quicktime sind AirPort-Dienstprogramme, sowie Konfigurationssoftware für das iPhone dabei. Wenn ich auf “16 Objekte installieren” klicke, wird tatsächlich der für mein System unnütze Krempel mitinstalliert. So ein Schwachsinn!

Ich selbst besitze nur einen iPod der 5. Generation. Damit ich überhaupt Lieder auf das Gerät übertragen kann, MUSS ich iTunes (ca. 100MB) installieren. Dass Apple nur “chique” kann, aber keine Funktion hat, habe ich schon bei meinem iPod bemerkt. Die Klangqualität ist miserabel, der Akku ist nicht auswechselbar und hält nicht mal 3h bei reiner Musik.

Wie man sieht, ist Software-Entwicklung auch nicht unbedingt Apples Stärke …

Vielleicht sollten sie sich auf Obsthandel spezialisieren. Da kann man nicht so viel falsch machen .. und ein passendes Logo haben sie ja auch schon 😉

Windows 7 XP-Mode

Ich war gestern auf dem Microsoft TechDay zum Thema Windows 7 und Windows Server 2008 R2. Als eine Virtualisierungstechnologie wurde dabei der sogenannte “XP-Mode” unter Windows 7 vorgestellt. Dabei handelt es sich um Windows Virtual PC (ehemals Microsoft Virtual PC).

Damit wird es möglich, einzelne Programme unter einem anderen Betriebssystem (im Speziellen Windows XP SP3) auszuführen.

Installation

Schritt 1: Endbenutzer-Lizenzvertrag annehmen

image

Schritt 2: Kennwort für das Image eingeben. Optional kann festgelegt werden, ob das Kennwort für die Anmeldung gespeichert wird und eine automatische Anmeldung vorgenommen werden soll.

image

Schritt 3: Windows Updates einschalten

image

Schritt 4: Warten .. warten .. warten .. bis der virtuelle Computer gestartet ist.
(Bei mir hat es etwa 10min. gedauert)

image

image

image

Dann endlich startet der Rechner und meldet sich automatisch mit den in Schritt 2 angegebenen Credentials an:

image

image

Durch ein Schließen des Fensters wird der virtuelle Rechner in den Ruhezustand versetzt:

image

Nun findet man den Rechner im Profil des angemeldeten Benutzers wieder:

image

Verfügbar machen von virtuellen Anwendungen im Startmenü

Nachdem Anwendungen installiert wurden, sind diese nicht immer automatisch in Windows 7 verfügbar.

Anwendungen müssen für alle Benutzer verfügbar sein. Bei mir hat es auch mal geholfen, wenn ich das Programm ans das Startmenü anhefte:

image

Dann ist es auch unter Windows 7 verfügbar:

image

Ich habe mal testweise den FireFox unter dem virtuellen WindowsXP installiert. Es startet sich wie ein ganz normales Programm und fügt sich als Fenster in die anderen Windows 7 Fenster ein:

image

Leider funktionieren diese netten Vorschauen nicht mehr. Hier ein Screenshot:

image 

Wenn man die virtuelle Maschine gestartet hat, kann man die virtuelle Anwendung nicht starten. Stattdessen wird folgende Meldung:

image

Downloads

Mehr Informationen: http://www.microsoft.com/windows/virtual-pc/get-started.aspx
Download: http://www.microsoft.com/windows/virtual-pc/download.aspx

Windows Virtual PC ist etwa 4,6MB groß. Dieses Paket ist Voraussetzung für den virtuellen Modus.

Windows XP gibt es als Paket mit insgesamt 446MB.