Alle Beiträge von adlerweb

3€ AVR-Board im Test

Ein ATMega für 3€? Nichts neues, aber dank Steffen Vogel bin ich auf einen chinesischer Händler gestoßen, welcher für diesen Preis derzeit einen kompletten AVR-Programmierer auf Basis des USBasp anbietet. Mit an Board sind neben einem ATMega8A auch ein 12MHz Quarz, ein V-USB-Kompatibler USB-Port, 2 LEDs, ein Jumper und ein 3,3V Spannungsregler (AMS1117, 800mA). Zudem befinden sich auf dem 10-Pin Programmer-Port neben dem üblichen SPI auch die RS232-Pins des Atmel-Controllers, ein passendes Flachbandkabel ist ebenfalls im Lieferumfang. Viel Technik für wenig Geld, oder? Ein erster Blick zeigt: Das Board kommt nicht gerade in Vorzeigequalität, ab und an ist mal eines der SMD-Bauteile etwas schief, aber dennoch funktionierten alle Boards einwandfrei. Bei den Bauteilen hat man ebenfalls gespart: Die LEDs sind im Gegensatz zum zweifarbigen Original beide Rot, 2 der 3 im original vorgesehenen Jumper sind nicht bestückt. Die Controller sind – wie der Produkttitel es vermuten lässt – mit der Programmiersoftware des USBasp-Projektes versehen, wenn auch nicht in der aktuellen Version.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8440-150×150.jpgBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8441-150×150.jpg

Also – wenn ich schon einen haufen Programmieradapter habe programmieren wir auch mal etwas: Mit einem Drahtstück wird der nicht bestückte J2 eines Boards überbrückt – hiermit wird dieser in den „Self-Programming“-Modus geschaltet und kann so über die ISP-Schnittstelle mit neuer Firmware versorgt werden. Über eins der mitgelieferten Kabel wird das neue Ziel nun mit einem anderen Programmer verbunden. Steht bei beiden J1 auf 5V Target (wie ausgeliefert) wird das Ziel über den Programmer mit Strom versorgt. Die aktuellen avrdude-Versionen erkennen den Programmer ohne Probleme und versorgen das Ziel mit der neuen Firmware. Im ersten Versuch wurde ein Programmer mit der neuen Firmware des USBasp versorgt – und unterstützt nun auch die neuen Funktionen.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8421-150×150.jpgBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8422-150×150.jpg

Ein Zweites Board durfte sich mit den Demo-Codes des V-USB-Projektes begnügen, namentlich der HID-Maus-Demo. Das Makefile muss auf den Atmega8 angepasst werden, in der usbconfig.h muss der IOPORT auf B, Minus auf 0 und Plus auf 1 geändert werden. Bekommt man den Code dann noch kompiliert (neuere Compiler stören sich etwas an veralteten Definitionen im V-USB-Code) kann man den Stick dann problemlos verwenden um Arbeitskollegen zu verwirren.

Im nächsten Schritt soll einer dieser Sticks dann den etwas teureren und eher provisorisch angeflanschten Arduino als Stromzähler ersetzen, welcher derzeit die im letzten Post genannten Auswertsysteme versorgt. Die Timer laufen schon, nur das mit den USB-„Interrupts“ zum spontanen senden von Daten via V-USB produziert derzeit noch abstürze – muss ich wohl noch etwas nacharbeiten…

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/IMG_8408-150×150.jpg

Eigenbau vs. Volkszähler

Derzeit baue ich wieder an meinen Erfassungssystemen – neben dem Temperaturmonitoring ist nun auch der in BB5 vorgestellte Stromzähler in etwas größerer Ausführung im Dauerbetrieb. Die Systeme selbst laufen zufriedenstellend, aber mir fehlte im Eigenbaufrontend etwas Eyecandy.

Erst mal zu meinem Eigenbau: Die Sensoren liefern ihre Daten über verschiedene Wege an meinen Homeserver – dort schreiben entsprechende Daemons die Daten in eine RRD-Datenbank weg. Bei Aufruf der GUI werden aus den Datenbanken entsprechende Diagramme erstellt bzw. Statistiken errechnet. Vorteil ist die effiziente und ausgereifte Speicherung der Daten: das verwendete RRDTool ist „gut abgehangen“ und speichert lediglich Differenzwerte, was eine Menge Platz spart. Die Erstellung der Grafiken nimmt ggf. etwas Zeit in Anspruch, mit entsprechendem Caching lässt sich das aber verschmerzen. Fertige Systeme für Interaktion mit den Programmen sind derzeit nicht eingebaut.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/p1-150×150.pngBild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/p2-150×150.png

Auf einem der letzten Chaos Communication Congress’e war mir ein Projekt ins Auge gefallen, welches sich Volkszähler nennt – deren Ziele entsprechen ungefähr auch meinem System und da als Scriptsprache PHP zum Einsatz kommt würde das Ganze eine gute Basis für mich darstellen. Gesagt getan – dank der einfachen HTTP-API kann mein Sensor-Daemon die Daten – neben der weiterhin laufenden RRD – auch bei der Volkszähler-Middleware abliefern. Nach etwas Codestudium sogar mit Timestamp, welches einen Import meiner Daten möglich machen würde. Ein valider Aufruf sieht z.B. so aus: middleware.php/data/aaa-bbb-ccc-sen-sor-id.json?operation=add&value=123&ts=1334416684000.

Die GUI zeigt sich – abgesehen einiger Differenzen wegen meiner PHP-Konfiguration ganz kooperativ und stellt die Diagramme in perfekt angepasster Größe dar. Per Maus kann man einzelne Zeitbereiche nach Bedarf vergrößern, die Daten in anderen Formaten exportieren oder die angezeigten Sensoren dynamisch ändern.

Bild: https://www.adlerweb.info/blog/wp-content/uploads/2012/04/p3-150×150.png

Sorgen mache ich mir jedoch bei einem Blick unter die Haube: Alle Messwerte werden in eine – in diesem Fall MySQL – Datenbank geschrieben, bei den hier werdendeten Sensoren kommen so pro Monat hochgerechnet über 700MB an Datenvolumen zusammen. Meine RRD-Datenbank hat für eine Speicherdauer von mehreren Jahren gerade mal 4 MB. Etwas optimieren könnte man noch, so kann man wie auch bei RRD die Auflösung älterer Daten verringern, also z.B. nur einen Messpunkt alle 5 Minuten beibehalten, jedoch sind diese Funktionen nur von Haus aus dabei und müssten separat erstellt werden.

Da mein Server einiges an Speicher zu bieten hat werde ich mich an letzteres eventuell mal ransetzen, vorerst bleibt jedoch die gute, alte RRD in Betrieb.

Spaß für die Untermenschen – IronSky im Kino

Warnung: Wen den Film noch sehen möchte sollte nicht weiterlesen…

Seit gestern ist er in den Kinos: IronSky – ein Film, welcher nicht zuletzt durch die Personalüberschneidungen zur Star-Wreck-Serie und der ungewöhnlichen Finanzierung über Crowdfounding enorme Erwartungen weckte und bereits weit vor Filmstart eine beachtliche Fangemeinde vorzeigen konnte. Gestern durfte nun auch ich das Spektakel im Kino erleben.

Die ersten Minuten konnte ich mich noch entspannt zurücklehnen und mich auf den vermeintlichen Trash-Film mit Actionelementen freuen – alle Szenen waren aus SneakPeaks oder Trailern wohl bekannt. Auch sonst konnte der Film am Anfang nicht wirklich überzeugen, denn bis auf einige nette Details war weder eine Story noch optische Glanzleistungen auf der Leinwand zu sehen – die Reichsflugscheiben sind schließlich schon lange bekannt. Als ich mir schon irgendwie überlegte, ob meine Erwartungen nicht doch etwas zu hoch gegriffen waren, tat es jedoch den ersten Gag-Knall: Ein Smartphone, welches von einem amerikanischen Astronauten erbeutet wurde, soll die meterlangen – aber zu langsamen – Großrechner der fluguntauglichen Großkampfmaschiene „Götterdämmerung“ ersetzen. Verbunden durch die frisch erfundene „Umfassende, Systematische Bindung“. Am lachen im Kino konnte man recht schnell die PC-Bastler erkennen – und wusste, dass man korrekt geraten hatte: Totaler Schwachsinn mit enormen Lach-Potential. Es folgte ein Gag-Feuerwerk, welches für jeden etwas zu bieten hatte: StarWars-Trooper-Nazi-Helme und Szenenähnlichkeiten mit diversen Filmen für die Fans des Bewegtbildes, Palin-Verschnitt und Schlachtraumschiff „George W. Bush“ für die Politiksatiriker und japanischen Kamikazi-Raumschiffen für Geschichtskenner sind nur einige Beispiele, bei welchen das Gelächter im Kinosaal – zumindest das der Kenner – sicher ist. Der Film kennt hierbei keine Gürtellinie und tritt auch bei den größten Tabus ohne zu Zögern nach. Die Story bleibt dabei wie erwartet relativ schwach und wirkt wie ein gerade noch erkennbarer Faden, welcher jedoch eher als notwendiges Übel eingefügt wurde. Die Visuellen-Effekte sehen – vor allem in den Actionszenen – sehr gut aus, jedoch ruckelte das Kinobild erheblich – nach dem, was ich aus den SneakPeaks kenne dürfte es sich hierbei aber vermutlich um ein Problem des Kinos oder der Materialzulieferer handeln. Während die Hauptdarsteller solide bis gute Leistungen zeigen sind die schauspielerischen Leistungen der Nebencharaktere und „Fülldarsteller“ zum Teil schlechter, als es der Film verdient hat. Oder würde ein Passant, welcher vor schießenden Ufos flüchtet, beim Rennen lachen? Hervorheben möchte ich Julia Dietze, welche ihrere Rolle der naive Nazi-Lehrerin sehr überzeugend verkörpert. Etwas verblüfft hat mich die gegen Ende teilweise sehr direkte Gesellschaftskritik – bei einem Wahlsieg der amerikanischen Präsidentin mit Nazi-Parolen oder dem Erd-Nuklearkrieg um Rohstoffe im Abspann musste selbst ich doch erst mal schlucken.

Fazit: Wer eine gute Story oder schauspielerische Glanzleistungen sucht ist im falschen Film – IronSky lebt von Seitenhieben, tiefschwarzem Humor und Liebe zum Detail. Wer dies sucht düfte hier einen Film vorfinden, welcher die Messlatte für zukünftige Produktionen dieser Art ein gutes Stück nach oben verschiebt, auch wenn die Wirkung der Gags durch die Verknüpfung mit aktuellen Ereignissen und Produkten wohl schnell nachlassen wird.

Kriminell im Auftrag des Staates?

Was ein Brocken, den die Schweizer Justiz den Deutschen Behörden da vorgesetzt hat: Ein Haftbefehl gegen deutsche Steuerfahnder, welche sich im Nachbarland die Daten von Steuersündern besorgt haben. Nun brüllt ganz Deutschland – wie könne man so etwas tun, die Beamten verfolgten ja nur kriminelle. Korrekt, aber wir reden hier von deutschen Beamten und deutschen Gesetzen – ist es da wirklich so verwunderlich, wenn die Schweiz reagiert, wenn man ohne (in ihrem Land gültige) Rechtsgrundlage „einmarschiert“, Daten von einem Hehler kauft und ohne wirkliche Absprache mit diesen öffentlich gegen Bankkunden vorgeht? Was würden wir tun, wenn z.B. ein Nordkoreanischer Hacker die PCs einiger großer Nachrichtenagenturen knackt und mit diesen Daten gegen Informanten im eigenen Land vorgehen würde? Wären wir dann immer noch so überzeugt?

UEFI – wir verschlimmbessern?

Was war das doch früher einfach: Ins CMOS-Setup, ein paar wenige Einstellungen anpassen und meist konnte man danach sein System starten – auch, wenn der nötige „Treiber“ erst per Option-ROM hinterher kam. Heute läuft das anders: Vor das ohnehin schon in einen Hypervisor verfrachtete OS hängt man einen weiteren Systemlayer: UEFI. Ganz toll mit ganz vielen Modulen und ganz vielen Möglichkeiten (die sicher auch Sicherheitstechnisch in Zukunft einigen Spaß machen dürften). Soweit die Theorie. Inzwischen hatte ich das große Vergnügen mehrere UEFI-Systeme vorgesetzt zu bekommen. Nummer eins war ein kleines AMD-Fusion-Board, welches recht pflegeleicht war. Das neue Setup glänzt mit Mausunsterstützung und selbsterklärender GUI, an vernünftige Einstellungen gelangt man über einen Expertenmodus. Das System startet flott und zeigt keine Fehler, zwar „no Points so far“, dann auch ältere PCs mit BIOS hatten zum Teil schon grafische Menüs, aber ich sah auch keine Nachteile für mach, also „macht wenn ihr euch besser fühlt“ – die 2TB-Grenze des alten BIOS dürfte demnächst ja erreicht sein. Die weiteren Rechner waren IBM xServer und hierzu kann ich nur eins sagen: You are doing it wrong. IBM war ja noch nie für durchdachte Menüs oder Konzepte im BIOS zu haben, aber was sie bei diesen Kisten geritten hat wissen sie wohl selbst nicht – je nach PCI-Karten benötigen die Kisten über 20 Minuten um den BIOS-Nachfolger zu durchlaufen und mit dem OS zu beginnen. Das Booten einer internen RAID-Karte wird zur Geduldsprobe: Diese versteckt sich hinter kryptischen PCI-IDs, welche erst in eine Bootwarteschlange eingefügt und in einem weiteren Schritt entsprechend priorisiert werden müssen. Selbst dann booten ältere Systeme nicht, denn ohne ein höher priorisiertes „Legacy Devices“, welches als Dummy-Boot-Device dient und beim Booten diverse Einstellungen ändert, werden nur EFI-fähige Betriebssysteme unterstützt. „Mal schnell“ etwas machen fällt hier definitiv aus. Aus den UEFI-Zielen der einfacheren Bedienbarkeit und schnelleren Bootzeiten wurde hier eher das exakte Gegenteil. Ich habe jetzt nach 2 Stunden jedenfalls das nicht (ganz planmäßig abgesägte) OS wieder am laufen – wie der letzte Nutzer es gebootet hatte wird wohl ein Geheimnis bleiben.

Karneval in Saffig, Plaidt und Kottenheim – Medialer Nachschlag

Karneval ist schon etwas vorbei, jetzt auch auf meinen Speicherkarten. Neben Fotos der Karnevalsumzüge aus Saffig, Plaidt und Kottenheim habe ich mich dieses mal auch an Video versucht. Leider ist mein Plan nicht ganz aufgegangen, vor allem die „Luftkamera“ hing an einer Stelle, an der etwas tote Hose war – aber hey, Versuch war es Wert, Stabilisierung funktionierte halbwegs und auch mein Test mit SVG-Overlays funktionierte auf der technischen Seite, daher findet sich jetzt auch die Aufzeichnung des Karnevalsumzug Saffig bei YouTube. Mit dem Material ausgerüstet können die Narren unter euch sich ja schon mal auf nächstes Jahr vorbereiten…

Morgen: Karnevalsumzug in #Saffig – Zugweg und Aufstellung

Morgen ist Saffig fest in Narrenhand. Mit dem traditionellen Wecken der Gemeinde wird bereits um 7 Uhr der Spielmannszug der Freiwilligen Feuerwehr Saffig dafür Sorge tragen, dass das ganze Dorf pünktlich auf den Beinen ist. Um 14:11 wird der große Karnevalsumzug starten und mit mehr als 10 Wagen und vielen Fußgruppen unter dem Beifall der Jecken durch die Straßen ziehen. Gestartet wird wie üblich in der Balthasar-Neumann-Straße und wird über Bassenheimer Straße, Pöschsraße und Neuwieder Straße das erste mal die Hauptkreuzung am „Dorfplatz“ passieren. Von hier dreht man eine Runde über die Plaidter Straße, Im Teich, Eckerstraße und Neuwieder Straße. Darauf folgt eine weitere Schleife über Plaidter Straße, Von-der-Leyen-Straße und Andernacher Straße um sich anschließend auf dem Peter-Friedhofen-Platz zu zerstreuen. Teilnehmer und Besucher können im Anschluss in der Von-der-Leyen-Halle den Tag ausklingen lassen.

[osm_map lat=“50.379″ long=“7.418″ zoom=“15″ width=“450″ height=“450″ gpx_file=“/blog/wp-content/uploads/2012/02/karneval2012.gpx“ gpx_colour=“red“ type=“Mapnik“]

Aufstellung:

  • Zugleitung (Freiw. Feuerwehr)
  • Gugge Andernach
  • Messdiener, Ratatuille
  • MKK Miesenheim, Damenballett; Marketenderwagen; Kanone; Bürgergarde; Wagen Vorstand
  • Torjäger Goldscheid
  • SCC Saffig, Hippies + Wagen
  • Reuter, Piraten + Wagen
  • Fanfarencorps Spay
  • AWO Saffig, Majorettes
  • Handballfrauen Miesenheim, Hexen
  • Wagen „Möhnen vom Nettestrand“
  • Gruppe Röttgen
  • Wawuschel, Partykönige + Wagen
  • Pellenzböcke, Köbes + Wagen
  • Kretzer Gugge
  • Clown Jackson Mummies
  • Moesta Miesenheim, Venizianer + Wagen
  • Icking, Piraten + Wagen
  • Landjugend + Wagen
  • Motivzug Rot-Weiß-Plaidt
  • Garde GKG Plaidt, Kindergarde; Blau-Weiße Garde; Jungengarde; Damengarde
  • MGV Saffig + Wagen
  • KG Saffig, Jungengarde; Tanzgarde; Marketenderwagen; Kanone; Gardecorps
  • Spielmannszug Freiwillige Feuerwehr Saffig
  • Prunkwagen Vorstand
  • Rettungsdienst

Back to the Roots: Gnome 2 – Fork „MATE“ auf Archlinux

Ja, Gnome3 ist toll – wenn man auf grafischen Schnickschnack steht. Zugegeben, auf Netbook und co nutze ich Gnome3 gerne, aber auf meinem PC zählen die Grafikeffekte nicht – im Gegenteil: Sie stören beim Arbeiten. Fehlende Panels, mangelnde Leistung und Probleme mit mehreren Monitoren haben mich seit dem Update nach über 10 Gnome-Jahren dazu gezwungen auf Fluxbox zu wechseln. Das läuft zwar schnell, aber die schonen Panels fehlen mir noch immer – doch jetzt naht Rettung! Mit dem Projekt „MATE“ gibt es einen Gnome2-Fork, welcher einen Großteil der Funktionen der guten, alten 2er-Version auch auf aktuellen Systemen herstellen kann. Für Archlinux gibt es entsprechende AUR-Pakete, für Faule auch ein eigenes Repository. Fühlt man sich gleich wieder daheim…

Sniffing over the Net – Mit Wireshark und tcpdump auf entfernten PCs sniffen

Ja, ich weiß, Paket-Sniffer sind böse Hackertools und so weiter – wer das Denkt sollte hier aufhören zu lesen und erst eine Prise Praxis zu sich nehmen. Gerade wenn es um das Debuggen von Fehlern in Netzwerkverbindungen geht kommt man nur schwer dran vorbei – wenn man nicht gerade zwischen den Geräten sitzt wird es jedoch schnell ungemütlich. Gehen wir fon folgender Konstellation aus, welche bei mir derzeit aufgetreten ist: Ein Mobilgerät kommuniziert mit einer Webbasierten API über HTTP – der Server steht nicht unter meiner Kontrolle und das Mobilgerät ist selbstverfreilich entsprechend vernagelt. Natürlich könnte man nun einen Monitoring-Port an einem Switch zwischen Mobilgerät und Internetzugang nutzen, aber der liegt weit entfernt und ich müsste zwischen zwei Orten pendeln.

Bisher hieß das für nicht: 2-Schritt-Debugging. Erst verband ich mich auf den (Linux-basierten) Router, fertigte mit tcpdump ein Capture-File an und lud es auf den PC um in Wireshark einen Blick in die Pakete zu werfen. Dank eines Hinweises auf einen Artikel bei Commandlinefu kann ich mir das nun sparen – dank Pipes und ssh lassen sich tcpdump und Wireshark so verschalten, dass ein Live-Capture des Remote-Servers im lokalen Wireshark einläuft. Macht das Ganze wesentlich einfacher…

Ein möglicher Befehl wäre z.B.

ssh root@internetrouter tcpdump -i eth0 -U -s0 -w - 'port 80 and host 192.168.1.2'  | wireshark -k -i -

der letzte Teil des SSH-Commands entspricht den üblichen tcpdump-Filtern – hier sollte man auf jeden Fall drauf achten, dass man den ssh-Traffic nicht mitschneidet – in diesem Fall ists durch die Host/Port-Einschränkung ja ohnehin gegeben, ansonsten sollte ein ’not port ssh‘ helfen.

Gentoo-Look & Feel für die Archlinux-Bash

Auch wenn Gentoo eigentlich mein Haputsystem ist: Auf Netbooks o.Ä. macht das ganze recht wenig Spaß, daher bin ich vor einiger Zeit über Archlinux gestolpert. Auch, wenn die Stabilität und Flexibilität nicht immer an meine Gentoo-Erfahrungen heran kommen, so kann man sich dank sehr großem Binärrepository und den einfach zu erstellenden PKGBUILDS (ähnlich ebuilds) schnell helfen.

Eins, was mir jedoch gewaltig auf den Keks ging war die Bash-Konfiguration: Viele der „Komfortfunktionen“ wie Farbschemata, Historysuche o.Ä. sind unter Archlinux nicht vorhanden oder haben andere Tastenkombinationen – Abhilfe kann wie folgt erfolgen:

Als erstes muss die .bashrc dran glauben – hier sind die meisten Einstellungen drin. Am einfachsten geht das über das Paket aur/gentoo-bashrc, welches unter /usr/share/gentoo-bashrc/bashrc eine Kopie der Gentoo-Konfiguration anlegt. Nach Prüfung kann man diese Datei als persönliche Einstellungsdatei unter /home//.bashrc bzw. /root/.bashrc einspielen. Wichtig: Nicht die Systemweite Datei überschreiben – einerseits würde dies einige Archlinux-spezifische Einstellungen überschreiben und andererseits würde der Updater die Datei nicht mit z.B. neuen Bashcompletion-Einstellungen aktualisieren können.

Was fehlt ist der von mir häufig genutzte Schnellzugriff auf die Bash-History. Damit meine ich, dass wenn ich z.B. „ls“ Tippe mit dem Tasten PgUp und PgDown durch die letzten Befehle, welche mit ls beginnen scrollen kann. Dies läuft über die Datei /etc/inputrc – diese habe ich vollständig durch das Gentoo-Pendant ersetzt:

# /etc/inputrc: initialization file for readline
#
# For more information on how this file works, please see the
# INITIALIZATION FILE section of the readline(3) man page
#
# Quick dirty little note:
#  To get the key sequence for binding, you can abuse bash.
#  While running bash, hit CTRL+V, and then type the key sequence.
#  So, typing 'ALT + left arrow' in Konsole gets you back:
#    ^[[1;3D
#  The readline entry to make this skip back a word will then be:
#    "\e[1;3D" backward-word
#

# do not bell on tab-completion
#set bell-style none

set meta-flag on
set input-meta on
set convert-meta off
set output-meta on

# Completed names which are symbolic links to
# directories have a slash appended.
set mark-symlinked-directories on

$if mode=emacs

# for linux console and RH/Debian xterm
# allow the use of the Home/End keys
"\e[1~": beginning-of-line
"\e[4~": end-of-line
# map "page up" and "page down" to search history based on current cmdline
"\e[5~": history-search-backward
"\e[6~": history-search-forward
# allow the use of the Delete/Insert keys
"\e[3~": delete-char
"\e[2~": quoted-insert

# gnome / others (escape + arrow key)
"\e[5C": forward-word
"\e[5D": backward-word
# konsole / xterm / rxvt (escape + arrow key)
"\e\e[C": forward-word
"\e\e[D": backward-word
# gnome / konsole / others (control + arrow key)
"\e[1;5C": forward-word
"\e[1;5D": backward-word
# aterm / eterm (control + arrow key)
"\eOc": forward-word
"\eOd": backward-word

# konsole (alt + arrow key)
"\e[1;3C": forward-word
"\e[1;3D": backward-word

$if term=rxvt
"\e[8~": end-of-line
$endif

# for non RH/Debian xterm, can't hurt for RH/Debian xterm
"\eOH": beginning-of-line
"\eOF": end-of-line

# for freebsd console
"\e[H": beginning-of-line
"\e[F": end-of-line
$endif

# fix Home and End for German users
"\e[7~": beginning-of-line
"\e[8~": end-of-line