Kategorie: Blog

  • Ich lerne PyTorch – Tag 1

    Ich lerne PyTorch – Tag 1

    Person sitzt nachts am Computer und schreibt PyTorch code. KI-generiertes Bild.

    Heute geht es los, ich will PyTorch lernen. Warum? Naja, KI ist heutzutage nicht mehr wegzudenken und KI nicht nur nutzen, sondern auch eigene Modelle entwickeln zu können, ist eigentlich ein richtig guter Skill heutzutage, der sich gut im Lebenslauf macht. Deswegen mein Ziel: jeden Tag ein bisschen PyTorch lernen und euch auf die Reise mitnehmen.

    Schritt 1 – PyTorch oder Tensorflow

    Also bevor wir überhaupt loslegen können (und bevor ich die Serie gestartet habe) kam die erste große Frage: Tensorflow oder PyTorch. Beide sind gute Frameworks und weit verbreitet. Doch nach kurzer Recherche war für mich klar: es wird PyTorch. Warum? Ganz einfach:

    1. Es ist einfach erlernbar und sehr intuitiv, als würde man Python-Code schreiben
    2. PyTorch hat deswegen derzeit die Nase vorne. Vor allem bei Startups und bei Forschungsprojekten.

    Und klar: Tensorflow hat die Nase vorne, wenn es um große Projekte in der Industrie geht, aber das ist jetzt nicht mein Ziel. Ich will erstmal klein anfangen und eigene Projekte realisieren

    Schritt 2 – Installation

    Jetzt benötigen wir alle Tools. Unter anderem Jupyter Notebook, weil sich damit das Arbeiten besonders angenehm gestaltet und man auch Zeile für Zeile die Ausgaben sieht…gut fürs Debugging.

    Mein Vorteil: Ich hatte bereits Python installiert und konnte deswegen einfach mit den Befehlen

    pip install torch torchvision
    pip install notebook

    bereits PyTorch und Jupyter Notebook installieren. Dann kann man bereits loslegen, oder?

    Schritt 3 – Das venv-Problem

    Ich sage so wie es ist: ich lerne teilweise mithilfe von Google Gemini. Besonders die ersten Schritte und auch Bugs lösen. So hat mit Gemini vorgeschlagen ein virtuelles Environment mit Venv zu erstellen. Warum? Wenn ich in Zukunft weitere Packages mit pip installiere, gehe ich sicher, dass keine Konflikte entstehen. Also, ich gehe in das Verzeichnis und erstelle ein eigenes Venv environment. Dafür gehe ich in den Ordner und gebe ein:

    python -m venv venv
    source venv/bin/activate

    Mit den Befehlen erstelle ich eine neue Umgebung und aktiviere sie bereits.

    Schritt 4 – Alles installiert?

    Ab jetzt bin ich im Terminal in der neuen Umgebung drin. Danach nochmal PyTorch und Jupyter Notebook über Pip installieren und es geht los:

    jupyter notebook

    Und es öffnet sich ein neues Browserfenster auf localhost:8888 und es kann losgehen. Ich erstelle eine neue Notebook-Datei und wie es sich gehört starte ich erstmal mit print(„Hallo Welt“) – siehe da, es klappt. Dann noch kurz testen, ob PyTorch installiert wurde:

    import torch
    x = torch.rand(5, 3)
    print(x)

    Und siehe da, die Ausführung klappt! Der Beweis, dass Pytorch installiert wurde!

    Danke, dass du bis hier hin gelesen hast, morgen geht es weiter!

    Hier noch die Installationsanleitung, die ich für PyTorch benutzt habe:

    https://pytorch.org/get-started/locally/?_gl=11rcv0rg_upMQ.._gaODYwNjA1OTkxLjE3NzUyNTQ3NTM._ga_469Y0W5V62*czE3NzUyNTQ3NTMkbzEkZzAkdDE3NzUyNTQ3NTMkajYwJGwwJGgw

  • Macht KI jetzt alle arbeitslos? Nein, aber es verstärkt den Fachkräftemangel!

    Macht KI jetzt alle arbeitslos? Nein, aber es verstärkt den Fachkräftemangel!

    Seit 2021 ist nichts mehr so, wie es davor war. Big Player wie Anthropic oder OpenAI übertreffen sich mit jedem neuen Modell selbst – und die Arbeitswelt hat sich radikal gewandelt. Praktikanten, Werkstudenten oder Berufseinsteiger? Brauchen wir für die klassischen Büro-Jobs nicht mehr. Ich meine, digitale Akten sortieren oder einfache Skripte schreiben kann die KI mittlerweile problemlos. Aber schauen wir mal fünf Jahre in die Zukunft: Sind dann alle ITler arbeitslos?

    Bei diesem Beitrag handelt es sich um meine persönliche Meinung. Ich werde hier vorrangig über die IT-Branche sprechen, aber im Kern betrifft es viele andere Berufsbilder genauso.

    Aktueller Stand

    Überall werden gerade massenweise Mitarbeiter ersetzt, was vor allem den IT-Bereich trifft. Das ist kein Wunder, denn Codezeilen tippen und Dateien hin- und herschieben kann die KI extrem gut. Zudem braucht eine KI keinen Urlaub und meldet sich nie krank. Sie wirkt wie der perfekte Mitarbeiter.

    Unternehmen wie Google und Spotify wissen das längst zu nutzen. Google hat bereits massive Einsparungen im Marketing vorgenommen. Spotify-Gründer Daniel Ek erklärte zudem, dass Entwickler bei ihnen kaum noch selbst Code schreiben, sondern ihn nur noch generieren lassen. Sein Zitat dazu bringt es auf den Punkt:

    Wenn ich mit meinen erfahrensten Ingenieuren spreche, den besten Entwicklern, die wir hatten, sagen sie, dass sie seit Dezember keine einzige Zeile Code mehr geschrieben haben. Sie generieren nur noch Code und überwachen ihn.“

    Daniel Ek

    Also: anhand dieses Stands müssten Entwickler sowie alle anderen, die tagtäglich am Computer arbeiten, eigentlich zittern. Die KI kann bereits viele Berufe ersetzen und steht doch erst am ganz Anfang ihrer Entwicklung.

    Die schmerzhafte Wahrheit

    Man muss es so offen und direkt sagen: Wer die KI jetzt prinzipiell ablehnt oder kein Interesse hat, sich weiterzuentwickeln, sollte sich entweder auf einen Bereich umschulen, den die KI noch nicht übernommen hat, oder eben hinnehmen, ersetzt zu werden. Large Language Models (LLMs) sind da, sie entwickeln sich rasant weiter und werden nicht mehr verschwinden. Es geht also nicht um die Frage, wie man verhindert, dass die KI einem den Job klaut. Es geht eher darum, wie man mit ihr zusammenarbeitet. Die wichtigsten Skills der Zukunft werden Prompting sowie das schnelle Erlernen und Bewerten neuer Tools sein. Wer da nicht mithalten kann, ist raus.

    Warum uns KI aber doch nicht vollständig ersetzt

    Jetzt kommen wir aber zum Positiven. Was sind die positiven Ausblicke durch die KI?

    Physische Welt

    Einerseits ersetzt die KI zwar viele Mitarbeiter, aber was sie nicht kann und wahrscheinlich noch sehr lange nicht lernen wird, ist die Interaktion mit der physischen Welt. Handwerker können also beruhigt sein.

    Haben Dampfmaschinen Mitarbeiter ersetzt?

    Als die ersten Dampfmaschinen kamen, war die Angst vor Massenarbeitslosigkeit riesig. Und dennoch sind wir heute nicht alle arbeitslos. In Fabriken, besonders bei Autoherstellern, stehen zwar bereits viele Roboter an den Bändern und etliche Prozesse sind automatisiert. Trotzdem haben uns die Maschinen nicht ersetzt. Im Gegenteil brauchen wir Menschen, welche diese Maschinen bauen, programmieren und warten. Die Mitarbeiter stehen nicht mehr direkt am Band, sondern entwickeln die Technik, die später dort arbeitet. Genauso wird es sich mit der KI entwickeln. Je mehr die KI übernimmt, desto komplexer wird der Prozess dahinter und desto mehr Personal benötigen wir, um diesen Prozess zu bändigen.

    Fachkräfte-Lücke

    Jeder Spezialist und jede Führungskraft hat mal klein angefangen. Man startete mit genau den Aufgaben, die heutzutage eine KI übernimmt. Erst später kamen komplexere Aufgaben und Verantwortung dazu. Was passiert aber, wenn diese erste Stufe der Karriereleiter wegfällt? Was passiert, wenn wir keine Einsteiger mehr brauchen? Womit füllen wir die Lücke, wenn die aktuellen Seniors in Rente gehen oder aufsteigen? Wer kommt dann nach?

    In Rollen, in denen es um echte Verantwortung und Haftung geht, kann man nicht einfach eine KI hinsetzen. Man spart vielleicht kurzfristig Geld, aber der Vorteil schwindet in dem Moment, wo die KI richtigen Mist baut. Meine Vermutung ist daher: Jetzt lassen sich viele vom KI-Hype mitreißen, aber in ein paar Jahren wird man feststellen, dass man doch deutlich mehr menschliches Personal braucht, als man heute vermutet hat.

    …und so weiter

    Es gibt noch viele weitere Argumente, warum die Angst vor der KI nicht berechtigt ist. Die aufzuzählen würde zu lange dauern (eventuell mache ich mal einen zweiten Part).

    Mein Fazit

    Klar, derzeit ist die Situation (vor allem für Absolventen) gar nicht schön. Man studiert jahrelang, um später um einen Einsteigsjob kämpfen zu müssen. Vor allem sah die Lage vor ein paar Jahren ganz anders aus: viel IT-Studenten hatten bereits vor Ihrem Abschluss einen sicheren Job in der Tasche.

    Aber wir sind gerade in der Mitte der Transofrmation. Es ist eine regelrechte Hysterie um KI, aber wie es sich entwickelt, es ist schwer abzusehen. Auch ist dieser Artikel deswegen meine persönliche Prognose ohne wissenschaftliche Belege und ähnliches. Aber eins ist klar, wir werden uns ändern müssen und lernen, gemeinsam mit der KI zu leben. Die KI wird keine Arbeitnehmer ersetzen, menschliches Personal wird aber eben in Zukunft anders eingesetzt als heute.

    Quellen

    https://www.br.de/nachrichten/netzwelt/trotz-digitalminister-prognose-jetzt-noch-informatiker-werden,VFRclOn

    https://www.heise.de/news/Spotify-Co-CEO-Top-Entwickler-schreiben-dank-KI-keinen-Code-mehr-11176381.html

  • Ist Ruby on Rails tot? Ich denke nicht!

    Ist Ruby on Rails tot? Ich denke nicht!

    Ja, ich arbeite noch mit Ruby on Rails (booooo), und ich muss ehrlich sagen, ich liebe es. Die Gründe? Viele! Aber darauf werde ich später eingehen. Aber egal wie man zu Ruby on Rails steht, eins ist klar: es ist inzwischen eine Nische, also zumindest im Vergleich zu den JavaScript-Frameworks. Klar, viele bekannte Namen (Shopify, GitHub etc.) nutzen noch Ruby on Rails, aber meistens noch irgendwo tief im Core. Große Teile, wie zum Beispiel das Frontend, wurden schon längst durch React oder Next ersetzt. Deswegen die Frage, warum sollte man Ruby on Rails heutzutage noch benutzen?

    Wichtig: Ich werde Ruby on Rails im Artikel nur Rails nennen. Ruby ist die Programmiersprache hinter Rails
    KI-generiertes Bild von Verschiedenen Frameworks, die Ruby on Rails beerdigen

    Was ist eigentlich Rails

    Ruby on Rails, oft einfach nur Rails genannt, ist ein Open-Source-Webframework, das in der Programmiersprache Ruby geschrieben ist. Seit seinem Erscheinen im Jahr 2004 hat es die Art und Weise, wie moderne Webanwendungen gebaut werden, revolutioniert. Das Ziel von Rails ist simpel, aber ambitioniert: Entwicklern dabei zu helfen, komplexe Anwendungen mit deutlich weniger Code und in kürzerer Zeit zu erstellen als mit anderen Technologien.

    Rails basiert auf zwei zentralen Philosophien, die es so effizient machen:

    • Convention over Configuration (Konvention vor Konfiguration): Rails trifft intelligente Standard-Entscheidungen für dich. Anstatt endlose Konfigurationsdateien zu schreiben, folgt das Framework bewährten Mustern. Solange du dich an diese Konventionen hältst, „weiß“ Rails automatisch, was zu tun ist.
    • Don’t Repeat Yourself (DRY): Jedes Stück Information und jede Logik sollte innerhalb eines Systems nur einmal existieren. Das macht den Code sauberer, wartungsarmer und weniger anfällig für Fehler.

    Dank seiner MVC-Architektur (Model-View-Controller) trennt Rails die Daten, die Logik und die Darstellung strikt voneinander.

    Wie bin ich zu Rails gekommen?

    Es ist eigentlich einfach: nicht ich habe Rails ausgesucht, sondern Rails mich (wie der Zauberstab bei Harry Potter).

    Wir hatten an der Uni eine Vorlesung, in welcher wir eine Software umsetzen mussten. Technologisch gab es drei Bedinungen:

    1. Rails
    2. Hosting auf Heroku (durch den Studenten-discount war es für so eine kleines Projekt kostenlos)
    3. SQLite3 als Datenbank

    Warum das ganze? Naja, der Professor mochte eben Rails und es ging darum den Prozess hinter der Entwicklung einer Software zu verstehen und nicht, dass man dann monatelang nur einem Bug nach dem anderen hinterherrennt, weil sich Datenbank und Framework nicht verstehen.

    Nun ja, ich fand es so toll, wie schnell man mit Rails eine funktionsfähige Plattform bauen kann und vor allem, wie gut Vibecoden funktioniert, dass ich später sogar ein anderes Projekt darauf aufgesetzt habe. Das Projekt ist bis heute immer noch 100% auf Rails. Aber genug dazu, kommen wir jetzt zu dem Teil, warum du überhaupt auf den Artikel geklickt hast.

    Konkurenzdruck

    Rails hat die Webentwicklung revoluzioniert. All-in-one Framework, in dem du das Frontend und das Backend verwalten kannst, ist ja zu schön um wahr zu sein. Deswegen dauerte es nicht lange, bis Konkurenz aufgekommen ist. Laravel auf PHP, Django auf Python oder next.js auf Javascript. Heißt, Ruby on Rails muss sich den Markt teilen. Und da kommt noch ein anderes Problem: an den wenigsten Universitäten oder Ausbildungsbetrieben wird noch Ruby gelehrt. Wenn man schon mit JavaScript arbeiten kann, dann steigt man lieber bei next.js ein, als eine neue Programmiersprache zu lernen, nur um ein bestimmtes Framework zu beherrschen.

    Das Ruby-Ecosystem

    Gefühlt jede Stunde erscheint ein neues Javascript Framework, Python ist der Champion in KI und Wissenschaft, PHP ist…naja…ist wie die Band, die seit 20 Jahren auf Abschiedstournee ist, aber irgendwie immer noch in den Charts auftaucht. Und Ruby? Fällt dir da ein bekanntes Framework ein? Das ist leider auch ein Problem zum Nachteil von Rails. Wenn ich zum Beispiel eine neue KI mit Python aufsetze, warum sollte ich mir die Mühe machen und dann noch schauen, wie ich Ruby und Rails in den Prozess involvieren kann, wenn Python mir ja mit Django schon direkt die Lösung bietet?

    Monolith-Monster

    Monolithen…für Software-Architekten schlimmer als jeder Horrorfilm. Während du bei einer Microservice-Architektur eine neue Datenbank dranhängst und im besten Fall alles weiterhin so läuft wie davor, musst du bei Rails die Architektur von Grund auf sauber planen, statt einfach nur neue Services dranzuklatschen. Aber hier kommt meine eigene Meinung: Deine persönliche Plattform ist nicht Amazon oder Google, wo tausende verschiedene Services perfekt miteinander kommunizieren und skalieren müssen. Solange man jetzt nicht einen Milliardenkonzern aufbauen will, ist ein Monolith kein Problem. Und vor allem am Anfang bleiben durch die monolithische Architektur viele Kopfschmerzen erspart.

    Löscht Vibecoding Rails aus?

    Vibecoding ist der Endgegner der Rails-Magie. Warum sollte ich mich noch an strenge Konventionen halten, wenn ein LLM mir auch den schlimmsten Spaghetti-Code in Sekunden mundgerecht serviert? Die exklusive Geschwindigkeit, mit der Rails Jahrzehnte lang gepunktet hat, ist durch KI demokratisiert worden. Wer nur ‚vibet‘, dem ist die Eleganz unter der Haube egal.

    Doch hier verbrennen sich die KI-Jünger die Finger: Vibecoding auf Treibsand funktioniert nicht. Wenn die KI halluziniert, bist du in einem Framework ohne klare Regeln verloren. Rails ist in dieser neuen Welt kein Hindernis, sondern der Sicherheitsgurt. Während andere noch versuchen, ihre generierten Puzzleteile zusammenzukleben, liefert Rails das fertige Brett mit. Vielleicht löscht die KI Rails nicht aus…sie entlarvt nur die Architekten, die ohne stabilen Unterbau bauen.

    Fazit: KI löscht Rails nicht aus, es macht gute Rails-Entwickler noch besser.

    Die Frage der Fragen: soll ich noch Ruby on Rails lernen?

    Vielleicht dachtest du es schon: Ja!

    Es hat nämlich Vorteile, die man auf den ersten Blick nicht so sieht:

    1. Rails ist 2004 erschienen, also sie hatten mehr als genug Zeit sich zu entwickeln und sie haben sich bewährt. Wenn ein Framework seit über 20 Jahre existiert, ist es sehr wahrscheinlich, dass es mindestens noch die nächsten 10 Jahre existieren wird
    2. Ruby ist sehr anfängerfreundlich. Klar, man fragt sich vielleicht was ist, wenn das eigene Projekt mal größer wird und eine virtuelle Maschine nicht mehr ausreicht und man stattdessen schauen muss, wie man eine effektive Infrastruktur aufsetzt. Aber da bist du am Anfang weit entfernt. Mit Ruby on Rails kannst du schnell und einfach erste MVPs bauen, ohne dass du erst ein halbes Jahr schauen musst, wie du die ganzen Microservices zusammenfügst.
    3. Klar, du findest jetzt nicht so viele Jobs, wo du unbedingt Ruby on Rails kennen musst, aber wenn doch: Glückwunsch, du hast ausgesorgt! Naja, das war jetzt natürlich etwas übertrieben. Aber es ist Fakt: Es gibt noch viele Plattformen, die auf Ruby on Rails laufen und natürlich braucht man Menschen, welche diese weiterentwickeln können. Und Rails-Entwickler werden immer seltener
    4. Und natürlich der wichtigste Faktor: Vibecoding. Es funktioniert. Und das richtig gut. Natürlich einerseits dadurch, dass es die Sprache schon so lange gibt und dementsprechend genug Trainingsmaterial existiert, andererseits liefern Errors bereits die genaue Information, wo der Fehler liegt. Glaubt mir, ich war selbst erstaunt, als ich Fehlermeldungen ChatGPT gegeben habe (also ohne, dass es die ganze Codebase ist) und es mir gesagt hat, wo der Fehler ist und was für ein Fehler es ist, weil es alles bereits detailliert in den Logs stand.


    Du siehst es anders als ich?

    Kein Problem, schreib mir einfach eine Nachricht über LinkedIn oder über das Kontaktformular

    (Ich muss rechtlich darauf hinweisen, dass wenn du auf „LinkedIn“ drückst, du zu LinkedIn weitergeleitet wirst)


    Quellen

    https://www.bacancytechnology.com/blog/ruby-on-rails-statistics-and-facts

    https://medium.com/@stewteh698/rails-today-54b13419b13a

    https://medium.com/@nehanakrani004/why-i-love-ruby-on-rails-for-web-development-5c7a9de27baa

    https://paolino.me/ruby-is-the-best-language-for-ai-apps

    https://www.reddit.com/r/rails/comments/17qvwsz/my_thoughts_on_the_rise_and_fall_of_ruby_on_rails/

    https://elazzabi.com/2020/09/01/why-the-majority-of-developers-hate-ruby-on-rails/