Wiederherstellen einer beschädigten Registrierung unter Windows XP

Sicher ist noch die eine oder andere Windows XP Installation auf einem alten Rechner am arbeiten. Falls es zu Problemen beim Starten kommt und die Registry vom Bootloader als Schuldige ausgemacht wurde, kann folgendes vielleicht helfen.
Windows in die Wiederherstellungskonsole starten.
md tmp
copy c:\windows\system32\config\system c:\windows\tmp\system.bak
copy c:\windows\system32\config\software c:\windows\tmp\software.bak
copy c:\windows\system32\config\sam c:\windows\tmp\sam.bak
copy c:\windows\system32\config\security c:\windows\tmp\security.bak
copy c:\windows\system32\config\default c:\windows\tmp\default.bak

delete c:\windows\system32\config\system
delete c:\windows\system32\config\software
delete c:\windows\system32\config\sam
delete c:\windows\system32\config\security
delete c:\windows\system32\config\default

copy c:\windows\repair\system c:\windows\system32\config\system
copy c:\windows\repair\software c:\windows\system32\config\software
copy c:\windows\repair\sam c:\windows\system32\config\sam
copy c:\windows\repair\security c:\windows\system32\config\security
copy c:\windows\repair\default c:\windows\system32\config\default

Weitere Möglichkeiten sind in der Wissenbasis von Microsoft beschrieben. Wiederherstellen einer beschädigten Registrierung, die das Starten von Windows XP verhindert

Verwenden eines SSH Keys

Auf dem lokalen Rechner folgendes Ausführen:
mkdir ~/.ssh
ssh-keygen -t rsa -b 2048 -C "Kommentar für den Schlüssel"
...[Passwort eingeben]

Falls mit der SSH automatisierte Aufgaben erledigt werden sollen, das Passwort leer lassen (Eingabetaste für leeres Passwort verwenden).

Die Rechte am Verzeichnis und den Dateien prüfen / setzen:

chmod 755 ~/.ssh
chmod 600 ~/.ssh/id_rsa
chmod 644 ~/.ssh/id_rsa.pub

Jetzt den Schlüssel auf den Ziel-Rechner der automatisierten Aufgabe verteilen.
cat ~/.ssh/id_rsa.pub | ssh @ "cat - >> ~/.ssh/authorized_keys"
„Verwenden eines SSH Keys“ weiterlesen

AHCI Modus für Windows aktivieren

Beim Installieren der Windows 10 TP konnte ich diese nur mit den IDE Treibern in einer virtuellen Maschine installieren. Wie sollte aber die Umstellung auf AHCI (oder SATA-Mode) erfolgen? Eine Recherche via Suchmaschine lieferte unter anderem einen Verweis auf die Frage bei superuser.com: „Change from IDE to AHCI after installing Windows 8“. Die zweite und dritte Antwort versuchen einen Weg zu weisen, der ohne Registry Bearbeitung auskommt. Ich habe den Lösungsvorschlag von Antwort drei gewählt.

  • msconfig aufrufen
  • Auf dem Reiter Boot die Option Safe Boot aktivieren
  • Windows beenden
  • In den Settings der virtuellen Maschine (aka dem BIOS beim Rechner) das Gerät der Festplatte von IDE auf SATA einstellen
  • Windows starten – Treiber werden automatisch installiert und die Settings entsprechend eingestellt.
  • msconfig erneut aufrufen
  • Auf dem Reiter Boot die Option Safe Boot deaktivieren
  • Windows neu starten
  • Geschafft !

Icons für Windowsprogramme erstellen

Für eine Auftragsprogrammierung war es erforderlich ein eigenen Programmicon zu erstellen. Die technische Umsetzung erfolgte mit Inkscape. Hier ein paar Seiten für die Umsetzung in Gimp.

Einen Dialog in C#WinForms erzeugen

Für meine CATIA-Apps war ein spezieller CatiaFileDialog erforderlich. Der Sinn besteht darin, die Möglichkeiten der CATIA Interna für den Anwender nutzbar zu machen.

Es stand die Frage im Raum, von welcher Form oder Komponente sollte geerbt werden? Die MSDN gibt da keine recht eindeutige Antwort. Also habe ich der Einfachheit halber mit einer Form begonnen. Aus der Zeit mit Gtk+ wusste ich noch, dass es eine spezielle GtkDialog-Klasse gab. So etwas sollte doch auch in WinForms möglich sein, oder?

Bei der Analyse der OpenFileDialog > FileDialog > CommonDialog Vererbungskette war ich doch geneigt es genauso für CATIA zu tun. OpenCatiaFileDialog > CatiaFileDialog > CommonDialog sollte sich ergeben. Leider konnte ich keine hinreichende Erklärung finden, was denn bitte alles anzupassen ist.

In den MSDN-Dokus steht nur, dass die Methoden Reset() und RunDialog() zu implementieren wären. Hm, was muss da rein? Irgendwie bin ich via Google auf eine Seite mit den Original-Quellen von Microsoft gekommen. Nach ca. einer viertel Stunde war mir klar, CommonDialog wird als Basisklasse für die Win32-Dialoge aus der user32.dll verwendet. In RunDialog sind dann alle Schritte zu definieren, um die Dll-Funktion korrekt zu initialisieren und auszuführen. Also ein Managed-Wrapper um Unmanaged-Code.

Somit bleibt mein Fazit: Dialoge lassen sich auch von einer WinForm ableiten und als Komponente in den VisualStudio-Designer integrieren.

Programmieren fürs iPhone

Eine Linksammlung für verschiedenen Aspekte der iPhone Programmierung.

UIKit

Core Data

Core Graphics

MapKit

Core Layer

PIN Analyse

Ich bin auf einen Blog-Artikel gestoßen, der sich mit der Verteilung von Zahlenkombinationen für PINs beschäftigt.

Interessant finde ich die prozentuale Verteilung verschiedener Zahlenkombinationen. Sofern PINs nur eine beschränkte Anzahl von Stellen (~6 Zeichen) haben dürfen, und eine einprägsame Kombination gesucht wird, ist ein Blick auf die Erkenntnisse sehr wertvoll. Schließlich soll der PIN-Code ja nicht mir hoher Wahrscheinlichkeit erraten werden ;).

Aktivieren von Apache in Mountain Lion

In Mountain Lion ist Apache noch an Bord, jedoch nicht mehr als WebSharing in den Systempreferences vorhanden.

Auf dem Terminal kann Apache ohne weiteres aktiviert werden.

Apache starten
sudo apachectl start

Apache stoppen
sudo apachectl stop

Wie sich die Apache Installation von Mountain Lion in eine vollständige MAMPP Installation überführen lässt, kann man beim Coolest Guy On The Planet im Artikel Install and configure Apache, MySQL, PHP and phpMyAdmin on OSX 10.8 Mountain Lion nachlesen.