Gimp: Der Matrix Effekt

Heute möchten wir den bekannten Matrix-Effekt mit der Open Source Grafikanwendung Gimp nachbauen. Aus Gründen der Rechtssicherheit möchte ich das Logo meines WordPress-Blogs mit einem eigenen Header versehen. Bisher habe ich auf eine angeblich „freie“ Matrix-Grafik zurückgegriffen. Da aber in Zeiten der wildgewordenen Abmahnanwälte nicht so sicher als das ist, was man selbst erschafft, bauen wir den Effekt nun nach.

Schritt 1: Bild anlegen
Wir wählen „Datei“ – „Neu“ und geben die Größe des Bildes an. Für das Standard-Design von WordPress benötigen wir eine Grafik in der Größe von 940×198 Pixeln. Sie selbst können natürlich Ihre Größe frei wählen

Schritt 2: Der Filter RGB-Rauschen
Dann wählen wir unter „Filter“ – „Rauschen“ den Filter „RGB-Rauschen“. Dort geben wir die Werte „0,20“ für alle drei Farben an und entfernen die Haken bei den Auswahlboxen „Korreliertes Rauschen“ und „Unabhängige RGB-Kanäle“. Wir erhalten nun ein Bild, das ein wenig an das Schneegestöber im TV erinnert, wenn das Antennenkabel nicht angeschlossen ist.

Schritt 3: Streifen erstellen
Um aus unserem Rauschen Streifen zu bilden, bemühen wir den Filter „Verschieben“, den wir unter „Filter“ – „Abbilden“ finden. Dort wählen wir als Verschiebungsmodus „Katesisch“ und als Kantenverhalten „Verwischen“ aus. Die X-Verschiebung bestimmt das Aussehen der Streifen. Probieren Sie über die Vorschau einige Werte aus. Der Wert „10“ ist schon mal ganz gut. Ich habe mich in diesem Beispiel für den Wert „30“ entschieden. Als Y-Wert müssen die die doppelte Höhe Ihres Bildes angeben. In meinem Beispiel also 198×2.

 

 

Schritt 4: Filter „Erweitern“
Wählen Sie nun unter „Filter“ – „Allgemein“ den Filter „Erweitern“ an. Sie erhalten ohne weitere Eingabe das Ergebnis.

Schritt 5: Kanten finden
Im nächsten Schritt bemühen wir den Filter „Kanten finden“ unter „Filter“- „Kanten finden“ – „Kanten“. Geben Sie im Konfigurationsfenster die folgenden Werte an: Algorithmus: „Prewitt-Kompass“, Menge „3,7“ und wählen Sie „Umfalten“ an.
Nach nur wenigen Schritten haben wir nun ein schon sehr beeindruckendes Ergebnis.

Schritt 6: Ebene „Hintergrund“ duplizieren, Filter „Kachelbarer Weichzeichner“
Bisher haben wir rein auf der Hintergrundebene gearbeitet. Diese werden wir nun duplizieren. Dazu wählen wir die Ebene „Hintergrund“ im Fenster „Ebenen …“ mit einem Linksklick, klicken rechts und wählen im Kontextmenü „Ebene duplizieren“ aus. Danach wenden wir auf diese Ebene den kachelbaren Weichzeichner unter „Filter“ – „Weichzeichnen“ – „Kachelbarer Weichzeichner“ aus. Wir geben dort einen Radius von „3“ ein.

Schritt 7: Ebene überlagern, vereinen, neue Ebene erstellen
Nun wählen wir im fenster „Ebenen …“ als Modus „Überlagern“. Dann klicken wir mit der Rechten Maustaste auf unsere duplizierte Ebene und wählen „Nach unten vereinen“. Nun haben wir nur noch eine Ebene. Nun erstellen wir eine neue Ebene („Ebene“ – „Neue Ebene“). Auf Wunsch können Sie dieser Ebene einen Namen geben.

Schritt 8: Farbe auswählen und Bild einfärben Nun bringen wir endlich Farbe ins Spiel. Klicken Sie dazu im Werkzeugkasten auf „Vordergrund- und Hintergrundfarben“. Im Fenster „Vordergrundfarbe ändern“ wählen Sie nun ein Grün aus. Im Beispiel verwenden wir die HTML-Notation „00ad38“. Füllen Sie nun die neue Ebene mit dieser Farbe. Klicken Sie dafür im Fenster „Ebenen …“ die neue Ebene an. Danach wählen Sie aus dem Werkzeugkasten „Füllen“ („Werkzeuge“ – „Malwerkzeuge“ – „Füllen“) aus. Klicken Sie in ihr Fenster. Das Fenster wird nun vollflächig mit Ihrer Farbe gefüllt. Wählen Sie nun im Fenster „Ebenen“ den Modus „Multiplikation“. Auf Wunsch können Sie nun noch die beiden Ebenen vereinen (Rechtsklick, „Nach unten vereinen“).

HTML: Der Body der Webseite

Der Tag „body“ enthält alle sichtbaren Elemente einer Webseite. In diesem Container sind also alle Dateien einzufügen, die auf der Webseite angezeigt werden sollen. Von Texten über Grafiken bis zu Applets.
Probieren Sie folgendes Beispiel einmal aus:

<html>
<head>
<meta http-equiv="Content-Language" content="de">
<title>Meine erste Webseite</title>
</head>
<body>
Dies ist der Text innerhalb des Bodys
</body>
</html>

Dieser Text steht innerhalb des Body
Machen Sie einmal folgenden Test und schreiben Sie folgendes:

<html>
<head>
<meta http-equiv="Content-Language" content="de">
<title>Meine zweite Webseite</title>
</head>
<body>
Dies ist der Text innerhalb des Bodys
</body>
Dieser Text steht AUSSERHALB des Body
</html>

Die meisten Browser zeigen auch den Text außerhalb des Bodys an. Dies ist jedoch nicht richtig und kann zu Problemen führen. Im Body selbst können Sie weitere Parameter definieren, die das Aussehen der Webseite bestimmen. Folgenden Parameter sind möglich:

Die Textfarbe: Attribut „text“
Die Hintergrundfarbe: Attribut „bgcolor“
Die Hyperlinkfarbe: Attribut „link“
Die aktive Hyperlinkfarbe: Attribut „alink“
Die „besuchte“ Hyperlinkfarbe: Attribut „vlink“
Der Syntax des Body-Tag sieht dann folgendermaßen aus:

<html>
<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="refresh" content="5">
<title>Meine selbstaktualisierende Webseite</title>
</head>

<body bgcolor="green" link="yellow">
Dies ist der Text in Standardfarbe auf grünem Hintergrund.
<p><a href="http://www.google.de">Der Link zu google sollte in gelb erscheinen.</a></p>
</body>
</html>

Die Reihenfolge der Attribute ist beliebig. Auch ist es möglich, eine Farbe per Name oder per RGB-Wert anzusprechen. So ist also auch folgende Mischangabe möglich (wenn auch nicht „schön“):
<body bgcolor=“#008000″ link=“yellow“>
Neben der Möglichkeit, einer Webseite eine globale Hintergrundfarbe (“bgcolor”) mitzugeben, können Sie auch eine Grafik als Hintergrund einblenden Hintergrundbilder überdecken eine Hintergrundfarbe. Wenn die Grafik jedoch transparent definiert ist, so kann die Hintergrundfarbe in Vorschein treten.

<html>
<head>
<meta http-equiv="Content-Language" content="de">
<meta http-equiv="refresh" content="5">
<title>Meine selbstaktualisierende Webseite</title>
</head>

<body bgcolor="#008000" link="yellow" background="Pfad-zu-meinem-Bild.jpg">

Dies ist der Text in Standardfarbe auf grünem Hintergrund.
<p><a href="http://www.google.de">Der Link zu google sollte in gelb erscheinen.</a></p>
<p><font color="#008000">grgzrt</font></p>
</body>

</html>

Nicht zum HTML-Standard gehört das Attribut „bgproperties“. Damit erreichen Sie, dass das Hintergrundbild nicht mitscrollt. Je nach Browser wird dieses Attribut ignoriert.
Syntax: bgproperties=”fixed”

Sichere Passwort-Verschlüsselung

Die Tageszeitungen überschlagen sich mit den Meldungen, dass wieder und immer wieder Server bekannter Firmen geknackt wurden. Nach Sony hielt nun auch der Server des japanischen Videospielanbieters Sega einem Hackerangriff nicht stand. Und nicht selten ist zu lesen, dass diese Server die Passwörter ihrer Nutzer im Klartext gespeichert haben. Der Mensch neigt dazu, für viele Systeme das gleiche Passwort zu verwenden. Und so haben die Passwortdiebe meist schnell Zugriff auf andere Accounts des Bestohlenen. Hand aufs Herz: Haben Sie bei Paypal nicht das gleiche Passwort wie bei vielen anderen Webseiten? Es muss nicht weiter aufgeführt werden, was passieren kann, wenn der Server einer dieser Webseiten gehackt und die Passwörter, Namen und Email-Adressen gestohlen werden.

Kein Webserver ist wirklich zu 100 Prozent sicher. Tagtäglich finden Hacker irgendwelche Möglichkeiten, einen Server zu knacken. Dies wird sich nie ändern. Und ein guter Administrator weiß das. Und gerade, weil der Administrator dies weiß, ist es ein Unding, dass viele Webseiten die Passwörter nach wie vor im Klartext speichern. Ein kleiner Test zeigt, ob dies der Fall ist. Schauen Sie sich bei einer Webseite Ihrer Wahl um den Logindialog um, ob Sie einen Link finden, der Ihnen Ihr Passwort zuschickt. Dies ist eine gute Möglichkeit wieder Zugriff auf eine Webseite zu erhalten, falls man das Passwort vergessen hat. Wird jedoch mir genau das Passwort zugeschickt, das ich ursprünglich eingegeben habe, bedeutet dies, dass das Passwort nicht ausreichend verschlüsselt oder gar im Klartext in der Datenbank gespeichert wurde. Besser: Der Server setzt das Kundenpasswort zurück und verschickt ein Einmalpasswort.

Dabei ist es ein Einfaches, Passwörter verschlüsselt abzulegen. In der Regel funktioniert diese Technik so. Das Passwort wird intern immer verschlüsselt, also ein „Hash“ generiert. Der Hash aus dem „Einweg-Hash-Verfahren“  ist als solches für ein gleiches Passwort immer gleich. Rückschlüsse aus dem Hash zum ursprünglichen Passwort zu ziehen, ist nicht möglich.

<?php
// Passwort setzen
$passwort = 'mein_Pwd';

// Hash generieren
$hash = crypt($passwort);
?>

Beispiele von Hashs:

Standard DES: rl.3StKT.4T8M
Extended DES: _J9..rasmBYk8r9AiWNc
MD5:          $1$rafvgdfgle$rISCgZzpwk3UhDidwXvin0

Dies galt lange Zeit als sicher, da dieser Hash nicht zurückrechenbar ist. Wenn nun das Passwort überprüft werden muss, erfolgt die Generierung des Hashs der Benutzereingabe. Und diese wird mit dem gespeicherten Hash aus der Datenbank vergleichen.

if (crypt($benutzer_eingabe) == $hash_aus_datenbank) {
echo "Passwort stimmt überein!";
}

Erfolgt nun ein Angriff auf den Server und die Passwörter werden gestohlen, erhält der Dieb nur die Hashs der Passwörter. Eine Rückrechnung der Passwörter ist nach wie vor nicht möglich. Wohl aber das Durchprobieren (Brute Force) aller Passwortkombinationen mit Crackern wie beispielsweise John the Ripper ist möglich. Nicht ohne Grund wird für ein „sicheres“ Passwort eine Mindeststellenanzahl von acht angesehen. Wörter aus dem Lexikon sind zu vermeiden. So ein Passwort er entschlüsseln bedeutet eine Rechnerlaufzeit von Monaten bis hin zu Jahre. Findige Hacker optimieren diese Entschlüsselung, indem sie ganz einfach bereits bekannte Hashs in riesigen Tabellen (Rainbow Tables) speichern und diese Tabellen mit ihrem Hash vergleichen. So lassen sich „schwache Passwörter“ binnen Minuten entschlüsseln.
Doch auch in Sachen Hardware hat sich vieles getan. Einerseits ist es heute ohne Probleme möglich, sich Rechnerleistung nahezu beliebig via Internet zu mieten („Cloud-Computing“), andererseits sind speziell auf das Entschlüsseln von Passwörtern optimierte Server erhältlich. Wie man auch mit wenig finanziellem Aufwand seinen Rechner derart beschleunigen kann, zeigen die viele Beispiele der Bitcoin-Generierung. Das „Bitcoin-Mining“ ist nur lukrativ, wenn der Rechner deutlich mehr Rechenoperationen pro Sekunde durchführen kann, als ein normaler Standardrechner.

Wie kann man aber doch sicher ein Passwort ablegen?
Wenn ein Administrator das Standard MD5-Hash-Verfahren einsetzt, ist dies schon mal wesentlich besser, als Passwörter im Klartext zu speichern. Doch aufgrund von Rainbow Tables und der gestiegenen Rechenleistung kann dieses Verfahren ebenfalls nicht mehr als sicher angesehen werden. Eine gute Möglichkeit aus Nutzersicht die Sicherheit zu erhöhen, ist ein möglichst langes Passwort zu wählen. Für lange Passwörter ist es unwirtschaftlich, Rainbow Tables durch Vorberechnung anzulegen. Gleiches gilt für das direkte Ausprobieren (Brute Force).
Da aber das Nutzerverhalten zu möglichst kurzen Passwörtern neigt und keine Webseite seine Kunden zwingen kann, beispielsweise ein zwölfstelliges Passwort zu erzeugen, muss der Administrator dies für seine Nutzer machen. Das Passwort wird mit einer zufälligen Zeichenkette verlängert, auch Salt genannt. Erst von diesem neuen Passwort wird der Hash erzeugt. Für den Vergleich der Hash muss dieser Salt allerdings bekannt sein. Also wird der zufällig erzeugte Salt dem Hash einfach vorangestellt und gespeichert. Klingt Widersprüchlich? Ja, aber es funktioniert. Das Ziel des Salt ist es, das Passwort aufzublähen und somit den Aufwand zum Anlegen von Rainbow Tables massiv zu vergrößern. Ein zufällig generierter Salt erfüllt diesen Zweck.

Salz in der Suppe: Salt und Hash
Das Passwort ist somit immer noch nicht zu 100 Prozent sicher geschützt. Die Konzentration des Hackers auf ein bestimmtes Passwort lassen den Hacker je nach Rechenleistung in vertretbarer Zeit zum Ziel kommen. Mehrere oder gar alle Passwörter einer Datenbank zu entschlüsseln, die mit Salt verschlüsselt wurden, ist derzeit fast unmöglich.
Aber auch dieses Verfahren lässt sich noch verbessern. Aktuell ist die beste Methode, ein Passwort zu verschlüsseln, den per Salt gewürzten Hash immer und wieder zu wiederholen. Diese gewollte Verlangsamung hat den Vorteil, dass der Hacker dies ebenfalls für jede Passwortkombination wiederholen müsste. Die Webanwendung, die den Hash bei der Passwortüberprüfung so ermitteln muss, benötigt so viel länger. Von einer Mikrosekunde auf vielleicht eine Millisekunde. Dies merkt der Nutzer nicht. Der Administrator lediglich durch seine höhere Serverlast. Wer aber wirklich massiv ausgebremst wird, ist der Hacker. Aktuell schaffen optimierte Passwortgeneratoren rund 100 Millionen Passwörter pro Sekunde. Wenn ein Passwort beispielsweise 1000 mal gehasht wird, kann der Passwortgenerator lediglich 100.000 Passwörter pro Sekunde erzeugen und vergleichen. Dies bedeutet, dass ein Brute-Force-Angriff auf ein einfaches achtstelliges Passwort von bisher 18 Tagen auf 48 Jahre verlängert wird. Aktuell kann dies für den Hacker als unwirtschaftlich angesehen werden.

Internet-Explorer (IE) steuern mit C#

Die Anwendungsmöglichkeiten sind vielfältig. Von kleinen SSO (SingleSignOn)-Lösungen bis hin zur kompletten Automation: Das automatische Steuern des IE kann ganz nützlich sein. Schon unter VB6 konnte auf das Webmodell des IE zugegriffen werden. Wer endlich den Umstieg zu .NET schafft, wird allerdings erst einmal relativ wenig darüber finden. Beeindruckend sind die Möglichkeiten allemal.
Zumal für die meisten Aufgaben noch nicht einmal der IE benutzt werden muss. Will man nur den HTML-Code oder ein XML auslesen, ist mal über den WebRequest bestens bedient. Selbst ein Proxy ist so anzusprechen.

Beispiel 1: WebRequest für die Rückgabe von HTML oder XML

//sURL: Die Ziel-URL
WebRequest request = WebRequest.Create(sURL);

//Webproxy mit den Parametern sUser, sPasswort, sDomain, sPort
//    WebProxy proxy = new WebProxy(sWebProxy, Convert.ToInt32(sPort));
//    proxy.UseDefaultCredentials = true;
//    proxy.Credentials = new NetworkCredential(sUser, sPasswort, sDomain);
//    request.Proxy = proxy;

WebResponse response = request.GetResponse();
Stream streamResponse = response.GetResponseStream();

StreamReader streamRead = new StreamReader(streamResponse, Encoding.Default);
Char[] readBuff = new Char[256];
int count = streamRead.Read(readBuff, 0, 256);
string xmlData = "";
while (count > 0)
{
String outputData = new String(readBuff, 0, count);
xmlData += outputData;
count = streamRead.Read(readBuff, 0, 256);
}

// Close the Stream object.
streamResponse.Close();
streamRead.Close();
response.Close();

//xmlData beinhaltet nun den Code
return xmlData;

Das Beispiel 1 erweist sich als äußerst stabil und zuverlässig. Doch nicht wenige Webprogrammierer schieben einer solchen Abfrage einen Riegel vor und liefern 404 (Fehler) zurück, um eben das Auslesen des Codes zu verhindern. In einem solchen Fall kann man einen speziellen Header schicken, um dem Webserver einen Browserzugriff vorzugaugelen, oder eben den Browser bemühen, die Abfrage zu erledigen.
Gerade wenn man noch weitere Aktionen im Dialog mit der Webseite vorhat, kommt man kaum um den Browser herum.

Beispiel 2: IE-Browser mit C# steuern

//Erstelle den IE
object o = null;
InternetExplorer ie = null;

ie = new InternetExplorerClass();
IWebBrowserApp wb = (IWebBrowserApp)ie;
wb.Navigate("http://www.google.de", ref o, ref o, ref o, ref o);
wb.Visible = true;

Sobald Sie sich mit dem Webbrowser beschäftigen, sind in der Regel die untenstehende Verweise notwendig. Die entsprechenden Referenzen für MSHTML und SHDOCVW findet Sie unter COM -> Microsoft HTML Object Library  oder .NET -> Microsoft.mshtml für MSHTML und COM -> Microsoft Internet Controls für SHDOCVW.

using SHDocVw;
using mshtml;

Beispiel 3: HTML-Code aus Webseite auslesen

Wenn der Browser wie in Beispiel 3 geöffnet und die Seite angezeigt wurde, kann man auch auf den HTML-Code zugreifen:

//Warte - hier gibt es bessere Möglichkeiten
while (wb.Busy) ;
HTMLDocument wd = (HTMLDocument)wb.Document;

//HTML-Code
IHTMLDocument2 doc = (IHTMLDocument2)ie.Document;
string sHTML = doc.body.innerHTML;

Beispiel 4: Zugriff auf die HTML-Elemente

Man kann einfach über den TagName auf die Elemente zugreifen

//Alle Elemente
IHTMLElementCollection eventLinks = (IHTMLElementCollection)wd.getElementsByTagName("a");

//Diese können dann zum Beispiel mit Foreach durchgegangen werden
foreach (HTMLAnchorElementClass el in eventLinks)

Beispiel 5: Einen bestimmten Link klicken

IHTMLElementCollection linkElems = doc.links;
foreach ( HTMLAnchorElementClass linkl in linkElems)
{
    //a href -> URL des Links
     string sLink = link.href.ToString();

    //Link Klicken mit:
    link.click();
}

Beispiel 6: Manipulation von HTML-Elementen

Auch lassen sich mit C# und dem Objektmodell die Eigenschaften der Tags abfragen und ändern. Folgendes Beispiel ändert beispielsweise alle Targets der Hyperlinks von „_blank“ auf „_self“; alle Links öffnen sich also nur noch im gleichen Fenster.

    HTMLDocumentClass doc = (HTMLDocumentClass) this.webBrowser.Document;
    IHTMLElementCollection all = (IHTMLElementCollection) doc.all;
    IHTMLElementCollection anchors = (IHTMLElementCollection) all.tags("A");
    foreach (HTMLAnchorElement a in anchors)
    {
        if (a.target.Equals("_blank", StringComparison.OrdinalIgnoreCase))
        {
            a.target = "_self";
        }
    }

Beispiel 7: Textbox mit C# füllen und Submit-Button klicken

//Beispiel: Rufe google auf, fülle die Textbox und klicke den Button
object o = null;
InternetExplorer ie = null;

ie = new InternetExplorerClass();
IWebBrowserApp wb = (IWebBrowserApp)ie;
wb.Navigate("http://www.google.de", ref o, ref o, ref o, ref o);
wb.Visible = true;

while (wb.Busy) ;
HTMLDocument doc = (HTMLDocument)wb.Document;

//Die Google-Textbox "q" ansprechen
IHTMLElement inputValue = doc.getElementById("q");

//ändere das Attribut "value" mit dem Such-Inhalt
inputValue.setAttribute("value", "Meine Suche");

//Button ansprechen
IHTMLElement submitButton = doc.getElementById("btnG");

//Button klicken
submitButton.click();

Weitere Links:
Zugriff auf Frames/iFrames

Email-Migration von Outlook 2000 zu Windows Live Mail (über Outlook Express)

Der Datenübertrag von Email-Programmen zur nachfolgenden Version ist meistens kein großes Problem. Anders sieht es aus, wenn man mehrere Versionen „ausgesessen“ hat und heute plötzlich damit konfrontiert wird, seine Daten zu migrieren. Im vorliegenden Fall geht es um dem Umstieg von Outlook 2000 zu Windows Live Mail.
Kontakte lassen sich bequem per Visitenkarte exportieren und in Windows Live Mail importieren (Kontakte in Windows Live Mail importieren). Auch der Kalender-Import klappt schnell und reibungslos. Die Email-Konten an sich stellen auch kein Problem dar. Anders sieht es mit den vielleicht vielen Ordner aus, in denen sich Mails um Mails tummeln. Jedes Exportieren/Importieren zwischen diesen zwei Anwendungen ist leider zum Scheitern verurteilt. Auch die Idee, die Mails per Drag and Drop ins Dateisystem zu kopieren (Ziehen Sie eine Mail aus Outlook 2000 in einen Explorer-Ordner, legt sich die Mail als Outlook-Element („.msg“) inklusive eventuell vorhandener Anlagen sauber im Dateisystem ab. Doch jeder Versuch, diese Mails dann in Windows Live zu importieren, wurden zumindest bei mir von Windows Live negativ quittiert.
Nach langem Suchen, googeln und ausprobieren habe ich einen gangbaren Weg gefunden, der jedoch auch nicht optimal ist. Da es sich jedoch um einen einmaligen Vorgang handelt, kann dieser Weg für die meisten eine gute und relativ schnelle Lösung darstellen.
Da ich keinen Weg gefunden habe, direkt die Mails von der einen zur anderen Outlook-Variante zu migrieren, musste ein Zwischenschritt her. Dieser Zwischenschritt ist „Outlook Express“ bzw. „Outlook Express 6“. Diese Abwendung muss kurz installiert werden. Nach erfolgreicher Migration der Daten können Sie Outlook Express wieder schnell entfernen.

Installieren Sie zuerst Outlook Express auf Ihrem Windows-Klient. Microsoft selbst scheint diese Anwendung nicht mehr zum freien Download anzubieten. Per google sind viele wenig vertrauenswürdig bekannte Quellen zu finden, von denen ich alle Abstand halten würde. Zumal Outlook Express bei Windows XP wohl standardmäßig dabei war. Wenn Sie Outlook Express nicht mehr unter Start/Programme finden, wurde die Anwendung evtl. entfernt oder erst gar nicht bei der Systemerstellung installiert. Prüfen Sie daher, ob die Installation einfach möglich ist (unter XP sollte dies der Fall sein). Starten Sie das Menü Software unter Start/Systemsteuerung/Software. Klicken Sie im linken Bereich auf „Windows-Komponenten hinzufügen/entfernen“. Im „Assistent für Windows-Komponenten“ finden Sie in der „Komponentenliste“ den Eintrag „Outlook Express“. Klicken Sie die Checkbox vor „Outlook Express“, damit dort der Haken gesetzt ist. Windows XP wird nach dem Klick auf den Button „Weiter“ Outlook Express installieren. Eventuell müssen Sie die System-CD nach Aufforderung einlegen.
Wenn der Dialog abgeschlossen wurde, können Sie Outlook Express via Start/Programme starten. Die Meldung, ob „Outlook Express“ der neue Standard-Mailclient werden soll, können Sie mit „Nein“ beantworten. Denn wir möchten uns nur kurz mit Outlook Express beschäftigen. Wählen Sie Datei/Import/Ordner. Mit etwas Glück findet Outlook Express die PST-Datei von Outook 2000 automatisch und bietet Ihnen an, die Daten zu importieren. Bestätigen Sie die Meldung. Je nach Umfang der Daten kann dieser Vorgang eine ganze Weile dauern.
Wenn die Daten in Outlook Express importiert sind, schließen Sie die Anwendung. öffnen Sie Windows Live Mail und wählen dort ebenfalls den Punkt „Import“. Wählen Sie als Quelle „Outlook Express“ und importieren Sie die Daten, die Sie gerade nach Outlook Express  importiert haben. Nach erfolgreichem Abschluss des Imports, der ebenfalls einige Zeit dauern kann, haben Sie Ihre Mails in einem neuen „Speicherordner“ in Windows Live Mails. Klicken Sie diese Ordnerstruktur auf. Unter „Importierter Ordner“, „Lokale Ordner“ finden Sie Ihre bisherige Ordnerstruktur, evtl. sogar inklusive Ihrer gelöschten Mails. Diese Ordner können Sie dann innerhalb von Windows Live Mail nach Ihrem Geschmack verschieben und anpassen.
Wenn alle Daten importiert sind, können Sie Outlook Express wieder entfernen (Haken entfernen unter „Windows-Komponenten hinzufügen/entfernen“).

Kontakte importieren oder synchronisieren zwischen Outlook, Hotmail und Android Smartphone (HTC Desire)

Es ist eine tolle Sache, dieser gemeinsame Datenaustausch. Durch ein zentrales Hotmail- oder Google-Konto kann ich meine Kontakte so verwalten, dass diese in meinem lokalen Outlook (oder Windows Mail), meinem Smartphone und dem zentralen Hotmail-Konto zur Verfügung stehen. Die Bedenken hinsichtlich der Datenkrake Google bzw. auch mein Vertrauen Microsoft gegenüber ist eher gering; dennoch nutze ich diesen Dienst (Siehe auch: Outlook-Kalender in Outlook Live oder Hotmail exportieren).

Migration der Daten aus Outlook 2000
Die Kontakte lassen sich schnell aus Outlook exportieren. Mittels der Visitenkarte (.vcf – Datei) kann der Export stattfinden. Windows Mail kann diese Daten ohne Probleme importieren. Hotmail will für den Import eine csv-Datei. Wenn lokal Windows Mail installiert und mit dem Hotmail-Konto verknüpft ist, findet der Datenaustausch automatisch statt.


Synchronisation mit dem HTC Smartphone

Es ist per Standard in Android nicht möglich, Kontakte via Hotmail-Konto zu synchronisieren. Wenn das Mailprogramm „Improved Email“ als App installiert und konfiguriert wurde, klappt der automatische Abgleich.

Probleme bei der Synchronisation
In meinem Fall gab es die Kontakte bereits auf meinem Android-Handy (via Active Sync). Diese Kontakte wurden nicht automatisch zu Hotmail übertragen. Ich habe gehofft, dass die Anlage via Hotmail die Daten überschreibt oder die Kontakte danach doppelt vorhanden sind (was mühevolles Löschen zur Folge gehabt hätte). Microsoft hat mich davor bewahrt, die Synchronisation bestehender Daten wurde vielleicht aus eben diesen Gründen nicht durchgeführt.

Wie oben beschrieben, hat die Synchronisation zwischen Hotmail und Windows Live Mail ohne weiteres funktioniert. Auch neue Kontakte wurden synchronisiert. Aus diesem Grund habe ich folgende Schritte unternommen:
Vielleicht der beste Weg zur Kontakte-Synchronisation
Um die oben beschriebenen Probleme von vorneherein auszuschließen, empfehle ich auf jeden Fall auf keine „alten Kontakte“ aufzubauen. Man kann es ausprobieren, doch wenn die Synchronisation fehlschlägt, löscht man die Kontakte.

Achtung: Man will sich natürlich die Arbeit ersparen, die Kontakte danach wieder manuell abzutippen. Daher die Kontakte via .vcf-Datei vorher sichern, oder ein csv-Datenexport (wenn möglich) machen. Hotmail bietet zum Beispiel diesen Weg. Es wird eine CSV-Datei namens „WLMContacts.csv“ erstellt. Das Schwierigste an diesem Export ist auf jeden Fall, das Chapta korrekt zu erkennen.

Wenn die Daten gesichert wurden, löscht man ALLE Kontakte. Im Handy, in Hotmail und/oder Windows Live Mail. Danach durchatmen und eventuell einmal um den Block spazieren gehen, damit alle Geräte die nötige Zeit haben, sich über die fehlenden Daten zu  “unterhalten”.
Import der CSV-Datei
Das schöne an csv-Dateien ist, dass diese über Texteditoren auch editiert werden können. Sie können also in der Datei kleinere änderungen schnell vornehmen. Achten Sie jedoch darauf, dass Sie die Zeilentrennung (Komma oder Semikolon) nicht ändern oder die Datei in einem Editor öffnen, der die Datei konvertiert. Nutzen Sie Notepad (Windows oder Notepad ++) oder Textpad.

Der Import ist einfach. Wenn man weiß, was man klicken muss. In Hotmail die Kontakte wählen. Dann den Link „Verwalten“, „Importieren“, „Outlook“ wählen. Im folgenden Menü den RadioButton „Windows Live Hotmail“ und den Pfad zur csv-Datei anwählen. Der Import sollte angestoßen werden.

Danach sind die Kontakte wiederhergestellt und nach einiger Wartezeit sind die Kontakte ebenfalls in Windows Live Mail und dem Smartphone ersichtlich.

Umstieg von Outlook 2000 auf Windows Live Mail via Hotmail-Konto

In der heutigen Zeit hat man viele Email-Adressen. Ich habe mehrere bei gmx, eine bei web.de und unzählige über eigene Domains. Inzwischen habe ich sogar für Paypal und Ebay je eine eigene Email-Adresse. Letzteres erhöht ein wenig die Sicherheit.
Seit Jahren nutze ich Outlook für die Verwaltung. Mein altes Outlook kann schon mit mehreren Email-Adressen umgehen, auch wenn der Postein- und Ausgang nur aus einem eigenen Postfach besteht und der Posteingang ein wenig umständlich per selbsterstellter Regel geteilt wird. Vor Jahren habe ich, als ich mir einen EeePC gekauft habe, einmal Windows Live Mail angeschaut, da dies bereits vorinstalliert war. Abgesehen vom „bonbonhaften“ Design fand ich den Umstieg zu dieser kostenlosen Version interessant, da es gegenüber meinem Outlook 2000 die Email-Postfächer sauber voneinander trennt. KO-Kriterium: Diese Live-Version hatte noch keinen Kalender. Und ein zentraler Familienkalender ist für mich lebensnotwendig. Meine Frau kann genauso wie ich Termine einstellen und wenn ich ihr mal wieder nicht zuhöre, werde ich immerhin per Kalender an diverse Termine erinnert …

Da der EeePC via UMTS im Interent hängt, war schon damals der Wunsch da, auf alle meine Email-Postfächer unterwegs zuzugreifen. Also war klar, dass ein zentraler Email-Server installiert werden musste. Ich habe mir den hMailserver sowie dem Communigate Mailserver angeschaut, installiert, teilweise konfiguriert. Dank anderer Familienaufgaben ist nie ein Mailserver produktiv in Einsatz gegangen.

Ende letzten Jahres habe ich mein Handy mit Windows Mobile 6.5 in Rente geschickt. Ein HTC Desire mit Android ist mein neuer Begleiter. Wichtigstes Feature für mich: Der Kalender. Bisher habe ich die Kalenderdaten via ActiveSync mit meinem lokalen Outlook synchron gehalten. Die Enttäuschung war groß, als ich HTC Sync ausprobiert habe. Im Vorfeld hatte ich in diversen Foren gelesen, dass das bisherige HTC Sync mies sein sollte, die neue Version nutzbar sei. Nun, nach zwei bis drei Wochen war ich der Meinung, dass ich das HTC-Sync so schnell wie möglich von meinem Rechner verbannen möchte. Durch Foren fand ich „MyPhoneExplorer“, eine Freeware, die mein HTC-Smartphone vernünftig mit meinem Outlook synchronisierte. Doch 100% zufrieden war ich immer noch nicht. Zumal auch das Mail-Problem mangels Zeit noch nicht gelöst war.

Zwischendurch musste ich für einen Verwanden Erfahrungen mit googlemail machen. Er hatte sich ein Samsung Galaxy gekauft und wollte dann selbst und schnell und einfach seine alten Palm 500 – Daten auf dieses Smartphone „bringen“. Ich habe ihm im Vorfeld gesagt, dass das so nicht geht (schon weil ich wusste, dass ich letztlich die Arbeit an der Backe haben werde), doch er hat es sich gekauft und zwei Tage später hatte ich einen weiteren „Job“. Bei dieser Gelegenheit habe ich eben googlemail und den dortigen Kalender ausprobiert, war von der Synchronisation durchaus begeistert. Auch die Kontakte funktionierten und die Datenkrake Google ist nun um hunderte von Email-Adressen, Telefonnummern und persönliche Daten reicher. Dass ich meine Daten nicht zu Google ziehen werden, hat sich bei diesem Test gefestigt, war aber dennoch von den Möglichkeiten positiv angetan.

Vor zwei Wochen kam ein Kollege mit der Nachricht, dass Hotmail inzwischen einige bisher kostenpflichtige Features nun auch in der kostenlosen Version anbietet. Unter anderem kann Hotmail nun auch weitere POP3-Email-Konten zentral verwalten. Ein „Outlook-Connector“ für den lokalen Outlook-Klient verbindet Outlook schnell mit Hotmail und auch das Smartphone kann darauf zugreifen. Also genau das, was ich gesucht habe. Auch wenn ich Microsoft in Punkte Datenschutz auch nicht viel mehr als Google traue. Aber mein Test begann.

Ich habe mir ein neues Hotmail-Konto angelegt, dessen Basis eine neue Email-Adresse ist. Habe ich also noch eine Email-Adresse mehr. In Hotmail selbst habe ich eine Verbindung zu einer schon existierenden GMX-Emailadresse angelegt. Hotmail holt nun in irgendwelchen Intervallen die Emails ab und legt mir diese innerhalb Hotmail in einem Ordner ab. Nun kam der spannende Teil: Die Verbindung meines Smartphones mit Hotmail. Kurz gesagt: Ich habe es nicht geschafft, das vorhandene Mail-Programm von HTC oder Android mit Hotmail zu verbinden. Diversen Foren sei Dank, bin ich auf die kostenlose App „Improved Email“ gestoßen. Diese auf meinem HTC Desire installiert und die Verbindung zu Hotmail hat schnell geklappt. Die in Hotmail angelegten Ordner synchronisieren sich nun schnell und sauber. Gestört hat mich, dass ich über diesen Weg Mails nun unter der zentralen Hotmail-Adresse verschicken kann, aber dies war für mich noch kein KO-Kriterium (denn Hand aufs Herz: Wer (außer Kiddies) schreibt außer Not Mails via Handy?). Auch die Funktion Push-Mail klappt nur mit der Hotmail-Adresse. Meine Email-Konten, die als Ordner erscheinen, werden lediglich synchronisiert, wenn der Ordner angeklickt wird. Schade, aber damit kann ich leben.

Dann kam Outlook dran. Schließlich wollte ich auch via Outlook auf meine Mails zugreifen. Den „Outlook-Connector“ von Microsoft heruntergeladen, gestartet und siehe da: Er läuft nicht unter Outlook 2000. Guter Rat war teuer, nichts half. Irgendwann habe ich mir dann Windows Love Mail heruntergeladen, zumal ich wusste, dass in den neueren Versionen auch der Kalender Einzug gehalten hat. Live Mail installiert, das Hotmail-Konto angegebenen und schwupps hat es funktioniert. Immerhin ein Lichtblick. Schnell zeigten sich aber Probleme. Ich gehöre leider zu der Sorte Menschen, die auch in Outlook viele alte Mails „horten“. Diese will ich auch im neuen Outlook zur Verfügung haben. Eine gute Lösung, wie ich die Mails in Live Mail migrieren kann, habe ich noch nicht gefunden. Auch die Kontakte habe ich noch nicht migriert, bin mir aber sicher, dass dies ohne große Probleme klappen wird. Viel Wichtiger waren mir die Kalender-Objekte. Und dies war erst mal ein großes Problem. Doch über den Umweg Hotmail habe ich eine gute Lösung gefunden (Outlook Kalender in Outlook Live oder Hotmail exportieren).

Aktuell habe ich noch zwei Punkte, die mich extrem stören:

    1. Mails über meine weiteren Email-Konten zu verschicken klappt nicht nur nicht mit dem Handy, sondern auch nicht mit Windows Live Mail. Aktuell ein KO-Kriterium
    2. Diese VERFL****** Meldung im Mailheader XXX@hotmail.de; im Auftrag von XXX [XXX@hotmail.com] . Wenn über ein anderes Konto Mails verschickt werden (zum Beispiel über die Weboberfläche), erscheint aus „Sicherheitsgründen“ diese Meldung. Googeln hat bisher noch nicht geholfen. Lediglich der Hinweis, dass dies auch googlemail so „macht“, weiß ich nun. Sehr unbefriedigend.

 

Ich werde Euch weiter auf dem Laufenden halten.

NACHTRAG
Der Versand der Emails klappt über den oben beschrieben Weg klappt so nicht wirklich. Auch die Meldung „im Auftrag von XXX“ kann meines Wissens so nicht unterdrückt werden. Nutzen Sie Hotmail in diesem Fall nur zum Empfang bzw. zum Versenden der Mails via Handy/Smartphone. In Windows Live legen Sie alle EMail-Adressen noch einmal als Konto an. Diese Konten sollen nur zum Versenden dienen. Dadurch haben Sie die Möglichkeit, bei einer Mail die Versandadresse anzugeben bzw. auszuwählen.
Wenn Sie das Konto anlegen, müssen Sie auch einen Mail-Eingangsserver angeben, was letztendlich nicht gewünscht ist (die Mails sollen ja via Hotmal zentral eingesammelt werden). Legen Sie das Konto erst einmal korrekt an. Nachdem das Konto angelegt wurde, können Sie in den Eigenschaften den Haken bei „Dieses Konto synchronisieren“ entfernen. Fortan wird Windows Live Mail den Posteingang über dieses Konto nicht noch zusätzlich prüfen; der Mailversand funktioniert tadellos.

Links:
EMails von Outlook 2000 zu Windows Live Mail
Kontakte importieren
Kalender importieren
Serverdaten für Hotmail-POP3/Exchange

Outlook-Kalender: Kalender von Outlook in Outlook Live oder Hotmail exportieren

Outlook-Kalender: Kalender von Outlook in Outlook Live oder Hotmail exportieren

Im Smartphone-Zeitalter will man gerne nur noch einen Kalender pflegen, diesen aber im Internet, auf dem Smartphone und zu Hause auf der lokalen Outlook-Installation synchron halten. Während früher ActivSync von Microsoft die Lösung war, um den lokalen Outlook-Kalender mit dem Handy bzw. Mobiltelefon synchron zu halten, wird dies bei drei zu synchronisierenden Kalender unweigerlich scheitern.

Abhilfe schafft ein zentrales Konto, über das die Synchronisation läuft. Nachdem Google mit googlemail den Weg gezeigt hat, hat auch Microsoft diese Funktion in Hotmail kostenfrei integriert. Welchen Anbieter man wählt, bleibt jedem selbst überlassen. Ich persönlich trau keinem der beiden Konzerne. So ist es eine Wahl zwischen Pest und Cholera.

Doch zurück zu Outlook. Ab Outlook 2003 kann man mit dem inzwischen ebenfalls kostenlos erhältliche „OutlookConnector“ eine Synchronisation zwischen Outlook und Hotmail herstellen. Hat man eine ältere Version oder will zu Googlemail seinen Kalender migrieren, muss ein anderer Weg her. Es bleibt das ICS-Format, eine Schnittstelle für Kalenderdaten. So kann ein einmaliger Export/Import schnell erfolgen. Jedoch kann nicht jedes Outlook den Kalender exportieren (Outlook 2000 auf jeden Fall nicht). Wenn Sie den Outlook-Kalender in ein ics-Datenformat exportieren möchten, kann Ihnen der untenstehende Weg helfen.

Und so exportiert man den Outlook-Kalender in eine ics-Datei

  1. Laden Sie sich das VB Macro von sourceforge herunter (LINK)
  2. Das Zip-File muss entpackt werden
  3. ändern Sie in Outlook die Makro-Sicherheit. Unter EXTRAS/MAKRO/SICHERHEIT die „Mittlere Sicherheit“ auswählen.
  4. In Outlook nun einen VB-Editor öffnen (EXTRAS/MAKRO/Visual Basic Editor)
  5. Im linken Bereich sollte nun das Projektfenster zu sehen sein. Ein Rechtsklick auf den Knoten „Projekt1“ öffnet ein Kontextmenü. „Datei importieren“ auswählen.
  6. Die Datei „frmSaveiCalStep1.frm“ auswählen.
  7. Importieren Sie auch die Forms „frmSaveiCalStep2.frm“, „fmSaveiCalStep3.frm“ sowie die Files „clsFTP.cls“ und „icalendar.bas“.
  8. Unter dem Knoten „Formulare“ finden Sie die Form „frmSaveiCalSpet1.frm“. Doppelklicken Sie den Eintrag.
  9. Unterhalb der Menüleiste ist ein grüner Pfeil („Sub/UserForm ausführen“). Starten Sie mit einem Klick auf den grünen Pfeil das Makro
  10. Wählen Sie Ihren Kalender aus („Default Calendar“) und klicken Sie auf „Next“.
  11. Im folgenden Fester wählen Sie entweder eine bestimmte Kategorie aus, oder aktivieren einfach die Checkbox „Export all appointments in calendar“. Klicken Sie auf „Next“.
  12. Geben Sie in der Textbox unterhalb „Save to local disk/network directory“ beispielsweise „C:meinkalender.ics“ ein.
  13. Mit einem Klick auf „Finish“ sollte die ics-Datei erstellt werden.
  14. Danach können Sie den VisualBasic-Editor schliessen und die Makro-Sicherheit wieder hochsetzen.

 
Nun haben Sie also einmalig Ihren Kalender in eine ics-Datei gesichert. Diese können Sie nun bei hotmail oder googlemail in Ihren Kalender hochladen. Für hotmail-Konten gehen Sie wie folgt vor:

  1. Wählen Sie den Link Kalender in Hotmail
  2. Klicken Sie in der oberen Menüleiste auf „Abonnieren“.
  3. Wählen Sie „Aus einer ICS-Datei importieren“ (Radio-Button)
  4. Wählen Sie mittels des Button „Durchsuchen“ die zuvor erstellte ICS-Datei (Beispiel: „C:meinkalender.ics“) aus.
  5. Wählen Sie die Einstellung „In einen neuen Kalender“ oder „In einen vorhandenen Kalender importieren“ aus.
  6. Klicken Sie auf „Kalender importieren“.
  7.  

Explorer Startordner festlegen

Standardmäßig öffnet der Windows Explorer den Ordner “Startmenü” des angemeldeten Users (”C:Dokumente und EinstellungenBENUTZERStartmenü”). Gerade wenn man mit Netzwerklaufwerken arbeitet, die zeitverzögert sich öffnen, kann dieser Vorgang als störend empfunden werden. über die Windows Registry kann der Startordner des Explorers individuell festgelegt werden. öffnen Sie die Registry (”regedt32″) und navigieren Sie zum Pfad

HKEY_CLASSES_ROOTFoldershellexploreddeexec

öffnen Sie den Schlüssel “Standard”. In ihm sind folgende Parameter eingetragen:  “[ExploreFolder(„%l“, %I, %S)]“.  Ersetzen Sie den mittleren Parameter (”%I”) durch Ihren gewünschten Pfad. Wenn Sie beispielsweise das Root-Verzeichnis von C: öffnen möchten, tragen Sie ein: “[ExploreFolder(„%l“, C:, %S)]“

Neuauflage des Commodore C64 geplant

Ein weiteres Kapitel um den Retro-Klassiker C64 und die Marke Commodore

Was anfänglich als ein Aprilscherz ausgesehen hat, rückt doch immer mehr in den Bereich der möglichen Neuerscheinungen: Eine Neuauflage des guten, alten Commodore C64. Versuche mit einer Neuauflage gab es viele, fast genauso viele wie Besitzer der Marke „Commodore“. Die Firma Commodore International, die den ursprünglichen C64, seinen Nachfolger Amiga und meinen ersten Computer, den VC-20 entwickelt und gebaut hat, gab es viele. Nach der Insolvenz von Commodore 1994 kam die Marke über die Deutsche Computerkette Escom an die niederländischen Firmen Tulip Computers und Yeahronimo Media Ventures zu Asiarim. Keine der Firmen wurde wirklich mit den Markenrechten glücklich, denn keine Firma hat es geschafft, etwas auf den Markt zu bringen, was die Retro-Freaks von damals wirklich begeistert: Eine Neuauflage des C64, der guten alten „Brotkiste“.

Es gab viele Versuche, mit dem Namen Kapital zu schlagen. So wurde zeitweise ein Joystick verkauft, der schon im Innern Hardware beinhaltete, die es ermöglichte, einige Spiele zu emulieren. Auch frei erhältliche Emulatoren gibt es viele – zumal die Copyright-Ansprüche der Spiele in der Regel alle erloschen sind. Doch zufrieden ist mit der Adaption der Spiele kaum jemand. Es fehlt meist der klassische Joystick (heute wurde man sagen: Controller), es fehlt das Gehäuse des C64.

Und zumindest das letztere scheint nun Commodore USA zu liefern. Die Firma wurde vor einem Jahr in den USA gegründet mit dem Zweck, Computer herzustellen, die aussehen wie 1984. Eben wie der klassische C64. Und auch die Software soll darauf laufen.

Nach Aussage von Commodore USA soll im Innern der Neuauflage ein Mainboard im Mini-ITX-Format mit üblichen Desktop-PC-Komponenten stecken. Bestückt mit einer CPU Atom D525 von Intel und Nvidias Grafikchip Ion soll der neue C64 zum Kunden kommen. Insgesamt vier Varianten, von einer Ultimate-Version mit 4GB Hauptspeicher, WLAN, Bluetooth, 1-TByte-Festplatte und Blu-ray-Laufwerk für schlappe 900 US-Dollar bis herunter zu einem Barebone für 250 US-Dollar, dem der Käufer dann selbst ein Mainboard, Laufwerk und Arbeitsspeicher spendieren muss.

Kann die Neuauflage wirklich punkten? Zu aller erst fällt einmal der doch recht hohe Preis auf. Natürlich lässt die zu erwartende geringe Auflage Preise nicht sinken. Doch der Preis von 250 US-Dollar für eine Tastatur samt Gehäuse dürfte auch eingefleischte C64-Retro-Fans erst einmal zum überlegen anregen.

Sicherlich ansehliche Stückzahlen dürfte eine Tastatur dem Hersteller bescheren, die – im Look des klassischen C64 –  sicherlich viele Freunde finden würde. Wenn der Preis sich unter 50 Euro einpendeln würde, dürfte das Ganze ein Erfolg werden. Und man darf träumen: Wenn die „Tastatur“ auch noch einen Anschluss für einen für einen Aufpreis erhältlichen Joystick – Entschuldigung: Controller – hätte, einen Anschluss für einen Monitor und integriert einige Spielklassiker, wäre das Ganze perfekt. Ich persönlich würde sofort für dieses Bundle 100 Euro bezahlen. SOFORT!

Denkbar wäre aber auch die Variante, einen Retro-C64 mit klassischen Komponenten zu entwickeln, wie sie zum Beispiel im MSI-Wind und ähnliche zu finden sind. Also ein alltagstauglicher Büro-PC im Kleid des Commodore C64.

Ich habe leider meinen C64 damals verkauft. Ich war jung, ich brauchte das Geld. Wenn mir auf einem Flohmarkt mal wieder ein C64 über den Weg läuft: Ich werde ihn kaufen. Und vielleicht kann ich bald einen Proto-Typen meiner Ideen präsentieren. Träumen darf man ja.