Rainbow Six Siege - Operation Crimson Heist ist live

Bereits Anfang letzte Woche war es endlich soweit, die lange erwartete neue Rainbow Six Siege Season Operation Crimson Heist erblickte das Licht der Welt. Auf den Testservern war die neue Version schon länger verfügbar, aber nun ist sie auch auf den Live-Servern aktiv.
Wie bereits erwähnt könnt ihr nun den neuen Angreifer Flores und die überarbeitete Version der Map Border anspielen. Natürlich gibt es noch diverse weitere Anpassungen und Verbesserungen, wie z.B. die Beta Version des Match Replay Features. Alle Neuigkeiten findet ihr in meiner Ankündigungsnews zu Operation Crimson Heist.
Alle weiteren Informationen findet ihr darüber hinaus in den Related Links und einen Trailer zur neuen Season gibt es im unteren Teil der News. Abschließend ist noch interessant zu erwähnen, dass natürlich auch ein neuer Battlepass gestartet ist, welcher euch verschiedene Vorteile bringt, wie z.B. die direkte Freischaltung von Flores. Selbiger ist vom 16. März bis zum 25. Mai aktiv.
Meine Statusseite - Hosting und Deployment via GitHub

Heute folgt der letzte Teil meiner kleinen Newssammlung rund um meine Boehrsi.de Statusseite. Denn sobald die eigentliche Seite erstellt ist, geht es ans Hosting und Deployment. Ich habe bekanntlich einen eigenen Server zur Hand, aber Hosting auf diesem macht für eine Statusseite offensichtlich wenig Sinn. Denn wenn der Server, für welchen die Seite den Status anzeigen soll, offline ist, dann wird die Seite natürlich auch offline sein. Ich entschied mich basierend auf meinen Erfahrungen mit GitHub, für eben selbige Plattform fürs Hosting und Deployment. Dort war ich wie bereits erwähnt durchaus glücklich wie umfangreich die Auswahl an vorhandenen Deployment-Workflows ist und auch das Hosting selbst ist sehr unkompliziert.
Games Gewinnspiel Erinnerung

An dieser Stelle die gewohnte Erinnerung an mein bald endendes Games Gewinnspiel - März Ausgabe. Noch bis Sonntag Abend (21.03.2021 - 23:59 Uhr) habt ihr Zeit aus über 200 Spielen und DLCs zu wählen. Sofern ihr zusätzlich noch etwas Glück habt, gibt es bald dann neues Material für eure Gaming Bibliothek. Alle weiteren Informationen findet ihr in der Gewinnspiel News. Dort reicht ein einfacher Kommentar zum mitmachen.
Endzone - A World Apart - Finaler Release und Review

In den letzten Wochen habe ich die eine oder andere Stunde mit Endzone - A World Apart verbracht, welches mir von Assemble Entertainment zur Verfügung gestellt wurde. Dafür möchte ich mich vorweg bedanken.
Ich testete für dieses Review den aktuellsten Early Access Release, welcher heute allerdings durch die finale Version ersetzt wird. Entsprechend bezieht sich mein Review noch auf die unfertige Version des Spiels. Endzone - A World Apart ist ein Endzeit-Aufbaustrategiespiel, in welchem ihr eure kleine Siedlung am leben halten müsst. Ihr startet mit quasi nichts und müsst euch langsam eine Versorgung mit allen wichtigen Versorgungsgütern und natürlich Behausungen erarbeiten.
I'm a coder - Schlechter Code kostet Zeit und Geld

Ich hatte schon häufiger das Thema der Codequalität hier im Blog und habe dafür geworben selbige hochzuhalten. Soll heißen bestehenden Code auch mal zu modernisieren, während der Entwicklung Dinge zu optimieren, statt zu duplizieren und Fehler die man zwischendurch entdeckt direkt zu beheben. Es gibt noch viele, viele weitere Möglichkeiten die Codequalität zu steigern, doch darum soll es heute gar nicht gehen.
Ich wollte mal konkret mitteilen warum ich es für wichtig halte nicht nur links und rechts Dinge anzubauen, sondern eben auch das große Ganze im Blick zu behalten. Ich habe vor kurzem die Ehre gehabt in ein halbwegs umfangreiches Projekt eine neue Funktion einzubauen, welche auf bestehender Logik aufsetzt und diese erweitert. An sich war der Ansatz recht simple, denn es sollte einfach ein bestehender Flow erweitert und mit verschiedenen Kontexten erneut ausgeführt werden. Alle anderen Abläufe, die auf diesem bestehenden Flow aufsetzen, mussten entsprechend angepasst werden, sodass sie den neuen Kontextbezug auch erfassen. Generell wäre das ein Aufgabe für einige Tage gewesen, allerdings wurde alles wesentlich umfangreicher.
Humble Software Bundle: Cybersecurity: Threat Protection

Viren und Konsorten warten aktuell nicht nur in unserer Umwelt auf uns, auch auf dem PC gibt es diverse Bedrohungen gegen die man sich wappnen sollte. Ich bin in diesem Kontext meist mit Bitdefender Produkten unterwegs, aber das aktuelle Humble Bundle muss ich natürlich trotzdem erwähnen.
Das Humble Software Bundle: Cybersecurity: Threat Protection with Avast ist noch knapp neun Tage lang verfügbar und bringt euch diverse Schutzsoftware für eure Hardware. Drei Stufen sind verfügbar, mit dem Einstieg ab 1 € und alle Inhalte gibt es ab 20,68 €. Unter anderem erhaltet ihr Avast Mobile Security Premium (1 Android - 1 Jahr), Avast BreachGuard (3 PC - 1 Jahr) und Avast Premium Security (Multi-Device - 1 Jahr).
Ein Virenschutz ist wichtig, genauso wichtig ist es aber auch mit offenen Augen den PC und das Smartphone zu bedienen. Hat man beides zur Hand stehen die Chancen gut den gröbsten Problemen aus dem Weg zu gehen. Mit diesem Bundle könnt ihr euch einiges an Software sichern, werft also doch ruhig mal einen Blick darauf, falls ihr ohnehin noch Antivirensoftware braucht. Alle Humble Bundle Links sind Affiliate- / Partner-Links die meinen Blog unterstützen.
Flutter / Dart Null Safety Migration

Vor wenigen Tagen erschien im Rahmen des Flutter 2.0 bzw. Dart 2.12 Releases der stabile Null Safety Support für Dart. Entsprechend begab ich mich gestern Abend das erste Mal auf den Migrationspfad und aktualisierte meine kleine Anwendung zur Auswertung von Statistiken. Selbige nutze ich produktiv zum erfassen der Nutzerzahlen hier im Blog und auch um die monatlichen Top 10 Listen zu erstellen.
Die Migration ist sehr gut dokumentiert open_in_new und was extrem großartig ist, ist der dart migration Befehl, welcher versucht ein Projekt ohne Null Safety für euch anzupassen. Dabei erhält man einen geführten Prozess, bei welchem ihr die Liste der geplanten Änderungen auf einer interaktiven lokalen Website zu sehen bekommt und dort noch weitere Anpassungen vornehmen könnt. Meiner Meinung nach ist dieses Tool im Kontext der Migration eine glatte Eins mit Sternchen.
Nachdem ausführen der Migration für das kleine Projekt mit ca. 1000 Zeilen reinem Code, blieb tatsächlich nur eine Stelle an der ich manuell Hand anlegen musste. Die App lief anschließend ohne Probleme und weiterer Aufwand war nicht nötig. Hier kommt nun aber eine Empfehlung, die mehr Arbeit bedeutet, selbige meiner Meinung nach aber wert ist.
Meine Statusseite - Designt mit Bulma

Weiter geht es heute mit meiner kleinen Newssammlung zum Thema Boehrsi.de Statusseite. Heute geht es noch einmal um den reinen Code und wie ich die eigentliche UI erstellt habe. Während die folgenden Beiträge sich eher auf das Setup und Deployment beziehen. Bei Fragen stehe ich wie gewohnt gerne Rede und Antwort in den Kommentaren.
Das Thema Design ist für mich ein spezielles, da ich nicht sonderlich kreativ bin, aber trotz dessen versuche gut aussehende User Interfaces zu erstellen. Ich setze dabei meist auf Minimalismus und den Fokus auf den Content. Generell baue ich fast alles von Grund auf selbst, doch bei diesem Projekt habe ich einen anderen Weg eingeschlagen. Aus verschiedenen Gründen wollte ich weitere Erfahrungen zum Thema Bulma sammeln und entschied mich aus diesem Grund wieder für das CSS Framework.
Humble Book Bundle: Pocket Reference Guides

Es gibt wieder was auf den Sehnerv, denn ein neues Humble Book Bundle ist verfügbar. Das Humble Book Bundle: Pocket Reference Guides by O’Reilly bringt euch über 250 $ an Büchern zu diversen Programmiersprachen. Das Bundle ist noch ca. zwölf Tage lang verfügbar und bietet euch unter anderem den SQL Pocket Guide, Java Pocket Guide und Linux Pocket Guide.
Die Inhalte sind auf drei Stufen aufgeteilt, wobei ihr wie gewohnt schon ab 1 € einsteigen könnt. Alle 15 Bücher erhaltet ihr ab 14,89 €. Eine gut gemischte Lieferung von Coding-Inhalten würde ich sagen, was denkt ihr? Alle Humble Bundle Links sind Affiliate- / Partner-Links die meinen Blog unterstützen.
Dart Streams manipulieren mit stream_transform

Wer im Dart / Flutter Kontext mit Streams arbeitet hat hin und wieder etwas umfangreichere Anforderungen, als das was Dart von Haus aus mitbringt. Denn obwohl der Stream Support in Dart durchaus gut ist, fehlt z.B. die Möglichkeit Streams zusammenzuführen oder Events zu sammeln / zu verwerfen (Debounce).
Dieses Problem lässt sich natürlich einfach lösen, denn es gibt verschiedene Packages die Darts Stream Support erweitern. Sehr gerne wird hier zu RxDart gegriffen, einer bekannten und umfangreichen Library. Ich selber habe z.B. mit dem Java Ableger RxJava gearbeitet und sehr gute Erfahrungen gemacht. Entsprechend ist RxDart natürlich auch ein gangbarer Weg. Aber man muss ja nicht immer gleich mit Kanonen auf Spatzen schießen, denn selbiges wird vor allem gerne auf Stack Overflow gerne mal empfohlen.
Dabei gibt es für einfache Aufgaben das Paket stream_transform, welches direkt von den Dart Entwicklern kommt und eine Reihe kleiner und gezielt anwendbarer Utility Methoden mitbringt. Mit stream_transform könnt ihr Streams buffern oder debouncen, sie kombinieren oder anders manipulieren. Am Ende sind es nur ca. 20 Methoden, welche aber diverse Fälle abdecken, ohne einen gigantischen Footprint in eurem Code zu hinterlassen. Ich bin ein Freund davon sich nur ins Haus zu holen was man auch braucht. Entsprechend war ich froh für meinen Einsatzzweck - Debounce von Events für eine Suchfunktion – mit stream_transform das Problem schnell und einfach lösen zu können.
Wie erwähnt habe ich allerdings auch gar nichts gegen RxDart und wenn man umfangreichere Aktionen im Bereich Streams durchführt ist man mit RxDart vermutlich auch besser bedient, hier geht es ausschließlich darum das richtige Tool für die richtige Aufgabe zu nutzen.

