Butschek.de

Warnung: Diese Seite ist eine statische Kopie eines früher betriebenen Blogs. Es findet keine Aktualisierung mehr statt. Kommentare und die Suche funktionieren nicht.

Linux, Server & Co

Archive for April, 2009

Linchat: Lokaler Konsolen-Talk

5 comments

Linchat: Mini Konsolen-Chat auf der Linux Shell. Nicht komfortabel, doch schnell und universell einsetzbar.

Linchat: Mini Konsolen-Chat auf der Linux Shell. Nicht komfortabel, doch schnell und universell einsetzbar.

Linchat ist ein kleines Chat-Programm für die Konsole. Das besondere an dem Programm ist, dass keine Verbindung mit einem externen Server (IRC, XMPP, …) aufgebaut wird, sondern nur lokale Benutzer auf einer Maschine damit kommunizieren können.

Wie oft stand ich schon im Serverraum und versuchte, mit einem Kollegen zu kommunizieren, um gemeinsam (lokal + remote) einen Fehler zu finden. Eine Shell alleine ist kaum zu gebrauchen. Telefone sind dank ca. 1000 Lüfter und Klimaanlagen schwer zu verstehen. Und ein richtiges Chat-Programm ist auch ein bischen übertrieben. Die Lösung ist so einfach: Den Kollegen bitten, sich kurz per SSH anzumelden und ‚linchat‘ einzugeben.

Ein weiterer Anwendungszweck: Mit einem User auf meinem Server, welcher als Shell direkt /usr/local/bin/linchat startet kann ich auch technisch wenig versierten Bekannten blitzschnell temporär einen Gesprächskanal zur Verfügung stellen, welcher dank SSH gut verschlüsselt ist und keine Spuren auf dem lokalen Rechner hinterlässt – weder Account-Daten noch Gesprächlogs.

Update 2009:

Die Entwickler-Seite zu Linchat ist down, da das Programm nicht mehr weiterentwickelt wird. Leider kompiliert die alte Version mit dem g++ aus dem aktuellen Debian nicht mehr, da im Sourcecode veraltete Konversionen genutzt werden. Das sieht dann so aus:

# make
g++ -O -Wall -Werror -c linchat.cpp
cc1plus: warnings being treated as errors
In file included from linchat.cpp:39:
userstruct.h:46: error: ‘typedef’ was ignored in this declaration
userstruct.h:54: error: ‘typedef’ was ignored in this declaration
linchat.cpp: In function ‘void InitSocket()’:
linchat.cpp:72: error: deprecated conversion from string constant to ‘char*’
linchat.cpp:78: error: deprecated conversion from string constant to ‘char*’
linchat.cpp: In function ‘void LockScoreboard(bool)’:
linchat.cpp:96: error: deprecated conversion from string constant to ‘char*’
linchat.cpp: In function ‘void InitScoreboard()’:
linchat.cpp:111: error: deprecated conversion from string constant to ‘char*’
linchat.cpp:135: error: deprecated conversion from string constant to ‘char*’
linchat.cpp:146: error: deprecated conversion from string constant to ‘char*’
linchat.cpp: In function ‘void ProcessNetworkEvent()’:
linchat.cpp:313: error: deprecated conversion from string constant to ‘char*’
linchat.cpp: In function ‘void WaitForEvent()’:
linchat.cpp:406: error: deprecated conversion from string constant to ‘char*’
make: *** [linchat.o] Error 1

sh0 schrieb mir auf meine Bitte hin einen kleinen Patch, den ich in der Files-Sektion zum Download anbiete.

Install Mini HowTo [Debian Lenny]:

Installation der nötigen Pakete

apt-get install wget gcc libncurses5-dev

Runterladen und entpacken

wget /files/stuff/linchat/linchat-1.0.tar.gz
tar xvzf linchat-1.0.tar.gz
wget /files/stuff/linchat/linchat-1.0-cpp_fixes.patch
cp linchat-1.0-cpp_fixes.patch linchat-1.0/
cd linchat-1.0

Patchen

patch < linchat-1.0-cpp_fixes.patch

Kompilieren:

make

Installieren

chmod 755 linchat
mv linchat /usr/local/bin/

Testen

linchat

Beenden mit STRG-C :cool:

PS: Großen Dank an sh0 für den Patch – hast was bei mir gut!

Written by Michael Butschek

April 29th, 2009 at 6:00 pm

Posted in IT,LST

Tagged with , , ,

Blogparade

3 comments

Die Seite bloggertips.de veranstaltet eine Blogparade, an der ich mit diesem Artikel teilnehme – übrigens meine erste Blogparade. Das Thema kam mir gerade recht, es geht um Blogs und da ich meins eben umgestellt habe, ist das Thema auch bei mir gerade sehr aktuell.

Hier nun also die Fragen der Parade und meine Antworten:

Seit wann bloggst du?

Die Antwort differiert durch die Definition von ‚bloggen‘. Artikel veröffentliche ich schon seit vielen Jahren, das startete schon zu Zeiten der 64er Szene. Ich denke aber, die Frage bezieht sich eher auf das typische Schreiben in einer Blog-Software. Und dann wäre die Antwort: September 2008.

Warum bloggst du?

Egal ob von Hand oder mit einem Content Management System, immmer mußte ich mich darum bemühen, Seiten anzulegen, Menüs und Links auf die Seiten zu pflegen, und und und. Kurz gesagt: Die Verwaltung brauchte oft länger als das Tippen des eigentlichen Inhalts.

Blog-Software nimmt mir diesen Part ab. Ich tippe den Inhalt, klicke auf den Publish-Button, fertig. Die Software erzeugt daraus sofort URLs, Menüeinträge, Archiv-Einträge, Sitemaps, …

Und warum schreibe ich überhaupt? Nun, ich suche oft nach Infos im Netz und freue mich immer, wenn ich was brauchbares finde. Und manchmal habe ich selbst was brauchbares und nehme mir damm halt dann 10 Minuten Zeit, um’s aufzuschreiben.

Verwendestest du einen RSS-Reader? Wenn ja, welchen?

Ja, die Firefox Extension ‚Brief‘ für’s Lesen zu Hause sowie den webbased Reader ‚Tiny Tiny RSS‘ für unterwegs.

Verwendest du Browser Add-ons? Wenn ja, welche?

Ja, hier meine wichtigsten:

Password Exporter: Zur Sicherung meiner gespeicherten Passwörter.

Deutsches Wörterbuch: Damit meine Einträge nicht aussehen, als ob Averell sie geschrieben hätte.

Screengrab: Erlaubt mir das Speicher einer kompletten Seite als PNG. Und zwar nicht nur den angezeigten Ausschnitt, sondern bei großen / langen Seiten auch die ganze Seite.

ASnumber: Krankheit meines Berufs: Ich interessiere mich sehr dafür, wo die von mir besuchten Seiten liegen (Rechenzentrum, Anbieter). ASnumber zeigt mir das immer schön an.

Brief: Mein Feed-Reader im Firefox…

Wo siehst du Blogs und die Blogosphäre in 5-10 Jahren?

Ich denke, der Blogger-Trend nimmt noch mehr zu, RSS-Feeds könnten irgendwann die Zeitung ersetzen.

Früher oder später werden wohl auch kommerzielle Anbieter auftauchen, die als „Human Aggregator“ das Beste aus dem Netz zusammenstellen und so individuell bestellbare Feeds frei nach Wunsch (Themen, Menge pro Tag) anbieten.

Ich stelle mir das so vor, dass ich dem Anbieter einfach mitteile, dass ich täglich ca. 15 Minuten Lese-Spaß möchte, wobei ich mir einen Mix aus den aktuellen Nachrichten (Zeitung) aber auch Computer-News mit Präferenz auf Linux-Server vorstelle. Als Ergebnis gibt’s einen persönlichen RSS-Feed als Tageszeitung, der mir genau diese Inhalte aus der Blogger-Szene bietet.

Tja, soweit meine Vorstellung für die nächsten Jahre. Wenn mein Blog so lange lebt, können wir mal sehen, was 2015 bis 2020 Realität ist. Ich vermute, ich lag dann völlig daneben :D

Was wünscht du dir für zukünftige WordPress Versionen?

Eine ordentliche Dateiverwaltung. Ich möchte gerne Verzeichnise selbst organisieren können, verschieben, umbenennen, kopieren, Beschriftungen eingeben oder ändern, Bilder zuschneiden, und und und. Ich möchte gerne per FTP viele Files hochladen (oder auch löschen) können und WordPress dann die Änderungen automatisch mit seiner Datenbank abgleichen lassen, und und und.

Written by Michael Butschek

April 26th, 2009 at 10:00 am

Posted in Stuff,Webtipps

Tagged with ,

Umstellung auf WordPress

8 comments

Eigentlich war ich mit Serendipity sehr zufrieden, doch durch die kleine Community tat sich da leider wenig. Beim Suchen nach Alternativen blieb ich schlussendlich bei WordPress hängen.

Sicherlich ist WordPress nicht das allerbeste System, doch das Konzept ist ganzheitlich, die Sicherheitsbedenken sind dank Update-Funktion nicht mehr so wie früher und durch die große Community gibt es einfach Plugins für fast alles.

Die Umstellung war alles andere als Einfach und brauchte wohl 2 Wochen meinen Freizeit (und da war das lange 4-Tage-Osterwochenende mit drin).

Was getan werden mußte:

Altes Blog aufräumen:

Im alten Serendipity Blog haben sich viele Spaß-Artikel gesammelt, da mein Blog aber keine Konkurrenz zu lustich.de & Co werden sollte, habe ich diese wieder rausgeworfen.

Bilder eingefügt

Damit das künftig etwas schöner wirkt, habe ich zu jedem Eintrag ein passendes Bild gesucht, zugeschnitten und eingebunden. Das Blog sah dadurch schon viel fröhlicher aus. Künftig werde ich das so beibehalten.

Import aller Artikel nach WordPress

Nachdem WordPress nicht automatisch von Serendipity importieren kann, habe ich ein Plugin dazu im Netz gesucht. Leider wurden viele Kleinigkeiten nicht korrekt übertragen (S9Y-Kommentare, Attribute von Bildern, Pfadangaben, …), so das alle Artikel danach nochmal überarbeitet werden mußten.

Import aller Kommentare nach WordPress

Das Übertragen ging dank Plugin fast von selbst, dummerweise wurden die Kommentare dann jedoch den falschen Artikeln zugewiesen. Und da WordPress je Artikel auch die Anzahl der Kommentare zählt (statt in der Datenbank live zu schauen, wie viele Kommentare da sind), mußten nicht nur die Artikel-IDs der Kommentare, sondern auch die Anzahl der Kommentare bei den Artikeln korrigiert werden. Viel viel Arbeit… :(

Übertragen der statischen Seiten

Leider gab’s hier kein Plugin, also mußten alle statischen Seiten manuell kopiert werden. Dummerweise nutzen der Serendipity-Editor und der WordPress-Editor unterschiedliche Tags, (b – strong, center – p + align), so dass auch hier leider viel mehr Arbeit als nur ein Copy&Paste entstand.

Apache mod_rewrite

Wie oft haben micht veraltete Links im Web schon gestört. Daher habe ich mit mod_rewrite alle URLs der alten Artikel so umgeschrieben, dass sie auf die neuen leiten. Wer jetzt also

/blog/2008/12/17/Mehrere-Konsolen-mit-Screen.html

öffnet, wird per HTTP-Status 301 (Moved Permanently) automatisch auf die neue Seite

/2008/12/mehrere-konsolen-mit-screen/

umgeleitet.

Das ganze gilt nicht nur für die Blog-Artikel, sondern auch für die statischen Seiten und die RSS-Feeds. Es sollten also keine Link-Probleme durch die Umstellung entstehen.

Die /files Section

Zu oft bestand das Problem, jemanden eine Datei zukommen lassen zu wollen, was in der modernen Welt oft gar nicht so einfach ist (100 MB gehen meist nicht per Mail, nicht jeder kann einen FTP-Client bedienen, …).

Da alle Bilder und verlinkte Dateien im Blog eh öffentlich einsehbar sind, habe ich den /files Ordner gleich ganz aufgemacht (Apache mod_autoindex) und hier eine Struktur zum Ablegen von Files und Links gebastelt.

Dabei habe ich dort auch gleich direkte Links zu den Smileys gesetzt (inkl. Description, welche die Smileys als img-Tag direkt anzeigt), weil mir das beim schreiben eine sehr schnelle Übersicht bietet, wenn ich mal ein Smiley nicht persönlich kenne ;)

Zur Verwaltung habe ich mir dann auch noch ein Upload-Tool installiert, mit dem ich auch gleich die Bilder zuschneiden kann, damit die Bearbeitung von Einträgen künftig nicht mehr unbedingt ein lokales Bildbearbeitungsprogramm erfordert.

Was ich hier gelernt habe: Es gibt etwas 1.000.000 Upload-, Image-, und File-Manager, aber nahezu nichts davon ist brauchbar. Entwickler dieser Welt, strengt euch mal an! ;)

Tiny Tiny RSS

Ein neues Tool, welches ich gerade teste: Tiny Tiny RSS (TTRSS). Ein netter kleiner Online-RSS-Reader mit einer coolen Funktion: Man kann gelesene Artikel auf den Status „Publish“ setzen. TTRSS bietet dann wiederrum einen RSS-Feed an, der alle Artikel mit Status „Publish“ enthält.

Diesen Feed habe ich im Blog (rechts im Menü: Blogroll: Empfohlene Artikel) eingebunden. In dieser Kombination ist es mir jetzt also möglich, gelesene Artikel, die mir gefallen, per Klick auf meiner Seite zu verlinken und so durch eine gute Zusammenstellung interessanter Artikel einen Mehrwert für meine Besucher zu bieten.

Sozusagen ein Human Aggregator :D

Anpassungen an WordPress

2 kleine Patches, damit mir der Überblick leichter fiel, Design finden, Plugins suchen, installieren, testen, einige wieder wegwerfen, und und und. Auch der Part hat echt Zeit gekostet.

Was ich aus sicherheitstechnischer Sicht wieder mal sehr schade fand: Eine Limitierung der Logins pro IP und Zeit gibt’s nur per Plugin, einen deutlichen Hinweis bei der Installation oder im Admin-Interface dazu habe ich vermisst. Kein Wunder, wenn Kiddies mit unsicherem Passwort und dem ersten eigenen Blog per Brute Force gehackt werden. Sowas sollte heute Standard sein!

ABER – und das sei mal lobend erwähnt: Ich hatte mit keinen WordPress Plugin solchen Ärger wie andere Content Management- oder Blog-Systeme. Die meisten Plugins und Widgets klickt man an, klickt dann auf Install und sie laufen.

Anpassungen am Design

Das inove Design hat mir ja voll gefallen. Was mich aber in die totale Verzweiflung gestürzt hat war die obere Leiste: Sie zeigt wahlweise die Blog-Kategorien oder die statischen Seiten an. Hat man jedoch viele Seiten, bricht die Leiste aus dem Design aus.

Nun bietet das Design an, hierarchische Seiten als DHTML-Menü anzuzeigen, jedoch brechen lange Seitennamen dann auch aus dem Design. Gut, man kann Seiten ganz ausblenden, dann verschwinden sie jedoch auch im Plugin, welches die Artikel rechts im Menü anzeigt, was ja auch nicht sinnvoll ist.

Das gewünschte Ergebnis, dass einige Seiten oben (Impressum, …) und einige Seiten rechts (Fachartikel) stehen, war echt nur durch böses tricksen möglich – aber immerhin gab einen Weg ;)

Nun ist alles vollbracht!

Zumindest kenne ich mich nun mit WordPress 100%ig aus :-) Viel Spaß also mit dem neuen Blog!

PS: Nicht vergessen: Neue RSS-URL im Reader eintragen!

Written by Michael Butschek

April 23rd, 2009 at 10:13 pm

Posted in Stuff

Tagged with , ,