Ideenliste

Immer wieder fallen mir Dinge ein, die "man noch mal machen müsste" oder Verbesserungen an existierenden Programmen, gerade im Bereich Linux und Open Source Software. Damit ich das ganze nicht vergesse, dokumentiere ich es hier. Sollte es etwas schon geben, wäre eine entsprechende Nachricht nett. Und vielleicht hat ja jemand mal zu viel Zeit... ;-)


Bacula (Backup-System)

Nachholen der Backups, die ausgefallen sind, weil der director Dienst nicht lief. (Hintergrund: Mein Backuprechner wird nur für Backups angeschaltet, ansonsten würde nur ständig Krach machen, Strom verpulvern und obendrein noch schneller kaputt gehen. Manchmal schalte ich ihn aber 1/2 Stunde zu spät ein o.ä. Dann sollte das Backup schnellstmöglich nachgeholt werden.


Hamster-Ersatz für Linux

Hamster ist ein freier Mail- und Newsserver für Windows. Um einen weiteren Windows-Rechner abzuschießen, würde ich das ganze gerne auf Linux verwenden. Anforderungen:

  • Einfach zu konfigurieren (kein INN)
  • verhält sich gegenüber dem Upstream-Server wie ein Client
  • kommt auch mit größeren Datenbeständen zurecht (3-4 GB, ca. 1,6 Mio News).
  • sichtbare Newsgroups auf den Clients zentral konfigurierbar (nur Newsgroups, die der Server abonniert hat, werden auf den Clients angezeigt).
  • interne Newsgroups
  • mehrere Upstream-Server
  • gesicherte Verbindungen (SSL) möglich

Papercut (früher www.papercut.org) scheint einer netter Python-Ansatz zu sein, nur leider versteht der sich noch nicht mit upstream-Servern. Und ich würde ungerne auf Google vertrauen, dass sie ihr Newsarchiv immer öffentlich und kostenlos halten werden.


Mozilla-Bookmark-Synchronizer

Ich setze Mozilla/Firebird auf verschiedenen Rechnern ein. Ich hätte gern, dass alle Bookmarks automatisch synchron gehalten werden. Optimalerweise würden auch die gespeicherten Passwörter synchronisiert.


Bildverwaltungsprogramm für Linux

Ich hätte gerne ein Bildverwaltungsprogramm, v.a. für Bilder meiner Digitalkamera. Wichtiger als die Möglichkeit, einfach Nachbearbeitungen vorzunehmen, wäre mir, dass ich meine Bilder wiederfinden kann. D.h. Verschlagwortung der Bilder, zusätzliche Kommentare zu Bildern oder Bildgruppen, Organisation in Kategorien und chronologisch ev. auch Integration mit Beagle und das ganze am besten netzwerkfähig (Bilder auf einem Rechner, Abruf auf einem beliebigen anderen).

Am Schönsten wäre es, wenn auch eine Webgalerie schon mit verknüpft wäre, so dass man bestimmte Sammlungen auf Knopfdruck hochladen könnte. Und die Krönung des ganzen: Besucher der Webgalerie sollten dann auch gleich bei einem oder mehreren Fotodiensten die ausgewählten Bilder bestellen können.

Erste Ansätze gibt es mit digikam (nur leider ein KDE-Programm ;-), sehr schön ist auch das Gnome-Projekt F-Spot (hoffen wir, dass Microsoft das Mono-Projekt nicht mit Patentklagen stoppt). Insgesamt hoffnungsvolle Ansätze, aber noch nicht die gewünschte Integration inkl. Verschlagwortung.


PGP-verschlüsselte Mails in Thunderbird dauerhaft entschlüsselt speichern

Mittels Enigmail können Thunderbird und Mozilla Mail PGP-verschlüsselte Mails speichern. Leider werden diese Mails nicht dauerhaft (im Mailprogramm) entschlüsselt gespeichert (Motto: Mein Rechner ist sicher und wenn jemand reinkommt, habe ich ganz andere Probleme. Das Problem hatten natürlich auch schon andere Leute, aber die Implementation würde wohl einige Eingriffe in Thunderbird selbst erfodern. Immerhin wurde dieses Feature inzwischen in die 1.1 Roadmap aufgenommen.

Anmerkung: Wenn jemand zugriff auf den Rechner hat, könnte er sich vermutlich auch den Schlüssel krallen, wenn der Benutzer unvorsichtig war und diesem kein Passwort zugewiesen hat. Wenn die Daten es den Aufwand Wert währen, könnte man evtl. auch über Bruteforce an das Passwort kommen. -- Benutzer:Ruehrer 23:43, 6. Jun 2007 (CEST)


Paralleles Arbeiten an einer Datei in Eclipse

SubEthaEdit erlaubt es auf vorzügliche Weise, mit mehreren Personen gleichzeitig eine Datei zu bearbeiten - leider nur für den Mac und derzeit nur mit anderen SubEthaEdits. Eigentlich sollte jeder Texteditor in Eclipse diese Funktionalität bieten. Mit dem eclipse communication framework gibt es Ansätze in diese Richtung.


Mediawiki - Verbesserungen

  • Das Mediawiki bietet in den 1.4er Versionen an, dass das Interface je nach Benutzer eine andere Sprache anzeigt, unabhängig vom Text. Das sollte auch für Besucher automatisch so eingestellt werden, je nachdem, was der Browser des Benutzers standardmäßig mitsendet.
  • E-Mailbenachrichtigung bei Änderungen auf beobachteten Seiten wäre schön (war für 1.4 vorgesehen, ist aber nach hinten verschoben worden).

Python-Library - FTP

Das Python FTP-Modul ist grauenhaft. Es sollte viel komfortabler sein, directory listings usw. zu bekommen.


Mozilla for Groupware

Thunderbird und Sunbird sind zwar schöne Programme, noch besser wäre es aber, sie würden eine freie Groupware-Suite einfach unterstützen, so dass die ganzen interessanten Funktionalitäten wie gemeinsame Mailboxen und Kalender sowie eine gemeinsame, ausbaufähige, firmentaugliche Kontaktdatenbank wirklich nutzbar wären. Im Rahmen des Lightning-Projekts wird derzeit daran gearbeitet, aber ohne weitere Entwickler dauert das sicherlich noch einige Jahre.


Bessere Exportmöglichkeiten für Thunderbird

Thunderbird sollte es einfach erlauben, dass bestimmte Mails und Ordner als msg-/mbox-Dateien oder als Maildir exportiert werden können. Ebenso sollte der Import solcher Mails einfach machbar sein. Auch das Importieren von vcard sollte möglich sein.


vernünftiger eBay Sniper

Ich hätte gerne einen vernünftigen eBay-Sniper, der es vor allem einfach macht, nach hunderten gleichartiger Produkte (wie z.B. Film-DVDs) zu suchen und auf ausgewählte Produkte dieser Kategorie dann im letzten Moment zu bieten. Insbesondere müssten auch die Versandkosten berücksichtigt werden (automatisches Auslesen und wo das nicht klappt auch manuelle Eingabe). Außerdem wäre mir wichtig, dass der eigentliche Sniper auch auf einem anderen Rechner arbeiten können sollte als die GUI: Wenn z.B. Auktionen irgendwann nachts zu Ende gehen, würde ich ungerne meinen Rechner die ganze Nacht laufen lassen (Lautstärke, Strom). Andererseits habe ich Zugriff auf diverse Linux-Server, die ohnehin ständig laufen müssen. Schön wäre es, wenn der Sniper dort installiert wäre und mein Arbeitsplatzrechner nur zur Konfiguration laufen müsste.


Generischer Contentfilter für Mozilla

Flash-Werbung wird immer mehr zur Plage. Ebenso nerven Seiten mit unnötigen Java-Applets, deren Start sehr lange dauert. Ich hätte gerne ein Filter-System ähnlich dem für Bilder, mit dem Mozilla Medientypen je nach Domain blockiert und ggf. mit einem Klick anzeigt.


Session-Support für X11-Programme

Eigentlich gibt es im X-Server von X.org schon ewig eine sehr, sehr praktische Funktion, nämlich den Session-Support. Grundidee ist, dass man seine X-Session beendet und alle Programme speichern ihren aktuellen Zustand ab, so dass man beim Einloggen exakt an der gleichen Stelle mit den gleichen offenen Fenstern weiterarbeiten kann. Es wäre klasse, wenn alle Programme diese Sessions wirklich unterstützen würden.


Download-Manager für Mozilla

Eine Sache, die bei Mozilla noch fehlt, ist ein richtiger Download-Manager, der es erlaubt, Downloads zu unterbrechen und zu einem späteren Zeitpunkt (z.B. nach einem Neustart des Systems) wiederaufzunehmen. Nice to have wäre z.B. auch die Möglichkeit, von mehreren Quellen gleichzeitig herunterzuladen.

Das gibts mehr oder weniger schon. ;-) FileZilla und andere können mit der entsprechenden Extension bei einem Download gestartet werden. Hth, Clemens ;-)

: Wenn es aber nicht richtig integriert ist (auf jeder Plattform wieder ein anderes Programm, immer ein anderes Aussehen, muss immer noch mal extra installiert werden), wäre das für mich noch keine echte Lösung. Andererseits habe ich bisher auch kaum "gute" (UI, Bedienbarkeit) Download-Manager gesehen. Immerhin gibt es unter Linux freeloader bzw. gwget. -- Benutzer:Felix 09:38, 31. Jan 2006 (CET), Änderung vom 19:51, 19. Jun 2007 (CEST)


Plugin-Funktionalität für diverse Programme

Gerade C-Programme haben das Problem, dass man einige Dinge nur vor dem Kompilieren festlegen kann, wie z.B. die verwendete Datenbank. Das Problem ergibt sich v.a. für Distributoren, die sich dann für eine Datenbank entscheiden müssen. Ich habe häufiger das Problem, dass ich ein Paket brauche, dass aber z.B. bei Fedora nicht mit den gewünschten Optionen verfügbar ist (inbesondere bei Bacula, Exim und Dovecot). Gerade Sachen wie Datenbanken kann man aber selbst in C hervorragend modularisieren und als Plugin implementieren.

Damit kann der Distributor einfach alle Plugins kompilieren und der User kann dann zur Laufzeit konfigurieren, welche Datenbank genutzt werden soll. Verallgemeinert bin ich stark für möglichst viel Konfiguration zur Laufzeit.

Ansätze für Exim


Apache: saubere Multi-User-Unterstützung

Wenn Apache nicht in einer single user Umgebung eingesetzt wird, sondern für virtual hosting (mehrere Webseiten unterschiedlicher Benutzer) und diese Benutzer eigene (CGI-)Scripte ausführen dürfen, gibt es automatisch Sicherheitsprobleme, da die Scripte eigentlich unter der Benutzer-ID des jeweiligen Benutzers laufen müssen (alles andere ist aus sicherheitstechnischer Sicht nicht akzeptabel). Dafür gibt es spezialisierte Tools wie suexec und suPHP, doch die Möglichkeit, Scripte mittels mod_perl oder mod_php zu beschleunigen ist dahin. Außerdem ist die Installation zusätzlicher Software nötig.

Die technische richtige Lösung wäre es, wenn jeder virtual host unter einer konfigurierbaren User-ID ausgeführt werden würde, so dass die suexec/suPHP-Krücken (so gut sie auch programmiert sein mögen) einfach konzeptionell überflüssig werden. Außerdem erhoffe ich mir von dieser Lösung, dass z.B. mod_php auch für einen einzelnen virtual host eingesetzt werden kann.

Der Mangel wurde natürlich auch von anderen erkannt und so gibt es mehrere Projekte, die das Problem angehen:

  • Zunächst gibt es Metux MPM. Die Entwicklung scheint aber mehr oder weniger eingeschlafen zu sein. Außerdem verwendet Metux MPM Threading und das gibt natürlich insbesondere mit PHP-Modulen große Probleme.
  • Auf der Basis von Metux MPM entstand Peruser MPM, welches das Threading-Problem löst, indem echte Prozesse verwendet werden. Ab Version 0.2.0 gibt es sogar experimentelle SSL-Unterstützung. Allerdings muss keep-alive abgeschaltet werden (da sonst requests für unterschiedliche vhosts in einem request verschickt werden könnten). Aus meiner Sicht derzeit das interessanteste Projekt, da es regelmäßig angepasst und aktiv weiterentwickelt wird.
  • Dagegen baut MPM ITK auf dem prefork MPM auf und kann auch mit SSL umgehen. Das Projekt scheint aber nicht sehr aktiv zu sein, das letzte Release war im August 2005.

Alle Lösungen haben gemeinsam, dass sie noch nicht standardmäßig von Apache oder Fedora unterstützt werden...


Schöner VNC-Client!

VNC ist sehr hilfreich, aber die GUI ist steinzeitlich. Vino als Gnome VNC-Server ist da schon ein Meilenstein. Was mir trotzdem fehlt sind: Transparentes Drag'n'Drop und Copy&Paste (bei verschiedenen Betriebssystemen), integrierte Verschlüsselung, Bonjour-Support sowie ein GTK VNC-Client mit den Features Adresshistory/-management, übersichtliche Optionen, Integration in den Gnome-Schlüsselbund.


Least Cost Router für Gnome

Mit Bongosurfer gibt es einen funktionierenden Least Cost Router (nicht nur) für ISDN unter Linux. Schön wäre es, wenn die allgemeine Interaktivität (z.B. Anzeige der Wählversuche) erhöht würde und in der Anzeige mehr Usability-Aspekte berücksichtigt wären.


Python Webshop

Ich suche einen in Python implementierten Webshop, der mit den Mängeln von osCommerce, xtCommerce etc. einmal gründlich aufräumt. Besonders wichtig wären dabei sehr gute Codequalität, komplette Unit-Test-Abdeckung und die Möglichkeit, Businesslogik zum Shop hinzuzufügen (Rechnung erst ab 3. Bestellung, Versandkosten auf Grund eigener Berechnungsregeln wie z.B. eigenes Produktattribut, ...), so dass diese Logik auch nach einem Update erhalten bleibt (Plugin-Schnittstelle). Eine konsequente Umsetzung würde auch verschiedene Produkttypen mit jeweils anderen Attributen berücksichtigen (z.B. Bücher mit ISBN und Autor und Stahlrohre mit Durchmesser und Material). Eine vielversprechende Umsetzung könnte z.B. mit Django oder TurboGears erfolgen.


WebDAV-Server

WebDAV wurde ursprünglich auch mit der Intention entworfen, dass man Dateien für Webseiten darüber (ohne FTP) hochladen kann. In der Theorie funktioniert das auch alles sehr schön. Die bekannteste Implementierung ist sicherlich mod_dav im Apache-Webserver. mod_dav hat allerdings das Problem, dass alle Operationen mit dem Benutzer-Account des Webservers ausgeführt werden. Entsprechend kann man auch keine CGI-Skripte mit WebDAV hochladen, weil suexec die Ausführung auf Grund des falschen Datei-Eigentümers verweigert.

Ich bräuchte einen DAV-Server, der die Benutzerauthentifikation durchführt und die hochgeladenen Dateien auch mit den richtigen Dateieigentümern (abhängig von der Anmeldung/dem Pfad) versieht.