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

ASP.NET MVC, Codespace & Docker

Webanwendungen mit ASP.NET MVC und Razor Ein kompakter und praxisnaher EinstiegIch habe eine neue Webseite erstellt. Das ist nicht ungewöhnlich und kaum eines Posts wert. Zumal die  Webseite nicht der Burner ist. Weder vom Design, noch dem Inhalt. Es ist im Grunde nur etwas Werbung für mein Buch zu „Webanwendungen mit ASP.NET MVC und Razor – Ein kompakter und praxisnaher Einstieg„, das ich vor einiger Zeit beim Springer-Verlag veröffentlicht habe. Also wozu der Hussle?

Nun – wenn man den Link zu der Webseite anklickt, fällt vielleicht der ungewöhnliche Port auf (33333). Der eigentliche Anlass für die neue Webseite war die Vorbereitung für eine Schulung mit ASP.NET im kommenden Januar. Ich will einfach einige Praxisseiten zum Zeigen von ein paar Sachen haben.

Ich betreibe meine Webseiten nun aber mit einem Apache-Webserver unter Linux. Die neue Webseite ist jedoch – aus besagten Gründen – mit ASP.NET MVC und Razor gemacht. Und das braucht – eigentlich – einen Windows-Server mit IIS oder so. Also auf jeden Fall .NET. Lokal auf einem Windows-PC bzw. direkt aus Visual Studio kein Problem. Aber wenn man „In-the-wild“ nur Linux verwendet? „ASP.NET MVC, Codespace & Docker“ weiterlesen

Preisexplosion beim Raspi

Ich muss zugeben, dass ich mir lange keine Preise für Hardware angesehen habe. Und schon gar nicht für den Raspberry Pi. Hin und wieder krame ich meinen alten Raspi der Version 1 raus und experimentiere damit rum. Aber die Version 1 ist wirklich so schwach auf der Brust, dass man damit eigentlich nur testen kann, welche Minimalhardware für gewisse Dinge notwendig ist und dabei braucht man viel Zeit und Geduld, bis die Programme starten bzw. fertig sind. Und wirklich nützliche Anwendungen habe ich in dem Bereich wenig gefunden, weil ich keine Hardwaresteuerung programmiere. Einzig die Ausführung von einem Python-Skript zur Spamabwehr ist derzeit eine produktive Anwendung des kleinen Raspi. Aber obwohl ich immer noch unter massivem Spambeschuss stehe, haben sich mittlerweile wohl die Antispam-Cloud-Dienste und die internen Spam-Abwehrmechanismen auf die neue Art des Spams eingestellt, die vor einigen Wochen wie eine Schlammlawine durchs Netz gewalzt ist. Der Raspi hat also als Torwächter wieder weniger zu tun. Bei einer anderen Anwendung hat aber die extrem schwache Hardware die Hürden nicht geschafft. Ich wollte für die kommende Cordova-Vorlesung, die ich an der TH Bingen ab übernächster Woche halte, ein Linux-System so konfigurieren, dass Cordova-Android-Apps kompiliert und nach Möglichkeit auch in einem Emulator (oder zur Not auf einem per USB angeschlossenen SmartPhone) ausgeführt werden. Da für Cordova eine ganze Reihe an recht alten Bibliotheken (JDK 8) auf der einen Seite und den elend vielen Ressourcen im Fall von Android auf der anderen Seite verlangt werden, ist meine Workstation nicht passenden konfiguriert – von meinem Matebook mit der kleinen SSD ganz zu schweigen. Und ich habe keine Lust, nur für die Vorlesung meine gesamten Konfigurationen durcheinander zu bringen und zig Sachen da zu installieren, die ich sonst nicht mehr brauche.

Zwar habe ich einen passenden Docker-Container noch von der letzten Vorlesung vorbereitet und auf den neusten Stand gebracht und auch mein altes Terra-Notebook hat Cordova sogar mit Visual Studio verfügbar (das geht maximal bis Visual Studio 2017 und das habe ich aus dem Grund auch noch auf dem alten Notebook gelassen). Aber unter meinen Linux-Systemen klappt die Installation von Cordova und den Android-Ressourcen nicht so richtig. In dem parallel auf dem alten Notebook installierten Linux ist irgendwas zerschossen und ich kann gar keine Aktualisierungen vornehmen. Das muss ich vermutlich komplett neu aufsetzen. Und bei den virtuellen Maschinen habe ich sowohl bei VM Ware als auch VirtualBox eine Reihe von anderen – und ganz verschiedenen – Problemen. Alles nix Tragisches, aber es kostet Zeit und wenn ein Problem gelöst ist, kommt das nächste. Unbefriedigend und es raubt Zeit.

Da kam mir die Idee, entgegen meiner bisherigen Planungen vielleicht doch einen neuen Raspi zu kaufen und den als Linux-System ins lokale Netz zu hängen und je nach notwendigem Ziel immer wieder neu aufzusetzen. Also so eine Art Hardware-Docker-Container-VM-Ersatz. Ich hatte für den ersten Raspi so um die 35 – 40 EUR ausgegeben, bin mit der Erwartung gerade auf die Suche gegangen und fast vom Glauben abgefallen. Die wollen ja teils weit über 200 EUR für die Platine mit ein bisschen Krimskrams dazu. Ne, wirklich nicht. Das hat ja gar nichts mehr mit der ursprünglichen Idee einer möglichst billigen Platine zu tun. Ich schaue mal weiter oder vielleicht gebe ich doch alternativen Platinen eine Chance, bei denen nicht noch zusätzlich ein Hype die Preise hochtreibt. Oder lasse es.

Derzeit kann man wohl weder Sprit bzw. Öl als auch Hardware kaufen. Benzin muss leider ab und zu sein (auch wenn ich weniger fahre und zudem wenn möglich auf das Rad oder eBike umsteige), aber Hardwarekauf kann verschoben werden, bis die Preise wieder normal sind.

Docker & wasm

Im Moment geht es in der IT mit neuen Themen schneller wie beim Bretzelbacken. Und vor allen Dingen gibt es permanent was Neues. Bzw. ich komme einfach nicht hinterher, was die Lage besser trifft.

Aktuell habe ich „Big Data“ und „Maschinelles Lernen“ im Zusammenhang mit Python „in Arbeit“. M.a.W – ich bin gerade am richtigen Einarbeiten, wobei da ja ziemlich viel Überschneidung zu meinem Studium und dem sonstigen täglichen Programmiergeschäft die Sache einfach macht.

Aber irgendwie habe ich zwei andere Megatrends bisher weitgehend ignoriert.

  • Docker
  • Webassemblies

Docker habe ich zumindest am Horizont schon länger wahrgenommen, aber einfach noch nie ausprobiert. Und da Docker mittlerweile auch schon massiv in der Kritik steht, wollte ich da eigentlich nicht ran. Aber die Entwickler auf der letzten Schulung in Köln haben auf Docker-Container geschworen und deshalb bin ich jetzt doch wieder neugierig geworden. Zumal ich eine Anfrage nach einer SQL-Schulung in der Pipeline habe, die aber nicht – wie sonst bei mir üblich – unter MySQL oder zur Not MS SQL-Server, sondern DB2 laufen soll. Ja woher soll ich denn jetzt auch noch eine DB2-Installation haben? Mit dem Teil hatte ich noch nie vorher direkten Kontakt. Antwort – ich installiere mir gerade einen passenden Docker-Container! Es ist wohl doch so, dass meine bisherige geringe Anteilnahme an der Docker-Welt ein Fehler war. Wobei ich die Installation von dem Docker-Desktop unter Windows gleich wieder gelöscht habe. Das läuft ja mit Hyper-V und das wiederum killed mein Virtual Box. No way. Ich will keine permanente Umschaltung der Virtualisierungsumgebungen. Einfach zu lästig. Also wird aus der Not eine Tugend gemacht und Docker in seinem natürlichen Habitat – Linux – betrieben. Entweder auf meinem Notebook mit dem Dualboot oder aber auf der Workstation mit Windows 10 in der Linux-VM in der Virtual Box. Geht wunderbar bei 12 Kernen und 32 Gigabyte RAM.

Das Thema Webassemblies ist dagegen vollkommen an mir vorbeit gegangen. Nur habe ich vor wenigen Tage die Meldung mitbekommen, dass wasm neben HTML, CSS und JavaScript nur die 4. offiziell von W3C abgesegnete Technologie im Web ist. Das erzwingt dringend, dass ich mir das die nächsten Tage mal genauer ansehe.