Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309

Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309

Deprecated: Array and string offset access syntax with curly braces is deprecated in /www/htdocs/martg/_app/core/api/helper.php on line 56

Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309

Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309

Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309

Deprecated: join(): Passing glue string after array is deprecated. Swap the parameters in /www/htdocs/martg/_app/core/api/path.php on line 309
blindschleiche

blindschleiche

wget mit gebremstem Schaum

Von Lukas Schroeder dem Autor von u.a. wmdropzone (ein Downloadmanager als Window Maker Dock-App) gibt es einen Patch für wget 1.5.3 der wget um eine Option erweitert die maximale Bandbreite eine Downloads einzuschränken.

Bei einem so gepatchtem wget kann man zum Beispiel per

$ wget --bandwidth=2048 http://foo.bar/mighty-big-file.tar
festlegen, daß wget nur maximal 2kB/s ziehen soll. Dies hilft zum Beispiel um meherer parallelen Downloads aufeinander abzustimmen oder um neben einem Download noch einigermaßen surfen zu können oder auch um nebenbei noch genügend Bandbreite zum Radiohören über’s Internet zu haben.

Patch: wget Bandwidth Throttle

alte Browserversionen für Linux

Egal ob alter Hase, oder interessierter Neueinsteiger, wer einmal einen Ausflug in die Anfänge der grafischen WWW-Browser machen will, kann sich das heutige Internet ja einmal mit Netscape 1.0n oder mit Mosaic 2.5 anschauen.

Sonderlich gut einsetzbar sind diese Versionen heute zwar nicht mehr —- zumindest die Unterstützung für Tabellen wird man vermissen —- aber es ist schon interessant wie diese Oldies so manche Seiten darstellen.

alte Browser für Linux

XFree86: Maus per Tastatur emulieren

Unter XFree86 kann man die Mausfunktionen auch komplett per Tastatur erledigen.

Dazu wechselt man per C-S-NumLock (Control bzw. Strg, Shift und NumLock gleichzeitig drücken) in den Tastaturmaus Modus. In diesem Modus kann man eine Dreitastenmaus komplett über das numerische Tastenfeld emulieren (die Maus selber funktioniert unverändert weiter). Ausschalten läßt sich der Modus mit derselben Tastenkombination.

Im Tastaturmaus Modus gilt die folgende Tastenbelegung auf dem Nummernblock:

  • 1,2,3,4,6,7,8,9: Mauszeiger bewegen
  • 5: Maustaste drücken bzw. lösen
  • +: Doppelklick
  • 0: Maustaste gedrückt halten
  • /: selektiert linke Maustaste für nächsten Tastendruck (5,+,0)
  • *: selektiert mittlere Maustaste
  • -: selektiert rechte Maustaste

Das emulieren der Maus per Tastatur kommt immer dann gelegen, wenn bei einem Grafikprogramm Feinarbeit (oder eine exakte 0, 45, 90 Grad Bewegung) gefragt ist, oder wenn die Maus einmal nicht funktioniert.

Freie Bücher von O'Reilly

Im Rahmen seines Open Books Project bietet der in der OpenSource Szene wohl renomierteste Verlag O’Reilly einige seiner Werke kostenlos im Internet an.

An englischen Büchern stehen unter anderem

  • The Cathedral and the Bazaar

  • Learning Debian/GNU Linux

  • Linux Network Administrator’s Guide, 2nd Edition

  • Using Samba

  • Web Client Programming with Perl

zur Verfügung.

Die Auswahl an deutschen Büchern umfaßt zur Zeit:

  • Linux Wegweiser zur Installation & Konfiguration

  • Linux Wegweiser für Netzwerker

  • Open Source: kurz & gut

Open Books Project

Emacs: Online Rechtschreibkontrolle

flyspell ist eine Emacs minor-mode von Manuel Serrano zur ständigen Rechtschreibkontrolle während man tippt.

Die eigentliche Kontrolle wird dafür von ispell —- welches installiert sein muß —- durchgeführt. flyspell funktioniert gleichermaßen mit dem GNU Emacs wie mit dem XEmacs und die Installation ist kinderleicht.

Nach dem Download der ELisp-Source Datei sollte man diese erste einmal per


M-x byte-compile-file

übersetzten. Anschließend kopiert man flyspell.el und flyspell.elc in ein im Emacs Pfad befindliches Verzeichnis. Anzeige z.B. per:

C-h v load-path

Empfehlenswert ist es hier das site-lisp Verzeichnis zu wählen, welches für Lispdateien die nicht zur Emacs Distribution gehören vorgesehen ist. Also z.B.:

$ cp flyspell.* /usr/lib/xemacs/site-lisp/

Zur Vervollständigung der Installation sind noch zwei Einträge in der ~/.emacs-Datei zu tätigen.


(autoload 'flyspell-mode "flyspell" "On-the-fly ispell." t)

(setq flyspell-default-dictionary "deutsch8")

deutsch8 bezeichnet hierbei das gewünschte Dictionary, in diesem Fall eben ein deutsches inkl. Unterstützung für 8bit Zeichen.

Nach einem Neustart des Emacs steht dann der flyspell-mode auf Zuruf zur Verfügung. Mit


M-x flyspell-mode

kann man ihn pro Buffer ein- oder ausschalten. Bei aktiviertem flyspell-mode findet man ein Fly in der Modeline.

Will man im Gnus beim schreiben einer Nachricht stets eine Rechtschreibkontrolle, so kann man dies mit dem folgenden Eintrag in der Datei ~/.gnus bewerkstelligen.


(add-hook 'message-mode-hook 'flyspell-mode)

Flyspell

HTML prüfen, korrigieren, entschlacken

Tidy von Dave Raggett ist ein Tool zum überprüfen und optimieren von HTML-Code.

Es kann

  • fehlende Endtags ergänzen
  • verschachtelte Tags entwirren
  • Anführunszeichen um Attributswerte ergänzen
  • HTML-Code strukturiert einrücken
  • PHP-Code in Ruhe lassen ;-)
  • HTML in wohlformatiertes XML wandeln
  • <font…>-Tags durch CSS-Anweisungen ersetzten
  • HTML-Code um sinnlose Daten entfetten (insbes. auch geeignet um M$-Word HTML-Exporte zu verschlanken)
Was tidy mit dem Code alles anstellen soll, läßt sich per Konfiguartionsdatei und/oder per Kommandozeilenoptionen steuern.

Tidy oder ein vergleichbares Werkzeug sollte jeder gelegentlich einmal auf seine HTML-Seiten loslassen um zu erkennen, ob man nicht doch öfter vom “rechten Pfad” abweicht.

Wer tidy direkt von Emacs aus einsetzen will, dem kann ich den Tidy/Emacs combo tip von Pete Gelbman empfehlen.

Clean up your Web pages

Tastaturmakros für Bash und andere

Wer zu faul zum Tippen ist, dem bietet die Readline Bibliothek (welche auch in der Bash Verwendung findet) die Möglichkeit Tastaturmakros zu vereinbaren. Die Definitionen dafür können in der Datei ~/.inputrc getroffen werden. Diese oder die Datei auf die die Umgebungsvariable $INPUTRC zeigt wird beim Start eines jeden Programmes, welches sich der libreadline bedient, ausgewertet. Die einzelnen Einträge dieser Datei haben dabei die Form

 Tastaturbefehl: Makro

Ertappt man sich z.B. dabei, daß man häufiger Programmausgaben in bestimmte Dateien umleitet, so kann man sich die Arbeit erleichtern, indem man ein Tastaturkürzel vereinbart.

 Control-u:"1>u.out 2>u.err^M"
Mit dieser Definition in der ~/.inputrc reicht es wenn man in Zukunft Control-u drückt um die Standardausgabe eines eingegeben Befehls in die Datei u.out und die Fehlermeldungen in die Datei u.err umzuleiten. Das abschließende ^M steht dabei für einen Zeilenumbruch, welchen man im Emacs per C-q C-M eingeben kann.

Arbeitet man häufiger interaktiv mit dem Python-Interpreter, so ist es hilfreich wenn man sich eine Taste für die Eingabe des Befehls print vereinbart. Der folgende Eintrag in ~/.inputrc bewirkt daß die Eingabe von F12 print gefolgt von einem Leerzeichen bewirkt.

 [e[24~]("print) "
Dabei steht e[24~ für den Tastaturcode der F12-Taste. Herausfinden kann man diesen Code (welcher je nach Terminal unterschiedlich sein kann) z.B. indem man cat Aufruft und danach die entsprechende Taste drückt.
 $ cat
 ^[[24~

 Control-d
Das ^[ am Anfang steht dabei für ESCAPE und ist für die Vereinbarung wie im obigen Beispiel durch e zu ersetzten.

Weitere Beispiele finden sich in der manpage von readline.

EMail Adressen *richtig* verifizieren

Eine sehr häufig gestellte Frage in diversen Perl-, PHP-, CGI-, Python-Newsgroups ist:

Wie kann ich eine angegebene EMail-Adresse auf Gültigkeit hin überprüfen?

Meist werden dann diverse RegularExpression diskutiert, die aber alle am eigentlichen Problem vorbeigehen, denn nur weil eine EMail-Adresse syntaktisch korrekt ist muß sie noch lange nicht existieren.

Die Lösung des Problems bietet das Programm vrfy von Eric Wassenaar. Dieses kontaktiert den für eine übergebene Adresse zuständigen Mailhost und überprüft über diesen die Zustellbarkeit der EMail-Adresse.

vrfy ist ein in C geschreibenes Programm, welches sich auf den meisten UNIX-Plattformen problemlos übersetzten lassen sollte.

vrfy.tar.gz bei uni-stuttgart.de

Netzwerkverkehr beobachten

Wer wissen will welchen Durchsatz seine Modem-, ISDN-, Ethernet-, FDDI-Verbindung wirklich liefert, oder mit welchen Gegenstationen Kommunikation stattfindet, welche Ports angesprochen werden etc., der sollte sich einmal IPTraf (A Statistics Utility for Monitoring IP Networks) ansehen.

IPTraf Homepage

Programmiersprachen empirisch verglichen

Von Lutz Prechelt gibt es ein recht interessantes (englischsprachiges) Dokument im Netz, welches die Ergebnisse einer empirischen Gegenüberstellung mehrerer Programmiersprechen in Bezug auf Ihre Eignung für Textbearbeitungen schildert. Der Vergleich umfaßt dabei die Sprachen C, C++, Java, Perl, Python, Rexx und Tcl.

Das Werk umfaßt 34 Seiten und kommt zu dem Schluß, daß die Entwicklung der geforderten Software mit Hilfe der Skriptsprachen um Faktor 2 schneller vonstatten geht als beim Einsatz der Compilersprachen (C, C++, Java), die allerdings beim Laufzeitverhalten punkten können.

Wer sich noch nicht auf eine Programmiersprache festlegen konnte bzw. seine Wahl untermauert wissen will, …

An empirical comparison… (PDF)