UltraEdit-Alternativen

Nachdem es bei UltraEdit zu einer für den Kunden alles andere als vorteilhaften Umstellung des Lizenzmodells kam, stellt sich die Frage, welche Alternative(n) in Frage kommen. Die Wahl eines Editors hängt hierbei extrem vom jeweiligen Anforderungsprofil ab, den richtigen Editor für jedermann kann und wird es nicht geben.

Wer die Anwendung morgens einmal startet, um den ganzen Tag kontinuierlich an einem Projekt zu arbeiten, für den spielen andere Kriterien eine Rolle wie für einen Systemadministrator, der öfter ein paar Änderungen an einem Skript oder einer Konfigurationsdatei vornehmen muss – das vielfältige Spektrum möglicher Vor- und Nachteile erstreckt sich von der reinen Startzeit über integrierte Funktionalitäten wie GitHub oder einen Debugger.

Neben der Wikipedia-Liste der Texteditoren bieten sich insbesondere die Developer Survey Results 2017 von stackoverflow als Grundlage für die Auswahl der Testkandidaten an.

Atom (1.23.2)

Atom wirbt mit „Atom is a text editor that’s modern, approachable, yet hackable to the core—a tool you can customize to do anything but also use productively without ever touching a config file.“.

Bereits die Größe des Downloads ist mit 135.509KB beeindruckend, wird aber noch vom offenen Mund bei Inspektion des Installationsverzeichnisses übertroffen, das mit 5.986 Dateien in 3.636 Ordnern und einer entpackten Installationsgröße von 596.831.554 Byte zu Buche schlägt.

Der Installer verzichtet auf jegliche Nachfragen und installiert die Anwendung ins Benutzerverzeichnis“%localappdata%“, was einer strikten Trennung von Programm(Partition) und Daten(Partition) deutlich widerspricht. Diese Mächtigkeit macht sich auch in einem extrem trägen Start bemerkbar, 24 Sekunden bis zum Lostippen sind nicht nur gefühlt zu viel.

Visual Studio Code (1.19.1)

Auch wenn auf den ersten Blick nur das Wort „Code“ angehängt wurde, so hat Visual Studio Code nichts mit dem herkömmlichen Visual Studio zu tun. Der Installer bringt 45.693KB auf die Waage, aus denen nach Abfrage der wichtigsten Installationsoptionen auch 6.363 Dateien ind 1.436 Ordnern werden, die zusammen 225.010.158 Byte  auf der Festplatte belegen.

Obwohl auf der gleichen technischen Basis wie Atom beruhend, geht der Startvorgang mit nur 14 Sekunden deutlich flotter und der Editor macht auf den ersten und zweiten Blick einen guten Eindruck, der duch den integrierten Debugger nochmals verstärkt wird. Leider ist Visual Studio Code auf Grund seines technischen Unterbaus aber im Alltagseinsatz stets einen Tick zu behäbig, weshalb er trotz gutem Eindruck zumindest vorerst nicht als tägliches Werkzeug in Frage kommt.

Sublime Text (3143)

Mit 8.744KB ist Sublime Text deutlich schlanker und auch die installierten 64 Dateien in 1 Ordner mit insgesamt 25.834.589 Byte passen ins Bild.

Auf den ersten Blick wirkt Sublime Text ernüchternd, entpuppt sich aber nach kurzer Orientierungsphase als wahres Feature-Monster. Fast jede gesuchte Funktion ist nur einen Tastendruck entfernt (auch wenn die Bedienung förmlich nach einer Neuauflage der vi-Tasse schreit) und sowohl Syntax-Highlighting als auch Funktionen wie „Jump To Definition“ passen von Anfang an. Dazu kommt noch eine gute Anpassbarkeit der „inneren Werte“ über den integrierten Pyhton-Interpreter, für den es bei Package Control viele hilfreiche Open Source-Plugins gibt.

Im Gegensatz zur oben aufgeführten Konkurrenz ist Sublime Text allerdings beim dauerhaften Einsatz kostenpflichtig und auch wenn die Lizenzgebühr auf den ersten Blick abschreckt, kostet der Editor auf die Zeit gerechnet (falls die Glaskugel keinen Sprung hat) weniger als die Hälfte als UltraEdit.

Notepad++ (7.5.4)

Nochmal schlanker kommt Notepad++ um die Ecke, ein „free (as in „free speech“ and also as in „free beer“) source code editor and Notepad replacement that supports several languages.“

Der Installer hat gerade einmal 4.416KB, lässt bei der Auswahl der Installationsoptionen keinerlei Wünsche offen und die 47 Dateien in 7 Ordnern mit gerade einmal 11.878.640 Bytes sind auf einem modernen System kaum erwähnenswert. Dies macht sich auch bei der Startzeit bemerkbar, die mit Blick auf die Uhr kaum messbar ist.

Leider entpuppt sich Notepad++ beim Arbeiten dann auch als Leichtgewicht, der für das schnelle Bearbeiten zwischendurch zwar geeignet erscheint, für etwas komplexere Aufgaben aber zu wenig Unterstützung bietet – so bleibt zum Beispiel die Funktionsliste beim Bearbeiten eines PERL-Skripts leider leer.

Fazit

Recht schnell ins Abseits katapultieren sich, nicht nur auf Grund der Startzeit aus der lokalen, hauptberuflichen Systemadministrator-Sicht, die auf Electron basierenden „Monster“, deren Grundkonzeption aus Browser und mitgeliefertem Node.js-Webserver sowohl aus administrativer wie auch aus sicherheitstechnischer Sicht ein Alptraum ist.

Nach Antesten der vier aussichtsreichsten Kandidaten scheint Sublime Text mehr als nur ein guter Ersatz für UltraEdit zu werden – nicht zuletzt auch im Hinblick auf das deutlich zuverlässigere Syntax Highlighting, das bei UltraEdit vor allem innerhalb von Perl Regular Expressions öfter mindestens so verwirrt war wie der Mensch vorm Monitor.

 

UAC-Aufforderung in Abhängigkeit vom Dateinamen

Bei der Anpassung von Quake II auf Full-HD-Auflösung bin ich über Folgendes gestolpert:

Wird die Datei „quake2.exe“ im Explorer mit Rechtsklick als „quake2 – Kopie.exe“ kopiert, so wird die Datei ganz normal dargestellt und ist auch ausführbar, ohne daß die Benutzerkontensteuerung aktiv wird.

Wird die Datei in „quake2patched.exe“ umbenannt, wird das Dateisymbol mit einem Schild dargestellt und es erscheint beim Start eine Anfrage der Benutzerkontensteuerung.

Die Dateien sind identisch:

>fc /b quake2.exe quake2patched.exe
Vergleichen der Dateien quake2.exe und QUAKE2PATCHED.EXE
FC: Keine Unterschiede gefunden

Wird die „quake2patched.exe“ in z.B. „quake2test.exe“ umbenannt, verschwindet das Schild-Symbol wieder.

Wie der MSDN-Artikel „UAC: Five most common Install failure Scenarios and workarounds“ nahelegt, liegt das Verhalten tatsächlich am Dateinamen.

 

Bytefolge mit Perl ersetzen

Die Funktionen, die Perl für das Suchen und Ersetzen innerhalb von Strings bereitstellt, lassen sich auch hervorragend dazu verwenden, Bytefolgen innerhalb von Binärdaten zu bearbeiten.

Mittels der pack-Funktion wird die zu suchende Bytefolge in einer Variable gespeichert

$source = pack("C*", 0x00, 0x40, 0x06, 0x00, 0x00, 0xB0, 0x04, 0x00);

Deren Position innerhalb der zu durchsuchenden Daten kann durch die Funktion index ermittelt

$pos = index($data, $source);

und ggf. auch mit einer Ziel-Bytefolge mit Hilfe der Funktion subst ersetzt werden

substr($data, $pos, length($dest), $dest);
 

Motörhead 2005-06-24 Bildergalerie

Motörhead am 24. Juni 2005 beim Bang Your Head Festival in Balingen

 

Album-Highlights 2017

Meine Album-Highlights des Jahres 2017 in alphabetischer Reihenfolge:

Ashbury: Endless Skies

Zwei Männer und ihre Gitarren – oder so ähnlich. Eine Mischung irgendwo zwischen Mark Knopfler, Ian Anderson und Uriah Heep.

Comedy Of Errors: House Of The Mind

Comedy Of Errors war DIE Überraschung des diesjährigen „Night Of The Prog“ und „House Of The Mind“ steht stellvertretend für eigentlich alle Releases der Band.

Dire Straits: Brothers In Arms (MFSL SACD)

Eine der Referenz-Veröffentlichungen der damals beginnenden Compact Disc-Ära. Die SACD von Mobile Fidelity schafft, woran die Standard SACD 2005 kläglich gescheitert ist: ein eigentlich perfektes Album um ein paar weitere Nuancen zu bereichern.

Threshold: Legends Of The Shires

Nach der eher unrühmlichen Trennung von Damian Wilson wurden meine zugegebenermaßen nicht sehr hohen Erwartungen deutlich übertroffen, auch wenn eine Straffung auf eine CD dem Album vielleicht gut getan hätte.

Roger Waters: Is This The Life We Really Want?

Viel zu viele Jahre nach „Amused To Death“ wirft Roger Waters erneut einen Blick auf die Menschheit.

Maßgebend war das Anschaffungs-, nicht das Erscheinungsdatum.