What Angular Community?

Angular is an overly complicated and underdocumented language, sorry framework, or toolkit, or whatever you want to call it. It’s not a language, but it feels like one.
I remember a time where people would hang out on IRC or ICQ and help solve problems. You would help them, they would help you. There were forums where you could post and communicate, get to know people and find answers or help people.

Angular? Nothing.
Their Google+ group (who uses Google+ anymore?, it’s really changed for the worse) is full of irrelevant spam.
Angular forums don’t exist, not even an official forum.
Their gitter is populated by arrogant, passive-aggressive assholes.
I have received 0 help there. No I’m lying, there was 1 guy who helped, for all my other questions and I try to help people out, I’ve not once received even a response.
As a result that’s how I’ll handle things from now on regarding Angular.
Anything I learn, and I learn it all on my own since the documentation sucks and the community doesn’t exist, I will keep to myself.
Alternatives are React which other double as many users or vue which is essentially a clone of AngularJS.
Vue community sucks. Anyone who uses Discord as their main form of communication can’t be taken seriously. You ask one question and the response is some pimplefaced nerd who believes he’s smart but really isn’t.
I’m starting to hate people. Starting? No I really hate the developer community and especially the stupid gaming community. Gamers + Facebook users are about the worst type of people.
Anyhow I digress.

Angular has no community and only greedy UI kits. It’s a poorly documented toolkit used by “the new enterprise” who shit on the open source spirit but use it to the fullest for their own benefits.

Ubisoft und die Steam Zensurmaschine

Wenn ich nicht arbeite spiele ich gern Spiele.
Manchmal gibt es da etwas, ich schreibe nicht interessantes, halbwegs spielbares.
In der Vergangenheit hatte ich einiges an Geld für Spiele auf Valves Steam Platform ausgegeben.
Etwas mehr als 350 Titel sind in “meiner” Bibliothek.

Nun bin ich ein was mache einen “Old School Gamer” nennen. Ich bin kein Gamer, ich spiele Spiele. Gamer sind Menschen deren Lebensinhalt das spielen von Computerspielen sind. Noch so ein Marketingkonstrukt.

Nun vor einigen Tagen war das Spiel “For Honor” kostenlos erhältlich auf Steam, bzw. die Basisversion. Lasst es mich gleich mal sagen, das Spiel ist Scheisse. Gut aussehende Scheisse aber Scheisse. Warum?

Wo fang ich an? Am besten am Anfang.
Man startet das Spiel und wird in ein Trainingsszenario geschmissen. Ok das wird wohl deswegen sein weil viele Spieler sich beschwert hatten das sie keine Chance haben gegen die Pros usw. man kennt es doch, die anderen, die Umstände und die Mondphasen sind Schuld man selbst ist nie Schuld wenn man verliert.
Gut man bekommt also die Grundlagen beigebracht, eine Art Anleitung für Denkbehinderte, wo jeder kleine Aspekt des “Kampfsystems” – sorry wenn ich lache, Kampfsystem kann man z.B. das bei Age of Chivalry nennen – jedenfalls, wo jeder kleine Aspekt des *Hust* “Kampfsystems” erklärt wird.
Das Kampfsystem (sorry) besteht aus 3 Richtungen, unten links, unten rechts und oben. Es ist also ein Dreieck aus möglichen Richtungen.
Dieses “schwer zu kapierende Krampfsystem” (pun intended) braucht natürlich eine ganze Serie von Einzelepisoden. “Lerne dich zu bewegen” HILFE!! wie geht das? Ich habe mich noch nie mit WASD bewegt! Es ist das erste mal das ich ein Computerspiel spiele. Bitte… Naja egal das war noch nicht wirklich sehr erregend, sondern inzwischen hat man ja schon fast diese Consolitis akzeptiert.
Nachdem man das Training beendet hat hat man die Wahl aus noch mehr Training, bzw. ich wollte besser werden. Stein Schere Papier war noch nicht kompliziert genug. Oh ja es kam da noch Ausdauer dazu als Element und Ausweichen und mehr ist da nicht. Oh doch, Kampf gegen 2 oder mehr Gegner. Im Training waren es nur 2.
In dem Ausgenblick ist es mir noch garnicht aufgefallen… zum was komme ich noch.
Man hat danach also wie Wahl aus einem “Warrior Training” oder so ähnlich. Man spielt verschiedene Klassen und bewährt sich in irgendwelchen Szenarien.
Oder man spielt “Multiplayer”, oder den Story Mode.
Nun, ich hatte Multiplayer gespielt, frisch nach dem Training und ein Duell gesucht und dabei 3:1 verloren.
Ok ich bin also schlecht in Stein Schere Papier, spielen wir doch mal den Story Mode.
Was mich etwas irritiert hatte, vor dem Multiplayer Kampf muss man sich gegen den Computer bewähren. Und es gab Schreie. Weibliche Schreie.
Wie kommt das? Moment mal, ich bin ein weiblicher Ritter mit blondem Zopf.
Okay, war bestimmt nur weil ich noch keine Erfahrung habe und darum muss ich ein Weib spielen.
Nein, war es nicht.
Story Mode beginnt. Ich bin wieder, ein blondes Weib in einer Rüstung. Kapitel 1.1 ich töte den Angreifer, einen Mann im Duell und werde zum Ritter. Es gibt kein weibliches Wort für Ritter. DAS IST WEIL ES KEINE WEIBLICHEN RITTER GAB (in John Olivers Stimme – Last Week Tonight).
Und ja, ich bin mir der Ausnahme von Jean d’Arc bewusst.
Und das stößt mir auf. Schon wieder so ein SJW Spiel das mir irgendwie eine verzerrte Realität unterjubeln will und Frauen als mörderische, physisch stärkere Vorbilder presentieren will. Hat die Femnazi Fraktion so viel Macht oder warum macht das eine Firma? Doch weil sie die Publicity will. Weil sie die kostenlose Aufmerksamkeit will, wenn sich, wie bei Battlefield 5 ein weiblicher Protagonist findet. Oh sorry an die politisch oder was auch immer Korrekten, eine weibliche Protagonistin.
Und wenn mich was stört, dann schreibe ich darüber.
Im Steam Forum. Denn ich hab das Spiel schließlich bei Steam bekommen.
Also frage ich das eben geschriebene, hier in diesem Thread auf Steam.
Natürlich hab ich mich aufgeregt. Was soll der Scheiss?
Für mich sind Frauen keine Mörderischen Bestien die Männer mal eben in einem Streich 2 Köpfe abhacken.
Denn in Kapitel 1.3 trifft man auf “den ersten Warlord” eine Frau, größer als jeder andere, insbesondere jeder Mann. Mit Riesentitten. Und sie steckt in einer Rüstung die größer als die von allen ist. Die Mission geht so das man Verräter jagen geht in ihrem Lager (diesen verdammten Männer, die Lügen und verraten immer #menaretrash), hat einen Bosskampf und dann stößt man auf eine Gruppe von Flüchtigen. Und Sie fragt, “warum? warum habt ihr uns verraten und seid geflohen?” doch sie bekommt keine Antwort, nur Gewalt… #menaretrash.
Also kämpft sie mit ihrem männlichen Sidekick gegen die Gruppe und stößt dabei am Ende auf den, nein die erste Warlord/*in (oder wie auch immer man das genderpolitisch korrekt schreibt).
Sie steckt Messerstiche einfach so weg und am Ende richtet sie die #menaretrash Schweine. IN EINEM STREICH KÖPFT MISS RIESENTITTE 2 SCHWÄCHLICHE MÄNNCHEN. Denn Männer sind nicht nur Abfall sondern auch Schaafe. Und was macht man mit Schaafen, man schlachtet sie ab. Normal. Macht man so. Läuft.
Im Thread stelle ich richtig das es mir gar nicht um die Historische Echtheit geht, denn was kann man bitte erwarten in einem Spiel, in dem Ritter gegen Samurai gegen Vikinger kämpfen? USA USA USA. America FUCK YEAH.
Nur ist das nicht aus Amerika, fast. Das Spiel ist von Ubisoft Montreal. Kanadier. Wenns irgendwen gibt der dümmer ist als Amerikaner sind das Kanadier.
Also ich weis nicht, aber der Eindruck entsteht, wenn man z.B. so Serien wie Detektiv Murdock sieht, wo mal eben der Superheld als Vorbild für Arthur Conan Doyles Shelock Holmes herhält und noch unzählige solche frei Erfundenen Vorkommnisse.
Nunja… ihr könnt euch selber durchlesen was ich schrieb.
Ich finde es schlimm wie die Geschlechter gegeneinander aufgebracht werden.
Ich finde das Mann und Frau sich nicht bekämpfen sollten.
Ich mag Harmonie. Ich mag ganz sicher nicht das SJW getrolle von Ubisoft Montreal und ähnlichen Spielen die Frauen in Rollen stecken die nicht zu ihnen passen.
EINE WEIBLICHE RITTER/*in gehört dazu.
Denn sowas ist frei erfunden und hat genau 0 Fakten die sowas unterstützen.
Bullshit.
In Kapitel 1.4 spielt man dann zum ersten mal einen Mann. Mit einer Helebarde. Oder ihrer Version dieser.
Klickt man die rechte und linke Maustaste hatte die weibliche Ritter/*in einen Frontalen Schlag ausgeführt, mit ihrem Schwert.
Ich mit meiner Helebarde, mache ich einen Rundumschlag? Nein, ich drücke die linke und rechte Maustaste und was passiert ist einzeln Hacke ich von oben auf einen einzelnen Gegner. Ein mal.
Das hat gereicht und ich hab das Spiel deinstalliert und weil ich ja Notifications bekomme durch Steam eben Abschließend im Thread geantwortet das ich das nicht mehr aushalte und allen viel Spaß mit dem Spiel wünsche aber ich kann das einfach nicht verdauen. Und Frieden.

Denkste.
Am nächsten Tag. “You have been banned from the “For Honor” forum. As a result and because of accumulated bans your posting privileges have been taken away for 13 weeks”.
LOL
Was?
Der Content Moderator des “For Honor” Forums auf Steam hatte mich gebannt weil “Trolling, baiting”.
Wenn ich also schreibe was mir nicht gefällt ist das Trollen und Baiten?
Heutzutage ist alles was nicht positiv den Spieleherstellen in den Arsch kriecht “TROLLEN!!!”. Und baiten. Wie auch immer das geht.
Meine Meinung zu schreiben führt zum Entzug meiner “Privilegien” auf Steam.
Soweit ich weis habe ich keine Privilegien, sondern ein RECHT auf freie Meinungsäußerung.
§5 Grundgesetz.

(1) Jeder hat das Recht, seine Meinung in Wort, Schrift und Bild frei zu äußern und zu verbreiten und sich aus allgemein zugänglichen Quellen ungehindert zu unterrichten. 2Die Pressefreiheit und die Freiheit der Berichterstattung durch Rundfunk und Film werden gewährleistet. Eine Zensur findet nicht statt.

(2) Diese Rechte finden ihre Schranken in den Vorschriften der allgemeinen Gesetze, den gesetzlichen Bestimmungen zum Schutze der Jugend und in dem Recht der persönlichen Ehre.

(3) Kunst und Wissenschaft, Forschung und Lehre sind frei. 2Die Freiheit der Lehre entbindet nicht von der Treue zur Verfassung.

Mir ist nicht bewusst das “Trollen” oder “Baiten” verboten wäre, nicht das ich denke das ich das getan habe, sondern ich habe meine Meinung geäußert in einer Unterhaltsamen weise auch, denn DAS IST DER SINN EINES FORUMS. Verdammte Internetneulinge und bezahlte Zensoren.

Nun ich bin jemand der Mißstände ausspricht. Wenn z.B. jemand ein 20 Jahre altes Spiel für 10€ verkaufen will dann schreibe ich das es GIER ist und das sie sich schämen sollen. Genauso wie “Distant Worlds” schon seit 3 Jahren kein Update gesehen hat und noch immer 80€ kostet. Oder wenn ein 2k Games Moderator Leute bannt die gegen die Firmenmeinung schreiben. Ich bin jemand der AUF DER GUTEN SEITE DER MACHT steht, sozusagen. Ich mag die Corporate Greed nicht. Der Kampf Arm gegen Reich ist real. Und die Corps sind ein sehr großer Teil des Problems. Ich lege also den Finger in die Wunde und zeige auf Mißstände. Und oft bin ich gefrustet, ja.
Denn mich treibt der verdammte menschliche Anstand, den konstrukte wie Megacorps nicht haben. Denn denen gehts nur um Geld ohne Kompromisse.

Und dieses ohne Kompromisse heist bei Valves Steam Platform ZENSUR.

Übrigens, der Verbraucherschutz meint er könne mir nicht helfen. Denn Zensur gehört ja nicht in den Bereich Verbraucherschutz.
Wenn ich, der mit jedem Kauf die Steam Platform mitfinanziert nicht DAS RECHT habe meine Meinung in Wort und Schrift zu äußern, denn ist das nicht Sache der Verbraucherschutzes. Vielleicht weil ich einen Ausländischen Namen habe. Denn komischerweise, wenn mein Kollege oder eher ehem. Kollege den Verbraucherschutz bemüht mit einem Deutschen Namen wird ihm geholfen.

TL;DR: Ich bin jetzt also für 13 Wochen vom Posten auf Steam gebannt, weil ich meine Meinung schreibe. Fuck you Valve, Fuck you Ubisoft. Ihr seht von mir keinen einzigen Pfenning mehr geschweige denn Cent.

ngrx is a scam

I would strongly advise against using ngrx. It’s a scam.

It claims to be the solution for everything data related but it’s not. And if you’ve backed this then you’re an idiot.
First of all there is close to no documentation.

They use their Medium account to publish examples but they’re a) outdated and b) incomplete.

Then they have people selling courses. One course costs 129€! Essentially 129€ to watch a video. And they’re asking for backers.

They suppport channels are Stackoverflow, which is a circle jerk of holier-than-thou assholes and gitter which as you can see doing your own investigation doesn’t receive any responses.

What if you use this undocumented piece of software and need help? You’ll have to pay money or, since official support doesn’t exist, you’ll have to throw away your work and move to a better alternative like, ngxs, which isn’t very well documented either.

Don’t use ngrx. It’s a scam.

Go database changes notifications over websocket. Generic solution. Reactive apps.

Do you know the problem when you’re writing single page apps and you have to manually update your data from the backend because you know you have just made a change and want the current state to update in “real time”? So you either load the data again by hand/initialite a refresh of the data, or you reload the page or you navigate to a redirect component to land back at your page so it’s loaded anew?

Well there are databases who can notify you of changes done. There’s RethinkDB, there’s Postgresql’s NOTIFY and LISTEN, there’s MongoDB’s change stream that never worked for me and I could never receive any help because IRC was always dead when I joined.

Anyhow, instead of relying on database to notify us that changes were made why not just have the changes in our handler or repository?

I wrote

https://git.icod.de/dalu/notifier

a library that deals with the problem.

So you need an instance of melody, created with melody.New()
You pass this instance to create a new Notifier instance and you pass this notifier instance to the handler if you use that.

GET / serves the index.html page that’s essentially a copy/paste of melody’s chat app and does connect and receive notifications via WebSocket. I mean that’s what it does, it returns the HTML that does it.

GET /ws is the WebSocket that is used to connect with

Now

with the paramter

That parameter is the callback function that is called when a notification is sent.
In this case the notification is marshalled into []byte and then broadcast by melody to all connected WebSockets.

Later in your handler, in this example we only have an INSERT handler without database code.

“Do database insert stuff” could be for instance

and then you continue with notifying the connected clients via WebSocket by writing

The very moment the notification is emitted it is sent(broadcast) to clients via WebSocket.
In your client-side webapp you receive that notification and filter by collection and do stuff like reloading entities or lists of entities.

By the way, if you don’t want to pass any data in the Notify function you can just write

Because you see the Notification type has the ,omitempty JSON tag.

The overhead of this whole ordeal is between 2-3 µs per notification.

You can also write

if you’d like it to be done at the end, when your response finished.

Note the go in front of the Notify function

Now in case you were wondering how to use a notification by WebSocket, here’s an example for Angular 6.

First the base web-socket-service-ts

Building upon the WebSocketService is the NoficiationService

And how you use this in your component, you do as you did before, you have an update data function where you grab the data from your endpoints, e.g.

Let’s keep it simple for now, not go crazy with switchMap etc.

In NgOnInit then you initially call this update function but also subscribe to the notification service.

The above means, if the updated collection is either containers or forums, grab fresh data from the endpoints.

Don’t forget to unsubscribe in NgOnDestroy() in any case.

So an example work-in-progress component.ts would look something like this