Lanshark - P2P Filesharing-Tool für LANs

Stellt hier eure Projekte vor.
Internetseiten, Skripte, und alles andere bzgl. Python.
lunar

Beitragvon lunar » Montag 11. Februar 2008, 19:44

Leonidas hat geschrieben:Ein Dateisystem-Feature mit einem OS zu vergleichen geht nicht einfach so, es sind eben völlig andere Sachen.

Du hast meinen abstrakten Vergleich auf eine konkrete Ebene gebracht. Dir ist offenbar entgangen, dass dieser Vergleich lediglich symbolisch gemeint war, in Anspielung auf das Schattendasein von Hurd. Der Vergleich funktioniert beispielsweise auch mit dem Konqueror: brauchbarer Browser, fristet aber trotzdem ein Schattendasein.

Hurd ist aber nicht für den Alltag brauchbar. NTFS-Symlinks sind das.

Das ändert auch nichts an der Tatsache, dass NTFS-Symlinks genau so selten benutzt werden wie GNU Hurd.

Ursprünglich hast ja du gemeint, dass Windows-User unfähig sind Symlinks zu nutzen. Das sind sie nicht.

Ob fähig oder nicht, niemand nutzt Symlinks. Das ist eine einfache Tatsache, die jenseits aller Vermutungen und Spekulationen über die Fähigkeiten von Windows-Nutzern steht.

Mit einer brauchbar zu nutzenden Software ist das auch für Windows-Nutzer kein Problem. Und Symlinks sind nicht tiefergehender als Defragmentierung, was wie ich schätzen würde, durchaus vielen Windows-Nutzern was sagt.

Es gibt aber einen bedeutenden Unterschied. Defragmentierung unterstützt Windows out-of-the-box. Dagegen liefert es meines Wissens nicht mal ein Kommandozeilen-Toll für symlinks mit, geschweige denn GUI-Integration.

lunar hat geschrieben:Dann läge nämlich auch der Schluss nahe, dass, wenn eine Anwendung auf die Notwendigkeit von Symlinks verweist, diese Anwendung eher durch eine andere ersetzt wird, die gleiches leistet.

Nein, nicht unbedingt. Wenn eine Software gut ist und auf die Möglichkeit von Symlinks hinweist oder sogar, entsprechende Software mitbringt (unter Windows ja durchaus üblich viele Sachen zusammenzupacken statt Dependencies zu deklarieren) dann ist das überhaupt kein Problem.[/quote]
Man propagiert ein sinnvolles Feature (symlinks) dadurch, dass man die DLL-Hell weiter befördert. Und ganz nebenbei bläst man ein kleines Tool wie lanshark um ein paar MBs auf, nur damit mehrere Share-Verzeichnisse unterstützt werden. Wunderbar, mit diesen Design-Richtlinien wird man garantiert zum guten Programmierer!

Der Hinweis allein wird nicht wirklich ausreichen: Als User fragt man sich dann, warum man ein weiteres Tool installieren muss, nur damit mehrere Shares unterstützt werden. Das der Nutzen von Symlinks in anderen Situationen den Nutzer zu dieser zusätzlichen Installation bewegt, halte ich ebenfalls für ausgeschlossen: "Ich bin doch bisher prima ohne ausgekommen".

Nebenbei ist das ganze auch nicht gerade förderlich für die Usability eines Tools. Immerhin muss jedes Mal eine ganze Anwendung gestartet werden, nur um eine neue Freigabe anzulegen.


lunar hat geschrieben:Diese Argumentation wird der Wirklichkeit aber eh nicht gerecht. Tatsache ist doch, dass selbst erfahrene Nutzer, also solche, die wissen, dass PFs keine Sicherheit bieten und das RAM-Defragmentierer unsinnig sind, meistens nicht wissen, dass NTFS tatsächlich Symlinks unterstützt.

Und das heißt, dass man die User im Dunkeln lassen soll und Symlinks als Insiderwissen behandeln sollte? Für mich fühlt sich das irgendwie an als würde man Kernel-Optionen verstecken, damit Insider ihr System tunen können, ohne dass die Masse was davon mitbekommt (gut, der Vergleich ist nicht so sonderlich gelungen, Symlinks mit OS zu vergleichen ist eben nicht so der Hit). [/quote]
Kernel-Optionen sind doch versteckt. Welcher Linux-User kompiliert denn heute noch seinen Kernel neu? Wie viele Linuxer können den schon genau sagen, welche Optionen im Kernel tatsächlich sinnvoll sind, und welche nicht? Mal ganz ehrlich: Weißt du, was CONFIG_NO_HZ (aka dynticks) genau bewirkt, und ob bzw. wann das Setzen dieser Option sinnvoll ist?
Nur fordert einen niemand penetrant auf, die Bedeutung der Konfigurationsoptionen zu lernen, um das System zu verstehen.
Die meisten Linuxer kommen gut ohne dieses Wissen aus, genauso wie die meisten Windowsianer ohne Symlinks auskommen.

Nebenbei stellt sich die Frage, ob es für einzelne Software-Entwickler wirklich sinnvoll ist, ein bestimmtes Feature zu propagieren, wenn der Hersteller selbst dieses Feature offensichtlich nicht unterstützen will. Es ja auch nicht so, als wären symlinks das Killerfeature schechthin, um multiple Shares zu implementieren. Im Gegenteil, alternative Ansätze sind kaum komplexer in der Implementierung, skalieren besser (siehe unten) und sind weitaus portabler.

Man baut Funktionalität nach, die mit Symlinks schon vorhanden ist. Genauso wie eben mein Beispiel mit den Sprachen von Webseiten.

Nicht alles lässt sich gut mit Symlinks abbilden. Jede Art von Metainformation, die über den eigentlichen Namen hinaus geht, kann man in einer Implementierung mit symlinks kaum sinnvoll unterbringen.
.D0T
User
Beiträge: 21
Registriert: Donnerstag 17. August 2006, 17:45

Beitragvon .D0T » Mittwoch 13. Februar 2008, 02:33

veers hat geschrieben:Er meint vermutlich die "Portable" Windows Version. Sprich die welche in einem ZIP ohne installer kommt und die Settings nicht ins Profil sondern in "config/lanshark.conf" relativ zum Executable speichert ;)

So was meine ich. Am besten wäre eine einfache executable (oder zumindest eine selbstentpackende) Version. Ich würde LANShark eh vorallem für eine Sache benutzten: LANs oder "Mal schnell was auf die Kiste kopieren wo nix installiert ist". Bei allem anderen finde ich so ein Program eher unangebracht. Da tuns statische Setups mit SMB shares o.ä. besser.

lunar hat geschrieben:Btw, würdest du ein vernünftiges System wie Linux verwenden ;) , dann wäre noch nicht mal der zusätzliche Speicherverbrauch ein Problem. Dort gibt es nämlich symlinks ;)

:? Also mit symlinks Vodoo zu betreiben ist nicht mein primäres Hobby, wie man mit denen Filtern und ausschließen kann würde mich auch mal interresieren. Unter Windows kommt man mit der normalen GUI da afaik nochnichtmal dran, also schlicht unbrauchbar, ich nehm doch kein minimales Share tool um mir dann was für NTFS-Symlinks draufzuballern...

veers hat geschrieben:Komisch. Bei meinen lokalen Tests komme ich auf mindestens 10mb/s. ... Erreichst du mit anderen Programmen denn die 10mb/s?
BTW, mit sendfile64() Support komme ich nun im Gigabit Lan auf ~80-90 mb/s fast ohne CPU Load auf der Sender Seite :)

DC++ und Windows share liefern die 10Mbyte/s und an meinen Platten liegts sicher nicht :roll: Auch meine Bekannten die das Programm getestet haben haben die selben Geschwindigkeitsprobleme beobachtet. Es liegt nicht an der CPU, die langweilt sich zu tode, die Rate geht einfach nicht höher. Wie gesagt, alles WinXP -> WinXP.

veers hat geschrieben:Was ist denn für dich "quasi nichtmehr reagieren"? Ich werde dem auf jeden Fall mal nachgeben.

Leider habe ich atm. keine Verzeichnisse mehr mit derartig vielen Dateien um es zu testen. Damals hat LANShark einfach nichtmehr geantwortet. Ka obs am timeout lag oder er sich gehängt hat.

veers hat geschrieben:
.D0T hat geschrieben:* Wiederaufnehmen von Downloads

geht schon lange! :)

Wie peinlich :oops: Nicht bemerkt.

MfG
.D0T
ps@lunar: Offtopic, aber egal. Wenn du mir eine Linux Distri zurechtzauberst die mit Windows Spielen klarkommt (wine kann eigentlich kein einziges richtig emulieren und ut ist auf Dauer doch langweilig) schmeiß ich mein Windows von der Platte. Mal ganz abgesehen davon das ich irgendwie bei meinen Linux Installationen (hab auf allen meinen Rechnern dualboot mit Ubuntu 7.10 bzw. Debian 4.0 auf dem Server) immer das Gefühl habe das alles schön und gut ist solange es out-of-the-box tut wie es soll. Tut es das nicht, was durchaus passieren kann (Multi-Monitor, die Sondertasten meiner Maus, das WLAN auf meinem Notebook, Suspend/Hibernate usw. usf.) dann kann man Jahrhunderte darauf verwenden google zu quälen um dann mit ein wenig Glück einen maillinglistenbeitrag zu finden der einem erklärt was man vor 1-2 releases tun musste um das zum laufen zu bekommen, dann probiert man nochmal ne Weile rum was sich seit dem wohl geändert haben mag und hat vielleicht das Glück das es dann funktioniert. Versteh mich nicht falsch: Zum Entwickeln würde ich Linux vorziehen, aber solange es nicht gerade darum geht etwas bestehendes zu kompilieren (was unter Windows irgendwie abgefuckt ist^^) kann ich das genausogut im "Fenster" machen ;-) Und da tuts dann auch, wenn nicht da wofür es gedacht war wo dann? Und seien wir ehrlich, eine Spiele LAN mit Linux? Tuxracer Multiplayer?
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Mittwoch 13. Februar 2008, 15:22

lunar

Beitragvon lunar » Mittwoch 13. Februar 2008, 20:18

.D0T hat geschrieben:
veers hat geschrieben:Er meint vermutlich die "Portable" Windows Version. Sprich die welche in einem ZIP ohne installer kommt und die Settings nicht ins Profil sondern in "config/lanshark.conf" relativ zum Executable speichert ;)

So was meine ich. Am besten wäre eine einfache executable (oder zumindest eine selbstentpackende) Version. Ich würde LANShark eh vorallem für eine Sache benutzten: LANs oder "Mal schnell was auf die Kiste kopieren wo nix installiert ist". Bei allem anderen finde ich so ein Program eher unangebracht. Da tuns statische Setups mit SMB shares o.ä. besser.

Was hilft einem Linux-User die gepackte Windows-Binär-Version?
Umgekehrt, was hilft einem Windows-User eine gepackte Pure-Python-Version?

Du kannst es drehen, wie du willst, die unterschiedlichen "Interessen" der verschiedenen Betriebssysteme kannst du nicht vernünftig in eine einzige Version packen. Es gibt keine "portable" Lanshark-Version, die Lanshark implizit sharen kann.

lunar hat geschrieben:Btw, würdest du ein vernünftiges System wie Linux verwenden ;) , dann wäre noch nicht mal der zusätzliche Speicherverbrauch ein Problem. Dort gibt es nämlich symlinks ;)

:? Also mit symlinks Vodoo zu betreiben[/quote]
Symlinks sind kein Vodoo. Unter Linux sind sie alltäglich, unter Windows nur unbekannt, aber keinesfalls in irgendeiner Weise magisch.

ich nehm doch kein minimales Share tool um mir dann was für NTFS-Symlinks draufzuballern...

[url=http://technet.microsoft.com/en-us/sysinternals/bb896768.aspx]Junction[/quote] ist 41 KB groß. Den Vergleich mit der Größe des Lanshark-Installers überlasse ich dir... Selbsterkenntnis soll ja der erste Weg zur Besserung sein.
.D0T
User
Beiträge: 21
Registriert: Donnerstag 17. August 2006, 17:45

Beitragvon .D0T » Mittwoch 13. Februar 2008, 20:20

Achja, nochmal zu den Verzeichnissen. Solltest du mit dem Programm in irgendeiner Weise nicht "Hacker" ansprechen wollen dann wirst du nicht umher kommen dieses Feature zu bieten. Niemand, wirklich niemand der nicht Computerverliebt ist wird sich die Arbeit machen seine Shares mit Symlinks zu verbinden :roll: Sämtliche anderen tools auf diesem Gebiet bieten dieses Feature, ausserdem kann ich mir nicht wirklich vorstellen was daran so schwierig sein könnte. Aber es ist dein Projekt und da ich von GTK keine Ahnung habe und auch sonst atm. wenig Zeit kann ichs auch nicht einbauen :wink:

Das mit der portable automatisch sharen ist wirklich etwas bescheiden. Aber zumindest sollte man die Möglichkeit haben irgendwo so etwas explizit einzutragen damit der Nutzer es einfach finden kann. Zumindest fände ich das praktisch ;-)
MfG
.D0T
ps@lunar: Ich glaube ich habe mich falsch ausgedrückt. Ich kenne Symlinks und benutzte sie auch (unter Linux). Ich kenne das Feature in NTFS und die Tools die sie auch unter Windows verfügbar machen und halte es dort für Quatsch, gibt zwar einige Situationen in denen es nützlich sein könnte aber nicht viele). Es kommt auch nicht auf die Größe an, je klüger man ist desto weniger ist man scharf drauf irgendwelche shell Extensions für ein Tool zu installieren was man eigentlich als portable nutzen will....ausserdem bin ich sehr wohl mit Linux vertraut, sehe bloss nicht den Vorteil im meinem täglichen Gebrauch, nein ich bin kein Powergamer und ich schreibe kein 1337 falls dieser Eindruck aufgekommen sein sollte.

ps@Y0Gi: Wie sagen sie auf Slashdot immer so nett: "RTFA", wie man auch den comments entnehmen kann ist der Vergleich ein ziemlicher Witz. Ausserdem benutze ich, wie zuvor gesagt, kein Vista sondern XP was unbestritten der Kompatibilitätskönig der Windows Systeme ist ;-) Aber wir sind wirklich arg offtopic, tut mir schon fast Leid es erwähnt zu haben....
Y0Gi
User
Beiträge: 1454
Registriert: Freitag 22. September 2006, 23:05
Wohnort: ja

Beitragvon Y0Gi » Donnerstag 14. Februar 2008, 13:30

Mir sind die genannten Details durchaus bekannt und es war mit einem Augenzwinkern gemeint :)

Zum Thema: Ich finde die Idee ebenfalls unschön, dass LANshark (wie ist das offizielle Case-Spelling? :)) sich selbst anbietet, eben angesichts der unterschiedlichen Plattformen. Eben selbst die entsprechende Datei, die man anbieten möchte, in die Shares zu packen, ist ja nun wirklich kein Akt und enorm flexibel.
Mephisto
User
Beiträge: 28
Registriert: Mittwoch 17. Januar 2007, 15:52

Beitragvon Mephisto » Donnerstag 14. Februar 2008, 16:23

.D0T hat geschrieben:. Niemand, wirklich niemand der nicht Computerverliebt ist wird sich die Arbeit machen seine Shares mit Symlinks zu verbinden


Also mein FTPd zwingt mich dazu, und da gehen wegen des chroots nichtmal normale symlinks sondern man muss mit mount -o bind arbeiten. Das hat mit Computerverliebt doch nix zu tun. Wenn du sagst du brichst dir dabei 'n Zacken aus der Krone dann is das dein Ding, aber dann sprich bitte nur für dich selbst.
Ich persönlich denke allerdings auch vorraus zu setzen dass man Symlinks benutzt auch nicht der beste Weg ist

lg meph
.D0T
User
Beiträge: 21
Registriert: Donnerstag 17. August 2006, 17:45

Beitragvon .D0T » Donnerstag 14. Februar 2008, 18:12

@Mephisto:
Reden wir hier grad über Serverdienste oder einen einfachen Filesharing clienten fürs LAN? Ich denke du wirst mir zustimmen das es etwas anderes ist sich einen (traditionellen) Serverdienst einzurichten oder mal schnell was übers LAN freigeben zu wollen! Ich bin nicht gegen symlinks ich find die Klasse (unter Linux), ich meine bloss LANshark verschließt sich einer großen Nutzergruppe wenn es darauf setzt das der Nutzer bereit ist die zu erstellen (oder sich überhaupt erstmal belehren zu lassen was das ist) wenn er es auch einfacher haben kann....achja...ich wollte mit meiner Aussage zur "Computerverliebtheit" niemandem auf die Füße treten. Ich wollte damit nur Ausdrücken das niemand der sich nicht beruflich oder in seiner Freizeit näher mit derartigen Dingen befasst die symlinks in Betracht ziehen würde. Ausser natürlich man hat Lust jedem einzelnen davon Schritt für Schritt zu sagen was er in der Konsole/GUI machen muss damit er seine shares zum laufen kriegt....

Aber ich merke schon ;-) Ich mach mich mal wieder unbeliebt. Ich hoffe ihr habt verstanden worums mir ging ;-)

MfG
.D0T

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder