Insane C# Development

Montag, Februar 25, 2008

Installing Vista on nForce SATA Raid

Mein Gott... Nach ewigem rumprobieren habe ich diesen englischen Artikel (klicky) gefunden, mit dem ich in der Lage war mein Bockiges Vista64 auf einem SATA Raid-0 mit dem nForce4 Chipsatz zu installieren. Folgendes hat mir geholfen:

  1. Im BIOS Raid auch für alle IDE Geräte aktivieren. Regel unter VISTA Setup: Entweder alles SATA oder gar nichts SATA. Ich habe also Raid für meine IDE-CDROMS aktiviert, wodurch diese als SATA Geräte "erkannt" wurden.
  2. RAID konfigurieren, Platten die nicht im Raid drin sind separat als JBOD konfigurieren ("Spanning").
  3. WHQL Treiber von nVidia besorgen. Entweder über Link im Artikel, oder von der nVidia Seite indem man die nForce Treiber-EXE von nVidia entpackt und dann die Verzeichnisse IDE\SATARAID und IDE\SATA_IDE auf einen USB Stick kopiert
  4. VISTA Setup starten (ohne USB Stick!!)
  5. Im Festplatten-Dialog zuerst alle Treiber aus IDE\SATARAID und wenn nötig danach alle Treiber aus IDE\SATA_IDE laden. Wichtig ist hier wirklich alle Treiber mit CTRL+Click zu markieren. Wird nur ein einzelner markiert, oder einer vergessen, dann funktioniert es nicht!

Kleiner Tipp: STRG+F10 öffnet ein Command-Window

Dienstag, Februar 05, 2008

Decoding punch cards in .NET

[UPDATE: Ich habe doch noch weitergearbeitet und die Verzerrungen des Scans entfernt, der Text ist jetzt vollständig abrufbar]

Wie mehrere Leute in ihren Blogs berichten (Blog1, Blog2, Blog3, Blog4) erhalten viele Leute zur Zeit Lochkarten in Holzboxen zugeschickt. Dazu eine auf Schreibmaschine gedruckte Anweisung die "anderen Leute" zu finden um die Karten zu decodieren.

Ich habe zwar keine dieser Karten erhalten, aber einer der Blogger war so freundlich uns allen einen Scan zur Verfügung zu stellen:

lochkarte

Ein kurzes Googeln ergab folgende Seite Doug Jones's punched card codes. Da ich natürlich nicht manuell die Karten dekodieren wollte, schrieb ich in .NET ein kleines Programm.

Schritt 1: PSP7 nehmen, Bild nach Grayscale, Histogramm Anpassungen, und Contour Trace. Danach die nicht benötigten Stellen ausschneiden

lochkarte

Schritt 2: Nach 8bit Indexed Bitmap konvertieren und einige Farben zur Palette hinzufügen

Schritt 3: Im .NET Programm das Raster ermitteln:

grid

Wie man sieht stimmt das ermittelte Raster ab der 30sten Spalte nicht mehr 100%ig, deswegen decodieren wir im ersten Schritt auch nur die ersten 30 Buchstaben.

Schritt 4: Programm die Bounding Boxen nach markierungen scannen lassen:

bounds

Man sieht hier auch schon zwei Scanfehler, in den hinteren Reihen wurden zwei Boxen falsch erkannt. Dies könnte ich noch korrigieren, ist aber nicht notwendig wie man gleich sieht. [UPDATE: Ich habe doch noch weitergearbeitet und die Verzerrungen des Scans entfernt, der Text ist jetzt vollständig abrufbar]

Schritt 5: Boxen in ushort Array überführen, die ersten beiden Zeilen sind Bits 12 und 11, die restlichen 0-9

Schritt 6: Die Textbeschreibung von Doug's Seite textuell parsen und ebenso in ushort Array überführen, dabei eine Character-Map aufbauen

Schritt 7: Ausgabe: UHGVFWKHQNJLADSWHHKHHETHUILGHQIWGYNAWIMJBAXZCNLKIOPXLEMVGLPBLNRMXJ

Wie man sieht ergibt dies rein GAR NIX. Ein manueller Decodierversuch der ersten 4 Buchstaben kam leider zu exakt denselben Ergebnis, also hat das Program keinen Fehler gemacht.

Einer der Blogger berichtete von einer ähnlichen Zeichenkette (er hatte jedoch eine leicht andere Karte).

Was wohl das Geheimnis hinter diesen Karten ist? Eventuell muss man nur die gemeinsamen Löcher betrachten? Tja... virales Marketing eben.

Wer will kann mir ja seine Karte scannen und schicken, ich lese sie dann auch im Programm ein!

Labels: