Vorwort
Dies ist eine Aufzeichnung und Reflexion meines Lebens vom 12.08.2024
bis zum 18.08.2024
.
Ich habe den Wechsel von VS Code zu Cursor vollzogen und möchte über meine Erfahrungen mit KI-unterstütztem Programmieren berichten. Außerdem feiere ich 400 Tage Beziehung mit meiner Kommilitonin. Ein spätnächtliches Gespräch mit ihr über vergangene Erfahrungen und Hobbys regte mich zum Nachdenken über meine eigene Lernmotivation an. Es gab noch viele weitere interessante Ereignisse.
Erfahrungen mit KI-unterstütztem Programmieren
In den letzten zwei Wochen habe ich intensiv Cursor genutzt, eine KI-gestützte IDE basierend auf VS Code, und die Ergebnisse sind beeindruckend.
Ich gehöre zu den sehr frühen Testern von GitHub Copilot und nutze es bis heute. Seit dem Aufkommen von ChatGPT, Perplexity, Devv.ai und Claude bin ich ein intensiver zahlender Nutzer dieser Dienste. Mein Denken hat sich bereits daran gewöhnt, KI zur Unterstützung beim Programmieren einzusetzen, aber bisher beschränkte sich das hauptsächlich auf das Vervollständigen von Logik und Debugging. Eine projektweite Unterstützung war nicht möglich.
Mit Cursor, das den gesamten Projektkontext einbezieht, die Möglichkeit bietet, andere Dateien oder Code zu referenzieren und das Claude 3.5 Sonnet Modell nutzt, kommen wir meiner Vorstellung von KI-unterstütztem Programmieren immer näher.
In der 15-tägigen Testphase der Pro-Version konnte ich einige Go-Bugs in meiner Arbeit beheben und neue Tests hinzufügen. Ich verbesserte die Update-Benachrichtigungen und -Funktionen einer Electron-Anwendung. Von Grund auf half mir die KI beim Erstellen einer Rust-Backend-CRUD-API einschließlich eines vollständigen Dockerfiles und GitHub Actions. Sie unterstützte mich bei der Datenvisualisierung und zahlreichen Interface-Anpassungen eines Remix-Projekts, bis hin zu präzisen Interaktionen und Layouts zwischen den Seiten. Nebenbei half sie mir sogar, etwas SwiftUI zu lernen.
Schätzungsweise stammen bereits über 50% meines Codes aus KI-Unterstützung oder direkter KI-Generierung. Den Großteil meiner Zeit verbringe ich damit, im Dialogfenster von Cursor (Tastenkürzel “CMD + K” für die Codegenerierung) meine Anforderungen mit der KI zu besprechen. Beim Formulieren der Prompts (meist in natürlicher Gesprächssprache) und während ich auf die Codegenerierung warte, habe ich mehr Zeit, über Codearchitektur, Logik und geeignetere Drittbibliotheken nachzudenken.
Indem ich der KI meine Bedürfnisse erkläre, hinterfrage ich auch deren Sinnhaftigkeit. Dies führt oft zu qualitativ hochwertigeren Funktionen und besserem Code. Was Syntax und Stilfragen betrifft, studiere und lerne ich oft direkt von den KI-Implementierungen - ein Ansatz, der sich als zugänglicher erweist als das Studium eines Open-Source-Projekts von Grund auf.
Meine Aufgabe besteht nun hauptsächlich im Entwerfen und Erschaffen.
Wie Randy in seinem Artikel “Codekünstler” werden nicht von KI ersetzt zitiert:
I realize the reason I like building is not just because I’m a builder.
Ich erkenne, dass ich nicht nur deshalb gerne erschaffe, weil ich ein Erschaffer bin.
It’s because software products are how I express my creativity.
Vielmehr sind Softwareprodukte mein Weg, meine Kreativität auszudrücken.
It’s like a poem to a poet, a song to a songwriter, a painting to a painter…
Es ist wie ein Gedicht für einen Dichter, ein Lied für einen Songwriter, ein Gemälde für einen Maler…
Software is my art form, my medium of expression.
Software ist meine Kunstform, mein Ausdrucksmedium.
ETHShenzhen Hackathon
Das oben erwähnte Projekt entstand während meiner Teilnahme an einer Veranstaltung in Shenzhen am Wochenende. Es war mein erstes ernsthaftes Hackathon als Teilnehmer. In zwei durchwachten Nächten erstellte ich die Demo, verfasste vor Ort einen grundlegenden Vortragsentwurf und einige einfache PowerPoint-Folien. Schließlich hielt ich die Demo-Präsentation. Es war anstrengender als erwartet, und erst am Sonntag konnte ich richtig ausschlafen.
Die Quelle der Lernmotivation
An einem Abend entspann sich aus der Suche nach einem Skateboard für meine Schwester ein langes Gespräch mit meiner Kommilitonin über vergangene Erfahrungen und verschiedene Interessen.
Mein seltsamer Fähigkeitenbaum und meine vielfältigen Interessen sind nicht gerade wenige. In meiner Schulzeit habe ich die verschiedensten Sportarten ausprobiert und die meisten davon recht gut gemeistert. Als Kind bin ich oft mit einem Twister-Skateboard durch die Straßen gefahren. Vom Grundschulalter bis zur Universität war ich fast zehn Jahre lang Mitglied im Rollschuhverein. Mit meinem Cousin ging ich ins Schwimmbad und lernte ganz natürlich das Schwimmen. An der Universität beschäftigte ich mich mit Fotografie und Videobearbeitung, flog Drohnen auf dem Campus und gründete sogar ein Studio, in dem ich mich mit allen Aspekten von Beleuchtung und Bühnenbild auseinandersetzte. Ich absolvierte ein Praktikum in der Wirtschaftsprüfung und managte aufgrund meiner Startup-Erfahrung selbstständig die Unternehmensgründung, Buchhaltung, Steuererklärung, Rechnungsstellung, Jahresabschlüsse und sogar die Auflösung - all das ohne die Hilfe von Vermittlern oder Buchhaltern über fast zwei Jahre hinweg. In meiner beruflichen Laufbahn bin ich stets neugierig auf verschiedene Programmiersprachen und Frameworks und probiere gerne Neues aus.
Es scheint, als hätte ich schon immer eine Neigung zum autodidaktischen Lernen gehabt, wobei ich oft aufhöre, sobald ich gerade genug gelernt habe, um meine momentanen Bedürfnisse zu erfüllen, ohne den Wunsch, tiefer in die Materie einzudringen. Zum Beispiel mag ich die Fotografie und hatte sogar während meiner Zeit im Fotografie- und Videostudio-Startup die Idee, sie zu meinem Beruf zu machen. Aber in all den Jahren habe ich nie wirklich systematisch Komposition, Licht und Schatten, Farbe oder Bildbearbeitung studiert. Auch bei der Videoproduktion und -bearbeitung habe ich mich nie mit Theatertheorie oder Regiekonzepten befasst. Stattdessen lerne ich schnell die benötigten Techniken oder Funktionen, wenn ich sie brauche - ausreichend, aber eben nur ausreichend.
Bei der genauen Analyse meiner inneren Beweggründe entdeckte ich interessante Muster, die bis in meine Kindheit und sogar früher zurückreichen.
Als ich als kleines Kind nach Hangzhou zog, brauchte ich viel Zeit, um meinen Akzent abzulegen und meine schulischen Leistungen auf ein überdurchschnittliches Niveau zu bringen. Ich erlebte auch Diskriminierung und Ungerechtigkeit, was zu einem gewissen Gefühl der Minderwertigkeit führte. Erst in der Mittelschule, als ich auf gute Lehrer traf, kamen mein Leben und meine schulische Laufbahn allmählich in geordnete Bahnen.
Zu dieser Zeit hörte ich oft eine neue Art von Kommentar: “Du musst sehr hart gearbeitet haben, um das zu erreichen”.
Ich leugne keineswegs die Wichtigkeit von harter Arbeit, aber ständig so etwas zu hören, fühlte sich irgendwie entmutigend an. Es schien, als würde selbst ich glauben, dass ich anderen unterlegen sei und nur durch extreme Anstrengung mehr erreicht hätte. Ich geriet in einen Teufelskreis des Hochstapler-Syndroms.
Also begann ich langsam, weniger “hart zu arbeiten”. Es war, als wollte ich anderen und mir selbst beweisen, dass ich diese Dinge “mühelos” erreichen konnte. Mit der Zeit fand ich sogar Gefallen daran.
Was mich glücklich machte, war oft nicht das erlernte Wissen oder dessen Anwendung, sondern das psychologische Feedback von “etwas Neues lernen” und “ich kann es schnell lernen”. Das brachte einige Vorteile mit sich, wie das über die Zeit angesammelte Selbstvertrauen, das mich neue Dinge oder scheinbar unerreichbare Ziele weniger fürchten lässt -
“Wenn ich in der Vergangenheit so viel erreicht habe, kann ich es jetzt sicher auch.”
Aber es führte auch dazu, dass ich manchmal nicht die Ruhe finde, eine Sache wirklich gut zu machen oder etwas, das ich wirklich mag, zur Perfektion zu bringen. Ich habe Breite, aber es fehlt an Tiefe. Es fühlt sich wie ein Trade-off an, aber langsam beginne ich, daran etwas zu ändern.
Persönliche Lebensmomente
400-Tage-Jubiläum
400 Tage mit meiner Kommilitonin.
Interessante Dinge und Gegenstände
Input
Obwohl die meisten interessanten Inputs automatisch in meinem Telegram-Kanal “Yu’s Life” synchronisiert werden, möchte ich hier eine Auswahl präsentieren. Es fühlt sich mehr wie ein Newsletter an. Außerdem habe ich einen Mikroblog “daily.pseudoyu.com” eingerichtet, der die Telegram-Channel-Nachrichten als Inhaltsquelle nutzt, was das Durchstöbern erleichtert.
Favoriten
- GitHub - lokalise/i18n-ally: 🌍 All in one i18n extension for VS Code
- electric-capital/crypto-ecosystems
- omarespejel/starknet-star-tracker
Podcasts
Artikel
Videos
- 【IGN】10 Punkte, Bewertung von “Black Myth: Wukong”: Den Weg der Widrigkeiten ebnen
- Eine Reise in die Schweiz hat meinen Geisteszustand erschüttert
- vlog #69 | Lernaufzeichnungen eines Programmierers nach Feierabend | Wohin die Aufmerksamkeit fließt, dort ist Energie | Lese gerade “Lügen auf der Therapiecouch” und “Briefe von Warren Buffett an die Aktionäre” | Tägliches Englischlernen | Tagebuch ist fertig 🎉