miniconda & Co

Mein Beitrag zum Kampf mit pip unter meinem Linux-System hat  tatsächlich zu Reaktionen geführt und ich habe einen interessanten Tipp in dem Kontext bekommen (Danke Hendrik!). Ich solle miniconda verwenden, um darüber virtuelle Umgebungen für Python zu verwalten. Interessanterweise habe ich zu conda und miniconda im Rahmen meiner Behandlung von Anaconda und dem Jupyter Notebook in verschiedenen Videokursen bei LinkedIn Learning (Lil) mehrere Videos veröffentlicht (zuletzt wieder bei dem ganzen neuen Training zu CPython). Aber selbst nutze ich Anaconda eigentlich gar nicht, da ich mit pip immer zufrieden war und bisher auch in der Praxis keine virtuellen Umgebungen für Python benötigt habe. Deshalb habe ich miniconda bzw. conda ziemlich ignoriert. Der Hinweis von Hendrik, wie  komfortabel miniconda virtual environments ist sowie die (extrem sinnvollen!!) Beschränkungen der Basisumgebung von Python unter meinem Linux haben mich motiviert, das zu ändern.

Ausprobiert und das geht ja wirklich extrem einfach.

„miniconda & Co“ weiterlesen

IT-Beruf: Zwischen Kreativität, logischem Denken und echte Chancen für Quereinsteiger

Seit einiger Zeit bin ich in beruflichem Kontakt mit dem Technologiezentrum Glehn (TZG). Von Ihnen wurde ich vor einiger Zeit zu einer Einschätzung der Berufsaussichten für Quereinsteiger in der IT gebeten und diese ist als Experteninterview auf der TZG-Webseite und Social Media Plattformen (LinkedIn und FB) veröffentlicht worden.

Showtime bei LinkedIn Learning

Es ballt sich im Moment wieder mit neuen Veröffentlichungen bzw. Aktualisierungen meiner Trainings bei LinkedIn Learning (Lil). Gestern Abend wurde der neuste Kurs JavaScript: Unit-Testing -Praktische Testverfahren für Ihren Code kennen lernen und anwenden veröffentlicht, nachdem letzte Woche schon mein Python-Training mal wieder aktualisiert und mein neuer Kurs mit dem Thema Code mit KI optimieren veröffentlicht wurden. Beim neusten Kurs zu Unit-Testing bei JavaScript geht es darum, dass moderne Webanwendungen  ihre Logik mehr und mehr in den Browser verlagern, was zur Folge hat, dass manuelles Testen an seine Grenzen stößt. Mit Unit-Testing stellen Sie sicher, dass alle relevanten Einheiten der Software funktionieren. „Showtime bei LinkedIn Learning“ weiterlesen

pipx und virtuelle Python-Umgebungen

Mein „Crash“ gestern Abend hatte ja die Ursache, dass ich pip unter meiner Python-Installation vermisst und dann ein paar „destruktive“ Ansätze zur Lösung versucht habe. Heute morgen habe ich dann das Problem beseitigt, wobei ich gerne zugebe, dass ChatGPT wieder unterstützt hat. Wobei man die richtigen Fragen stellen und die Antworten als auch Fehlermeldungen und Ausgaben vernünftig verstehen und Tipps anpassen muss (was ich als meine Eigenleistung sehe). Gestern habe ich ja erfahren, was ein blindes Verwenden von Vorschlägen bedeutet. Doch als Spoiler zuerst meine beiden Lösungen, worüber ich pip jetzt verwenden kann, um fehlende Module wie pandas, numpy, matplotlib etc. auf meinem Linux Mint 22 zu installieren:

  1. pipx
  2. Eine virtuelle Umgebung
  3. Eine alternative Python-Installation wie zusätzliches CPython oder IronPython nutzen

Die Frage, ob ich nicht bis 3 zählen kann, weil ich von „beiden“ Lösungen rede, soll in der Antwort münden, dass ich die ersten beiden ausprobiert habe und die mir vollständig genügen.

Doch erst einmal die Ursache für mein Problem. Ich habe pip bzw. pip3 erst einmal nicht gefunden und dann trotz verschiedener Aufrufanweisungen nicht ausführen können. Der Ausgangsfehler war im Prinzip die Fehlermeldung:

error: externally-managed-environment

× This environment is externally managed

Irgendwann hatte ich diese eigentlich sehr aussagekräftige Fehlermeldung auch endlich mal verstanden. Der Fehler tritt auf, weil unter meinem Linux-System mein Python-Umfeld als „extern verwaltet“ betrachtet wird und das darin resultiert, dass das System den direkten Einsatz von pip für die Installation von Paketen in der globalen Python-Umgebung nicht zulässt. „pipx und virtuelle Python-Umgebungen“ weiterlesen

Timeshift

Oha. Eben habe ich mir doch glatt mein Mint Linux zerschossen und musste es mittels Timeshift wiederbeleben. Also nicht Linux selbst, sondern im Grunde nur Python. Aber das hat apt und apt-get samt der kompletten Anwendungsverwaltung ins Grab gezogen. Nix ging mehr mit Aktualisieren, Bereinigen oder Neuinstallieren. Das zerbröselte Python hat jedesmal zum Abbruch der Aktionen geführt. Richtig brutal. Dabei wollte ich bloß das kleine Problem beseitigen, dass bei meiner Installation von Python unter meinem Mint Linux 22 pip nicht installiert ist. „Timeshift“ weiterlesen

Hessenschau down – aber dafür geschwätzig

Ich nutze sehr gerne die Webseiten vom Hessischen Rundfunk, aber gerade ist die Seite der Hessenschau down gewesen. Entweder weil sie „under Fire“ von Hackern steht oder – was ich eher vermute – weil es einen Crash des Servers oder einem Programm auf dem Server gab. Kann passieren, aber in dem Fall sollten Besuchern nicht so viel Informationen über den internen Aufbau der Web-Architektur geben werden.

Denn diese Infos sind für Hacker Gold wert. „Hessenschau down – aber dafür geschwätzig“ weiterlesen

HH – way back

Wenn ich am Flughafen auf meinen Flieger nach Frankfurt warte, kann ich die Zeit für einen Blogbeitrag nutzen.
Ich bin wieder viel zu früh am Gate, weil alles auf dem Weg zum Flughafen problemlos gelaufen ist und die Sicherheitskontrolle fix gegangen sind. Aber wenn ich einen früheren Flieger gewählt hätte, wäre es vermutlich schiefgegangen. Ist ja immer so – viel Zeit und alles klappt, wenig Zeit und irgendwas geht schief. Aber so ist das schon ok. Habe Hörbücher dabei und natürlich mein Notebook.

Die zwei Wochen Python-Schulung sind also rum und wie schon die letzten Male hatte ich ziemlich Glück mit dem Wetter. Die Gegend im NW von Hamburg ist wirklich schön, weshalb ich Mittagpausen und den Rückweg zum Hotel jeweils für ausführliche Spaziergänge genutzt habe. „HH – way back“ weiterlesen

Python-Kurs aktualisiert und Code mit KI optimieren erschienen

Während ich gerade die Python-Schulung in Hamburg halte, wurde mein Python-Training bei LinkedIn Learning (Lil) mal wieder aktualisiert. Gleichzeitig wurde mein neuer Kurs bei LinkedIn Learning (Lil) veröffentlicht. Thema ist Code mit KI optimieren. Untertitel „Künstliche Intelligenz in der Softwareentwicklung nutzen – praktische Beispiele„.

„Python-Kurs aktualisiert und Code mit KI optimieren erschienen“ weiterlesen

Amazon erzwingt Anwesenheit im Büro – war es das mit Homeoffice?

Seit einigen Monaten häufen sich Meldungen, dass viele Firmen (insbesondere große US-Tech-Unternehmen, aber nicht ausschließlich) Homeoffice einschränken oder komplett abschaffen. Der CEO von Amazon legt derzeit explizit die Kündigung nahe, wenn Angestellte nicht 100% der Arbeitszeit im Büro sein wollen. Ich frage mich, ob das Ende von Homeoffice nahe ist und wir in ein paar Jahren rückblickend Homeoffice als eine kurze und vorübergehende Episode in der Arbeitswelt rund um die Corona-Krise bewerten?
„Amazon erzwingt Anwesenheit im Büro – war es das mit Homeoffice?“ weiterlesen

Auftrag Hamburg Teil 1 erledigt :-) – Trotz Deutscher Bahn :-(

Der erste Block in Hamburg mit 3 Schulungstagen ist erledigt, es war da wirklich wieder schön (auch vom Wetter) und ich bin erst einmal wieder zuhause. Obwohl die Deutsche Bahn alle Register gezogen hat, um mein Heimkommen zu verhindern. Wieder einmal. Eigentlich wie fast immer, wenn ich auf Geschäftsreise bin und die Bahn an irgendeinem Teil der Reise beteiligt ist.

Dieses Mal war es wieder die „letzte Meile“ vom Flughafen FFM nach Hause. In Hamburg sah es bis zum Abflug gut aus, dass nach der Landung mehr oder weniger alle 10 Minuten irgendeine Bahn vom Airport FFM in Richtung Mainz gehen sollte. Nach der Landung in FFM hat die Bahn-App angezeigt, dass erst einmal die nächsten 5 Züge alle ausfallen würden. Mittlerweile sind alle Züge für den restlichen Tag auf Ausfall gesetzt. „Auftrag Hamburg Teil 1 erledigt 🙂 – Trotz Deutscher Bahn :-(“ weiterlesen

On my way to HH

Es ist Sonntag am späteren Abend und ich warte in Frankfurt am Gateway auf mein Flugzeug nach Hamburg. Wie immer, wenn ich viel Zeit einplane, bin ich viel zu früh am Gate. Aber ich habe den Zug zum Flughafen direkt bekommen und an den Sicherheitskontrollen ist um die Uhrzeit nichts los. Aber besser so als mit Hektik. Ich habe Hörbücher, Filme und Lesestoff dabei und werde die Zeit bis zum Abflug rumbekommen.

Es ist kaum zu glauben, aber das ist mein erster externer Auftrag im gesamten Jahr. Eine zweiteilige Schulung rund um Python. Alle bisherigen Schulungen dieses Jahres waren remote, auch meine Videoaufnahmen für LinkedIn Learning (LiL) habe ich dieses Jahr allesamt in meinem Büro in Eppstein aufgenommen und das Schreiben meiner Bücher ist sowie nicht ortsgebunden. Ebenso die Programmier- und Beratungsprojekte in dem Jahr waren rein im Rhein-Main-Gebiet und hauptsächlich im Homeoffice zu erledigen.

Aber im letzten Quartal des Jahres geht es jetzt gleich 3x auf Tour. „On my way to HH“ weiterlesen

C# ohne Visual Studio

Ganz toll – ich halte die ganze Woche eine Remoteschulung zu C# und bei den meisten Schulungsteilnehmern gibt es kein Visual Studio. Genaugenommen schon, aber das läuft in einer VM und die ist Unternehmensweit beim Kunden seit Tagen gestört. Was wiederum bedeutet, dass keinem der Teilnehmer aus dem einen Unternehmen (8 an der Zahl) Visual Studio zur Verfügung steht. Private Rechner gehen auch nicht, denn diese Teilnehmer sind im Unternehmen vor Ort und da ist das nicht möglich. Nur die anderen 3 Teilnehmer aus dem zweiten Unternehmen haben Visual Studio. Glücklicher Weise gibt es eine ganze Reihe  Online C# Compiler bzw. Online-IDEs auch für C#. Die laufen bei allen Teilnehmern, da Browser nicht über die VM genutzt werden. Das erlaubt zwar keine GUI-Programmierung für Windows, aber zumindest können alles Übungen mit Konsolenausgaben durchgeführt werden. Das rettet die Angelegenheit und vielleicht bekommen die ja die VM-Probleme doch irgendwann in der Woche noch in Griff.

C#-Schulung

Gefühlt habe ich die letzten Monate nur noch Python gemacht. Mit Ausnahme von ein bisschen VBA bei dem Access-Projekt für den Alten Dom zu Mainz. Aber die Woche steht mal wieder eine Schulung in C# an. Das ist eine Maßnahme, die ich für den Kunden schon seit vielen Jahren anbiete. Einige Zeit sogar in Kombination mit einem zusätzlichen Kurs in Cobol, aber die letzte Zeit werden die Endteilnehmer (Azubis, Uniabgänger, Trainees oder umzuschulende Programmierer bei einer Versicherung) wieder nur noch in C# geschult.

Mint Linux 22

Heute habe ich mein Linux-System von Mint Linux 21.3 auf die Version 22 (Wilma) aktualisiert. Das ist eine LTS-Version und dementsprechend musste das Update ziemlich viel austauschen und ergänzen. Aber Linux-typisch ging das problemlos durch. Kein Vergleich zu anderen – mit W beginnenden – Betriebssystemen.

War nur das zu tun:

apt update
apt install mintupgrade
sudo mintupgrade

Und dann im Assistenten ein paar Fragen beantworten und ggf. ein paar fehlende Dinge in der alten Version korrigieren.

Lokale Intelligenz – LlaMa

Gestern bin ich durch einen Artikel in eine Linux-Zeitschrift auf llama von der Mozilla-Foundation aufmerksam geworden und habe es mir direkt mal von Github runtergeladen. „LLaMA“ steht für „Large Language Model Meta AI“ und ist ein KI-Modell, das ursprünglich von Meta (Facebook) entwickelt wurde und jetzt als Opensource bereitsteht. Es handelt sich um ein großes Sprachmodell, das ähnlich wie GPT-Modelle funktioniert und darauf trainiert ist, menschenähnliche Texte zu generieren. LLaMA ist in verschiedenen Größen erhältlich und die Variante von Mozilla funktioniert rein lokal. Also offline. Die ersten Tests fand ich ganz ansprechend, aber so richtig warm werde ich mit den Einschränkungen lokaler Systeme nicht. Im Grunde sehe ich nur zwei Vorteile:

  1. Man gibt keine Daten raus, was teils wirklich wichtig sein kann.
  2. Das Zeug funktioniert ohne Internet-Verbindung. Wenn die nicht da ist oder man Daten sparen will, kann das interessant sein.

Ich werde auf jeden Fall damit ein wenig experimentieren und auch mal andere Sprachmodelle des Systems ausprobieren.