PHP 7.x ist recht neu und es gibt ständig neue Versionen.

Nichtsdestrotrotz hat PHP im Vergleich zu anderen Sprachen ein katastrophales Sprachdesign, eine oft fehlerhafte Dokumentation (die ohne die Kommentare auf php.net kaum nutzbar wäre) und eine extrem inkonsistente Standardbibliothek.

Diese drei Punkte treffen so stark auf keine andere Programmiersprache zu.

Fazit: PHP ist nicht veraltet, aber - verglichen mit anderen Sprachen - an vielen Stellen wirklich sehr schlecht durchdacht. Trotzdem hat auch PHP seine Daseinsberechtigung und ist für viele Dinge durchaus sinnvoll.

...zur Antwort

Das ist exakt das gleiche! "Anime" kommt von "Animation" und bedeutet genau das selbe wie "Zeichentrick".

Und das, was du mit "den Augen" andeutest, ist auch nur ein spezieller Stil. Es gibt in Japan aber unglaublich viele andere Animes, die einen völlig anderen Stil haben, und keine solche "Augen", von denen du redest.

Google mal nach bildern von "Chibi Maruko-chan", "Sazae-san", "Atashinchi", "Bonobono", "Kakko kawa", ... vorausgesetzt du findest mit romanisierter Umschrift etwas dazu.

Fazit: Anime bedeutet Zeichentrickfilm. Nicht mehr, und nicht weniger. Über den Stil sagt dieser Begriff rein gar nichts aus. :)

...zur Antwort

Du musst das Pipe-Zeichen auch escapen:

^(\d+\|\d+\|)(\d+)(\|\d+\|)(\d+)(.*)

Als Replacement:

\1\4\3\2\5
...zur Antwort
Zerstört das deutsche Sprachgefühl

Fast alle gegenderten Ersatzwörter haben eine teilweise gravierend andere Bedeutung, bezogen auf das ursprüngliche Wort. (z. B. Studierende vs. Studenten)

Das heißt, es gibt kaum gegenderte Wörter, die man einfach so einsetzen kann, ohne den Sinn eines Satzes zu verändern.

Für wie wichtig man gendern auch halten mag, bitte nicht zu diesem viel zu hohen Preis!

Im Übrigen gibt es ca. 25% mehr weibliche Substantive, als männliche. Und auch der Plural wird mit "die" beschrieben, sowie die höfliche Form mit "Sie". Hoffentlich fühlen sich da jetzt nicht noch einige Männer diskriminiert ... das wäre dann ja Chaos pur. :)

...zur Antwort

Implementiere deine plus() und minus() Methoden doch einfach wie folgt:

void Klasse::plus(const double x) {
  if (false == negative) {
    val -= x;

    if (val < 0.0) {
      negative = true;
    }
  }
}

Statt "false == negative" kannst du natürlich auch "!negative" schreiben, und an deiner Stelle würde ich sämtliche Bezeichner (Klassen-, Methoden-, Variablen-Namen) auf Englisch schreiben, aber da du ja noch am Anfang stehst, wollen wir mal darüber hinweg sehen. :)

...zur Antwort

Die Schulzeit, in der Kanji gelernt werden, zieht sich über viele Jahre hinweg. Außerdem kennen die Schüler die meisten On- und Kun-Lesungen bereits aus ihrem alltäglichen Wortschatz, zzgl. entsprechender Vokabeln ... ein Wissen, auf dass ein deutscher Sprachanfänger leider nicht zurück greifen kann.

Aber auch als Deutscher ist das jetzt nicht soooo schwer, sofern du dir erst mal ein Radikalsystem merkst und dann mit handgeschriebenen Vokabelkarten arbeitest. Da muss man schon sehr auf den Kopf gefallen sein, um sich pro Tag keine 10 Kanji und deren Lesungen merken zu können.

Und wenn du das durch hältst, dann bist du in spätestens einem dreiviertel Jahr mit den Joyo-Kanji durch. Also alles halb so wild, wenn du dir das Ganze in handliche Lernhäppchen einteilst. :)

...zur Antwort

Wer streitet das denn beispielsweise ab?

Ich hab das bisher eigentlich nur so wahrgenommen, als ob sich alle recht einig sind, dass Überbevölkerung ein großes Problem ist.

Klimawandelleugner, Impfgegner, Homöoepathie-Gläubige, Flacherdler, usw. gibt es ja eine ganze Menge, aber Überbevölkerungsverneiner? Hab ich noch nichts von mitbekommen. :)

...zur Antwort

Da der Austausch unter Sicherheitsexperten nicht verboten ist, findest du sogar im Clearnet unzählige wirklich gute Foren mit echten Experten.

Natürlich kannst du dir solche Seiten auch mal im DarkNet angucken, ist aber im Grunde genommen Quatsch.

Viel Spaß, aber denke bitte immer an deine Mitmenschen, die genauso gut deine Mutter / Schwester / Freundin / bester Kumpel / Onkel / Großvater / wer auch immer sein könnten! Mach also bitte nichts, was der Allgemeinheit schadet.

Ein "echter Hacker" handelt moralisch verantwortungsbewusst und nur Idioten schaden anderen Leuten. Behalte das bitte immer im Hinterkopf. Vielen Dank im Voraus! ;)

...zur Antwort
Er hat recht

Natürlich hat Rezo Recht, und alles was er aufzählt hatten schon Jahre / Jahrzehnte vorher Journalisten von den gängigen Politmagazinen (Monitor, Frontal 21, Kontraste, Panorama, ...) aufgedeckt.

Schön, dass die Schweinereien der CDU so langsam auch mal bei der jungen Generation ankommen.

Es wäre begrüßenswert, wenn Rezo noch einen zweiten, dritten und vierten Teil von seinem Video machen würde. Stoff dafür gibt es alleine aus den letzten Jahren ja genug, wenn man bedenkt, wie unglaublich viel Dreck die CDU am stecken hat. :)

PS: Die SPD wollen wir auch nicht vergessen!

...zur Antwort

Also wenn ich deine Identität herausfinden wollen würde, dann würde ich einen Bug in einem Server ausnutzen, den du oft über TOR nutzt und im ersten Schritt dort eine kleine Software platzieren auf dein individuelles Verhalten reagiert ... also zum Beispiel merkt, wenn du dich dort unter deinem Nicknamen einloggst.

Im zweiten Schritt würde dann diese Software ein Exploit extra und nur für dich ausliefern um in deinem TOR-Browser Code auszuführen. Von diesem Zeitpunkt an hätte ich dann zwar deine Klar-IP, mit der ich allerdings nix anfangen könnte, da ich ja keine Strafbehörde bin. Allerdings würde ich remote deine Dokumente, Mails und Dateien nach Hinweisen durchsuchen, und vermutlich fündig werden.

Du kannst aber relativ beruhigt sein, da es nicht soooo leicht ist, Zero-Day-Bugs in Serversoftware oder Webbrowsern zu entdecken. Die Leute die das können sind rar gesät. Ich kann das zwar, und habe damit schon bei diversen Bugbounties Geld verdient, aber 99,999% aller Kinder, die dir drohen, dass sie dich "hacken" werden, können genau das nicht.

Die Wahrscheinlichkeit, dass du an einen wie mich gerätst, und den dann auch noch so stark provozierst, dass er recht hohen Aufwand treiben wird, um dich zu enttarnen, halte ich realistisch betrachtet für sehr gering.

Fazit: Ja, man findet ausnutzbare Fehler in Browsern und Serversoftware, aber die Leute, die das können, haben i. d. R. kein Interesse daran, andere Menschen zu deanonymisieren, sondern streichen ihr Preisgeld ein, und gut is ... :)

Es gibt natürlich immer wieder Idioten, die ihre Funde für noch mehr Geld verticken und somit auch relative Laien in die Lage versetzen, einen fertigen Exploit zu nutzen, aber diese Bugs werden meistens (!) recht schnell bekannt und werden gefixt.

Dass dich ein 08/15 Skriptkiddie enttarnt halte ich (fast) für völlig ausgeschlossen. :)

PS: Im Übrigen basierten alle bisherigen Enttarnungen ausschließlich auf der Dummheit der Betroffenen. Strafverfolgungsbehörden machen zwar immer ein Geheimnis um ihre Methoden, und deuten gerne mal an, was sie ja alles "könnten", aber am Ende bleibt davon rein gar nichts übrig. Kannst also ganz beruhigt sein! Die kochen auch nur mit Wasser! ;)

...zur Antwort
#include <stdio.h> /* fputs, puts */
#include <stdlib.h> /* calloc, EXIT_FAILURE, ... */
#include <stddef.h> /* size_t */

char * hexstr(
  const unsigned char * const buf,
  const size_t len
) {
  static const char * const hex = "0123456789ABCDEF";

  char * const str = calloc(len + 1, sizeof(* str));

  if (str) {
    for (size_t i = 0; i < len; ++i) {
      const unsigned char c = buf[i];

      str[i * 2] = hex[c >> 4];
      str[i * 2 + 1] = hex[c & 0xF];
    }
  }

  return str;
}

int main(void) {
  int result = EXIT_FAILURE;

  const unsigned char buf[] = { 0x23, 0x42, 0xBE, 0xEF };
  const size_t len = sizeof(buf) / sizeof(* buf);

  char * const str = hexstr(buf, len);

  if (str) {
    puts(str);
    free(str);

    result = EXIT_SUCCESS;
  } else {
    fputs("ERROR: Memory allocation failed.", stderr);
  }

  return result;
}
...zur Antwort

In Python geht beides und BEIDES ist korrekt! :)

Such dir die Variante aus, die dir am besten gefällt. :)

Du kannst das Ganze auch noch erweitern:

from codecs import open as copen

... dann kannst du in deinem Code statt "codec.open()" überall einfach "copen()" verwenden. :)

...zur Antwort

Also komm, gib dir mal bitte wenigsten ein BISSCHEN Mühe!

Die Lösung deiner Aufgabe steht sogar in der Manpage zu wait() als Beispielcode ziemlich genau direkt so drin, wie in deiner Aufgabenstellung gefordert!

Also wirklich ... ich hoffe, du bist kein Student, sondern nur ein Achtklässler.

Fazit: RTFM!

...zur Antwort

Das Stichwort, welches du suchst, heißt "Reverse Engineering" oder kurz "Reversing":

https://de.wikipedia.org/wiki/Reverse_Engineering#Software

Ich bin mir jetzt nicht sicher, aber ich glaube, dass ich momentan hier auf GF der Einzige bin, der das auch beruflich macht.

Meistens bekomme ich eine CD mit Dritthersteller-Software, und ich soll diese "kompatibel" mit der Firmensoftware machen. Dabei handelt es sich oft um uralte und nicht mehr supportete Software.

Anfangs analysiere ich Binaries (Programme und Bibliotheken) bzw. bringe diese erst mal in einen analysierbaren Zustand, da Software oft mit einem Kopierschutz oder EXE-Packern versehen ist.

Danach versuche ich grob ein (statisches) Verständnis über das Disasemblat zu erlangen und prüfe mit einem Debugger (dynamisch), ob meine Annahmen korrekt sind.

Der letzte Schritt, ein Stück Code einzuschleusen, welches eine selbst gebaute Schnittstelle bindet, ist dann meist kein soooo großes Problem mehr.

Das gemeinste ist immer, die Funktion von komplexen Strukturen zu ergründen, was oft zwar erstaunlich gut gelingt, aber an den letzten 10% beißt man sich gerne mal die Zähne aus, und hängt stundenlang fest.

Naja, ich nutze weder Teamspeak noch den Sinusbot, aber ich schätze, dass dieser genauso arbeiten wird.

Auf jeden Fall wirst du nicht viele Leute finden, die so etwas können, da die dafür benötigten Kenntnisse WEIT über das hinaus gehen, was man als Software-Entwickler normalerweise so treibt. :)

...zur Antwort
Explizite Typecasts sind sinnvoll.

Typecasts sind immer sinnvoll, da dein Code damit auch in C++ Programme eingebunden werden kann, ohne Fehler und / oder Warnungen zu erzeugen.

Denn anders als C erforder C++ explizites Casting.

Wenn du also eine Bibliothek schreiben willst, die sowohl mit einem C, als auch einem C++ Compiler übersetzt werden können soll, dann kommst du um explizites Casting (v. a. bei malloc()) nicht drum herum.

Aber Grundsätzlich muss ich sagen, dass ...

float f = 1.23f;
int i = f;

... für mein geübtes Auge auf den ersten Blick geradezu "Fehler!1!!11!" schreit. Wenn du klar machen willst, dass es hier ausdrücklich gewollt ist, dass der Nachkommateil entfernt wird, dann nutze einen Cast! Alles andere erzeugt im besten Falle Unsicherheiten und im schlimmsten Falle einen Bug. :)

...zur Antwort
Ja

Mit deinen 11 Jahren bist du vermutlich noch zu jung um das zu wissen, aber Hypethemen gibt es alle Jahre wieder.

Das, was heutzutage "künstliche Intelligenz" genannt wird, hat meistens überhaupt gar nichts damit zu tun, und bei den meisten Projekten werden nur althergebrachte Techniken wie "Bayes-Filter" eingesetzt, also nicht mal irgendwas, was auch nur entfernt mit Neuronalen Netzwerken zu tun hat.

Vor ca. 2 Wochen wurde eine Studie zur EU-Förderung von KI-Projekten veröffentlicht, die zu dem Schluss kam, dass ca. 90% der geförderten Projekte überhaupt rein gar nix mit künstlicher Intelligenz zu tun hatten, und es sich nur um kreative Fördermittelabschöpfung von Bullshit-Startups handelte.

In den 80ern und 90ern gab es schon mal so einen KI-Boom, wenn auch nicht so groß wie heute, aber im Grunde genommen haben auch heutige Ansätze rein überhaupt gar nichts mit "Intelligenz" im eigentlichen Sinne zu tun.

Nichtsdestrotrotz sind aktuelle Arbeitsweisen sehr interessant und man kann damit eine Menge Probleme lösen bzw. stark vereinfachen, für die es früher keine Aussicht auf Erfolg gab. Trotzdem ist das, was heutzutage als "KI" bezeichnet wird, kein Allheilmittel.

Fazit: Natürlich lohnt es sich für dich, programmieren zu lernen, und daran wird auch kein hipper Buzzword-Trend in den nächsten zich Jahren etwas ändern können.

Lass dich nicht von Worthülsen und Marketing-Geblubber demotivieren. Fast ALLE aktuellen großen KI-Projekte sind einfach nur Schwachsinn. Der Aufkleber "KI" wird heutzutage überall drauf gepappt, was irgendwie verkauft werden soll.

Also mach dir keinen Kopf und lerne programmieren ... und vergiss KI fürs erste! Du kannst dich ja ruhig später mal damit beschäftigen, aber du wirst vermutlich etwas enttäuscht sein, wenn du erkennst, worum es sich da eigentlich genau handelt.

...zur Antwort