Einige Jahre sind es nun schon, die ich gelegentlich Batchdateien schreibe. Einige für einfache Aufgaben, andere für Dinge, wofür mich Leute für verrückt erklären würden, daß ich sie mit Batchdateien löse. Wie auch immer, cmd ist inzwischen etwas langweilig geworden. Ich werde mich nun auf eine andere Shell konzentrieren, die in ihrer Syntax nicht mal unähnlich ist. Eine, die zumindest auf 32-bit-Systemen noch weiterlebt: command.com.
In gewisser Weise war cmd zu mächtig. Es macht mehr Spaß, je eingeschränkter man ist. Ich werde nun also langsam alle Batchdateien auf dieser Seite umschreiben, so daß sie in command.com laufen. Das ermöglicht außerdem die Nutzung auf nicht-NT-basierten Windows-Systemen sowie DOS. Ich sehe das als deutlichen Fortschritt über die eher eingeschränkte Verfügbarkeit von cmd.
Ich habe die Funktion “Format übertragen” in Word in den vergangenen Tagen recht häufig gebraucht. Es ist ein praktisches Werkzeug zuweilen, hat allerdings einen Nachteil: Der Modus endet nach einmaliger Anwendung. Man kann also eine Formatierung nur auf ein Ziel anwenden bevor man das Werkzeug erneut auswählen muss. Das ist nicht sehr praktisch, wenn man mehrere Stellen hat, wo man die Formatierung anwenden will.
Allerdings kann man einfach auf den Button im Ribbon doppelklicken. Dann bleibt der Modus so lange aktiviert bis man Esc drückt.
Und, wie ich jetzt feststelle, ist das sogar in der Hilfe beschrieben. Aber wer liest sowas schon? :-)
Bei StackOverflow gibt es neuerdings Statistiken zu einzelnen Tags. Und da mußte ich natürlich mal nachschauen, wie ich bei meinem Lieblingstag stehe.
Und siehe da, ich bin auf dem ersten Platz für die letzten 30 Tage und insgesamt (mehr oder weniger) knapper Zweiter hinter Pax.
Pax, ich krieg dich noch :P
Nehme ich das vielleicht ein wenig zu ernst? Vielleicht, vielleicht auch nicht. Zugegeben, er kennt einige widerliche Tricks, die ich bislang nicht kannte; vielleicht ist die Rangfolge noch angemessen :-)
Außerdem schadet ein wenig Ehrgeiz auch nicht :-)
Nun brauche ich nur noch ein paar Upvotes, um einen Batch-Specialist-Badge zu kriegen.
Update (2009–08–06): Inzwischen bin ich Erster im Batch-Tag. Juhu.
Ein Kommilitone fand kürzlich folgende Signatur bei /.:
“Anyone else notice what x+k+c+d adds to? 42! :) [x=24,k=11,c=3,d=4]”
Interessante Entdeckung. Ich frage mich, ob das beabsichtigt ist. Und das geht sogar noch weiter: Wenn man die ASCII-Werte der Zeichen addiert, erhält man 120 + 107 + 99 + 100 = 426, was die 42 ebenfalls enthält.
Besagter Mitstudent entdeckte dann noch eine Verbindung zwischen diesen beiden Zahlen:
<sh> sebastian@madlax:~$ factor 426 <sh> 426: 2 3 71 <sh> sebastian@madlax:~$ factor 42 <sh> 42: 2 3 7 <sh> This is a *bit* creepy for a coincidence.
Beide Zahlen sind also sogar Sphenische Zahlen und die Primfaktoren von 42 sind in den Primfaktoren von 426 enthalten, zumindest auf die gleiche Weise wie 42 in 426 steckt..
Irgendwie beängstigend. Also hat xkcd eine Verbindung zu 42.
Ich mochte es noch nie, wie mein Code hier bislang aussah: Einrückungen waren unmöglich, alles unbunt, … also suchte ich mal nach einem Drupal-Plugin, was Syntax-Highlighting übernehmen kann. Gefunden habe ich genau eins: GeSHi filter.
Es funktioniert zwar, aber es scheint nicht zu gut zu funktionieren. Der meiste Code auf dieser Seite sind momentan Batchdateien und gerade hier wirkt die Liste der Todos und bekannten Probleme nicht gerade ermutigend (frei übersetzt):enableextensions und enabledelayedexpansion als hervorzuhebende Dinge hinzugefügt.
Ich gehe mal davon aus, daß einige den Norton Commander kennen oder zumindest einen der zahlreichen Klone desselben. Ich persönlich benutze Far täglich mehrfach. Eines der Dinge, die einen OFM so praktisch machen, ist die integrierte Kommandozeilenumgebung. Dies funktioniert allerdings in meinen Augen am besten in einem Textinterface, da man dort auch gleich die Resultate sieht (Total Commander geht hier ein wenig daran vorbei, finde ich).
Wäre es nicht schön, wenn man die gleiche Art von Kommandozeilenintegration auch im Windows-Explorer hätte? Ein Kommilitone erwähnte die Idee vor kurzem und ich war sofort überzeugt, daß es nützlich sein kann und würde und habe mal schnell ein Bild gebastelt, wie sowas aussehen könnte (siehe Anhang).
Ich fand nach einigem Suchen tatsächlich etwas, das so etwas bereitstellt: Command Prompt Explorer Bar, allerdings in C# geschrieben. Raymond Chen zitierte einmal Jesse Kaplan, einen Manager für die Common Language Runtime (CLR): Man sollte keine Shell-Erweiterungen in Managed Code schreiben.
Also wird das oben erwähnte Projekt, wie auch die Verwendung einzelner Teile davon wohl keine brauchbare Option sein. Insofern werde ich wohl vielleicht irgendwann das Ding so bauen, wie ich es mir vorstelle, nur dann in C++.
... ändern wir eben das Problem.
Ich erinnere mich noch vage an Zeiten, in denen Spiele und andere Anwendungen meist mit Installationsanweisungen daherkamen (scheint inzwischen nicht mehr so verbreitet zu sein, vielleicht nimmt man an, daß der normale Anwender in der Lage ist, ein Programm zu installieren). Etwas, was ich dort häufiger las, war etwas in der Art wie „Legen Sie die CD in das CD-ROM-Laufwerk. Das Setup-Programm sollte automatisch starten. Wenn es nicht automatisch startet, folgen Sie bitte folgenden Anweisungen, um AutoPlay zu aktivieren und versuchen Sie es erneut: ...”
Im Grunde ist dies eine Un-Lösung. Sie löst ein Problem, das der Kunde nicht mal hat. Normalerweise denkt man nicht ‚Wie könnte ich AutoPlay wieder anschalten, was ich gerade vor ein paar Wochen abgeschaltet habe, damit das Einlegen von CDs weniger nervig ist?’ sondern stattdessen möchte man das Programm installieren, dessen CD man gerade eingelegt hat und wo es eben nicht automatisch startete (was ja durchaus gewollt sein kann).
Etwas Ähnliches entdeckte ich kürzlich auf einer Webseite, die ein Bild in einem Popup anzeigen wollte. Ich habe nun meinen Popup-Blocker relativ aggressiv eingestellt, so daß er nahezu alles blockt, was ein neues Fenster öffnen will. Üblicherweise komme ich dann an den Inhalt hinter dem Popup immer noch heran, indem ich den Link einfach in einem neuen Tab öffne. Diesmal fand ich mich jedoch auf einer Seite wieder, die mir detailliert erklärte, wie ich JavaScript an- oder meinen Popup-Blocker ausschalte.
Sehr schön. Sie lösen ein Problem, welches ich nicht mal habe. Ich wollte doch nur das Bild sehen.
Seit Popup-Blocker aufkamen und inzwischen ihren Weg in nahezu alle Browser gefunden haben, bezweifle ich ein wenig, daß Popups noch eine brauchbare und sinnvolle Methode sind, dem Benutzer Inhalte zu präsentieren.
Wie der eine oder andere eventuell gemerkt hat, habe ich angefangen, die Seite und einige Inhalte ins Deutsche zu übersetzen. Ich wollte das nun schon eine Weile lang machen, habe aber erst kürzlich das i18n-Modul für Drupal installiert. Ich werde versuchen, alle zukünftigen Inhalte auf Deutsch anzubieten, aber Englisch wird nach wie vor die erste Sprache bleiben, in der neue Sachen erscheinen. Währenddessen werde ich dann den bisherigen Inhalt übersetzen wie mir die Zeit gerade reicht.
Nein, dies ist keiner der zahlreichen Hacks, die auf dem diesjährigen Chaos Communication Congress durchgeführt worden sind, sondern stattdessen eine Sammlung interessanter Vorträge.
Ich war nicht physisch anwesend (nächstes Jahr plane ich es aber) verfolgte allterdings die Streams und habe hier mal zusammengetragen, welche Vorträge mir besonders gefallen haben.
Tag 4 fehlt momentan noch, sowie ein paar Links hie und da – das kommt noch.
[Beschreibung] [MKV] [MP4]
Ein witziger Vortrag über den „Bundestrojaner“, komplett mit Interviewantworten on Dr. Schäuble höchstselbst, der allerdings des öfteren den Eindruck macht, als würde er nicht ganz begreifen, was er auf die Bevölkerung loslassen will.
[Beschreibung] [MKV] [MP4]
Ein deprimierender Blick auf den Umgang mit Terrorismusverdächtigen (ja, auch Unschuldige) durch die deutsche Staatsgewalt. Der Partner der Rednerin wurde im Sommer verhaftet und der Rest der Familie überwacht. Die Gründe für die Verhaftung waren unter anderem einige Aufzeichnungen, die Tatsache, daß er ein politischer Aktivist war und daß er sein Mobiltelefon nicht immer dabei hatte.
[Beschreibung] [MKV] [MP4]
Eine interessante Vorstellung von eher ungewöhnlichen elektronischen Geräten, wie zum Beispiel einer Jacke, die Stromstöße verteilt, das TV-B-Gone und ein Gerät, was Mobiltelefone, WLAN und Bluetooth stören kann. Diese Projekte sind Spiegel einer Kultur namens Design Noir, die versuchen, durch „Ge- oder Mißbrauch einfacher elektronischer Geräte die Gleichförmigkeit des täglichen Lebens zu brechen“. Und die Wave Bubble sieht interessant genug aus (mich nerven Mobiltelefone auch oft genug), um sie mal selbst zu bauen, allerdings nicht bevor ich mich nicht über die legalen Aspekte dessen informiert habe, da offensichtlich auch Leute für die Nutzung von TV-B-Gone bei Media Markt angezeigt werden können.
DNS ist im Grunde nichts weiter als eine Programmiersprache für Zellen. Ändert man einzelne Gene oder fügt welche hinzu, kann man ihr Verhalten ändern. Man macht dies momentan schon zumindest mit Viren (der Bakteriophage T7 ist hier beliebtes Forschungsobjekt wegen der einfachn DNS-Struktur) und man hat es auch schon geschafft, den „Quelltext“ so umzuschreiben, daß der Virus zwar nicht mehr so gut funktioniert, aber man immerhin genau weiß, was er tut (Reverse Engineering bei DNS anzuwenden ist etwas komplizierter scheinbar). Der Redner ist selbst an der Forschung beteiligt und sie hatten eine relativ komplexe Komponentenarchitektur für Gene aufgebaut, wo man quasi aus verschiedenen Grundbausteinen kompliziertere Verhaltensweisen „zusammenbauen“ kann. Die entstehenden DNS-Sequenzen kann man bei verschiedenen Unternehmen „drucken“ lassen (für nicht ganz wenig Geld). Das dauert zwar alles immer noch einige Monate, aber der Gedanke klang ziemlich interessant, besonders der Fakt, daß sie diese Grundbausteine in einer offenen Datenbank sammeln, in der es inzwischen einige gibt. Wiewohl der Gedanke, daß man eines Tages Menschen hacken kann, etwas beängstigend ist.
[Beschreibung] [MKV] [MP4] [Folien]
Dan Kaminsky hat in der Vergangenheit einige reichlich eklige aber irgendwo coole Hacks gemacht, gerade mit DNS. Er hat allerdings auch einen interessanten und durchaus mitreißenden Präsentationsstil. Nachdem er letztes Jahr Visual BinDiff vorstellte, um einfach Muster und Änderungen in Dateien visualisierbar zu machen, kommt dieses Mal eine Reimplementation von TCP in JavaScript, Flash/Java und IFrames. Und ja, es ist so widerlich wie es klingt. Vielleicht ein weiterer Grund, von Browserplugins wie Flash oder Java Abstand zu nehmen (Silverlight könnte auch betroffen sein, wenn es Sockets und eine Skriptschnittstelle für JavaScript von außen anbietet). Er hat das ganze sogar während der Präsentation vorgeführt und es hat funktioniert (in Firefox mit Flash).
[Beschreibung] [MKV] [MP4]
Ein Streifzug durch die Geschichte von Lesegeräten für elektronische Bücher und warum sie gescheitert sind bzw. immer noch nicht wirklich gut verwendbar sind. Obwohl es der erste Vortrag an dem Tag war (mitten in der Nacht, also gegen 11:00 morgens) war er recht witzig und interessant gemacht.
[Beschreibung] [MKV] [MP4]
Ein kurzer Vortrag über einige mathematische Paradoxa. Nichts allzu weltbewegendes aber vielleicht für einige interessant. Hauptkritikpunkt meinerseits wäre, daß der Vortrag zu kurz war, man hätte hier noch mehr hineinpacken können. Ein weiteres Problem war, daß der Redner selbst E-Techniker mit nur einem Hobby-Hintergrund in Mathematik ist und damit wenig Wissen außerhalb dessen hatte, was er präsentierte. Ein Zuhörer fragte beispielsweise nach dem Banach-Tarski-Paradoxon und der Redner verstand das Problem an sich schon nicht ganz.
[Beschreibung] [MKV] [MP4]
Ein schöner Überblick über Barcodes, Barcode-Scanner und die Sicherheitsrisiken, die damit zusammenhängen. Zumindest ich habe von Barcode-SQL-Injection bislang noch nichts gehört. Aber die Scanner selbst sind üblicherweise auch verwundbar, auch ohne die Software dahinter in Betracht zu ziehen. Da die meisten Scanner über Barcodes neu konfiguriert werden können und die Konfigurationsbarcodes üblicherweise einfach vom Hersteller zu bekommen sind, ergibt das auch einen interessanten Angriffspunkt. Für die meisten Szenarien ist es aber nicht notwendig, so weit zu gehen, da viele Software in solchen Systemen die Daten nur unzureichend überprüft und man dann damit viel Spaß haben kann.
[Beschreibung] [MKV]
Eine sehr interessante Diskussion über die nicht endende Debatte über „Killerspiele“ die nach den Ereignissen in Erfurt vermehrt in das Medieninteresse getreten ist. Nahezu alle Medien machen Killerspiele verantwortlich für amoklaufende Menschen. Es gab einige Fernsehbeiträge zu dem Thema, zumeist jedoch in den Fakten ziemlich daneben. Einer der Redner war allerdings jemand, der eben solche Beiträge produziert und gedreht hat, dieser hat auch die meisten Fragen aus dem Publikum beantwortet.
Ein Zuhörer aus dem Publikum war sogar ein Bundestagsabgeordneter, der auch ein paar interessante Dinge zu der Diskussion beitragen konnte. Und ich begrüße es sehr, daß solche Leute Veranstaltungen wie den 24C3 besuchen.
[Beschreibung] [MKV]
Ein recht witziger Vortrag über mögliche Enden der Welt und wie man sich auf so etwas sinnvollerweise vorbereitet. Hinter der doch eher spaßigen Präsentation finden sich allerdings auch nette Dinge zum selber bauen, zum Beispiel ein EMP-Emitter, den man vielleicht nicht nur im Falle eines Roboteraufstandes brauchen könnte.
[Beschreibung] [MKV]
Die Rednerin war einige Jahre beim britischen Geheimdienst MI5 und war immer mehr unzufrieden mit ihren Handlungen. Manchmal führten Aktionen des Geheimdienstes sogar zu Anschlägen, die verübt wurden, statt sie zu verhindern, außerdem waren geltende Gesetze oft kein Hindernis. Das führte dazu, daß Annie und ihr Partner dem MI5 den Rücken kehrten und zunächst für zwei Jahre in Frankreich untertauchten. Sie schrieb in der Zeit ein Buch, welches der britische Geheimdienst vergeblich versuchte, am Erscheinen zu hindern, und ist nun politische Aktivistin. Ihr Vortrag erwähnt einige interessante Anekdoten, wie Geheimdienste in den 90ern arbeiteten.
[Beschreibung] [MKV]
Ein kurzer Blick auf einige nicht sofort ersichtliche Paradoxa und Unwägbarkeiten des deutschen Wahlsystems. Außerdem die Erforschung, was eine Wahlmanipulation hätte bringen können.
[Beschreibung] [MKV]
Im Grunde hat jede Geschichte vier Seiten: Deine Seite, ihre Seite, die Wahrheit und das was wirklich passierte. Der Vortrag geht auf ein Konzept namens major concensus narrative ein, welches die Variante eines Ereignisses ist, die Menschen in Erinnerung bleibt. Meist wird gerade diese Version mit der Wahrheit gleichgesetzt, muß damit allerdings nicht zwangsweise noch viel zu tun haben. Eine interessante Reise in unser Denken und die Wahrnehmung von Ereignissen.
[Beschreibung] [MKV]
Ein Vortrag über die biometrischen Sicherheitsmaßnahmen im neuen ePass und ihrer Schwachstellen. Das meiste, was man an Sicherheit gewinnen würde (was nicht viel ist), wird durch offensichtliche Lücken in den jeweiligen Gesetzen wieder zunichte gemacht. Wenn man sich damit abfinden kann, jedes Jahr einen neuen vorläufigen Pass zu bekommen, kann man mit etwas Trickserei ziemlich gut darum herumkommen, seinen Fingerabdruck abzugeben. Und Terroristen haben innerhalb eines Jahres wahrscheinlich ohnehin keine Möglichkeit, böse Dinge zu tun ...
Das Protokoll der Abnahme der Fingerabdrücke läßt auch genug Raum für die Fälschung derselbigen, was nicht sonderlich schwer zu bewerkstelligen ist mit Folie, einem Laserdrucker und Holzleim.
[Beschreibung] [MKV]
Nicht viel zu sagen, außer daß es wie immer krank und sehr unterhaltsam war. Wiewohl die Fragen, äh, Antworten dieses Jahr ziemlich schwer waren, zumindest für mich.
Ausgehend von “Or” considered harmful. stellten wir fest, daß die Unterscheidung von andor, xor und ewok sicherlich eine nette Sache ist, nur die Benennung ist noch etwas seltsam. Andor ist sicher zu lang, um es vernünftig in Text oder Sprache einzubauen, es fühlt sich da etwas seltsam an und ewok erinnert einen eher an kleine pelzige Wesen als an eine Variante von oder.
Auf der Suche nach sinnvollen Namen, nahmen wir einfach an, daß oder sicher ausreichend ist für andor, was uns die Mathematik bzw. Logik ja auch schon lehrt. Und ja, damit weicht es immer noch von dem ab, wie Menschen oder normalerweise benutzen, aber das stört ja nicht :). Xor ist kurz genug und leicht auszusprechen, daß man es im normalen Sprachgebrauch verwenden kann und die Bedeutung ist für Geeks im Allgemeinen recht klar. Bleibt nur noch ewok. sh schlug eor vor, was man als ewok-oder lesen könnte. Es klingt nicht ganz so blöd, ist kurz genug und damit denke ich benutzbar.
Das einzige Problem ist nun nur noch, meine Gewohnheiten beim Schreiben oder Reden umzustellen, um diese Wörter auch tatsächlich so zu benutzen.