Archiv für die Kategorie ‘Programmierung’

Command Line Fu

Donnerstag, 01. März 2012

xkcd: Command Line Fu

Wer commandlinefu.com immer noch nicht kennt, sollte unbedingt mal einen Blick auf die Seite werfen. Dort finden sich unzählige Commands und Scripts, die einem das Leben in der Kommandozeile erleichtern.

Beispielsweise extrem praktisch, wenn man mal wieder vergessen hat, die gerade frisch editierte Datei mit den richtigen Berechtigungen zu öffnen, ist dieser vim-Command (einer meiner Favoriten):

Oder falls mal wieder versehentlich STDOUT mit Binärdaten zugepflastert wurde, ist ein einfaches

in der Bash sehr hilfreich.

URLs: [1,2]

Script für Wake on LAN über FRITZ!Box (update)

Sonntag, 15. Januar 2012

Die meisten FRITZ!Box-Modelle bringen eine „Wake on Lan“-Funktion mit, über die sich ein ausgeschalteter Heimrechner starten läßt, wenn beispielsweise gerade Zugriff vom Büro aus notwendig ist. Solange der Rechner zu Hause am (verkabelten) LAN hängt, funktioniert das Ganze einwandfrei. Allerdings muß man sich auf der FRITZ!Box zunächst per HTTP-Auth und anschließend mit Admin-Paßwort anmelden, ins entsprechende Menü navigieren, dort den Rechner auswählen, der aufgeweckt werden soll, und schließlich den finalen Button drücken. Da das alles unglaublich viel Zeit frißt (bestimmt volle 1-2 Minuten!), hier ein PerlPython-Script, das den Kram automatisiert: Einmalig anpassen, starten, fertig.


Update:

Das Script liegt nun auf GitHub und wurde mit einer FRITZ!Box 7390, 7170 und 7112 getestet.

Linksys WRT54G Config decodieren

Montag, 06. Dezember 2010

Es soll ja Leute geben, die z.B. ihre ISP-Paßwörter verlegen und nur noch einen funktionierenden Linksys-Router (WRT54Gx) besitzen, aus dem die entsprechenden Daten irgendwie extrahiert werden sollen. Da die Config-Files der Router ein etwas „seltsames“ Format besitzen und deshalb entsprechende Zugangsdaten, Paßwörter, Einstellungen usw. nicht lesbar sind, hier ein kleiner Perl-Einzeiler, der eine solche Config lesbar macht:

Und hier gibt’s das Ganze etwas weniger kryptisch.

The Evolution of a Programmer

Freitag, 25. September 2009

<snip>

Experienced Hacker:

Guru Hacker:

New Manager:

</snip>

(Link) :mrgreen:

PicLens für eigene Bilder nutzen

Sonntag, 27. Juli 2008

PicLens - FullscreenDas hervorragende Firefox-Addon PicLens, mit dem sich komfortabel Bilderstrecken und Videos anschauen lassen, ist ja schon länger bekannt. Leider wird von Haus aus nicht jede Webseite unterstützt, sodaß momentan nur die Seiten davon profitieren, die „PicLens-enabled“ sind.

Um das Addon auch mit der eigenen Fotosammlung nutzen zu können, ist nur das Erstellen und Einbinden eines RSS-Feeds nötig, der alle Bilder auflistet.

Dazu fügt man im HTML-Header der aufzurufenden Seite folgende Zeile ein:

Nachdem dann der Feed photo.rss generiert wurde, leuchtet beim nächsten Seitenaufruf im Firefox das PicLens-Icon oben rechts auch schon blau. :D

PicLens-Icon

Folgendes Beispiel-Script kann für die Feed-Erstellung verwendet werden (das Syntax-Highlighting wird übrigens durch das WordPress-Plugin WP-Syntax realisiert):

Scripts mit Notepad++ direkt aufrufen

Dienstag, 10. Juni 2008

Mein Editor of Choice unter Windows ist definitiv Notepad++. Das Open Source Programm unterstützt unter anderem Syntax-Highlighting für knapp 50 Programmiersprachen, Code-Folding und -Completion sowie einen Makrorecorder. Außerdem ist es durch zahlreiche Plugins zB. um eine Funktionsliste, einen Hex-Editor oder XML-Tools erweiterbar.

Besonders das standardmäßig bereits enthaltene Plugin NppExec bringt sinnvolle Funktionalität mit sich: Es erlaubt das Ausführen von Scripts oder Programmen direkt im Editor. Dabei wird die Ausgabe in einem Konsolenfenster wiedergegeben, bekannt von IDEs wie Eclipse.

nppp

Das Plugin erleichtert das Programmieren und Testen ungemein. Zur Konfiguration drückt man die Taste F6 und tippt in das daraufhin erscheinende Execute-Fenster folgende Befehle ein (siehe auch Bild):

NPP_SAVE
C:\Pfad\Interpreter.exe "$(FULL_CURRENT_PATH)"

Anschließend bestätigt man mit OK, worauf im Konsolenfenster die Ausgabe beginnt. Dabei nimmt es genau wie die cmd-Shell Tastatureingaben entgegen, sodaß sich Scripts zB. mit STRG+C abbrechen lassen und auch nicht auf Benutzerinteraktion verzichtet werden muß. Wiederholte Executes können mit STRG+F6 ausgeführt werden.

Designer-Virus für den Mac

Mittwoch, 05. März 2008

Oliver hat mich heute auf diesen völlig sinnfreien, aber auf jeden Fall sehr originellen Virus für Macs aufmerksam gemacht, der eigentlich gar keiner ist:

Get the Flash Player to see this content.

Video-Quelle: dezeen.com

Die Software bedient sich dabei des Macbook-eigenen internen Gyroskops, das Teil des von Apple patentierten Sudden Motion Sensors (kurz: SMS) ist. Dieses System dient eigentlich dem Schutz der Festplatte vor Beschädigungen bei plötzlicher Bewegung, wobei dann augenblicklich Lese- und Schreibköpfe geparkt werden. Für den SMS gibt es neben einigen weiteren kleinen Anwendungen wie zum Beispiel SeisMac oder SMSRotateD auch die Java-Bibliothek jilt zum Umsetzen eigener Ideen.

PS.: Ich merke gerade, daß Oliver genau wie ich die Wikipedia und Google befragt, nur dabei das Gleiche schon gute drei Monate früher zum Besten gegeben hat. Macht nix, denk ich mir, déjà vus sind schön. :cool:

Valid XHTML und Get Recent Comments

Samstag, 23. Februar 2008

Da ich zur Konfiguration der letzten Kommentare, die rechts im Sidebar angezeigt werden, ein vernünftiges Plugin brauchte, habe ich seit einiger Zeit Get Recent Comments in Benutzung, das seinen Zweck gut erfüllt.

Ein einziges Problem konnte ich nun trotzdem beobachten: Beim Zusammenspiel mehrerer Faktoren zerstört das sonst einwandfrei funktionierende Plugin die XHTML-Validität. Das mag den Durchschnittsblogger nicht interessieren, aber bei mir kam diesbezüglich leider mal wieder der Perfektionismus durch… :roll:

invalidxhtml

Konkret muß das Caching von Get Recent Comments aktiviert sein und es müssen beide Widgets (Kommentare und Trackbacks) in der Sidebar auftauchen. In diesem Fall werden die zu cachenden Daten bereits beim Aufbau des ersten Widgets vollständig erstellt, was falsche HTML-Tags in $before_widget und $before_title des zweiten Widgets erzeugt (nämlich die des ersten Widgets). Da sich innerhalb dieser Tags ids befinden, die, wie der Name schon sagt, einzigartig sein müssen (was sie ja nicht mehr sind, sobald die gleiche id für beide Widgets genutzt wird), ist die Seite nicht mehr XHTML-konform. :cry:

validxhtml

Lange Rede, kurzer Sinn: Hier mein Patch für Version 2.0.2 des Plugins, allen kleinkarierten Gleichgesinnten gewidmet. :mrgreen:
Zur Erneuerung des Caches muß dieser einmal deaktiviert und, nachdem die Hauptseite neu geladen wurde, wieder aktiviert werden.