Frage:
Kann ich einem Papier vertrauen, das Implementierungsdetails verbirgt?
Eliezer
2015-12-07 02:23:28 UTC
view on stackexchange narkive permalink

In der Informatik werden wir manchmal beauftragt, die Ergebnisse eines bereits veröffentlichten Papiers zu reproduzieren. In vielen Fällen (die meisten von ihnen) ist der Code nicht verfügbar, was die Aufgabe schwieriger macht.

Diese Frage bezieht sich jedoch auf die Fälle, in denen der Code verfügbar ist, jedoch viele Dinge, die der Autor in seinem Code tut werden in dem veröffentlichten Artikel nicht beschrieben.

  • Ist das ethisch?

  • Wie gehe ich vor, wenn viele im Code dargestellte Dinge im Originalmanuskript nicht erklärt werden?

  • Was ist, wenn der Code von der Autorenseite verschwinden? Werden die Ergebnisse wieder im Universum existieren?

Haftungsausschluss

  • Hier geht es nicht darum kleinere Details im Code, aber große Löcher dunkler Materie.

  • Nehmen wir an, wir sprechen von Zeitschriftenartikeln mit mehr als 10 Seiten.

Beschuldigen Sie die Beschränkungen für Journalseiten und Wörter, die es unmöglich machen, * alles * zu beschreiben, was die Software tut.
Beschuldigen wir die Zeitschriften und machen sie voll von Dingen, die Menschen niemals reproduzieren können.
Wie kann man als Leser des Papiers sicher sein, dass die "riesigen Löcher der dunklen Materie" von den Autoren nicht als triviale Details wahrgenommen werden oder Details, die durch andere Beiträge weitgehend aufgewogen werden? Ich denke, es gibt eine Frage der Perspektive, die man berücksichtigen sollte. Ich bin oft völlig anderer Meinung als eine Autorin über den Hauptbeitrag ihrer Arbeit.
@schester Ich denke, Ihr Standpunkt ist sehr interessant, und die gesamte Diskussion im Thread ist sehr hilfreich. Ich versuche die Situation zu verstehen. Vielen Dank für die Antworten!
_Blame Journal Seite und Wortanzahl Grenzen_ - Ich habe noch nie von solchen Dingen in der Informatik gehört.
Zu Ihrer Information: [Warum begrenzen so viele Veröffentlichungsorte die Länge der eingereichten Beiträge?] (Http://academia.stackexchange.com/q/57071/452)
Sind Sie sicher, dass es der gleiche Code aus dem Papier ist? Hat es einen Zeitstempel? Ich bin auf ein ähnliches Problem gestoßen, nur um festzustellen, dass Benutzer ihren Code nach der Veröffentlichung aktualisieren, wobei möglicherweise ein anderer Algorithmus verwendet wird, unabhängig davon, ob die alten funktionierten oder nicht.
Vielleicht ist CS anders, aber ich dachte, das Papier ist der Hauptbeitrag, und der Code existiert nur, um die Ergebnisse im Papier zu rechtfertigen. IMO sollte also die wichtige Frage sein, ob der Code die Ergebnisse liefert, die das Papier behauptet. Es scheint, als würden Sie etwas anderes fragen, nämlich ob das Papier den Code vollständig erklärt.
@DavidZ Es gab mehrere herausragende Beiträge zu CS, die einfach im Internet verfügbar gemacht und nicht in einer Zeitschrift veröffentlicht wurden, manchmal speziell, weil die Autoren der Ansicht waren, dass eine Veröffentlichung ohne Bereitstellung von Code und / oder die Einschränkung des Zugriffs hinter a nicht akzeptabel war Paywall war schädlich (die ACM hat seit dem Aufkommen des öffentlichen Zugangs zum Internet ein interessantes Hin und Her zu diesem speziellen Thema gehabt). Anders als beispielsweise in der Materialforschung oder in der Genetik sind die Werkzeuge, die zur Reproduktion eines Experiments in der Informatik erforderlich sind, oft buchstäblich zur Hand.
@zxq9 in der Tat, aber in Fällen, in denen man sich entscheidet, ein Papier zu veröffentlichen und zugehörigen Code freizugeben (worüber ich spreche), und in denen es darum geht, einen neuen Algorithmus oder eine neue Technik zu zeigen, anstatt ein Softwareprodukt zu bewerben, I. Ich würde denken, das Papier ist primär.
@DavidZ Hängt mehr von der Perspektive des Lesers ab als vom Autor, imo. Wenn ein Autor eine neue Arbeit schreibt und eine neue Technik erklärt, was die Kompromisse sind, wie das Konzept entstanden ist usw., dann ist die Arbeit sicher primär. Der Quellcode ist jedoch eine Form der vollständigen Spezifikation, und wenn der Zweck eines Lesers darin besteht, eine Lösung in einer anderen Sprache zu implementieren oder sie auf genau äquivalente Weise umzugestalten, kann die Quelle die einzige eindeutige Definition dessen sein, was "genau äquivalent" sein kann wirklich gemein. (Dies bezieht sich auf das RFC-Ungenauigkeitsproblem.)
@BenVoigt Ich habe das sogar in der "erweiterten Version" gesehen, die in ArXiv oder auf der Homepage des Autors veröffentlicht wurde. Einige der Täter-Sätze waren "[die Merkmale sind ...] und einige physikalisch-chemische Eigenschaften", "einige der Merkmale sind gemittelt"; während sie eine ganze Seite widmen, um Dinge wie einen RBF-Kernel zu erklären. In diesen Fällen war der Code nur als Binärdatei verfügbar.
Wenn niemand seine Ergebnisse mit dem angegebenen Material reproduzieren kann - Artikel plus Code, der nicht verfügbar, nicht lesbar und / oder nicht ausreichend dokumentiert ist -, dann ist diese Veröffentlichung nicht gut.
Binärdateien reichen aus, um die Ergebnisse zu reproduzieren. Warum möchten Sie den Code?
@SylvainPeyronnet Weil der Code sehr oft etwas anderes angibt, als die Autoren dachten oder beabsichtigten (logische Fehler sind eine Sache). Das bedeutet, dass die Binärdatei ein unerwartetes Ergebnis sein kann und im Allgemeinen, aber nicht immer, eine andere Erwartung erfüllt als erwartet. * Dies ist so ziemlich jeder logische Fehler jemals *. Code dokumentiert die Absicht, während die Binärdatei nur eine rohe Implementierung eines Ergebnisses einer Kompilierung auf einer Plattform ist. Dies berührt nicht einmal zufällige Unterschiede in Binärdateien, wie z. B. Unterschiede zwischen Compilern.
Fünf antworten:
Stuart Golodetz
2015-12-07 04:43:38 UTC
view on stackexchange narkive permalink

Als Forscher bin ich im Allgemeinen sehr daran interessiert, so viele Implementierungsdetails wie möglich aufzunehmen. Allerdings:

  1. In einem Artikel steht selten der Raum zur Verfügung, um jedes Detail einer Implementierung zu beschreiben.
  2. Die Beschreibung jedes Details einer Implementierung in Prosa erfordert häufig wesentlich mehr Arbeit als Schreiben Sie das Programm an erster Stelle. Die Bedeutung von Code (der in einer formalen Sprache geschrieben ist) ist im Allgemeinen eindeutig. Die Bedeutung der Prosa (die in natürlicher Sprache geschrieben ist) kann oft mehrdeutig sein. Das Auflösen der Unklarheiten in der Prosa erfordert Zeit, Mühe und Sorgfalt - es ist oft schwieriger als das Schreiben des Codes.
  3. Forscher sind im Allgemeinen sowohl sehr beschäftigt als auch unter großem Druck von oben, schnelle Ergebnisse zu erzielen und sich zu bewegen auf neue Projekte. Sich diesem Druck zu widersetzen, bestehende Arbeiten zu einem ordentlichen Abschluss zu bringen, ist eine gute Sache, aber es gibt Grenzen, wie lange Sie damit verbringen können, und leider bietet die Belohnungsstruktur im akademischen Bereich wenig Anreiz, dies zu tun.
  4. ol >

    Es ist zu begründen, dass die Umsetzung in der Wissenschaft nicht in dem Maße geschätzt wird, wie es sein sollte. Selbst wenn es angemessen bewertet würde und es keine Seitenbeschränkungen für Papiere gäbe, würden einzelne Forscher dennoch Opportunitätskosten verursachen, wenn es darum geht, eine umfangreiche Dokumentation zu erstellen, in der die Implementierungsdetails ihres Codes beschrieben werden. Die Lebenszeiten der Menschen sind begrenzt: Die Zeit, die für die Beschreibung aller Details des alten Codes aufgewendet wird, kann alternativ für die Entwicklung und Umsetzung neuer Ideen aufgewendet werden. Einige alte Codes sind so nützlich und wertvoll, dass es sich lohnt, viel Zeit damit zu verbringen, sie zu beschreiben, aber das stimmt sicherlich nicht in allen Fällen. Viel Code (insbesondere gehackter Forschungscode) ist auf lange Sicht einfach nicht so wertvoll: Die Zeit, die für die Beschreibung aufgewendet wird, könnte besser für etwas anderes aufgewendet werden.

    Um Ihre Fragen direkt zu beantworten, dann:

  • Ja, es ist ethisch korrekt, nicht jedes Detail Ihrer Implementierung zu beschreiben. Meistens können Sie dies nicht und in den Zeiten, in denen Sie dies können, ist ein angemessener Teil der Zeit nicht die beste Verwendung deine Zeit. Trotzdem bin ich der Meinung, dass Sie zumindest angemessene Anstrengungen unternehmen sollten, um guten, klar dokumentierten Code zu schreiben, ihn für alle Zeiten im Web zu veröffentlichen (z. B. auf GitHub) und zumindest zu beschreiben Wie die Methode so funktioniert, dass jemand, der den Code liest, weiß, was los ist.

  • Wenn die Dinge im Code nicht im Originalmanuskript enthalten sind, lesen Sie zunächst und den Code ausführen, um zu sehen, ob Sie herausfinden können, was los ist. Wenn dies nicht klar ist, lesen Sie etwas herum, um zu sehen, ob andere Quellen Ihnen Hinweise geben können. Wenn alles andere fehlschlägt und es wichtig ist, dass Sie die Details verstehen, senden Sie eine E-Mail an die Autoren. Wenn sie Sie ignorieren, geben Sie ihre Methode auf und verwenden Sie etwas anderes.

  • Der Code kann aus verschiedenen Gründen von der Autorenseite verschwinden - möglicherweise haben sie aufgehört, für das Hosting zu bezahlen , zum Beispiel. Wenn Sie den Code in dieser Situation benötigen, senden Sie sie per E-Mail. Wie oben erwähnt, empfiehlt es sich, Ihren Code in ein öffentliches Repository zu stellen, damit er herumhängt, aber es ist nicht unethisch , wenn Sie dies nicht tun (nur nicht hilfreich).

Ich könnte mich im Bereich der Implementierungsdetails nicht mehr einigen. Ich konnte Ihnen nicht sagen, wie oft ich eine wissenschaftliche Arbeit (oder einen Teil eines Lehrbuchs / usw.) gelesen habe, in der es so aussieht, als ob der eigentliche Algorithmus im Algorithmus als "Übung für den Leser" belassen wird.
Danke für die Antwort! Ich werde es als die beste Antwort markieren. Ich bin sehr zufrieden mit all den Erkenntnissen, die dieses Thema liefert.
o-0
2015-12-07 03:01:56 UTC
view on stackexchange narkive permalink

Kurze Antwort : Sie befinden sich an der Kreuzung, wenn Sie das Spiel, den Spieler oder beides beschuldigen. Zeigen Sie das Papier / Tagebuch Ihrem Vorgesetzten oder einer Führungskraft, wenn Sie können. um Ihnen bei Ihrer Entscheidung zu helfen.

Längere Antwort : Alles hängt von einer Sache ab: ob das Schreiben eines Codes ein Beitrag ist oder nicht. Nun, es ist eigentlich eine Grauzone. Ich würde ein Informatikpapier / -journal mit Code wie folgt beurteilen:

  1. Kennen Sie den Kontext und die Versprechen : Was ist der Kontext? Ist es nur ein Werkzeug, das etwas demonstriert? Oder eine Sprache, die verspricht, Wunder zu wirken? Wenn es stark codeorientiert ist, sollte der Code in der Veröffentlichung klar dargestellt werden.

  2. Semantisches Backup : Beweisen die Autoren ihre Versprechen mit Semantik? Wie tief gehen sie in ihre Semantik ein?

  3. Saubere Verbindungen zwischen Semantik und Programmen : Zeigen sie deutlich die Beziehung zwischen Semantik und Programm? Wenn nicht, ist es meiner Meinung nach eine rote Fahne. Hier fehlt etwas und die Autoren verstecken etwas.

  4. Erfolgsbilanz der Autoren : Sie können sich auch einfach ihre Aufzeichnungen ansehen und sehen, was sie bisher erreicht haben. und stützen Sie sich auch darauf.

    li

    Einige zusätzliche Arbeiten : Sie können sich auch den Code ansehen, wenn sie einen Link bereitstellen. Es ist nicht schwer, Mainstream-Sprachen zu kompilieren. Wahrscheinlich kompiliert ein einzeiliger Befehl den Code und Sie können es selbst sehen. Sie können sogar einen Teil ihres Codes in ein Suchmaschinenfeld kopieren, einfügen und von dort übernehmen.

  5. ol>

    Fazit : Sie sehen, dass all diese Punkte keine harten Regeln sind, die Ihnen bei der Beurteilung eines Implementierungsteils des Papiers helfen. Es ist am besten, sich von einem hochrangigen Akademiker (z. B. einem Vorgesetzten) helfen zu lassen, um Sie bei Ihrer Entscheidung zu unterstützen.

Es kann sehr schwierig sein, Code zu erstellen, abhängig von der Sprache, den benötigten Abhängigkeiten und der Einrichtung des Builds. Forschungscode ist tatsächlich oft recht schwer zu erstellen, da nur wenig Aufwand für die ordnungsgemäße Einrichtung des Aufbaus erforderlich ist (oft ist es nur einfach, auf der Maschine des ursprünglichen Forschers aufzubauen).
@StuartGolodetz Ich weiß, dass dies jedoch keine Entschuldigung für den Autor des Papiers sein sollte, einen beschissenen Code bereitzustellen, der nicht ausgeführt werden kann. Sie können einfach ihren gesamten Code und alle ihre Abhängigkeiten in einer Zip-Datei enthalten und eine Bash dafür schreiben oder Container von Drittanbietern verwenden. Auch dies ist ein Problem in der CS-Domäne und einige Leute nutzen es leider aus. Dies ist eine Grauzone, die Sie benötigen, um eine Entscheidung für das Vertrauen des Papiers mit einem hochrangigen Dozenten zu treffen.
@StuartGolodetz Auch ... schauen Sie sich große Open-Source-Sprachen / Betriebssysteme an, die Sie aus der Quelle mit all ihren Abhängigkeiten aufbauen können. Meiner Meinung nach (das könnte für einige Akademiker extrem sein) haben die Forscher ihren Job nicht gemacht, wenn der Code nicht ausgeführt oder demonstriert werden kann. Wenn sie einen Artikel über nur Theorie veröffentlichen wollen, dann ist das ein weiteres Ballspiel.
Die meisten Informatiker können keine hochwertige Software schreiben, weil sie nicht über die Ausbildung oder Erfahrung dafür verfügen. Schlimmer noch, Forschungscode wird normalerweise von den am wenigsten erfahrenen Teammitgliedern geschrieben. Wenn die Leute anfangen, Best Practices zu lernen, wechseln sie normalerweise zu übergeordneten Themen, und die Programmieraufgaben werden neuen Schülern zugewiesen.
@DaveRose: Ich habe in erster Linie argumentiert, dass Ihre Behauptung, dass "es nicht schwer ist, Mainstream-Sprachen zu kompilieren", keineswegs immer wahr ist. Im Allgemeinen ist das Einrichten plattformübergreifender Builds, die bei allen Setups zuverlässig funktionieren (einschließlich derer, auf die Sie möglicherweise keinen Zugriff haben), nicht trivial, selbst wenn Sie über ausreichende Erfahrung verfügen. Viele Forscher (insbesondere Forscher im Frühstadium) * haben * diese Erfahrung nicht und ihr Code kann daher schwer zu erstellen sein.
@DaveRose: Um es festzuhalten, ich argumentiere nicht, dass ihr Code * schwer * zu erstellen sein sollte - ich verbringe viel Zeit damit, Menschen dabei zu helfen, ihre Erstellungsprozesse zu verbessern - ich argumentiere nur, dass dies manchmal der Fall ist. Das kann daran liegen, dass sie sich nicht die Mühe gemacht haben, einen anständigen Erstellungsprozess einzurichten, oder dass sie keinen besseren Weg kennen, dies zu tun. Das zugrunde liegende Problem in beiden Fällen ist, dass es nicht einfach ist, Dinge zuverlässig zu erstellen, insbesondere Dinge mit vielen Abhängigkeiten. (Dieser Kommentar basiert auf einem angemessenen Zeitaufwand für die Automatisierung von Builds von Code von Drittanbietern.)
Dan Romik
2015-12-07 03:16:13 UTC
view on stackexchange narkive permalink

Ist das ethisch?

Ich sehe dies nicht als eine Frage der Ethik. Ist es unethisch, ein schlechtes oder nicht nützliches Papier zu schreiben? Nein, es ist einfach das Beste, was manche Menschen erreichen können (oder wollen). Indem die Autoren des Papiers keine Implementierungsdetails angeben, schränken sie den Nutzen und die zukünftigen Auswirkungen ihrer Papiere eindeutig ein. Trotzdem kann das Papier immer noch etwas nützlich sein, so dass ich nicht verstehe, warum irgendjemand die Veröffentlichung eines solchen Papiers für unethisch hält. Die einzige Ausnahme besteht darin, dass die Autoren unehrlich über ihre Behauptungen sind, was der Algorithmus kann oder wie gut er funktioniert, und Implementierungsdetails absichtlich verbergen, um zu verhindern, dass ihre Unehrlichkeit aufgedeckt wird. Offensichtlich wäre das unethisch.

Wie geht man vor, wenn viele im Code dargestellte Dinge im Originalmanuskript nicht erklärt werden?

Geben Sie Ihr Bestes, um die Löcher zu füllen. Wenn es zu schwierig oder zu aufwendig erscheint, die fehlenden Implementierungsdetails selbst zu rekonstruieren, sprechen Sie mit Ihrem Professor - er oder sie merkt möglicherweise nicht, dass er Ihnen einen unangemessen schwierigen Auftrag erteilt hat, und es wäre ihre Aufgabe, herauszufinden, wie Sie sollten fortfahren.

Was passiert, wenn der Code von der Autorenseite verschwindet? Werden die Ergebnisse wieder im Universum existieren?

Auch hier muss der Autor entscheiden, wie viel Arbeit er investieren möchte, um sicherzustellen, dass sein Papier eine lange Lebensdauer hat und einen bedeutenden Beitrag leistet . Es liegt auch an den Herausgebern und Rezensenten der Zeitschrift, einige Mindeststandards durchzusetzen. Aber am Ende des Tages, wenn der Autor sich nicht genug darum kümmert, dass ihre Arbeit einen Einfluss darauf hat, seinen Code in einem Repository abzulegen, das seine persönliche Webseite überdauern würde, ist das wirklich ihre Entscheidung, aber sie spiegelt sich nicht gut wider und begrenzt möglicherweise den kumulativen Nutzen ihrer Arbeit für die Gemeinschaft.

Zusammenfassend ist das, was wir hier sehen, ein Beispiel für Kurzfristigkeit , die Sie in allen Lebensbereichen sehen. Einige Autoren schreiben eine Arbeit nur mit dem Ziel, die kurzfristige Belohnung für die Veröffentlichung ihrer Arbeit zu erhalten (und die damit verbundenen professionellen Belohnungen, die das akademische Umfeld ihnen für eine solche Veröffentlichung gibt: Jobs, Beförderungen usw.) und geben sie einfach ein Mindestaufwand für die Erreichung dieses unmittelbaren Ziels. Andere kümmern sich viel mehr um die langfristigen Auswirkungen ihrer Arbeit auf die Forschungsgemeinschaft, was sich letztendlich auch in einem persönlichen Vorteil für sie niederschlägt, da sie einen Ruf als bessere Forscher entwickeln werden. Es sind die Forscher, die zu der letzteren Gruppe gehören, von denen Sie normalerweise als die berühmten, überaus erfolgreichen Autoritäten auf diesem Gebiet hören, die jeder bewundert. Ich empfehle daher auf jeden Fall, diesen Ansatz selbst zu verfolgen.

"Ist es ethisch korrekt, eine schlechte oder nicht nützliche Arbeit zu schreiben? Nein ..." Ich denke, Sie wollen irgendwo eine mehr oder eine weniger negative.
Verstanden und behoben, Entschuldigung für die Nachlässigkeit.
Paul Uszak
2015-12-07 19:19:42 UTC
view on stackexchange narkive permalink

Nein. Es ist nicht ethisch.

Wenn wir uns an Eliesers Szenario halten, kann ich einem Papier nicht vertrauen, das wunderbare Dinge enthält, aber zumindest nicht umreißt, wie sie erreicht wurden . Ich habe mehrere Artikel gelesen, in denen mathematische Modelle für Dinge und die enorm erfolgreichen Ergebnisse, die danach erzielt wurden, ausführlich beschrieben wurden, aber die Code-Implementierung weggelassen. Offensichtlich kann ich das Nichtvorhandensein von zugehörigem Code nicht bestätigen. Es könnte einmal irgendwo existiert haben.

In meinem traurigen Interessensbereich gibt es eine sehr bekannte Website, die von allen hoch geschätzt wird. Außer mir. Es enthält detaillierte Informationen zu seiner Funktionsweise und eine veröffentlichte Analyse der Ausgabe (auch einige in Echtzeit). Es wird kein tatsächlicher Code veröffentlicht, wie es funktioniert. Hmmm.

Scherzhaftes Beispiel: Ich habe gerade die wahre künstliche Intelligenz erfunden. Husar! Hier ist das Kit, mit dem ich es gemacht habe. Hier ist das Gespräch, das ich damit geführt habe und das den Turing-Test bestanden hat. Der (leicht verständliche Java-) Code, den ich geschrieben habe, befindet sich auf meiner Website und kann von Ihnen gelesen werden. Einschließlich des Bits in (undurchsichtigem) kompiliertem Maschinencode, den ich zufällig verwendet habe. Glauben Sie mir? Die Leute glaubten Volkswagen.

Glaubst du mir? Ich werde versuchen, dir zu glauben, wenn du deine andere Antwort löschst, die absolut unsinnig ist.
Paul, ich denke, Sie verwechseln zwischen nicht ethisch und nicht nützlich. Ironischerweise macht das Ihre Antwort nicht nützlich (obwohl es nicht unethisch ist), was genau die gleiche Unterscheidung veranschaulicht.
Klarstellung zu meinem vorherigen Kommentar: Ihr "scherzhaftes Beispiel" stellt tatsächlich unethisches Verhalten dar, da ich in diesem Fall (basierend auf Ihrem Hinweis auf Volkswagen) annehme, dass Sie sich auf einen Forscher beziehen, der betrügerisch behauptet, einen KI-Code entwickelt zu haben, der das Turing besteht testen, wenn er es tatsächlich nicht getan hat. Ich stimme zu, dass dies eindeutig unethisch ist, und sagte dasselbe in meiner eigenen Antwort. Wenn Sie jedoch tatsächlich echte KI erfunden haben und keinen vollständig von Menschen lesbaren Code oder keine Dokumentation bereitgestellt haben (was dem Szenario des OP näher zu sein scheint), ist dies wiederum nicht unethisch, sondern lediglich nicht hilfreich.
dwoz
2015-12-07 03:57:30 UTC
view on stackexchange narkive permalink

Ich denke, es ist völlig verständlich, dass Details eines Codebeispiels nicht dokumentiert werden. Nehmen wir zum Beispiel an, dass es in diesem Artikel um die Weitergabe von Ausnahmen in einem Befehlsstapel geht. Im Beispielcode führt der Autor eine knifflige, kleine, verschleierte Sortierung eines Arrays durch, die wiederholt wird, um eine Beispielausnahme zu erzeugen. Ist es wichtig, diese kleine Sortierroutine zu erklären? Nein ... es ist nur ein Beispielcode, der Sie zum Kern des Problems bringt.

Diese Antwort stimmt nicht wirklich mit der Beschreibung des OP von "riesigen Löchern dunkler Materie" überein.
@DanRomik ... lassen Sie mich Ihnen meinen lieben Freund vorstellen, "zügellose Übertreibung". Ich habe noch nie einen neuen Programmierer getroffen, der versucht hat, vorhandenen Code zu überarbeiten, der das Ding nicht als "Rattennest gottloser Spaghetti" deklariert hat.


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...