Mein Wochenrückblick

Willkommen und Danke, dass Ihr hier seid. In meinem Wochenrückblick gebe ich Euch einen kleinen Einblick in meine Gedanken der letzten Woche, hoffentlich auch ein paar Anregungen oder einfach nur etwas schönes zum lesen.

Viel Spaß.


Dieser Artikel ist ursprünglich in meinem Newsletter erschienen, den Ihr auf Substack abonnieren könnt.


Was ich diese Woche gehört habe…

Meinen liebsten Podcast Stayforever. Hier berichten Gunnar Lott, Christian Schmidt, Fabian Käufer und einige andere über alles mögliche Rund um alte Computerspiele. Alt heißt hier 20 Jahre und älter. Und das beinhaltet schon Spiele ab 2002. Alt bin nämlich ich…

Wie dem auch sei. In der Folge, die ich aktuell höre, spricht Gunnar mit Henner über die Geschichte von Windows. Es geht also mal nicht um alte Spiele, sondern um alte Hard- und Software allgemein, wie in allen Folgen mit Henner.

Bei dieser Windows Geschichte - die im übrigen mehr als hörenswert ist - hatte ich ein paar sehr nostalgische Erinnerungen an meinen ersten Computer. Und auch an einige weitere, die ich im Laufe meines Lebens besessen habe.

Ich kann mich noch sehr gut an meinen ersten, gebraucht gekauften 286er erinnern, der mit DOS daher kam und selbst bei einem, aus heutiger Sicht, simplen Spiel wie Rüsselsheim (siehe auch weiter unten) schon in die Knie ging. Das muss so irgendwann Ende der 80er gewesen sein. Wir hatten ja nix.

Rüsselsheim habe ich mir damals übrigens bei Allkauf gekauft - für 100DM! Allkauf hatte damals nämlich noch ein Art Computerabteilung, die mein einziger und wichtigster Grund war, meine Mutter relativ häufig zum Einkaufen zu begleiten.

An einem Tag in nicht all zu ferner Zukunft werde ich mal versuchen, alle Computer, die ich jemals besessen habe, in eine Liste zu schreiben. Um der Nostalgie willen.

Was ich diese Woche gelernt habe…

Diese Woche habe ich gelernt, wie man ein Docker Image für React so baut, dass man immer noch api endpoints über Umgebungsvariablen setzen kann. Ja, Nerd Kram, aber überaus hilfreich.

Im Prinzip ist es recht Simpel. Man fügt erstmal einen script block in sein index.html ein, so etwa:

<script>
window.REACT_APP_GRAPHQL_URL = ““;
</script>

Dann baut man sein Docker Image so um, dass envsubst läuft, bevor nginx startet, in etwa so

FROM node:14.17 as build-deps
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn
COPY . ./
RUN yarn build

FROM nginx:1.12-alpine
COPY --from=build-deps /app/build /usr/share/nginx/html
EXPOSE 80
CMD [ "sh", "-c", "envsubst < /usr/share/nginx/html/index.html | tee /tmp/index.html && mv /tmp/index.html /usr/share/nginx/html/index.html  && nginx -g 'daemon off;'" ]

Und dann baut man sich noch eine kleine Funktion, mit der man den Kram in React auslesen kann, in etwa so

function isEnvVar(value) {
    return /^\$\{/.test(value)
}

function get(VAR, dflt) {
    if (VAR in window) {
        let value = window[VAR];
        if (!isEnvVar(value)) {
            return value;
        }
    }
    return process.env[VAR] || dflt;
}

export const Endpoints = {
    'graphql': get('REACT_APP_GRAPHQL_URL', 'http://127.0.0.1:5000/graphql')
}

Das Schöne ist jetzt, dass yarn start und co weiter funktionieren, solange man nicht mit envsubst zu Werke geht und die Umgebungsvariablen setzt. Beim Deployment kann man jetzt trotzdem einfach ein sehr kleines Image bauen (20MB statt 1.8GB), dass sich zum Startzeitpunkt konfigurieren lässt, in etwa so (docker-compose.yaml):

react:
    image: harbor.local/myproject/react:latest
    container_name: react
    depends_on:
      - api
    restart: unless-stopped
    expose:
      - 80
    environment:
      REACT_APP_GRAPHQL_URL: /_api/graphql

Bei Gelegenheit schreibe ich das mal in einem ausführlicheren Tutorial zusammen.

Was ich dringend wieder machen muss…

Spielen. Vor allem alte Spiele. Ich höre ja, wie ich schon schrieb, Stayforever. Vielleicht mehr als mir gut tut. Neulich ging es um Stronghold. Und wer kennt und liebt nicht diesen tollen Burgenbau Simulator. Von denen gibt es eindeutig zu wenige.

Als ich in der Erinnerung an Stronghold schwelgte fiel mir dann unweigerlich mein erster PC ein, auf dem ich mich damals durch Rüsselsheim ruckelte und quälte. Trotzdem habe ich an das Spiel sehr warme Erinnerungen. Kommt also auch auf die Liste der Spiele, die ich mal wieder starten muss.

Und Raft hatte ich ja auch mal angefangen - das ist aber natürlich kein altes Spiel, aber auf seine eigene Art Interessant. Wer jetzt nicht Stunden, Tage, Wochen in ein das Spielen eines Spiels investieren will, kann sich das Alles einfach mal in einem - nicht ganz ernst gemeinten - Let’s Play anschauen.

Vom PC zur Konsole. Ich suche gerade nach einem vernünftigen gebrauchten SNES. Neulich habe ich nämlich das alte NES aus meiner Kindheit wiedergefunden und in Betrieb genommen. Unser SNES hatten wir aber leider mal verkauft (mit allen Spielen!). Wenn also jemand eine gute Quelle für gebrauchte SNES Konsolen und Spiele kennt, immer her damit.

Was ich diese Woche sportlich getan habe…

Ich war wieder laufen. Nach Monaten, ach, Jahren der Abstinenz habe ich mich wieder aufgerafft und bin gelaufen. Nicht weit, aber immerhin. Ich habe mich nämlich dazu hinreißen lassen, im September beim Aachener Firmenlauf dabei zu sein. Natürlich nur für die 3.3km Strecke (jaja .. ), aber ganz ohne Vorbereitung traue ich mich selbst das nicht.

Das war auch eine gute Ausrede, mir so eine tolle Fitness Uhr zu kaufen. Das Xiaomi Band 7 nämlich. Gab es jetzt bei Amazon für 50€. Und es erfüllt seinen Zweck. Mit einer ausgewachsenen Sport Uhr von Garmin oder einer Galaxy Watch 4 (oder 5 dann bald) kann das Band 7 natürlich nicht mithalten. Will es aber auch gar nicht. Und eine Xiaomi Composition Scale 2 für 20€ habe ich mir dann direkt dazu gegönnt. Fitnessziele und so. Dinge messen macht ja Spaß - mir zumindest.

Was diese Woche sonst noch so war…

Ich habe begonnen, diesen Newsletter zu schreiben. Und die erste Edition (also, diese hier) hat mir wirklich Freude gemacht. Auch wenn es niemals jemand lesen. Ist mir egal. Wenn es jemand liest ist natürlich besser.

Außerdem war ich diese Woche mal wieder in der Heimat, um mich mit Freunden zu treffen und ein Konzert zu besuchen. Schön war das - sollte ich doch öfter machen.


Photo by Aron Visuals on Unsplash