Aus Shell Skript eine MacOS App erstellen und App Icon ändern

Wie mache ich aus einem Shell Skript eine MacOS App für die Finder Toolbar? Und wie ändere ich das Icon einer App?

Gerade noch über die verschlimmbesserte Funktion zum Hinzufügen von Apps zur Finder Toolbar gemeckert, und schon mit dem Problem konfrontiert, dort ein Shell Skript unterbringen zu wollen.

Man kann zwar ein Shell Skript per CMD-Drag’n’Drop in die Finder Toolbar ziehen, allerdings öffnet ein Klick auf dieses Skript selbiges im Text-Editor. Shell Skripte werden aus der Finder Toolbar heraus offensichtlich nicht ausgeführt. Es stellt sich also die Frage, wie man auf einfache Art und Weise aus einem Shell Skript eine native MacOS App macht, um diese dann in die Finder Toolbar zu ziehen.

MacOS App aus Shell Skript mit Hilfs-Skript erstellen

Die Lösung bedient sich eines Hilfs-Skriptes appify, das aus einem Shell Skript eine MacOS App generiert.

Das Skript wird unter dem Namen appify im Home-Verzeichnis gespeichert und anschliessend im Terminal per chmod +x appify ausführbar gemacht.

Mit dem Aufruf

$ ./appify das-shell-skript.sh

wird im selben Verzeichnis aus dem Shell Skript das-shell-skript.sh eine MacOS App mit dem Namen das-shell-skript.app generiert. Mit Angabe eines zusätzlichen Parameters “App Name”

$ ./appify das-shell-skript.sh "App Name"

lässt sich der MacOS App ein anderer Name geben.

Diese App lässt sich nun per CMD-Drag’n’Drop in die Finder Toolbar ziehen und von dort aus starten. Unschön könnte das Standard-Icon sein, dass MacOS dieser App in der Finder Toolbar gibt. Aber auch dafür gibt es eine unkomplizierte Lösung.

Das Icon einer MacOS App ändern

Der einfache Weg

  1. Zunächst eine rechteckige PNG-Grafik mit 512 x 512 px mit dem gewünschten Icon anlegen.
  2. Dann Doppel-Klick auf die PNG-Grafik; die Grafik wird im Previewer angezeigt.
  3. Nun mit CMD-C die Grafik in die Zwischenablage kopieren.
  4. Danach Rechtsklick auf die im ersten Schritt angelegte MacOS App und im Kontext-Menü “Get Info” anklicken.
  5. Im Popup-Info-Fenster ist oben links das (Standard-)Icon dieser App zu sehen. Dieses Icon anklicken; es sollte ein blauer Rahmen erscheinen.
  6. Nun mit CMD-V die eigene Grafik hineinkopieren.

Fertig!

Der Weg für Profis

Dabei wird das Icon direkt mit in die MacOS App eingebaut. Dazu erledigt das appify-Skript bereits die Vorarbeit, indem es eine Info.plist Datei anlegt. In dieser ist unter anderem die Information enthalten, welchen Namen eine Icon(set)-Datei trägt, in der sich ein oder mehrere App-Icons für die MacOS App befindet.

  1. Wir benötigen zunächst eine *.icns Datei, in der das Icon unserer App abgespeichert ist. “icns” steht dabei für Iconset, da eine solche Datei auch App-Icons in unterschiedlichen Größen bevorraten kann. Im einfachsten Fall ist das nur ein Icon. Der Weg zu einem solchen *.icons File kann wie folgt aussehen:
    • Terminal öffnen.
    • Verzeichnis das-shell-skript.iconset anlegen.
    • In dieses Verzeichnis die gewünschte App-Icon-Grafik als icon_512x512.png kopieren. (Annahme: Es handelt sich um eine Grafik mit 512 x 512 px)
    • Den Befehl iconutil -c icns das-shell-skript.iconset ausführen.

    Nun sollte im aktuellen Verzeichnis eine Datei das-shell-skript.icns existieren. Wenn ja, kann mit rm -rf das-shell-skript.iconset das Iconset-Verzeichnis gelöscht werden.

  2. Rechtsklick im Finder auf unsere MacOS App das-shell-skript.app. Es erscheint das Kontext-Menü. Dort “Show Package Contents” wählen.
  3. Im Finder wird nun der Inhalt unserer MacOS App angezeigt. Dies sollte das Verzeichnis Contents sein. Doppelklick.
  4. Auf der nächsten Ebene befindet sich die erwähnte Info.plist Datei sowie zwei Unterverzeichnisse. Doppelklick auf Resources.
  5. Dort befindet sich eine (leere) Datei mit Namen das-shell-skript.icns. Diese durch die in Schritt 1 angelegte *.icns-Datei ersetzen.

Fertig! Aber halt! Viele Wege führen nach Rom.

Die Superhero-Methode für echte Männer

Benötigt die XCode Developer Tools.

  1. Terminal öffnen.
  2. Mit sips -i das-shell-skript.png aus der Grafik sozusagen die eigene Icon-Datei erstellen.
  3. Die Grafik als Ressource speichern. Das geht mit dem Befehl DeRez -only icns das-shell-skript.png > icon.rsrc.
  4. Einbinden dieser Ressource in unsere App mit Rez -append icon.rsrc -o $'das-shell-skript.app/Iconr'.
  5. MacOS mitteilen, dass diese App jetzt ein Icon hat: SetFile -a C das-shell-skript.app.

Fertig!

Klamottenkiste: Der Eupander als “Trick des Monats” in der 64’er

Ausgegraben und für gut befunden: Der Eupander V2.2. "Trick des Monats" der 64'er Ausgabe November 1989.

64'er Ausgabe 11.1989 Was man nicht alles auf dem Speicher findet. Oder im Keller. Zusammen mit dem dortens exhumierten C64 aka “die Brotkiste”, vgl. den zugehörigen Post auf Fatzebook, flatterte mir eine Fotokopie in die Hände. Die Fotokopie eines Artikels aus der 64’er. Die 64’er war Ende der 80er, Anfang der 90er Jahre, das “Magazin für Computerfans”. Wer seinerzeit nicht nur mit Daddeln auf dem brotlaibbraunen C64 beschäftigt war, hat sich möglicherweise mit dieser Gazette auf dem Laufenden gehalten. Dazu zählte in der Regel auch das Abtippen unzähliger Zeilen Programm-Kode oder – eigentlich noch schlimmer aber dafür deutlich weniger fehleranfällig – Kolonnen über Kolonnen an Hexadezimalzeichen mit dem MSE (MaschinenSpracheEditor). Das Ergebnis der Mühen waren Spiele, Tools und anderes Zeugs. Mal mehr nützlich, meistens weniger.

Seinerzeit war ich in der Demo-Szene als Coder aktiv und einige wenige Demos sind tatsächlich noch als Images für die gängigen C64-Emulatoren im Netz zu finden. Die Demos waren technisch ok, was man aber für das Gros der textuellen Inhalte in den damals üblichen Laufschriften nicht behaupten kann. Fehlergespicktes Englisch oder Deutsch mit teilweise hochnotpeinlichen Inhalten. Daher ersparen wir uns allen eine Verlinkung und konzentrieren uns auf Beiträge, die die Welt bereichertern. Und damit zurück zur Fotokopie aus der 64’er, datiert auf November 1989. 64'er Trick des Monats: Eupander V2.2 in Ausgabe 11.1989

In der 64’er wurde regelmässig der “Trick des Monats” ausgelobt. Das war üblicherweise eine Software, die eine clevere Lösung für ein Problem bietet, und damit das Leben geplagter C64-Nutzer erleichtern konnte. Die Demo-Programmierung erfolgte in der Regel “low-level” und damit in Maschinensprache. Die Eigenheit solcher Maschinenspracheprogramme war, dass sie auf dem C64 nur mit einem sogenannten SYS-Kommando aufgerufen werden konnten. Ein Maschinenspracheprogramm, das von Diskette geladen wurde, konnte also nicht einfach per RUN gestartet werden, sondern bedurfte eben jenes SYS-Befehls, bspw. SYS 4096.

Der “Trick des Monats” war nun ein Tool, das ein Maschinensprache-Programm so veränderte, dass dieses geladen und eben doch mit RUN gestartet werden konnte. Der Name “Eupander V2.2” war ein reines Kunstwort ohne jeden Bezug zum Programm und fand seinen Ursprung in einem chinesischen Jahreskalender, der damals einen Panda zeigte. Die Versionsnummer wurde künstlich auf 2.2 gesetzt, um einen fortgeschrittenen Entwicklungsstand zu suggerieren. Dann ging das Ganze mit einer kurzen Beschreibung an die Redaktion der 64’er und wurde, zu meinem allergrössten Erstaunen, a) tatsächlich angenommen und b) auch noch zum “Trick des Monats” gekürt. Das Honorar betrug satte 120 DM; aus heutiger Sicht ein Witz, aber inflationsbereinigt war das in der Prä-Euro-Ära vor 25 Jahren ganz ordentlich.

MacOS Mavericks: Apps in Finder Toolbar ergänzen

Apps können nach wie vor per Drag'n'Drop in die Toolbar-Leiste des Finders gezogen werden. Der Teufel steckt aber im Detail.

Bisher war immer alles ganz einfach und intuitiv beim MacOS. Aber das Betriebssystem kommt in die Jahre. Alternative Formulierung: Die Entwickler sind auch nur Menschen. Aber warum Sachen, die gut und einfach funktionierten, verkompliziert werden, will sich nicht erschließen.

So ist das beispielsweise mit der Funktion geschehen, die das Hinzufügen eigener Apps in die Toolbar des Finders erlaubt. Der Prozess vor Mavericks: Im Finder in das Verzeichnis mit der App oder dem Automator Skript wechseln, das zur Finder-Toolbar hinzugefügt werden soll. Dann die App/das Skript per Drag’n’Drop in die Toolbar-Leiste an die gewünschte Stelle ziehen. Fertig.

Der Ablauf ist bei Mavericks zwar fast identisch, aber dann doch eben gerade so anders, dass man erst einmal wie Ochs vor’m Berg steht. Es funktioniert weiterhin per Drag’n’Drop, allerdings muss nun die CMD-Taste beim Ziehen gedrückt sein! Oder noch genauer: Erst die CMD-Taste drücken und gedrückt halten. Dann auf die gewünschte App klicken und diese auf die Toolbar-Leiste ziehen. Dann Maustaste lösen und CMD-Taste lösen.

Das kann man ja beim besten Willen nicht als Prozessoptimierung betrachten. Und es soll mir auch keiner kommen und behaupten, es hätten mit der alten Methode ohne CMD-Taste zu viele Leute “aus Versehen” Apps in die Toolbar-Leiste des Finders gezogen… Aber Problem erkannt, Problem gebannt! 🙂

MacOS ForkLift2 Favoriten exportieren

Rechnerwechsel und die ForkLift2 Favoriten für den späteren Import auf dem neuen Rechner exportieren? Geht nicht. Aber es gibt einen Workaround.

ForkLift2 von BinaryNights ist eine funktionsreiche Alternative für den MacOS-Finder und wir vom Hersteller selber mit “[…] most advanced file manager and FTP + SFTP + Amazon S3 + WEBDav client for Mac OS X (10.7 +)” beworben. In der Tat macht ForkLift2 vieles sehr gut, allerdings fehlt die Möglichkeit, die Liste der eingetragenen FTP-Server und weiterer Favoriten zu exportieren, um sie auf einem anderen Rechner zu importieren.

Der Workaround.

  1. Die Datei
    ~/Library/Preferences/com.binarynights.ForkLift2.plist
    von dem Rechner aus sichern, der als Favoriten-Quelle dient.
  2. Auf dem Zielrechner in dasselbe Verzeichnis wechseln.
  3. Die Aktivitätsanzeige (activity monitor) starten und den Prozess cfprefsd stoppen.
  4. Die gesicherte Datei com.binarynights.ForkLift2.plist in das Verzeichnis (Schritt 2) des Zielrechners kopieren.

NB: Zwischen dem Stoppen des cfprefsd-Prozesses und dem Kopieren der Datei sollte nicht zu viel Zeit vergehen, da MacOS den cfprefsd-Prozess automatisch wieder startet.

NB: In der Datei sind nur die Konfigurationsinformationen der Favoriten gespeichert, nicht jedoch deren Passwörter! Für den Transfer der Passwörter gibt es scheinbar keine Lösung. Will heißen, alle Passwörter müssen “von Hand” neu eingegeben werden.

Dieser Workaround wurde von BinaryNights auf Nachfrage eines Nutzers bei Twitter genannt. Warum es keine native Ex-/Import-Funktion gibt, die insbesondere auch die Passwörter transferiert, ist ein wenig rätselhaft.

Wider dem Kommentar-Spam in WordPress

Eine einfache Methode, um Kommentar-Spam in Wordpress-Blogs zu beschränken: URL-/Website-Feld aus dem Standard Kommentar Formular entfernen.

Trotz aller Bemühungen der Suchmaschinen sich von (leicht) manipulierbaren Faktoren zur Bewertung des Rankings einer Web-Seite zu lösen, zählen beispielsweise (Back)Links nach wie vor zu den wichtigen Kriterien bei der automatisierten Beurteilung von Stärke und Vertrauenswürdigkeit eines Online-Auftritts. Das wird sich ändern, aber bis es soweit ist, wird weiterhin aktiver Link-Aufbau betrieben. Dabei werden neben Foren und Frageportalen auch gerne Blog-Kommentare für die Erzeugung von Backlinks herangezogen.

Viele WordPress-Installationen und -Themes verwenden das Standard-Kommentar-Formular von WordPress. Es ist üblich, dass neben dem Namens- und E-Mail-Feld auch häufig ein URL-/Webseite-Feld bereitgestellt wird. Und genau dieses URL-/Webseite-Feld wird gerne für den Aufbau von spammigen Backlinks verwendet. Es spricht natürlich nichts dagegen, neben der eigenen E-Mail-Adresse auch eine interessante Homepage oder Web-Seite als Kommentar zu einem Blogbeitrag zu hinterlassen. Aber in schöner Regelmässigkeit dient das Website-Feld eher dazu, einen Link auf irgendein Projekt zu produzieren, das in ebenso schöner Regelmässigkeit nichts mit dem Beitrag zu tun hat, zu dem ein Kommentar hinterlassen wurde.

Aus gegebenem Anlass gibt es ab sofort auf der Nullseite kein URL-/Webseite-Feld mehr. Bei Verwendung des WordPress-Standard-Formulars und falls das Theme keine Editier-Möglichkeiten der Formularfelder erlaubt, kann mit dem folgenden Einzeiler, den man in die functions.php hinzufügt, das URL-/Webseite-Feld entfernt werden.

  add_filter( "comment_form_default_fields", function( $fields ) { unset( $fields[ "url" ] ); return $fields; } );

Details zu den möglichen Feldern (eng. “fields”) gibt es in der Funktionsreferenz zur comment_form()-Funktion.

Kodi (XBMC) auf Fire TV installieren – bebilderte Kurzanleitung

Eine bebilderte Schritt-für-Schritt Anleitung, um Kodi (XBMC) auf dem Fire TV zu installieren. Dazu ein Hack, der den Start von Kodi mit nur drei statt 27 Klicks ermöglicht.

[1] Erster Teil: Kodi auf dem Fire TV installieren

  1. ADB Debugging und Apps unbekannter Herkunft aktivieren. Dafür vom Fire TV Startbildschirm auf Einstellungen gehen und von dort zu System und dann Entwickleroptionen. Hier die Optionen “ADB-Debugging” und “Apps unbekannter Herkunft” einschalten.
  2. Fire TV IP-Adresse. Zu System -> Info -> Netzwerk wechseln und die IP-Adresse notieren.
  3. adbFire Download. Tool für Windows, Mac oder Linux hier downloaden und, falls nötig, installieren (Mac-Nutzer: Doppelklick auf *.dmg-Datei und App in Applications-Ordner ziehen).
  4. kodi Image Download. Dazu auf die kodi.tv Download-Seite gehen und das Android ARM apk-Image downloaden.
    kodi.tv Helix Download
  5. adbFire starten. (Mac-Nutzer ggf. Rechtsklick und von dort via “Öffnen” starten, da adbFire von unbekanntem Entwickler stammt.)
    adbFire Startbildschirm
  6. Setup Device klicken, um die Daten des eigenen Fire TVs einzutragen.
  7. adbFire Device Setup
    Es genügt, dem Gerät unter “Description” einen Namen zu geben und die in Schritt 2 (s.o.) notierte IP-Adresse unter “Device IP” einzutragen. Anschließend “Save” klicken.

  8. FireTV verbinden. Dazu in der Drop-Down Liste links neben “Device Setup” das soeben eingetragene Gerät auswählen und im Anschluß den Button “Connect” klicken.
    adbFire Connect

    Wenn die Verbindung hergestellt werden konnte, erscheint unten rechts die Meldung “Device connected”.
    adbFire Connect

    Kommt keine Verbindung zustande, die Informationen auf der Webseite des adbFire-Entwicklers studieren; insbesondere den Abschnitt dbFire can’t connect? Click here.

  9. Kodi (XBMC) auf dem Fire TV installieren. Dazu Klick auf “Install APK”.
    adbFire Install APK Kodi

    Es öffnet sich ein “Datei auswählen”-Dialog. Hier das in Schritt 4 heruntergeladene Kodi APK-Image auswählen und bestätigen. adbFire geht auf Nummer sicher und fragt noch einmal nach, ob dieses Image wirklich auf dem Fire TV installiert werden soll.

    adbFire Install Kodi APK ausgewählt

    Wer sich sicher ist, bestätigt nun mit “Yes”. Die Installation wird durchgeführt. Während der Installation zeigt adbFire den Fortschritt mit einem Progress Bar unten rechts neben “Device connected” an. Nach erfolgreicher Installation erscheint die Meldung “Installed”.

    adbFire Install Kodi

  10. Nun ist Kodi auf dem Fire TV installiert und lässt sich – mit einer Menge Klickerei – über das Einstellungen-Menü und “Alle installierten Apps verwalten” aufrufen.
    Kodi auf Fire TV installiert

[2] Zweiter Teil: Kodi mit nur drei Klicks starten

Wir haben erst die halbe Miete. Denn nach der unter [1] beschriebenen Prozedur ist Kodi jetzt zwar auf dem Fire TV installiert, allerdings sind 27(!) Klicks mit der Fernbedienung nötig, um Kodi zu starten. Nein? Oh doch: Von der Startseite 10 x DOWN bis Einstellungen, 1 x ENTER, 3 x RIGHT bis Anwendungen, 1 x ENTER, 3 x DOWN bis Alle installierten Apps verwalten, 1 x ENTER, 6 x DOWN bis “Kodi”, 1 x ENTER und noch ein finales ENTER für “App starten”. Macht in Summe 27 Klicks und ist für die regelmässige Nutzung ein “no go”.

Glücklicherweise gibt es verschiedene Wege, um Kodi mit deutlich weniger Klicks starten zu können (bis hin zum Autostart beim Booten des Fire TV). Der hier beschriebene Ansatz entspricht im Wesentlichen dem im kodi.wiki beschriebenen, verwendet allerdings wieder das bereits in [1] benutzte Tool adbFire und setzt auf die App ikono TV statt auf Cinema TV.

  1. ikono TV App installieren. Im Web-Browser amazon.de aufrufen und nach der App “ikono TV” suchen.
    ikono TV App installieren
    Mit Klick auf den Kostenfrei-Button wird die App “gekauft” und gelangt in die App-Cloud des Fire TVs. Danach auf Einstellungen -> Mein Konto und dort “Amazon-Inhalte synchronisieren” wählen. Im Anschluß wieder zur Startseite, dann auf den Menüpunkt Apps, zur ikono TV App navigieren und starten. Damit wird die App aus der Cloud auf den Fire TV geladen und installiert.
  2. Llama, ikono TV, Kodi. In diesem Schritt wird adbFire benötigt, also adbFire starten und Fire TV verbinden (Connect Button). Danach Klick auf “Llama Options”.
    adbFire Llama Options

    Es öffnet sich ein Popup-Fenster, in dem die folgenden Einstellungen sinnvoll sind: Check “Install Llama” (Ohne Llama geht es nicht!), “Link Media Center to ikono TV” und “Replace ikono TV icon with Kodi icon”.
    adbFire Llama Settings

    Die Ersetzung des Icons ist rein kosmetisch, steigert aber den WAF (Woman Accpeptance/Approval Factor; vgl. Wikipedia) ungemein.

    Mit Klick auf “Ok” geht’s los. Es wird die Llama App auf dem Fire TV installiert, ein paar Einstellungen vorgenommen, Kodi mit der ikono TV App verknüpft und das Icon ausgetauscht. So sieht die Erfolgsmeldung von adbFire aus.
    adbFire Llama installed

  3. Llama starten und Daten importieren. Über Hauptmenü -> Einstellungen -> Anwendungen zum Punkt “Alle installierten Apps verwalten” durchhangeln und ENTER. Dann die Llama App suchen und ENTER und “App starten”. Den Disclaimer aktzeptieren. Okey Doke bestätigen.

    Nun die Menü-Taste auf der Fernbedienung drücken (“Hamburger” rechts neben Home-Buttom) und im daraufhin erscheinenden Popup-Menü “Import/Export von Daten” wählen. Es erscheint ein weiteres menü, das u.a. den Import von einer URL oder SD-Karte anbietet. Eigentlich sollte da auch USB erscheinen, aber bei mir war’s nur die SD-Karte. Also “Import von SD-Karte” wählen, Nachfrage bestätigen und Llama importiert die von adbFire bereitgestellte Regel, die den Start von ikono TV überwacht und statt ikono TV unser Kodi startet.

Das war’s! Wenn alles funktioniert hat, sollte die Startseite in etwa so aussehen und Kodi lässt sich mit nur drei Klicks starten.
Fire TV Kodi auf Startseite

Eventuell erscheint noch das alte ikono TV Icon. Hier kann ein Reboot des Fire TV helfen: Einfach länger als fünf Sekunden die Auswahl-Taste (in der Mitte der Richtungstasten) und die Play-Taste gleichzeitig gedrückt halten.

Probleme mit Thunderbird RSS Feed reparieren

Thunderbird stolpert bisweilen über RSS Feeds. Wir zeigen, welche Probleme es geben kann und wie man sie löst.

Das Problem
Thunderbird ist ein erstklassiges Mail-Programm, mit dem man auch sehr komfortabel RSS Feeds abonnieren und lesen kann. Leider kommt es manchmal vor, daß abonnierte RSS Feeds einfach nicht mehr geladen werden. In der Regel geschieht dies unmittelbar, nachdem ein RSS Feed neu aufgenommen wurde.

Erschwerend kommt hinzu, daß für derart korrumpierte Feeds auch nicht mehr die Möglichkeit besteht, sie wieder mit Thunderbird-Bordmitteln zu entfernen. Der “Entfernen”-Knopf im “Abonnements bearbeiten”-Popup steht einfach nicht mehr zur Verfügung.

Manchmal erscheint auch zweimal derselbe Feed-Eintrag links unter “News & Blogs”. Aber auch das manuelle Löschen dieser Feeds, bspw. mit Rechtsklick auf den Feed und dann “Löschen”, wird in der Regel nicht gelingen. Ein Eintrag landet im Papierkorb, der zweite wird nicht gelöscht. Und nach dem Neustart von Thunderbird werden beide identischen Einträge wieder genau so angezeigt, wie vor dem Löschversuch.

Die Lösung
Abhilfe schafft in all diesen Fällen das manuelle Entfernen der Feeds aus dem Konfigurationsverzeichnis von Thunderbird.

Dieses Verzeichnis befindet sich auf Windows-Systemen unter
C:Documents and SettingsUserNameApplication DataThunderbird
Profilesxxxxxxx.defaultMailFeeds

und auf Mac-Systemen unter
/Users/username/Library/Thunderbird/profiles/xxxxxxx.default/
Mail/News & Blogs/
.

Beim Wechseln in dieses Verzeichnis ist xxxxxx.default durch den Namen Ihres individuellen Profils zu ersetzen; üblicherweise handelt es sich bei xxxxxx um eine Buchstabenkombination.

Löschen Sie nun in diesem Verzeichnis alle Dateien, die den Namen des korrupten RSS Feeds tragen. Danach Thunderbird neu starten und die RSS Feeds wieder über “Abonnements bearbeiten” neu hinzufügen.

How to Decompile Windows chm Help Files

We show how to decompile a Microsoft HTML Help file with chm extension using the hh.exe onboard Windows tool.

Microsoft Compiled HTML Help is a proprietary online help format invented by Microsoft and released August 1997 with Internet Explorer 4. It is still used and supported up to Windows’ latest Version 7.

These help files come with a .chm file extension. They contain a set of HTML files, a TOC (table of contents) and an index file. The files start with the identifier “ITSF” which is an acronym for Info-Tech Storage Format. chm files can easily be produced with a variety of programs, e.g. with HTML Help Workshop.

If you happen to be in need of a decompiled version of a specific chm file, you will find several paid solutions on the Internet that claim to do the job. But there is no need to spend money since Windows is shipped with a program called hh.exe that is not only used to display help files but also suitable for decompiling chm files.

Follow these simple steps to decompile a chm file:

  1. Open a command prompt by pressing Win+R and entering cmd.exe followed by pressing <Return>.
  2. Change to the folder with your chm file using the cd command, e.g.
    c:> cd c:HelpFiles.
  3. Now use the hh command to decompile:
    c:HelpFiles> hh -decompile <TargetFolder> <MyFile>.chm

The process will finish quickly and you will find your decompiled chm parts in the <TargetFolder> directory.

Pablo hat’ä mir eine Dip gegeben!

Meine Diplomarbeit. Für die Welt. Es gab mal eine Version mit binären Seitenzahlen, die ist aber in den Jahren präservativen Umkopierens verloren gegangen.

Am Ende dieses Posts stelle ich der Allgemeinheit, nicht nur selbstlos sondern vor allem auch entgeltfrei, meine Diplomarbeit zur Verfügung. Ein unvergleichlicher Akt von basedowschem Philanthropismus, dessen Inhaltsleere just in dem Moment immanent wird, da das Wissen um die ohnehin (entgelt)freie Verfügbarkeit dieser Art von wissenschaftlichen Veröffentlichungen im Erkenntnisraum des geneigten Lesers auftaucht. Zur Vorgeschichte…
   Während eines kollegialen Austauschs über Werdegang, Studium & Co. wird den Beteiligten bewußt, daß ihre Diplomarbeiten zwar im Datenbunker der eigenen Festplatte gehortet werden, sich aber eines schnellen virtuellen Blätterzugriffes entziehen, da sie allesamt im LaTeX-Format auf ihr digitales Dahinscheiden warten. Auch ein möglicherweise vorhandenes Postscript-Exemplar ist nur noch bedingt hilfreich, hat sich doch das PDF-Format – einer globalen Pandemie gleich – ausgebreitet. Damit ist der Auftrag schnell formuliert: Die Dip muß her, und zwar im PDF-Format!
   Nach kurzer Recherche ist eine passende TeX-Distribution für den Mac namens MacTeX gefunden. Nach dem Download läppischer 744,5 MB (sic!) und Installation der entpackten 1,6 GB (doppel-sic!) darf endlich wieder in der Konsole nach Herzenslust gelatext, gebibtext und gemakeindext werden. Einige Kompilationsläufe später ist das gute Stück fertig: Eine Analyse intrinsischer Hardware-Evolution digitaler Schaltkreise. In wunderschönem Layout, mit professionellen Marginalien, und – ganz demütig gesprochen – schlichtweg eine Augenweide! :]