Jammer-Thread

Hier kann über allgemeine Themen diskutiert werden, die sonst in kein Forum passen.
Insbesondere über Szene, Games, Kultur, Weltgeschehen, Persönliches, Recht, Hard- und Software.
Benutzeravatar
Sternmull
Establishment
Beiträge: 264
Registriert: 27.04.2007, 00:30
Echter Name: Til
Wohnort: Dresden

Re: Jammer-Thread

Beitrag von Sternmull »

Templates sind eine der Sachen bei denen ich mir in C++ schon öfter keyword-arguments gewünscht hab. Die Template-Paramter so zu sortieren das die "weniger wichtigen" hinten stehen und mit Defaults belegt sind ist eine sehr dünn gebohrte Lösung.
Spiele Programmierer
Establishment
Beiträge: 426
Registriert: 23.01.2013, 15:55

Re: Jammer-Thread

Beitrag von Spiele Programmierer »

Ich mache es in solchen Fällen einfach so, dass ich die Templateargumente in eine Klasse packe und dann nur diese übergeben.
Einer der Vorteile ist auch, dass man dann constexpr-Objekte und floats an ein Template übergeben kann.

Code: Alles auswählen

struct DefaultConfig
{
    static constexpr size_t Size = 4096;
    using ElementT = int;
    //...
};
template<typename ConfigT>
class Blub { ... };

//So zu verwenden...
struct MyConfig : public DefaultConfig
{
    using ElementT = int32_t;
};
Blub<MyConfig> Instance;
Benutzeravatar
Schrompf
Moderator
Beiträge: 4838
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Sind genau das nicht type traits?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ich habe jetzt herausgefunden, wo der Code kaputtgegangen ist:

Code: Alles auswählen

template <typename Foo> struct Outer {
	template<typename Bar> struct Inner {
	};
};

template <typename A> TestInner
		: public A::Inner<int> // B O O M
Diese Vererbung war entweder bis Visual C++ 2010 oder 2012 akzeptiert, aber danach nicht mehr. Ich weiß auch nicht, ob’s ein Bug oder Standardkonformität ist, da die 2015er Version error C2059: syntax error: '<end Parse>' ausspuckt -.- Ist auch egal, weil es viertel vor gestern funktionieren muss. Man umgeht es so:

Code: Alles auswählen

template <template <typename> typename A, typename B> using Resolve = A<B>;

template <typename A> TestInner
		: public Resolve<typename A::Inner, int> { };
Das war das einfache Problem. Das schwierigere ist, dass Visual C++ bis 2010 das hier unterstützt hat:

Code: Alles auswählen

template <template <typename> typename Foo>
struct Outer {
	template <typename Bar> struct Inner { };
	Inner<Foo> bad; // 'Foo' ist als Template deklariert, hier darf eigentlich nur Inner<Foo<int>> o.Ä. stehen!
}; 
Das kommt einige hundert Mal im Quelltext vor, und das äußere Template hat fast immer eine Parameterliste ähnlich der, über die ich oben gejammert habe, und der Parameter des inneren Templates kommt *nie* drin vor. Yay! typedef ins Template packen ist nicht, weil ich dann auch die Parameterliste zum Zugriff brauche … ich denke, ich kann mir ein Template schreiben, das den Template-Parameter aus einem Typ extrahiert, okay. Nur: Je nach Laune nimmt Foo auch mal *zwei* Parameter, und auch das ist überall bunt durchgemischt. WTF WTF WTF.

Sie hätten nur 'auto' benutzen müssen anstelle dieses ganzen Scheißes. Visual C++ 2010 konnte das, da bin ich mir sicher.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Spiele Programmierer
Establishment
Beiträge: 426
Registriert: 23.01.2013, 15:55

Re: Jammer-Thread

Beitrag von Spiele Programmierer »

Sind genau das nicht type traits?
Ich würde dass nicht "type traits" nennnen. Schließlich geht es hier nicht darum Eigenschaften eines Typen herauszufinden, sondern es ist einfach ein Compile Time Parameter.
Der <type_traits> Header enthält Typetraits.
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

80-MiB-Datei geladen. std::vector<char> benutzt, weil das mit stückweisem Laden so einfach ist. Jetzt hängt alles für zwei Sekunden wenn das Scope verlassen wird, weil der Destruktor alle 80 Millionen chars einzeln durchgeht. WTF?! Die scheiß STL fühlt sich immer mehr wie C# an
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Jonathan
Establishment
Beiträge: 2353
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

ähm, der ruft 80 Millionen mal eine Funktion auf, von der er genau weiß, dass sie absolut gar nichts tut? Da hätte ich anderes erwartet...
Ist das ein Bug oder soll das so?
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Schrompf
Moderator
Beiträge: 4838
Registriert: 25.02.2009, 23:44
Benutzertext: Lernt nur selten dazu
Echter Name: Thomas Ziegenhagen
Wohnort: Dresden
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Schrompf »

Eigentlich müsste der Optimizer das großräumig rauswerfen. Bist Du *sicher*, dass es daran liegt?
Früher mal Dreamworlds. Früher mal Open Asset Import Library. Heutzutage nur noch so rumwursteln.
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ich muss aber unoptimierten Code debuggen :( Jammere ich soooo oft über den Optimizer, dass er jetzt implizit zu mir gehört? Dass wir abends im Bett Löffelchen machen und ich zum wohligen Knistern eines kollabierenden Syntaxbaums in Träume entgleite, um morgens zum Duft einer frischen Executable blinzelnd die Augen zu öffnen?
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Ja! ;-)
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Krishty hat geschrieben:Ich habe jetzt herausgefunden, wo der Code kaputtgegangen ist:

Code: Alles auswählen

template <typename Foo> struct Outer {
	template<typename Bar> struct Inner {
	};
};

template <typename A> TestInner
		: public A::Inner<int> // B O O M
Diese Vererbung war entweder bis Visual C++ 2010 oder 2012 akzeptiert, aber danach nicht mehr. Ich weiß auch nicht, ob’s ein Bug oder Standardkonformität ist, da die 2015er Version error C2059: syntax error: '<end Parse>' ausspuckt -.-
Scheiße, es ist viel schwieriger. Also die haben eine Allokator-Klasse mit acht Template-Parametern. Diese Allokatorklasse wird als Parameter einer weiteren Allokatorklasse mit ebenso vielen Template-Parametern genutzt, und zwar für eine einfach verkettete Liste. Davon ist eine doppelt verkettete Liste abgeleitet, und davon eine Bucket-Liste, und davon ein Bucket-Allokator, oder so. Und die Klassen sind jeweils Unterklassen einer größeren Layout-Klasse (mit zwei Template-Parametern weniger), also sind da ungefähr zehn Templates mit insgesamt um die 100 Template-Parametern ineinander verschachtelt. Jedes Mal, wenn ich eine Klasse auseinandergepopelt habe, springt der Compilerabsturz zur nächsten weiter. Ich befürchte, dass da überhaupt kein Fehler im Quelltext ist, sondern dass Visual Studio einfach kapituliert weil ein interner Puffer überläuft oder so. Clang kann ich vergessen weil schon vor Erreichen dieses Templates hunderte Stellen kaputt sind. fuckfuckfuck
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Drei Versionen:

  using Foo = Class::Member<int>;

Funktionierte mit Visual Studio 2010; heute nicht mehr … wahrscheinlich, weil das typename for Member fehlt; kA, habe den C++-Standard nicht gelesen.

  template <template <typename> typename Tmplt, typename P> using Resolve = Tmplt<P>;
  using Foo = Resolve<typename Class::Member, int>


Funktioniert mit Visual Studio 2015.

  template <template <typename> typename Tmplt, typename P> using Resolve = Tmplt<P>;
  template <typename Outer, typename P> using Get_Member = Resolve<typename Outer::Member, P>;
  using Foo = Get_Member<Class, int>


Funktioniert NICHT sondern wirft absurde Warnungen. Wo ist das denn bitteschön anders als die vorherigen beiden?!

Nachtrag: Okay; jetzt habe ich herausgefunden, dass die korrekte C++-Syntax lautet:

  using Foo = Class::template Member<int>;

Wie intuitiv! Jetzt bekomme ich noch immer tonnenweise Warnungen, aber zumindest andere als vorher.

Nachtrag 2: Ja, das war’s – innerhalb von zwei Minuten alle Fehler behoben. Fast zwei Tage erfolglos dran rumgetüftelt weil ich zu faul war, das Kapitel im C++-Standard durchzuarbeiten. Fuck. Dann weiter zur nächsten Baustelle: Da werden irgendwo Pointer-to-Member an Skripte übergeben und das kompiliert irgendwie nicht. Wie vielversprechend!

Nachtrag 3: #pragma todo("find out why user defined conversion operators work incorrect")
Weil sie für jeden noch so lächerlichen Grund implizit aufgerufen werden und das allerletzte sind, das man zur Typkonvertierung einsetzen sollte?! Ach ich vergaß – der Typ hatte ja auch die zehnfach verschachtelten Templates verzapft …
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Jonathan
Establishment
Beiträge: 2353
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Es gibt Gerüchte über Sponsored Locations in Pokemon Go. Egal ob sie in diesem Falle stimmen oder nicht, zeigt es für mich wie perfide Werbung mittlerweile geworden ist. Der Spieler wird demnächst also ohne das er es bemerkt an Orte gesteuert wo er dann, weil er eh schon gerade da ist, Geld ausgibt. Gepaart mit den üblichen Suchtmechanismen die eh schon viel zu gut funktionieren ist das fast schon eine Art Fernsteuerung, die gerade eben noch subtil genug ist, dass es der Benutzer nicht bemerkt.

Ist schon echt gruselig, wenn man bedenkt, wie viele Entscheidungen im Unterbewusstsein getroffen werden und wenn man dann in Schritt 2 bedenkt, wie leicht sich dieses manipulieren lässt. Und man bekommt es irgendwie sogar noch so hin, dass sich Menschen darüber freuen, weil sie ja ein Gratis-Spiel bekommen (ich nehme an, man bezahlt vordergründig nichts für Pokemon Go, oder?). Die große Bevölkerungsmasse ist zu doof, sich dagegen zu stellen, die großen Konzerne sind zu selbstsüchtig um an ihrem Verhalten etwas zu ändern, die einzigen die etwas dagegen tun könnten wären die Politiker - die aber leider zu doof *und* zu selbstsüchtig sind.

Was für trübe Aussichten. Vermutlich sollte ich einfach aufhören, darüber nachzudenken, und (und das ist viel wichtiger!) irgendetwas konsumieren, damit ich glücklich werde! :D
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Jonathan hat geschrieben:Es gibt Gerüchte über Sponsored Locations in Pokemon Go.
Warum bloß?

Bild
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
joggel

Re: Jammer-Thread

Beitrag von joggel »

Ach wenn ich diesen Hype um dieses PokemonGo mitbekomme.
Überall wird man damit penetriert. Ich halte das alles für ne ganz groß aufgezogene WerbeKampagne.
Ich kenne keinen persönlich der das spielt...aber da das nun in den sozialen Netzwerken auf einmal ganz großes Thema ist, werden es wohl bald viele sein die es spielen.
Was ich sagen wollte:
Dieser Hype ist doch alles nur ne Werbestrategie...
Dateianhänge
13606653_275126492843197_683082698585255501_n.jpg
Matthias Gubisch
Establishment
Beiträge: 470
Registriert: 01.03.2009, 19:09

Re: Jammer-Thread

Beitrag von Matthias Gubisch »

Wenigstens hier sind noch normale Menschen unterwegs.
Wenn an sich so in den Sozial Medien umsieht könnte man fast meinen man wär der einzige der diesen Hype nicht nachvollziehen kann.

Klasse gemacht Nintendo: Die ganze Welt macht sich zum Affen und ihr scheffelt damit Kohle...
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Benutzeravatar
Jonathan
Establishment
Beiträge: 2353
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Krishty hat geschrieben:
Jonathan hat geschrieben:Es gibt Gerüchte über Sponsored Locations in Pokemon Go.
Warum bloß?

Bild
Das ist so viel weniger subtil, als ich dachte...
(und so viel erschreckender...)
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Ich behaupte garnicht, dass das Café irgendwas mit Nintendo zu tun hat. Im Interview wurde auch gesagt, dass sich die Kellner von den vielen umherlaufenden Pokémon-Fans gestört fühlten, und man das Schild deshalb anbrachte. Es macht aber deutlich, wie greifbar die Sponsoring-Möglichkeit ist.

Ich bin jedenfalls höchstens sauer, dass das nicht meine Idee war.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Matthias Gubisch
Establishment
Beiträge: 470
Registriert: 01.03.2009, 19:09

Re: Jammer-Thread

Beitrag von Matthias Gubisch »

Die Aussagen von Nintendo dazu gehen in die Richtung dass diese Sponsored Spots aktuell noch nicht existieren es aber geplant ist und wohl nicht lange auf sich warten lässt....
Bevor man den Kopf schüttelt, sollte man sich vergewissern einen zu haben
Benutzeravatar
Jonathan
Establishment
Beiträge: 2353
Registriert: 04.08.2004, 20:06
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Jonathan »

Ich meine, es ist ja auch total egal, ob Nintendo das jetzt macht, oder ob es erst im nächsten Augmented-Reality Spiel von irgendjemand anderem drin ist. Die Idee ist profitabel und ich denke nicht, dass der Gesetzgeber einschreiten wird (obwohl ich sehr dafür bin), also kann man mit Sicherheit sagen, dass es genau so passieren wird.

Ich mag es halt einfach nicht, genau zu wissen, das ich Geld für etwas bezahle, ohne zu wissen, wie. Das althergebrachte 'Ware gegen Geld' fühlt sich für mich so viel ehrlicher an.
Lieber dumm fragen, als dumm bleiben!
https://jonathank.de/games/
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Besser „Aufmerksamkeit gegen Geld“? Gilt für Pokémon, für die Arbeit, für’s WWW … außer für ZFX, das ist gratis :)
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Jammer-Thread

Beitrag von Chromanoid »

joggel hat geschrieben:Überall wird man damit penetriert. Ich halte das alles für ne ganz groß aufgezogene WerbeKampagne.
Ich kenne keinen persönlich der das spielt...aber da das nun in den sozialen Netzwerken auf einmal ganz großes Thema ist, werden es wohl bald viele sein die es spielen.
Was ich sagen wollte:
Dieser Hype ist doch alles nur ne Werbestrategie...
Naja das Spiel gibt's ja auch noch nicht erst seit gestern in Deutschland ;)

Ich denke das ist was, woran sich die Menschen gewöhnen werden und auch damit zurecht kommen werden. AdBlocker installieren mittlerweile ja auch nicht nur die Nerds.

Bild
[vimeo]166807261[/vimeo]
Quelle: http://hyper-reality.co/

Mit Pokemon Go wird mal wieder eindrücklich die Macht der Spiele bewiesen :)

In Amerika läuft das mit dem Big Data Beeinflussen AFAIK ja sowieso schon lange ziemlich heftig. Man geht ins Stadion und bekommt danach einen Hinweis darauf, dass im Restaurant X 30% Rabatt auf das Steak gibt. Das Restaurant hat das mit dem Stadionbetreiber abgestimmt, so dass auch noch Plätze frei sind und auch nur diejenigen angeschrieben werden, die aufgrund von Payback Punkten oder was weiß ich auch als Fleischfresser gekennzeichnet sind...
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Das Video wollte ich auch posten aber hab’s nicht gefunden; thx :)

Dass das mit Big Data so läuft, bezweifle ich. Wenn ein Mensch die Kausalkette „Kauft Fleisch“ -> „Isst Fleisch“ -> „Möchte bei mir Fleisch essen“ aufstellt, ist er nicht nur viel langsamer als ein moderner Clustering-Algorithmus, sondern liegt auch deutlich seltener richtig. Ein Algorithmus würde z.B. auch die Leute erfassen, die zu Hause kein Fleisch essen dürfen und es dafür mit ihren Kumpels im Stadion richtig krachen lassen. Oder die, die aus Kindheitserinnerungen gern im Stadion Fleisch essen. Oder aus anderen Gründen, die niemand kennt. Weil er einfach von vergangenem Verhalten auf zukünftiges schließen kann, ohne sich über Kausalzusammenhänge den Kopf zu zerbrechen. SO funktioniert Big Data.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
joggel

Re: Jammer-Thread

Beitrag von joggel »

Chromanoid hat geschrieben:Naja das Spiel gibt's ja auch noch nicht erst seit gestern in Deutschland ;)
Stimmt. Ach ich halte mich da raus und ziehe irgendwann in den Wald :D
Zuletzt geändert von joggel am 14.07.2016, 15:51, insgesamt 1-mal geändert.
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Jammer-Thread

Beitrag von Chromanoid »

@Big Data / Krishty: Ja, das war auch eher ein Beispiel. Aber auch so Payback Kram kann durchaus als Quelle für Big Data Operationen interessant sein. Vielleicht ist ja auch ein Kaufhaus um die Ecke und man weiß so, dass der Kunde da schon mal eingekauft hat. Wenn in dem Kaufhaus dann ein kleines Cafe ist, gibt's vom Cafe einen Gutschein für einen freien Espresso, der vorm Kaufhaus gestiftet wird...
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Als Datenquelle ist sowas interessant, natürlich. Ebenso wie das Wissen, ob da ein Pokémon im Kaufhaus sitzt. Aber du stellst noch immer die falsche Frage: Es ist für das Kaufhaus egal, ob der Konsument X da schonmal eingekauft hat oder ob er Kaffee mag oder Gutscheine. Wichtig ist nur
  • Würde Konsument X einkaufen, wenn man ihm einen Gutschein für einen freien Espresso gäbe? (Teils drastisch andere Ergebnisse als bei den anderen Fragen!)
  • Wie viel Geld würde er erwartungsgemäß mitbringen?
DAFÜR ist Big Data da. So denkt Google, und wenn du da irgendwelche Kausalzusammenhänge konstruieren willst („der kauft bestimmt, weil er vorher schonmal hier gekauft hat und Espresso mag“), dann denkst du immernoch wie vor 20 Jahren.
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
kaiserludi
Establishment
Beiträge: 467
Registriert: 18.04.2002, 15:31

Re: Jammer-Thread

Beitrag von kaiserludi »

Bild
"Mir ist auch klar, dass der Tag, an dem ZFX und Developia zusammengehen werden der selbe Tag sein wird, an dem DirectGL rauskommt."
DirectGL, endlich ist es da
:)

"According to the C++ standard, it's "undefined". That's a technical term that means, in theory, anything can happen: the program can crash, or keep running but generate garbage results, or send Bjarne Stroustrup an e-mail saying how ugly you are and how funny your mother dresses you." :shock:[/size]
Benutzeravatar
Krishty
Establishment
Beiträge: 8229
Registriert: 26.02.2009, 11:18
Benutzertext: state is the enemy
Kontaktdaten:

Re: Jammer-Thread

Beitrag von Krishty »

Das ist doch ein Witz, oder?

  public static string pathOfAppDir() {
    var assemblyURI = System.Reflection.Assembly.GetExecutingAssembly().CodeBase; // begins with “file://”
    var assemblyPath = new Uri(assemblyURI).LocalPath; // convert to filesystem path
    var assemblyDirectory = Path.GetDirectoryName(assemblyPath); // remove file name
    return Path.GetFullPath(assemblyDirectory) + '\\';
  }


„In GetModuleFileName(NULL) nach dem letzten Backslash suchen?! Das ist ja soooo 1995! Heute macht man alles managed!”
seziert Ace Combat, Driver, und S.T.A.L.K.E.R.   —   rendert Sterne
Alexander Kornrumpf
Moderator
Beiträge: 2106
Registriert: 25.02.2009, 13:37

Re: Jammer-Thread

Beitrag von Alexander Kornrumpf »

Krishty hat geschrieben:Als Datenquelle ist sowas interessant, natürlich. Ebenso wie das Wissen, ob da ein Pokémon im Kaufhaus sitzt. Aber du stellst noch immer die falsche Frage: Es ist für das Kaufhaus egal, ob der Konsument X da schonmal eingekauft hat oder ob er Kaffee mag oder Gutscheine. Wichtig ist nur
  • Würde Konsument X einkaufen, wenn man ihm einen Gutschein für einen freien Espresso gäbe? (Teils drastisch andere Ergebnisse als bei den anderen Fragen!)
  • Wie viel Geld würde er erwartungsgemäß mitbringen?
DAFÜR ist Big Data da. So denkt Google, und wenn du da irgendwelche Kausalzusammenhänge konstruieren willst („der kauft bestimmt, weil er vorher schonmal hier gekauft hat und Espresso mag“), dann denkst du immernoch wie vor 20 Jahren.
Eher wie vor 25 oder 30 Jahren :)
Benutzeravatar
Chromanoid
Moderator
Beiträge: 4254
Registriert: 16.10.2002, 19:39
Echter Name: Christian Kulenkampff
Wohnort: Lüneburg

Re: Jammer-Thread

Beitrag von Chromanoid »

Alexander Kornrumpf hat geschrieben:
Krishty hat geschrieben:Als Datenquelle ist sowas interessant, natürlich. Ebenso wie das Wissen, ob da ein Pokémon im Kaufhaus sitzt. Aber du stellst noch immer die falsche Frage: Es ist für das Kaufhaus egal, ob der Konsument X da schonmal eingekauft hat oder ob er Kaffee mag oder Gutscheine. Wichtig ist nur
  • Würde Konsument X einkaufen, wenn man ihm einen Gutschein für einen freien Espresso gäbe? (Teils drastisch andere Ergebnisse als bei den anderen Fragen!)
  • Wie viel Geld würde er erwartungsgemäß mitbringen?
DAFÜR ist Big Data da. So denkt Google, und wenn du da irgendwelche Kausalzusammenhänge konstruieren willst („der kauft bestimmt, weil er vorher schonmal hier gekauft hat und Espresso mag“), dann denkst du immernoch wie vor 20 Jahren.
Eher wie vor 25 oder 30 Jahren :)
Ich glaube wir sprechen über unterschiedliche Anwendungsfälle. Wenn Du ein Restaurant hast, willst Du nicht, dass 10.000 Leute nach einem Stadion Besuch eine SMS bekommen, dass es beim Imbiss um die Ecke gerade Döner für 2,50 EUR gibt. Es gibt mehrere Restaurants und verschiedenste Leute, mit unterschiedlichen Profilen, für die man dann möglichst zielgerichtet Angebote generieren will. Das nennt sich dann glaube ich real-time one-on-one marketing. Das ganze wird dann im Rahmen der Big Data Begriffswolke mit Streaming Analytics realisiert / skalierbares CEP. Mir ist schon klar, dass die Heuristiken für "Predictive Shopping" nicht von irgendwelchen Marketing Spezialisten ersonnen werden, sondern anhand der Events ermittelt/korreliert werden. Aber zumindest bei Streaming Analytics sind AFAIK momentan noch eher halb-automatische Prozesse am Werk. Ich zitiere mal aus einem Vortrag von TIBCO Software:
1. Analyze data via Data Discovery: Uncover patterns, trends, correlations
2. Model: Develop model, Deploy into Stream Processing flow
3. Act: Automatically monitor real-time transactions, Automatically trigger action

So wie ich das verstehe, ist das fast ein bisschen wie Monetarisierung von Social Games. Man entwickelt ein Regelwerk, das ganze wird ausgerollt und dann inkrementell halbautomatisch auf maximalen Profit hin optimiert.
Antworten