Nintendo Switch: N64 Emulutor

Nachdem für die Switch ein N64 Emulator von Nintendo themselves vor zwei Monaten angekündigt war, habe ich mir das Abo geholt (Yet another Abo) und erstmal die alten Marios auf NES und SNES durchgespielt! Eine große Freude und insbesondere mit Hilfe des ‚Rewind‘-Features bei dem man sehr schnell in die Vergangenheit zurückgehen kann und den tödlichen Sprung nochmals wiederholen! Yeah!

Im November kam nun der Emulator heraus und ich muss leider sagen: Scheiß.

Nicht nur, dass das Abo 19,99 EUR / Jahr kostet,… nein, für den N64 Emulator muss man noch ein extended Abo holen, was weitere 20 EUR / Jahr kostet. Im Prinzip eine Unverschämtheit für weitere emulierte Spiele… Insgesamt passt Preis/Leistung nicht zu anderen Games-Abos…

Dann ist der N64 Emulator auch noch technisch mangelhaft, wie so einige Rezensionen zeigen.
Nintendo Switch: „Unspielbar!“ – N64-Update verärgert Käufer (pcgames.de)

Dies führt leider dazu, dass ich weiterhin einen der guten PC-Emulatoren nutzen könnte, die mir Mario und Zelda auf 4K anbieten… Die Original Cartridge liegt daneben. Ich persönlich finde es sehr schade, dass Nintendo kein technisch hochwertiges Produkt liefern konnte. Die Spiele selbst sind spielerisch höchwertig.

Ein Bild-Vergleich zwischen N64, Wii-Emulator und N64 auf der Switch:

Nichtsdestotrotz: Mein Plan war es während der Pandemie alle Zelda Spiele durchzuspielen… Da es nun leider eine Verlängerung der Pandemie gibt, habe ich noch etwas Zeit… Wobei ich erst bei Ocarina of Time bin…

Visual Studio 2022

Visual Studio 2022

Installiert und läuft… leider ist das Resharper-Plugin von JetBrains noch nicht kompatibel zu VS2022… Die Preview-Version habe ich nicht ausprobiert.

Nichtsdestotrotz sind mir bisher keine Mängel aufgefallen.

ASP.Net Core

Zum kommenden Oster-Urlaub hatte ich beschlossen mich mit den neuesten .Net Core Technologien zumindest teilweise zu beschäftigen. Hier bin ich leider schon seit 10 Jahren völlig aus dem Geschäft… im Geiste grob bei PHP 4…

Daher habe ich nun eine Demo-Website mit 4 verschiedenen Technologien aufgebaut um mich ein wenig selbst zu trainieren: http://zipcode.depon.net/

Screenshot: http://zipcode.depon.net/

Im Prinzip eine sehr einfache Website, welche eine Datenbank über alle Postleitzahlen beinhaltet und dem Nutzer zur Verfügung stellt:

  • WebAPI über ASP.Net Core Controller:
    • Hier wird eine statische Seite eingeladen, die ein JavaScript (kompiliert aus TypeScript) beinhaltet. Diese lädt die Daten über die Web-API vom Server. (ASP.Net Core Web Controller)
  • Statische Seite über Razor Pages:
    • Dies ist ein klassisches Formular, welches über einen POST-Request eine neue Seite aufbaut. Server-Seitig wird dann über Razor-Pages eine komplett neue Seite geschickt
  • Server-Side Blazor-Pages:
    • Schon etwas freakiger… Im Prinzip eine statische Seite, bei der die Java Script-Events über eine persistente SignalR (WebSockets)-Verbindung zum Server geschickt wird. Der Server aktualisiert daraufhin Teile der Website (Components) und das fertig gerenderte DOM wird dann wieder über die SignalR-Schnittstelle zum Browser geschickt.
  • Client-Side Blazor Pages:
    • Massiv freakig… Hier wird die Razor-Page auf dem Browser in einer WebAssembly gerendert. Der dahinterliegende Code ist in C# geschrieben und in diesem Falle exakt der gleiche Code wie auf der Server-Side. Das WebAssembly enthält auch große Teile des .Net Codes, so dass nahezu alle Funktionen zur Verfügung stehen.
    • Die Daten werden bei Änderung über die WebAPI, wie im ersten Beispiel eingeladen. Die Tabelle wird aber dann nicht per JavaScript (via TypeScript) aufgebaut, sondern in der WebAssembly.
    • Hierbei braucht man überhaupt kein JavaScript mehr schreiben…
    • Allerdings gibt es einen Offset von ~15 MB um die kompilierten .Net Assemblies einzuladen. Hier ist aber noch viel Verbesserung für die Zukunft versprochen.

Der Sourcecode findet sich unter:

datenmeister-new/src/Web at · mbrenn/datenmeister-new · GitHub

F#

Nach längerer Abstinenz neuer Technologien habe ich nun endlich mal wieder Zeit mich in eine neue Technologie einzuarbeiten.

Habe mich für F# entschieden und in den ersten Übungen bin ich doch nicht wenig begeistert. Eine etwas andere Denke ist erforderlich und leider ist die Tool-Unterstützung nicht so schön wie bei C#. Hier nutze ich Rider und dies ist gut.

Das F#-Plugin ist nicht schlecht, aber reicht noch nicht an die Funktionen der C#-Unterstützung heran.

Weiter, weiter immer weiter!

Als Übung versuche ich die Aufgaben des wunderbaren Königsberger Analysis Buch umzusetzen

Unicode und Flaggen

Wollte eben eine EU-Flagge loswerden und habe gemerkt, dass unter Windows keine Flaggen über Unicode abrufbar sind. Weder die europäische, noch die deutsche noch eine andere.

Eine kurze Recherche hat ergeben warum:

https://answers.microsoft.com/en-us/windows/forum/all/flag-emoji/85b163bc-786a-4918-9042-763ccf4b6c05

Country flags aren’t actually a single unicode character, but a combination of unicode characters that are interpreted as a flag. When you receive the country flag equivalent of „US“, it is interpreted as the United States flag. It means that it’s up to each emoji implementation to interpret flag codes, which means that there is a potential PR nightmare to deal with in case a country isn’t recognized internationaly.

Should microsoft decide to recognize the Israelian flag ? The Palestinian flag ? Taiwan flag ? How is Microsoft supposed to decide what flag to display or not if part of a country decides to declare independance ? Some companies have decided to represent all flags, some have decided to display different flags depending on where the user is located, an Microsoft decided to display none.

Kurz gesagt:

  • Es ist hochpolitisch zu definieren, ob nun Taiwan eine Flagge haben soll, die zwischen nationalen Flaggen auftauchen soll. (Erinnert mich auch an folgende Anekdote: https://devblogs.microsoft.com/oldnewthing/20030822-00/?p=42823)
  • Das Unicode-Konsortium zieht den Schwanz ein und hat abstrakte Regional_Indicator_Symbol definiert. Aus der Regional Indicator Symbol-Kombination ‚EU‘ kann das Betriebssystem/Font Renderer nun eine EU-Flagge definieren. Damit ist die Verantwortung an den Implementierer übergeben. (Es können damit auch insgesamt nur 26×26 Flaggen geben)
  • Microsoft hat wohl für sich definiert, dass sie kein Bock drauf haben und keine Meinung vertreten. Daher werden keine Flaggen angezeigt, bzw. es erscheint nur ein kleingeschriebenes EU. Nach dem Motto: Wenn der Spezifizierende keine konkreten Flaggen spezifiziert, dann tun sie es auch nicht.
  • Andere Anbieter, wie WhatsApp, Google oder Apple sind mutiger und zeigen Flaggen an

In meinen Augen könnte Microsoft etwas mutiger sein und alle UN-Nationen bzw. ehemaligen UN-Nationen anzeigen oder ISO 3166-1. Auch drückt das für mich wieder die Unsäglichkeit national-orientierter Politik aus.

Eine Flagge funktioniert aber: 🏳️‍🌈 (neben anderen ’neutralen‘: https://emojipedia.org/flags/).

Hooray!

Bares für Rares

Immer wieder in diversen Podcasts empfohlen, so habe ich es mir tatsächlich mal angetan. Mein Kommentar:

Eine sehr leichtgewichtige Sendung in der eine Person etwas ‚Rares‘ schätzen lässt, eine Geschichte darum erklärt und dann später Raritätenhändlern vorstellt um dieses dann tatsächlich zu verkaufen. Die Geschichten sind nett erzählt und handeln um den Gegenstand selbst, sowie die Geschichte darum… Wie sie zum Beispiel zum Besitzer kam.

Eine sehr ruhige, unlaute und feine Sache.

https://www.zdf.de/show/bares-fuer-rares

2020 … erste Hälfte

Wir haben es geschafft. So hoffe ich es zumindest, dass ihr es auch geschafft habt…
Die erste Hälfte des Jahres 2020 ist seit heute Nacht um und ich muss sagen, es ist ein besonderes Jahr.

Mindestens 15 Wochen Home Office und es wird noch viele Wochen so weiter gehen, keine großen Parties, viel Laufen, wenig Saufen.

Aber man soll auch mal an das Gute denken:
– Ich habe sowenig Geld wie je zuvor ausgegeben
– Ich bin soviel gelaufen, wie nie zuvor

Aber ansonsten ist recht wenig passiert. Ein paar Nostalgie-Spiele wie Zelda (NES) oder Tomb Raider I habe ich durchgespielt… Aber bald erstmal 3 Wochen Urlaub.