Fett, fetter, Microsoft – und leider auch unverschämt was Altversionen angeht

Zwischen den Jahren nutze ich die Zeit und bereite eine Schulung zu „ASP.NET MVC“ vor, die im kommenden Januar und dann noch einmal im März laufen soll. Ich muss mich wieder etwas einarbeiten, obwohl ich vor einiger Zeit beim Springer-Verlag ein Buch zu „Webanwendungen mit ASP.NET MVC und Razor – Ein kompakter und praxisnaher Einstieg“ veröffentlicht habe. Aber ansonsten sind Webanwendungen mit ASP.NET MVC und Razor bei mir Randthemen, auch wenn ich viel mit purem C# und .NET zu tun habe.

Deshalb hatte ich vorgestern eine neue  Webseite als Referenz erstellt, die ich mit ASP.NET MVC und Razor in einem Docker-Container auf meinem Linux-Server laufen lasse.

Heute habe ich u.a. die Datenbank mit ins Spiel gebracht und im Grunde ist es wie immer bei Microsoft – wenn alles konfiguriert und installiert ist, geht das meiste mit Mausschubserei. Aber wehe, wenn nicht oder man vom vorgegebenen Pfad abweicht. Oder irgendwelche Neuerungen inkompatibel zu älteren Dingen sind (was gefühlt bei Microsoft ständig passiert). „Fett, fetter, Microsoft – und leider auch unverschämt was Altversionen angeht“ weiterlesen

Linux und die Denkfabrik

Für die Umorganisation meiner Hardware brauche ich einen PC, auf dem ich Linux installiere. Ich habe deshalb tief in die Tasche gegriffen und etwa 40 EUR in einen wiederaufbereiteten Lenovo Desktop PC ThinkCentre M71e Intel G850 4GB RAM 120GB SSD Tiny mini gesteckt. Vorgestern bestellt und jetzt ist er schon geliefert und installiert. Das Teilchen sollte so von 2015 oder 2016 sein und ist bei irgendeiner Firma ausgemustert worden. Als Bildschirm nutze ich einen ausgemusterten Minifernseher, für den ich vor einigen Jahren auch maximal 80 EUR gezahlt hatte und der ansonsten überflüssig ist.

Ich habe nun als IT-Trainer und Programmierer andere Ansprüche als „normale“ Anwender, denen so ein Gerät sicher nicht mehr langt – von Daddlern (also Spielern) ganz zu schweigen. Aber mit einem passenden Linux ist so ein PC (fast) allen Anforderungen gewachsen, die mal als professioneller Anwender hat. Ich habe mich für Mint 21 mit Xfce entschieden. Die optischen Gimicks von Mate oder gar Cinnamon brauche ich nicht (s.o.), aber es ist trotz meiner einleitenden, ironischen Anmerkungen natürlich klar, dass das alte „Denkzentrum“ keine Power ohne Ende hat. Xfce spart da schon viel überflüssige Belastung und auch sonst ist diese Edition speziell auf ältere Hardware optimiert. Auch mein altes Terra-Notebook, das ich ins Büro nach Eppstein verlagert habe, hat im Dual Boot Mint Linux mit Xfce und da ich damit wirlich gute Erfahrungen gemacht habe, nutze ich das auch hier. Auch wenn das ThinkCenter viel neuer als das Terra-Notebook ist und ich Alternativen wie Lubuntu oder MX Linux gerne mal ausprobiert hätte.

Interessanter Weise hat die Installation ziemlich Probleme gemacht, denn nach der Installation gab es immer die Meldung von wegen „Operating system not found“. Das ThinkCenter nutzt nun kein BIOS mehr (obwohl uralt, ist es doch dafür schon wieder zu neu), sondern leider EFI. Ich habe schon mehrfach mitbekommen, dass es damit eine Menge Probleme geben soll. Gerade dann, wenn da noch Sicherheitsschranken eingezogen sind. Ich hatte die Probleme auch bei einem alternativen Linux, dass ich testweise installiert hatte, ebenso, aber nach dem 5. oder 6. Installationsvorgang hatte ich plötzlich einen Bootmanager und alles war gut. Keine Ahnung, was ich da anders eingestellt habe.

Anyway – mein erster Eindruck von dem laufenden ThinkCenter mit Mint Linux 21 Xcfe ist, dass die Kiste damit brutal schnell ist. Weit jenseits von dem, was viel neuere und potentere Hardware mit Windows erreicht.
Auch wenn meine Aufträge einfach dazu führen, dass ich fast nur noch mit Windows arbeite – Linux ist so viel besser, einfach, schneller, intuitiver, leistungsfähiger, dass es im Grunde eine Schande ist.

Braucht man ständig neue Hardware?

Ich „leide“ darunter, dass ich die letzte Zeit viel zu wenig berufliche Ausgaben geltend machen kann. Denn durch Corona sind meine Reisekosten gesunken und irgendwie sehe ich keine zwingenden Gründe, warum ich meine Rechner, SmartPhones, Büromöbel oder gar Tablets anschaffen/erneuern soll. Solange der alte Kram noch geht und eine Neuanschaffung keine signifikanten Vorteile bringt oder ich keine echte Verwendung sehe, kann ich mich einfach nicht zu einem Kauf von neuer Hardware entschließen. Das mag betriebswirtschaftlich nicht sinnvoll sein, aber für die Umwelt zumindest besser. Trotzdem gibt es so ein paar Sachen, die ich anschaffen oder umorganisieren muss.

Ich wollte gerade in der Hängematte die Europa-Meisterschaften in München schauen, aber mein Tablet ruckelte ohne Ende und ist immer wieder ausgegangen. Das Teil ist einfach fertig, zumal ein Riss über das gesamte Display geht. Ich war schon drauf und dran, mir ein neues Tablet zu bestellen. Aber dann kam der Gedanke wieder durch, den ich immer bei Tablets habe – im Grunde nutzlos, weil sie irgendwie die Nachteile von einem SmartPhone mit den Nachteilen eines Notebooks verbinden. Andere mögen dafür eine echte Anwendung haben, aber außer ein bisschen Fernsehen oder Videos schauen und ein bisschen Surfen mache ich mit einem Tablet eigentlich nichts. Nicht einmal das Anzeigen von Schulungsunterlagen, was ich irgendwann als eine möglicherweise nützliche Anwendung von solchen Geräten mir eingebildet habe, mache ich wirklich. Und dann gibt es ja noch in meinem Büro in Eppstein noch den chinesischen Microsoft Surface-Klon, den ich mir 2021 angeschafft habe. Der läuft mittlerweile mit Windows 11 und kann als UBook sowohl als PC aber eben auch als Tablet verwendet werden. Sogar ein Stift ist dabei, Das CHUWI UBook Tablet langweiligt sich vermutlich sowieso ziemlich, weil ich das Ding nur selten einsetze. Dabei arbeitet das Billigteil gar nicht so schlecht, wenn ich denn man wirklich damit etwas mache. Also statt ein neues Tablet anzuschaffen, werde ich das CHUWI herholen. Nur dann brauche ich in Eppstein einen Rechner für die Tage, wo ich ohne mein Matebook da hinkomme und was arbeiten will. Ich könnte meinen alten Mac Mini da wieder hinschaffen (wie ich es schon mal gemacht habe), aber der dient mir im Moment als Druckserver und ich komme ja zudem mit macOS einfach nicht zurecht. Aber ich habe noch ein uraltes Terra-Notebook, das für die meisten Anwendungen immer noch ausreicht und ansonsten hauptsächlich das Backup von meinen beiden Hauptrechnern ist. Die Rolle kann das CHUWI auch übernehmen. Also geht das Terra-Notebook nach Eppstein.

Was zu dem Problem führt, dass ich dann keinen echten Linux-Rechner (das Terra-Notebook hat Win 10 und Mint Linux im Dualboot) mehr in Bodenheim habe. Meinen Raspi Pi kann ich nicht ernsthaft in Betracht ziehen, weil die Version 1 einfach viel zu schwachbrüstig ist. Linux in einer VM ist keine Lösung für mich. Ich habe einen Rapberry PI 4 in Erwägung gezogen, aber die kosten zwischen 140 und 180 EUR (je nach RAM). Das ist zuviel für die Platine und ich habe deshalb eben spontan einen gebrauchten Mini PC bei ebay gekauft. Einen alten Lenovo Desktop PC ThinkCentre M71e Intel G850 4GB RAM 120GB SSD Tiny mini, der mit Versand keine 50 EUR kostet. Darauf sollte eine Linux-Distri vernünftig zu installieren sein und die Verlagerung des Terra Notebooks auffangen.

Was mein Problem mit den fehlenden Geschäftsausgaben nicht löst, aber da mein SmartPhone – wie das Tablet – einen großen Riss im Display hat, werde ich vermutlich im Laufe des Jahres noch ein neues Gerät anschaffen und ein Business-Gerät in Erwägung ziehen.

Was ein Gefuddel für Android

Nachdem mir die Raspberry PIs als auch vergleichbare Platinen im Moment einfach zu teuer sind, habe ich mich daran gemacht, ein uraltes Notebook, dass ich vor einigen Monaten mit Deepin Linux neu eingerichtet habe, für die Cordova-Entwicklung einzurichten. Das ist zwar fertig, liegt aber sowieso da rum und einen Test war es mir wert.

Im Grunde geht das Einrichten von Cordova ja auch recht einfach, wenn es nicht die elenden Fallen geben würde.
Einmal ist da im Fall von Android das Problem mit der Java-Version. So richtig geht es – falls man für Android die App erstellen will – nur mit Java 8 bzw. dem JDK 8. Das Problem habe ich schon vor gefühlten Ewigkeiten bemerkt und mir immer damit geholfen, dass ich eben Java 8 installiert habe. Neben den aktuellen Versionen. Leider ist es dann aber blöde, weil man für Gradle-Skripte (zumindest die vorgefertigten von Cordova) die Default-Version von Java auch auf eben dieses Java 8 umstellen muss. Das geht in Linux (Debian, Ubuntu, Mint und Derivate) so:

sudo update-alternatives --config java

In der Folge kann man zwischen den installierten Java-Versionen auswählen und eine davon zur Default-Version machen. Aber dann muss man dann auch noch JAVA_HOME korrekt setzen. Etwa so:

env JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/

oder

export JAVA_HOME /usr/lib/jvm/java-8-openjdk-amd64/

Ging unter Deepin als normaler User, aber komischer Weise hat das als root nicht funktioniert bzw. die Einstellungen wurden nicht übernommen. Letztendlich habe ich viel rumgebastelt, wieder viel gelernt, bin aber wie so oft im Grunde gescheitert.
Wobei das Problem mit Java 8 ist vermutlich ein ganz anderes, als man vermutet. Denn vor einigen Monaten hatte ich eine Schulung rund um Java EE gehalten und da hatten wir bei JSF ein ähnliches Problem. Die Meldung sah so aus als wäre die Version von Java nicht passend bzw. zu alt, obwohl sie neuer als die geforderte/angezeigte Version war. Ganz wie hier bei Cordova. Aber dann ist mir aufgefallen, dass die Versionsnummern in dem Framework nur einstellig (!) evaluiert wurden. Also Java 11 oder Java 17 werden als Java 1 interpretiert. So was vermute ich mittlerweile auch bei Cordova bzw. den Gradle-Skripten. Man müsste es mal mit Java 9 testen, aber dazu habe ich im Moment keine Zeit.
Letztendlich ist aber sowieso das Hauptproblem dieses elende Android-Gefuddel. Das Android-SDK und die Android-Tools etc. habe ich nach und nach alle installiert, aber ständig kam die Meldung, dass das Zeug nicht da wäre. Genaugenommen hat das Gradle-Skript diese Meldung gebracht. Letztendlich habe ich sogar das Android Studio auf dem uralten Notebook mit Deepin installiert, dort diverse Fernzugriffservice eingerichtet und gestartet, alle möglichen SDK-Versionen nachinstalliert und sogar ein Cordova-Template im Android Studio als Plugin eingerichtet.
Resultat – das Gradle-Skript weigert sich, die Android-Ressourcen zu finden. Und selbst das Android Studio nimmt dieses Gradle-Skript und kennt sich quasi dann selbst nicht mehr.

Irgendwann hatte ich die Faxen dicke, denn so schön Deepin Linux von der Oberfläche auch ist – es hat so ein paar Macken, die ich von der administrativen Seite nicht wirklich gut finde. Und der VNC- als auch RDP-Zugriff haben darauf ums Verrecken nicht funktioniert. Nur ssh – auch mit X-Umleitung von einem anderen Linux-Rechner.
Apropos anderer Linux-Rechner – das ist mein Terra-Notebook, auf dem ich Windows 10 und Mint Linux im Dualboot betreibe. Unter Windows habe ich das Cordova (auch für Android) mit Visual Studio 2017 im Griff (und im Prinzip auch mit dem Android Studio – das macht aber keinen Spass). Die Linux-Version kann ich aber seit Monaten nicht mehr aktualisieren oder da ein Programm installieren. Die Sache hier war für mich der Anlass, dass Problem mal anzugehen. Denn egal was ich probiert habe die letzte Zeit – mit der Fehlermeldung, dass die Quellen nicht zu lesen wären, haben sämtliche Aktualisierungsversuche als auch Installationsversuche abgebrochen.
Ich bin nun auf den Lösungsansatz gestoßen, dass man die Datei mit einem geeigneten Repo füllen sollte. Etwa das:

sudo nano /etc/apt/sources.list
deb http://de.archive.ubuntu.com/ubuntu bionic main restricted

Habe ich gemacht – keine Wirkung!
Dann habe ich endlich die Meldung genauer angesehen – Linux hat nicht die Datei /etc/apt/sources.list beim Installieren/Aktualisieren ausgelesen, sondern die Datei /etc/apt/sources.list.d/vivaldi.list.
Aus irgendeinem Grund wurde der Pfad umgebogen. Wo genau, habe ich noch nicht raus, aber einfach das Repo da reingeschrieben. Und gut ist es – aktualisieren und installieren geht wieder.
Jetzt kann ich auch mal den Linux-Rechner nutzen und versuchen, da Cordova-Apps für Android zu kompilieren. Wenn das auch da nicht geht, habe ich ja immer noch Visual Studio 2017 und meinen Docker-Container.

Und so ganz unwahrscheinlich ist es nicht, dass ich darauf beschränkt bleibe. Denn bei dem Mint-Linux ist node.js und damit auch npm in einer alten Version dabei. Was nicht schlimm wäre, wenn nicht jede Art der Installation, die ich versucht habe, immer diese uralte Version 8 installiert hätte. Mit apt bzw. apt-get entfernt, neu installiert, andere Quellen genommen, verschiedene Package-Manager ausprobiert -> immer die Version 8, obwohl es schon die Version 18 gibt. Ein Problem führt bei den ganzen Aktionen – wie eigentlich immer – zum nächsten.

Ich bin jetzt auf das Level zurückgegangen, dass ich die Quellcodes von Git geholt und dann bei mir neu kompiliert und installiert habe.

Also klassisch

git clone https://github.com/joyent/node.git

Und dann:

./configure
make
make install

Dazu gibt es im Netz eine ziemlich gute Anleitung.

Der kleine Hinweis dort, dass das Kompilieren ein „bisschen länger“ dauert, war aber untertrieben. Ich bin mit der Erwartung von vielleicht 30 Minuten maximal in den make-Befehl rein und nach gut 5 Stunden war noch kein Ende zu sehen. Das Zeug ist dann über Nacht durchgelaufen und heute morgen war es erledigt. Das dauert also brutal lang, wobei mein Terra-Notebook auch schon in die Jahre gekommen ist.

Anyway – die Sache ging durch und nun habe ich node.js bzw. npm in der Version 18. Cordova ist damit auch eben fix installiert und wie es mit Android aussieht, schaue ich mir später an. Das ist ja die einzige kritische Stelle.

 

TV als preiswerter Monitor

Die Preise für Monitoren sind ja – wie auch bei anderer PC-Hardware – im Moment jenseits von Gut und Böse. Ich hatte jedoch eine Weile in meinem Haus in Eppstein die Einliegerwohnung neben dem Büro als Monteurswohnung angeboten und dafür einen kleinen und damals äußerst billigen Fernseher angeschafft. Wenn ich bedenke, dass ich für dieses Gerät kaum mehr als 100 EUR bezahlt hatte und sogar ein Receiver verbaut ist, habe ich keine Ahnung, wie sich so etwas rechnen kann. Klar – war ein Sonderangebot damals, aber der Leistungsumfang ist dennoch Wahnsinn. Nachdem ich die Wohnung mittlerweile aber dauerhaft vermietet habe, war das TV-Gerät überzählig.

An der Dockingstation von meinem alten Terra-Notebook hat dafür ein Monitor gefehlt. Den habe ich mittlerweile als 4. Bildschirm an meine Workstation angeschlossen.  Also aus der Not eine Tugend gemacht und bevor unnütz Geld für eine neuen Monitor ausgegeben, habe ich mal ausprobiert, wie sich das kleine TV-Gerät als Zweitmonitor macht. Das Teilchen ist wie gesagt für den Preis absolut gut ausgestattet und hat auch ein durchaus gutes Bild.

Auch – und darum geht es ja mir gerade – als Zweitmonitor taugt das Gerät. Ich bekomme bei Anschluss an die Dockingstation die gleiche Auflösung wie auf dem alten Terra-Notebook (die ist zugegeben auch verdammt niedrig mit 1366 x 768, aber das genügt).  Funktioniert wunderbar unter Linux, aber sogar auch unter Windows. Wenn man die aktuellen Preise von Monitoren betrachtet, ist also ein einfaches TV-Gerät eine mehr als preiswerte Alternative, um – zumindest bei älteren PCs bzw. Notebooks – einen Zweitmonitor zur Verfügung zu haben. Wobei ich mit dem Gerät auch nicht dauerhaft arbeite, denn ob das dann gut für die Augen ist, bin ich wirklich nicht sicher.

Das Matebook ist unmusikalisch

Morgen wollen wir nach längerer Krankheitspausen mit meiner Band wieder mit virtuellen Proben via JamKazam anfangen. Das Programm habe auf meinem alten Mac Mini in meinem Büro in Eppstein installiert, aber ich wollte es parallel auch auf meinem Matebook laufen lassen – für alle Fälle. Die Installation ging problemlos, aber auf Teufel-komm-raus wurde mein USB-Audio-Device nicht akzeptiert. Es wurde erkannt, aber als fehlerhaft abgelehnt. Am Mac macht es keine Probleme und auch bei anderen Programmen auf dem Matebook (etwa bei Videoaufnahmen für LinkedIn Learning) funktioniert es einwandfrei.

Ich verstehe es nicht. Aus reiner Verzweiflung habe ich JamKazam noch mal auf meinem uralten Terra-Notebook installiert und das USB-Device da angeschlossen. Auch da – Null-Problemo. Das Matebook ist sich anscheinend zu fein für Musik ;-).