Posts by 7Saturn

    Meine Erfahrung: Counter-Strike 1.5 (ja, 1.5) geht mit der 1903 wieder, mit der Vorgängerversion lief es eine ganze Zeit lang gar nicht, egal was man in den Kompatiblitätseinstellungen einstellte. Wieder eine Version früher lief es genau so gut, wie jetzt wieder. (Nur so der Vollständigkeit halber... :emojiSmiley-14:)

    Da muss man sich schon durch die Literatur oder das Internet wühlen und wird zu jedem Thema hier und da was finden.

    Drum frage ich hier. ;-)

    In Profi-Firmen gibt es Seminare und Schulungen (extern oder intern) zu dem Thema - von Profis für zukünftige Profis.

    Ja, da muss ich auch mal nachhaken, ob da nicht was geht. Man kann sich nicht immer hin stellen und was davon faseln, dass keiner im Betrieb die Dinge versteht, aber dann seine Mitarbeiter nicht schulen lassen. Meine Frage war zwar mehr privater Natur, aber da ist es ähnlich.

    Konkreteres Beispiel: Man will einen Master-Server für ein Quake-artiges Spiel schreiben. Das Protokoll ist im Wesentlichen ausdefiniert, man muss es nur implementieren. Der eigentliche Job ist ja easy. Sehr low-level, sehr rudimentär, schnell umgesetzt, wenn es um die reine Funktionalität geht. Aber was mache ich z. B. gegen zu dicke Anfragen, die irgendwelche Buffer platzen lassen (falls es das in dem Zusammenhang überhaupt gibt, ihr merkt schon, dass ich da schwimme)? Oder Flooding? Oder, oder, oder... Blödestenfalles wird die Anwendung für was missbraucht, was so nicht vorgesehen ist. Ich hätte halt nicht mal eine Idee, wie ich das angehe. Jetzt ist UDP in dem Fall ziemlich handzahm, weil es keine Antworten verlangt. Man könnte ein einfaches ingore machen, wenn mehr als 5 Anfragen in 10 Sekunden kommen, oder so. Und doch wäre es für mich eben eine prinzipiellere Frage, wie mit solchen Dingen handwerklich umgegangen wird. Wo bzw. wie lernen denn das die Profis? Die kucken doch wohl auch nicht nur in fremdem Code nach. Ich weiß, nicht sehr spezifisch, die Anfrage. Aber ich bin ja auch ein Anfänger und weiß nicht mal, wo ich da am besten anfange...

    Mir ging's gar nicht mal so sehr um Standard-Protokolle. Dafür gibt's ja oft schon sehr gute Libraries. Mal ein Szenario: Man entwirft ein Spiel und baut dafür Clients und Server. Diese Kommunikation herzustellen ist an und für sich einfach. Aber schon da geht's los: Wie sorge ich dafür, dass mir keiner in den Server einbricht? Oder mir den einfach durch genug Anfragen abschießt? Oder mit einem getürkten Server die Clients als Einfallstore nutzt. Solche Fragen meine ich damit, dass ich, wenn ich Software gestalte, nicht diese Sorten Löcher offen habe. Das was die vom BSI da beschreiben, sind mehr so Grob-Beschreibungen, was ich eben gesehen habe.

    Gibt es eigentlich irgend ein (einigermaßen aktuelles) Buch, das einem Anfänger erklärt, wie man sauber Netzwerkanwendungen schreibt? Aktuell stümpere ich ja fröhlich vor mich hin, und bin zufrieden, wenn die Anwendung macht, was ich von ihr erwarte. Aber das war's im Prinzip auch schon.


    Ich mein, es gibt Firmen, die Security Audits von Software machen. Es muss also wohl irgend eine Art »anerkannter Stand der Technik« dahinter stecken, also Konzepte, Do's & Dont's, was man bei der Netzwerkprogrammierung so machen kann/sein lassen sollte. Gibt's dazu nicht irgend einen Schinken, der dem verständigen Leser diese Dinge näher bringt? Ich mein, ich würde ja nicht mal wissen, wie man einen Bufferoverflow verhindert, geschweige dessen, woran ich erkenne, dass ich potenziell eine solche Angriffsfläche liefere. Dann gibt's sicher noch 1000 andere solche Dinge. Hat kennt da jemand selbst ein Buch, das er empfiehlt? Deutsch oder Englisch sollte es sein, sonst kann ich nicht viel damit anfangen... ;-)

    Naja, ein massiver Vorteil der SSD ist ja nicht nur die serielle Datenrate, sondern vor allem beim zufälligen Lesen auf der SSD, bzw. generell dann, wenn der Lesekopf viel auf einer Festplatte rum springen würde. Das merkt man auch bei einer langsamen SSD noch ganz erheblich, egal ob das jetzt 500 oder 100 MB/Sek. sind.

    Zur Frage 2: Da XP von SSD nichts weiß und dann munter immmer im selben Block rumschreibt, und die SSD daher schneller killt, als ein moderneres OS, hatte ich mir damals eine Anpassung der wichtigsten Einstellungen als zu importierende REG-Datei ergoogelt (macht alles, was man an XP ändern kann, damit es SSD-freundlicher wird, TRIM wirst du für XP aber nicht finden).

    Ich dachte immer, den speziellen Aspekt erledigt eine SSD selbst, Stichwort Wearleveling. Da hat doch das OS gar nichts mit zu schaffen. Was dann auch der Grund ist, warum einfaches Überschreiben von Dateien zum sicheren Löschen derselbigen nichts bringt, weil für jeden Schreibvorgang was anderes getroffen wird, als vorher. Das Problem, dass TRIM nicht existiert für XP, ist WIMRE doch auch nur eine Frage für die Performance, weil die Blöcke dann eben direkt vor dem Schreiben gelöscht werden, statt ab und an, wenn's gerade nicht stört.

    Was mir gerade noch kommt (mit geeigneter Einrichtung sicher möglich): NextCloud/OwnCloud mit entsprechendem Client auf den Rechnern. Die können auch automatisiert mit dem Server synchronisieren, sodass es letztlich egal ist, an welchem Rechner man sitzt, so lange man eine Netzwerkverbindung zum Server hat. Ist aber ggf. etwas mit Kanonen auf Spatzen schießen.

    Die GPL allerdings fordert noch viel mehr: Sie erzwingt, dass auch jedes abgeleitete Werk, das in Zukunft eventuell einmal entsteht, nur als freie Software nach genau dieser Definition veröffentlicht werden kann, und zu diesem Zweck muss sie eben fordern, selbst auf jedes abgeleitete Werk angewandt zu werden. Das ist schon ein sehr gewaltiger Eingriff. GPL ist quasi "viral".

    Ich glaube, das ist auch genau die Idee dahinter: Es kann nur mehr werden. Kann man schlecht finden, kann man gut finden. Wenn man's nicht so toll findet, einfach nicht diese Lizenz verwenden, bzw. nicht an Projekten arbeiten, die auf einer entsprechenden Lizenz beruhen. Schränkt natürlich ein. Ist aber eine persönliche Entscheidung.

    OpenSource bedeutet doch aber nur, dass man den Quellcode auf Anfrage an den Kunden geben muss, nicht dass man ihn automatisch für Jedermann ins Internet stellen muss, oder?

    Open Source heißt zunächst erst mal nur, dass der Code vom Autor/Rechteinhaber irgendwie™ offengelegt wurde. Also nicht geklaut. Ein Hack beim Softwarehersteller macht den Quellcode vielleicht verfügbar, aber Open Source wird's davon noch lange nicht. ;-) Das ist nicht das gleiche wie freie Software. Du kannst dir den Code dann z. B. ansehen. Evtl. sogar compilieren. Aber spätestens beim Nutzen geht's los, dass die Lizenzvereinbarung eingehalten werden muss, bzw. eine vorliegt. Beim Verändern wird's noch spannender und beim Verkaufen wird's dann endgültig lustig.


    Ich arbeite in einer Firma, deren Software in Perl geschrieben ist. Da ist quasi Quelloffenheit built-in. Aber wir lizenzieren sie ganz normal gegen Geld in Abhängigkeit der Anzahl der Installationen und Nutzer, plus Wartungsverträge, die regelmäßig erneuert werden müssen, wenn man neue features und support bei speziellen Problemen haben will. Die Weitergabe ist auch nicht gestattet. Wer dran rum dreht, hat sofort die Supportansprüche verloren (klar, wir fixen doch nicht deren bugs?!?).


    In unserem Fall könnte ein Konkurrent sicherlich einen Blick rein werfen, wenn er denn an eine Kopie kommt. Aber er hätte erst mal nicht viel davon, denn bis er das alles durchsteigt, was da in vielen Jahren an Hirnschmalz und Ideen rein gewandert ist, hat er es vermutlich genau so leicht selbst neu geschrieben. Es ist also definitiv Open Source, aber von freier Software so weit weg wie die Erde von der Sonne. Deswegen die beiden Sachen am besten nie in einen Topf werfen. Freie Software verlangt Quelloffenheit, aber nicht anders rum.

    Naja, an und Pfirsich ist die Sache recht einfach: Ein äußeres Magnetfeld ist zunächst erst mal einfach nur da. Wenn nicht auf irgend einem Wege ein Gegenfeld dazu aufgebaut wird, dass das äußere kompensiert (Beispiel: Supraleiter), hast du halt einfach ein Feld drin. Ob das jetzt wechselt oder nicht ist erst mal egal, solange nicht gerade dein Material eine Spule bildet. Dann wird's noch komplizierter. Wenn das Material von sich aus die Eigenschaft hat, auf ein äußeres Feld mit einem nennenswerten Gegenfeld zu reagieren, schaut die Sache anders aus. Alu gehört ganz sicher nicht dazu. Da geht alles durch, und nebenbei wird noch kräftig wirbelstrominduziert.

    Sagen wir mal so: Urheberrecht gut und schön. Ist ja eh schon immer eine Frage, was das allein bringt. Letztlich ist das spannendere vermutlich meistens das Verwertungsrecht. Also wenn jemand Kohle damit machen will. Und wenn das von niemandem mehr wahrgenommen wird, muss man sich schon fragen, was das soll. Nur zum Vorenthalten ist das Urheberrecht sicherlich nicht gedacht. Heise vermarktet ihr altes Zeug nach wie vor, also finde ich es durchaus nicht unfair, wenn man ihnen dann auch das Geld in die Hand rückt, für ihre Leistung. Offensichtlich haben sie's nicht aufgegeben und enthalten auch niemandem was vor. Aber für lau iss halt auch nicht. Und das ist OK. Sie tun ja nach wie vor was dafür, was das rechtfertigt.

    Also ums mal von der pragmatischen Seite her zu beantworten: Du kannst selbst die Minimalinstallation von Winamp nehmen, um OGG out of the box abspielen zu können.


    Das war genau einer der Aspekte, den ich damals einfach geliebt habe: Kann praktisch jedes Audio-Format abspielen, auch so Zeug wie mods oder sids, wenn man die Plugins hat. Bisschen wie VLC bei Videos. Für mich das Dreamteam, weil jeweils auf das abgestimmt, wofür sie gut sind: Musik abspielen, oder eben Videos. Deswegen fand ich es damals auch mehr so halb sinnvoll, als die Videos bei Winamp dazu kamen, aber irgendwie doch nicht das gewohnte Kann-Alles-Abspielen-Gefühl auf kam. Weil... viele Videoformate konnte er halt nicht, anders als der VLC.

    Vor allem das ID3 Tags einlesen dauert tatsächlich gefühlt ewig. Wenn man sich ansieht, wie flott das beim erstmaligen Einlesen in die Library geht, fragt man sich schon, wieso das in der Playlist so lange dauert. Wenn das in der neuen Version schneller geht, ist das schon ein Fortschritt.