Blog

What I Built: A Blueprint for Private AI

The Private AI project became my answer to this dilemma. I built a self-hosted LibreChat setup on AWS that gives me access to multiple AI models while keeping data under my control. LibreChat is a pretty cool open-source project, a ChatGPT-style chat platform with a mature, enterprise-grade foundation that ensures full privacy and rich configurability.

What started as a personal solution quickly became something bigger – a repeatable blueprint for any organization struggling with the same privacy-versus-capability trade-offs.

Here’s what I ended up with: LibreChat, an innovative open-source project that gives you a web interface rivaling ChatGPT but running on your own server. This competitive alternative lets you switch seamlessly between local models and cloud models from AWS Bedrock. When working with sensitive documents, everything stays local. When you need the power of Claude or GPT-4, you can use those too.

The setup includes document processing where you can upload PDFs and chat with them without files ever leaving your server. Everything runs in Docker containers with proper user management – perfect for teams that need to collaborate while maintaining data sovereignty.

Aufbau eines KI-Assistenten mit Fokus auf Datenschutz

Ich habe mit einem Problem gerungen, das mich nachts wach hält: Wie kann ich leistungsstarke KI-Tools nutzen, ohne meine sensibelsten Daten an Tech-Giganten auszuliefern? Je mehr ich ChatGPT, Claude und andere Cloud-KI-Dienste nutzte, desto unbehaglicher wurde mir. Jedes Dokument, das ich hochlud, wurde auf den Servern von jemand anderem verarbeitet.

2025-06-03_18-52-39_private-ai_illustration.png

Motivation: Warum ich die Kontrolle zurückerobern musste

Dieses ganze Projekt begann aus Frustration. Ich arbeitete an vertraulichen Geschäftsdokumenten und stellte fest, dass ich keines der KI-Tools verwenden konnte, auf die ich mich verlassen hatte. Die Abhängigkeit von einem bestimmten Anbieter wurde zu einem echten Problem – jeder Anbieter hatte seine eigene API, seine eigenen Preise und seine eigenen Einschränkungen. Ich fühlte mich gefangen, und meine monatlichen KI-Rechnungen stiegen immer weiter an.

Ich begann zu überlegen: Was wäre, wenn es eine Möglichkeit gäbe, das Beste aus beiden Welten zu bekommen? Ich könnte die leistungsstarken KI-Funktionen behalten, aber alles über meine eigene Infrastruktur laufen lassen. Da entdeckte ich LibreChat und beschloss, etwas zu entwickeln, das mir die volle Kontrolle geben würde – und eine Vorlage zu schaffen, der andere Unternehmen mit ähnlichen Herausforderungen folgen könnten.

Was ich gebaut habe: Eine Blaupause für private KI

Das Private-AI Projekt wurde meine Antwort auf dieses Dilemma. Ich habe ein selbstgehostetes LibreChat-Setup auf AWS eingerichtet, das mir Zugriff auf mehrere KI-Modelle bietet und gleichzeitig die Daten unter meiner Kontrolle hält. LibreChat ist ein ziemlich cooles Open-Source-Projekt, eine Chat-Plattform im Stil von ChatGPT mit einer ausgereiften, professionellen Basis, die vollen Datenschutz und umfassende Konfigurierbarkeit ermöglicht.

Was als persönliche Lösung begann, wurde schnell zu etwas Größerem – ein reproduzierbarer Entwurf für jedes Unternehmen, das mit den gleichen Kompromissen zwischen Datenschutz und Leistungsfähigkeit zu kämpfen hat.

Das ist mein Ergebnis: LibreChat, ein innovatives Open-Source-Projekt, das eine Webschnittstelle bietet, die mit ChatGPT konkurriert, aber auf einem eigenen Server läuft. Mit dieser konkurrenzfähigen Alternative kann man nahtlos zwischen lokalen Modellen, Cloud-Modellen von AWS Bedrock und öffentlichen KI-Anbietern wie Antrophic oder OpenAi wechseln. Wenn man mit sensiblen Dokumenten arbeiten, bleibt alles lokal. Wenn man die Leistung von Claude oder GPT-4 benötigt, kann man auch diese nutzen.

Die Einrichtung umfasst eine Dokumentenverarbeitung, bei der man PDFs hochladen und mit ihnen chatten können, ohne dass die Dateien jemals den eingenen Server verlassen. Alles läuft in Docker-Containern mit entsprechender Benutzerverwaltung – perfekt für Teams, die zusammenarbeiten und gleichzeitig die Datenhoheit behalten müssen.

Die Schnittstelle: Wie es tatsächlich aussieht

LibreChat bietet mir eine saubere, vertraute Oberfläche, die sich genauso anfühlt wie die von ChatGPT oder Claude. Ich kann verschiedene KI-Modelle aus einer Dropdown-Liste auswählen, benutzerdefinierte Agenten mit spezifischen Persönlichkeiten erstellen und alle meine Unterhaltungen an einem Ort verwalten.

2025-06-03_18-34-27_LibreChatUI.png

Was ich am meisten liebe, ist die Flexibilität. Morgens verwende ich vielleicht ein lokales Ollama-Modell für das Brainstorming (wobei alles privat bleibt), dann wechsle ich zu Claude für komplexe Analysen und dann wieder zu einem lokalen Modell für die Dokumentenverarbeitung. Die Schnittstelle macht das nahtlos.

Die Funktion zum Hochladen von Dokumenten war für mich ein großer Fortschritt. Ich kann PDFs per Drag & Drop hochladen, und das System erstellt die Einbettungen lokal auf meinem Server. Dann kann ich Fragen zum Inhalt stellen, ohne dass das Dokument jemals mit externen Servern in Berührung kommt. Das war genau das, was ich für die Arbeit mit vertraulichen Materialien brauchte.

Die technische Einrichtung: Einfacher, als man denkt

Ich habe dieses Projekt auf AWS mit einer ziemlich einfachen Architektur aufgebaut. Alles läuft in Docker-Containern auf einer einzigen EC2-Instanz, was die Verwaltung viel einfacher macht, als ich anfangs dachte.

2025-06-03_18-35-14_aws-architecture.png

Die AWS-Einrichtung ist sauber – eine EC2-Instanz mit den richtigen Sicherheitsgruppen, eine elastische IP, damit sich die Adresse nicht ändert, und IAM-Rollen, die den Server mit AWS Bedrock-Modellen kommunizieren lassen. Anfangs habe ich viel zu viel Zeit damit verbracht, die Vernetzung zu kompliziert zu gestalten, aber der einfache Ansatz hat am besten funktioniert.

2025-06-03_18-36-15_docker-architecture.png

Auf dem Docker-Setup läuft LibreChat als Hauptanwendung, MongoDB zum Speichern von Konversationen und nginx als Reverse-Proxy mit SSL. Wenn ich lokale KI-Modelle verwenden möchte, füge ich Ollama-Container hinzu, die die GPU nutzen können. Alles kommuniziert miteinander über Docker-Netzwerke, was für Sicherheit und Ordnung sorgt.

Aufstocken: Aus meinen Fehlern lernen

Eine meiner wichtigsten Lektionen war die Dimensionierung der Server. Ich begann mit einer winzigen t3.medium-Instanz und dachte, das würde reichen. Falsch gedacht. Sobald ich versuchte, lokale KI-Modelle auszuführen, kam alles zum Stillstand.

Instanztyp vCPUs Speicher GPU Wofür ich es benutzte
t3.medium 2 4 GB Keine Einfache Tests, nur Cloud-Modelle
g4dn.xlarge 4 16 GB NVIDIA T4 (16 GB) Lokale Modelle, Dokumentenverarbeitung
g6.12xlarge 48 192 GB 4x NVIDIA L4 (96 GB insgesamt) Hohe Arbeitslast, mehrere Benutzer

Die „t3.medium“ war für die Weboberfläche und die Verwendung von Cloud-Modellen gut geeignet, aber vergessen Sie alles, was lokal ausgeführt wird. Als ich auf g4dn.xlarge mit einer GPU aufrüstete, konnte ich plötzlich kleine Sprachmodelle ausführen und Dokumente lokal verarbeiten. Das war ein Unterschied wie Tag und Nacht.

Für die letzte Testphase habe ich mir eine Instanz von „g6.12xlarge“ zugelegt. Dieses Ungetüm konnte mehrere große Modelle gleichzeitig verarbeiten und fühlte sich an wie eine richtige KI-Workstation in der Cloud. Die Kosten haben mich zu Tränen gerührt, aber für ernsthafte Arbeit ist es das wert.

Mein Rat: Fangen Sie klein an, um alles zu testen, und erhöhen Sie dann die Größe, je nachdem, was Sie tatsächlich brauchen. Das Schöne an diesem Ansatz ist, dass das Upgrade nur ein paar Terraform-Befehle erfordert.

Der Umstieg auf die g6.12xlarge war wie der Wechsel von einem Fahrrad zu einem Ferrari. Vier NVIDIA L4-GPUs mit 96 GB Videospeicher bedeuteten, dass ich mehrere große Modelle gleichzeitig ausführen konnte, ohne ins Schwitzen zu kommen. Plötzlich konnte ich Modelle in der Größe von Claude lokal laufen lassen und gleichzeitig mehrere Benutzer bedienen.

Was die Leistung angeht, habe ich Folgendes gelernt: Die kleine t3.medium eignet sich hervorragend zum Testen der Weboberfläche und zum Ausprobieren von Cloud-Modellen, aber denken Sie nicht einmal an lokale KI. Das g4dn.xlarge ist der ideale Ort für den Einstieg in lokale Modelle – ich konnte 7B-Parameter-Modelle ziemlich reibungslos ausführen. Aber wenn Sie die wirklich großen Modelle (13B+) mit anständiger Geschwindigkeit ausführen wollen, brauchen Sie etwas wie das g6.12xlarge.

Live-Skripting: Eine Dokumentation, die wirklich funktioniert

Hier ist etwas, das mich wirklich begeistert – die Art und Weise, wie ich dieses gesamte Projekt dokumentiert habe. Ich habe das so genannte Live-Scripting verwendet, einen dokumentationsorientierten Arbeitsstil, den ich vor Jahren erfunden und in vielen Kundenprojekten eingesetzt habe. Dabei wird ein Dokument erstellt, in dem jeder einzelne Befehl direkt ausgeführt werden kann. Keine Tutorials mehr, nur um dann festzustellen, dass Schritt 3 nicht mehr funktioniert.

Ich habe alles in Emacs-Org-Mode geschrieben, wodurch ich ausführbare Codeblöcke direkt in die Dokumentation einbetten kann. Wenn ich das Projekt durcharbeite, kann ich buchstäblich jeden Befehl durch Drücken von F4 ausführen. Aber auch wenn jemand nicht mit Emacs arbeitet, kann er jeden Befehl kopieren und einfügen und er wird genau so funktionieren, wie er geschrieben wurde.

Dieser Ansatz hat mir unzählige Stunden der Fehlersuche in veralteten Anweisungen erspart. Herkömmliche Dokumentation ist schnell veraltet – APIs ändern sich, Softwareversionen werden aktualisiert, und plötzlich funktioniert nichts mehr. Mit Live-Scripting bleibt meine Dokumentation auf dem neuesten Stand, denn ich teste sie jedes Mal, wenn ich sie verwende.

Die gesamte Implementierung ist in sieben klare Phasen unterteilt, von der Einrichtung der grundlegenden Infrastruktur bis zum Hinzufügen fortgeschrittener KI-Funktionen. Zu jedem Schritt gehören sowohl die auszuführenden Befehle als auch Erklärungen, was passiert und warum. Es ist, als würde mich ein sachkundiger Kollege durch den Prozess führen.

Fazit: Endlich KI nach meinen Vorstellungen

Die Entwicklung dieses privaten KI-Assistenten löste nicht nur mein unmittelbares Problem, sondern wurde zu etwas Größerem – zu einer bewährten Blaupause, der jedes Unternehmen folgen kann. Was als persönliche Frustration begann, wurde zu einer reproduzierbaren Implementierungsstrategie für Unternehmen, die mit dem gleichen Dilemma zwischen Privatsphäre und Leistungsfähigkeit konfrontiert sind.

Und das Beste daran? Die Unternehmen müssen sich nicht mehr entscheiden. Sensible Arbeiten bleiben auf lokalen Modellen, komplexe Analysen können bei Bedarf weiterhin auf Cloud-KI zurückgreifen – aber es ist Ihre Infrastruktur, Ihre Entscheidung, Ihre Kontrolle.

Die Live-Skripting-Dokumentation macht es sehr einfache, diese Blaupause zu teilen. Jeder Befehl funktioniert genau so, wie er geschrieben wurde, was bedeutet, dass andere Teams diese Lösung ohne die üblichen Bereitstellungsprobleme einsetzen können.

Für Unternehmen, die leistungsstarke KI wünschen, ohne die Datenhoheit aufzugeben, ist dieser Ansatz genau richtig. Die Technologie ist endlich an einem Punkt angelangt, an dem eine eigene KI nicht nur für Tech-Giganten möglich ist, sondern für jedes Unternehmen, das bereit ist, in die Unabhängigkeit seiner Daten zu investieren.

Ressourcen und Links

Projektdokumentation

  • Complete Deployment Guide (PDF) – Die vollständige Live-Skript-Dokumentation mit allen Befehlen und Erklärungen, die benötigt werden, um dieses Setup von Grund auf einzurichten. Jeder Befehl ist getestet und ausführbar.

GitHub-Repositories

  • Privates KI-Projekt – Meine komplette Implementierung einschließlich Terraform-Konfigurationen, Docker-Setup und dem gesamten Infrastruktur-Code, der in diesem Einsatz verwendet wird.
  • LibreChat Official Repository – Das innovative Open-Source-Projekt, das dies alles möglich macht. Eine leistungsstarke, ChatGPT-ähnliche Anwendung, die Sie auf Ihrer eigenen Infrastruktur mit Unterstützung für mehrere KI-Anbieter ausführen können.

Meine Reise mit der Kontemplationsmaschine: Ein Werkzeug für achtsame Reflexion

Zusammenfassung

Hast du dir jemals ein Werkzeug gewünscht, das dir hilft, dein Verständnis von wichtigen Konzepten durch konzentrierte Kontemplation zu vertiefen? Was wäre, wenn Du personalisierte geführte Meditationen erstellen könntest, die auf Deine speziellen Bedürfnisse zugeschnitten sind? In diesem Artikel teile ich meine Erfahrungen mit der Entwicklung der Contemplation Machine, einer Open-Source-App, die eine einzigartige Lücke auf dem Markt für Meditations-Apps füllt. Ich erkläre, was Kontemplation ist, wie dieses Tool funktioniert, und gebe praktische Anleitungen zur Installation – all das auf meiner Reise zur Erstellung dieses Projekts in nur vier Tagen unter Verwendung moderner Entwicklungstechniken.

Einleitung

2025-05-23_10-22-32_2025-05-22_20-08-36.png

Figure 1: Youtube Video zur Einführung der Contemplation Machine

Vor ein paar Tagen habe ich auf YouTube ein Video über mein neuestes Open-Source-Projekt, die Contemplation Machine, veröffentlicht. Ich habe dieses Tool entwickelt, weil mir aufgefallen ist, dass in der Landschaft der Meditations-Apps etwas fehlt – es gibt zwar unzählige Meditations-Apps, aber keine davon ist speziell darauf ausgerichtet, den Nutzern zu helfen, ihre eigenen strukturierten Kontemplationen zu erstellen. Heute möchte ich die Geschichte hinter diesem Projekt erzählen und Ihnen zeigen, wie es Ihre Achtsamkeitspraxis verbessern kann.

Was ist Kontemplation?

Kontemplation wird oft missverstanden oder mit Meditation verwechselt, aber sie ist eigentlich eine eigenständige Praxis mit eigenen Vorteilen. Im tibetischen Buddhismus gibt es einen dreifachen Übungsansatz: Studium, Kontemplation und Meditation. Während des Studiums nutzen wir aktiv unseren Geist, um neue Konzepte zu lernen. In der Kontemplation untersuchen wir diese Konzepte tiefer und erlauben unserem Geist, über einen längeren Zeitraum auf einem bestimmten Thema zu ruhen. Schließlich hilft uns die Meditation, unseren Geist an eine bestimmte Perspektive zu gewöhnen.

2025-05-23_10-41-33_cinematicphotoApeacefulper_39143729.png

Figure 2: Illustration erstellt mit DiffutionBee auf MacBook Pro M2

Was ich an der Kontemplation besonders wertvoll finde, ist die Art und Weise, wie sie die Kluft zwischen intellektuellem Verständnis und Erfahrungsweisheit überbrückt. Kontemplation wird zwar traditionell in spirituellen Kontexten eingesetzt, aber ich habe festgestellt, dass sie in beruflichen und alltäglichen Kontexten ebenso wirksam ist. Diese Erkenntnis war meine Hauptmotivation für die Entwicklung der Contemplation Machine.

Was ist die Contemplation Machine?

Die Contemplation Machine ist eine Meditations-App mit einem speziellen Fokus auf Kontemplation. Im Gegensatz zu den üblichen Meditations-Apps, die voraufgezeichnete Sitzungen anbieten, ermöglicht mein Tool den Nutzern, ihre eigenen Kontemplationen und Meditationen von Grund auf selbst zu erstellen. Als ich den Markt analysierte, konnte ich nichts Vergleichbares finden, das den Nutzern ein solches Maß an kreativer Kontrolle über ihre Praxis bietet.

2025-05-23_10-25-31_2025-05-23_10-25-19.png

Figure 3: Cartoon erstellt mit Dall-E 3

Die App nimmt Ihre schriftlichen Anweisungen auf – einfache Sätze oder Aufforderungen, über die Sie nachdenken möchten – und verteilt sie gleichmäßig über die von Ihnen gewählte Meditationsdauer. Die App gibt diese Anweisungen dann mithilfe der Text-to-Speech-Technologie wieder und schafft so eine vollständig personalisierte, geführte Erfahrung.

Wie man sie benutzt

Die Verwendung der Kontemplationsmaschine ist ganz einfach. Wenn Sie die Maschine zum ersten Mal installieren, stehen Ihnen mehrere vorgefertigte Kontemplationen zur Verfügung, die Sie sofort ausprobieren können. Die eigentliche Stärke liegt jedoch in der Erstellung Ihrer eigenen Kontemplation.

Um eine Kontemplation zu erstellen, schreiben Sie einfach eine Reihe von Anweisungen, wobei jede Anweisung in einer einzigen Zeile im Textfenster steht. Als Grundlage können Sie spirituelle Texte oder Methoden zur persönlichen Entwicklung wählen. Im Video habe ich zum Beispiel die Verwendung der Vier Brahmaviharas (liebende Güte, Mitgefühl, mitfühlende Freude und Gleichmut) als Rahmen für eine Kontemplation demonstriert. Ein weiteres gutes Beispiel ist die Anwendung von WOOP, einer wissenschaftlich untermauerten mentalen Kontrastierungstechnik, die von der Psychologin Gabriele Oettingen entwickelt wurde und mit der sich Wünsche durch vier Schlüsselschritte in erreichbare Ziele verwandeln lassen: Wunsch, Ergebnis, Hindernis und Plan.

Sobald Ihre Anweisungen fertig sind, speichern Sie sie als Anweisungsdatei. Auf der Seite Konfigurieren wählen Sie dann Ihre Anweisungsdatei aus, wählen einen Sprachanbieter (browserintern, OpenAI oder Eleven Labs), legen die Dauer fest und fügen optional Start- und Schlussgong hinzu, um den Anfang oder das Ende zu markieren. Nachdem Sie Ihre Konfiguration als Voreinstellung gespeichert haben, können Sie Ihre Übung mit einem einzigen Klick beginnen.

Bei der Sprachführung ist die Qualität der Stimme entscheidend. Meiner Erfahrung nach liefert Eleven Labs die beste Qualität, allerdings zu einem höheren Preis. Die gute Nachricht ist, dass die Contemplation Machine die Text-To-Speech-API für jede Anweisung nur einmal anfordert und die Tondatei zwischengespeichert wird.

Wie man sie installiert

Die Installation der Contemplation Machine ist erstaunlich einfach. Die einfachste Methode ist die Verwendung von Docker, wie ich sie normalerweise selbst verwende. So geht’s:

  1. Installieren Sie Docker Desktop auf Ihrem Computer
  2. Suchen Sie nach dem Docker Image der Contemplation Machine
  3. Führen Sie es aus und geben Sie einen Port an (z. B. 8010)
  4. Öffnen Sie Ihren Browser und navigieren Sie zu localhost:8010

In meinem persönlichen Setup lasse ich es auf einem alten MacBook laufen, das mir als Heimserver dient. Mit Tailscale habe ich ein Netzwerk eingerichtet, das es mir erlaubt, von jedem Gerät und von überall auf meine Contemplation Machine zuzugreifen. Diese Bereitstellungsarchitektur – ein Heimserver, auf dem Docker mit dem Tailscale-Netzwerk läuft – ist das, was ich für die beste Erfahrung empfehle.

2025-05-23_10-31-29_2025-05-23_10-28-52.png

Figure 4: Deployment Architecture Diagram

Eine interessante Randnotiz: Ich habe die gesamte App in nur vier Tagen mit GitHub Copilot im Agent Mode entwickelt. Die App verwendet Node.js für das Backend und React für das Frontend, was sie zu einer faszinierenden Fallstudie für moderne Softwareentwicklung macht.

Fazit

Die Entwicklung der Contemplation Machine hat meine eigene Praxis vertieft und stellt gleichzeitig ein wertvolles Werkzeug für andere dar. Was als persönliches Projekt begann, um meine Kontemplationspraxis zu verbessern, hat sich zu etwas entwickelt, auf das ich stolz bin, es mit der Gemeinschaft zu teilen. Der Prozess des Bauens war genauso kontemplativ wie die Benutzung des Geräts!

Ich benutze es jetzt fast täglich, um neue Kontemplationen für die spirituelle Praxis und die berufliche Entwicklung zu schaffen. Es hat etwas Kraftvolles, wenn man seine eigenen, sorgfältig formulierten Worte hört, was es leicht macht, neue Inhalte in die tägliche Meditationsroutine aufzunehmen.

KI-gestützte Entwicklung: Das unfaire Rennen, das alles verändert

Eine Reise in den GitHub Copilot Agent und die Erschaffung der Contemplation Machine

Was als einfacher Test des neuen Agentenmodus von GitHub Copilot begann, entwickelte sich schnell zu einem viertägigen Entwicklungssprint, der meine Sichtweise auf die Softwareentwicklung völlig veränderte. In diesem Artikel erzähle ich von meinen Erfahrungen bei der Entwicklung der „Contemplation Machine“ – einer Meditations-App, die ich mir schon immer gewünscht habe. Ich berichte, wie die KI-gestützte Entwicklung einen Arbeitsablauf geschaffen hat, der so effizient erscheint, das er sich fast unfair anfühlt. Können es sich professionelle Entwickler leisten, diese Tools zu ignorieren? Was passiert, wenn KI nicht nur Code vorschlägt, sondern aktiv an dessen Erstellung mitwirkt? Diese Fragen standen im Mittelpunkt meiner Reise, die die Grenze zwischen menschlichen und KI-Beiträgen verschwimmen lies.

Einleitung

„Softwareentwicklung ohne KI-Unterstützung ist wie der Versuch, ein Auto auf einem Fahrrad zu überholen.“

Diese Erkenntnis traf mich mit voller Wucht, als ich kürzlich beschloss, den neuen Agentenmodus von GitHub Copilot zu testen. Was als Neugierde begann, entwickelte sich schnell zu einem intensiven viertägigen Entwicklungssprint, der Ergebnisse hervorbrachte, die ich allein in diesem Zeitrahmen nicht hätte erreichen können.

Bei dieser Erfahrung ging es nicht nur darum, schneller Code zu produzieren. Sie hat meine Einstellung zur Softwareentwicklung grundlegend verändert. Die Synergie zwischen meinem Fachwissen und den Programmierfähigkeiten des Agenten schuf einen Arbeitsablauf, der sich im Vergleich zu herkömmlichen Entwicklungsmethoden fast unfair effizient anfühlte.

Was ist die Contemplation Machine?

Die Contemplation Machine ist eine Meditations-App, die ich schon immer haben wollte – ein persönliches Projekt, das schon seit Monaten in meinem mentalen Backlog lag. Ich habe sie entwickelt, um geführte Meditationssitzungen mit anpassbarer Dauer, Themen und eignen Texten anzubieten.

2025-05-07_17-40-43_2025-05-07_17-40-34.png

Figure 1: Cartoon zur Veranschaulichung der Contemplation Machine

Als ich das Projekt begann, hatte ich eigentlich nicht vor, es zu vollenden. Ich wollte lediglich die neuen Agentenfunktionen von GitHub Copilot an einem praktischen Beispiel testen. Aber schon nach wenigen Stunden waren die Ergebnisse so beeindruckend, dass ich mich entschloss, eine vollständige Open-Source-Version zu entwickeln.

Was diese Anwendung so besonders macht, ist nicht nur ihre Funktionalität, sondern auch der Prozess, durch den sie entstanden ist. Fast jede Zeile des Codes trägt die Fingerabdrücke der Zusammenarbeit von Mensch und KI – ein Entwicklungsansatz, der noch vor wenigen Jahren Science Fiction gewesen wäre.

Die Entwicklung der Contemplation Machine

Mein Entwicklungsprozess mit dem GitHub Copilot Agent unterschied sich drastisch von meinem üblichen Arbeitsablauf. Ich begann damit, dass ich dem LLM meine Projektidee vorstellte und fragte, welche Herangehensweise, Technologie und Architektur es empfahl. Diese anfängliche Beratung prägte das gesamte Projekt, obwohl ich mit einigen der empfohlenen Frameworks nur wenig Erfahrung hatte.

Für jede Version erstellte ich eine kurze Beschreibung der Anforderungen und bat den Agenten, ein Konzept und einen Implementierungsplan zu erstellen. Nach Überprüfung und Anpassung dieses Dokuments unterteilten wir die Umsetzung in der Regel in drei oder vier Phasen. Dann wies ich den Bearbeiter an, jede Phase nacheinander umzusetzen.

Was mich am meisten erstaunte, war, wie der Agent diese Phasen fast unabhängig voneinander bewältigen und koordinierte Änderungen an mehreren Dateien vornehmen konnte. Am Ende brauchte ich oft nur noch die Funktionalität der fertigen Anwendung zu überprüfen.

Ich habe hauptsächlich mit dem Claude Sonnet 3.7 Modell von Anthropic in GitHub Copilot gearbeitet, das sich unter den verfügbaren Optionen als das leistungsfähigste und brauchbarste erwies. Der Qualitätsunterschied zwischen den Modellen war beträchtlich, wobei die Angebote von Anthropic durchweg die wertvollste Unterstützung boten.

2025-05-07_17-37-16_2025-05-07_17-33-40.png

Figure 2: Entwicklung der Contemplation Machine in VSCode mit GitHub Copilots Agent Mode.

Die Herausforderungen und Lösungen

Trotz der beeindruckenden Fähigkeiten war dieser Entwicklungsansatz nicht ohne erhebliche Herausforderungen. Ein großes Problem war die Interferenzkapazität – die Reaktionsfähigkeit des LLMs. Ich hatte häufig mit langen Wartezeiten zu kämpfen, und manchmal wurden Aufforderungen ganz abgebrochen, so dass ich sie wiederholen musste. Diese Unvorhersehbarkeit störte meinen Entwicklungsfluss und zwang mich oft, Pausen einzulegen, bis sich die Antwortzeiten verbesserten.

Eine weitere große Herausforderung war die Beherrschung der Komplexität. Ich begann zunächst mit einem ehrgeizigeren Programmmodell, das eine vollständige Benutzerverwaltung mit Authentifizierung vorsah. Der Agent generierte zwar beeindruckenden Code, aber sobald die Komplexität einen bestimmten Schwellenwert überschritt, begann er bei jedem Iterationszyklus neue Fehler zu machen. Schließlich konnte ich die Codebasis nicht mehr stabilisieren und musste alles verwerfen und von vorne beginnen.

Aus dieser Erfahrung habe ich mehrere wichtige Strategien gelernt:

  • Änderungen klein und konzentriert halten
  • Häufiges Commit
  • Ein klares Releasemodell einführen um problematischer Änderungen revidieren zu können
  • Tendenz des Agenten zu übermäßig komplexe Lösungen durch Prompt-Engineering einschränken
  • Bei Bedarf explizit um Vereinfachung bitten

Die Bedeutung für die IT-Branche

Die Arbeit mit dem GitHub Copilot Agent zwang mich, mich mit einer unbequemen Wahrheit auseinanderzusetzen: Der Agent generierte durchweg besseren Code, als ich ihn selbst schreiben konnte. Bei Verzögerungen in der Beantwortung zögerte ich, die manuelle Programmierung fortzusetzen, weil der Qualitäts- und Geschwindigkeitsunterschied so groß war.

Diese Dynamik bezeichne ich als „das unfaire Rennen“. Es ist, als würde man versuchen, ein Auto zu überholen, während man Fahrrad fährt, oder mit einem Stadtplan zu navigieren, während andere ein GPS haben. Fachleute, die sich diese Tools zu eigen machen, haben einen fast unfairen Vorteil in Bezug auf Produktivität und Fähigkeiten.

Die Auswirkungen auf die IT-Branche sind tiefgreifend. Entwickler, die sich gegen KI-Assistenten sträuben, könnten sich zunehmend von denen abgehängt sehen, die sie nutzen. Der Wettbewerbsvorteil ist nicht nur marginal, er ist transformativ. Da diese Tools immer besser werden, wird sich diese Kluft nur noch vergrößern.

Gleichzeitig entwickelt sich die Rolle des Entwicklers weiter. Technisches Fachwissen ist nach wie vor unerlässlich, aber konzeptionelles Denken, architektonische Planung und effektive KI-Zusammenarbeit werden zu ebenso wichtigen Fähigkeiten. Die erfolgreichsten Entwickler werden nicht diejenigen sein, die den meisten Code schreiben, sondern diejenigen, die KI-Fähigkeiten orchestrieren können, um ehrgeizige Ziele zu erreichen.

Fazit

Meine Reise zur Entwicklung der Contemplation Machine mit dem GitHub Copilot Agent hat meine Sichtweise auf die Softwareentwicklung grundlegend verändert. Was als einfacher Test begann, hat ein neues Paradigma offenbart, das menschliche Kreativität und KI-Ausführung in einer Weise kombiniert, die sich manchmal fast magisch anfühlt.

Trotz der Herausforderungen und Einschränkungen sind die Vorteile unbestreitbar. Ich habe in vier Tagen geschafft, was mit herkömmlichen Methoden Wochen gedauert hätte, vor allem, wenn man bedenkt, wie wenig vertraut ich mit einigen der beteiligten Technologien bin.

Diese Erfahrung hat mich davon überzeugt, dass die KI-gestützte Entwicklung nicht nur eine inkrementelle Verbesserung ist – sie ist ein Umbruch, der unsere Branche umgestaltet. Die Frage ist nicht, ob wir diese Tools übernehmen sollen, sondern wie schnell wir unsere Arbeitsabläufe und mentalen Modelle anpassen können, um ihr Potenzial optimal zu nutzen.

Für alle, die noch zögern, kann ich nur Folgendes sagen: Das Rennen hat bereits begonnen, und die Radfahrer werden die Autofahrer nicht einholen, egal wie schnell sie in die Pedale treten.

Wichtige Erkenntnisse und Ressourcen

  • Der GitHub Copilot Agent bietet Funktionen zur Codebearbeitung, die über einfache Vorschläge hinausgehen.
  • Modellauswahl ist wichtig: Die Claude-Modelle von Anthropic schnitten durchweg besser ab als andere.
  • Komplexitätsmanagement ist unerlässlich – teilen Sie Projekte in überschaubare Phasen auf.
  • Häufige Übertragungen und ein solides Release-Modell helfen, gelegentliche Instabilität zu bewältigen.
  • Die konzeptionelle Richtung sollte von Menschen bestimmt werden, mit der Bitte um Vereinfachung, wenn nötig.
  • Die Produktivität von Entwicklern steigt durch effektive KI-Zusammenarbeit dramatisch an.

Verweise:

Mein Weg zur AWS AI Practitioner Zertifizierung: Eine Erfahrungsbricht

In diesem Artikel teile ich meine Erfahrungen mit der AWS AI Practitioner Zertifizierung – vom Lernprozess bis zur erfolgreichen Prüfung. Als AWS-Cloud Architekt mit mehreren Zertifizierungen war dieser Schritt für mich ein logischer Einstieg in die KI-Welt, besonders in wirtschaftlich herausfordernden Zeiten für IT-Freelancer. Ist dieser Einstieg in KI auch für andere IT-Profis sinnvoll? Wie aufwendig ist die Vorbereitung wirklich? Und lohnt sich diese Zertifizierung als eigenständiges Ziel oder eher als Zwischenschritt zu fortgeschritteneren KI-Qualifikationen?

AI_Chip_City.png

Figure 1: Das Bild wurde generiert mit DiffusionBee auf einem MacBook Pro mit M2-CPU und 32 GB RAM

Warum ich mich für die AWS AI Practitioner Zertifizierung entschieden habe

Die wirtschaftliche Lage macht das Leben als IT-Freelancer aktuell nicht gerade einfach. Gleichzeitig wird die Nachfrage nach KI-Experten in naher Zukunft vermutlich stark ansteigen. Als AWS-Cloud Architekt mit bereits mehreren AWS-Zertifizierungen erschien mir die Spezialisierung auf KI als logischer nächster Schritt.

Das Thema KI ist zwar komplex, aber mit einem soliden IT-Hintergrund kann man durch gezielte Weiterbildung relativ schnell einsteigen. Die AWS AI Practitioner Zertifizierung bot sich dabei als perfekter Einstiegspunkt an – auch weil sie als Vorbereitung für die anspruchsvollere AWS Certified ML Associate Prüfung dienen kann.

Meine ersten Berührungspunkte mit KI hatte ich übrigens schon in den 1990er Jahren während meines Studiums an der TU Berlin, als ich ein Seminar zu Neuronalen Netzen und Genetischen Algorithmen besuchte. Seit Oktober letzten Jahres beschäftige ich mich wieder intensiver mit dem Thema.

Mein Lernprozess: Fokussiert und effizient

Für die Vorbereitung habe ich insgesamt 3-4 Wochen investiert. Als Hauptressource nutzte ich den Udemy-Kurs „Ultimate AWS Certified AI Practitioner AIF-C01“ von Stephane Maarek. Der Kurs vermittelt die nötigen Grundlagen, um die Prüfung zu bestehen, geht aber bei vielen Themen nicht in die Tiefe. Besonders die Architektur von KI-Modellen und die zugrundeliegenden Algorithmen werden nur oberflächlich behandelt – es reicht nicht aus, um die Arbeitsweise von LLMs wirklich zu verstehen.

Nach etwa 60% des Kurses begann ich bereits mit Probeprüfungen. Dafür verwendete ich den Udemy-Kurs „[Practice Exams] AWS Certified AI Practitioner – AIF-C01“ von Stephane Maarek und Abhishek Singh. Der enthält vier Probeexamen mit jeweils 65 Fragen, die der echten Prüfung sehr ähnlich sind. Schon das erste Probeexamen konnte ich knapp bestehen.

Meine Lernstrategie bestand darin, die falsch beantworteten Fragen intensiv nachzuarbeiten. Die Antworten enthalten oft Links zur AWS-Dokumentation, zu Blog-Artikeln und Whitepapers. Diese Quellen durchzuarbeiten erwies sich als effiziente Methode, um gezielt Lücken zu schließen.

Die Herausforderungen: Machine Learning Konzepte

Für mich waren die größten Herausforderungen die Fragen zu Machine Learning Modellen und Algorithmen. Hier werden viele Konzepte abgefragt, die im Kurs nur angerissen werden, ohne sie mit praktischen Beispielen zu vertiefen.

Um diese und andere schwierige Themen zu meistern, habe ich mit Anki-Karteikarten gelernt. Insgesamt erstellte ich etwa 100 Karten – im Vergleich dazu hatte ich für das Examen zum „AWS Certified Solution Architect Professional“ rund 2000 Anki-Karten erstellt und gelernt. Der Aufwand für die AI Practitioner Zertifizierung war also deutlich geringer.

Am interessantesten fand ich übrigens das Thema „AWS Bedrock“, weil es einen anwendungsbezogenen Einstieg in die KI-Thematik bietet. Mit diesem Dienst ist es relativ einfach und kostengünstig möglich, KI-Anwendungen zu entwickeln und zu betreiben – im Gegensatz zum komplexen und rechenintensiven Training eigener KI-Modelle mit SageMaker.

Die Prüfungserfahrung: Fast schon Routine

Die Prüfung selbst war für mich beinahe Routine, da ich im letzten Jahr bereits vier AWS-Zertifizierungen absolviert hatte. Ich entschied mich für die Variante von zu Hause aus und hatte leider wieder technische Probleme beim System-Check. Die OnVue App lief nicht stabil und brachte mein MacBook Pro immer wieder zum Absturz. Am Abend vor der Prüfung analysierte ich das Problem bis spät in die Nacht und fand schließlich eine Lösung: Die Einrichtung eines neuen Benutzerkontos auf dem Mac, in dem ich nur die OnVue-App installierte.

Die eigentliche Prüfung verlief dann reibungslos. Als Nicht-Muttersprachler bekam ich eine 30-minütige Verlängerung, sodass ich für die 65 Fragen ausreichend Zeit hatte. Während der Prüfung gab es keine größeren Überraschungen. Natürlich gibt es immer einige Fragen, bei denen ich zweifelte oder raten musste, aber die Probeexamen hatten mich gut vorbereitet und mein Selbstvertrauen gestärkt.

Im Vergleich zu meinen bisherigen AWS-Zertifizierungen empfand ich diese Prüfung als relativ einfach. Lange Fragen mit langen Antwortmöglichkeiten sind generell herausfordernder, da mit der Länge oft auch die Komplexität zunimmt – aber davon gab es in diesem Examen nur wenige.

Was ich anders machen würde: Eigentlich nichts

Wenn ich die Prüfungsvorbereitung noch einmal durchlaufen würde, würde ich nichts grundlegend ändern. Ich glaube, ich habe eine gute Balance zwischen Lernaufwand und Prüfungserfolg gefunden.

Im Idealfall hätte ich mehr Zeit für Hands-on-Aufgaben investiert, um die Themen besser zu verstehen. Aber das ist zeitintensiv und im Hinblick auf den Prüfungserfolg nicht unbedingt effizient. Ich bin auch kein großer Fan von gescripteten Tutorials. Mit 30 Jahren Berufserfahrung in der IT habe ich genug Erfahrung, um mir die Themen selbst zu erarbeiten.

Bei der heutigen Informationsflut ist die Fokussierung auf relevante Themen eine der wichtigsten Fähigkeiten eines IT-Profis. Der Umfang und die Komplexität der IT-Technologie im Allgemeinen und der KI-Technologie im Besonderen sind schier unendlich.

Mein Fazit: Ein sinnvoller Einstieg, aber nur ein erster Schritt

Die Zertifizierung als AWS AI Practitioner gibt nur einen groben Überblick über die Thematik KI und die Angebote von AWS. Für mich dient sie hauptsächlich als Vorbereitung für die Zertifizierung zum AWS Certified ML Associate, die wesentlich mehr Tiefe bietet und einen echten Wert im eigenen Wissensportfolio darstellt.

Zwar erhält man während der Vorbereitung einen guten Überblick über die Grundlagen von KI und die AWS-Dienste, aber dafür gibt es auch andere Wege, die den Aufwand eines Examens ersparen.

Der Kurs hat mir geholfen, meinen eigenen Weg in der KI-Technologie besser zu bestimmen. Ich habe AWS-Dienste kennengelernt, mit denen ich ein eigenes Angebot erstellen kann – besonders im Bereich der Programmierung von KI-Anwendungen wie LLM Chains und Retrieval Chains, die auf Bedrock-Dienste zugreifen können. Außerdem bekam ich einen Einblick in die Komplexität und Kosten des Trainings von KI-Modellen – ein Bereich, der oft nur für große Unternehmen erschwinglich ist und einen wesentlich tieferen Einstieg in das Thema Machine Learning erfordert.

Mein nächster Schritt wird das Examen zum AWS Certified ML Associate sein. Diese Prüfung ist deutlich anspruchsvoller und erfordert ein tiefes Verständnis von KI-Modellen und Algorithmen. Nach meiner Einschätzung deckt das „AWS AI Practitioner“ Examen etwa 30% des Stoffes des „AWS Certified ML Associate“ ab und ist daher ein guter Zwischenschritt.

Praktische Tipps und Ressourcen

Kurse:

  • Ultimate AWS Certified AI Practitioner AIF-C01 von Stephane Maarek
  • Practice Exams AWS Certified AI Practitioner – AIF-C01 von Stephane Maarek und Abhishek Singh

Lernmethoden:

Prüfungsdurchführung:

  • Bei Mac-Problemen mit OnVue: Versuch ein separates Benutzerkonto nur für die Prüfungs-App
  • Nutze die 30-minütige Verlängerung für Nicht-Muttersprachler

AWS-Dienste zum Vertiefen:

  • AWS Bedrock für praktische KI-Anwendungen
  • AWS SageMaker für tieferes ML-Verständnis

Verwendung von Live-Scripting zur Installation von Oracle Service Bus

Seit einigen Jahren verwende ich den Live-Scripting-Ansatz bereits in Kundenprojekten. Ich habe viel positives Feedback erhalten, insbesondere für die gut strukturierte und präzise Dokumentation im HTML-Format, die diese Technik hervorbringt. Ich habe sie in verschiedenen Situationen eingesetzt, und sie hat sich vornehmlich bei der Installation und Konfiguration von Oracle-Produkten wie Fusion Middleware, Oracle Service Bus und Forms and Reports als nützlich erwiesen.
In meinem neuen GitHub-Projekt stelle ich die Installation einer einfachen OSB-Architektur mithilfe des Live-Scripting-Ansatzes vor.

Installationsprozess von Oracle Service Bus mit Live-Scripting

 

Oracle Service Bus (OSB) ist weit verbreitet und verfügt über eine große Installationsbasis. Obwohl neue Projekte derzeit selten sind, ist seine komplexe Umgebung vorherrschend. Für Versionsmigrationen und die Integration neuer Lösungen ist oft Expertise gefragt. Im Zusammenhang mit der Installation von Oracle Service Bus (OSB) ist Live-Scripting ein leistungsstarker Ansatz, der die Ausführung von Befehlszeilenoperationen mit einer detaillierten Dokumentation kombiniert, um einen zuverlässigen und gut dokumentierten Installationsprozess zu schaffen. Live-Scripting bietet folgende Vorteile für die OSB-Installation:

Reproduzierbarkeit: Live-Scripting stellt sicher, dass der OSB-Installationsprozess reproduzierbar ist, d. h. dass jeder, der die dokumentierten Schritte befolgt, die gleichen Ergebnisse erzielen kann. Dies ist besonders in Unternehmensumgebungen wichtig, wo Konsistenz und Zuverlässigkeit von größter Bedeutung sind. Selbst wenn die Installation Monate oder Jahre später wiederholt werden muss, garantiert der dokumentierte Prozess das gleiche Ergebnis

Dokumentation: Beim Live-Scripting wird eine präzise Dokumentation erstellt, in der jeder Schritt des Prozesses festgehalten wird. Diese Dokumentation geht über einfache Befehlslisten hinaus und enthält Erklärungen, Diagramme, Anhänge und Lösungen für mögliche Probleme, die auftreten können. Diese ausführliche Dokumentation ist von unschätzbarem Wert für die Fehlerbehebung, die Prüfung und den Wissenstransfer innerhalb eines Unternehmens.

Qualitätssicherung: Live-Scripting dient als eine Form der Qualitätssicherung. Die Tatsache, dass der dokumentierte Prozess während des Schreibens getestet und verifiziert wurde, stellt sicher, dass die dokumentierte Lösung zuverlässig funktioniert und die Wahrscheinlichkeit von Fehlern und Fehlkonfigurationen minimal ist.

Wissensaustausch: Durch den Live-Scripting-Ansatz wird die gemeinsame Nutzung von Wissen wesentlich erleichtert. Die Teammitglieder können den schrittweisen Anweisungen leicht folgen, unabhängig von ihrem Kenntnisstand. Selbst wenn sie nicht mit Emacs arbeiten wollen, kann die Lösung durch Kopieren und Einfügen reproduziert werden. Dies beschleunigt Schulungsprozesse für neue Teammitglieder und kann dazu beitragen, bewährte Verfahren im gesamten Unternehmen zu verbreiten.

Flexibilität und Anpassungsfähigkeit: Live-Scripting ist nicht auf einen Einheitsansatz beschränkt. Es kann nach Bedarf angepasst und erweitert werden. Die Benutzer können den dokumentierten Prozess ändern, um spezielle Anforderungen zu erfüllen oder im Laufe der Zeit Verbesserungen vorzunehmen, ohne die Stabilität und Zuverlässigkeit der Installation zu beeinträchtigen

Effizienz: Live-Scripting gestalten den Installationsprozess effizient, indem es einen klar strukturierten Weg vom Anfang bis zum Ende bietet. Es minimiert den Zeit- und Arbeitsaufwand für die Einrichtung von OSB und macht es sowohl für erfahrene als auch für unerfahrene Benutzer leichter zugänglich.

Im Gegensatz zu einer vollständig automatisierten Lösung, die häufig in großen OSB-Installationen mit Hunderten von Domänen und Umgebungen verwendet wird, muss bei dem von Live-Scripting vorgeschlagenen Ansatz kein Automatisierungscode geschrieben, getestet und gepflegt werden. Live-Scripting eignet sich am besten für Situationen, in denen nur eine begrenzte Anzahl von Umgebungen erforderlich ist. Es bewegt sich zwischen einem klassischen manuellen Ansatz auf der einen Seite und einer vollautomatischen Lösung auf der anderen. Zusammenfassend lässt sich sagen, dass Live-Scripting eine leistungsstarke Methode im Rahmen der kommandozeilenzentrierten Arbeit ist, insbesondere bei der OSB-Installation. Sie gewährleistet einen reproduzierbaren, gut dokumentierten und zuverlässigen Installationsprozess, der in komplexen Unternehmensumgebungen von entscheidender Bedeutung ist. Dieser Ansatz garantiert nicht nur Qualität und Konsistenz, sondern fördert auch den Wissensaustausch, die Anpassungsfähigkeit und die Effizienz bei der Verwaltung von Installationen.

Wenn ich Ihr Interesse für dieses Thema wecken konnte, werfen Sie bitte einen Blick auf mein GitHub-Projekt live-scripting_osb, das die Vorteile des Live-Scripting-Ansatzes im Rahmen einer OSB-Installation demonstriert. Wenn Sie den gleichen Ansatz in Ihrem eigenen Projekt verwenden möchten, könnten Sie auch an meinen kommerziellen Angeboten für OSB-Projekte interessiert sein.

DevonThink 3 Evaluierung

1 DevonThink unterstützt Wiederverwendbarkeit

„Wir ertrinken in Informationen und hungern nach Wissen.“ Mit diesem Zitat von John Naisbitt beginnt Michael Malzahn sein „DevonThink 3 Arbeitsbuch“. Die digitale Datenflut stürzt aus vielfältigen Quellen auf uns ein und überflutet unsere Endgeräte. Dabei stehen wir vor der unlösbar erscheinende Aufgabe, einen Nutzen aus all diesen Informationstücken zu ziehen.
Mit meinem Open Source Projekt „live-scripting“ propagiere ich die gleichzeitige Erstellung von Dokumentation bei der Bearbeitung von IT-Problemen. Der Nutzen entsteht aber erst, wenn diese Lösungen wiederverwendet werden können. Entscheidend dabei ist das schnelle Auffinden von ähnlichen Lösungen für ein aktuelles Problem.
Der heilige Gral der Suche über große Dokumentmengen ist die Volltextindizierung die z.B. in Serveranwendung wie Solr oder Elasticsearch implementiert ist. Auf meinem Macbook macht die Spotlight Suche einen guten Job. Nun möchte ich einen Schritt weiter gehen und habe mir dazu das Programm DevonThink angesehen. Mein Erfahrungen fasse ich in diesem Artikel zusammen.

Figure 1: Übersicht einer Suche in DevonThink.

„DevonThink 3 Evaluierung“ weiterlesen

Using Live-Scripting to set up Labs on AWS

My Emacs based live-scripting approach can be used to explore AWS technology. I have demonstrated this with an example of a basic EC2 lab.
In this lab I set up a simple EC2 instance with the command line interface. I use the EC2 „user data“ to set up an Apache Web server, and I initialize the index page with meta-data of this instance.
The following diagram gives an overview of this lab.

The documentation and a code are stored in my project aws-labs on GitHub. If you have Emacs configured for live-scripting, this lab can be setup in less then five minutes, which is impressive. You can learn more about the live-scripting approach on my project live-scripting on GitHub

 

Einführungsvideo für Live-Scripting

Live-Scripting ist ein dokumentationsorientierter Arbeitsstil für IT-Experten, der die Wiederverwendung und den Austausch bewährter Lösungen fördert. In meinem vorherigen Video habe ich bereits gezeigt, wie man auf der Kommandozeile arbeiten und gleichzeitig dokumentieren kann. Im Video „Einführung in Live-Scripting“ nehme ich eine breitere Perspektive ein und gehe auf das Problem der wachsenden Menge an Wissen ein, das verstanden, verdaut, dokumentiert und weitergegeben werden muss. Unternehmen tun sich oft schwer mit der Weitergabe von Wissen und Lösungen, weil die Dokumentation eine zeitraubende und oft unangenehme Aufgabe ist. Andererseits wiederholen selbst erfahrene Ingenieure die Analyse ähnlicher Probleme, weil sie die Details der Arbeit, die sie vor Wochen oder Monaten geleistet haben, einfach vergessen haben. Der Kampf gegen das Vergessen ist eine weit verbreitete Herausforderung.

Der Live-Scripting-Ansatz zielt darauf ab, den Prozess der Erstellung, gemeinsamen Nutzung und Wiederverwendung von Dokumentation reibungslos und effektiv zu gestalten.

Kurzvideo zur Grundidee von Live-Scripting

In meinem neuen Kurzvideo stelle ich die Grundidee meines Open-Source-Projekts Live-Scripting vor, das ich auf Github hoste. Live-Scripting ist ein Ansatz, der kommandozeilenzentrierte Arbeit, Dokumentation und Austausch kombiniert. Dieser Videoclip demonstriert, wie reibungslos der Prozess der Kommandozeilenarbeit und der Dokumentation sein kann. Am Beispiel des Abrufs von Informationen von entfernten Rechnern und der Erstellung eines Berichts zeigt dieser Clip, wie einfach diese Technik ist und wie leistungsfähig sie sein kann. Emacs-Benutzer können diese grundlegenden Techniken mit nur wenig Konfiguration direkt anwenden. Die notwendigen Schritte sind auf der Projekt-Webseite im Kapitel „Basic Live-Scripting“ beschrieben. Dies ist sogar möglich, wenn der Emacs in einem Terminal ohne GUI verwendet wird.

 

Emacs Spreadsheets Demo

In Emacs Org-Mode kann man Tabellen erstellen und auch Kalkulationen machen. Das Spreadsheet Werkzeug ist natürlich nicht so mächtig, wie  Excel, aber es reicht für schnelle Berechnung. Z.B. kann man damit die Kosten einer Reise kalkulieren. In meinem Youtube-Kanal habe ich ein kurzes Video veröffentlicht, das dieses Merkmal demonstriert. Es werden zwei Szenarien einer Geschäftsreise bzgl. ihrer Kosten verglichen. 

Web Single Sign-On with SAML 2.0

While SAML is already widely used in the industry, the configuration within Weblogic
Server is complex and in most companies not part of the regular routine. We want to have look at a simple SAML example that was published in an article by VikrantSawant in 2007. This former example demonstrates a Web
SSO scenario using SAML 1.1 in Weblogic Server 9.2.
We want to upgrade this example, using SAML 2.0 in Weblogic Server 12.1.3.
This is a tutorial in which we will walk through all the necessary steps to setup and run the SAML 2.0 example. This includes the installation and configuration of weblogic server, creation of two weblogic server domains, installation of the test applications and configuration of the identity provider and service provider domains. To provide a comprehensive overview, the separate tutorial steps are summarized in mind map diagrams. The tutorial comprises a ServiceProvider initiated flow and an Identity Provider initiated flow, which both will be demonstrated during the testing steps. As an addition, the tutorial demonstrates the usage of the weblogic feature “virtual user”.

The tutorial was developed and tested on a windows 7 machine. A zip package containing all necessary files is provided at the tutorial website. This also includes a text file with a set of windows commands to help setting up the domains and user configurations. We expect the tutorial to run also on Linux orany other platform supported by weblogic server, although this was not tested.

Read the full Article as PDF:  SAML2_Web_SSO_Tutorial.pdf

Download the source filesSAML_SSO.zip (18 KB)

 

Calculating Checksums for Oracle Downloads

Calculating
Checksums for Oracle Downloads

It took me
quite a while to figure out which check sum algorithm Oracle is using on some
of its download pages. E.g. on the OSB download page, we find the comment “Oracle
Service Bus Size: 1.06 GB, Check Sum:1490338751”
This check
sum is generated by the old unix tool cksum, which protects for accidental
corruption during transport, however is not cryptographically secure. See http://en.wikipedia.org/wiki/Cksum
for more details.
On Windows
we can use cksum.exe which is included in win32 tools from the project win-bash
(http://win-bash.sourceforge.net/).  Calculating the check sum for the OSB
download on my machine yields:
D:17Toolsshell.w32-ix86>cksum.exe
D:1Downloadsofm_osb_generic_11.1.1.6.0_disk1_1of1.zip
1490338751
1149088683
D:1Downloadsofm_osb_generic_11.1.1.6.0_disk1_1of1.zip
The first
number is the CRC value which matches the value from the oracle website and the
second value is the size in bytes.

Oracle Identity Manager: The Active Directory Connector Tutorial

 

    In this tutorial we demonstrate the usage of the Active Directory Connector, which integrates a Microsoft Active Directory into Oracle Identity Manager. The underlying scenario is the integration as a result of a company acquisition. All users of the Active Directory are transferred to OIM, which is then used for user management and provisioning of AD accounts. This tutorial includes the installation and configuration of Windows Server and Active Directory, as well as the installation and configuration of the AD connector. We will create an AD structure, using organizational units, users, groups, GPOs (group policy objects) and directory access writes, to model a non-trivial scenario which emulates a real world installations. While we keep the total system still simple, the complexity is already at a level which reveals usability aspects of the connector, which are beyond a mere technical proving of concept. A conclusion summarizes this work and points to areas of further study.

We use the following software versions:
• Oracle Identity Manager Connector MS AD User Management 11.1.1.5.0
• Oracle Identity and Access Management 11.1.1.5
• Oracle Database 11g, Release 2
• Oracle Virtual Box 4.1.22
• Oracle Enterprise Linux 5.8 (32-bit)
• Microsoft Windows Server 2008 R2 (64-bit)
• Microsoft Windows 8 Professional (32-bit)

Read the full Article as PDF:   ADConnectorTutorial.pdf (6,6 MB)

 
 

Installation of the Oracle Identity Manger

 

The installation of the Oracle Identity Manager 11g is quite complex and contains some pitfalls that require problem analysis and investigations. In this tutorial we will lead through the installation process of all required product components and development tools. We point out necessary troubleshooting steps and include the analysis of some of the problems. We also provide a detailed list of required installation packages and patches. While analysis during this work was rather time consuming, following the documented steps that circumvent the pitfalls can save a lot of time.

Software versions used:
• Oracle Identity and Access Management (11.1.1.5)
• Oracle SOA Suite 11g (11.1.1.6.0)
• Oracle Weblogic Server 10.3.6 Linux 32-bit
• Java SE Development Kit 6 Update 33 (Linux 32-bit)
• Repository Creation Utility 11.1.1.6.0 Linux
• Oracle JDeveloper 11g (11.1.1.6.0) Studio Edition,  Linux

Read the full article as PDF:   OIMInstallationTutorial.pdf (4,8 MB)

 

 

Oracle Forms and Reports Quick start

 
During the summer I needed to quickly work myself into Oracle Forms for a business opportunity and I decided to share my experience in form of this quick start guide.
We will look at the installation process on Windows and Linux in a development and production configuration. To work with the Forms samples we install an Oracle Express Edition Database. We will look at the basic operations and a database tutorial to get acquainted with this edition. We also look at an Application Express Example, Oracle’s quick and simple approach to database applications. We will use the development configuration to run through the Forms tutorial “Creating a Master-Detail Form”, which ships with the product. Eventually we will look at a Forms and Reports installation in a high-availability configuration. We propose a setup on two virtual box Linux machines and provide an action plan for its installation.
 
Software Versions used:
  • Weblogic Server 10.3.6 Generic
  • JRockit 64-Bit for Windows R28.2.4
  • Oracle Forms and Reports 11g Release 2, Windows 64-bit
  • Oracle Database Express Edition 11g Release 2
  • Oracle Linux Release 5 Update 8 for x86_64 (64 Bit)
  • Java SE Development Kit 6 Update 33 for Linux x64
  • Oracle Forms and Reports 11g Release 2 for Linux 64 bit
  • Oracle SQL Developer 3.1 (3.1.07.42). 
Read the full article as PDF: OracleFormsReports.pdf (2,3 MB)

Upgrading Vista to Windows 8 on Virtual Box

  

I still have an old
Windows Vista license which I installed on an Oracle Virtual Box machine.
However it performs so poorly that it is hardly usable, even on a modern quad
core CPU system. Yesterday Microsoft offered an Upgrade from several Windows
versions, including Vista, to Windows 8 Pro for 29,90  Euro. I decided to try an upgrade.
We will look at the download
and installation process. We actually install the German version of Windows 8
and provide the screens of the dialogs.
 
Read the full article as PDF: Windows8_on_VBox.pdf (2,3 MB)
 

 

Installation of Oracle Linux 5.8 on Virtual Box 4.1 with Guest Additions

 
 
Today I wanted to install
Oracle Linux on virtual box, which I need for some testing systems. Since the
installation and especially the setup of the guest additions were not as smooth
as I expected, I decided to share the information.
 
 
There are many occasions in which we could need an installation of virtual box. I was investigating a high-availability configuration of some fusion middleware elements and needed to span a Weblogic cluster across two machines. Once we have installed and configured one machine in virtual box, we can easily multiply it by cloning.
In this workshop we show how to install Oracle Linux 5.8 on Virtual Box 4.1.16 running on a 64-bit Windows 7 Host machine. We will start from the download of the media and go through the installation process. We will also install the guest additions and configure shared folder.
 
Read the full Article as PDF: InstallingOracleLinux58.pdf (1,5 MB)
 

WS-Security unveiled

 

One of the more
complex examples that ship with WLS is a WS-Trust based authentication of a web
service using SAML assertions. This example is quite easy to setup and run and
the example’s documentation gives a basic understanding of what is going on.
But we want to look deeper and shed light on the complexity that is hidden
behind SSL, WS-Trust and SAML authentication. In a first step we separate the
scenario from the example server and integrate it into eclipse, to create an
isolated laboratory environment for further investigation. We will use
Wireshark to analyze the actual flow of messages on the wire. We even look
inside the SSL streams to identify the WS-Trust tokens and SAML assertions as
they are passed between the participants.
 

The WS-Trust specification, which is part of the WS-* stack of specifications for web services, was approved as OASIS standard in March 2007. Meanwhile it is generally accepted as an industry standard for implementing secure, trusted, and federated message exchange between service providers and consumers. So now is a good time to have a closer look at this technology. Despite the complexity of this topic, it is fairly easy to set up running examples of WS-Trust based java implementations using the examples that ship with Weblogic Server. We want to have a closer look at one of these examples: “Using SAML 1.1 Bearer Assertion for Authentication Case”

Read the full article as PDF: WS-Security_unveiled.pdf (1,6 MB)

Links to Files used in the Project: