[eMule-Web]

[eMule-Web] (http://www.emule-web.de/board/)
-   Xtreme MOD (http://www.emule-web.de/board/xtreme-mod/)
-   -   eMule v0.46c MAXmod v2.1 [07.01.2006] (http://www.emule-web.de/board/10165-emule-v0-46c-maxmod-v2.html)

Matrix Reloaded 21. December 2005 09:39

AW: eMule v0.46c MAXmod v2.0 [30.10.2005]
 
Hi drfreak2004,

Zitat:

webcache bringt eh nix.... finde ich.... seit ich den schlanken xtreme nutze
Na ja, wollte es halt mal versuchen um zu sehen welchen Unterschied zum normalen xtreme (den ich normarlerweise benutze) sich ergibt.

Zitat:

was ich von arcor erfahren habe, wollen die dies nicht haben, das du deren proxys missbrauchst.
Hast du das von arcor direkt erfahren? Oder gibts das irgendwo nach zu lesen.

MaxUpload 7. January 2006 14:20

Soeben wurde eine neue MAXmod-Version released.

Viel Spaß damit und einen schönen Tag noch.

Max

GrafBerg 7. January 2006 15:22

Hi Max. Danke für das neue release. Ich werde es heute abend an den Start bringen, bin leider noch auf Arbeit. Bin schon mal auf das überarbeitete GSL gespannt! :beer:

leukhe 9. January 2006 22:01

About webcache:

Why did you change MAX_PROXY_CONN limit from 5 to( 2*5)? ANd you might want to check out the webcache code of morph 7.8 . SiRoB solved some first change exceptions there in Throw statements.

Cobain86 10. January 2006 02:00

schade!
 
wollte deine neue version als basis nehmen, aber bekomme lauter warnings!

Code:

d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\tag_parse_v1.cpp(155): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'uchar', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\tag_parse_musicmatch.cpp(50): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\tag_parse_lyrics3.cpp(96): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\tag_parse_lyrics3.cpp(141): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\tag_parse.cpp(97): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\tag_impl.cpp(44): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'char', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\mp3_parse.cpp(503): warning C4018: '>=': Konflikt zwischen 'signed' und 'unsigned'
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\io_helpers.cpp(40): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\io_helpers.cpp(114): warning C4244: '=': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\io_helpers.cpp(120): warning C4244: '=': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\io_helpers.cpp(252): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\io_decorators.cpp(157): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\io_decorators.cpp(173): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\io_decorators.cpp(178): warning C4244: '=': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\io_decorators.cpp(189): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'ID3_Reader::char_type', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\header_tag.cpp(113): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'uchar', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\header_tag.cpp(114): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'uchar', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\frame_parse.cpp(147): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'char', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\id3lib\src\frame_parse.cpp(154): warning C4244: 'Initialisierung': Konvertierung von 'ID3_Reader::int_type' in 'char', möglicher Datenverlust
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\srchybrid\SysInfo\SysInfo.cpp(417): warning C4189: 'bResult': Lokale Variable ist initialisiert aber nicht referenziert
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(204): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::Get': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(205): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation:eek': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(206): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::TransferTo': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(207): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::CopyTo': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(20: warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::CopyRangeTo': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(209): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::TransferMessagesTo': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(210): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::CopyMessagesTo': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(211): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::TransferAllTo': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(212): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::CopyAllTo': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(204): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::Get': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(205): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation:eek': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(206): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::TransferTo': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar
d:\Dokumente und Einstellungen\Steven.GAMER\Desktop\Max_v2.0_src\crypto.v52.1\simple.h(207): warning C4516: 'CryptoPP::BufferedTransformation::CryptoPP::BufferedTransformation::CopyTo': Zugriffsdeklarationen sollen nicht mehr verwendet werden; using-Deklarationen von Elementen stellen eine bessere Alternative dar


MaxUpload 10. January 2006 17:11

@Cobain: Nimm die Libs vom Xtreme und kommentiere die Deklaration von bResult aus.
bResult wird nur von anderen Programmteilen genutzt die für diese Zwecke nicht benötigt und daher aus dem Project gelöscht wurden.

@leukhe: Ich habe die maximalen Proxy Connections erhöht,weil das die Socket Timeouts drastisch reduziert. Vor allem beim Download via Proxy,dort merkt man den Effekt extrem.

Danke für den Hinweis ich werde mir den Morph diesbezüglich mal anschauen.

MfG Max

Buggy Biggy 15. January 2006 14:07

NAFC-Adapter
 
Hallo, bei der Erkennung des NAFC-Adapters wird anstatt meines Routers bzw. Netzwerkkarte meine TV-Karte erkannt! Habe eine WinTV Nova, diese trägt sich in der Systemsteuerung als Netzwerkkarte ein.
Lässt sich das irgendwo umstellen? Bei dem Port-Test wird auch auf meine TV Karte zu gegriffen!
Das Problem habe ich mit allen Mods die NAFC einsetzen!

Xman 15. January 2006 15:38

starte emule und notier Dir die Nummer des richtigen Netzwerkadapters. Dann beende emule und öffne die preferences.ini
gehe zur Sektion "Xtreme" und schrieb dort hinein:
ForceNAFCAdapter=Nummer des notierten Netzwerkadapters

JulGer 26. January 2006 16:45

Wird es hier auch ein Update geben?

Stulle 26. January 2006 17:10

Sicher wird es von MaxUpload noch updates geben. Warum müssen manche Leute nur so eine Hektik machen¿ :P

MFG Stulle

JulGer 26. January 2006 17:25

:shock: Iiiiiiich???? Mache doch keine Hektik. :whistle

Bin gestern erst auf den Mod gestoßen. Hatte vorher nur den 'normalen' Xtreme benutzt.
Webcache finde ich aber gut. Daher meine Frage. was aber nicht heißen soll, dass ich hier irgend wen
hetzen wollte... ;)

MaxUpload 26. January 2006 18:03

Im Moment ist ein Update noch nicht so zwingend erforderlich, da keine größeren Bugs gemeldet wurden.

Daher mache ich mich erstmal mit der v0.47a vertraut, weil dort einige wirklich störende Bugs endlich gefixt sind....z.B. das Resource Leak aus der PrefencesDlg. Vermutlich wird es erst mit dem offiziellen erscheinen der originalen eMule v0.47a ein Update geben.

MfG Max

Ich denke mal mit der nächsten auf v0.47a Code basierenden Xtreme Version wird es auch bei mir ein Update geben. Aber im Moment bin ich immer noch am büffeln.

JulGer 19. February 2006 14:28

Dauert es noch lange????:whistle

MaxUpload 19. February 2006 15:05

Ich büffel immernoch ;-) . Visual C++ .NET Bücher sind ziemlich dicke Wälzer. Allerdings werd ich mir jetzt mal so langsam die Xtreme Source vornehmen und gemächlich mergen *fg*.

MfG Max

NetZwerg 19. February 2006 17:17

nur Mut
 
Zitat:

Zitat von MaxUpload
Ich büffel immernoch ;-) . Visual C++ .NET Bücher sind ziemlich dicke Wälzer. Allerdings werd ich mir jetzt mal so langsam die Xtreme Source vornehmen und gemächlich mergen *fg*.

MfG Max

Ohja in der Tat, ich kann dich nur zu gut verstehen. Büffel gerade die Dokus zu Hibernate und Spring, das ist auch nicht viel besser :sb

Aber schön zu hören das du mit dem Merge beginnst, der Xtreme 5.0 lief bei mir in der Beta schon 4 Tage stressfrei durch, teste jetzt die Final, hoffe sie ist genauso stabil.

Also MaxUpload, laß dich nicht stressen, obwohl auch ich auf eine Webcache Version des Xtremen giere :whistle
und mich bereitwillig zum Test zur Verfügung stelle.

MaxUpload hau in die Tasten und laß den Xtremen noch "krasser" rocken :eek:

btw -- thx für die super Leistung und Respekt von der COMM an Xman und MaxUpload und natürlich an die Mains

JulGer 24. February 2006 20:04

Wie gemächlich ist "gemächlich"??? <räusper>

Stulle 24. February 2006 20:50

gemächlich heißt nicht 5 tage! :P

gibt noch einige dinge für max zu überprüfen im bezug auf webcache. weiter warten!

mfg stulle

JulGer 25. February 2006 14:44

:whistle<dumdidum....> Ok.
Webcache ist das Zauberwort. Ansonsten ist Xtreme einfach perfekt.

MaxUpload 25. February 2006 16:31

Zitat:

Webcache ist das Zauberwort.
Ein Zauber der Emule Modder in den Wahnsinn treiben soll ;-).

Im Ernst das ist ein ziemlich harter Brocken und da ich festgestellt habe,daß mir da bei der MAXmod v2.1 Version so einige Fehler unterlaufen sind die bisher niemanden aufgefallen sind,bin ich halt jetzt besonders sorgfältig.

Wenn ihr mal meine Source durchsucht werdet ihr fesstellen,daß man unter dem {WebCache} Tag 341 Resultate findet in 48 verschiedenen Files und nicht alle kann man mal so einfach locker kopieren ohne zu hinterfragen ob da nicht was falsch gelaufen war.

Das ist sehr zeitaufwendig besonders wenn die zu Grunde liegende Emule Version eine total überholte ist (->v0.47a).

MfG Max

NetZwerg 25. February 2006 17:09

Softwaretechnik?!?
 
Zitat:

Zitat von MaxUpload
Ein Zauber der Emule Modder in den Wahnsinn treiben soll.

Im Ernst das ist ein ziemlich harter Brocken und da ich festgestellt habe,daß mir da bei der MAXmod v2.1 Version so einige Fehler unterlaufen sind die bisher niemanden aufgefallen sind,bin ich halt jetzt besonders sorgfältig.

Ja, das kenn ich -- wenn man durch ne neue Release gezwungen ist sein Wissen über die Verknüpfung zu aktualisieren, aber es hilft halt auch alte Fehler zu finden. :whistle

Zitat:

Zitat von MaxUpload
Wenn ihr mal meine Source durchsucht werdet ihr fesstellen,daß man unter dem {WebCache} Tag 341 Resultate findet in 48 verschiedenen Files und nicht alle kann man mal so einfach locker kopieren ohne zu hinterfragen ob da nicht was falsch gelaufen war.

48 Files :shock:
Und ich dachte immer das Open Source Software ordentlich designt wäre. Mh -- wird wohl dringend Zeit für ne Überarbeitung Richtung sauberer Schnittstelle. Aber das müssen dann die MAINs machen.

Zitat:

Zitat von MaxUpload
Das ist sehr zeitaufwendig besonders wenn die zu Grunde liegende Emule Version eine total überholte ist (->v0.47a).

MfG Max

Laß dir Zeit, ne ordentliche (flexible) Implementierung bringt im Endeffekt mehr als ne reingepatchte. :mrgreen:

Ich hoffe das ich auch irgendwann die Zeit finden werde um mir die gesamten Sourcen mal anzuschauen. Ich danke man kann wohl in Sachen Softwaretechnik dort ne ganze Menge optimieren.

So on, laß es krachen Max ;)

Stulle 25. February 2006 17:33

Zitat:

Zitat von NetZwerg
48 Files :shock:
Und ich dachte immer das Open Source Software ordentlich designt wäre. Mh -- wird wohl dringend Zeit für ne Überarbeitung Richtung sauberer Schnittstelle. Aber das müssen dann die MAINs machen.

euhmmm... objektorientiertes programmieren. alles wunderbar geordnet. man erkennt schon am datei namen was die sache eigentl. macht. davon mal ganz abgesehen, wenn man zwei klassen in eine datei packt verlangsamt sich das compilen. erst ansehen, dann motzen

Zitat:

Zitat von NetZwerg
Laß dir Zeit, ne ordentliche (flexible) Implementierung bringt im Endeffekt mehr als ne reingepatchte. :mrgreen:

was heißt schon flexibel. man muß fast jeden code anpassen wenn man ihn einbaut. schonmal die src vom xtreme und vom morph verglichen¿ oder noch besser, vergleich mal die vom ePlus, eMule und eWombat! es ist immer eine frage des umfeldes wieviel man ändern muß oder auch nicht.

Zitat:

Zitat von NetZwerg
Ich hoffe das ich auch irgendwann die Zeit finden werde um mir die gesamten Sourcen mal anzuschauen. Ich danke man kann wohl in Sachen Softwaretechnik dort ne ganze Menge optimieren.

das find ich echt vermessen. denkst du wirklich, dass die devs von eMule keine ahnung haben von dem, was sie tun¿ die leute haben es geschafft nach und nach das eD2k netzwerk aufzuschlüsseln, so dass sie ihr eigenes open source programm schreiben konnten. zwar sind merkur und einige andere bereits gegangen, aber die neuen sind deswegen nicht schlechter. ZZ hat einen weg gefunden effektiv den upload über pings, lovelace über timestamps bei verbindungen und maella/ xman über den netzwerkadapter zu kontrollieren.
ein großteil derer, die bisher an dem projekt gearbeitet haben haben großes geleistet und das zeugt meiner meinung nach von einiger fachlicher kompetenz. nun einfach daherzukommen und zu behaupten das es da ne ganze menge zu "optimieren" sei find ich, mit verlaub, sehr vermessen!

just my 2 cents.

Stulle

NetZwerg 25. February 2006 20:44

Hey Stulle, erstmal locker, ich will hier niemanden angreifen geschweige denn beleidigen.

Zitat:

Zitat von Stulle
euhmmm... objektorientiertes programmieren. alles wunderbar geordnet. man erkennt schon am datei namen was die sache eigentl. macht. davon mal ganz abgesehen, wenn man zwei klassen in eine datei packt verlangsamt sich das compilen. erst ansehen, dann motzen

OOP alleine bedeutet noch keine effiziente Softwarearchitektur. Wenn ich zur Anpassung in 48 Klassen rein muß, um dort etwas zu ändern, dann stimmt etwas mit dem Softwaredesign nicht. Sollten sich die Dinge aber beim besten Willen nicht entkoppeln lassen, so könnten Änderung als Aspekt umgesetzt werden und mit den Techniken der AOP (Aspektorientierten Programmierung) implementiert werden.

Zitat:

Zitat von Stulle
was heißt schon flexibel. man muß fast jeden code anpassen wenn man ihn einbaut. schonmal die src vom xtreme und vom morph verglichen¿ oder noch besser, vergleich mal die vom ePlus, eMule und eWombat! es ist immer eine frage des umfeldes wieviel man ändern muß oder auch nicht.

Ich sagte ja bereits das ich mir die Sourcen noch nicht angeschaut habe.
Aber, Flexibilität ist entscheidend wenn es um das Anpassen von komplexen Systemen geht. Im Bereich der verteilten Systeme gilt Flexibilität als Grundmerkmal für Erweiterbarkeit und Wiederverwendbarkeit. Es bedeutet das mittels moderner Softwaretechniken, wie Inversion of Control und Dependency Injection, System so entwickelt werden, das andere Systeme daran mit einem Minimum an Aufwand andocken können.

Zitat:

Zitat von Stulle
das find ich echt vermessen. denkst du wirklich, dass die devs von eMule keine ahnung haben von dem, was sie tun¿ die leute haben es geschafft nach und nach das eD2k netzwerk aufzuschlüsseln, so dass sie ihr eigenes open source programm schreiben konnten.

Reverse Engineering eines Protokolls sagt noch nicht viel über besondere Kentnisse im Bereich der Softwareentwicklung aus.

Zitat:

Zitat von Stulle
zwar sind merkur und einige andere bereits gegangen, aber die neuen sind deswegen nicht schlechter. ZZ hat einen weg gefunden effektiv den upload über pings, lovelace über timestamps bei verbindungen und maella/ xman über den netzwerkadapter zu kontrollieren.

Das habe ich nicht behauptet und das will ich auch nicht behaupten. Ganz im Gegenteil, ich selber nutze eMule und bin auch mit der erbrachten Leistung sehr zufrieden. Und die Mods der von dir genannten Modder kenne ich ebenfalls und bin auch in der Lage die hohe Leistung dieser anzuerkennen.

Zitat:

Zitat von Stulle
ein großteil derer, die bisher an dem projekt gearbeitet haben haben großes geleistet und das zeugt meiner meinung nach von einiger fachlicher kompetenz. nun einfach daherzukommen und zu behaupten das es da ne ganze menge zu "optimieren" sei find ich, mit verlaub, sehr vermessen!

Sicherlich braucht man fachliche Kompetenz im die erbrachte Leistung zu erziehlen, das will ich auch niemandem abstreiten. Allerdings kann man sicherlich mittels moderner Architekturen noch etwas verbessern. Und wenn die Anpassung so schwer sind wie Max es beschrieben hat, dann gibt es noch ne Menge Möglichkeiten zu optimieren.
Letztendlich sollten die vielen kleinen Erweiterung der vielen Modder als Komponenten fungieren, die ohne große Anpassungen an das System angedockt werden können. Damit ließe sich der Portierungsaufwand um einiges veringern. Dafür bedarf es einer einheitlichen Schnittstelle, eines Komponentenmodells oder eines Frameworks. Diese(s) müßte aber im Core implementiert werden.

Das ist meiner Meinung nach nicht vermessen sondern eher ein guter Diskussionsansatz.

cya NetZwerg

Stulle 25. February 2006 21:11

Sieh mal, es geht ja schonmal los wenn ich nur die Geschwindigkeiten im MSN anzeigen will. Xman nutzt einfach andere Variablen für seine mod, da er ein anderes UL system hat. Hier muß geändert werden.
Die MainTimer Funktion (oder wie die hieß) ist bei der pHoeniX mod an einer ganz anderen Stelle, als im original eMule, also besteht hier der Änderungsaufwand darin die Funktion zu suchen.
Ich könnte jetzt in dieser Art und Weise fortfahren, aber ich denke du weißt schon was ich sagen will.

Zitat:

Reverse Engineering eines Protokolls sagt noch nicht viel über besondere Kentnisse im Bereich der Softwareentwicklung aus.
Ich denke es lässt sich recht einfach schlussfolgern, dass der, der so etwas kann doch mehr Ahnung von Programmierung etc. hat. Die momentane Strukturierung ist fast unumgänglich, es sei denn du hast Lust auf riesengroße Datein! Meine PartFile.cpp: 8071 Zeilen! BaseClient, DownloadClient, UploadClient (gehören einer Klasse an): 4203, 2795, 1805 = 8803 Zeilen!
Du siehst, die Klassen sind nicht einfach nur alle zerstückelt klein. Sie sind nach Logischen komponenten eingeteilt und bieten somit einen optimalen Überblick über das Programm bzw. den Programmcode.

Was mich an deinem Post gestört hat war, dass du ohne genaues Wissen über den Programmcode gesagt hast, dass es überarbeitungswürdig ist.

Bei 48 Datein kannst du ganz stark davon ausgehen, das 30-50% der Datein nur header-Dateien sind. Außerdem einige Listen oder ähnliche GUI Elemente.

MFG Stulle

NetZwerg 25. February 2006 23:56

Zitat:

Zitat von Stulle
Sieh mal, es geht ja schonmal los wenn ich nur die Geschwindigkeiten im MSN anzeigen will. Xman nutzt einfach andere Variablen für seine mod, da er ein anderes UL system hat. Hier muß geändert werden.
Die MainTimer Funktion (oder wie die hieß) ist bei der pHoeniX mod an einer ganz anderen Stelle, als im original eMule, also besteht hier der Änderungsaufwand darin die Funktion zu suchen.
Ich könnte jetzt in dieser Art und Weise fortfahren, aber ich denke du weißt schon was ich sagen will.

Ja Stulle, ich weiß was du mir damit sagen willst und indirekt unterstützt das meine Ausage. Das hat nichts mehr mit sinnvoll entkoppelten Systemen zu tun sondern ist eindeutig ein einpatchen der zusätzlichen Features und genau das habe ich bemängelt.

Zitat:

Zitat von Stulle
Ich denke es lässt sich recht einfach schlussfolgern, dass der, der so etwas kann doch mehr Ahnung von Programmierung etc. hat. Die momentane Strukturierung ist fast unumgänglich, es sei denn du hast Lust auf riesengroße Datein! Meine PartFile.cpp: 8071 Zeilen! BaseClient, DownloadClient, UploadClient (gehören einer Klasse an): 4203, 2795, 1805 = 8803 Zeilen!
Du siehst, die Klassen sind nicht einfach nur alle zerstückelt klein. Sie sind nach Logischen komponenten eingeteilt und bieten somit einen optimalen Überblick über das Programm bzw. den Programmcode.

Nein, genau das was da vor dir liegt sind riesengroße Dateien, Klassen mit 8000 Zeilen haben nichts mehr mit OOP zu tun, das ist modulare Programmierung. Logische Einheiten sind wichtig, aber wo sind die Factorys, Adapter, Observer, all die schöne Dinge die uns die GoF (Gang of Four) gelehrt hat? Wo ist das MVC umgesetzt, wo ist die Fassade die mir ermöglicht eine andere Variable für die Ausgabe der Geschwindigkeit festzulegen. Ich kann nicht sagen das diese Dinge fehlen, da ich den Code nicht kenne, aber aus den vielen Threads von Moddern die ich gelesen habe geht hervor das es immer wieder Probleme mit dem Design gibt.

Zitat:

Zitat von Stulle
Was mich an deinem Post gestört hat war, dass du ohne genaues Wissen über den Programmcode gesagt hast, dass es überarbeitungswürdig ist.

Ein guter Softwareentwickler weiß das kein Code optimal ist. Du hast damit Recht das das hier wie Motzen aussieht, aber ich habe mir schon einige Gedanken gemacht und ich weiß wie schwer es ist komplexe Systeme anzupassen, aber ich weiß auch um wieviel leichter es ist eine Software anzupassen die auf Erweiterung hin entwickelt wurde. Dies ist bei eMule scheinbar nicht der Fall, da es sonst weniger Probleme mit dem adden von Features geben würde.
Ich hoffe das ich bald die Zeit haben werde mich mal tiefgehender mit den Sourcen auseinander zu setzen, denn auch ich möchte meinen Beitrag für die Community leisten. Und wenn dieser Beitrag zur Folge hat das das Leben für alle Modder einfacher wird, dann ist das doch ein Erfolg, oder etwa nicht?
Denn die Modder sollten sich nicht um das WIE Gedanken machen müssen, sondern eher um das WAS.
Solche sinvollen Dinge wie USS, NAFC, Webcache etc. sollten viel eher zur Verfügung stehen und sind nur dadurch entstanden, dass pfiffige Köpfe Zeit zum Denken hatten. ;)

btw: ich würde gerne die Idee des Speed-Balancings bei Routern über SNMP umsetzen, damit hätten auch endlich die Leutz mit Routern ne Möglichkeit für stabilen Upload. Die Idee ist nicht von mir sondern wurde von einem Forenmitglied vorgebracht und ich halte sie für umsetzbar.

Zitat:

Zitat von Stulle
Bei 48 Datein kannst du ganz stark davon ausgehen, das 30-50% der Datein nur header-Dateien sind. Außerdem einige Listen oder ähnliche GUI Elemente.

MFG Stulle

Aber wenn man alle durchgehen muß, um nur ein Feature einzupflegen, welches nur den Core betrifft, im speziellen nur die Übertragung, dann ist das Konzept schlecht umgesetzt.

cya NetZwerg

Stulle 26. February 2006 00:12

sieh dir bitte erstmal den WC code und den code von eMule an bevor du hier fortlaufend irgendwelche behauptungen aufstellst.

aalerich 26. February 2006 01:03

@ NetZwerg :

Nun denn, auf auf und frisch ans Werk!

Mit freundlichen Grüßen
aalerich

NetZwerg 26. February 2006 03:45

@Stulle, aalerich
erstmal muß ich mein aktuelles Projekt zu Ende bringen, danach kann ich und werde ich mir die eMule-Sourcen zu Gemüte führen.

btw: gibt es eigentlich ein Klassendiagramm zum offiziellen eMule?

@Stulle
was heißt Behauptungen -- eher konstruktive Diskussion, kannst mir aber gerne Gegenbeweise bringen ;)

Stulle 26. February 2006 03:57

einfache definitionssache: du kennst den code nicht, machst aber trotzdem aussagen über ihn. diese können dem zufolge nur behauptungen sein.

MaxUpload 26. February 2006 09:56

@NetZwerg: Soviel zum Lehrbuch und zum Studierten ;-). Anhand deiner Aussagen schließe ich schon darauf, daß du ein fundiertes Fachwissen hast und das was du hier vorschlägst auch umsetzen kannst. Zumindest in der Theorie.

Also mir wäre es sehr lieb,wenn du dir mal ne reine WebCache Version vornehmen könntest und den Code anpaßt und wenn du dich da eingeabeitest hast höre ich mir sehr gerne deine Vorschläge an.

Meiner Meinung nach muß der WebCache Code dringend für eine leichtere Implementierung angepaßt werden und mit dieser Meinung stehe ich nicht alleine da.

Du solltest dir das aber alles nicht so einfach vorstellen. Emule ist ein sehr komplexes System und man muß sehr viele Klassen lernen. Das Hauptproblem mit dem wir alle zu kämpfen haben ist der Faktor Zeit.

MfG Max

NetZwerg 26. February 2006 17:01

Zitat:

Zitat von MaxUpload
@NetZwerg: Soviel zum Lehrbuch und zum Studierten ;-). Anhand deiner Aussagen schließe ich schon darauf, daß du ein fundiertes Fachwissen hast und das was du hier vorschlägst auch umsetzen kannst. Zumindest in der Theorie.

Danke dir, ich werde versuchen es auch in Praxis zu beweisen ;)

Zitat:

Zitat von MaxUpload
Also mir wäre es sehr lieb,wenn du dir mal ne reine WebCache Version vornehmen könntest und den Code anpaßt und wenn du dich da eingeabeitest hast höre ich mir sehr gerne deine Vorschläge an.

Das werde ich tun und ich freue mich auf nette fachliche Diskussionen.

Zitat:

Zitat von MaxUpload
Meiner Meinung nach muß der WebCache Code dringend für eine leichtere Implementierung angepaßt werden und mit dieser Meinung stehe ich nicht alleine da.

Ich denke es ist nicht unbedingt das Problem des WebCache sonder eher ein essentielles Problem der Integration neuer Features. Mag sein das beim Implementieren des Webcache Codes diese Probleme verstärkt zu "Tage treten".

Zitat:

Zitat von MaxUpload
Du solltest dir das aber alles nicht so einfach vorstellen. Emule ist ein sehr komplexes System und man muß sehr viele Klassen lernen. Das Hauptproblem mit dem wir alle zu kämpfen haben ist der Faktor Zeit.

MfG Max

Ja, das habe ich mir schon gedacht. Die Lernkurve am Anfang wird sehr hoch sein, das kann man kaum vermeiden, aber die Lernkurve bei einer neuen Version sollte minimal sein und das scheint derzeit nicht zuzutreffen. Auch wenn die Releasedauer mittlerweile etwas größer geworden ist, so wird eine Optimierung wohl über mehrere Releases der Fall sein, bis etwaige Reengineerings in die Basis einfliesen. Von daher wird es wohl kaum in naher Zukunft einfacher werden, aber wer weiß, vielleicht wird es bereits ab Version 0.50 wesentlich einfacher Features hinzuzufügen. Ziel der Entwicklung sollte sein, das kein Modder mehr an Klassen der Basis etwas ändern muß. Am besten nur noch ne XML-Datei ändern und der Rest wird über IoC (Inversion of Control) geregelt. :dance
Aber erstmal den Code studieren und prüfen was überhaupt machbar ist und dann mit Fakten arbeiten, bis jetzt ist alles nur Theorie. Die letzten Systeme die ich umgestellt habe brauchten mehr als drei Reengineeringzyklen um die gewünschte Flexibilität zu erreichen.

Danke.

cya NetZwerg

myrd 4. March 2006 16:25

hallo !

danke für diesen super mod. In letzter zeit habe ich einige ausprobiert und max gefällt mir für den normalbetrieb am besten. Leider vermisse ich noch ein paar option um releases effektiver zu verteilen oder auch andere releases unterstützen. Könnte man da nicht noch ein paar features einbauen ? An meinen ausführungen erkennt jeder sicher das ich mehr der anwender bin als der programierer, deswegen frage ich algemein.
Ansonsten ein wirklich super mod, vielen dank :)

maloxp 4. March 2006 16:36

Hallo myrd,

da kommt demnächst was. Hier ein Zitat vom Max aus einem anderen Forum:

Zitat:

Der MAXmod wird in Zukunft wohl die Richtung Xtreme meets Morph gehn. Außerdem arbeite ich an einem neuen Gemeinschaftsprojekt namens "ScarAngel". Evtl. werde ich auch etwas bei einer neuen Idee des Ackronic Teams mitarbeiten. Mal sehn wie es meine Zeit erlaubt.
Leider wird dies alles natürlich sehr zu lasten des MAXmod gehn,aber ich denke die neuen Projekte werden euch dafür entlohnen. Jedenfalls bleib ich bei euch und ich bilde mich von Tag zu Tag weiter um meine Arbeit qualitativ zu verbessern. Auch wenn dies zeitweilig meine Arbeit am MAXmod sehr ins stocken geraten läßt.

MfG Max
Mehr sag ich dazu auch nicht. ;)
Gruß,
malo

myrd 4. March 2006 18:03

thx für die schnelle antowort.
"Der MAXmod wird in Zukunft wohl die Richtung Xtreme meets Morph gehn"
Das is genau das was ich suche.

Dann verharre ich hier und freue mich auf die dinge die da kommen :)

JulGer 23. March 2006 12:47

Hallo??? Ist hier noch Leben drin? :whistle

aalerich 23. March 2006 22:08

Bei Bedarf sicherlich. Welches ist denn Dein Anliegen?

Bohrend fragend
aalerich

JulGer 24. March 2006 06:34

Och....
Nur so.
Wollte nur den Thread mal wieder ein wenig anschieben.
Und mal sehen wen ich aufscheusche.
Gibt es etwas neues zum Thema MAXmod?

Stulle 24. March 2006 06:49

jop. max hat keine zeit :P außerdem funktioniert die neuste version von GHL grandios ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:52 Uhr.

Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102